1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
package userio.task;
import common.model.IOAccount4Web;
import common.repository.IOAccount4WebRepository;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import userio.model.Account;
import userio.model.PackageType;
import userio.model.SalesManLeader;
import userio.repository.IOAccountRepository;
import userio.repository.IOPackageTypeRepository;
import userio.repository.IOSalesManLeaderRepository;
import util.DateUtil;
import util.ValidateUtil;
import java.math.BigInteger;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* Created by mxq on 2017/12/25.
*/
public class IOAccountTask {
private static Logger logger = LoggerFactory.getLogger(IOAccountTask.class);
@Autowired
IOAccountRepository accountRepository;
@Autowired
IOAccount4WebRepository account4WebRepository;
@Autowired
private IOPackageTypeRepository packageTypeRepository;
@Autowired
IOSalesManLeaderRepository salesManLeaderRepository;
public void task(){
logger.info("tkio task start :" + System.currentTimeMillis());
//清空前一天数据
account4WebRepository.deleteAll();
List<IOAccount4Web> list = new ArrayList<>();
//已过期的直接设置成过期
List<Account> pastAccountList = accountRepository.findRootParentsPast(DateUtil.getBeforeDays(0));
list.addAll(transform(pastAccountList, "已过期"));
//未过期
List<Account> unpastAccountList = accountRepository.findRootParentsUnPast(DateUtil.getBeforeDays(0));
list.addAll(transform(unpastAccountList, "已激活"));
List<Account> forbidenList = accountRepository.findRootParentsForidin();
list.addAll(transform(forbidenList, "已禁用"));
account4WebRepository.save(list);
logger.info("tkio task end :" + System.currentTimeMillis());
}
List<IOAccount4Web> transform(List<Account> accounts, String status){
List<SalesManLeader> SalesManLeader = salesManLeaderRepository.findAll();
Map<Long, String> saleMap = new HashMap<>();
for(SalesManLeader pt : SalesManLeader){
saleMap.put((long)pt.getId(), pt.getEmail());
}
List<PackageType> packageTypeList = packageTypeRepository.findAll();
Map<Long, String> map = new HashMap<>();
for(PackageType pt : packageTypeList){
map.put(pt.getId(), pt.getPackageName());
}
List<IOAccount4Web> list = new ArrayList<>();
if(ValidateUtil.isValid(accounts)){
for(Account ac : accounts){
IOAccount4Web account4Web = new IOAccount4Web();
account4Web.setStatus(status);
account4Web.setPackageTypeId(ac.getPricelevel());
account4Web.setAccountId(ac.getId());
account4Web.setEmail(ac.getEmail());
account4Web.setCompany(ac.getCompany());
account4Web.setCreateDate(ac.getPubDate());
account4Web.setPackageType(map.get(ac.getPricelevel()));
account4Web.setPastDate(ac.getPastDate());
account4Web.setUser(ac.getName());
account4Web.setTell(ac.getPhone());
account4Web.setBussinessMan(ac.getBussinessman());
if(saleMap.containsKey(ac.getBussinessman())){
account4Web.setSaleEamil(saleMap.get(ac.getBussinessman()));
}
list.add(account4Web);
}
}
return list;
}
}