Explorar el Código

企微客户最后回复时间

wjj hace 1 día
padre
commit
62b11c42e2

+ 21 - 5
fs-qw-api-msg/src/main/java/com/fs/app/controller/QwMsgController.java

@@ -356,12 +356,22 @@ public class QwMsgController {
                     if (2000000000000000L-receiver>0){
                         log.info("id:{}, 客户发送", id);
                         QwUser user = qwUserMapper.selectQwUserById(id);
+                        log.info("企微用户信息:{}",JSON.toJSONString( user));
                         if(user != null){
                             Long userId = user.getId();
                             CompanyUser companyUser = companyUserMapper.selectCompanyUserByQwUserId(userId);
+                            log.info("公司员工信息:{}",JSON.toJSONString( companyUser));
+                            String extId1 = getExtId(wxWorkMessageDTO.getSender(), user.getUid(), user.getServerId());
+                            QwExternalContact qwExternalContact = qwExternalContactMapper.selectQwExternalContactByExternalUserIdAndQwUserId(extId1, user.getCorpId(),user.getQwUserId());
+                            log.info("外部联系人信息:{}",JSON.toJSONString( qwExternalContact));
+                            //更新最后回复时间
+                            if (qwExternalContact != null) {
+                                QwExternalContact mapQwExternalContact = new QwExternalContact();
+                                mapQwExternalContact.setId(qwExternalContact.getId());
+                                mapQwExternalContact.setLastReplyTime(new Date());
+                                qwExternalContactMapper.updateQwExternalContact(mapQwExternalContact);
+                            }
                             if(companyUser != null && companyUser.getReplyText() != null){
-                                String extId1 = getExtId(wxWorkMessageDTO.getSender(), user.getUid(), user.getServerId());
-                                QwExternalContact qwExternalContact = qwExternalContactMapper.selectQwExternalContactByExternalUserIdAndQwUserId(extId1, user.getCorpId(),user.getQwUserId());
                                 //用户是未回复状态
                                 if(qwExternalContact != null && qwExternalContact.getIsReply() == 0){
                                     qwExternalContactMapper.updateQwExternalContactIsRePlyById(qwExternalContact.getId());
@@ -419,10 +429,16 @@ public class QwMsgController {
                             }
                             try {
                                 QwUser user = qwUserMapper.selectQwUserById(id);
+                                //获取当前用户的external_user_id
+                                String extId1 = getExtId(extId, user.getUid(), user.getServerId());
+                                QwExternalContact qwExternalContact = qwExternalContactMapper.selectQwExternalContactByExternalUserIdAndQwUserId(extId1, user.getCorpId(),user.getQwUserId());
+                                if (qwExternalContact != null) {
+                                    QwExternalContact mapQwExternalContact = new QwExternalContact();
+                                    mapQwExternalContact.setId(qwExternalContact.getId());
+                                    mapQwExternalContact.setLastReplyTime(new Date());
+                                    qwExternalContactMapper.updateQwExternalContact(mapQwExternalContact);
+                                }
                                 if (user.getFastGptRoleId()!=null&&user.getFastGptRoleId()!=0){
-                                    //获取当前用户的external_user_id
-                                    String extId1 = getExtId(extId, user.getUid(), user.getServerId());
-                                    QwExternalContact qwExternalContact = qwExternalContactMapper.selectQwExternalContactByExternalUserIdAndQwUserId(extId1, user.getCorpId(),user.getQwUserId());
                                     Long id1 = qwExternalContact.getId();
                                     QwExternalContactInfo info = qwExternalContactInfoMapper.selectQwExternalContactInfoByExternalContactId(id1);
                                     if(info == null){

+ 6 - 0
fs-service/src/main/java/com/fs/qw/domain/QwExternalContact.java

@@ -106,6 +106,12 @@ public class QwExternalContact extends BaseEntity
     private Date lossTime;
     @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
     private Date delTime;
+
+    /**
+     * 最后回复时间
+     */
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    private Date lastReplyTime;
     private String state;
     private Long wayId;
     private String stageStatus;

+ 1 - 0
fs-service/src/main/java/com/fs/qw/mapper/QwExternalContactMapper.java

@@ -296,6 +296,7 @@ public interface QwExternalContactMapper extends BaseMapper<QwExternalContact> {
             "            <if test=\"lossTime != null \"> and DATE(ec.loss_time) = DATE(#{lossTime})</if>\n" +
             "            <if test=\"createTime != null \">and DATE(ec.create_time) = DATE(#{createTime})</if>\n" +
             "            <if test=\"delTime != null \"> and DATE(ec.del_time) = DATE(#{delTime})</if>\n" +
+            "            <if test=\"lastReplyTime != null \">  and DATE(ec.last_reply_time) &gt;= DATE(#{lastReplyTime})</if>\n" +
             "            <if test=\"sTime != null \">  and DATE(ec.create_time) &gt;= DATE(#{sTime})</if>\n" +
             "            <if test=\"eTime != null \">  and DATE(ec.create_time) &lt;= DATE(#{eTime})</if>\n" +
             "            <if test=\"companyUserName != null  and companyUserName != ''\"> and cu.user_name = #{companyUserName}</if>\n" +

+ 6 - 0
fs-service/src/main/java/com/fs/qw/param/QwExternalContactParam.java

@@ -113,6 +113,12 @@ public class QwExternalContactParam {
     @JsonFormat(pattern = "yyyy-MM-dd")
     private Date sTime;
 
+    /**
+     * 最后回复时间
+     */
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    private Date lastReplyTime;
+
     /**
      * 销售部门
      */

+ 6 - 0
fs-service/src/main/java/com/fs/qw/vo/QwExternalContactVO.java

@@ -129,4 +129,10 @@ public class QwExternalContactVO {
     private Integer isPush;
 
     private Boolean isHavePhone;
+
+    /**
+     * 最后回复时间
+     */
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    private Date lastReplyTime;
 }

+ 5 - 1
fs-service/src/main/resources/mapper/qw/QwExternalContactMapper.xml

@@ -48,10 +48,11 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         <result property="fsUserPhone"    column="fs_user_phone"    />
         <result property="addSourceType"    column="add_source_type"    />
         <result property="qwAcquisitionAssistantId"    column="qw_acquisition_assistant_id"    />
+        <result property="lastReplyTime" column="last_reply_time" />
     </resultMap>
 
     <sql id="selectQwExternalContactVo">
-        select id,qw_user_id,register_time,state,way_id,stage_status,first_time,open_id,is_interact,level, unionid, user_id,transfer_time,loss_time,del_time,transfer_num, external_user_id,transfer_status,status,create_time, name, avatar, type, gender, remark, description, tag_ids, remark_mobiles, remark_corp_name, add_way, oper_userid, corp_id, company_id, company_user_id, customer_id, fs_user_id,is_reply,is_push,fs_user_phone,add_source_type,qw_acquisition_assistant_id from qw_external_contact
+        select id,qw_user_id,register_time,state,way_id,stage_status,first_time,open_id,is_interact,level, unionid, user_id,transfer_time,loss_time,del_time,transfer_num, external_user_id,transfer_status,status,create_time, name, avatar, type, gender, remark, description, tag_ids, remark_mobiles, remark_corp_name, add_way, oper_userid, corp_id, company_id, company_user_id, customer_id, fs_user_id,is_reply,is_push,fs_user_phone,add_source_type,qw_acquisition_assistant_id,last_reply_time from qw_external_contact
     </sql>
 
     <select id="selectQwExternalContactList" parameterType="QwExternalContact" resultMap="QwExternalContactResult">
@@ -273,6 +274,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             <if test="addSourceType != null">add_source_type,</if>
             <if test="qwAcquisitionAssistantId != null">qw_acquisition_assistant_id,</if>
             <if test="registerTime != null">register_time,</if>
+            <if test="lastReplyTime != null"> last_reply_time,</if>
         </trim>
         <trim prefix="values (" suffix=")" suffixOverrides=",">
             <if test="id != null">#{id},</if>
@@ -314,6 +316,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             <if test="addSourceType != null">#{addSourceType},</if>
             <if test="qwAcquisitionAssistantId != null">#{qwAcquisitionAssistantId},</if>
             <if test="registerTime != null">#{registerTime},</if>
+            <if test="lastReplyTime != null">#{lastReplyTime},</if>
          </trim>
     </insert>
 
@@ -362,6 +365,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             <if test="isUpsellProductBuy != null">is_upsell_product_buy = #{isUpsellProductBuy},</if>
             <if test="isPush != null">is_push = #{isPush},</if>
             <if test="fsUserPhone != null">fs_user_phone = #{fsUserPhone},</if>
+            <if test="lastReplyTime != null"> last_reply_time = #{lastReplyTime},</if>
         </trim>
         where id = #{id}
     </update>