| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115 |
- package com.goafanti.common.task;
- import java.util.ArrayList;
- import java.util.Date;
- import java.util.List;
- import javax.annotation.Resource;
- import org.springframework.scheduling.annotation.Scheduled;
- import org.springframework.stereotype.Component;
- import org.springframework.stereotype.Controller;
- import org.springframework.web.bind.annotation.RequestMapping;
- import org.springframework.web.bind.annotation.RequestMethod;
- 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
- public class ReleaseUserTask {
- @Resource
- private CustomerService customerServiceImpl;
- @Resource
- private UserService userServiceImpl;
-
- int pointsDataLimit=100;
-
- /**
- * 每天凌晨一点将客户和业务转为待释放
- */
-
- @Scheduled(cron = "0 0 12 * * ?")
- // @RequestMapping(value = "/open/updateUser", method = RequestMethod.GET)
- 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());
- // userTmpList = customerServiceImpl.selectWaitReleaseCustomer("1");
- lockUserList.addAll(userTmpList);
- businessTmpList = customerServiceImpl.selectWaitReleaseBusiness(u.getId());
- // businessTmpList = customerServiceImpl.selectWaitReleaseBusiness("1");
- lockBusinessList.addAll(businessTmpList);
- }
- List<LockingReleaseBo> newList=new ArrayList<LockingReleaseBo>();
- if (lockUserList.size()>0) {
- for(int i=0;i<lockUserList.size();i++){
- newList.add(lockUserList.get(i));
- if(pointsDataLimit == newList.size()||i == lockUserList.size()-1){
- if(newList.size()>0) customerServiceImpl.updatePendingReleaseLock(newList);
- newList.clear();
- Thread.sleep(2000);
- }
- }
- }
- if (lockBusinessList.size()>0) {
- for(int i=0;i<lockBusinessList.size();i++){
- newList.add(lockBusinessList.get(i));
- if(pointsDataLimit == newList.size()||i == lockBusinessList.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(), "=============================================");
- LoggerUtils.error(getClass(), "客户标记待释放失败", e);
- LoggerUtils.error(getClass(), "=============================================");
- }
- }
- /**
- * 将待释放客户与业务释放
- */
-
- @Scheduled(cron = "0 0 13 * * ?")
- // @RequestMapping(value = "/open/releaseUser", method = RequestMethod.GET)
- public void releaseUser(){
- Date releaseTime = new Date();
- try {
- List<LockingReleaseBo> lockList=customerServiceImpl.selectPendinglockUserList();
- List<LockingReleaseBo> newList=new ArrayList<>();
- List<LockingReleaseBo> userList=new ArrayList<>();
- if (lockList.size()>0) {
- 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);
- }
- if (lockList.get(i).getType().equals("0")) {
- userList.add(lockList.get(i));
- if(pointsDataLimit == userList.size()||i == lockList.size()-1){
- if(userList.size()>0) userServiceImpl.updateReleaseLock(userList);
- }
- }
- }
- }
- } catch (Exception e) {
- LoggerUtils.error(getClass(), "=============================================");
- LoggerUtils.error(getClass(), "客户释放失败", e);
- LoggerUtils.error(getClass(), "=============================================");
- }
-
- }
- }
|