| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485 |
- package com.goafanti.common.task;
- import java.io.UnsupportedEncodingException;
- import java.util.Date;
- import java.util.List;
- import javax.mail.MessagingException;
- import org.slf4j.Logger;
- import org.slf4j.LoggerFactory;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.scheduling.annotation.Scheduled;
- import org.springframework.stereotype.Component;
- import org.springframework.stereotype.Controller;
- import org.springframework.transaction.annotation.Transactional;
- import org.springframework.transaction.interceptor.TransactionAspectSupport;
- import org.springframework.web.bind.annotation.RequestMapping;
- import org.springframework.web.bind.annotation.RequestMethod;
- import com.goafanti.admin.bo.AdminListBo;
- import com.goafanti.common.enums.NoticeStatus;
- import com.goafanti.common.model.TOrderDun;
- import com.goafanti.common.utils.LoggerUtils;
- import com.goafanti.core.shiro.token.TokenManager;
- import com.goafanti.order.bo.OrderDunTaskBo;
- import com.goafanti.order.bo.TOrderNewBo;
- import com.goafanti.order.enums.OrderNewState;
- import com.goafanti.order.enums.ProjectNewStage;
- import com.goafanti.order.service.OrderNewService;
- import com.goafanti.order.service.impl.OrderNewServiceImpl;
- @Component
- //@Controller
- public class OrderDunTask {
- @Autowired
- private OrderNewService orderNewService;
-
- Logger logger = LoggerFactory.getLogger(OrderDunTask.class);
-
- /**
- * 每天凌晨2点轮询处理需要催款的信息
- */
-
- @Scheduled(cron = "0 0 11 * * ?")
- @RequestMapping(value = "/open/updateorderDun", method = RequestMethod.GET)
- @Transactional(rollbackFor=Exception.class)
- public void updateorderDun(){
- try {
- LoggerUtils.debug(logger, "======================催款任务轮询启动===================");
- List<OrderDunTaskBo> list=orderNewService.selectAllOrderDun();
- for (OrderDunTaskBo t : list) {
- if (t.getDunSubject()/10==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);
- }
- }
- }
- LoggerUtils.debug(logger, "======================催款任务轮询结束===================");
- } catch (Exception e) {
- LoggerUtils.error(getClass(), "=============================================");
- LoggerUtils.error(getClass(), "催款的信息处理失败", e);
- LoggerUtils.error(getClass(), "=============================================");
- }
-
- }
- private void updateOrderDun(OrderDunTaskBo t) throws UnsupportedEncodingException, MessagingException {
- LoggerUtils.debug(logger, "======================修改催款任务===================");
- TOrderDun tDun=new TOrderDun();
- tDun.setId(t.getId());
- tDun.setDunStatus(1);
- tDun.setStartTime(new Date());
- orderNewService.updateOrderDun(tDun);
- orderNewService.addNoticAndSendEmail(t.getOrderNo(),t,NoticeStatus.ORDER_DUN.getCode());
- }
-
- }
|