package com.yeshi.fanli.job;
|
|
import java.util.Calendar;
|
import java.util.Date;
|
import java.util.List;
|
|
import javax.annotation.Resource;
|
|
import org.springframework.scheduling.annotation.Scheduled;
|
import org.springframework.stereotype.Component;
|
|
import com.yeshi.fanli.entity.bus.user.cloud.UserCloudOrder;
|
import com.yeshi.fanli.entity.dynamic.GoodsEvaluate;
|
import com.yeshi.fanli.service.inter.dynamic.GoodsEvaluateService;
|
import com.yeshi.fanli.service.inter.user.cloud.UserCloudOrderService;
|
import com.yeshi.fanli.service.inter.user.cloud.UserCloudService;
|
import com.yeshi.fanli.service.manger.alipay.UserCloudAlipayManager;
|
import com.yeshi.fanli.util.Constant;
|
|
@Component
|
public class UserCloudJob {
|
@Resource
|
private UserCloudService userCloudService;
|
|
@Resource
|
private UserCloudOrderService userCloudOrderService;
|
|
@Resource
|
private UserCloudAlipayManager userCloudAlipayManager;
|
|
@Resource
|
private GoodsEvaluateService goodsEvaluateService;
|
|
/**
|
* 每十分钟检测是否付款
|
*/
|
@Scheduled(cron = "0 0/10 * * * ? ")
|
public void tradeQuery() {
|
if (!Constant.IS_TASK) {
|
return;
|
}
|
|
List<UserCloudOrder> list = userCloudOrderService.getLasthourByUnpaid();
|
if (list == null || list.size() == 0)
|
return;
|
|
for (UserCloudOrder cloudOrder : list) {
|
try {
|
userCloudAlipayManager.tradeQueryByOrderId(cloudOrder.getId());
|
} catch (Exception e) {
|
e.printStackTrace();
|
}
|
}
|
}
|
|
/**
|
* 定时检测是否存在新的发圈
|
*/
|
@Scheduled(cron = "0 0/20 * * * ? ")
|
public void dailyCount() {
|
if (!Constant.IS_TASK) {
|
return;
|
}
|
|
// 9-21 执行云发单
|
Calendar nowCalendar = Calendar.getInstance();
|
nowCalendar.setTimeInMillis(java.lang.System.currentTimeMillis());
|
int hour = nowCalendar.get(Calendar.HOUR_OF_DAY);
|
if (hour < 9 && hour > 21)
|
return;
|
|
// 一个小时之内最新发圈
|
long rand = 1000 * 60 * 60;
|
long time = java.lang.System.currentTimeMillis() - rand;
|
Date lastTime = new Date(time);
|
|
List<GoodsEvaluate> list = goodsEvaluateService.listByStartTime(lastTime);
|
if (list == null || list.size() == 0)
|
return;
|
|
userCloudService.fixedTimeSend(list.get(0).getId());
|
}
|
|
}
|