|
|
@@ -1,7 +1,6 @@
|
|
|
package com.goafanti.common.task;
|
|
|
|
|
|
|
|
|
-import com.goafanti.admin.bo.AdminListBo;
|
|
|
import com.goafanti.common.bo.EmailBo;
|
|
|
import com.goafanti.common.bo.ErrorDunListBo;
|
|
|
import com.goafanti.common.constant.AFTConstants;
|
|
|
@@ -13,7 +12,6 @@ import com.goafanti.common.model.TOrderMid;
|
|
|
import com.goafanti.common.model.TOrderNew;
|
|
|
import com.goafanti.common.utils.AsyncUtils;
|
|
|
import com.goafanti.common.utils.LoggerUtils;
|
|
|
-import com.goafanti.core.shiro.token.TokenManager;
|
|
|
import com.goafanti.order.bo.*;
|
|
|
import com.goafanti.order.enums.OrderDunProjectType;
|
|
|
import com.goafanti.order.service.LegalAffairsService;
|
|
|
@@ -241,101 +239,64 @@ public class OrderDunTask {
|
|
|
* 每月1号凌晨4点轮询处理需要欠款催款的信息
|
|
|
*
|
|
|
*/
|
|
|
- @Scheduled(cron = "0 0 4 1 * ?")
|
|
|
+// @Scheduled(cron = "0 0 4 1 * ?")
|
|
|
+ @Scheduled(cron = "0 33 9 * * ?")
|
|
|
// @RequestMapping(value = "/open/pushOrderArrearsDun", method = RequestMethod.GET)
|
|
|
- public void pushOrderArrearsDun(){
|
|
|
- try {
|
|
|
- LoggerUtils.debug(logger, "======================欠款催款启动===================");
|
|
|
- Date date=new Date();
|
|
|
- //运算 list(未启动) list2(催款中) list3(已完成)订单的欠款催款
|
|
|
- List<TArrearsDun> list=tArrearsDunMapper.selectStatusAll(0);
|
|
|
- List<TArrearsDun> list2=tArrearsDunMapper.selectStatusAll(1);
|
|
|
- List<TArrearsDun> list3=tArrearsDunMapper.selectStatusAndAmount(2);
|
|
|
- for (TArrearsDun td : list) {
|
|
|
- TOrderNewBo b = tOrderNewMapper.getSaleIdByOno(td.getOrderNo());
|
|
|
-
|
|
|
- TOrderMid tm=tOrderMidMapper.selectByOrderNo(td.getOrderNo());
|
|
|
- if (b==null||b.getDeleteSign()==null||b.getDeleteSign()==1){
|
|
|
- td.setDunStatus(3);
|
|
|
- td.setEndTime(date);
|
|
|
- td.setOrderArrears(tm.getOrderArrears());
|
|
|
- tArrearsDunMapper.updateByPrimaryKeySelective(td);
|
|
|
- }else if (tm.getOrderArrears().compareTo(new BigDecimal(0))>0) {
|
|
|
- //如果欠款大于0则需要触发邮件
|
|
|
- td.setDunStatus(1);
|
|
|
- td.setStartTime(date);
|
|
|
- td.setOrderArrears(tm.getOrderArrears());
|
|
|
- td.setOrderReceivables(tm.getOrderReceivables());
|
|
|
- orderNewService.addNotic(NoticeStatus.ORDER_ARREARS_DUN.getCode(),b,null);
|
|
|
- tArrearsDunMapper.updateByPrimaryKeySelective(td);
|
|
|
- }else if(tm.getOrderArrears().compareTo(new BigDecimal(0))<1) {
|
|
|
- td.setDunStatus(2);
|
|
|
- td.setEndTime(date);
|
|
|
- td.setOrderArrears(tm.getOrderArrears());
|
|
|
- tArrearsDunMapper.updateByPrimaryKeySelective(td);
|
|
|
- }
|
|
|
- Thread.sleep(2000);
|
|
|
- }
|
|
|
- for (TArrearsDun ta : list2) {
|
|
|
- TOrderMid tm=tOrderMidMapper.selectByOrderNo(ta.getOrderNo());
|
|
|
- TOrderNewBo b = tOrderNewMapper.getSaleIdByOno(ta.getOrderNo());
|
|
|
- if (b==null||b.getDeleteSign()==null||b.getDeleteSign()==1){
|
|
|
- ta.setDunStatus(3);
|
|
|
- ta.setEndTime(date);
|
|
|
- ta.setOrderArrears(tm.getOrderArrears());
|
|
|
- tArrearsDunMapper.updateByPrimaryKeySelective(ta);
|
|
|
- }else if (tm.getOrderArrears().compareTo(new BigDecimal(0))>0) {
|
|
|
- //如果欠款大于0则需要触发邮件
|
|
|
- ta.setDunStatus(3);
|
|
|
- tArrearsDunMapper.updateByPrimaryKeySelective(ta);
|
|
|
- ta.setId(null);
|
|
|
- ta.setDunStatus(1);
|
|
|
- ta.setStartTime(date);
|
|
|
- ta.setOrderArrears(tm.getOrderArrears());
|
|
|
- ta.setOrderReceivables(tm.getOrderReceivables());
|
|
|
- tArrearsDunMapper.insertSelective(ta);
|
|
|
- orderNewService.addNotic(NoticeStatus.ORDER_ARREARS_DUN.getCode(),b,null);
|
|
|
- }else if(tm.getOrderArrears().compareTo(new BigDecimal(0))<1) {
|
|
|
- ta.setDunStatus(2);
|
|
|
- ta.setOrderArrears(tm.getOrderArrears());
|
|
|
- tArrearsDunMapper.updateByPrimaryKeySelective(ta);
|
|
|
- }
|
|
|
- Thread.sleep(2000);
|
|
|
+ public void pushOrderArrearsDun() {
|
|
|
+ try {
|
|
|
+ LoggerUtils.debug(logger, "======================欠款催款启动===================");
|
|
|
+ Date date = new Date();
|
|
|
+
|
|
|
+ List<TArrearsDun> list = tArrearsDunMapper.selectStatusAll(0);
|
|
|
+ List<TArrearsDun> list2 = tArrearsDunMapper.selectStatusAll(1);
|
|
|
+ List<TArrearsDun> list3 = tArrearsDunMapper.selectStatusAndAmount(2);
|
|
|
+
|
|
|
+ processList(list, date);
|
|
|
+ processList(list2, date);
|
|
|
+ processList(list3, date);
|
|
|
+
|
|
|
+ LoggerUtils.debug(getClass(), "===========================欠款催款完成==========================");
|
|
|
+ } catch (Exception e) {
|
|
|
+ LoggerUtils.error(getClass(), "===========================欠款催款失败==========================", e);
|
|
|
+ }
|
|
|
+}
|
|
|
|
|
|
- }
|
|
|
- for (TArrearsDun ta : list3) {
|
|
|
- TOrderMid tm=tOrderMidMapper.selectByOrderNo(ta.getOrderNo());
|
|
|
- TOrderNewBo b = tOrderNewMapper.getSaleIdByOno(ta.getOrderNo());
|
|
|
- AdminListBo a = adminMapper.getDeptNameByAid(TokenManager.getAdminId()==null?"1":TokenManager.getAdminId());
|
|
|
- if (b==null||b.getDeleteSign()==null||b.getDeleteSign()==1){
|
|
|
- ta.setDunStatus(3);
|
|
|
- ta.setEndTime(date);
|
|
|
- ta.setOrderArrears(tm.getOrderArrears());
|
|
|
- tArrearsDunMapper.updateByPrimaryKeySelective(ta);
|
|
|
- }else if (tm.getOrderArrears().compareTo(new BigDecimal(0))>0) {
|
|
|
- //如果欠款大于0则需要触发邮件
|
|
|
- ta.setDunStatus(3);
|
|
|
- tArrearsDunMapper.updateByPrimaryKeySelective(ta);
|
|
|
- ta.setId(null);
|
|
|
- ta.setDunStatus(1);
|
|
|
- ta.setStartTime(date);
|
|
|
- ta.setOrderArrears(tm.getOrderArrears());
|
|
|
- ta.setOrderReceivables(tm.getOrderReceivables());
|
|
|
- tArrearsDunMapper.insertSelective(ta);
|
|
|
- orderNewService.addNotic(NoticeStatus.ORDER_ARREARS_DUN.getCode(),b,null);
|
|
|
- }else if(tm.getOrderArrears().compareTo(new BigDecimal(0))<1) {
|
|
|
- ta.setDunStatus(2);
|
|
|
- ta.setOrderReceivables(tm.getOrderReceivables());
|
|
|
- ta.setOrderArrears(tm.getOrderArrears());
|
|
|
- tArrearsDunMapper.updateByPrimaryKeySelective(ta);
|
|
|
- }
|
|
|
- Thread.sleep(2000);
|
|
|
+private void processList(List<TArrearsDun> tarrearsList, Date date) {
|
|
|
+ for (TArrearsDun ta : tarrearsList) {
|
|
|
+ TOrderMid tm = tOrderMidMapper.selectByOrderNo(ta.getOrderNo());
|
|
|
+ TOrderNewBo b = tOrderNewMapper.getSaleIdByOno(ta.getOrderNo());
|
|
|
+
|
|
|
+ if (b == null || b.getDeleteSign() == null || b.getDeleteSign() == 1) {
|
|
|
+ ta.setDunStatus(3);
|
|
|
+ ta.setEndTime(date);
|
|
|
+ ta.setOrderArrears(tm.getOrderArrears());
|
|
|
+ tArrearsDunMapper.updateByPrimaryKeySelective(ta);
|
|
|
+ } else {
|
|
|
+ BigDecimal arrears = tm.getOrderArrears();
|
|
|
+ if (arrears.compareTo(BigDecimal.ZERO) > 0) {
|
|
|
+ // 欠款大于0则触发邮件并新建记录
|
|
|
+ ta.setDunStatus(3);
|
|
|
+ tArrearsDunMapper.updateByPrimaryKeySelective(ta);
|
|
|
+ ta.setId(null);
|
|
|
+ ta.setDunStatus(1);
|
|
|
+ ta.setStartTime(date);
|
|
|
+ ta.setOrderArrears(arrears);
|
|
|
+ ta.setOrderReceivables(tm.getOrderReceivables());
|
|
|
+ tArrearsDunMapper.insertSelective(ta);
|
|
|
+ orderNewService.addNotic(NoticeStatus.ORDER_ARREARS_DUN.getCode(), b, null);
|
|
|
+ } else if (arrears.compareTo(BigDecimal.ZERO) <= 0) {
|
|
|
+ ta.setDunStatus(2);
|
|
|
+ ta.setOrderArrears(arrears);
|
|
|
+ ta.setOrderReceivables(tm.getOrderReceivables());
|
|
|
+ tArrearsDunMapper.updateByPrimaryKeySelective(ta);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ // 若确实需要限流,请使用异步方式替代 Thread.sleep()
|
|
|
+ // Thread.sleep(200); // 建议删除或改为异步处理
|
|
|
+ }
|
|
|
+}
|
|
|
|
|
|
- }
|
|
|
- } catch (Exception e) {
|
|
|
- LoggerUtils.error(getClass(), "===========================欠款催款失败==========================", e);
|
|
|
- }
|
|
|
- }
|
|
|
|
|
|
// /**
|
|
|
// * 旧催款处理
|