|
|
@@ -17,8 +17,10 @@ import javax.annotation.Resource;
|
|
|
|
|
|
import com.goafanti.admin.bo.AdminListBo;
|
|
|
import com.goafanti.common.dao.*;
|
|
|
+import com.goafanti.common.enums.*;
|
|
|
import com.goafanti.common.model.*;
|
|
|
import com.goafanti.customer.bo.*;
|
|
|
+import com.goafanti.order.bo.TOrderNewBo;
|
|
|
import org.apache.commons.beanutils.BeanUtils;
|
|
|
import org.apache.commons.beanutils.PropertyUtils;
|
|
|
import org.apache.ibatis.builder.BuilderException;
|
|
|
@@ -32,13 +34,6 @@ import com.goafanti.common.bo.Error;
|
|
|
import com.goafanti.common.bo.userDaysBo;
|
|
|
import com.goafanti.common.constant.AFTConstants;
|
|
|
import com.goafanti.common.constant.ErrorConstants;
|
|
|
-import com.goafanti.common.enums.ChannelStatus;
|
|
|
-import com.goafanti.common.enums.CustomerStatusFiled;
|
|
|
-import com.goafanti.common.enums.DeleteStatus;
|
|
|
-import com.goafanti.common.enums.IdentityProcess;
|
|
|
-import com.goafanti.common.enums.UserLevel;
|
|
|
-import com.goafanti.common.enums.UserLockReleaseStatus;
|
|
|
-import com.goafanti.common.enums.UserType;
|
|
|
import com.goafanti.common.error.BusinessException;
|
|
|
import com.goafanti.common.utils.BeanUtilsExt;
|
|
|
import com.goafanti.common.utils.DateUtils;
|
|
|
@@ -107,6 +102,15 @@ public class CustomerServiceImpl extends BaseMybatisDao<UserMapper> implements C
|
|
|
private UserMidMapper userMidMapper;
|
|
|
@Resource
|
|
|
private UserDataLogMapper userDataLogMapper;
|
|
|
+ @Resource
|
|
|
+ private TOrderNewMapper tOrderNewMapper;
|
|
|
+ @Resource
|
|
|
+ private TOrderMidMapper tOrderMidMapper;
|
|
|
+ @Resource
|
|
|
+ private TOrderLogMapper tOrderLogMapper;
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
@Value(value = "${upload.path}")
|
|
|
private String uploadPath = null;
|
|
|
|
|
|
@@ -1203,9 +1207,11 @@ public class CustomerServiceImpl extends BaseMybatisDao<UserMapper> implements C
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
- public int updateByOperatorType(String uid,String aid, String oldAid, Integer operatorType,Integer data) {
|
|
|
+ @Transactional
|
|
|
+ public List<String> updateByOperatorType(String uid,String aid, String oldAid, Integer operatorType,Integer data) {
|
|
|
User user = new User();
|
|
|
Date now = new Date();
|
|
|
+ List<String> errors=new ArrayList<>();
|
|
|
if(aid==null)aid=TokenManager.getAdminId();
|
|
|
if(data==null)data=0;
|
|
|
// 是否多个客户
|
|
|
@@ -1236,9 +1242,11 @@ public class CustomerServiceImpl extends BaseMybatisDao<UserMapper> implements C
|
|
|
|| AFTConstants.CHANNEL_USER_TRANSFER_TO_OTHER .equals(operatorType)) {
|
|
|
if (!isUs) {
|
|
|
user.setAid(aid);
|
|
|
- if (data==1){
|
|
|
- user.setInformationMaintainer(aid);
|
|
|
- organizationContactBookMapper.updateAdmin(uid,aid);
|
|
|
+ if (data==1||data==3){
|
|
|
+ informationMaintainerHandOver(uid, aid, oldAid, user, errors);
|
|
|
+ }
|
|
|
+ if (data==2||data==3){
|
|
|
+ updateOrderHandOver(uid,aid,oldAid);
|
|
|
}
|
|
|
user.setSource(3);// 客户来源设置为转交
|
|
|
//私有和渠道有客户锁操作
|
|
|
@@ -1256,8 +1264,15 @@ public class CustomerServiceImpl extends BaseMybatisDao<UserMapper> implements C
|
|
|
updateUserMid(aid,uid,0,null);
|
|
|
} else {
|
|
|
for (String us : uList) {
|
|
|
- if (userMapper.getAidAndUser(us, TokenManager.getAdminId()) <= 0)
|
|
|
+ if (userMapper.getAidAndUser(us, TokenManager.getAdminId()) <= 0){
|
|
|
throw new BusinessException(new Error("请勿非法操作!", "请勿非法操作!"));
|
|
|
+ }
|
|
|
+ if (data==1||data==3){
|
|
|
+ informationMaintainerHandOver(us, aid, oldAid, user, errors);
|
|
|
+ }
|
|
|
+ if (data==2||data==3){
|
|
|
+ updateOrderHandOver(uid,aid,oldAid);
|
|
|
+ }
|
|
|
}
|
|
|
if (AFTConstants.USER_TRANSFER_TO_OTHER == operatorType) {
|
|
|
flag = updateUsersLock(uList, oldAid, UserLockReleaseStatus.LOCKED.getCode(),
|
|
|
@@ -1286,7 +1301,40 @@ public class CustomerServiceImpl extends BaseMybatisDao<UserMapper> implements C
|
|
|
} else {
|
|
|
userMapper.updateByPrimaryKeySelective(user);
|
|
|
}
|
|
|
- return 1;
|
|
|
+ return errors;
|
|
|
+ }
|
|
|
+
|
|
|
+ private void updateOrderHandOver(String uid, String aid, String oldAid) {
|
|
|
+ List<TOrderNewBo> list = tOrderNewMapper.selectByuidandAid(uid, aid);
|
|
|
+ for (TOrderNewBo bo : list) {
|
|
|
+ bo.setSalesmanId(aid);
|
|
|
+ bo.setOldSalesmanId(oldAid);
|
|
|
+ tOrderNewMapper.updateByPrimaryKeySelective(bo);
|
|
|
+ TOrderMid mid=new TOrderMid();
|
|
|
+ mid.setOrderNo(bo.getOrderNo());
|
|
|
+ Admin admin = adminMapper.selectByPrimaryKey(aid);
|
|
|
+ Admin oldadmin = adminMapper.selectByPrimaryKey(oldAid);
|
|
|
+ mid.setSalesmanName(admin.getName());
|
|
|
+ tOrderMidMapper.updateByOrderNo(mid);
|
|
|
+ TOrderLog log=new TOrderLog();
|
|
|
+ log.setProcess(OrderLogProcess.DDZJ.getCode());
|
|
|
+ log.setAid(oldAid);
|
|
|
+ log.setOrderNo(bo.getOrderNo());
|
|
|
+ log.setCreateTime(new Date());
|
|
|
+ log.setRemarks("订单转交:"+oldadmin.getName()+"=>"+admin.getName());
|
|
|
+ tOrderLogMapper.insert(log);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ private void informationMaintainerHandOver(String uid, String aid, String oldAid, User user, List<String> errors) {
|
|
|
+ User useUser = userMapper.selectByPrimaryKey(user.getId());
|
|
|
+ if (useUser.getInformationMaintainer().equals(oldAid)){
|
|
|
+ user.setInformationMaintainer(aid);
|
|
|
+ organizationContactBookMapper.updateAdmin(uid, aid);
|
|
|
+ }else {
|
|
|
+ errors.add("客户["+useUser.getNickname()+"]归属不正确,资料转交失败。");
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
@Override
|