Procházet zdrojové kódy

修改客服值班,同步值班获客链接

zoujiajian před 2 roky
rodič
revize
4a2a837515

+ 5 - 0
netflix-service/src/main/java/com/cyksj/service/corp/CorpCustomerAcquisitionLinkService.java

@@ -19,4 +19,9 @@ public interface CorpCustomerAcquisitionLinkService extends IService<CorpCustome
     void del(Long id) throws Exception;
 
     void handleCorpLinkSchedulerJob() throws Exception;
+
+    /**
+     * 同步值班客服
+     */
+    void syncDutyLinkUrl();
 }

+ 20 - 0
netflix-service/src/main/java/com/cyksj/service/corp/impl/CorpCustomerAcquisitionLinkServiceImpl.java

@@ -1,15 +1,18 @@
 package com.cyksj.service.corp.impl;
 
+import cn.hutool.core.collection.CollUtil;
 import cn.hutool.core.util.StrUtil;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.cyksj.common.constant.Constant;
 import com.cyksj.common.exception.BusinessRuntimeException;
 import com.cyksj.common.util.Jsons;
+import com.cyksj.mapper.SysCorpFollowRelateMapper;
 import com.cyksj.mapper.corp.CorpCustomerAcquisitionLinkMapper;
 import com.cyksj.mapper.corp.CorpCustomerAcquisitionLinkPopularizeMapper;
 import com.cyksj.model.entity.CorpCustomerAcquisitionLink;
 import com.cyksj.model.entity.CorpCustomerAcquisitionLinkPopularize;
+import com.cyksj.model.entity.SysCorpFollowRelate;
 import com.cyksj.model.request.corp.link.Range;
 import com.cyksj.model.request.corp.link.WxCpLinkAdd;
 import com.cyksj.model.request.corp.link.WxCpLinkAddResp;
@@ -26,6 +29,7 @@ import org.springframework.transaction.annotation.Transactional;
 
 import java.util.List;
 import java.util.Optional;
+import java.util.stream.Collectors;
 
 /**
  * @author chan
@@ -42,6 +46,8 @@ public class CorpCustomerAcquisitionLinkServiceImpl extends ServiceImpl<CorpCust
 
     private final SysCorpServiceRelateService sysCorpServiceRelateService;
 
+    private final SysCorpFollowRelateMapper sysCorpFollowRelateMapper;
+
     @Override
     @Transactional(rollbackFor = Throwable.class)
     public void add(CorpCustomerAcquisitionLink corpCustomerAcquisitionLink) throws Exception {
@@ -126,4 +132,18 @@ public class CorpCustomerAcquisitionLinkServiceImpl extends ServiceImpl<CorpCust
         //立即执行客服值班定时任务
         XxlJobUtil.executeMarkDynamicRuleTagJob(XxlJobInfo.getExecuteTaskInstance(Constant.CORP_LINK_JOB_ID, StrUtil.EMPTY).toString());
     }
+
+    @Override
+    public void syncDutyLinkUrl() {
+        //获取目前可用值班客服
+        List<SysCorpFollowRelate> sysCorpFollowRelates = sysCorpFollowRelateMapper.selectList(Wrappers.lambdaQuery(SysCorpFollowRelate.class)
+                .eq(SysCorpFollowRelate::getStatus, 1)
+                .eq(SysCorpFollowRelate::getDeleted, 1));
+        List<String> userIds = sysCorpFollowRelates.stream().map((e) -> e.getId().toString()).collect(Collectors.toList());
+        if (CollUtil.isNotEmpty(userIds)) {
+            this.update(Wrappers.lambdaUpdate(CorpCustomerAcquisitionLink.class)
+                    .eq(CorpCustomerAcquisitionLink::getUserList, userIds)
+                    .eq(CorpCustomerAcquisitionLink::getIsDuty, 1));
+        }
+    }
 }

+ 8 - 0
netflix-web/src/main/java/com/cyksj/web/controller/sys/SysConfigController.java

@@ -26,6 +26,7 @@ import com.cyksj.model.entity.SysConfig;
 import com.cyksj.model.entity.SysConfigChangeRecord;
 import com.cyksj.model.views.HelpQuestionClassificationView;
 import com.cyksj.redis.RedisService;
+import com.cyksj.service.corp.CorpCustomerAcquisitionLinkService;
 import com.cyksj.service.sys.SysConfigChangeRecordService;
 import com.cyksj.service.sys.SysConfigService;
 import com.cyksj.web.util.StpUserUtil;
@@ -69,6 +70,8 @@ public class SysConfigController {
 
 	private final CpsUserAdRecordMapper cpsUserAdRecordMapper;
 
+	private final CorpCustomerAcquisitionLinkService corpCustomerAcquisitionLinkService;
+
 	@GetMapping("/get")
 	public Result<SysConfig> get(String key) {
 		SysConfig sysConfig = sysConfigService.getOne(Wrappers.lambdaQuery(SysConfig.class).eq(SysConfig::getSysKey, key).last(" limit 1"));
@@ -113,6 +116,11 @@ public class SysConfigController {
 
 		sysConfigService.updateById(sysConfig);
 
+		//同步获客值班客服
+		if (sysConfig.getSysKey() == Constant.serviceKeys.get(0)) {
+			corpCustomerAcquisitionLinkService.syncDutyLinkUrl();
+		}
+
 		if (changeRecord.getChangeCsImg()) {
 			//立即执行客服值班定时任务
 			XxlJobUtil.executeMarkDynamicRuleTagJob(XxlJobInfo.getExecuteTaskInstance(Constant.CORP_LINK_JOB_ID, StrUtil.EMPTY).toString());