Parcourir la source

签到发放1

yangyb il y a 1 semaine
Parent
commit
26dcdbc80b

+ 7 - 0
mall-service/src/main/java/com/txz/mall/controller/OrderController.java

@@ -153,6 +153,13 @@ public class OrderController {
         return Result.success();
     }
 
+    @ApiOperation("取消订单")
+    @PostMapping("/cancel")
+    public Result cancel(@RequestParam("ids") List<Long> ids) {
+//        storeOrderService.close(ids);
+        return Result.success();
+    }
+
     @ApiOperation("联系用户")
     @PostMapping("/contactUser")
     public Result contactUser(@RequestParam("userId") Long userId) {

+ 1 - 2
mall-service/src/main/java/com/txz/mall/controller/UserSignController.java

@@ -13,7 +13,6 @@ import org.springframework.web.bind.annotation.RestController;
 import vo.UserSignDetailVO;
 
 import javax.annotation.Resource;
-import java.util.List;
 
 /**
  * Created by CodeGenerator on 2025/07/11.
@@ -37,7 +36,7 @@ public class UserSignController {
 
     @ApiOperation(value = "今日记录详情")
     @PostMapping(value = "/todayDetail")
-    public Result<List<UserSignDetailVO>> todayDetail(@RequestParam Long uid) {
+    public Result<UserSignDetailVO> todayDetail(@RequestParam Long uid) {
         return Result.success(userSignService.todayDetail(uid));
     }
 

+ 1 - 3
mall-service/src/main/java/com/txz/mall/service/UserSignService.java

@@ -4,8 +4,6 @@ import com.txz.mall.core.Service;
 import com.txz.mall.model.UserSign;
 import vo.UserSignDetailVO;
 
-import java.util.List;
-
 
 /**
  * Created by CodeGenerator on 2025/07/11.
@@ -17,7 +15,7 @@ public interface UserSignService extends Service<UserSign> {
      *
      * @return HashMap
      */
-    List<UserSignDetailVO> todayDetail(Long uid);
+    UserSignDetailVO todayDetail(Long uid);
 
     /**
      * 签到

+ 14 - 8
mall-service/src/main/java/com/txz/mall/service/impl/UserSignServiceImpl.java

@@ -45,16 +45,21 @@ public class UserSignServiceImpl extends AbstractService<UserSign> implements Us
     private CifAccountDubboServiceClient accountDubboServiceClient;
 
     @Override
-    public List<UserSignDetailVO> todayDetail(Long uid) {
-        ConfigDTO configByCode = configDubboServiceClient.getConfigByCode(USER_SIGN_INFO);
-        List<UserSignDetailVO> list = JSONObject.parseArray(configByCode.getValueInfo(), UserSignDetailVO.class);
+    public UserSignDetailVO todayDetail(Long uid) {
+        UserSignDetailVO detailVO = new UserSignDetailVO();
+        boolean hasSignedToday = hasSignedToday(uid);
+        detailVO.setToday(hasSignedToday);
         int continuousDays = getContinuousDays(uid);
+        detailVO.setContinueSign(continuousDays);
+
+        ConfigDTO configByCode = configDubboServiceClient.getConfigByCode(USER_SIGN_INFO);
+        List<UserSignDetailVO.SignVO> list = JSONObject.parseArray(configByCode.getValueInfo(), UserSignDetailVO.SignVO.class);
         for (int i = 0; i < list.size(); i++) {
-            if (i == continuousDays - 1) {
+            if (i <= continuousDays - 1) {
                 list.get(i).setStatus(1);
             }
         }
-        return list;
+        return detailVO;
     }
 
     @Override
@@ -129,6 +134,7 @@ public class UserSignServiceImpl extends AbstractService<UserSign> implements Us
         Example.Criteria criteria = condition.createCriteria();
         criteria.andEqualTo("uid", userId);
         condition.orderBy("id").desc();
+        condition.setCountProperty("id");
         List<UserSign> list = userSignMapper.selectByCondition(condition);
 
         if (list.isEmpty()) {
@@ -143,9 +149,9 @@ public class UserSignServiceImpl extends AbstractService<UserSign> implements Us
     private void giveReward(Long uid) {
         int reward = 0;
         ConfigDTO configByCode = configDubboServiceClient.getConfigByCode(USER_SIGN_INFO);
-        List<UserSignDetailVO> userSignList = JSONObject.parseArray(configByCode.getValueInfo(), UserSignDetailVO.class);
-        UserSignDetailVO maxDaysReward = userSignList.stream()
-                .max(Comparator.comparing(UserSignDetailVO::getDays))
+        List<UserSignDetailVO.SignVO> userSignList = JSONObject.parseArray(configByCode.getValueInfo(), UserSignDetailVO.SignVO.class);
+        UserSignDetailVO.SignVO maxDaysReward = userSignList.stream()
+                .max(Comparator.comparing(UserSignDetailVO.SignVO::getDays))
                 .orElse(null);
         if (maxDaysReward != null) {
             reward = maxDaysReward.getValue();

+ 22 - 8
mall-service/src/main/java/vo/UserSignDetailVO.java

@@ -6,6 +6,7 @@ import lombok.EqualsAndHashCode;
 import lombok.experimental.Accessors;
 
 import java.io.Serializable;
+import java.util.List;
 
 
 @Data
@@ -15,15 +16,28 @@ public class UserSignDetailVO implements Serializable {
 
     private static final long serialVersionUID = 9215241889318610262L;
 
-    @ApiModelProperty(value = "天数")
-    private Integer days;
+    @ApiModelProperty(value = "今天是否签到")
+    private Boolean today;
 
-    @ApiModelProperty(value = "签到类型  1-金币  2-积分  3-经验")
-    private Integer type;
+    @ApiModelProperty(value = "连续签到次数")
+    private Integer continueSign;
 
-    @ApiModelProperty(value = "")
-    private Integer value;
+    @ApiModelProperty(value = "签到列表")
+    private List<SignVO> signList;
 
-    @ApiModelProperty(value = "状态 0-未签到  1-已签到")
-    private Integer status;
+
+    @Data
+    public static class SignVO {
+        @ApiModelProperty(value = "天数")
+        private Integer days;
+
+        @ApiModelProperty(value = "签到类型  1-金币  2-积分  3-经验")
+        private Integer type;
+
+        @ApiModelProperty(value = "值")
+        private Integer value;
+
+        @ApiModelProperty(value = "状态 0-未签到  1-已签到")
+        private Integer status;
+    }
 }