Kaynağa Gözat

fix 签到详情

zoujiajian 3 yıl önce
ebeveyn
işleme
4baf05c5b4

+ 7 - 0
netflix-dao/src/main/java/com/cyksj/model/entity/SignUser.java

@@ -1,6 +1,7 @@
 package com.cyksj.model.entity;
 
 
+import com.baomidou.mybatisplus.annotation.TableField;
 import lombok.Getter;
 import lombok.Setter;
 
@@ -18,4 +19,10 @@ public class SignUser extends BaseEntity{
      * 周期签到天数(7天)
      */
     private Integer dayPeriod;
+
+    /**
+     * 是否已签 true 签到成功 false 已签到
+     */
+    @TableField(exist = false)
+    private Boolean isHadChecked;
 }

+ 0 - 19
netflix-dao/src/main/java/com/cyksj/model/views/SignUserView.java

@@ -1,19 +0,0 @@
-package com.cyksj.model.views;
-
-import lombok.Getter;
-import lombok.Setter;
-
-@Getter
-@Setter
-public class SignUserView {
-    private Long userId;
-
-    private Integer day;
-
-    private Integer dayPeriod;
-
-    /**
-     * 是否已签 false未签
-     */
-    private Boolean isCheckIn;
-}

+ 1 - 2
netflix-service/src/main/java/com/cyksj/service/market/MarketFrontService.java

@@ -4,13 +4,12 @@ package com.cyksj.service.market;
 import com.cyksj.model.entity.SignUser;
 import com.cyksj.model.request.LuckyDrawReq;
 import com.cyksj.model.views.LuckyDrawView;
-import com.cyksj.model.views.SignUserView;
 import com.cyksj.model.views.TaskFrontView;
 
 public interface MarketFrontService {
 	SignUser signByUserId(Long userId);
 
-    SignUserView getUserSignDetail(Long userId);
+	SignUser getUserSignDetail(Long userId);
 
     /**
      * 记录积分明细,发放积分

+ 10 - 6
netflix-service/src/main/java/com/cyksj/service/market/impl/MarketFrontServiceImpl.java

@@ -27,7 +27,6 @@ import com.cyksj.model.excel.ExcelExchangeCodeData;
 import com.cyksj.model.request.ExchangeCodeReq;
 import com.cyksj.model.request.LuckyDrawReq;
 import com.cyksj.model.views.LuckyDrawView;
-import com.cyksj.model.views.SignUserView;
 import com.cyksj.model.views.TaskFrontView;
 import com.cyksj.redis.RedisService;
 import com.cyksj.service.exchange.ExchangeCodeService;
@@ -116,17 +115,21 @@ public class MarketFrontServiceImpl implements MarketFrontService {
 				});
 		SignUser sign = signUserMapper.selectOne(Wrappers.lambdaQuery(SignUser.class)
 				.eq(SignUser::getUserId, userId).last("limit 1"));
+		sign.setIsHadChecked(false);
+		if (signUser == null) {
+			sign.setIsHadChecked(true);
+		}
+		if (signUser != null && signUser.getDayPeriod() != sign.getDayPeriod()) {
+			sign.setIsHadChecked(true);
+		}
 		return sign;
 	}
 
 	@Override
-	public SignUserView getUserSignDetail(Long userId) {
-		SignUserView signUserView = new SignUserView();
+	public SignUser getUserSignDetail(Long userId) {
 		//未签到时,签到
 		SignUser signUser = signByUserId(userId);
-		signUserView.setUserId(userId);
-		signUserView.setDayPeriod(signUser.getDayPeriod());
-		return signUserView;
+		return signUser;
 	}
 
 	@Override
@@ -264,6 +267,7 @@ public class MarketFrontServiceImpl implements MarketFrontService {
 	}
 
 	@Override
+	@Transactional(rollbackFor = Throwable.class)
 	public void receivedTaskPoints(Long userId, Long taskId) {
 		TaskFrontView data = beanSearcher.searchFirst(TaskFrontView.class, MapUtils.builder()
 				.field(TaskFrontView::getId, taskId).build());

+ 1 - 2
netflix-web/src/main/java/com/cyksj/web/controller/market/SignFrontController.java

@@ -10,7 +10,6 @@ import com.cyksj.mapper.market.sign.UserPointsRecordMapper;
 import com.cyksj.model.entity.SignConfig;
 import com.cyksj.model.entity.SignUser;
 import com.cyksj.model.entity.UserPointsRecord;
-import com.cyksj.model.views.SignUserView;
 import com.cyksj.service.market.MarketFrontService;
 import com.cyksj.web.util.StpUserUtil;
 import lombok.RequiredArgsConstructor;
@@ -43,7 +42,7 @@ public class SignFrontController {
      * 签到详情
      */
     @GetMapping("/get/detail")
-    public Result<SignUserView> getUserSignDetail() {
+    public Result<SignUser> getUserSignDetail() {
         Long userId = StpUserUtil.getLoginIdAsLong();
         return GatewayResponse.SUCCESS.newBuilder().toResult(marketFrontService.getUserSignDetail(userId));
     }