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

+ 9 - 0
netflix-dao/src/main/java/com/cyksj/mapper/manage/distribute/UserDistributeSharedMapper.java

@@ -3,8 +3,12 @@ package com.cyksj.mapper.manage.distribute;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.cyksj.model.dto.UserDistributeDto;
 import com.cyksj.model.entity.UserDistributeShared;
+import com.cyksj.model.views.CcPromotionInvitationDetailView;
+import org.apache.ibatis.annotations.Param;
 import org.apache.ibatis.annotations.Select;
 
+import java.util.List;
+
 /*
  *项目名: netflix
  *文件名: UserDistributeSharedMapper
@@ -16,4 +20,9 @@ public interface UserDistributeSharedMapper extends BaseMapper<UserDistributeSha
 			" from (select user_id,business_id from user_distribute) ud inner join user_distribute_shared us on us.shared_id = ud.user_id and us.user_id = #{userId}" +
 			" inner join user u on u.id = ud.user_id")
 	UserDistributeDto selectUserDistributeDtoByUserId(Long userId);
+
+	/**
+	 * 获取CC普通推广邀请明细
+	 */
+	List<CcPromotionInvitationDetailView> getCcPromotionInvitationDetails(@Param("sharedId") Long sharedId);
 }

+ 48 - 0
netflix-dao/src/main/java/com/cyksj/model/views/CcPromotionInvitationDetailView.java

@@ -0,0 +1,48 @@
+package com.cyksj.model.views;
+
+import lombok.Getter;
+import lombok.Setter;
+
+import java.util.Date;
+
+/**
+ * CC普通推广邀请明细视图
+ */
+@Getter
+@Setter
+public class CcPromotionInvitationDetailView {
+    /**
+     * 被邀请用户ID
+     */
+    private Long userId;
+    
+    /**
+     * 用户昵称
+     */
+    private String nickname;
+    
+    /**
+     * 用户头像
+     */
+    private String avatar;
+    
+    /**
+     * 首单订单ID
+     */
+    private Long firstOrderId;
+    
+    /**
+     * 是否有首单
+     */
+    private Boolean hasFirstOrder;
+    
+    /**
+     * 邀请时间
+     */
+    private Date inviteTime;
+    
+    /**
+     * 邀请方式备注
+     */
+    private String remark;
+}

+ 18 - 0
netflix-dao/src/main/resources/mapper/UserDistributeSharedMapper.xml

@@ -1,4 +1,22 @@
 <?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="com.cyksj.mapper.manage.distribute.UserDistributeSharedMapper">
+
+    <select id="getCcPromotionInvitationDetails" resultType="com.cyksj.model.views.CcPromotionInvitationDetailView">
+        SELECT 
+            uds.user_id as userId,
+            u.nickname,
+            u.avatar,
+            uds.created_time as inviteTime,
+            uds.remark,
+            dwsp.order_id as firstOrderId,
+            CASE WHEN dwsp.order_id IS NOT NULL THEN TRUE ELSE FALSE END as hasFirstOrder
+        FROM user_distribute_shared uds
+        INNER JOIN user u ON u.id = uds.user_id
+        LEFT JOIN distribute_waiting_send_points dwsp ON dwsp.user_id = uds.user_id
+        WHERE uds.shared_id = #{sharedId}
+          AND uds.remark = 'cc'
+        ORDER BY uds.created_time DESC
+    </select>
+
 </mapper>

+ 15 - 10
netflix-web/src/main/java/com/cyksj/web/controller/claude/ClaudeCodeController.java

@@ -426,15 +426,17 @@ public class ClaudeCodeController {
 				}
 			}
 		}
+		Boolean isTjB = false;
 		//非推广链接
 		if (dsCode == null && coupon == null) {
 			coupon = couponRecommendMapper.getRecommendCouponByGoodsId(Constant.CLAUDE_CODE_GOODS_ID);
+			isTjB = true;
 		}
 		if (coupon == null) {
 			return;
 		}
-		if (coupon.getId().intValue() == Constant.DISTRIBUTE_CLAUDE_CODE_NO_CODE_COUPON_ID.intValue()) {
-			int isTj = couponRecommendMapper.checkPresentRecommendByCouponId(Constant.DISTRIBUTE_CLAUDE_CODE_NO_CODE_COUPON_ID);
+		if (isTjB || coupon.getId().intValue() == Constant.DISTRIBUTE_CLAUDE_CODE_NO_CODE_COUPON_ID.intValue()) {
+			int isTj = couponRecommendMapper.checkPresentRecommendByCouponId(coupon.getId());
 			if (isTj == 0) {
 				return;
 			}
@@ -442,14 +444,17 @@ public class ClaudeCodeController {
 		List<Long> couponSkuIds = couponSkuMapper.selectList(Wrappers.lambdaQuery(CouponSku.class).eq(CouponSku::getCouponId, coupon.getId()).eq(CouponSku::getDeleted, Boolean.TRUE)).stream().map(CouponSku::getSkuId).collect(Collectors.toList());
 		//该优惠券是否已经使用
 		if (userId != null) {
-			Integer isUsed = couponUserMapper.selectCount(Wrappers.lambdaQuery(CouponUser.class)
-					.eq(CouponUser::getCouponId, coupon.getId())
-					.eq(CouponUser::getStatus, CouponUser.Status.unused)
-					.eq(CouponUser::getUserId, userId)
-					.lt(CouponUser::getValidStartTime, DateTime.now())
-					.gt(CouponUser::getValidEndTime, DateTime.now()));
-			if (isUsed == 0) {
-				return;
+			Integer selectCount = couponUserMapper.selectCount(Wrappers.lambdaQuery(CouponUser.class).eq(CouponUser::getCouponId, coupon.getId()).eq(CouponUser::getUserId, userId));
+			if (selectCount > 0) {
+				Integer isUsed = couponUserMapper.selectCount(Wrappers.lambdaQuery(CouponUser.class)
+						.eq(CouponUser::getCouponId, coupon.getId())
+						.eq(CouponUser::getStatus, CouponUser.Status.unused)
+						.eq(CouponUser::getUserId, userId)
+						.lt(CouponUser::getValidStartTime, DateTime.now())
+						.gt(CouponUser::getValidEndTime, DateTime.now()));
+				if (isUsed == 0) {
+					return;
+				}
 			}
 		}
 		for (GoodsDonSkuView sku : goodsDonSkuViews) {

+ 11 - 3
netflix-web/src/main/java/com/cyksj/web/controller/manage/distribute/DistributeController.java

@@ -30,7 +30,6 @@ import com.cyksj.model.request.UserDistributeReq;
 import com.cyksj.model.views.*;
 import com.cyksj.redis.RedisService;
 import com.cyksj.service.distribute.DistributeService;
-import com.cyksj.service.distribute.UserDistributeReturnMoneyDetailService;
 import com.cyksj.service.mange.business.UserBusinessRateService;
 import com.cyksj.service.mange.statistics.StatisticsDataService;
 import com.cyksj.service.sys.SysConfigService;
@@ -126,7 +125,7 @@ public class DistributeController {
 
 	private final UserDistributeSubMapper userDistributeSubMapper;
 
-	private final UserDistributeReturnMoneyDetailService userDistributeReturnMoneyDetailService;
+	private final UserDistributeSharedMapper userDistributeSharedMapper;
 	/**
 	 * 添加固定推广者
 	 */
@@ -522,7 +521,7 @@ public class DistributeController {
 			userBenefitsService.addDistributePoints(userId, distributeMoneyApply.getPoints());
 			log.info("归还积分:{}至用户{}结束", distributeMoneyApply.getPoints(), userId);
 			//记录返现明细
-			userDistributeReturnMoneyDetailService.recordDistributeReturnMoney(distributeMoneyApply.getUserId(), distributeMoneyApply.getMoney(), "提现失败");
+//			userDistributeReturnMoneyDetailService.recordDistributeReturnMoney(distributeMoneyApply.getUserId(), distributeMoneyApply.getMoney(), "提现失败");
 		}
 		if (DistributeMoneyApply.Status.success.name().equals(distributeApplyMoneyReq.getVerifyStatus())) {
 //			if (StrUtil.isBlank(distributeApplyMoneyReq.getImg())) {
@@ -1359,4 +1358,13 @@ public class DistributeController {
 		});
 		return GatewayResponse.SUCCESS.newBuilder().toResult(search);
 	}
+
+	/**
+	 * CC普通推广邀请明细
+	 */
+	@GetMapping("/get/cc/promotion/invitation/details/{sharedId}")
+	public Result<List<CcPromotionInvitationDetailView>> getCcPromotionInvitationDetails(@PathVariable Long sharedId) {
+		List<CcPromotionInvitationDetailView> details = userDistributeSharedMapper.getCcPromotionInvitationDetails(sharedId);
+		return GatewayResponse.SUCCESS.newBuilder().toResult(details);
+	}
 }