Commit 3119ff4e by manxiaoqiang

定时任务

parent 1695457b
......@@ -2,6 +2,9 @@ package tkio.task;
import common.model.Account4Web;
import common.repository.Account4WebRepository;
import common.task.SyncAppDataTask;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import tkio.model.Account;
import tkio.model.AccountRestrict4Web;
......@@ -23,6 +26,7 @@ import java.util.Map;
* Created by mxq on 2017/12/25.
*/
public class AccountTask {
private static Logger logger = LoggerFactory.getLogger(AccountTask.class);
@Autowired
AccountRepository accountRepository;
......@@ -40,6 +44,7 @@ public class AccountTask {
SalesManLeaderRepository salesManLeaderRepository;
public void task(){
logger.info("tkio task start :" + System.currentTimeMillis());
//清空前一天数据
account4WebRepository.deleteAll();
List<Account4Web> list = new ArrayList<>();
......@@ -47,44 +52,49 @@ public class AccountTask {
List<Account> accountValidList = accountRepository.findRootParentsUnPast(DateUtil.getBeforeDays(1));
if(ValidateUtil.isValid(accountValidList)){
for(Account ac : accountValidList){
AccountRestrict4Web restrict4Web = accountFlowRestrictService.findRestrictByAccount(ac.getId());
Account4Web account4Web = new Account4Web();
account4Web.setAccountId(ac.getId());
account4Web.setEmail(ac.getEmail());
account4Web.setCompany(ac.getCompany());
account4Web.setCreateDate(ac.getPubDate());
account4Web.setCreateDs(DateUtil.getFormatDate(ac.getPubDate()));
account4Web.setStatus(null == restrict4Web.getIOFlowNotified() ? "已激活" : (restrict4Web.getIOFlowNotified() ? "已激活" : "流量用尽"));
account4Web.setPackageType(restrict4Web.getPackageName());
account4Web.setPastDate(ac.getPastDate());
if (ac.getPricelevel().equals(7L) || ac.getPricelevel().equals(8L) || ac.getPricelevel().equals(5L) || ac.getPricelevel().equals(6L)){
account4Web.setIo(restrict4Web.getThisMonthIOFlow());
account4Web.setTrack(restrict4Web.getTrackTotalFlow());
}else{
account4Web.setIo(restrict4Web.getThisMonthIOFlow());
account4Web.setTrack(restrict4Web.getTrackTotalFlow());
account4Web.setIoLimit(restrict4Web.getIOLimit());
account4Web.setTrackLimit(restrict4Web.getTrackLimit());
account4Web.setIoStatus(restrict4Web.getAllowBehavior());
account4Web.setTrackStatus(restrict4Web.getTrackFlowNotified());
double f = 1.0;
if((account4Web.getIo().doubleValue() != 0) && (null != account4Web.getIoLimit())){
if((account4Web.getIo().doubleValue() / account4Web.getIoLimit().doubleValue()) > f){
account4Web.setIoStatus(false);
account4Web.setStatus("流量用尽");
try{
AccountRestrict4Web restrict4Web = accountFlowRestrictService.findRestrictByAccount(ac.getId());
Account4Web account4Web = new Account4Web();
account4Web.setAccountId(ac.getId());
account4Web.setEmail(ac.getEmail());
account4Web.setCompany(ac.getCompany());
account4Web.setCreateDate(ac.getPubDate());
account4Web.setCreateDs(DateUtil.getFormatDate(ac.getPubDate()));
account4Web.setStatus(null == restrict4Web.getIOFlowNotified() ? "已激活" : (restrict4Web.getIOFlowNotified() ? "已激活" : "流量用尽"));
account4Web.setPackageType(restrict4Web.getPackageName());
account4Web.setPastDate(ac.getPastDate());
if (ac.getPricelevel().equals(7L) || ac.getPricelevel().equals(8L) || ac.getPricelevel().equals(5L) || ac.getPricelevel().equals(6L)){
account4Web.setIo(restrict4Web.getThisMonthIOFlow());
account4Web.setTrack(restrict4Web.getTrackTotalFlow());
}else{
account4Web.setIo(restrict4Web.getThisMonthIOFlow());
account4Web.setTrack(restrict4Web.getTrackTotalFlow());
account4Web.setIoLimit(restrict4Web.getIOLimit());
account4Web.setTrackLimit(restrict4Web.getTrackLimit());
account4Web.setIoStatus(restrict4Web.getAllowBehavior());
account4Web.setTrackStatus(restrict4Web.getTrackFlowNotified());
double f = 1.0;
if((account4Web.getIo().doubleValue() != 0) && (null != account4Web.getIoLimit())){
if((account4Web.getIo().doubleValue() / account4Web.getIoLimit().doubleValue()) > f){
account4Web.setIoStatus(false);
account4Web.setStatus("流量用尽");
}
}
}
if((account4Web.getTrack().doubleValue() != 0) && (null != account4Web.getTrackLimit())){
if((account4Web.getTrack().doubleValue() / account4Web.getTrackLimit().doubleValue()) > f){
account4Web.setTrackStatus(false);
account4Web.setStatus("流量用尽");
if((account4Web.getTrack().doubleValue() != 0) && (null != account4Web.getTrackLimit())){
if((account4Web.getTrack().doubleValue() / account4Web.getTrackLimit().doubleValue()) > f){
account4Web.setTrackStatus(false);
account4Web.setStatus("流量用尽");
}
}
}
account4Web.setUser(ac.getName());
account4Web.setTell(ac.getPhone());
account4Web.setBussinessMan(ac.getBussinessman());
list.add(account4Web);
} catch (Exception e){
logger.error("tkio task error :" + ac.getEmail());
}
account4Web.setUser(ac.getName());
account4Web.setTell(ac.getPhone());
account4Web.setBussinessMan(ac.getBussinessman());
list.add(account4Web);
}
}
//已过期的直接设置成过期
......@@ -113,5 +123,6 @@ public class AccountTask {
}
}
account4WebRepository.save(list);
logger.info("tkio task end :" + System.currentTimeMillis());
}
}
......@@ -12,7 +12,7 @@
<bean id="tkioAccountTask" class="tkio.task.AccountTask"></bean>
<task:scheduled-tasks>
<!--//定时同步短链数据(每5分钟执行一次)-->
<task:scheduled ref="tkioAccountTask" method="task" cron="0 22 2 * * ?"/>
<task:scheduled ref="tkioAccountTask" method="task" cron="0 38 2 * * ?"/>
</task:scheduled-tasks>
<bean id="tkioNoticeTask" class="tkio.task.NoticeTask"></bean>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment