Sfoglia il codice sorgente

龙虾取消绑定龙虾标签

lk 1 giorno fa
parent
commit
cc03cdd382

+ 11 - 0
fs-company/src/main/java/com/fs/company/controller/companyWorkflow/CompanyWorkflowTagTemplateBindingController.java

@@ -126,6 +126,17 @@ public class CompanyWorkflowTagTemplateBindingController extends BaseController
                 param.getQwCorpId(), param.getUserIds(), param.getTagCodes(),loginUser.getUser().getUserId());
     }
 
+    /**
+     * 批量取消龙虾标签给企微客户
+     */
+    @PostMapping("/tag-binding/batch-unbind-lobster-tag")
+    public AjaxResult batchUnBindLobsterTag(@RequestBody BatchBindLobsterTagParam param) {
+        LoginUser loginUser = tokenService.getLoginUser(ServletUtils.getRequest());
+        return tagTemplateBindingService.batchUnBindLobsterTag(
+                loginUser.getCompany().getCompanyId(), loginUser.getUsername(),
+                param.getQwCorpId(), param.getUserIds(), param.getTagCodes(),loginUser.getUser().getUserId());
+    }
+
     /**
      * 企微客户获取龙虾标签
      */

+ 2 - 0
fs-service/src/main/java/com/fs/company/service/ICompanyTagTemplateBindingService.java

@@ -56,4 +56,6 @@ public interface ICompanyTagTemplateBindingService {
     AjaxResult batchBindLobsterTag(Long companyId, String userName, String qwCorpId, List<Long> externalContactIds, List<String> tagCodes,Long companyUserId);
 
     AjaxResult lobsterTags(List<Long> userIds, Long userId, Long companyId);
+
+    AjaxResult batchUnBindLobsterTag(Long companyId, String username, String qwCorpId, List<Long> userIds, List<String> tagCodes, Long userId);
 }

+ 25 - 0
fs-service/src/main/java/com/fs/company/service/impl/CompanyTagTemplateBindingServiceImpl.java

@@ -2,6 +2,7 @@ package com.fs.company.service.impl;
 
 import cn.hutool.core.map.MapUtil;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
 import com.fasterxml.jackson.databind.JsonNode;
 import com.fasterxml.jackson.databind.ObjectMapper;
 import com.fs.common.core.domain.AjaxResult;
@@ -409,6 +410,30 @@ public class CompanyTagTemplateBindingServiceImpl implements ICompanyTagTemplate
         return AjaxResult.success("已为 " + externalContactIds.size() + " 个客户添加 " + targetBindings.size() + " 个龙虾标签");
     }
 
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public AjaxResult batchUnBindLobsterTag(Long companyId, String userName, String qwCorpId, List<Long> externalContactIds,
+                                          List<String> tagCodes,Long companyUserId) {
+        if (externalContactIds == null || externalContactIds.isEmpty()) {
+            return AjaxResult.error("请勾选需要取消龙虾标签的客户");
+        }
+
+        List<Long> collect = qwExternalContactMapper.selectQwExternalContactByIds(externalContactIds)
+                .stream().map(QwExternalContact::getQwUserId)
+                .collect(Collectors.toList(
+                ));
+
+        int update = companyWorkflowLobsterTaskMapper.update(null, new LambdaUpdateWrapper<CompanyWorkflowLobsterTask>()
+                .in(CompanyWorkflowLobsterTask::getQwUserId, collect).eq(CompanyWorkflowLobsterTask::getDelFlag, 0)
+                .set(CompanyWorkflowLobsterTask::getDelFlag, 1));
+        int update1 = companyLobsterTagUserRelMapper.update(null, new LambdaUpdateWrapper<CompanyLobsterTagUserRel>()
+                .in(CompanyLobsterTagUserRel::getQwUserId, collect).eq(CompanyLobsterTagUserRel::getDelFlag, 0)
+                .set(CompanyLobsterTagUserRel::getDelFlag, 1));
+        log.info("批量删除龙虾标签成功, companyId={}, externalContactCount={},taskCount={},relCount={}",
+                companyId, externalContactIds.size(),update,update1 );
+        return AjaxResult.success("已为 " + externalContactIds.size() + " 个客户删除 " + update + " 个龙虾标签");
+    }
+
     @Override
     public AjaxResult lobsterTags(List<Long> userIds, Long userId, Long companyId) {
         return AjaxResult.success(companyLobsterTagUserRelMapper.selectLobsterTagsByExId( userIds,  userId,  companyId));