Bläddra i källkod

Merge branch 'code_num'

zoujiajian 2 år sedan
förälder
incheckning
14b661bb07

+ 5 - 0
netflix-dao/src/main/java/com/cyksj/model/entity/GoodsDonSku.java

@@ -70,6 +70,11 @@ public class GoodsDonSku extends BaseEntity {
      */
     private String smallMsg;
 
+    /**
+     * 双重验证码次数
+     */
+    private Integer codeNum;
+
     /**
      * 商品预览图
      */

+ 5 - 0
netflix-dao/src/main/java/com/cyksj/model/manage/request/ReqGoodsSkuInsert.java

@@ -116,6 +116,11 @@ public class ReqGoodsSkuInsert {
          */
         private String smallMsg;
 
+        /**
+         * 双重验证码查看次数
+         */
+        private Integer codeNum;
+
     }
 
 }

+ 7 - 0
netflix-dao/src/main/java/com/cyksj/model/views/RenewalView.java

@@ -124,6 +124,10 @@ public class RenewalView {
     @DbField("a.secret")
     private String secret;
 
+    @DbField("a.api_secret")
+    @JsonIgnore
+    private String apiSecret;
+
     @DbField("gr.account")
     private String grAccount;
 
@@ -156,4 +160,7 @@ public class RenewalView {
 
     @DbIgnore
     private List<GroupsRelationUserView> relationViews;
+
+    @DbIgnore
+    private Integer codeNum;
 }

+ 2 - 0
netflix-service/src/main/java/com/cyksj/service/relation/GroupRelationFrontService.java

@@ -48,4 +48,6 @@ public interface GroupRelationFrontService {
 	void adjustGroupsParkingTime(Long relationId, GoodsDonSku sku);
 
 	void setGroupsTripsParkingTimeEmpty(GoodsDonSku sku, Long relationId);
+
+	Integer getUserCodeNumBySkuId(Long userId, Long skuId);
 }

+ 24 - 0
netflix-service/src/main/java/com/cyksj/service/relation/impl/GroupRelationFrontServiceImpl.java

@@ -87,6 +87,10 @@ public class GroupRelationFrontServiceImpl implements GroupRelationFrontService
 
 	private final SysEmailMapper sysEmailMapper;
 
+	private final GoodsDonSkuMapper goodsDonSkuMapper;
+
+	private final UserFuncPropertyMapper userFuncPropertyMapper;
+
 	private static final GlobalThreadPoolTaskExecutor TASK_EXECUTOR = GlobalThreadPoolTaskExecutor.getInstance();
 
 	private final static String VERIFY_CODE_SECRET = "q1w2e3";
@@ -203,6 +207,11 @@ public class GroupRelationFrontServiceImpl implements GroupRelationFrontService
 			if (ticket.getExpiryTime() != null) {
 				ticket.setExpiryTimeStr(DateUtil.format(ticket.getExpiryTime(), "yyyy-MM-dd"));
 			}
+			//查看双重验证码
+			if (StrUtil.isNotEmpty(ticket.getApiSecret())) {
+				Integer codeNum = getUserCodeNumBySkuId(ticket.getUserId(), ticket.getSkuId());
+				ticket.setCodeNum(codeNum);
+			}
 		});
 		return list;
 	}
@@ -558,6 +567,21 @@ public class GroupRelationFrontServiceImpl implements GroupRelationFrontService
 		}
 	}
 
+	@Override
+	public Integer getUserCodeNumBySkuId(Long userId, Long skuId) {
+		//查看双重验证码
+		UserFuncProperty userFuncProperty = userFuncPropertyMapper.selectOne(Wrappers.lambdaQuery(UserFuncProperty.class).eq(UserFuncProperty::getUserId, userId).last("limit 1"));
+		//默认1次
+		int num = 1;
+		//查看双重验证码次数
+		GoodsDonSku sku = goodsDonSkuMapper.selectById(skuId);
+		if (sku.getCodeNum() > 0) {
+			num = sku.getCodeNum();
+		}
+		if (userFuncProperty != null) num = userFuncProperty.getVerifyCheckNum();
+		return num;
+	}
+
 	public String getDifferentGoodsCode(Long goodsId, String body) {
 		String code = null;
 		//奈飞

+ 2 - 13
netflix-web/src/main/java/com/cyksj/web/controller/group/GroupRelationController.java

@@ -4,7 +4,6 @@ import cn.hutool.core.collection.CollUtil;
 import cn.hutool.core.date.DateTime;
 import cn.hutool.core.date.DateUtil;
 import cn.hutool.core.lang.Assert;
-import cn.hutool.core.lang.Validator;
 import cn.hutool.core.thread.ThreadUtil;
 import cn.hutool.core.util.StrUtil;
 import cn.hutool.extra.servlet.ServletUtil;
@@ -54,7 +53,6 @@ import org.springframework.web.bind.annotation.*;
 
 import javax.servlet.http.HttpServletRequest;
 import java.util.List;
-import java.util.Optional;
 import java.util.concurrent.TimeUnit;
 
 /**
@@ -242,7 +240,6 @@ public class GroupRelationController {
     public Result<String> getAuthCode(Long relationId) {
         long userId = StpUserUtil.getLoginIdAsLong();
         List<Long> userIds = userBindRelationService.getRelationUserIdList(userId, null);
-        //每个人 每月只能获取3次
         if (relationId == null) throw BusinessRuntimeException.getInstance("车票不存在");
         GroupsRelationView groupsRelationView = beanSearcher.searchFirst(GroupsRelationView.class, MapUtils.builder()
                 .field(GroupsRelationView::getId, relationId)
@@ -255,16 +252,8 @@ public class GroupRelationController {
                 .eq(DoubleVerifyClickRecord::getRelationId, relationId)
                 .eq(DoubleVerifyClickRecord::getAccountId, groupsRelationView.getAccountId())
                 .between(DoubleVerifyClickRecord::getCreatedTime, DateUtil.beginOfMonth(now), DateUtil.endOfMonth(now)));
-        UserFuncProperty userFuncProperty = userFuncPropertyMapper.selectOne(Wrappers.lambdaQuery(UserFuncProperty.class)
-                .eq(UserFuncProperty::getUserId, userId).last("limit 1"));
-        //默认5次
-        int num = 5;
-        SysConfig timesConfig = sysConfigService.getOne(Wrappers.lambdaQuery(SysConfig.class)
-                .eq(SysConfig::getSysKey, Constant.DOUBLE_VERIFY_CODE_TIMES_KEY).last("limit 1"));
-        if (timesConfig != null && Validator.isNumber(timesConfig.getSysValue())) {
-            num = Integer.parseInt(timesConfig.getSysValue());
-        }
-        if (userFuncProperty != null) num = userFuncProperty.getVerifyCheckNum();
+        //获取双重验证码
+        Integer num = groupRelationFrontService.getUserCodeNumBySkuId(userId, groupsRelationView.getSkuId());
         if (count >= num) throw BusinessRuntimeException.getInstance("获取双重验证码次数上限");
         int second = now.second();
         if (second < 30 && 30 - second < 3) {

+ 1 - 1
netflix-web/src/main/java/com/cyksj/web/controller/manage/CmsUserController.java

@@ -168,7 +168,7 @@ public class CmsUserController{
         UserFuncProperty userFuncProperty = userFuncPropertyMapper.selectOne(Wrappers.lambdaQuery(UserFuncProperty.class)
                 .eq(UserFuncProperty::getUserId, userId).last("limit 1"));
         //默认三次
-        Integer verifyCheckNum = 3;
+        Integer verifyCheckNum = 1;
         if (userFuncProperty != null) verifyCheckNum = userFuncProperty.getVerifyCheckNum();
         return GatewayResponse.SUCCESS.newBuilder().toResult(verifyCheckNum);
     }