| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240 |
- package com.goafanti.customer.service.impl;
- import com.goafanti.common.constant.AFTConstants;
- import com.goafanti.common.dao.*;
- import com.goafanti.common.enums.IdentityProcess;
- import com.goafanti.common.enums.UserLevel;
- import com.goafanti.common.error.BusinessException;
- import com.goafanti.common.model.*;
- import com.goafanti.common.utils.PasswordUtil;
- import com.goafanti.core.mybatis.BaseMybatisDao;
- import com.goafanti.core.mybatis.page.Pagination;
- import com.goafanti.core.shiro.token.TokenManager;
- import com.goafanti.customer.bo.*;
- import com.goafanti.customer.service.UserClueService;
- import org.springframework.stereotype.Service;
- import javax.annotation.Resource;
- import java.util.Date;
- import java.util.List;
- import java.util.UUID;
- @Service
- public class UserClueServiceImpl extends BaseMybatisDao<UserMapper> implements UserClueService {
- @Resource
- private UserMapper userMapper;
- @Resource
- private UserMidMapper userMidMapper;
- @Resource
- private UserTransferLogMapper userTransferLogMapper;
- @Resource
- private AdminMapper adminMapper;
- @Resource
- private UserLockReleaseMapper userLockReleaseMapper;
- @Resource
- private UserNamesMapper userNamesMapper;
- @Resource
- private OrganizationContactBookMapper organizationContactBookMapper;
- @Resource
- private OrganizationIdentityMapper organizationIdentityMapper;
- @Resource(name = "passwordUtil")
- private PasswordUtil passwordUtil;
- @Override
- public Pagination<OutUserClueList> list(InputUserClueList in) {
- if (TokenManager.hasRole(AFTConstants.SUPERADMIN)){
- in.setShiroType(0);
- }
- if (in.getShiroType()==null){
- in.setShiroType(2);
- }
- in.setAid(TokenManager.getAdminId());
- if(in.getEndTime()!=null)in.setEndTime(in.getEndTime()+ " 23:59:59");
- return (Pagination<OutUserClueList>)findPage("selectUserClueList", "selectUserClueCount", in);
- }
- @Override
- public Object add(InputUserClueBo in) throws BusinessException{
- User user = new User();
- Date now = new Date();
- String aid= TokenManager.getAdminId();
- String uid = UUID.randomUUID().toString();
- String identifyId = UUID.randomUUID().toString();
- user.setId(uid);
- user.setSource(1);// 客户来源为录入
- user.setIdentifyName(in.getUserName());
- user.setNickname(in.getUserName());
- user.setUsername(in.getUserName());
- user.setStatus(AFTConstants.USER_STATUS_NORMAL);
- user.setShareType(1);
- user.setAid(TokenManager.getAdminId());
- user.setClueAid(TokenManager.getAdminId());
- // user.setAid("1");
- user.setType(1);
- user.setLvl(UserLevel.CERTIFIED.getCode());
- user.setCreateTime(now);
- user.setTransferTime(now);
- user.setUpdateTime(now);
- user.setSignBills(0);
- user.setNewChannel(0);
- user.setMobile(in.getContactMobile());
- user.setPassword(AFTConstants.INITIALPASSWORD);
- user.setInformationMaintainer(TokenManager.getAdminId());
- double f = 0;
- user.setIntegrity(f);
- // user.setInformationMaintainer("1");
- user.setChannel(0);
- user.setClueProcess(0);
- user.setClueStatus(1);
- user.setClueTime(now);
- passwordUtil.encryptPassword(user);
- String aname = adminMapper.queryById(TokenManager.getAdminId()).getName();
- //判定客户名称
- checkUserName(in);
- UserMid um=new UserMid();
- um.setAid(user.getAid());
- um.setUid(uid);
- userMidMapper.insertSelective(um);
- // 创建企业认证信息
- OrganizationIdentity oi = new OrganizationIdentity();
- oi.setUnitName(in.getUserName());
- oi.setId(identifyId);
- oi.setUid(uid);
- oi.setContacts(in.getContacts());
- oi.setContactMobile(in.getContactMobile());
- oi.setHighTechZone(AFTConstants.NO);
- oi.setInternational(AFTConstants.NO);
- oi.setListed(AFTConstants.NO);
- oi.setAuditStatus(IdentityProcess.SUCCESS.getCode()); // 实名企业
- organizationIdentityMapper.insert(oi);
- userMapper.insertSelective(user);
- UserNames un=new UserNames();
- un.setUid(uid);
- un.setAid(aid);
- un.setName(user.getNickname());
- userNamesMapper.insertSelective(un);
- // 新增企业联系人
- OrganizationContactBook cob = new OrganizationContactBook();
- cob.setAid(TokenManager.getAdminId());
- cob.setAname(aname);
- cob.setId(UUID.randomUUID().toString());
- cob.setUid(uid);
- cob.setName(in.getContacts());
- cob.setMobile(in.getContactMobile());
- cob.setMajor(AFTConstants.YES);
- organizationContactBookMapper.insert(cob);
- addUserTransferLog(user,22,null);
- return 1;
- }
- @Override
- public String pushImportUserClue(List<OutUserClueExcel> list) {
- StringBuilder msg = new StringBuilder();
- int size=0;
- for (OutUserClueExcel outUserClueExcel : list) {
- InputUserClueBo inUserClueBo = new InputUserClueBo();
- inUserClueBo.setUserName(outUserClueExcel.getNickname());
- inUserClueBo.setContactMobile(outUserClueExcel.getContactMobile());
- inUserClueBo.setContacts(outUserClueExcel.getContacts());
- try {
- add(inUserClueBo);
- }catch (Exception e){
- size++;
- msg.append("客户[").append(outUserClueExcel.getNickname()).append("]已存在系统中,导入失改。 ");
- }
- }
- if (size==0)msg.append("客户新增成功");
- return msg.toString();
- }
- @Override
- public Object updateTransfer(InputUserClueTransferBo in) {
- String[] split = in.getUid().split(",");
- for (String uid : split) {
- userTransfer(uid,in);
- }
- return 1;
- }
- private void userTransfer(String uid,InputUserClueTransferBo in) {
- User user = userMapper.queryById(uid);
- Date date = new Date();
- if (!user.getAid().equals(TokenManager.getAdminId())){
- throw new BusinessException("只能操作所属客户");
- }
- String aid=in.getTransferId();
- int type = 0;
- if (in.getType()==0){
- user.setAid(in.getTransferId());
- user.setClueProcess(1);
- user.setClueTransferTime(date);
- type=23;
- }else if (in.getType()==1){
- user.setClueProcess(2);
- user.setAid(user.getClueAid());
- type=24;
- aid=user.getClueAid();
- }else if (in.getType()==2){
- user.setClueProcess(3);
- user.setTransferTime(date);
- userMapper.update(user);
- type=25;
- }else if (in.getType()==3){
- user.setClueProcess(4);
- user.setShareType(0);
- user.setTransferTime(date);
- type=26;
- if (userLockReleaseMapper.selectByUidGetCount(aid,user.getId())==0){
- UserLockRelease ulr=new UserLockRelease();
- ulr.setId(UUID.randomUUID().toString());
- ulr.setAid(TokenManager.getAdminId());
- ulr.setUid(user.getId());
- ulr.setLockTime(date);
- ulr.setStatus(0);
- ulr.setType(0);
- userLockReleaseMapper.insert(ulr);
- }
- organizationContactBookMapper.updateAdmin(user.getId(),TokenManager.getAdminId());
- }
- userMapper.update(user);
- addUserTransferLog(user,type,aid);
- }
- /**
- *
- * @param user 客户信息
- * @param type 22=导入线索客户,23=转交线索客户,24=退回线索客户,25=移除线索客户,26=领取线索客户
- */
- private void addUserTransferLog(User user,Integer type,String transferId) {
- UserTransferLog u = new UserTransferLog();
- u.setUid(user.getId());
- u.setAid(TokenManager.getAdminId());
- if (type==23||type==24){
- u.setTakeAid(transferId);
- }
- u.setType(type);
- userTransferLogMapper.insertSelective(u);
- }
- private void checkUserName(InputUserClueBo in) throws BusinessException{
- if (!userMapper.checkUser("", in.getUserName(), "", 1, null, null).isEmpty())
- throw new BusinessException("客户已经存在");
- String name2=null;
- if (in.getUserName().contains("(")){
- name2=in.getUserName().replace("(","(").replace(")",")");
- }else if (in.getUserName().contains("(")){
- name2=in.getUserName().replace("(","(").replace(")",")");
- }
- if (name2!=null){
- if (!userMapper.checkUser("", name2, "", 1, null, null).isEmpty())
- throw new BusinessException("客户已经存在");
- }
- }
- }
|