anderx hace 4 años
padre
commit
157c2a27f1

+ 9 - 5
src/main/java/com/goafanti/common/constant/AFTConstants.java

@@ -45,10 +45,12 @@ public class AFTConstants {
 	public static final String  OUTSOURCE_AUDITOR                   = "9991";				
 	/** 专利管理员 */
 	public static final String  PATENT_AUDITOR 	                  	= "9992";				
-
-	public static final String  CHANNEL                      		= "90";		
-	
+	/** 渠道专员 */
+	public static final String  CHANNEL                      		= "80";		
+	/** 渠道总监 */
 	public static final String  CHANNEL_DIRECTOR                    = "9980";		
+	/** 客服专员 */
+	public static final String  CUSTOMER_SERVICE            		= "81";		
 	/** 地区管理员*/
 	public static final String	AREAADMIN							= "";					
 	/** 审核员*/
@@ -56,8 +58,10 @@ public class AFTConstants {
 	/** 客户经理*/
 	public static final String	MANAGERADMIN						= "";					
 	
-
-
+	/** 渠道客户敏感限制*/
+	public static final String  CHANNEL_SENSITIVE="投资,贸易,贷款 ,房地产,金融,基金,商务,酒店,商业,工贸,物业,保险,销售,服务,装卸,管理,"
+			+ "置业,百货,资产,商贸,租赁,加工,合伙企业,财务有限公司,代理,经营,工贸,旅游,观光,资本,劳务,"
+			+ "园艺,咨询,港务,售电,港运,天然气,燃气,基地";
 
 	public static final String	TECHBROKER							= "";					// 技术经纪人
 

+ 2 - 0
src/main/java/com/goafanti/common/dao/AdminMapper.java

@@ -199,5 +199,7 @@ public interface AdminMapper {
 	List<String> selectDepIdWithSpuerId(String superId);
 
 	void getAllDep();
+
+	List<String> getAdminRoleListByAid(String id);
 	
 }

+ 9 - 0
src/main/java/com/goafanti/common/dao/TOrderLogMapper.java

@@ -4,6 +4,7 @@ import com.goafanti.common.model.TOrderLog;
 import com.goafanti.common.model.TOrderLogExample;
 import com.goafanti.order.bo.TOrderLogBo;
 
+import java.util.Date;
 import java.util.List;
 import org.apache.ibatis.annotations.Param;
 
@@ -79,5 +80,13 @@ public interface TOrderLogMapper {
 
 	void insertBatch(List<TOrderLogBo> newtl1);
 
+	/**
+	 * 
+	 * @param aid 转交id
+	 * @param oid 操作id
+	 * @param date 时间
+	 */
+	void insertOrderLog(@Param("aid")String aid, @Param("oid")String oid, @Param("date")Date date);
+
 
 }

+ 5 - 0
src/main/java/com/goafanti/common/dao/TaskAttributionLogMapper.java

@@ -1,7 +1,10 @@
 package com.goafanti.common.dao;
 
+import java.util.Date;
 import java.util.List;
 
+import org.apache.ibatis.annotations.Param;
+
 import com.goafanti.common.model.TaskAttributionLog;
 import com.goafanti.order.bo.taskAttributionLogBo;
 
@@ -44,4 +47,6 @@ public interface TaskAttributionLogMapper {
 	int updateByPrimaryKey(TaskAttributionLog record);
 
 	List<taskAttributionLogBo> selectByTid(Integer tid);
+
+	void insertList(@Param("aid")String aid, @Param("transferId")String transferId, @Param("date")Date date);
 }

+ 5 - 0
src/main/java/com/goafanti/common/dao/UserTransferLogMapper.java

@@ -5,6 +5,7 @@ import com.goafanti.common.model.UserTransferLogExample;
 import com.goafanti.customer.bo.transferListBo;
 import com.goafanti.user.bo.InputUserChannel;
 
+import java.util.Date;
 import java.util.List;
 import org.apache.ibatis.annotations.Param;
 
@@ -50,4 +51,8 @@ public interface UserTransferLogMapper {
 	void insertList(List<UserTransferLog> utfList);
 
 	void insertBatch(List<InputUserChannel> list);
+
+	void insertUserLog(@Param("aid")String aid, @Param("transferId")String transferId, @Param("date")Date date);
+
+	void insertUserLockLog(@Param("aid")String aid, @Param("transferId")String transferId, @Param("date")Date date);
 }

+ 5 - 0
src/main/java/com/goafanti/common/mapper/AdminMapper.xml

@@ -1222,4 +1222,9 @@ select a.id,a.nickname as name,a.source,c.name contacts,c.mobile as contactMobil
   	select b.id from admin a right join department b on a.id=b.finance_id
   	where a.superior_id= #{superId}
   </select>
+  <select id="getAdminRoleListByAid"  resultType="java.lang.String">
+  	select c.role_type from admin a left join user_role b on a.id=b.uid 
+	left join role c on b.rid =c.id 
+	where a.id= #{id}
+  </select>
 </mapper>

+ 4 - 0
src/main/java/com/goafanti/common/mapper/TOrderLogMapper.xml

@@ -318,4 +318,8 @@
       )
       </foreach>
   </insert>
+  <insert id="insertOrderLog">
+  INSERT INTO t_order_log (order_no, process, create_time, aid)
+	select order_no ,12,#{date},#{oid} from t_order_new where salesman_id = #{aid}
+  </insert>
 </mapper>

+ 5 - 0
src/main/java/com/goafanti/common/mapper/TaskAttributionLogMapper.xml

@@ -161,4 +161,9 @@
    	left join admin c on a.receive_id =c.id  
    	where tid= #{tid} order by a.create_time 
   </select>
+  <insert id="insertList">
+  INSERT INTO task_attribution_log
+(tid, aid, receive_id, status, create_time)
+select id,task_receiver ,#{transferId},5, #{date} from t_order_task where task_receiver = #{aid};
+  </insert>
 </mapper>

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

@@ -198,5 +198,14 @@
       #{item.createTime,jdbcType=TIMESTAMP})
      </foreach>
   </insert>
+  <insert id="insertUserLog">
+   	INSERT INTO user_transfer_log (uid, aid, take_aid, `type`, create_time)
+select id,aid, #{transferId},13,#{date} from user where share_type =0 and aid = #{aid}
+  </insert>
+  <insert id="insertUserLockLog">
+   	INSERT INTO user_transfer_log (uid, aid, take_aid,pid, `type`, create_time)
+select id,aid,#{transferId},business_project_id ,14,#{date} 
+from user_lock_release where `type` =1 and aid =#{aid}
+  </insert>
   
 </mapper>

+ 4 - 2
src/main/java/com/goafanti/customer/service/impl/CustomerServiceImpl.java

@@ -2091,8 +2091,10 @@ public class CustomerServiceImpl extends BaseMybatisDao<UserMapper> implements C
 		List<OutUserChannel> list=(List<OutUserChannel>) p.getList();
 		Date date=new Date();
 		for (OutUserChannel o : list) {
-			int days = (int) ((o.getDistributionTime().getTime() + AFTConstants.USER_CHENNL_LIMIT_MS - date.getTime()) / (24 * 3600 * 1000));
-			o.setDays(days);
+			if (o.getDistributionTime()!=null) {
+				int days = (int) ((o.getDistributionTime().getTime() + AFTConstants.USER_CHENNL_LIMIT_MS - date.getTime()) / (24 * 3600 * 1000));
+				o.setDays(days);
+			}
 		}
 		return p;
 

+ 1 - 1
src/main/java/com/goafanti/order/controller/AdminNewOrderApiController.java

@@ -243,7 +243,7 @@ public class AdminNewOrderApiController extends CertifyApiController {
 	/**
 	 * 订单列表
 	 * 
-	 *specially  0 个人 1 营销员管理 2 驳回 3 特批 4 咨询师管理 5部门订单查询
+	 *specially  0 个人 1 营销员管理 2 驳回 3 特批 4 咨询师管理 5部门订单查询 6客服查询
 	 *distribution	(咨询师管理列表 0 未分配 1部分 2全部
 	 *amountStatus 0 10万元以下 1 10万~20万 2 20万~30万 3 30万~40万  4 40万以上
 	 */

+ 20 - 1
src/main/java/com/goafanti/order/controller/OrderProjectApiController.java

@@ -350,7 +350,11 @@ public class OrderProjectApiController extends CertifyApiController {
 		return excel.exportExcel(list, str, response);
 		}
 	
-	
+	/**
+	 * 	项目日志 (转交日志)
+	 * @param tid
+	 * @return
+	 */
 	@RequestMapping(value = "/taskAttributionLog",method = RequestMethod.GET)
 	public Result taskAttributionLog(Integer tid) {
 		Result res =new Result();
@@ -361,4 +365,19 @@ public class OrderProjectApiController extends CertifyApiController {
 		res.data(orderProjectService.taskAttributionLog(tid));
 		return res;
 	}
+	/**
+	 * 	项目日志 (转交日志)
+	 * @param tid
+	 * @return
+	 */
+	@RequestMapping(value = "/selectUidByproject",method = RequestMethod.GET)
+	public Result selectUidByproject(Integer uid) {
+		Result res =new Result();
+		if (uid==null) {
+			res.getError().add(buildError(ErrorConstants.PARAM_ERROR,"客户编号","客户编号"));
+			return res;
+		}
+//		res.data(/* orderProjectService.selectUidByproject(uid) */);
+		return res;
+	}
 }

+ 3 - 1
src/main/java/com/goafanti/order/enums/TaskAttributionLogStatus.java

@@ -15,7 +15,9 @@ public enum TaskAttributionLogStatus {
 		/** 锁定 **/
 		ZXSZJ(3,"咨询师转交"),
 		/** 咨询师回退 **/
-		HT(3,"咨询师回退"),
+		HT(4,"咨询师回退"),
+		/** 离职转交 **/
+		LZZJ(5,"离职转交"),
 		/** 无效 **/
 		NULL(10, "");
 		

+ 3 - 2
src/main/java/com/goafanti/order/service/OrderProjectService.java

@@ -2,8 +2,7 @@ package com.goafanti.order.service;
 
 import java.util.List;
 
-
-
+import com.goafanti.app.bo.ProjectBo;
 import com.goafanti.common.model.TTaskHours;
 import com.goafanti.core.mybatis.page.Pagination;
 import com.goafanti.order.bo.OutTaskProgressLog;
@@ -77,5 +76,7 @@ public interface OrderProjectService {
 
 	List<taskAttributionLogBo> taskAttributionLog(Integer tid);
 
+//	List<Project> selectUidByproject(Integer uid);
+
 
 }

+ 37 - 12
src/main/java/com/goafanti/permission/service/impl/NewRoleServiceImpl.java

@@ -15,25 +15,31 @@ import org.springframework.stereotype.Service;
 
 import com.goafanti.common.bo.Error;
 import com.goafanti.common.constant.AFTConstants;
+import com.goafanti.common.dao.AdminMapper;
 import com.goafanti.common.dao.OrderExamineMapper;
 import com.goafanti.common.dao.OrganizationContactBookMapper;
 import com.goafanti.common.dao.PatentNewMapper;
 import com.goafanti.common.dao.RoleMapper;
 import com.goafanti.common.dao.RolePermissionMapper;
 import com.goafanti.common.dao.RoleResourcesMapper;
+import com.goafanti.common.dao.TOrderLogMapper;
 import com.goafanti.common.dao.TOrderMidMapper;
 import com.goafanti.common.dao.TOrderNewMapper;
 import com.goafanti.common.dao.TOrderTaskMapper;
 import com.goafanti.common.dao.TTaskLogMapper;
+import com.goafanti.common.dao.TaskAttributionLogMapper;
 import com.goafanti.common.dao.UserBusinessMapper;
 import com.goafanti.common.dao.UserMapper;
 import com.goafanti.common.dao.UserRoleMapper;
+import com.goafanti.common.dao.UserTransferLogMapper;
 import com.goafanti.common.enums.roleResources;
 import com.goafanti.common.error.BusinessException;
+import com.goafanti.common.model.Admin;
 import com.goafanti.common.model.Role;
 import com.goafanti.common.model.RolePermission;
 import com.goafanti.common.model.RoleResources;
 import com.goafanti.common.model.UserRole;
+import com.goafanti.common.model.UserTransferLog;
 import com.goafanti.common.utils.StringUtils;
 import com.goafanti.core.mybatis.BaseMybatisDao;
 import com.goafanti.core.mybatis.page.Pagination;
@@ -69,6 +75,16 @@ public class NewRoleServiceImpl extends BaseMybatisDao<RoleMapper> implements Ne
 	private TOrderMidMapper	tOrderMidMapper;
 	@Autowired
 	private OrderExamineMapper	orderExamineMapper;
+	@Autowired
+	private UserTransferLogMapper	userTransferLogMapper;
+	@Autowired
+	private AdminMapper	adminMapper;
+	@Autowired
+	private TaskAttributionLogMapper	taskAttributionLogMapper;
+	@Autowired
+	private TOrderLogMapper	tOrderLogMapper;
+	
+	
 	@Override
 	public Pagination<RoleBo> findRoles(RoleBo role, Integer pageNo, Integer pageSize) {
 		SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
@@ -196,8 +212,10 @@ public class NewRoleServiceImpl extends BaseMybatisDao<RoleMapper> implements Ne
 		if (list.size()<1||list.get(0)==null) {
 			throw new BusinessException(new Error("","用户角色资源不存在"));
 		}
+		Date date=new Date();
 		for (Integer s : list) {
 			if (s==roleResources.YXKH.getCode()) {
+				userTransferLogMapper.insertUserLog(aid,transferId,date);
 				roleResourcesMapper.updateLockRelease("0",aid,transferId);//将用户锁转给指定人
 				userBusinessMapper.updateDimissionTransfer(aid,transferId);
 				organizationContactBookMapper.updateDimissionTransfer(aid,transferId);
@@ -205,22 +223,29 @@ public class NewRoleServiceImpl extends BaseMybatisDao<RoleMapper> implements Ne
 				userMapper.updateDimissionTransfer(aid,transferId);
 			}
 			if (s==roleResources.QDYW.getCode()) {
-				tOrderNewMapper.updateSalesmanId(aid, transferId);
-				tOrderMidMapper.updateSalesmanId(aid, transferId);
+				userTransferLogMapper.insertUserLockLog(aid,transferId,date);
 				patentNewMapper.updateAdmin(aid,transferId);
 				roleResourcesMapper.updateLockRelease("1",aid,transferId);//将业务锁转给指定人
 			}
-			if (s==roleResources.XMRW.getCode()) {
-//				contractTaskLogMapper.updateDimissionTransfer(aid,transferId);
-				//获取被转角色判断修改对应任务角色
-				Integer type=-1;
-				if (TokenManager.hasRole(AFTConstants.TECH)) type=0;
-				else if (TokenManager.hasRole(AFTConstants.TECH_MANAGER))type=1;
-				if (type!=-1) {
-					tOrderTaskMapper.updateDimissionTransfer(aid,transferId,type);
-					tTaskLogMapper.updateDimissionTransfer(aid,transferId);
-					orderExamineMapper.updateDimissionTransfer(aid,transferId);
+			if (s == roleResources.YQDD.getCode()) {
+				tOrderLogMapper.insertOrderLog(aid,TokenManager.getAdminId(),date);
+				tOrderNewMapper.updateSalesmanId(aid, transferId);
+				tOrderMidMapper.updateSalesmanId(aid, transferId);
+			}
+			if (s == roleResources.XMRW.getCode()) {
+				// 获取被转角色判断修改对应任务角色
+				int type=0;
+				List<String>  l=adminMapper.getAdminRoleListByAid(transferId);
+				for (String str : l) {
+					if (str.equals(AFTConstants.TECH_MANAGER)) {
+						type=1;
+						break;
+					}
 				}
+				taskAttributionLogMapper.insertList(aid, transferId, date);
+				tOrderTaskMapper.updateDimissionTransfer(aid, transferId, type);
+				tTaskLogMapper.updateDimissionTransfer(aid, transferId);
+				orderExamineMapper.updateDimissionTransfer(aid, transferId);
 			}
 			if (s!=roleResources.QDYW.getCode()) {
 				roleResourcesMapper.updateDimissionTransfer(s,aid,transferId);

+ 51 - 42
src/main/java/com/goafanti/user/service/impl/UserChannelServiceImpl.java

@@ -26,6 +26,7 @@ import org.springframework.web.multipart.MultipartFile;
 import com.goafanti.common.bo.CityBo;
 import com.goafanti.common.bo.Error;
 import com.goafanti.common.bo.ProvinceBo;
+import com.goafanti.common.constant.AFTConstants;
 import com.goafanti.common.dao.DistrictGlossoryMapper;
 import com.goafanti.common.dao.OrganizationContactBookMapper;
 import com.goafanti.common.dao.OrganizationIdentityMapper;
@@ -90,6 +91,7 @@ public class UserChannelServiceImpl extends BaseMybatisDao<UserChannelMapper> im
 		 //获得Workbook工作薄对象
         Workbook workbook = ExcelUtils.getWorkBook(file);
         //创建一个对象,用来存储数据
+        List<InputUserChannel> count=new ArrayList<>();
         List<InputUserChannel> list=new ArrayList<>();
         List<InputUserChannel> list2=new ArrayList<>();
         List<InputUserChannel> list3=new ArrayList<>();
@@ -189,50 +191,53 @@ public class UserChannelServiceImpl extends BaseMybatisDao<UserChannelMapper> im
 		        		StringUtils.isBlank(in.getContactMobile())) {
 		        	throw new BusinessException(new Error("表格第"+(rowNum+1)+"行输入内容不完整。"));
 				}
-		        String uid=UUID.randomUUID().toString();
-		        in.setAid(aid);
-		        in.setCreateTime(now.getTime());
-		        in.setShareType(0);
-		        in.setPassword(passwordUtil.getEncryptPwd("123456", now.getTime()));
-		        User u=userMapper.selectByName(in.getUserName());
-		        if (checkUserName(in.getUserName())) {
-		        	in.setUid(uid);
-		        	in.setStatus(ChannelStatus.FFMC.getCode());
-					in.setUserStatus(1);
-					list3.add(in);
-				}else if (u == null) {
-					in.setUid(uid);
-					in.setUserStatus(0);
-					in.setStatus(ChannelStatus.WFP.getCode());
-					list.add(in);
-				}else {
-					Integer i=0;
-					if (u.getAid().equals(TokenManager.getAdminId())) {
-						i=1;
-					}
-//					共享类型 0-私有 1-公共 2 签单 
-					if(u.getShareType()==0) {
-						if(u.getChannel()==0) {
-							if(i==1)in.setStatus(ChannelStatus.YCZWDSY.getCode());
-							else in.setStatus(ChannelStatus.YCZBRSY.getCode());
-						}
-						else {
-							if(i==1)in.setStatus(ChannelStatus.YCZWDQD.getCode());
-							else in.setStatus(ChannelStatus.YCZBRQD.getCode());
-						}
-					}
-					else if(u.getShareType()==1)in.setStatus(ChannelStatus.YCZGG.getCode());
-					else if(u.getShareType()==2) {
-						if(i==1)in.setStatus(ChannelStatus.YCZWDQIAND.getCode());
-						else in.setStatus(ChannelStatus.YCZBRQIAND.getCode());
-					}
-					in.setUid(u.getId());
-					list2.add(in);
-				}
+		        count.add(in);
 		        
 		        
     		}
         }
+        for (InputUserChannel in : count) {
+            String uid=UUID.randomUUID().toString();
+            in.setAid(aid);
+            in.setCreateTime(now.getTime());
+            in.setShareType(0);
+            in.setPassword(passwordUtil.getEncryptPwd("123456", now.getTime()));
+            User u=userMapper.selectByName(in.getUserName());
+            if (checkUserName(in.getUserName())) {
+            	in.setUid(uid);
+            	in.setStatus(ChannelStatus.FFMC.getCode());
+    			in.setUserStatus(1);
+    			list3.add(in);
+    		}else if (u == null) {
+    			in.setUid(uid);
+    			in.setUserStatus(0);
+    			in.setStatus(ChannelStatus.WFP.getCode());
+    			list.add(in);
+    		}else {
+    			Integer i=0;
+    			if (u.getAid()!=null&&u.getAid().equals(TokenManager.getAdminId())) {
+    				i=1;
+    			}
+//    			共享类型 0-私有 1-公共 2 签单 
+    			if(u.getShareType()==0) {
+    				if(u.getChannel()==0) {
+    					if(i==1)in.setStatus(ChannelStatus.YCZWDSY.getCode());
+    					else in.setStatus(ChannelStatus.YCZBRSY.getCode());
+    				}
+    				else {
+    					if(i==1)in.setStatus(ChannelStatus.YCZWDQD.getCode());
+    					else in.setStatus(ChannelStatus.YCZBRQD.getCode());
+    				}
+    			}
+    			else if(u.getShareType()==1)in.setStatus(ChannelStatus.YCZGG.getCode());
+    			else if(u.getShareType()==2) {
+    				if(i==1)in.setStatus(ChannelStatus.YCZWDQIAND.getCode());
+    				else in.setStatus(ChannelStatus.YCZBRQIAND.getCode());
+    			}
+    			in.setUid(u.getId());
+    			list2.add(in);
+    		}
+		}
         //检查重复名称 
         checkListName(list);
         checkListName(list2);
@@ -327,8 +332,12 @@ public class UserChannelServiceImpl extends BaseMybatisDao<UserChannelMapper> im
 	
 
 	private boolean checkUserName(String userName) {
-		if (userName!=null&&userName.contains("房地产")) {
-			return true;
+		String str = AFTConstants.CHANNEL_SENSITIVE;
+		String[] ss=str.split(",");
+		for (String s : ss) {
+			if (userName!=null&&userName.contains(s)) {
+				return true;
+			}
 		}
 		return false;
 	}

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

@@ -5,7 +5,7 @@ jdbc.driverClassName=com.mysql.jdbc.Driver
 #jdbc.username=root
 #jdbc.password=123456
 #测试
-jdbc.url=jdbc:mysql://101.37.32.31:3306/aft?useUnicode=true&characterEncoding=UTF-8&autoReconnect=true&useSSL=false
+jdbc.url=jdbc:mysql://101.37.32.31:3306/aft20201022?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=//172.16.0.253/1.1.71
-avatar.host=//172.16.0.253
+#static.host=//172.16.0.253/1.1.71
+#avatar.host=//172.16.0.253
 
-#avatar.host=//static.jishutao.com
-#static.host=//static.jishutao.com/1.1.71
+avatar.host=//static.jishutao.com
+static.host=//static.jishutao.com/1.1.71
 
 upload.path=F:/data/public/upload
 upload.private.path=F:/data/private/upload