OrderDunTask.java 3.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485
  1. package com.goafanti.common.task;
  2. import java.io.UnsupportedEncodingException;
  3. import java.util.Date;
  4. import java.util.List;
  5. import javax.mail.MessagingException;
  6. import org.slf4j.Logger;
  7. import org.slf4j.LoggerFactory;
  8. import org.springframework.beans.factory.annotation.Autowired;
  9. import org.springframework.scheduling.annotation.Scheduled;
  10. import org.springframework.stereotype.Component;
  11. import org.springframework.stereotype.Controller;
  12. import org.springframework.transaction.annotation.Transactional;
  13. import org.springframework.transaction.interceptor.TransactionAspectSupport;
  14. import org.springframework.web.bind.annotation.RequestMapping;
  15. import org.springframework.web.bind.annotation.RequestMethod;
  16. import com.goafanti.admin.bo.AdminListBo;
  17. import com.goafanti.common.enums.NoticeStatus;
  18. import com.goafanti.common.model.TOrderDun;
  19. import com.goafanti.common.utils.LoggerUtils;
  20. import com.goafanti.core.shiro.token.TokenManager;
  21. import com.goafanti.order.bo.OrderDunTaskBo;
  22. import com.goafanti.order.bo.TOrderNewBo;
  23. import com.goafanti.order.enums.OrderNewState;
  24. import com.goafanti.order.enums.ProjectNewStage;
  25. import com.goafanti.order.service.OrderNewService;
  26. import com.goafanti.order.service.impl.OrderNewServiceImpl;
  27. @Component
  28. //@Controller
  29. public class OrderDunTask {
  30. @Autowired
  31. private OrderNewService orderNewService;
  32. Logger logger = LoggerFactory.getLogger(OrderDunTask.class);
  33. /**
  34. * 每天凌晨2点轮询处理需要催款的信息
  35. */
  36. @Scheduled(cron = "0 27 17 * * ?")
  37. @RequestMapping(value = "/open/updateorderDun", method = RequestMethod.GET)
  38. @Transactional(rollbackFor=Exception.class)
  39. public void updateorderDun(){
  40. try {
  41. LoggerUtils.debug(logger, "======================催款任务轮询启动===================");
  42. List<OrderDunTaskBo> list=orderNewService.selectAllOrderDun();
  43. for (OrderDunTaskBo t : list) {
  44. if (t.getDunSubject()/10==1) {
  45. if (t.getDunSubject()%10==t.getOrderStatus()&&t.getSettlementAmount().compareTo(t.getMoney()) == -1) {
  46. updateOrderDun(t);
  47. Thread.sleep(2000);
  48. }
  49. }else {
  50. if (t.getDunSubject()%10>=t.getProjectStatus()&&t.getSettlementAmount().compareTo(t.getMoney()) == -1) {
  51. updateOrderDun(t);
  52. Thread.sleep(2000);
  53. }
  54. }
  55. }
  56. LoggerUtils.debug(logger, "======================催款任务轮询结束===================");
  57. } catch (Exception e) {
  58. LoggerUtils.error(getClass(), "=============================================");
  59. LoggerUtils.error(getClass(), "催款的信息处理失败", e);
  60. LoggerUtils.error(getClass(), "=============================================");
  61. }
  62. }
  63. private void updateOrderDun(OrderDunTaskBo t) throws UnsupportedEncodingException, MessagingException {
  64. LoggerUtils.debug(logger, "======================修改催款任务===================");
  65. TOrderDun tDun=new TOrderDun();
  66. tDun.setId(t.getId());
  67. tDun.setDunStatus(1);
  68. tDun.setStartTime(new Date());
  69. orderNewService.updateOrderDun(tDun);
  70. orderNewService.addNoticAndSendEmail(t.getOrderNo(),t,NoticeStatus.ORDER_DUN.getCode());
  71. }
  72. }