zoujiajian 1 год назад
Родитель
Сommit
6b79a00105

+ 13 - 0
netflix-dao/src/main/java/com/cyksj/mapper/fission/UserMirrorFissionUserMapper.java

@@ -0,0 +1,13 @@
+package com.cyksj.mapper.fission;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.cyksj.model.entity.UserMirrorFissionUser;
+
+/**
+ * 项目名: yhlxj2
+ * 文件名: UserMirrorFissionUserMapper
+ * 创建者: JavaZou
+ * 创建时间:2024/11/27 11:46
+ */
+public interface UserMirrorFissionUserMapper extends BaseMapper<UserMirrorFissionUser> {
+}

+ 16 - 0
netflix-dao/src/main/java/com/cyksj/model/entity/UserMirrorFissionUser.java

@@ -0,0 +1,16 @@
+package com.cyksj.model.entity;
+
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * 项目名: yhlxj2
+ * 文件名: UserMirrorFissionUser
+ * 创建者: JavaZou
+ * 创建时间:2024/11/27 11:45
+ */
+@Getter
+@Setter
+public class UserMirrorFissionUser extends BaseEntity{
+	private Long userId;
+}

+ 9 - 29
netflix-service/src/main/java/com/cyksj/service/fission/impl/UserMirrorFissionFrontServiceImpl.java

@@ -2,11 +2,9 @@ package com.cyksj.service.fission.impl;
 
 import cn.hutool.core.date.DateTime;
 import cn.hutool.core.util.RandomUtil;
-import cn.hutool.core.util.StrUtil;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.cyksj.common.constant.Constant;
 import com.cyksj.common.exception.BusinessRuntimeException;
-import com.cyksj.common.util.Jsons;
 import com.cyksj.mapper.GoodsDonSkuMapper;
 import com.cyksj.mapper.GroupsMapper;
 import com.cyksj.mapper.GroupsRelationMapper;
@@ -14,7 +12,7 @@ import com.cyksj.mapper.OrderDonMapper;
 import com.cyksj.mapper.fission.UserMirrorFissionReceiveRecordMapper;
 import com.cyksj.mapper.fission.UserMirrorFissionRecordMapper;
 import com.cyksj.mapper.fission.UserMirrorFissionTicketConfigMapper;
-import com.cyksj.mapper.sys.SysConfigMapper;
+import com.cyksj.mapper.fission.UserMirrorFissionUserMapper;
 import com.cyksj.model.entity.*;
 import com.cyksj.model.response.UserMirrorFissionReceiveResp;
 import com.cyksj.model.views.RenewalView;
@@ -32,7 +30,6 @@ import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
 import java.util.List;
-import java.util.concurrent.atomic.AtomicBoolean;
 
 /**
  * 项目名: yhlxj2
@@ -62,7 +59,7 @@ public class UserMirrorFissionFrontServiceImpl implements UserMirrorFissionFront
 
 	private final UserMirrorFissionTicketConfigMapper userMirrorFissionTicketConfigMapper;
 
-	private final SysConfigMapper sysConfigMapper;
+	private final UserMirrorFissionUserMapper userMirrorFissionUserMapper;
 
 	private final BeanSearcher beanSearcher;
 
@@ -182,20 +179,10 @@ public class UserMirrorFissionFrontServiceImpl implements UserMirrorFissionFront
 			return userMirrorFissionRecord;
 		}
 		//特定老用户可进行镜像裂变活动
-		SysConfig sysConfig = sysConfigMapper.selectOne(Wrappers.lambdaQuery(SysConfig.class)
-				.eq(SysConfig::getSysKey, Constant.USER_MIRROR_FISSION_USER_LIST_KEY)
+		UserMirrorFissionUser userMirrorFissionUser = userMirrorFissionUserMapper.selectOne(Wrappers.lambdaQuery(UserMirrorFissionUser.class).
+				in(UserMirrorFissionUser::getUserId, userIdList)
 				.last("limit 1"));
-		if (sysConfig == null || StrUtil.isEmpty(sysConfig.getSysValue())) {
-			throw BusinessRuntimeException.getInstance("活动已结束");
-		}
-		List<Long> fission_userIds = Jsons.parseList(sysConfig.getSysValue(), Long.class);
-		AtomicBoolean isCt = new AtomicBoolean(false);
-		userIdList.forEach(uid -> {
-			if (fission_userIds.contains(uid)) {
-				isCt.set(true);
-			}
-		});
-		if (!isCt.get()) {
+		if (userMirrorFissionUser == null) {
 			throw BusinessRuntimeException.getInstance("您不符合该活动要求");
 		}
 		UserMirrorFissionTicketConfig userMirrorFissionTicketConfig = userMirrorFissionTicketConfigMapper.selectOne(Wrappers.lambdaQuery(UserMirrorFissionTicketConfig.class)
@@ -228,19 +215,12 @@ public class UserMirrorFissionFrontServiceImpl implements UserMirrorFissionFront
 	public Boolean getPermitStatus(long userId, Long goodsId) throws Exception {
 		List<Long> userIdList = userBindRelationService.getRelationUserIdList(userId, null);
 		//特定老用户可进行镜像裂变活动
-		SysConfig sysConfig = sysConfigMapper.selectOne(Wrappers.lambdaQuery(SysConfig.class)
-				.eq(SysConfig::getSysKey, Constant.USER_MIRROR_FISSION_USER_LIST_KEY)
+		UserMirrorFissionUser userMirrorFissionUser = userMirrorFissionUserMapper.selectOne(Wrappers.lambdaQuery(UserMirrorFissionUser.class).
+				in(UserMirrorFissionUser::getUserId, userIdList)
 				.last("limit 1"));
-		if (sysConfig == null || StrUtil.isEmpty(sysConfig.getSysValue())) {
+		if (userMirrorFissionUser == null) {
 			return false;
 		}
-		List<Long> fission_userIds = Jsons.parseList(sysConfig.getSysValue(), Long.class);
-		AtomicBoolean isCt = new AtomicBoolean(false);
-		userIdList.forEach(uid -> {
-			if (fission_userIds.contains(uid)) {
-				isCt.set(true);
-			}
-		});
 		Number count = beanSearcher.searchCount(RenewalView.class, MapUtils.builder()
 				.field(RenewalView::getGoodsId, goodsId)
 				.field(RenewalView::getIsMirror, true)
@@ -250,7 +230,7 @@ public class UserMirrorFissionFrontServiceImpl implements UserMirrorFissionFront
 		if (count.intValue() == 0) {
 			return false;
 		}
-		return isCt.get();
+		return true;
 	}