فهرست منبع

Merge branch 'dev/2024/0511/update-app-Y' of feifan/mall-backend-app into master

修改用户签到
Yangzw 11 ماه پیش
والد
کامیت
318d1c6455

+ 3 - 0
feifan-module-distri/feifan-module-distri-biz/src/main/java/cn/newfeifan/mall/module/distri/controller/admin/duser/vo/DuserInfoVO.java

@@ -39,4 +39,7 @@ public class DuserInfoVO {
     @Schema(description = "团队用户当前点数")
     private Long socialStatusPoint;
 
+    @Schema(description = "是否签到")
+    private Boolean isSign;
+
 }

+ 8 - 1
feifan-module-distri/feifan-module-distri-biz/src/main/java/cn/newfeifan/mall/module/distri/service/duser/DuserServiceImpl.java

@@ -15,6 +15,7 @@ import cn.newfeifan.mall.module.distri.service.sharepath.SharePathService;
 import cn.newfeifan.mall.module.distri.service.socialstatus.SocialStatusService;
 import cn.newfeifan.mall.module.distri.service.socialstatuschangelog.SocialStatusChangeLogService;
 import cn.newfeifan.mall.module.member.dal.dataobject.user.MemberUserDO;
+import cn.newfeifan.mall.module.member.service.signin.MemberSignInRecordService;
 import cn.newfeifan.mall.module.member.service.user.MemberUserService;
 import org.springframework.stereotype.Service;
 
@@ -64,6 +65,9 @@ public class DuserServiceImpl implements DuserService {
     @Resource
     private SocialStatusChangeLogService socialStatusChangeLogService;
 
+    @Resource
+    private MemberSignInRecordService memberSignInRecordService;
+
     @Override
     public Long createDuser(DuserSaveReqVO createReqVO) {
         // 插入
@@ -151,6 +155,8 @@ public class DuserServiceImpl implements DuserService {
             totalLog = ptProfitLogService.getTotalLog(sonsId);
         }
 
+        Boolean isSign = memberSignInRecordService.isSignIn();
+
         return duserInfoVOBuilder
                 .descPrice(Long.parseLong(yesterday))
                 .descTotalPrice(Long.parseLong(totalLog))
@@ -159,6 +165,7 @@ public class DuserServiceImpl implements DuserService {
                 .socialStatusPoint(duser.getSocialStatusPoint())
                 .socialStatusLevel(socialStatus.getLevel())
                 .socialStatusLevelName(socialStatus.getName())
+                .isSign(isSign)
                 .build();
 
     }
@@ -227,4 +234,4 @@ public class DuserServiceImpl implements DuserService {
         return duserMapper.selectOne(new LambdaQueryWrapperX<DuserDO>().eq(DuserDO::getUserId, id));
     }
 
-}
+}

+ 2 - 0
feifan-module-member/feifan-module-member-biz/src/main/java/cn/newfeifan/mall/module/member/dal/mysql/signin/MemberSignInRecordMapper.java

@@ -4,6 +4,7 @@ import cn.newfeifan.mall.framework.common.pojo.PageParam;
 import cn.newfeifan.mall.framework.common.pojo.PageResult;
 import cn.newfeifan.mall.framework.mybatis.core.mapper.BaseMapperX;
 import cn.newfeifan.mall.framework.mybatis.core.query.LambdaQueryWrapperX;
+import cn.newfeifan.mall.module.member.controller.admin.signin.vo.config.OrderPercentageRedisVO;
 import cn.newfeifan.mall.module.member.controller.admin.signin.vo.record.MemberSignInRecordPageReqVO;
 import cn.newfeifan.mall.module.member.dal.dataobject.signin.MemberSignInRecordDO;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
@@ -78,4 +79,5 @@ public interface MemberSignInRecordMapper extends BaseMapperX<MemberSignInRecord
         );
     }
 
+    OrderPercentageRedisVO getSignSocial();
 }

+ 2 - 0
feifan-module-member/feifan-module-member-biz/src/main/java/cn/newfeifan/mall/module/member/service/signin/MemberSignInRecordService.java

@@ -57,4 +57,6 @@ public interface MemberSignInRecordService {
      */
     AppMemberSignInConfigMoonRespVO getOwnSignInMoon(Long loginUserId, String month);
 
+    Boolean isSignIn();
+
 }

+ 10 - 2
feifan-module-member/feifan-module-member-biz/src/main/java/cn/newfeifan/mall/module/member/service/signin/MemberSignInRecordServiceImpl.java

@@ -42,8 +42,8 @@ import java.util.Set;
 
 import static cn.newfeifan.mall.framework.common.exception.util.ServiceExceptionUtil.exception;
 import static cn.newfeifan.mall.framework.common.util.collection.CollectionUtils.convertSet;
+import static cn.newfeifan.mall.framework.security.core.util.SecurityFrameworkUtils.getLoginUserId;
 import static cn.newfeifan.mall.module.member.enums.DictTypeConstants.DISTRI_ORDER_PERCENTAGE;
-import static cn.newfeifan.mall.module.member.enums.ErrorCodeConstants.REDIS_ORDER_PERCENTAGE_NOT_EXISTS;
 import static cn.newfeifan.mall.module.member.enums.ErrorCodeConstants.SIGN_IN_RECORD_TODAY_EXISTS;
 
 /**
@@ -134,7 +134,9 @@ public class MemberSignInRecordServiceImpl implements MemberSignInRecordService
 
         String s = stringRedisTemplate.opsForValue().get(DISTRI_ORDER_PERCENTAGE);
         if (StringUtils.isEmpty(s)) {
-            throw exception(REDIS_ORDER_PERCENTAGE_NOT_EXISTS);
+            OrderPercentageRedisVO signSocial = signInRecordMapper.getSignSocial();
+            stringRedisTemplate.opsForValue().set(DISTRI_ORDER_PERCENTAGE, JSONObject.toJSONString(signSocial));
+            s = JSONObject.toJSONString(signSocial);
         }
         OrderPercentageRedisVO orderPercentageRedisVO = JSONObject.parseObject(s, OrderPercentageRedisVO.class);
 
@@ -146,6 +148,12 @@ public class MemberSignInRecordServiceImpl implements MemberSignInRecordService
                 .build();
     }
 
+    @Override
+    public Boolean isSignIn() {
+        MemberSignInRecordDO lastRecord = signInRecordMapper.selectLastRecordByUserId(getLoginUserId());
+        return lastRecord != null && DateUtils.isToday(lastRecord.getCreateTime());
+    }
+
 
     public static void updateDayByNumber(List<Days> daysList, int day) {
         for (Days dayObj : daysList) {

+ 10 - 0
feifan-module-member/feifan-module-member-biz/src/main/resources/mapper/signin/MemberSignInRecordMapper.xml

@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="cn.newfeifan.mall.module.member.dal.mysql.signin.MemberSignInRecordMapper">
+
+    <select id="getSignSocial"
+            resultType="cn.newfeifan.mall.module.member.controller.admin.signin.vo.config.OrderPercentageRedisVO">
+        select sign_in_social_status,sign_in_social_status_max from distri_order_percentage LIMIT 0,1
+    </select>
+
+</mapper>

+ 2 - 1
feifan-server/src/main/java/cn/newfeifan/mall/server/FeifanServerApplication.java

@@ -16,7 +16,8 @@ import org.springframework.boot.autoconfigure.SpringBootApplication;
 @SpringBootApplication(scanBasePackages = {"${feifan.info.base-package}.server", "${feifan.info.base-package}.module"})
 public class FeifanServerApplication {
 
-    public static void main(String[] args) {
+    public static void main(String[] args)
+    {
         SpringApplication.run(FeifanServerApplication.class, args);
     }