Переглянути джерело

Merge branch 'dev-xym-add-special' of Server/growth-manager into master

xueyiming 2 місяців тому
батько
коміт
222e85ca50

+ 2 - 1
common-module/src/main/java/com/tzld/piaoquan/growth/common/dao/mapper/ext/WeComUserMapperExt.java

@@ -1,5 +1,6 @@
 package com.tzld.piaoquan.growth.common.dao.mapper.ext;
 
+import com.tzld.piaoquan.growth.common.model.bo.WeComUserBo;
 import com.tzld.piaoquan.growth.common.model.po.WeComUser;
 import com.tzld.piaoquan.growth.common.model.po.WeComUserExample;
 import com.tzld.piaoquan.growth.common.model.vo.WeComUserVo;
@@ -19,7 +20,7 @@ public interface WeComUserMapperExt {
                                              @Param("preSendDate") String preSendDate,
                                              @Param("carrierIds") List<String> carrierIds);
 
-    List<WeComUserVo> getGroupSendUserByDate(@Param("start") Date start,
+    List<WeComUserBo> getGroupSendUserByDate(@Param("start") Date start,
                                              @Param("end") Date end,
                                              @Param("preSendDate") String preSendDate,
                                              @Param("carrierIds") List<String> carrierIds,

+ 39 - 0
common-module/src/main/java/com/tzld/piaoquan/growth/common/model/bo/WeComUserBo.java

@@ -0,0 +1,39 @@
+package com.tzld.piaoquan.growth.common.model.bo;
+
+import lombok.Data;
+import lombok.ToString;
+
+@Data
+@ToString
+public class WeComUserBo {
+    private Long corpId;
+
+    private String externalUserId;
+
+    private String unionId;
+
+    private String externalUserId3rdParty;
+
+    private Integer type;
+
+    private String name;
+
+    private String avatar;
+
+    private Integer gender;
+
+    private String carrierId;
+
+    private Integer status;
+
+    private Long sendTime;
+
+    private Long sendMsgResultId;
+
+    private Integer strategyStatus;
+
+    private String content;
+
+    private Integer sendGender;
+
+}

+ 5 - 0
common-module/src/main/java/com/tzld/piaoquan/growth/common/model/vo/WeComUserVo.java

@@ -31,4 +31,9 @@ public class WeComUserVo {
 
     private Long sendMsgResultId;
 
+    // 100000 单向 普通  200000 多日 普通
+    // 100001 单向 性别  200001 多日 性别
+    // 100002 单向 昵称  200002 多日 昵称
+    private Integer strategy;
+
 }

+ 29 - 2
common-module/src/main/java/com/tzld/piaoquan/growth/common/service/Impl/WeComUserServiceImpl.java

@@ -2,6 +2,7 @@ package com.tzld.piaoquan.growth.common.service.Impl;
 
 import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
+import com.tzld.piaoquan.growth.common.common.enums.PreSpecialStatusEnum;
 import com.tzld.piaoquan.growth.common.component.HttpPoolClient;
 import com.tzld.piaoquan.growth.common.dao.mapper.StaffMapper;
 import com.tzld.piaoquan.growth.common.dao.mapper.StaffWithUserMapper;
@@ -9,6 +10,7 @@ import com.tzld.piaoquan.growth.common.dao.mapper.UserWithTagMapper;
 import com.tzld.piaoquan.growth.common.dao.mapper.WeComUserMapper;
 import com.tzld.piaoquan.growth.common.dao.mapper.ext.WeComUserMapperExt;
 import com.tzld.piaoquan.growth.common.model.bo.GroupSendWeComUserParam;
+import com.tzld.piaoquan.growth.common.model.bo.WeComUserBo;
 import com.tzld.piaoquan.growth.common.model.po.*;
 import com.tzld.piaoquan.growth.common.model.vo.WeComUserVo;
 import com.tzld.piaoquan.growth.common.service.WeComAccessTokenService;
@@ -284,9 +286,34 @@ public class WeComUserServiceImpl implements WeComUserService {
             page.setPageSize(param.getPageSize());
             offset = (param.getPageNum() - 1) * param.getPageSize();
         }
-        List<WeComUserVo> list = weComUserMapperExt.getGroupSendUserByDate(start, end, preSendDate, param.getCarrierIds(),
+        List<WeComUserBo> list = weComUserMapperExt.getGroupSendUserByDate(start, end, preSendDate, param.getCarrierIds(),
                 offset, param.getPageSize());
-        page.setObjs(list);
+        List<WeComUserVo> weComUserVoList = new ArrayList<>();
+        for (WeComUserBo weComUserBo : list) {
+            WeComUserVo weComUserVo = new WeComUserVo();
+            BeanUtils.copyProperties(weComUserBo, weComUserVo);
+            int strategy;
+            if (Objects.equals(weComUserBo.getStrategyStatus(), PreSpecialStatusEnum.TAG.getStatus())) {
+                if (weComUserBo.getSendGender() != null) {
+                    strategy = 200001;
+                } else if (StringUtils.isNotEmpty(weComUserBo.getContent()) && weComUserBo.getContent().contains("${name}")) {
+                    strategy = 200002;
+                } else {
+                    strategy = 200000;
+                }
+            } else {
+                if (weComUserBo.getSendGender() != null) {
+                    strategy = 100001;
+                } else if (StringUtils.isNotEmpty(weComUserBo.getContent()) && weComUserBo.getContent().contains("${name}")) {
+                    strategy = 100002;
+                } else {
+                    strategy = 100000;
+                }
+            }
+            weComUserVo.setStrategy(strategy);
+            weComUserVoList.add(weComUserVo);
+        }
+        page.setObjs(weComUserVoList);
         return page;
     }
 

+ 4 - 2
common-module/src/main/resources/mapper/ext/WeComUserMapperExt.xml

@@ -20,15 +20,17 @@
         </if>
     </select>
 
-    <select id="getGroupSendUserByDate" resultType="com.tzld.piaoquan.growth.common.model.vo.WeComUserVo">
+    <select id="getGroupSendUserByDate" resultType="com.tzld.piaoquan.growth.common.model.bo.WeComUserBo">
         select wcu.corp_id as corpId, wcu.external_user_id as externalUserId, wcu.union_id as unionId,
         wcu.external_user_id_3rd_party as externalUserId3rdParty, wcu.type as type, wcu.name as name,
         wcu.avatar as avatar, wcu.gender as gender, wcs.carrier_id as carrierId, wcsmr.status as status,
-        UNIX_TIMESTAMP(wcsmr.send_time) * 1000 as sendTime, wcsmr.id as sendMsgResultId
+        UNIX_TIMESTAMP(wcsmr.send_time) * 1000 as sendTime, wcsmr.id as sendMsgResultId, wcspsm.status as strategyStatus,
+        wcspsm.content as content, wcspsm.gender as sendGender
         from we_com_user wcu
         join we_com_send_msg_result wcsmr on wcsmr.user_id = wcu.id
         join we_com_special_send_message wcssm on wcssm.user_id = wcsmr.user_id and wcssm.staff_id = wcsmr.staff_id
         join we_com_staff wcs on wcs.id = wcssm.staff_id
+        join we_com_special_pre_send_message wcspsm on wcssm.group = wcspsm.id
         where wcssm.is_send = 1
         and wcsmr.create_time between #{start} and #{end}
         and wcssm.pre_send_date = #{preSendDate}