zoujiajian 2 lat temu
rodzic
commit
5892e7e1f3

+ 1 - 0
netflix-service/src/main/java/com/cyksj/redis/RedisService.java

@@ -636,6 +636,7 @@ public class RedisService {
         CORP_GROUP_CHAT_LIST("corp_group_chat_list:%s", "企业微信客户群列表", 60 * 60 * 24),
         CORP_GROUP_CHAT_LIST("corp_group_chat_list:%s", "企业微信客户群列表", 60 * 60 * 24),
         PLUS_GOODS_ADDRESS_KEY("plus_goods_address_key:", "优惠加购实物地址key", 10 * 60l),
         PLUS_GOODS_ADDRESS_KEY("plus_goods_address_key:", "优惠加购实物地址key", 10 * 60l),
         GROUPS_TRIPS_OUTSIDE_RELATION("groups_trips_outside_relation:key", "额外车位", 30l),
         GROUPS_TRIPS_OUTSIDE_RELATION("groups_trips_outside_relation:key", "额外车位", 30l),
+        DISTRIBUTE_RULE_TIME_KEY("DISTRIBUTE_RULE_TIME_KEY", "渠道规格记录时间key", 5 * 60L),
         ;
         ;
 
 
         private String name;
         private String name;

+ 38 - 1
netflix-web/src/main/java/com/cyksj/web/controller/manage/distribute/DistributeController.java

@@ -24,6 +24,7 @@ import com.cyksj.model.entity.*;
 import com.cyksj.model.request.DistributeApplyMoneyReq;
 import com.cyksj.model.request.DistributeApplyMoneyReq;
 import com.cyksj.model.request.UserDistributeReq;
 import com.cyksj.model.request.UserDistributeReq;
 import com.cyksj.model.views.*;
 import com.cyksj.model.views.*;
+import com.cyksj.redis.RedisService;
 import com.cyksj.service.distribute.DistributeService;
 import com.cyksj.service.distribute.DistributeService;
 import com.cyksj.service.mange.business.UserBusinessRateService;
 import com.cyksj.service.mange.business.UserBusinessRateService;
 import com.cyksj.service.mange.statistics.StatisticsDataService;
 import com.cyksj.service.mange.statistics.StatisticsDataService;
@@ -96,6 +97,10 @@ public class DistributeController {
 
 
 	private final SysConfigService sysConfigService;
 	private final SysConfigService sysConfigService;
 
 
+	private final RedisService redisService;
+
+	private final UserDistributeRuleOrderRecordMapper userDistributeRuleOrderRecordMapper;
+
 	/**
 	/**
 	 * 添加固定推广者
 	 * 添加固定推广者
 	 */
 	 */
@@ -722,7 +727,7 @@ public class DistributeController {
 		if (ruleConfig == null) {
 		if (ruleConfig == null) {
 			ruleConfig = new SysConfig();
 			ruleConfig = new SysConfig();
 			//默认开启
 			//默认开启
-			ruleConfig.setSysValue("1");
+			ruleConfig.setSysValue(Constant.ONE_STR);
 		}
 		}
 		if (Constant.ZERO_STR.equals(ruleConfig.getSysValue())) {
 		if (Constant.ZERO_STR.equals(ruleConfig.getSysValue())) {
 			ruleConfig.setSysValue(Constant.ONE_STR);
 			ruleConfig.setSysValue(Constant.ONE_STR);
@@ -731,6 +736,38 @@ public class DistributeController {
 		}
 		}
 		sysConfigService.saveOrUpdate(ruleConfig);
 		sysConfigService.saveOrUpdate(ruleConfig);
 		//记录关闭打开状态
 		//记录关闭打开状态
+		String sysValue = ruleConfig.getSysValue();
+		//关闭 记录一次
+		//距离上一次时间
+		UserDistributeRuleOrderRecord userDistributeRuleOrderRecord = Optional.ofNullable(userDistributeRuleOrderRecordMapper.selectOne(Wrappers.lambdaQuery(UserDistributeRuleOrderRecord.class)
+				.orderByDesc(UserDistributeRuleOrderRecord::getId).last("limit 1"))).orElse(new UserDistributeRuleOrderRecord());
+		if (StrUtil.equals(Constant.ZERO_STR, ruleConfig.getSysValue())) {
+			//距离上次关闭时间少于10分钟 不记录关闭时间
+			if (userDistributeRuleOrderRecord.getId() == null) {
+				if (redisService.setNx(RedisService.key.DISTRIBUTE_RULE_TIME_KEY.getName(), 1, RedisService.key.DISTRIBUTE_RULE_TIME_KEY.getTimeout())) {
+					userDistributeRuleOrderRecord.setEndTime(DateTime.now());
+					userDistributeRuleOrderRecordMapper.insert(userDistributeRuleOrderRecord);
+				}
+			} else {
+				if (userDistributeRuleOrderRecord.getStartTime() != null) {
+					Date startTime = userDistributeRuleOrderRecord.getStartTime();
+					if (DateTime.now().isAfter(DateUtil.offsetMinute(startTime, 10))) {
+						if (redisService.setNx(RedisService.key.DISTRIBUTE_RULE_TIME_KEY.getName(), 1, RedisService.key.DISTRIBUTE_RULE_TIME_KEY.getTimeout())) {
+							UserDistributeRuleOrderRecord newRecord = new UserDistributeRuleOrderRecord();
+							newRecord.setEndTime(DateTime.now());
+							userDistributeRuleOrderRecordMapper.insert(userDistributeRuleOrderRecord);
+						}
+					}
+				}
+			}
+		} else {
+			if (userDistributeRuleOrderRecord.getId() != null && userDistributeRuleOrderRecord.getStartTime() == null) {
+				if (DateTime.now().isAfter(DateUtil.offsetMinute(userDistributeRuleOrderRecord.getEndTime(), 10))) {
+					userDistributeRuleOrderRecord.setStartTime(DateTime.now());
+					userDistributeRuleOrderRecordMapper.updateById(userDistributeRuleOrderRecord);
+				}
+			}
+		}
 		return GatewayResponse.SUCCESS.newBuilder().toResult();
 		return GatewayResponse.SUCCESS.newBuilder().toResult();
 	}
 	}