Procházet zdrojové kódy

跨公司接替审核优化

Long před 1 týdnem
rodič
revize
5ae7029fe4

+ 44 - 64
fs-service/src/main/java/com/fs/qw/service/impl/QwExternalContactTransferCompanyAuditServiceImpl.java

@@ -196,58 +196,32 @@ public class QwExternalContactTransferCompanyAuditServiceImpl extends ServiceImp
      * 转接用户
      */
     private void transferCustomer(QwExternalContactTransferCompanyAudit auditInfo) {
+        String content = StringUtils.isNotBlank(auditInfo.getContent()) ? auditInfo.getContent() :
+                "您好,您的服务已升级,后续将由我的同事接替我的工作,继续为您服务。";
         List<QwExternalContactTransferCompanyAuditUser> auditUserList = auditUserService.getListByAuditId(auditInfo.getId());
-        outer:
-        for (QwExternalContactTransferCompanyAuditUser auditUser : auditUserList) {
+        auditUserList.parallelStream().forEach(auditUser -> {
             try {
                 // 已提交的不再处理
                 if (auditUser.getStatus() != 0) {
-                    continue;
+                    return;
                 }
 
+                List<QwCustomer> customer;
+                int code;
+                String message;
+
                 // 在职
                 if (auditInfo.getTransferType() == 1) {
                     QwTransferCustomerParam qwTransferCustomerParam = new QwTransferCustomerParam();
-                    String content = auditInfo.getContent();
-                    if(StringUtils.isBlank(content)){
-                        content = "您好,您的服务已升级,后续将由我的同事接替我的工作,继续为您服务。";
-                    }
                     qwTransferCustomerParam.setTransfer_success_msg(content);
                     qwTransferCustomerParam.setHandover_userid(auditUser.getQwUserExtId());
                     qwTransferCustomerParam.setTakeover_userid(auditInfo.getQwUserExtId());
                     qwTransferCustomerParam.setExternal_userid(Collections.singletonList(auditUser.getExternalUserId()));
                     QwTransferCustomerResult qwTransferCustomerResult = qwApiService.transferCustomer(qwTransferCustomerParam, auditInfo.getCorpId());
 
-                    if (qwTransferCustomerResult.getErrcode() != 0) {
-                        auditUser.setRemark("接替失败: " + qwTransferCustomerResult.getErrmsg());
-                        auditUserService.updateById(auditUser);
-                        continue;
-                    }
-
-                    List<QwCustomer> customer = qwTransferCustomerResult.getCustomer();
-                    if (Objects.isNull(customer) || customer.isEmpty()) {
-                        auditUser.setRemark("接替失败: 未获取到数据");
-                        auditUserService.updateById(auditUser);
-                        continue;
-                    }
-
-                    for (QwCustomer qwCustomer : customer) {
-                        if (qwCustomer.getErrcode() != 0) {
-                            auditUser.setRemark("接替失败: " + qwCustomer.getErrcode());
-                            auditUserService.updateById(auditUser);
-                            continue outer;
-                        }
-
-                        QwExternalContact qwExternal = new QwExternalContact();
-                        qwExternal.setStatus(2);
-                        qwExternal.setTransferStatus(2);
-                        qwExternal.setId(auditUser.getExternalId());
-                        contactMapper.updateQwExternalContact(qwExternal);
-
-                        auditUser.setStatus(2);
-                        auditUser.setReplaceTime(LocalDateTime.now());
-                        auditUserService.updateById(auditUser);
-                    }
+                    code = qwTransferCustomerResult.getErrcode();
+                    message = qwTransferCustomerResult.getErrmsg();
+                    customer = qwTransferCustomerResult.getCustomer();
                 }
                 // 离职
                 else if (auditInfo.getTransferType() == 2) {
@@ -255,44 +229,50 @@ public class QwExternalContactTransferCompanyAuditServiceImpl extends ServiceImp
                     qwTransferCustomerParam.setHandover_userid(auditUser.getQwUserExtId());
                     qwTransferCustomerParam.setTakeover_userid(auditInfo.getQwUserExtId());
                     qwTransferCustomerParam.setExternal_userid(Collections.singletonList(auditUser.getExternalUserId()));
-                    QwTransferCustomerResignedResult qwTransferCustomerResignedParam = qwApiService.resignedTransferCustomer(qwTransferCustomerParam, auditInfo.getCorpId());
+                    QwTransferCustomerResignedResult qwTransferCustomerResignedResult = qwApiService.resignedTransferCustomer(qwTransferCustomerParam, auditInfo.getCorpId());
+
+                    code = qwTransferCustomerResignedResult.getErrcode();
+                    message = qwTransferCustomerResignedResult.getErrmsg();
+                    customer = qwTransferCustomerResignedResult.getCustomer();
+                } else {
+                    auditUser.setRemark("接替失败: 接替类型错误");
+                    auditUserService.updateById(auditUser);
+                    return;
+                }
 
-                    if (qwTransferCustomerResignedParam.getErrcode() != 0) {
-                        auditUser.setRemark("接替失败: " + qwTransferCustomerResignedParam.getErrmsg());
-                        auditUserService.updateById(auditUser);
-                        continue;
-                    }
+                if (code != 0) {
+                    auditUser.setRemark("接替失败: " + message);
+                    auditUserService.updateById(auditUser);
+                    return;
+                }
+
+                if (Objects.isNull(customer) || customer.isEmpty()) {
+                    auditUser.setRemark("接替失败: 未获取到数据");
+                    auditUserService.updateById(auditUser);
+                    return;
+                }
 
-                    List<QwCustomer> customer = qwTransferCustomerResignedParam.getCustomer();
-                    if (Objects.isNull(customer) || customer.isEmpty()) {
-                        auditUser.setRemark("接替失败: 未获取到数据");
+                for (QwCustomer qwCustomer : customer) {
+                    if (qwCustomer.getErrcode() != 0) {
+                        auditUser.setRemark("接替失败: " + qwCustomer.getErrcode());
                         auditUserService.updateById(auditUser);
-                        continue;
+                        return;
                     }
 
-                    for (QwCustomer qwCustomer : customer) {
-                        if (qwCustomer.getErrcode() != 0) {
-                            auditUser.setRemark("接替失败: " + qwCustomer.getErrcode());
-                            auditUserService.updateById(auditUser);
-                            continue outer;
-                        }
-
-                        QwExternalContact qwExternal = new QwExternalContact();
-                        qwExternal.setStatus(2);
-                        qwExternal.setTransferStatus(2);
-                        qwExternal.setId(auditUser.getExternalId());
-                        contactMapper.updateQwExternalContact(qwExternal);
+                    QwExternalContact qwExternal = new QwExternalContact();
+                    qwExternal.setStatus(2);
+                    qwExternal.setTransferStatus(2);
+                    qwExternal.setId(auditUser.getExternalId());
+                    contactMapper.updateQwExternalContact(qwExternal);
 
-                        auditUser.setStatus(2);
-                        auditUser.setReplaceTime(LocalDateTime.now());
-                        auditUserService.updateById(auditUser);
-                    }
+                    auditUser.setStatus(2);
+                    auditUserService.updateById(auditUser);
                 }
             } catch (Exception e) {
                 auditUser.setRemark("接替失败: " + e.getMessage());
                 auditUserService.updateById(auditUser);
             }
-        }
+        });
     }
 
     /**

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

@@ -23,6 +23,6 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         where au.status = 2
           and au.external_user_id = #{externalUserID}
           and ca.corp_id = #{corpId}
-          and ca.qw_user_ext_id = #{takeoverUserId}
+          and au.qw_user_ext_id = #{takeoverUserId}
     </select>
 </mapper>