소스 검색

Merge branch 'test' of jishutao/kede-server into prod

anderx 5 년 전
부모
커밋
e1be221f1d

+ 11 - 6
src/main/java/com/goafanti/common/constant/AFTConstants.java

@@ -118,14 +118,19 @@ public class AFTConstants {
 
 	public static final Integer	USER_STATUS_LOCKING					= 2;
 
-	public static final String	USER_TRANSFER_TO_PUBLIC				= "转为公共客户";
+	/** 释放客户*/
+	public static final Integer	USER_TRANSFER_TO_PUBLIC				= 0;
 
-	public static final String	USER_DELETE							= "删除客户";
+	/** 删除客户*/
+	public static final Integer	USER_DELETE							= 1;
 	/** 领取*/
-	public static final String	USER_RECEIVE						= "领取";
-
-	/** 转交*/
-	public static final String	USER_TRANSFER_TO_OTHER				= "转交客户给制定人";
+	public static final Integer	USER_RECEIVE						= 2;
+	/** 私有转交*/
+	public static final Integer	USER_TRANSFER_TO_OTHER				= 3;
+	/** 签单转交*/
+	public static final Integer	SIGN_USER_TRANSFER_TO_OTHER				= 4;
+	
+	
 	
 	public static final String	PROJECT_TRANSFER_TO_OTHER				= "转交客户给制定人";
 

+ 1 - 0
src/main/java/com/goafanti/common/mapper/UserTransferLogMapper.xml

@@ -322,6 +322,7 @@
 	left join admin c on a.aid=c.id left join admin d on a.take_aid=d.id
 	left join business_project e on a.pid=e.id 
 	where uid= #{uid}
+	order by a.id
   </select>
   
    <insert id="insertList">

+ 81 - 74
src/main/java/com/goafanti/customer/bo/LockingReleaseBo.java

@@ -1,74 +1,81 @@
-package com.goafanti.customer.bo;
-
-public class LockingReleaseBo {
-	private String id;
-	private String uid;
-	private String aid;
-	private String lockTime;
-	private String type;
-	private String businessProjectId;
-	private String businessProjectName;
-	private String salesmanName;
-	private String lastFollowTime;
-	private String lastSignTime;
-	public String getId() {
-		return id;
-	}
-	public void setId(String id) {
-		this.id = id;
-	}
-	public String getUid() {
-		return uid;
-	}
-	public void setUid(String uid) {
-		this.uid = uid;
-	}
-	public String getAid() {
-		return aid;
-	}
-	public void setAid(String aid) {
-		this.aid = aid;
-	}
-	public String getLockTime() {
-		return lockTime;
-	}
-	public void setLockTime(String lockTime) {
-		this.lockTime = lockTime;
-	}
-	public String getBusinessProjectId() {
-		return businessProjectId;
-	}
-	public void setBusinessProjectId(String businessProjectId) {
-		this.businessProjectId = businessProjectId;
-	}
-	public String getBusinessProjectName() {
-		return businessProjectName;
-	}
-	public void setBusinessProjectName(String businessProjectName) {
-		this.businessProjectName = businessProjectName;
-	}
-	public String getSalesmanName() {
-		return salesmanName;
-	}
-	public void setSalesmanName(String salesmanName) {
-		this.salesmanName = salesmanName;
-	}
-	public String getLastFollowTime() {
-		return lastFollowTime;
-	}
-	public void setLastFollowTime(String lastFollowTime) {
-		this.lastFollowTime = lastFollowTime;
-	}
-	public String getLastSignTime() {
-		return lastSignTime;
-	}
-	public void setLastSignTime(String lastSignTime) {
-		this.lastSignTime = lastSignTime;
-	}
-	public String getType() {
-		return type;
-	}
-	public void setType(String type) {
-		this.type = type;
-	}
-}
+package com.goafanti.customer.bo;
+
+public class LockingReleaseBo {
+	private String id;
+	private String uid;
+	private String aid;
+	private String lockTime;
+	private String type;
+	private String businessProjectId;
+	private String businessProjectName;
+	private String salesmanName;
+	private String lastFollowTime;
+	private String lastSignTime;
+	private Integer mySign;
+	public String getId() {
+		return id;
+	}
+	public void setId(String id) {
+		this.id = id;
+	}
+	public String getUid() {
+		return uid;
+	}
+	public void setUid(String uid) {
+		this.uid = uid;
+	}
+	public String getAid() {
+		return aid;
+	}
+	public void setAid(String aid) {
+		this.aid = aid;
+	}
+	public String getLockTime() {
+		return lockTime;
+	}
+	public void setLockTime(String lockTime) {
+		this.lockTime = lockTime;
+	}
+	public String getBusinessProjectId() {
+		return businessProjectId;
+	}
+	public void setBusinessProjectId(String businessProjectId) {
+		this.businessProjectId = businessProjectId;
+	}
+	public String getBusinessProjectName() {
+		return businessProjectName;
+	}
+	public void setBusinessProjectName(String businessProjectName) {
+		this.businessProjectName = businessProjectName;
+	}
+	public String getSalesmanName() {
+		return salesmanName;
+	}
+	public void setSalesmanName(String salesmanName) {
+		this.salesmanName = salesmanName;
+	}
+	public String getLastFollowTime() {
+		return lastFollowTime;
+	}
+	public void setLastFollowTime(String lastFollowTime) {
+		this.lastFollowTime = lastFollowTime;
+	}
+	public String getLastSignTime() {
+		return lastSignTime;
+	}
+	public void setLastSignTime(String lastSignTime) {
+		this.lastSignTime = lastSignTime;
+	}
+	public String getType() {
+		return type;
+	}
+	public void setType(String type) {
+		this.type = type;
+	}
+	public Integer getMySign() {
+		return mySign;
+	}
+	public void setMySign(Integer mySign) {
+		this.mySign = mySign;
+	}
+}

+ 7 - 16
src/main/java/com/goafanti/customer/controller/AdminCustomerApiController.java

@@ -542,18 +542,6 @@ public class AdminCustomerApiController extends BaseApiController{
 		customerService.updateByOperatorType(uid, oldAid,AFTConstants.USER_RECEIVE);
 		return res;
 	}
-
-	/** 删除客户 **/
-	@RequestMapping(value = "/deleteCustomer", method = RequestMethod.GET)
-	public Result deleteCustomer(String uid,String oldAid){
-		Result res = new Result();
-		if(StringUtils.isBlank(uid) || StringUtils.isBlank("aid")){
-			res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR, ""));
-			return res;
-		}
-		customerService.updateByOperatorType(uid, oldAid,AFTConstants.USER_DELETE);
-		return res;
-	}
 	
 	/**
 	 * 上传excel文档
@@ -767,7 +755,7 @@ public class AdminCustomerApiController extends BaseApiController{
 	
 	/** 转交客户到制定人 **/
 	@RequestMapping(value = "/transferToOther", method = RequestMethod.GET)
-	public Result transferToOther(String uid,String aid,String oldAid){
+	public Result transferToOther(String uid,String aid,Integer operatorType,String oldAid){
 		Result res = new Result();
 		if(StringUtils.isBlank(uid) || StringUtils.isBlank(aid)){
 			res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR, "客户编号或管理员编号"));
@@ -777,7 +765,11 @@ public class AdminCustomerApiController extends BaseApiController{
 			res.getError().add(buildError("","对方私有客户已达最大限制"));
 			return res;
 		}
-		customerService.updateByOperatorType(uid,oldAid,AFTConstants.USER_TRANSFER_TO_OTHER, aid);
+		//默认为私有转交,4为签单转交
+		if (operatorType==null) {
+			operatorType=AFTConstants.USER_TRANSFER_TO_OTHER;
+		}
+		customerService.updateByOperatorType(uid,oldAid,operatorType, aid);
 		return res;
 	}
 	
@@ -1149,7 +1141,6 @@ public class AdminCustomerApiController extends BaseApiController{
 			res.getError().add(buildError(ErrorConstants.PARAM_ERROR,"用户ID错误","用户ID"));
 			return res;
 		}
-		
 		res.data(customerService.pushReleaseUser(id));
 		return res;
 	}
@@ -1254,7 +1245,7 @@ public class AdminCustomerApiController extends BaseApiController{
 	public Result privateBusinessTransfer(String inputId,String uid,String pid ) {
 		Result res = new Result();
 		if (StringUtils.isBlank(inputId)) {
-			res.getError().add(buildError("请确正确的接收者。","请确正确的接收者。"));
+			res.getError().add(buildError("请确正确的接收者。","请确正确的接收者。"));
 			return res;
 		}
 		int i= customerService.updatePrivateBusinessTransfer( inputId, uid, pid );

+ 1 - 1
src/main/java/com/goafanti/customer/service/CustomerService.java

@@ -262,7 +262,7 @@ public interface CustomerService {
 	 * @param operatorType
 	 * @return
 	 */
-	int updateByOperatorType(String uid,String aid,String operatorType,Object... params);
+	int updateByOperatorType(String uid,String aid,Integer operatorType,Object... params);
 	
 	/**
 	 * 客户统计

+ 53 - 58
src/main/java/com/goafanti/customer/service/impl/CustomerServiceImpl.java

@@ -24,6 +24,7 @@ import org.springframework.beans.factory.annotation.Value;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
+import com.alibaba.druid.sql.parser.Token;
 import com.goafanti.common.bo.Error;
 import com.goafanti.common.bo.userDaysBo;
 import com.goafanti.common.constant.AFTConstants;
@@ -570,13 +571,11 @@ public class CustomerServiceImpl extends BaseMybatisDao<UserMapper> implements C
 					}else{ 
 						if(!isUserOwner) throw new BusinessException(new Error(ErrorConstants.CUSTOMER_ALREADY_LOCKED,businessName,""));
 					}
-					
-					
-					if (us.getFollowSituation()!=5&&ub.getFollowSituation()==5) {//如果改成已签合同,则锁定业务
-						if (StringUtils.isNotBlank(fbb.getUid())) ub.setUid(fbb.getUid());
-						lockProject(ub);//锁定客户业务
-						x=1;
-					}		
+//					if (us.getFollowSituation()!=5&&ub.getFollowSituation()==5) {//如果改成已签合同,则锁定业务
+//						if (StringUtils.isNotBlank(fbb.getUid())) ub.setUid(fbb.getUid());
+//						lockProject(ub);//锁定客户业务
+//						x=1;
+//					}		
 					userBusiness.setBusinessProjectId(ub.getBusinessProjectId());
 					userBusiness.setCustomerStatus(ub.getCustomerStatus());
 					userBusiness.setFollowSituation(ub.getFollowSituation());
@@ -613,11 +612,11 @@ public class CustomerServiceImpl extends BaseMybatisDao<UserMapper> implements C
 					if(userBusinessMapper.judgeBusiness(fbb.getUid(), ub.getBusinessProjectId(), "")>0){
 						throw new BusinessException(new Error(ErrorConstants.BUSINESS_ALREADY_EXIST,businessName,""));
 					}
-					if (ub.getFollowSituation()==5) {//如果改成已签合同,则锁定业务
-						if (StringUtils.isNotBlank(fbb.getUid())) ub.setUid(fbb.getUid());
-						lockProject(ub);//锁定客户业务
-						x=1;
-					}
+//					if (ub.getFollowSituation()==5) {//如果改成已签合同,则锁定业务
+//						if (StringUtils.isNotBlank(fbb.getUid())) ub.setUid(fbb.getUid());
+//						lockProject(ub);//锁定客户业务
+//						x=1;
+//					}
 					String ubId = UUID.randomUUID().toString();
 					//更新业务表
 					userBusiness.setId(ubId);
@@ -669,33 +668,6 @@ public class CustomerServiceImpl extends BaseMybatisDao<UserMapper> implements C
 		}
 	}
 	
-	/**
-	 * 锁定用户
-	 * @param ub
-	 */
-	private void lockProject(BusinessListBo ub) {
-		UserLockRelease ulr= new UserLockRelease();
-			ulr.setId(UUID.randomUUID().toString());
-			ulr.setType(1);
-			ulr.setAid(TokenManager.getAdminId());
-			ulr.setBusinessProjectId(ub.getBusinessProjectId());
-			SimpleDateFormat sdf =   new SimpleDateFormat( " yyyy-MM-dd HH:mm:ss " ); 
-			try {
-				if (null==ub.getCreateTime()) {
-					ulr.setLockTime(new Date());
-				}else {
-					ulr.setLockTime(sdf.parse(ub.getCreateTime()));
-				}
-			} catch (ParseException e) {
-				e.printStackTrace();
-			}
-			ulr.setStatus(UserLockReleaseStatus.LOCKED.getCode());
-			ulr.setUid(ub.getUid());
-			
-			userLockReleaseMapper.insert(ulr);
-		}
-	
-
 	@SuppressWarnings("unused")
 	private void releaseProject(List<LockingReleaseBo> businessLockedList) {
 		if(businessLockedList != null && businessLockedList.size()>0){
@@ -1002,7 +974,7 @@ public class CustomerServiceImpl extends BaseMybatisDao<UserMapper> implements C
 	}
 
 	@Override
-	public int updateByOperatorType(String uid,String oldAid, String operatorType,Object... params) {
+	public int updateByOperatorType(String uid,String oldAid, Integer operatorType,Object... params) {
 		User user = new User();
 		Date now = new Date();
 		//是否多个客户
@@ -1016,7 +988,7 @@ public class CustomerServiceImpl extends BaseMybatisDao<UserMapper> implements C
 		}
 		user.setId(uid);
 		int flag = 0;
-		if(operatorType.equals(AFTConstants.USER_RECEIVE)){
+		if(AFTConstants.USER_RECEIVE.equals(operatorType)){
 			if(userMapper.UserReceiveCount(TokenManager.getAdminId())>=USER_RECEIVE_MAX)
 				throw new BusinessException(new Error(ErrorConstants.CUSTOM_EREXCESS,""+USER_RECEIVE_MAX,""));
 			user.setAid(TokenManager.getAdminId());
@@ -1028,12 +1000,13 @@ public class CustomerServiceImpl extends BaseMybatisDao<UserMapper> implements C
 			if(flag <= 0) throw new BusinessException(new Error(ErrorConstants.CUSTOMER_ALREADY_RECEIVE,""));
 			//取消客户领取时把联系人一并转移
 			//organizationContactBookMapper.updateAdmin(uid,TokenManager.getAdminId());
-		}else if(operatorType.equals(AFTConstants.USER_TRANSFER_TO_OTHER)){
+		}else if(AFTConstants.USER_TRANSFER_TO_OTHER.equals(operatorType)){
 			if(!isUs) {
 				user.setAid(String.valueOf(params[0]));
 				user.setSource(3);//客户来源设置为转交
-//				转换不重置时间
-//				user.setTransferTime(now);
+				if (AFTConstants.SIGN_USER_TRANSFER_TO_OTHER==operatorType) {
+					user.setShareType(2);
+				}
 				//查询这个客户是否是登陆人的客户
 				if(userMapper.getAidAndUser(uid,TokenManager.getAdminId())<=0)throw new BusinessException(new Error("请勿非法操作!","请勿非法操作!"));
 				flag = updateUserLock(uid,oldAid,UserLockReleaseStatus.LOCKED.getCode(),UserLockReleaseStatus.RELEASE.getCode()); //原用户释放客户
@@ -1049,9 +1022,33 @@ public class CustomerServiceImpl extends BaseMybatisDao<UserMapper> implements C
 				if(flag <= 0) throw new BusinessException(new Error(ErrorConstants.CUSTOMER_TRANSFER_FAIL,""));
 				addtransferLog(uid,null,TokenManager.getAdminId(),String.valueOf(params[0]),0,isUs);
 			}
+		}else if(AFTConstants.SIGN_USER_TRANSFER_TO_OTHER.equals(operatorType)){
+			if(!isUs) {
+				user.setAid(String.valueOf(params[0]));
+				user.setSource(3);//客户来源设置为转交
+				if (AFTConstants.SIGN_USER_TRANSFER_TO_OTHER==operatorType) {
+					user.setShareType(2);
+				}
+				//查询这个客户是否是登陆人的客户
+				if(userMapper.getAidAndUser(uid,TokenManager.getAdminId())<=0)throw new BusinessException(new Error("请勿非法操作!","请勿非法操作!"));
+				addtransferLog(uid,null,TokenManager.getAdminId(),String.valueOf(params[0]),0,isUs);
+			}else {
+				for (String us : uList) {
+					if(userMapper.getAidAndUser(us,TokenManager.getAdminId())<=0)throw new BusinessException(new Error("请勿非法操作!","请勿非法操作!"));
+				}
+				addtransferLog(uid,null,TokenManager.getAdminId(),String.valueOf(params[0]),0,isUs);
+			}
+			
+		}
+		if (isUs) {
+			if (AFTConstants.SIGN_USER_TRANSFER_TO_OTHER==operatorType) {
+				userMapper.updateList(String.valueOf(params[0]),null,3,null,2,uList);
+			} else {
+				userMapper.updateList(String.valueOf(params[0]),null,3,null,null,uList);
+			}
+		} else {
+			userMapper.updateByPrimaryKeySelective(user);
 		}
-		if (isUs)  userMapper.updateList(String.valueOf(params[0]),null,3,null,null,uList);
-		else userMapper.updateByPrimaryKeySelective(user);
 		return 1; 
 	}
 
@@ -1429,12 +1426,8 @@ public class CustomerServiceImpl extends BaseMybatisDao<UserMapper> implements C
 	public Pagination<CustomerListOut> listSignOrganizationCustomer(CustomerListIn cli, Integer pageNo,
 			Integer pageSize) {
 		cli.setAid(TokenManager.getAdminId());
-//		cli.setAid("1");
 		Map<String,Object> params = disposeParams(cli);
 		Pagination<CustomerListOut> list = (Pagination<CustomerListOut>) findPage("selectSignOrganizationCustomerList","selectSignOrganizationCustomerCount",params,pageNo,pageSize);
-//		List<CustomerListOut> tmpList = (List<CustomerListOut>)list.getList();
-//		setCustomerList(tmpList,1,0);
-//		list.setList(tmpList);
 		return list;
 	}
 	
@@ -1453,7 +1446,15 @@ public class CustomerServiceImpl extends BaseMybatisDao<UserMapper> implements C
 
 	@Override
 	public List<LockingReleaseBo> selectLockedProject(String uid) {
-		return userMapper.selectLockedProject(uid,null,null,1,0);
+		List<LockingReleaseBo> list=userMapper.selectLockedProject(uid,null,null,1,0);
+		for (LockingReleaseBo lrb : list) {
+			if (lrb.getAid().equals(TokenManager.getAdminId())) {
+				lrb.setMySign(1);
+			}else {
+				lrb.setMySign(0);
+			}
+		}
+		return list;
 	}
 
 	@Override
@@ -1667,20 +1668,14 @@ public class CustomerServiceImpl extends BaseMybatisDao<UserMapper> implements C
 		List<LockingReleaseBo> list=userLockReleaseMapper.checkUserProject(uid, pid,TokenManager.getAdminId());
 		if (list.isEmpty()) {
 			throw new BusinessException(new Error("客户归属错误","客户归属错误"));
-		}else if(list.size()>1) {
-			throw new BusinessException(new Error("业务数量错误","业务数量错误"));
 		}
 		LockingReleaseBo l=list.get(0);
 		UserLockRelease ul=new UserLockRelease();
 		ul.setId(l.getId());
-//		不做释放与锁定的动作
-//		ul.setStatus(2);
+
 		ul.setAid(inputId);
-//		不修改时间
-//		ul.setReleaseTime(now);
 		userLockReleaseMapper.updateByPrimaryKeySelective(ul);
 		addtransferLog(uid,pid,TokenManager.getAdminId(),inputId,1,false);
-//		addUserLock(uid,inputId,1,pid,now); //指定用户锁定客户
 		List<BusinessListBo> bl=userBusinessMapper.selectBusinessProjectByUAPid(uid, TokenManager.getAdminId(), pid);
 		if (bl.size()==1) {
 			UserBusiness ub=new UserBusiness();

+ 3 - 3
src/main/resources/props/config_local.properties

@@ -5,7 +5,7 @@ jdbc.driverClassName=com.mysql.jdbc.Driver
 #jdbc.username=dev
 #jdbc.password=123456
 #测试
-jdbc.url=jdbc:mysql://101.37.32.31:3306/aft20201022?useUnicode=true&characterEncoding=UTF-8&autoReconnect=true&useSSL=false
+jdbc.url=jdbc:mysql://101.37.32.31:3306/aft?useUnicode=true&characterEncoding=UTF-8&autoReconnect=true&useSSL=false
 jdbc.username=root
 jdbc.password=aftdev
 #\u68c0\u6d4b\u6570\u636e\u5e93\u94fe\u63a5\u662f\u5426\u6709\u6548\uff0c\u5fc5\u987b\u914d\u7f6e
@@ -64,12 +64,12 @@ user_remind_days=15
 portal.host=//sf.jishutao.com/portal/2.0.6
 avatar.upload.host=//sb.jishutao.com/upload
 #连接开发
-#static.host=//sb.jishutao.com:3000/1.1.56
+#static.host=//sb.jishutao.com:3000/1.1.57
 #avatar.host=//sb.jishutao.com
 
 #连测试
 avatar.host=//static.jishutao.com
-static.host=//static.jishutao.com/1.1.56
+static.host=//static.jishutao.com/1.1.57
 
 upload.path=F:/data/public/upload
 upload.private.path=F:/data/private/upload

+ 1 - 1
src/main/resources/props/config_test.properties

@@ -59,7 +59,7 @@ user.private.max=1000
 #客户释放提醒
 user_remind_days=15
 
-static.host=//static.jishutao.com/1.1.56
+static.host=//static.jishutao.com/1.1.57
 portal.host=//static.jishutao.com/portal/2.0.6
 avatar.host=//static.jishutao.com
 avatar.upload.host=//static.jishutao.com/upload