|
|
@@ -67,10 +67,9 @@ public class OrderDunTask {
|
|
|
@Autowired
|
|
|
private AsyncUtils asyncUtils;
|
|
|
Logger logger = LoggerFactory.getLogger(OrderDunTask.class);
|
|
|
-
|
|
|
+
|
|
|
/**
|
|
|
* 每天凌晨3点轮
|
|
|
- * @throws InterruptedException
|
|
|
*/
|
|
|
@ResponseBody
|
|
|
@Scheduled(cron = "0 0 3 * * ?")
|
|
|
@@ -121,57 +120,54 @@ public class OrderDunTask {
|
|
|
public void updateNewOrderDun(){
|
|
|
try {
|
|
|
LoggerUtils.debug(logger, "======================新催款任务轮询启动===================");
|
|
|
- List<OutNewOrderDunBo> list= newOrderDunService.selectAllOrderDun();
|
|
|
- Calendar now=Calendar.getInstance();
|
|
|
- Calendar now2=Calendar.getInstance();
|
|
|
- Date date =new Date();
|
|
|
- for (OutNewOrderDunBo o : list) {
|
|
|
- now.setTime(date);
|
|
|
- now2.setTime(o.getCreateTime());
|
|
|
- //特批首期款 计算出触发时间
|
|
|
- if (o!=null&&o.getApproval()!=null&&
|
|
|
- (o.getApproval()==1||o.getApproval()==2)&&
|
|
|
- o.getDunType()==1&&o.getWaitDay()!=null) {
|
|
|
- now2.add(Calendar.DATE, o.getWaitDay());
|
|
|
- //会员-期限 计算触发时间
|
|
|
- }else if(o.getProjectType()==OrderDunProjectType.HY.getCode()&&o.getDunType()==2) {
|
|
|
- now2.add(Calendar.DATE, o.getEffectiveCount()*180);
|
|
|
- CalendarTimeCleared(now2);
|
|
|
- if (now.getTimeInMillis() > now2.getTimeInMillis()) {//当前时间大于计算后时间则触发
|
|
|
- updateOrderDun(o);
|
|
|
- Thread.sleep(2000);
|
|
|
- }
|
|
|
- //财税-期限 计算时间
|
|
|
- } else if(o.getProjectType()==OrderDunProjectType.CS.getCode()&&o.getDunType()==2) {
|
|
|
- //获取年
|
|
|
- int year = now2.get(Calendar.YEAR);
|
|
|
- //获取月份,0表示1月份
|
|
|
- int month = now2.get(Calendar.MONTH) + 1;
|
|
|
- if(month<10)year=year+1;
|
|
|
- if(month>9)year=year+2;
|
|
|
- now2.set(year, 5, 1);
|
|
|
- CalendarTimeCleared(now2);
|
|
|
- //自定义 超过设置的时间则触发
|
|
|
- }else if (o.getDunType()==0) {
|
|
|
- now2.setTime(o.getCustomizeTime());
|
|
|
- CalendarTimeCleared(now);
|
|
|
- }
|
|
|
- if (now.getTimeInMillis() > now2.getTimeInMillis()) {
|
|
|
- updateOrderDun(o);
|
|
|
- Thread.sleep(2000);
|
|
|
+ List<OutNewOrderDunBo> list= newOrderDunService.selectAllOrderDun();
|
|
|
+ Calendar now=Calendar.getInstance();
|
|
|
+ Calendar now2=Calendar.getInstance();
|
|
|
+ Date date =new Date();
|
|
|
+ for (OutNewOrderDunBo o : list) {
|
|
|
+ now.setTime(date);
|
|
|
+ now2.setTime(o.getCreateTime());
|
|
|
+ //特批首期款 计算出触发时间
|
|
|
+ if (o.getApproval()!=null&&
|
|
|
+ (o.getApproval()==1||o.getApproval()==2)&&
|
|
|
+ o.getDunType()==1&&o.getWaitDay()!=null) {
|
|
|
+ now2.add(Calendar.DATE, o.getWaitDay());
|
|
|
+ //会员-期限 计算触发时间
|
|
|
+ }else if(o.getProjectType().equals(OrderDunProjectType.HY.getCode())&&o.getDunType()==2) {
|
|
|
+ now2.add(Calendar.DATE, o.getEffectiveCount()*180);
|
|
|
+ CalendarTimeCleared(now2);
|
|
|
+ if (now.getTimeInMillis() > now2.getTimeInMillis()) {//当前时间大于计算后时间则触发
|
|
|
+ updateOrderDun(o);
|
|
|
+ Thread.sleep(2000);
|
|
|
+ }
|
|
|
+ //财税-期限 计算时间
|
|
|
+ } else if(o.getProjectType().equals(OrderDunProjectType.CS.getCode())&&o.getDunType()==2) {
|
|
|
+ //获取年
|
|
|
+ int year = now2.get(Calendar.YEAR);
|
|
|
+ //获取月份,0表示1月份
|
|
|
+ int month = now2.get(Calendar.MONTH) + 1;
|
|
|
+ if(month<10)year=year+1;
|
|
|
+ if(month>9)year=year+2;
|
|
|
+ now2.set(year, 5, 1);
|
|
|
+ CalendarTimeCleared(now2);
|
|
|
+ //自定义 超过设置的时间则触发
|
|
|
+ }else if (o.getDunType()==0) {
|
|
|
+ now2.setTime(o.getCustomizeTime());
|
|
|
+ CalendarTimeCleared(now);
|
|
|
+ }
|
|
|
+ if (now.getTimeInMillis() > now2.getTimeInMillis()) {
|
|
|
+ updateOrderDun(o);
|
|
|
+ Thread.sleep(2000);
|
|
|
+ }
|
|
|
}
|
|
|
- }
|
|
|
-
|
|
|
} catch (Exception e) {
|
|
|
EmailBo emailBo = new EmailBo( "催款处理失败", AFTConstants.ADMIN_EMAIL, "超管", "平台", "系统", devName+"催款处理失败");
|
|
|
asyncUtils.send(emailBo);
|
|
|
- LoggerUtils.error(getClass(), "=============================================");
|
|
|
- LoggerUtils.error(getClass(), "新催款的信息处理失败", e);
|
|
|
- LoggerUtils.error(getClass(), "=============================================");
|
|
|
+ LoggerUtils.error(getClass(), "===================新催款的信息处理失败======================", e);
|
|
|
}
|
|
|
}
|
|
|
-
|
|
|
-
|
|
|
+
|
|
|
+
|
|
|
/**
|
|
|
* 处理付款催款
|
|
|
*/
|
|
|
@@ -183,10 +179,10 @@ public class OrderDunTask {
|
|
|
List<OutPaymentNode> list2=paymentNodeMapper.selectByStatus(0);
|
|
|
for (OutPaymentNode pn : list2) {
|
|
|
now2.setTime(pn.getCreateTime());
|
|
|
- if(pn.getProjectType()==OrderDunProjectType.HY.getCode()&&pn.getDunType()==2) {
|
|
|
+ if(pn.getProjectType().equals(OrderDunProjectType.HY.getCode())&&pn.getDunType()==2) {
|
|
|
now2.add(Calendar.DATE, pn.getEffectiveCount()*180);
|
|
|
CalendarTimeCleared(now2);
|
|
|
- }else if(pn.getProjectType()==OrderDunProjectType.CS.getCode()&&pn.getDunType()==2) {
|
|
|
+ }else if(pn.getProjectType().equals(OrderDunProjectType.CS.getCode())&&pn.getDunType()==2) {
|
|
|
// 获取年
|
|
|
int year = now2.get(Calendar.YEAR);
|
|
|
//获取月份,0表示1月份
|
|
|
@@ -209,12 +205,12 @@ public class OrderDunTask {
|
|
|
LoggerUtils.error(getClass(), "===========================付款催款失败==========================", e);
|
|
|
}
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
/**
|
|
|
* 每月1号凌晨4点轮询处理需要欠款催款的信息
|
|
|
*
|
|
|
*/
|
|
|
- @Scheduled(cron = "0 0 4 1 * ?")
|
|
|
+ @Scheduled(cron = "0 0 4 1 * ?")
|
|
|
@RequestMapping(value = "/open/pushOrderArrearsDun", method = RequestMethod.GET)
|
|
|
public void pushOrderArrearsDun(){
|
|
|
try {
|
|
|
@@ -263,7 +259,7 @@ public class OrderDunTask {
|
|
|
tArrearsDunMapper.updateByPrimaryKeySelective(ta);
|
|
|
}
|
|
|
Thread.sleep(2000);
|
|
|
-
|
|
|
+
|
|
|
}
|
|
|
for (TArrearsDun ta : list3) {
|
|
|
TOrderMid tm=tOrderMidMapper.selectByOrderNo(ta.getOrderNo());
|
|
|
@@ -285,44 +281,42 @@ public class OrderDunTask {
|
|
|
tArrearsDunMapper.updateByPrimaryKeySelective(ta);
|
|
|
}
|
|
|
Thread.sleep(2000);
|
|
|
-
|
|
|
+
|
|
|
}
|
|
|
} catch (Exception e) {
|
|
|
LoggerUtils.error(getClass(), "===========================欠款催款失败==========================", e);
|
|
|
}
|
|
|
}
|
|
|
-
|
|
|
- /**
|
|
|
- * 旧催款处理
|
|
|
- *
|
|
|
- */
|
|
|
- public void updateorderDun(){
|
|
|
- try {
|
|
|
- LoggerUtils.debug(logger, "======================催款任务轮询启动===================");
|
|
|
- List<OrderDunTaskBo> list=orderNewService.selectAllOrderDun();
|
|
|
- for (OrderDunTaskBo t : list) {
|
|
|
- if (t.getDunSubject()/10==1) {//1则为订单催款信息否则为项目催款信息
|
|
|
- if (t.getDunSubject()%10==t.getOrderStatus()&&t.getSettlementAmount().compareTo(t.getMoney()) == -1) {
|
|
|
- updateOrderDun(t);
|
|
|
- Thread.sleep(2000);
|
|
|
- }
|
|
|
- }else {
|
|
|
- if (t.getDunSubject()%10>=t.getProjectStatus()&&t.getSettlementAmount().compareTo(t.getMoney()) == -1) {
|
|
|
- updateOrderDun(t);
|
|
|
- Thread.sleep(2000);
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- } catch (Exception e) {
|
|
|
- LoggerUtils.error(getClass(), "=============================================");
|
|
|
- LoggerUtils.error(getClass(), "催款的信息处理失败", e);
|
|
|
- LoggerUtils.error(getClass(), "=============================================");
|
|
|
- }
|
|
|
-
|
|
|
- }
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
+
|
|
|
+// /**
|
|
|
+// * 旧催款处理
|
|
|
+// *
|
|
|
+// */
|
|
|
+// public void updateorderDun(){
|
|
|
+// try {
|
|
|
+// LoggerUtils.debug(logger, "======================催款任务轮询启动===================");
|
|
|
+// List<OrderDunTaskBo> list=orderNewService.selectAllOrderDun();
|
|
|
+// for (OrderDunTaskBo t : list) {
|
|
|
+// if (t.getDunSubject()/10==1) {//1则为订单催款信息否则为项目催款信息
|
|
|
+// if (t.getDunSubject()%10==t.getOrderStatus()&&t.getSettlementAmount().compareTo(t.getMoney()) == -1) {
|
|
|
+// updateOrderDun(t);
|
|
|
+// Thread.sleep(2000);
|
|
|
+// }
|
|
|
+// }else {
|
|
|
+// if (t.getDunSubject()%10>=t.getProjectStatus()&&t.getSettlementAmount().compareTo(t.getMoney()) == -1) {
|
|
|
+// updateOrderDun(t);
|
|
|
+// Thread.sleep(2000);
|
|
|
+// }
|
|
|
+// }
|
|
|
+// }
|
|
|
+// } catch (Exception e) {
|
|
|
+// LoggerUtils.error(getClass(), "==========================催款的信息处理失败==========================", e);
|
|
|
+// }
|
|
|
+//
|
|
|
+// }
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
private void updatePaymentNode(OutPaymentNode pn) {
|
|
|
PaymentNode p=new PaymentNode();
|
|
|
p.setId(pn.getId());
|
|
|
@@ -331,8 +325,8 @@ public class OrderDunTask {
|
|
|
paymentNodeMapper.updateByPrimaryKeySelective(p);
|
|
|
orderProjectService.addNoticAndEmail(pn,NoticeStatus.PAYMENT_DUN.getCode());
|
|
|
}
|
|
|
-
|
|
|
-
|
|
|
+
|
|
|
+
|
|
|
|
|
|
|
|
|
private void CalendarTimeCleared(Calendar now) {
|
|
|
@@ -343,7 +337,7 @@ public class OrderDunTask {
|
|
|
}
|
|
|
|
|
|
|
|
|
- private void updateOrderDun(OutNewOrderDunBo t) throws UnsupportedEncodingException, MessagingException {
|
|
|
+ private void updateOrderDun(OutNewOrderDunBo t) {
|
|
|
InputNewOrderDunBo o=new InputNewOrderDunBo();
|
|
|
TOrderNew orderNew=tOrderNewMapper.selectByPrimaryKey(t.getOrderNo());
|
|
|
Date date = new Date();
|
|
|
@@ -366,14 +360,13 @@ public class OrderDunTask {
|
|
|
}
|
|
|
orderNewService.addTimingTaskNewDunNoticAndSendEmail(orderNew, t);
|
|
|
}
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
- private void addNotic(String orderNo, TArrearsDun td, Integer code) throws UnsupportedEncodingException, MessagingException {
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ private void addNotic(String orderNo, TArrearsDun td, Integer code) {
|
|
|
TOrderNewBo b = tOrderNewMapper.getSaleIdByOno(orderNo);
|
|
|
- StringBuffer str =new StringBuffer();
|
|
|
- str=str.append(b.getUserName()).append(", 合同编号-").append(b.getContractNo())
|
|
|
+ StringBuffer str =new StringBuffer().append(b.getUserName()).append(", 合同编号-").append(b.getContractNo())
|
|
|
.append(", 订单编号-").append(orderNo).append(", 操作人: ").append(b.getSalesmanName()).append("。");
|
|
|
Notice n =new Notice();
|
|
|
n.setId(UUID.randomUUID().toString());
|
|
|
@@ -385,7 +378,7 @@ public class OrderDunTask {
|
|
|
}
|
|
|
|
|
|
|
|
|
-
|
|
|
+
|
|
|
|
|
|
|
|
|
private void updateOrderDun(OrderDunTaskBo t) throws UnsupportedEncodingException, MessagingException {
|
|
|
@@ -397,5 +390,5 @@ public class OrderDunTask {
|
|
|
orderNewService.updateOrderDun(tDun);
|
|
|
orderNewService.addNoticAndSendEmail(t.getOrderNo(),t,NoticeStatus.ORDER_DUN.getCode());
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
}
|