소스 검색

渠道用户白名单

zoujiajian 2 년 전
부모
커밋
1c5ea94779

+ 13 - 0
netflix-dao/src/main/java/com/cyksj/mapper/manage/distribute/UserDistributeSharedWhiteMapper.java

@@ -0,0 +1,13 @@
+package com.cyksj.mapper.manage.distribute;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.cyksj.model.entity.UserDistributeSharedWhite;
+
+/**
+ * 项目名: yhlxj2
+ * 文件名: UserDistributeSharedWhiteMapper
+ * 创建者: JavaZou
+ * 创建时间:2024/1/8 10:29
+ */
+public interface UserDistributeSharedWhiteMapper extends BaseMapper<UserDistributeSharedWhite> {
+}

+ 50 - 0
netflix-dao/src/main/java/com/cyksj/model/entity/UserDistributeSharedWhite.java

@@ -0,0 +1,50 @@
+package com.cyksj.model.entity;
+
+import com.baomidou.mybatisplus.annotation.FieldFill;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.ejlchina.searcher.bean.DbField;
+import com.ejlchina.searcher.bean.SearchBean;
+import lombok.Getter;
+import lombok.Setter;
+
+import java.util.Date;
+
+/**
+ * 项目名: yhlxj2
+ * 文件名: UserDistributeSharedWhite
+ * 创建者: JavaZou
+ * 创建时间:2024/1/8 10:28
+ */
+@Getter
+@Setter
+@SearchBean(tables = "user_distribute_shared_white uw left join user u on u.id = uw.user_id")
+public class UserDistributeSharedWhite {
+
+	@TableId(value = "id",type = IdType.AUTO)
+	@DbField("uw.id")
+	private Long id;
+
+	@DbField("uw.user_id")
+	private Long userId;
+
+	@DbField("uw.nickname")
+	@TableField(exist = false)
+	private String nickname;
+
+	/**
+	 * 创建时间
+	 */
+
+	@TableField(fill = FieldFill.INSERT)
+	@DbField("uw.created_time")
+	private Date createdTime;
+
+	/**
+	 * 修改时间
+	 */
+	@TableField(fill = FieldFill.INSERT_UPDATE)
+	@DbField("uw.update_time")
+	private Date updateTime;
+}

+ 18 - 0
netflix-service/src/main/java/com/cyksj/service/order/impl/OrderDonServiceImpl.java

@@ -255,6 +255,10 @@ public class OrderDonServiceImpl extends ServiceImpl<OrderDonMapper, OrderDon> i
 
 	private final UserPayOrderBlockMapper userPayOrderBlockMapper;
 
+	private final UserDistributeSharedWhiteMapper userDistributeSharedWhiteMapper;
+
+	private final UserDistributeSharedRelateUnbindMapper userDistributeSharedRelateUnbindMapper;
+
 	private final List<String> noChekGoodsTemp = List.of("Apple One", "Youtube", "Spotify");
 
 	@Transactional(rollbackFor = Throwable.class)
@@ -2587,6 +2591,20 @@ public class OrderDonServiceImpl extends ServiceImpl<OrderDonMapper, OrderDon> i
 				if (userDistribute != null) {
 					//直接去除
 					if (!userDistributeShared.getIsBind()) {
+						UserDistributeSharedRelateUnbind userDistributeSharedRelateUnbind = userDistributeSharedRelateUnbindMapper.selectOne(Wrappers.lambdaQuery(UserDistributeSharedRelateUnbind.class)
+								.eq(UserDistributeSharedRelateUnbind::getUserId, userId)
+								.eq(UserDistributeSharedRelateUnbind::getIsUnbind, 1)
+								.last("limit 1"));
+						if (userDistributeSharedRelateUnbind != null) {
+							//是否是渠道用户白名单
+							UserDistributeSharedWhite userDistributeSharedWhite = userDistributeSharedWhiteMapper.selectOne(Wrappers.lambdaQuery(UserDistributeSharedWhite.class)
+									.eq(UserDistributeSharedWhite::getUserId, userDistributeShared.getSharedId())
+									.last("limit 1"));
+							if (userDistributeSharedWhite != null) {
+								orderDon.setIsFixedDistribute(true);
+								return;
+							}
+						}
 						orderDon.setIsDistribute(false);
 					} else {
 						//45天内是否下单成功 ==>改为30天

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

@@ -53,7 +53,7 @@ import java.util.concurrent.ConcurrentHashMap;
 import java.util.concurrent.atomic.AtomicBoolean;
 import java.util.stream.Collectors;
 
-/** 分销管理
+/** admin/分销管理
  *项目名: netflix
  *文件名: DistributeController
  *创建者: JavaZou
@@ -117,6 +117,8 @@ public class DistributeController {
 
 	private final UserDistributeTargetAlertRecordMapper targetAlertRecordMapper;
 
+	private final UserDistributeSharedWhiteMapper userDistributeSharedWhiteMapper;
+
 	/**
 	 * 添加固定推广者
 	 */
@@ -1194,4 +1196,42 @@ public class DistributeController {
 		UserDistributeUnbindOrderMoneyView userDistributeUnbindOrderMoneyView = beanSearcher.searchFirst(UserDistributeUnbindOrderMoneyView.class, builder.build());
 		return GatewayResponse.SUCCESS.newBuilder().toResult(userDistributeUnbindOrderMoneyView);
 	}
+
+	/**
+	 * 新增分销渠道白名单
+	 */
+	@PostMapping("/post/white")
+	@Log(module = "分销管理/渠道分销/新增渠道白名单", businessType = BusinessType.POST, isSaveRequestData = true)
+	public Result<String> postDistributeWhite(@RequestBody UserDistributeSharedWhite sharedWhite) {
+		if (sharedWhite.getUserId() == null) {
+			throw BusinessRuntimeException.getInstance("请指定对应渠道用户");
+		}
+		UserDistributeSharedWhite userDistributeSharedWhite = userDistributeSharedWhiteMapper.selectOne(Wrappers.lambdaQuery(UserDistributeSharedWhite.class)
+				.eq(UserDistributeSharedWhite::getUserId, sharedWhite.getUserId())
+				.last("limit 1"));
+		if (userDistributeSharedWhite == null) {
+			throw BusinessRuntimeException.getInstance("已添加该渠道用户");
+		}
+		userDistributeSharedWhiteMapper.insert(sharedWhite);
+		return GatewayResponse.SUCCESS.newBuilder().toResult();
+	}
+
+	/**
+	 * 删除渠道用户白名单
+	 */
+	@DeleteMapping("/del/white/{userId}")
+	@Log(module = "分销管理/渠道分销/删除渠道白名单", businessType = BusinessType.DELETE, isSaveRequestData = true)
+	public Result<String> delDistributeWhite(@PathVariable Long userId) {
+		userDistributeSharedWhiteMapper.deleteById(userId);
+		return GatewayResponse.SUCCESS.newBuilder().toResult();
+	}
+
+	/**
+	 * 用户白名单列表
+	 */
+	@GetMapping("/get/white")
+	public Result<SearchResult<UserDistributeSharedWhite>> getDistributeWhite() {
+		SearchResult<UserDistributeSharedWhite> search = beanSearcher.search(UserDistributeSharedWhite.class, MapUtils.flatBuilder(request.getParameterMap()).build());
+		return GatewayResponse.SUCCESS.newBuilder().toResult(search);
+	}
 }