|
@@ -72,6 +72,10 @@ public class QwExternalContactTransferCompanyAuditServiceImpl extends ServiceImp
|
|
|
throw new ServiceException("接替员工不能为本公司员工");
|
|
throw new ServiceException("接替员工不能为本公司员工");
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+ if (qwUser.getCompanyUserId() == null) {
|
|
|
|
|
+ throw new ServiceException("接替员工必须绑定销售");
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
List<QwExternalContact> qwExternalContacts = new ArrayList<>();
|
|
List<QwExternalContact> qwExternalContacts = new ArrayList<>();
|
|
|
// 为1转移员工下客户 其余转移转递的客户
|
|
// 为1转移员工下客户 其余转移转递的客户
|
|
|
if (param.getType() == 1) {
|
|
if (param.getType() == 1) {
|
|
@@ -90,6 +94,11 @@ public class QwExternalContactTransferCompanyAuditServiceImpl extends ServiceImp
|
|
|
throw new ServiceException("只能转移本公司下的客户");
|
|
throw new ServiceException("只能转移本公司下的客户");
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+ boolean hasNotCorpId = qwExternalContacts.stream().anyMatch(c -> !c.getCorpId().equals(qwUser.getCorpId()));
|
|
|
|
|
+ if (hasNotCorpId) {
|
|
|
|
|
+ throw new ServiceException("只能转移同主体下的客户");
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
if (qwExternalContacts.isEmpty()) {
|
|
if (qwExternalContacts.isEmpty()) {
|
|
|
throw new ServiceException("请选择需要分配的客户");
|
|
throw new ServiceException("请选择需要分配的客户");
|
|
|
}
|
|
}
|
|
@@ -145,6 +154,7 @@ public class QwExternalContactTransferCompanyAuditServiceImpl extends ServiceImp
|
|
|
auditUser.setQwUserExtId(userQwUser.getQwUserId());
|
|
auditUser.setQwUserExtId(userQwUser.getQwUserId());
|
|
|
auditUser.setQwUserName(userQwUser.getQwUserName());
|
|
auditUser.setQwUserName(userQwUser.getQwUserName());
|
|
|
auditUser.setCreateTime(LocalDateTime.now());
|
|
auditUser.setCreateTime(LocalDateTime.now());
|
|
|
|
|
+ auditUser.setNeedClearTag(param.getNeedClearTag());
|
|
|
|
|
|
|
|
return auditUser;
|
|
return auditUser;
|
|
|
}).collect(Collectors.toList());
|
|
}).collect(Collectors.toList());
|
|
@@ -195,58 +205,32 @@ public class QwExternalContactTransferCompanyAuditServiceImpl extends ServiceImp
|
|
|
* 转接用户
|
|
* 转接用户
|
|
|
*/
|
|
*/
|
|
|
private void transferCustomer(QwExternalContactTransferCompanyAudit auditInfo) {
|
|
private void transferCustomer(QwExternalContactTransferCompanyAudit auditInfo) {
|
|
|
|
|
+ String content = StringUtils.isNotBlank(auditInfo.getContent()) ? auditInfo.getContent() :
|
|
|
|
|
+ "您好,您的服务已升级,后续将由我的同事接替我的工作,继续为您服务。";
|
|
|
List<QwExternalContactTransferCompanyAuditUser> auditUserList = auditUserService.getListByAuditId(auditInfo.getId());
|
|
List<QwExternalContactTransferCompanyAuditUser> auditUserList = auditUserService.getListByAuditId(auditInfo.getId());
|
|
|
- outer:
|
|
|
|
|
- for (QwExternalContactTransferCompanyAuditUser auditUser : auditUserList) {
|
|
|
|
|
|
|
+ auditUserList.parallelStream().forEach(auditUser -> {
|
|
|
try {
|
|
try {
|
|
|
// 已提交的不再处理
|
|
// 已提交的不再处理
|
|
|
if (auditUser.getStatus() != 0) {
|
|
if (auditUser.getStatus() != 0) {
|
|
|
- continue;
|
|
|
|
|
|
|
+ return;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+ List<QwCustomer> customer;
|
|
|
|
|
+ int code;
|
|
|
|
|
+ String message;
|
|
|
|
|
+
|
|
|
// 在职
|
|
// 在职
|
|
|
if (auditInfo.getTransferType() == 1) {
|
|
if (auditInfo.getTransferType() == 1) {
|
|
|
QwTransferCustomerParam qwTransferCustomerParam = new QwTransferCustomerParam();
|
|
QwTransferCustomerParam qwTransferCustomerParam = new QwTransferCustomerParam();
|
|
|
- String content = auditInfo.getContent();
|
|
|
|
|
- if(StringUtils.isBlank(content)){
|
|
|
|
|
- content = "您好,您的服务已升级,后续将由我的同事接替我的工作,继续为您服务。";
|
|
|
|
|
- }
|
|
|
|
|
qwTransferCustomerParam.setTransfer_success_msg(content);
|
|
qwTransferCustomerParam.setTransfer_success_msg(content);
|
|
|
qwTransferCustomerParam.setHandover_userid(auditUser.getQwUserExtId());
|
|
qwTransferCustomerParam.setHandover_userid(auditUser.getQwUserExtId());
|
|
|
qwTransferCustomerParam.setTakeover_userid(auditInfo.getQwUserExtId());
|
|
qwTransferCustomerParam.setTakeover_userid(auditInfo.getQwUserExtId());
|
|
|
qwTransferCustomerParam.setExternal_userid(Collections.singletonList(auditUser.getExternalUserId()));
|
|
qwTransferCustomerParam.setExternal_userid(Collections.singletonList(auditUser.getExternalUserId()));
|
|
|
QwTransferCustomerResult qwTransferCustomerResult = qwApiService.transferCustomer(qwTransferCustomerParam, auditInfo.getCorpId());
|
|
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) {
|
|
else if (auditInfo.getTransferType() == 2) {
|
|
@@ -254,44 +238,50 @@ public class QwExternalContactTransferCompanyAuditServiceImpl extends ServiceImp
|
|
|
qwTransferCustomerParam.setHandover_userid(auditUser.getQwUserExtId());
|
|
qwTransferCustomerParam.setHandover_userid(auditUser.getQwUserExtId());
|
|
|
qwTransferCustomerParam.setTakeover_userid(auditInfo.getQwUserExtId());
|
|
qwTransferCustomerParam.setTakeover_userid(auditInfo.getQwUserExtId());
|
|
|
qwTransferCustomerParam.setExternal_userid(Collections.singletonList(auditUser.getExternalUserId()));
|
|
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);
|
|
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) {
|
|
} catch (Exception e) {
|
|
|
auditUser.setRemark("接替失败: " + e.getMessage());
|
|
auditUser.setRemark("接替失败: " + e.getMessage());
|
|
|
auditUserService.updateById(auditUser);
|
|
auditUserService.updateById(auditUser);
|
|
|
}
|
|
}
|
|
|
- }
|
|
|
|
|
|
|
+ });
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
/**
|
|
@@ -335,4 +325,9 @@ public class QwExternalContactTransferCompanyAuditServiceImpl extends ServiceImp
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
+
|
|
|
|
|
+ @Override
|
|
|
|
|
+ public List<QwExternalContactTransferCompanyAudit> selectQwExternalContactTransferCompanyAuditLists() {
|
|
|
|
|
+ return baseMapper.selectQwExternalContactTransferCompanyAuditLists();
|
|
|
|
|
+ }
|
|
|
}
|
|
}
|