Browse Source

业新增客户、业务转换成待释放、修改释放接口代码

anderx 7 years ago
parent
commit
c988e05eb1

+ 4 - 0
src/main/java/com/goafanti/common/dao/UserLockReleaseMapper.java

@@ -93,4 +93,8 @@ public interface UserLockReleaseMapper {
 	List<LockingReleaseBo> selectWaitReleaseBusiness(String aid);
 
 	void updateReleaseLock(@Param("lockIds")String lockIds,@Param("releaseTime")Date releaseTime);
+
+	void updatePendingReleaseLock(String lockIds);
+
+	List<LockingReleaseBo> selectPendinglockUserList();
 }

+ 8 - 0
src/main/java/com/goafanti/common/mapper/UserLockReleaseMapper.xml

@@ -387,4 +387,12 @@
   <update id="updateReleaseLock" parameterType="java.lang.String">
   	update user_lock_release set status = 2,release_time = #{releaseTime} where id in (${lockIds})
   </update>
+  
+  <update id="updatePendingReleaseLock" parameterType="java.lang.String">
+  	update user_lock_release set status = 1 where id in (${lockIds})
+  </update>
+  
+  <select id="selectPendinglockUserList" resultType="com.goafanti.customer.bo.LockingReleaseBo">
+  	select id from user_lock_release where status=1
+  </select>
 </mapper>

+ 69 - 19
src/main/java/com/goafanti/common/task/ReleaseUserTask.java

@@ -12,37 +12,87 @@ import org.springframework.stereotype.Controller;
 import org.springframework.web.bind.annotation.RequestMapping;
 
 import com.goafanti.common.model.User;
+import com.goafanti.common.utils.LoggerUtils;
 import com.goafanti.customer.bo.LockingReleaseBo;
 import com.goafanti.customer.service.CustomerService;
 import com.goafanti.user.service.UserService;
-@Component
-//@Controller
+//@Component
+@Controller
 public class ReleaseUserTask {
 	@Resource
 	private CustomerService customerServiceImpl;
 	@Resource
 	private UserService userServiceImpl;
 	
+	int pointsDataLimit=100;
+	Date releaseTime = new Date();
 	/**
-	 * 每天凌晨一点释放客户和业务
+	 * 每天凌晨一点将客户和业务转为待释放
 	 */
-	@Scheduled(cron = "0 0 1  * * ?") 
-//	@RequestMapping(value = "/releaseUser")
+	@SuppressWarnings("null")
+//	@Scheduled(cron = "0 0 1  * * ?") 
+	@RequestMapping(value = "/updateUser")
+	public void updateUser(){
+		try {
+			List<User> userList = userServiceImpl.selectUserByRoleName("营销员","营销经理");
+			List<LockingReleaseBo> lockUserList = new ArrayList<LockingReleaseBo>();
+			List<LockingReleaseBo> lockBusinessList = new ArrayList<LockingReleaseBo>();
+			List<LockingReleaseBo> userTmpList = null;
+			List<LockingReleaseBo> businessTmpList = null;
+			for(User u : userList){
+				userTmpList = customerServiceImpl.selectWaitReleaseCustomer(u.getId());
+				lockUserList.addAll(userTmpList);
+				businessTmpList = customerServiceImpl.selectWaitReleaseBusiness(u.getId());
+				lockBusinessList.addAll(businessTmpList);
+			}
+		List<LockingReleaseBo> newList=null;
+			  for(int i=0;i<userTmpList.size();i++){
+				  newList.add(userTmpList.get(i));
+				  if(pointsDataLimit == newList.size()||i == userTmpList.size()-1){
+					  if(newList.size()>0) customerServiceImpl.updatePendingReleaseLock(newList);
+		                newList.clear();
+		                Thread.sleep(2000);
+				  }  
+			  }
+			  for(int i=0;i<businessTmpList.size();i++){
+				  newList.add(businessTmpList.get(i));
+				  if(pointsDataLimit == newList.size()||i == businessTmpList.size()-1){
+					  if(newList.size()>0) customerServiceImpl.updatePendingReleaseLock(newList);
+		                newList.clear();
+		                Thread.sleep(2000);
+				  }  
+			  }
+			/*if(lockUserList.size()>0) customerServiceImpl.updateReleaseLock(lockUserList,releaseTime);
+			if(lockBusinessList.size()>0) customerServiceImpl.updateReleaseLock(lockBusinessList,releaseTime);
+			if(lockUserList.size()>0) userServiceImpl.updateReleaseLock(lockUserList);*/
+
+		} catch (Exception e) {
+			LoggerUtils.error(getClass(), "=============================================", e);
+			LoggerUtils.error(getClass(), "客户标记待释放失败", e);
+			LoggerUtils.error(getClass(), "=============================================", e);
+		}
+	}
+	
+	@SuppressWarnings("null")
+//	@Scheduled(cron = "0 0 1  * * ?") 
+	@RequestMapping(value = "/releaseUser")
 	public void releaseUser(){
-		Date releaseTime = new Date();
-		List<User> userList = userServiceImpl.selectUserByRoleName("营销员","营销经理");
-		List<LockingReleaseBo> lockUserList = new ArrayList<LockingReleaseBo>();
-		List<LockingReleaseBo> lockBusinessList = new ArrayList<LockingReleaseBo>();
-		List<LockingReleaseBo> userTmpList = null;
-		List<LockingReleaseBo> businessTmpList = null;
-		for(User u : userList){
-			userTmpList = customerServiceImpl.selectWaitReleaseCustomer(u.getId());
-			lockUserList.addAll(userTmpList);
-			businessTmpList = customerServiceImpl.selectWaitReleaseBusiness(u.getId());
-			lockBusinessList.addAll(businessTmpList);
+		try {
+			List<LockingReleaseBo> lockList=customerServiceImpl.selectPendinglockUserList();
+			List<LockingReleaseBo> newList=null;
+			 for(int i=0;i<lockList.size();i++){
+				  newList.add(lockList.get(i));
+				  if(pointsDataLimit == newList.size()||i == lockList.size()-1){
+					  if(newList.size()>0) customerServiceImpl.updateReleaseLock(newList,releaseTime);
+		                newList.clear();
+		                Thread.sleep(2000);
+				  }  
+			  }
+		} catch (Exception e) {
+			LoggerUtils.error(getClass(), "=============================================", e);
+			LoggerUtils.error(getClass(), "客户释放失败", e);
+			LoggerUtils.error(getClass(), "=============================================", e);
 		}
-		if(lockUserList.size()>0) customerServiceImpl.updateReleaseLock(lockUserList,releaseTime);
-		if(lockBusinessList.size()>0) customerServiceImpl.updateReleaseLock(lockBusinessList,releaseTime);
-		if(lockUserList.size()>0) userServiceImpl.updateReleaseLock(lockUserList);
+		
 	}
 }

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

@@ -498,5 +498,8 @@ public interface CustomerService {
 	 * @return
 	 */
 	Pagination<CustomerListIn> listDepCustomerInformation(CustomerListIn cli, Integer pageNo, Integer pageSize);
+	void updatePendingReleaseLock(List<LockingReleaseBo> newList);
+	List<LockingReleaseBo> selectPendinglockUserList();
+	
 	
 }

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

@@ -1351,4 +1351,23 @@ public class CustomerServiceImpl  extends BaseMybatisDao<UserMapper> implements
 		}
 		return false;
 	}
+
+	@Override
+	public void updatePendingReleaseLock(List<LockingReleaseBo> newList) {
+		String lockIds = "";
+		for(LockingReleaseBo bo:newList){
+			lockIds += bo.getId() + ",";
+		}
+		if(lockIds.length()>0) {
+			lockIds = "'" + lockIds.substring(0,lockIds.length()-1).replace(",", "','") + "'";
+			userLockReleaseMapper.updatePendingReleaseLock(lockIds);
+		}
+	
+	}
+
+	@Override
+	public List<LockingReleaseBo> selectPendinglockUserList() {
+		return userLockReleaseMapper.selectPendinglockUserList();
+		
+	}
 }