Browse Source

Merge branch 'test3' into test2

anderx 1 year ago
parent
commit
130a6f1f97

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

@@ -1515,7 +1515,7 @@
 
     <update id="updateUserShareType">
         update user
-        set share_type = 0,transfer_time = now()
+        set share_type = 1,transfer_time = now()
         where id in
         <foreach collection="list" item="item" separator="," open="(" close=")">
             #{item.uid}

+ 14 - 3
src/main/java/com/goafanti/common/task/ReleaseUserTask.java

@@ -285,6 +285,7 @@ public class ReleaseUserTask {
 		Date releaseTime = new Date();
 		try {
 			List<LockingReleaseBo> lockUserList = new ArrayList<>();
+			List<LockingReleaseBo> lockSignList = new ArrayList<>();
 			if (userList != null && !userList.isEmpty()) {
 				for (User u : userList) {
 					System.out.println(u.getId());
@@ -300,14 +301,24 @@ public class ReleaseUserTask {
 						List<LockingReleaseBo> users1 = userService.selectSignReleaseUser(u.getId());
 						customerService.pushReleaseLog(users1);
 						addUserNotice(users1);
-						if (!users1.isEmpty()){
-							lockUserList.addAll(users1);
-						}
+						lockSignList.addAll(users1);
 
 					}
 				}
 			}
+			//签单客户要单独处理,没有锁,直接释放
 			List<LockingReleaseBo> newList = new ArrayList<LockingReleaseBo>();
+			if (!lockSignList.isEmpty()) {
+				for (int i = 0; i < lockSignList.size(); i++) {
+					newList.add(lockSignList.get(i));
+					if (pointsDataLimit == newList.size() || i == lockUserList.size() - 1) {
+						customerService.updateUserShareType(newList);
+						newList.clear();
+						Thread.sleep(2000);
+					}
+
+				}
+			}
 			//处理私有客户
 			if (!lockUserList.isEmpty()) {
 				for (int i = 0; i < lockUserList.size(); i++) {

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

@@ -3143,7 +3143,7 @@ public class CustomerServiceImpl extends BaseMybatisDao<UserMapper> implements C
 
 	@Override
 	public void updateUserShareType(List<LockingReleaseBo> newList) {
-
+			userMapper.updateUserShareType(newList);
 	}
 
     @Override

+ 1 - 5
src/main/java/com/goafanti/user/service/UserService.java

@@ -74,11 +74,7 @@ public interface UserService {
 	List<OutUser> getuser();
 
 
-	/**
-	 * 将签单客户释放,但是不释放业务锁
-	 * @param newList
-	 */
-    void updateUserShareType(List<LockingReleaseBo> newList);
+
 
 	List<LockingReleaseBo> selectSignReleaseUser(String id);
 }

+ 1 - 4
src/main/java/com/goafanti/user/service/impl/UserServiceImpl.java

@@ -371,10 +371,7 @@ public class UserServiceImpl extends BaseMybatisDao<UserMapper> implements UserS
 		return userMapper.getAllUser();
 	}
 
-    @Override
-    public void updateUserShareType(List<LockingReleaseBo> newList) {
-		userMapper.updateUserShareType(newList);
-    }
+
 
 	@Override
 	public List<LockingReleaseBo > selectSignReleaseUser(String id) {

+ 56 - 50
src/main/java/com/goafanti/weChat/service/impl/PublicReleaseServiceImpl.java

@@ -2887,6 +2887,7 @@ public class PublicReleaseServiceImpl extends BaseMybatisDao<PublicReleaseMapper
 			update.setPeopleCount(peopleList.size());
 			tOrderPublicReleaseCountMapper.updateByOrderNo(update);
 		}
+		List<OrderYearMaxDuration> orderYearMaxDurations = orderYearMaxDurationMapper.selectByOrderNo(in.getOrderNo());
 		data.setTimesCount(frequency);
 		data.setPeopleCount(peopleList.size());
 		data.setUserName(t.getUserName());
@@ -2899,59 +2900,64 @@ public class PublicReleaseServiceImpl extends BaseMybatisDao<PublicReleaseMapper
 		List<TTaskMember> tTaskMembers = tTaskMemberMapper.selectByOrderNo(tOrderNew.getOrderNo());
 		String amountName=null;
 		String amountType=null;
-		if (tTaskMembers.size()<1){
-			if (tOrderNew.getTotalAmount().compareTo(BigDecimal.valueOf(1))<0){
-				amountName="本合同低于1万";
-				amountType="原则上技术人员不可下户";
-			}else if (tOrderNew.getTotalAmount().compareTo(BigDecimal.valueOf(3))<0){
-				amountName="本合同在1~3万";
-				amountType="已超出合同可公出标准"+data.getDurationMax()+"小时";
-			}else if (tOrderNew.getTotalAmount().compareTo(BigDecimal.valueOf(5))<0){
-				amountName="本合同在3~5万";
-				amountType="已超出合同可公出标准"+data.getDurationMax()+"小时";
-			}else if (tOrderNew.getTotalAmount().compareTo(BigDecimal.valueOf(10))<0){
-				amountName="本合同在5~10万";
-				amountType="已超出合同可公出标准"+data.getDurationMax()+"小时";
-			}
-		}else {
-			int yearSum=1;
-			for (TTaskMember tTaskMember : tTaskMembers) {
-				if (tTaskMember.getYearSum()!=null&&tTaskMember.getYearSum()>yearSum){
-					yearSum=tTaskMember.getYearSum();
-				}
-			}
-			BigDecimal divide =BigDecimal.ZERO;
-			if (tOrderNew.getTotalAmount().compareTo(BigDecimal.valueOf(0))>0&&yearSum>0){
-				divide=tOrderNew.getTotalAmount().divide(BigDecimal.valueOf(yearSum),  BigDecimal.ROUND_HALF_UP);
-			}else {
-				divide=tOrderNew.getTotalAmount();
-			}
-			if (divide.compareTo(BigDecimal.valueOf(1))<0){
-				amountName="此会员订单,本年度金额低于1万";
-				amountType="原则上技术人员不可下户";
-			}else if (divide.compareTo(BigDecimal.valueOf(3))<0){
-				amountName="此会员订单,本年度金额1~3万";
-				amountType="已超出合同可公出标准"+data.getDurationMax()+"小时";
-			}else if (divide.compareTo(BigDecimal.valueOf(5))<0){
-				amountName="此会员订单,本年度金额3~5万";
-				amountType="已超出合同可公出标准"+data.getDurationMax()+"小时";
-			}else if (divide.compareTo(BigDecimal.valueOf(10))<0){
-				amountName="此会员订单,本年度金额5~10万";
-				amountType="已超出合同可公出标准"+data.getDurationMax()+"小时";
-			}
-		}
-		data.setAmountName(amountName);
-		data.setAmountType(amountType);
-		map.put("releaseCount",releaseCount);
-		//如果小于或者等于并且是未发起或者审核完成状态
-		if (actualDuration.compareTo(data.getDurationMax())<1&&
-				(releaseCount.getMaxProcess()==0||releaseCount.getMaxProcess()==4)
-		){
+		if (releaseCount.getMaxType()==2){
 			map.put("code",true);
 			map.put("data",null);
 		}else {
-			map.put("code",false);
-			map.put("data",data);
+			if (tTaskMembers.size()<1){
+				if (tOrderNew.getTotalAmount().compareTo(BigDecimal.valueOf(1))<0){
+					amountName="本合同低于1万";
+					amountType="原则上技术人员不可下户";
+				}else if (tOrderNew.getTotalAmount().compareTo(BigDecimal.valueOf(3))<0){
+					amountName="本合同在1~3万";
+					amountType="已超出合同可公出标准"+data.getDurationMax()+"小时";
+				}else if (tOrderNew.getTotalAmount().compareTo(BigDecimal.valueOf(5))<0){
+					amountName="本合同在3~5万";
+					amountType="已超出合同可公出标准"+data.getDurationMax()+"小时";
+				}else if (tOrderNew.getTotalAmount().compareTo(BigDecimal.valueOf(10))<0){
+					amountName="本合同在5~10万";
+					amountType="已超出合同可公出标准"+data.getDurationMax()+"小时";
+				}
+			}else {
+				int yearSum=1;
+				for (TTaskMember tTaskMember : tTaskMembers) {
+					if (tTaskMember.getYearSum()!=null&&tTaskMember.getYearSum()>yearSum){
+						yearSum=tTaskMember.getYearSum();
+					}
+				}
+				BigDecimal divide =BigDecimal.ZERO;
+				if (tOrderNew.getTotalAmount().compareTo(BigDecimal.valueOf(0))>0&&yearSum>0){
+					divide=tOrderNew.getTotalAmount().divide(BigDecimal.valueOf(yearSum),  BigDecimal.ROUND_HALF_UP);
+				}else {
+					divide=tOrderNew.getTotalAmount();
+				}
+				if (divide.compareTo(BigDecimal.valueOf(1))<0){
+					amountName="此会员订单,本年度金额低于1万";
+					amountType="原则上技术人员不可下户";
+				}else if (divide.compareTo(BigDecimal.valueOf(3))<0){
+					amountName="此会员订单,本年度金额1~3万";
+					amountType="已超出合同可公出标准"+data.getDurationMax()+"小时";
+				}else if (divide.compareTo(BigDecimal.valueOf(5))<0){
+					amountName="此会员订单,本年度金额3~5万";
+					amountType="已超出合同可公出标准"+data.getDurationMax()+"小时";
+				}else if (divide.compareTo(BigDecimal.valueOf(10))<0){
+					amountName="此会员订单,本年度金额5~10万";
+					amountType="已超出合同可公出标准"+data.getDurationMax()+"小时";
+				}
+			}
+			data.setAmountName(amountName);
+			data.setAmountType(amountType);
+			map.put("releaseCount",releaseCount);
+			//如果小于或者等于并且是未发起或者审核完成状态
+			if (actualDuration.compareTo(data.getDurationMax())<1&&
+					(releaseCount.getMaxProcess()==0||releaseCount.getMaxProcess()==4)
+			){
+				map.put("code",true);
+				map.put("data",null);
+			}else {
+				map.put("code",false);
+				map.put("data",data);
+			}
 		}
 		return map;
 	}