Bladeren bron

cid写表

lmx 4 dagen geleden
bovenliggende
commit
5f208b43ee
1 gewijzigde bestanden met toevoegingen van 17 en 6 verwijderingen
  1. 17 6
      fs-wx-task/src/main/java/com/fs/app/service/WxTaskService.java

+ 17 - 6
fs-wx-task/src/main/java/com/fs/app/service/WxTaskService.java

@@ -19,6 +19,7 @@ import com.fs.company.service.ICompanyVoiceRoboticService;
 import com.fs.company.service.ICompanyWxAccountService;
 import com.fs.company.service.ICompanyWxClientService;
 import com.fs.company.service.ICompanyWxDialogService;
+import com.fs.company.service.impl.CompanyVoiceRoboticWxServiceImpl;
 import com.fs.company.util.ObjectPlaceholderResolver;
 import com.fs.company.vo.SendMsgVo;
 import com.fs.course.config.WxConfig;
@@ -59,6 +60,7 @@ public class WxTaskService {
     private final CompanyVoiceRoboticCalleesMapper companyVoiceRoboticCalleesMapper;
     private final CompanyVoiceRoboticWxMapper companyVoiceRoboticWxMapper;
     private final CompanyWxClientMapper companyWxClientMapper;
+    private final CompanyVoiceRoboticWxServiceImpl companyVoiceRoboticWxServiceImpl;
     private RedissonClient redissonClient;
 
     private final ExecutorService cidExcutor = new ThreadPoolExecutor(
@@ -269,33 +271,42 @@ public class WxTaskService {
      * @param robotic
      */
     @Transactional
-    public List<CompanyWxClient> allocateWx(CompanyVoiceRobotic robotic){
+    public List<CompanyWxClient> allocateWx(CompanyVoiceRobotic robotic) {
         List<CompanyWxClient> resArr = new ArrayList<>();
         //找到任务指定的微信用户
         List<CompanyVoiceRoboticWx> companyVoiceRoboticWxes = companyVoiceRoboticWxMapper.selectByRoboticIdWithGroupBy(robotic.getId());
         Integer totalSize = 0;
-        if(null != companyVoiceRoboticWxes && !companyVoiceRoboticWxes.isEmpty()){
-            totalSize =  companyVoiceRoboticWxes.size();
-        } else{
+        if (null != companyVoiceRoboticWxes && !companyVoiceRoboticWxes.isEmpty()) {
+            totalSize = companyVoiceRoboticWxes.size();
+        } else {
             log.error("分配对象空,数据异常");
             throw new RuntimeException("没有找到任务指定的微信用户");
         }
         List<CompanyWxClient> companyWxClients = companyWxClientMapper.selectListByRoboticId(robotic.getId());
-        if(null == companyWxClients || companyWxClients.isEmpty()){
+        if (null == companyWxClients || companyWxClients.isEmpty()) {
             log.error("分配个微空,数据异常");
             throw new RuntimeException("没有找到需要分配微信用户");
         }
         Integer allocateIndex = 0;
+        List<CompanyVoiceRoboticWx> updateCompanyVoiceRoboticWxList = new ArrayList<>();
         //分配客户
         for (CompanyWxClient companyWxClient : companyWxClients) {
-            CompanyVoiceRoboticWx wx = companyVoiceRoboticWxes.get(allocateIndex++ % totalSize);
+            CompanyVoiceRoboticWx wx = new CompanyVoiceRoboticWx();
+            wx = companyVoiceRoboticWxes.get(allocateIndex++ % totalSize);
             companyWxClient.setRoboticWxId(wx.getId());
             companyWxClient.setAccountId(wx.getAccountId());
             companyWxClient.setDialogId(wx.getWxDialogId());
             resArr.add(companyWxClient);
+            if (wx.getNum() == null) {
+                wx.setNum(1);
+            } else {
+                wx.setNum(wx.getNum() + 1);
+            }
+            updateCompanyVoiceRoboticWxList.add(wx);
         }
         //保存数据库
         companyWxClientService.updateBatchById(companyWxClients);
+        companyVoiceRoboticWxServiceImpl.updateBatchById(updateCompanyVoiceRoboticWxList);
         return resArr;
     }