From 10f1422bc8f401b06b1e55ee63b23016d74abce8 Mon Sep 17 00:00:00 2001
From: puzhibing <393733352@qq.com>
Date: 星期三, 28 二月 2024 11:34:09 +0800
Subject: [PATCH] 优化商户发券逻辑

---
 ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/member/MemberService.java          |    5 +++++
 ruoyi-modules/ruoyi-member/src/main/resources/mapper/member/MemberMapper.xml                         |   10 ++++++++++
 ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/mapper/member/MemberMapper.java            |    8 ++++++++
 ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/coupon/CouponServiceImpl.java |   13 +++++++++++++
 ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/member/MemberServiceImpl.java |    7 +++++++
 5 files changed, 43 insertions(+), 0 deletions(-)

diff --git a/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/mapper/member/MemberMapper.java b/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/mapper/member/MemberMapper.java
index 99b9564..803d21c 100644
--- a/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/mapper/member/MemberMapper.java
+++ b/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/mapper/member/MemberMapper.java
@@ -96,6 +96,14 @@
      */
     List<Long> listIdBySendType(@Param("sendType")Integer sendType,@Param("shopId")Long shopId);
 
+
+    /**
+     * 获取商户发送全部用的数据
+     * @param shopId
+     * @return
+     */
+    List<Long> listIdBySendType2(@Param("shopId")Long shopId);
+
     /**
      * @description  通过ids获取用户简易返回
      * @author  jqs
diff --git a/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/coupon/CouponServiceImpl.java b/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/coupon/CouponServiceImpl.java
index 8062e06..fee79df 100644
--- a/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/coupon/CouponServiceImpl.java
+++ b/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/coupon/CouponServiceImpl.java
@@ -495,6 +495,13 @@
                 userIdList = relUserIdList;
             }
         }
+        //商户发送全部,则发送没有绑定的会员及绑定了当前商户端会员
+        if(coupon.getCouponFrom() == 2 && sendTarget == 2){
+            shopId = coupon.getShopId();
+            userIdList = memberService.listIdBySendType2(shopId);
+        }
+
+
         if(userIdList!=null&&!userIdList.isEmpty()){
             List<MemberCoupon> memberCouponList = new ArrayList<>();
             MemberCoupon memberCoupon;
@@ -645,6 +652,12 @@
                 userIdList = relUserIdList;
             }
         }
+        //商户发送全部,则发送没有绑定的会员及绑定了当前商户端会员
+        if(coupon.getCouponFrom() == 2 && sendTarget == 2){
+            shopId = coupon.getShopId();
+            userIdList = memberService.listIdBySendType2(shopId);
+        }
+
         if(relUserIdList!=null&&!relUserIdList.isEmpty()){
             List<MemberCoupon> memberCouponList = new ArrayList<>();
             MemberCoupon memberCoupon;
diff --git a/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/member/MemberServiceImpl.java b/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/member/MemberServiceImpl.java
index 25e92af..2d03862 100644
--- a/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/member/MemberServiceImpl.java
+++ b/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/member/MemberServiceImpl.java
@@ -1241,6 +1241,13 @@
         return memberMapper.listIdBySendType(sendType,shopId);
     }
 
+
+    public List<Long> listIdBySendType2(Long shopId) {
+        //1.手动领取2.全部用户3.会员用户4非会员用户5自定义
+        return memberMapper.listIdBySendType2(shopId);
+    }
+
+
     /**
      * @param userIds
      * @return List<MgtSimpleMemberVo>
diff --git a/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/member/MemberService.java b/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/member/MemberService.java
index 477a7ca..05932d0 100644
--- a/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/member/MemberService.java
+++ b/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/member/MemberService.java
@@ -195,6 +195,11 @@
      */
     List<Long> listIdBySendType(Integer sendType,Long shopId);
 
+
+    List<Long> listIdBySendType2(Long shopId);
+
+
+
     /**
      * @description  通过ids获取用户简易返回
      * @author  jqs
diff --git a/ruoyi-modules/ruoyi-member/src/main/resources/mapper/member/MemberMapper.xml b/ruoyi-modules/ruoyi-member/src/main/resources/mapper/member/MemberMapper.xml
index faa4ad1..0913eef 100644
--- a/ruoyi-modules/ruoyi-member/src/main/resources/mapper/member/MemberMapper.xml
+++ b/ruoyi-modules/ruoyi-member/src/main/resources/mapper/member/MemberMapper.xml
@@ -344,6 +344,16 @@
         </if>
     </select>
 
+
+    <select id="listIdBySendType2" resultType="java.lang.Long">
+        SELECT
+        tm.user_id
+        FROM t_member tm
+        WHERE tm.del_flag = 0 AND (tm.binding_flag = 0 or (tm.binding_flag = 1 AND tm.relation_shop_id = #{shopId}))
+    </select>
+
+
+
     <select id="listSimpleVoByIds" resultType="com.ruoyi.system.api.domain.vo.MgtSimpleMemberVo">
         SELECT
             tm.user_id userId,

--
Gitblit v1.7.1