|
|
@@ -20,6 +20,7 @@ import com.goafanti.common.model.TOrderNew;
|
|
|
import com.goafanti.common.utils.LoggerUtils;
|
|
|
import com.goafanti.order.bo.InputNewOrderDunBo;
|
|
|
import com.goafanti.order.bo.OutNewOrderDunBo;
|
|
|
+import com.goafanti.order.enums.OrderDunProjectType;
|
|
|
import com.goafanti.order.service.NewOrderDunService;
|
|
|
import com.goafanti.order.service.OrderNewService;
|
|
|
|
|
|
@@ -50,14 +51,38 @@ public class OrderDunTask {
|
|
|
List<OutNewOrderDunBo> list= newOrderDunService.selectAllOrderDun();
|
|
|
Calendar calendar=Calendar.getInstance();
|
|
|
calendar.setTime(new Date());
|
|
|
+ Calendar calendar2=Calendar.getInstance();
|
|
|
for (OutNewOrderDunBo o : list) {
|
|
|
- Calendar calendar2=Calendar.getInstance();
|
|
|
- calendar2.setTime(o.getCreateTime());
|
|
|
- calendar2.add(Calendar.DATE, o.getWaitDay());
|
|
|
- if (calendar.getTimeInMillis() > calendar2.getTimeInMillis()) {//当前时间大于计算后时间则触发
|
|
|
- updateOrderDun( o);
|
|
|
- Thread.sleep(2000);
|
|
|
+ calendar2.setTime(o.getCreateTime());
|
|
|
+ if (o.getApproval()==2) {
|
|
|
+ calendar2.add(Calendar.DATE, o.getWaitDay());
|
|
|
+ if (calendar.getTimeInMillis() > calendar2.getTimeInMillis()) {//当前时间大于计算后时间则触发
|
|
|
+ updateOrderDun(o);
|
|
|
+ Thread.sleep(2000);
|
|
|
+ }
|
|
|
}
|
|
|
+ if(o.getProjectType()==OrderDunProjectType.HY.getCode()&&o.getDunType()==2) {
|
|
|
+ calendar2.add(Calendar.DATE, o.getEffectiveCount()*180);
|
|
|
+ CalendarTimeCleared(calendar2);
|
|
|
+ if (calendar.getTimeInMillis() > calendar2.getTimeInMillis()) {//当前时间大于计算后时间则触发
|
|
|
+ updateOrderDun(o);
|
|
|
+ Thread.sleep(2000);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if(o.getProjectType()==OrderDunProjectType.CS.getCode()&&o.getDunType()==2) {
|
|
|
+ //获取年
|
|
|
+ int year = calendar.get(Calendar.YEAR);
|
|
|
+ //获取月份,0表示1月份
|
|
|
+ int month = calendar.get(Calendar.MONTH) + 1;
|
|
|
+ if(month<10)year=year+1;
|
|
|
+ if(month>9)year=year+2;
|
|
|
+ calendar2.set(year, 6, 1);
|
|
|
+ CalendarTimeCleared(calendar2);
|
|
|
+ if (calendar.getTimeInMillis() > calendar2.getTimeInMillis()) {//当前时间大于计算后时间则触发
|
|
|
+ updateOrderDun(o);
|
|
|
+ Thread.sleep(2000);
|
|
|
+ }
|
|
|
+ }
|
|
|
|
|
|
}
|
|
|
LoggerUtils.debug(logger, "======================催款任务轮询结束===================");
|
|
|
@@ -69,6 +94,15 @@ public class OrderDunTask {
|
|
|
|
|
|
}
|
|
|
|
|
|
+
|
|
|
+ private void CalendarTimeCleared(Calendar calendar) {
|
|
|
+ calendar.set(Calendar.HOUR_OF_DAY, 0);
|
|
|
+ calendar.set(Calendar.MINUTE, 0);
|
|
|
+ calendar.set(Calendar.SECOND, 0);
|
|
|
+ calendar.set(Calendar.MILLISECOND, 0);
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
private void updateOrderDun(OutNewOrderDunBo t) throws UnsupportedEncodingException, MessagingException {
|
|
|
InputNewOrderDunBo o=new InputNewOrderDunBo();
|
|
|
o.setId(t.getId());
|