|
|
@@ -1075,81 +1075,18 @@ public class QwUserServiceAsyncHelperImpl implements IQwUserServiceAsyncHelper {
|
|
|
|
|
|
|
|
|
/**
|
|
|
- * 企业微信客户
|
|
|
- *
|
|
|
- * @param param
|
|
|
+ * 企业微信客户 - 异步在职转接
|
|
|
*/
|
|
|
@Override
|
|
|
@Async
|
|
|
public void transfer(TransferParam param) {
|
|
|
try {
|
|
|
- log.info("开始分配客户Async");
|
|
|
- QwUser qwUser = qwUserMapper.selectQwUserById(param.getUserId());
|
|
|
- Integer err = 0;
|
|
|
- Integer suc = 0;
|
|
|
- if (qwUser != null) {
|
|
|
- List<Long> ids = param.getIds();
|
|
|
- for (Long id : ids) {
|
|
|
- QwExternalContact qwExternalContact = qwExternalContactMapper.selectQwExternalContactById(id);
|
|
|
- if (qwExternalContact == null || qwExternalContact.getUserId().equals(qwUser.getQwUserId())) {
|
|
|
- err++;
|
|
|
- } else {
|
|
|
- QwTransferCustomerParam qwTransferCustomerParam = new QwTransferCustomerParam();
|
|
|
- String content = param.getContent();
|
|
|
- if (content == null || content.isEmpty()) {
|
|
|
- content = "您好,您的服务已升级,后续将由我的同事接替我的工作,继续为您服务。";
|
|
|
- }
|
|
|
- qwTransferCustomerParam.setTransfer_success_msg(content);
|
|
|
- qwTransferCustomerParam.setHandover_userid(qwExternalContact.getUserId());
|
|
|
- qwTransferCustomerParam.setTakeover_userid(qwUser.getQwUserId());
|
|
|
- qwTransferCustomerParam.setExternal_userid(Arrays.asList(qwExternalContact.getExternalUserId()));
|
|
|
- QwTransferCustomerResult qwTransferCustomerResult = qwApiService.transferCustomer(qwTransferCustomerParam, param.getCorpId());
|
|
|
-
|
|
|
- if (qwTransferCustomerResult.getErrcode() == 0) {
|
|
|
- List<QwCustomer> customer = qwTransferCustomerResult.getCustomer();
|
|
|
- if (customer != null && customer.size() > 0) {
|
|
|
- for (QwCustomer qwCustomer : customer) {
|
|
|
- if (qwCustomer.getErrcode() == 0) {
|
|
|
- QwExternalContactTransferLog qwExternalContactTransferLog = new QwExternalContactTransferLog();
|
|
|
- // qwExternalContactTransferLog.setCompanyId(param.getCorpId());
|
|
|
- qwExternalContactTransferLog.setExternalContactId(id);
|
|
|
- qwExternalContactTransferLog.setCompanyUserId(qwExternalContact.getCompanyUserId());
|
|
|
- qwExternalContactTransferLog.setCreateTime(new Date());
|
|
|
- qwExternalContactTransferLog.setStatus(2);
|
|
|
- qwExternalContactTransferLog.setQwUserId(qwUser.getId());
|
|
|
- qwExternalContactTransferLog.setHandoverUserId(qwExternalContact.getUserId());
|
|
|
- qwExternalContactTransferLog.setTakeoverUserId(qwUser.getQwUserId());
|
|
|
- qwExternalContactTransferLog.setCorpId(param.getCorpId());
|
|
|
- qwExternalContactTransferLog.setExternalUserId(qwCustomer.getExternal_userid());
|
|
|
- qwExternalContactTransferLog.setHandoverQwUserId(qwExternalContact.getQwUserId());
|
|
|
- qwExternalContactTransferLog.setNeedClearTag(param.getNeedClearTag());
|
|
|
- qwExternalContactTransferLog.setFsUserId(qwExternalContact.getFsUserId());
|
|
|
- qwExternalContactTransferLogMapper.insertQwExternalContactTransferLog(qwExternalContactTransferLog);
|
|
|
- QwExternalContact qwExternal = new QwExternalContact();
|
|
|
- qwExternal.setStatus(2);
|
|
|
- qwExternal.setTransferStatus(2);
|
|
|
- qwExternal.setId(qwExternalContact.getId());
|
|
|
- qwExternalContactMapper.updateQwExternalContact(qwExternal);
|
|
|
- suc++;
|
|
|
- } else {
|
|
|
- err++;
|
|
|
- }
|
|
|
- }
|
|
|
- } else {
|
|
|
- err++;
|
|
|
- }
|
|
|
- } else {
|
|
|
- logger.error("在职转接失败-" + qwTransferCustomerResult.getErrmsg() + "|" + param.getCorpId());
|
|
|
- err++;
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- log.info("在职转接 分配客户成功");
|
|
|
- log.info("接替成功:" + suc + ",接替失败:" + err);
|
|
|
+ int size = param.getIds() != null ? param.getIds().size() : 0;
|
|
|
+ log.info("开始异步在职转接,客户数:{}", size);
|
|
|
+ qwExternalContactService.transfer(param);
|
|
|
+ log.info("异步在职转接完成,客户数:{}", size);
|
|
|
} catch (Exception e) {
|
|
|
- e.printStackTrace();
|
|
|
- log.info("在职转接 分配客户失败");
|
|
|
+ log.error("异步在职转接失败", e);
|
|
|
}
|
|
|
}
|
|
|
|
|
|
@@ -1191,84 +1128,19 @@ public class QwUserServiceAsyncHelperImpl implements IQwUserServiceAsyncHelper {
|
|
|
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * 企业微信客户 - 异步离职转接
|
|
|
+ */
|
|
|
@Override
|
|
|
@Async
|
|
|
public void resignedTransfer(ResignedTransferParam param) {
|
|
|
try {
|
|
|
-
|
|
|
- log.info("离职继承分配客户Async");
|
|
|
-
|
|
|
- QwUser qwUser = qwUserMapper.selectQwUserById(param.getUserId());
|
|
|
- Integer err = 0;
|
|
|
- Integer suc = 0;
|
|
|
- if (qwUser != null) {
|
|
|
- List<Long> ids = param.getIds();
|
|
|
- for (Long id : ids) {
|
|
|
- QwExternalContact qwExternalContact = qwExternalContactMapper.selectQwExternalContactById(id);
|
|
|
-
|
|
|
- if (qwExternalContact == null || qwExternalContact.getUserId().equals(qwUser.getQwUserId())) {
|
|
|
- err++;
|
|
|
- } else {
|
|
|
- QwTransferCustomerResignedParam qwTransferCustomerParam = new QwTransferCustomerResignedParam();
|
|
|
- qwTransferCustomerParam.setHandover_userid(qwExternalContact.getUserId());
|
|
|
- qwTransferCustomerParam.setTakeover_userid(qwUser.getQwUserId());
|
|
|
- qwTransferCustomerParam.setExternal_userid(Arrays.asList(qwExternalContact.getExternalUserId()));
|
|
|
- QwTransferCustomerResignedResult qwTransferCustomerResignedParam = qwApiService.resignedTransferCustomer(qwTransferCustomerParam, param.getCorpId());
|
|
|
-
|
|
|
- if (qwTransferCustomerResignedParam.getErrcode() == 0) {
|
|
|
- List<QwCustomer> customer = qwTransferCustomerResignedParam.getCustomer();
|
|
|
- if (customer != null && customer.size() > 0) {
|
|
|
- for (QwCustomer qwCustomer : customer) {
|
|
|
- if (qwCustomer.getErrcode() == 0) {
|
|
|
- QwExternalContactTransferLog qwExternalContactTransferLog = new QwExternalContactTransferLog();
|
|
|
- // qwExternalContactTransferLog.setCompanyId(param.getCorpId());
|
|
|
- qwExternalContactTransferLog.setExternalContactId(id);
|
|
|
- qwExternalContactTransferLog.setCompanyUserId(qwExternalContact.getCompanyUserId());
|
|
|
- qwExternalContactTransferLog.setCreateTime(new Date());
|
|
|
- qwExternalContactTransferLog.setStatus(2);
|
|
|
- qwExternalContactTransferLog.setQwUserId(qwUser.getId());
|
|
|
- qwExternalContactTransferLog.setHandoverUserId(qwExternalContact.getUserId());
|
|
|
- qwExternalContactTransferLog.setTakeoverUserId(qwUser.getQwUserId());
|
|
|
- qwExternalContactTransferLog.setCorpId(param.getCorpId());
|
|
|
- qwExternalContactTransferLog.setExternalUserId(qwCustomer.getExternal_userid());
|
|
|
- qwExternalContactTransferLog.setHandoverQwUserId(qwExternalContact.getQwUserId());
|
|
|
- qwExternalContactTransferLog.setNeedClearTag(param.getNeedClearTag());
|
|
|
- qwExternalContactTransferLog.setFsUserId(qwExternalContact.getFsUserId());
|
|
|
- qwExternalContactTransferLogMapper.insertQwExternalContactTransferLog(qwExternalContactTransferLog);
|
|
|
- QwExternalContact qwExternal = new QwExternalContact();
|
|
|
- qwExternal.setStatus(2);
|
|
|
- qwExternal.setTransferStatus(2);
|
|
|
- qwExternal.setId(qwExternalContact.getId());
|
|
|
- qwExternalContactMapper.updateQwExternalContact(qwExternal);
|
|
|
- //查询是否绑定公司码
|
|
|
- /*CompanyCompanyFsuser companyCompanyFsuser = companyCompanyFsuserMapper.getInfoByUserId(String.valueOf(qwExternalContact.getFsUserId()));
|
|
|
- if (companyCompanyFsuser!=null){
|
|
|
- //修改腕表客服
|
|
|
- watchCompanyUserMapper.updateByCompanyUserId(qwUser.getCompanyUserId(),companyCompanyFsuser.getCompanyUserId());
|
|
|
- //换绑公司码
|
|
|
- companyCompanyFsuser.setCompanyUserId(qwUser.getCompanyUserId());
|
|
|
- companyCompanyFsuser.setQwContactId(qwExternalContact.getId());
|
|
|
- companyCompanyFsuserMapper.updateCompanyCompanyUser(companyCompanyFsuser);
|
|
|
- }*/
|
|
|
- suc++;
|
|
|
- } else {
|
|
|
- err++;
|
|
|
- }
|
|
|
- }
|
|
|
- } else {
|
|
|
- err++;
|
|
|
- }
|
|
|
- } else {
|
|
|
- err++;
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- log.info("接替成功:" + suc + ",接替失败:" + err);
|
|
|
- log.info("离职继承分配客户成功");
|
|
|
+ int size = param.getIds() != null ? param.getIds().size() : 0;
|
|
|
+ log.info("开始异步离职转接,客户数:{}", size);
|
|
|
+ qwExternalContactService.resignedTransfer(param);
|
|
|
+ log.info("异步离职转接完成,客户数:{}", size);
|
|
|
} catch (Exception e) {
|
|
|
- e.printStackTrace();
|
|
|
- log.info("离职继承分配客户失败");
|
|
|
+ log.error("异步离职转接失败", e);
|
|
|
}
|
|
|
}
|
|
|
|