瀏覽代碼

打备注数量判断

吴树波 1 天之前
父節點
當前提交
c8c61d0eae

+ 18 - 7
fs-admin/src/main/java/com/fs/qw/controller/QwExternalContactController.java

@@ -9,16 +9,12 @@ import cn.hutool.core.util.ObjectUtil;
 import com.fs.common.core.domain.R;
 import com.fs.common.utils.StringUtils;
 import com.fs.qw.domain.QwContactWay;
-import com.fs.qw.param.QwExternalContactParam;
-import com.fs.qw.param.QwTagSearchParam;
-import com.fs.qw.param.ResignedTransferParam;
-import com.fs.qw.param.TransferParam;
+import com.fs.qw.param.*;
 import com.fs.qw.service.IQwContactWayService;
 import com.fs.qw.service.IQwExternalContactInfoService;
 import com.fs.qw.service.IQwGroupChatUserService;
 import com.fs.qw.service.IQwTagService;
 import com.fs.course.service.IFsUserCompanyBindService;
-import com.fs.qw.param.UserWatchLogParam;
 import com.fs.course.vo.UserWatchLogListVo;
 import com.fs.qw.vo.QwExternalContactUnionIdExportVO;
 import com.fs.qw.vo.QwExternalContactVO;
@@ -253,9 +249,24 @@ public class QwExternalContactController extends BaseController
     @PreAuthorize("@ss.hasPermi('qw:externalContact:edit')")
     @Log(title = "企业微信客户", businessType = BusinessType.UPDATE)
     @PutMapping
-    public AjaxResult edit(@RequestBody QwExternalContact qwExternalContact)
+    public AjaxResult edit(@RequestBody QwExternalContactManageParam param)
     {
-        return toAjax(qwExternalContactService.updateQwExternalContact(qwExternalContact));
+        if (param == null || param.getId() == null) {
+            return AjaxResult.error("企微客户ID不能为空");
+        }
+        if (param.getManageStatus() == null
+                || (param.getManageStatus() != 1 && param.getManageStatus() != 2)) {
+            return AjaxResult.error("管理状态无效,仅支持:1正常 2已被总部拉黑");
+        }
+        QwExternalContact contact = qwExternalContactService.selectQwExternalContactById(param.getId());
+        if (contact == null) {
+            return AjaxResult.error("企微客户不存在");
+        }
+        if (contact.getFsUserId() == null) {
+            return AjaxResult.error("未绑定小程序会员,无法修改拉黑状态");
+        }
+        int rows = qwExternalContactService.updateExternalContactManageStatus(param);
+        return rows > 0 ? AjaxResult.success() : AjaxResult.error("修改失败");
     }
 
     /**

+ 2 - 2
fs-company/src/main/resources/application.yml

@@ -3,7 +3,7 @@ server:
 # Spring配置
 spring:
   profiles:
-#    active: druid-bjczwh-test
+    active: druid-bjczwh-test
 #    active: druid-jnlzjk
 #    active: druid-jnmy-test
 #    active: druid-jzzx-test
@@ -14,4 +14,4 @@ spring:
 #    active: druid-sft
 #    active: dev-jnlzjk
 #    active: druid-jshz
-     active: druid-hzjs-test
+#     active: druid-hzjs-test

+ 1 - 1
fs-qw-api/src/main/java/com/fs/app/controller/QwController.java

@@ -107,7 +107,7 @@ public class QwController {
             StringReader sr = new StringReader(sMsg);
             InputSource is = new InputSource(sr);
             Document document = db.parse(is);
-            qwDataCallbackService.dataCallback(document,corpId,qwCompany);
+            qwDataCallbackService.dataCallback(document,corpId,qwCompany, sMsg);
 
         }
         catch(Exception e)

+ 6 - 2
fs-qw-api/src/main/java/com/fs/app/service/QwDataCallbackService.java

@@ -1,7 +1,6 @@
 package com.fs.app.service;
 
 import cn.hutool.core.util.RandomUtil;
-import cn.hutool.core.util.StrUtil;
 import com.alibaba.fastjson.JSON;
 import com.fs.app.util.WXBizMsgCrypt;
 import com.fs.common.core.domain.AjaxResult;
@@ -27,6 +26,7 @@ import com.google.gson.JsonObject;
 import com.google.gson.JsonParser;
 import com.tencent.wework.Finance;
 import lombok.extern.slf4j.Slf4j;
+import org.jdom.output.XMLOutputter;
 import org.json.JSONObject;
 import org.redisson.api.RLock;
 import org.redisson.api.RedissonClient;
@@ -98,7 +98,7 @@ public class QwDataCallbackService {
     private ILeadService leadService;
 
     @Async
-    public void dataCallback( Document document,String corpId,QwCompany qwCompany) throws Exception {
+    public void dataCallback(Document document, String corpId, QwCompany qwCompany, String sMsg) throws Exception {
 
 
         Element root = document.getDocumentElement();
@@ -255,17 +255,21 @@ public class QwDataCallbackService {
 
                             break;
                         case "edit_external_contact":
+                            log.info("企业联系人时间变更,edit_external_contact:{}", sMsg);
                             qwExternalContactService.updateQwExternalContactByExternalUserId(root.getElementsByTagName("ExternalUserID").item(0).getTextContent(),root.getElementsByTagName("UserID").item(0).getTextContent(),corpId);
                             break;
                         case "del_external_contact":
+                            log.info("企业联系人时间变更,del_external_contact:{}", sMsg);
                             qwExternalContactService.deleteQwExternalContactByExternalUserId(root.getElementsByTagName("ExternalUserID").item(0).getTextContent(),root.getElementsByTagName("UserID").item(0).getTextContent(),corpId);
                             break;
                         case "del_follow_user":
+                            log.info("企业联系人时间变更,del_follow_user:{}", sMsg);
                             qwExternalContactService.deletefollowUserByExternalUserId(root.getElementsByTagName("ExternalUserID").item(0).getTextContent(),root.getElementsByTagName("UserID").item(0).getTextContent(),corpId);
                             // 广告线索处理
                             leadService.updateDeleteMemberLead(root.getElementsByTagName("ExternalUserID").item(0).getTextContent(),root.getElementsByTagName("UserID").item(0).getTextContent(),corpId);
                             break;
                         case "transfer_fail":
+                            log.info("企业联系人时间变更,transfer_fail:{}", sMsg);
                             qwExternalContactService.transferFailByExternalUserId(root.getElementsByTagName("ExternalUserID").item(0).getTextContent(),root.getElementsByTagName("UserID").item(0).getTextContent(),corpId,root.getElementsByTagName("FailReason").item(0).getTextContent());
                             break;
                     }

+ 19 - 0
fs-service/src/main/java/com/fs/qw/param/QwExternalContactManageParam.java

@@ -0,0 +1,19 @@
+package com.fs.qw.param;
+
+import lombok.Data;
+
+/**
+ * 企微客户关联会员拉黑状态修改参数
+ */
+@Data
+public class QwExternalContactManageParam {
+
+    /** 企微外部联系人主键 */
+    private Long id;
+
+    /** 管理状态:1正常 2已被总部拉黑 */
+    private Integer manageStatus;
+
+    /** 管理备注(拉黑原因) */
+    private String manageRemark;
+}

+ 5 - 0
fs-service/src/main/java/com/fs/qw/service/IQwExternalContactService.java

@@ -76,6 +76,11 @@ public interface IQwExternalContactService extends IService<QwExternalContact> {
      * @return 结果
      */
     public int updateQwExternalContact(QwExternalContact qwExternalContact);
+
+    /**
+     * 修改企微客户关联会员拉黑状态(写入 fs_user)
+     */
+    int updateExternalContactManageStatus(QwExternalContactManageParam param);
     public int updateQwExternalContactCallEdit(QwExternalContact qwExternalContact);
 
     /**

+ 23 - 0
fs-service/src/main/java/com/fs/qw/service/impl/QwExternalContactServiceImpl.java

@@ -851,6 +851,29 @@ public class QwExternalContactServiceImpl extends ServiceImpl<QwExternalContactM
 
     }
 
+    @Override
+    public int updateExternalContactManageStatus(QwExternalContactManageParam param) {
+        if (param == null || param.getId() == null || param.getManageStatus() == null) {
+            return 0;
+        }
+        if (param.getManageStatus() != 1 && param.getManageStatus() != 2) {
+            return 0;
+        }
+        QwExternalContact contact = qwExternalContactMapper.selectQwExternalContactById(param.getId());
+        if (contact == null || contact.getFsUserId() == null) {
+            return 0;
+        }
+        FsUser fsUser = new FsUser();
+        fsUser.setUserId(contact.getFsUserId());
+        fsUser.setManageStatus(param.getManageStatus());
+        if (param.getManageStatus() == 1) {
+            fsUser.setManageRemark("");
+        } else if (param.getManageRemark() != null) {
+            fsUser.setManageRemark(param.getManageRemark());
+        }
+        return fsUserMapper.updateFsUser(fsUser);
+    }
+
     @Override
     public int updateQwExternalContactCallEdit(QwExternalContact qwExternalContact) {
         return qwExternalContactMapper.updateQwExternalContact(qwExternalContact);