|
|
@@ -1,6 +1,7 @@
|
|
|
package com.goafanti.order.service.impl;
|
|
|
|
|
|
|
|
|
+import java.io.UnsupportedEncodingException;
|
|
|
import java.math.BigDecimal;
|
|
|
import java.text.ParseException;
|
|
|
import java.text.SimpleDateFormat;
|
|
|
@@ -10,15 +11,22 @@ import java.util.List;
|
|
|
import java.util.Map;
|
|
|
import java.util.UUID;
|
|
|
|
|
|
+import javax.mail.MessagingException;
|
|
|
+
|
|
|
import org.apache.commons.lang3.StringUtils;
|
|
|
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
|
|
|
+import org.slf4j.Logger;
|
|
|
+import org.slf4j.LoggerFactory;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.beans.factory.annotation.Value;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
|
import com.alibaba.fastjson.JSON;
|
|
|
+import com.goafanti.admin.bo.AdminListBo;
|
|
|
+import com.goafanti.common.bo.EmailBo;
|
|
|
import com.goafanti.common.bo.Error;
|
|
|
import com.goafanti.common.constant.ErrorConstants;
|
|
|
+import com.goafanti.common.dao.AdminMapper;
|
|
|
import com.goafanti.common.dao.OrganizationContactBookMapper;
|
|
|
import com.goafanti.common.dao.TDunLogMapper;
|
|
|
import com.goafanti.common.dao.TOrderBackMapper;
|
|
|
@@ -35,13 +43,16 @@ import com.goafanti.common.model.TOrderDun;
|
|
|
import com.goafanti.common.model.TOrderNew;
|
|
|
import com.goafanti.common.model.TOrderRefundWithBLOBs;
|
|
|
import com.goafanti.common.model.TOrderTask;
|
|
|
+import com.goafanti.common.task.OrderReportTask;
|
|
|
import com.goafanti.common.utils.ExportExcelUtil;
|
|
|
+import com.goafanti.common.utils.LoggerUtils;
|
|
|
+import com.goafanti.common.utils.SendEmailUtil;
|
|
|
import com.goafanti.core.mybatis.BaseMybatisDao;
|
|
|
import com.goafanti.core.mybatis.JDBCIdGenerator;
|
|
|
import com.goafanti.core.mybatis.page.Pagination;
|
|
|
import com.goafanti.core.shiro.token.TokenManager;
|
|
|
import com.goafanti.customer.bo.LockingReleaseBo;
|
|
|
-import com.goafanti.order.bo.OrderRefundBo;
|
|
|
+import com.goafanti.order.bo.OrderDunTaskBo;
|
|
|
import com.goafanti.order.bo.OrderRefundDetailBo;
|
|
|
import com.goafanti.order.bo.TDunLogListBo;
|
|
|
import com.goafanti.order.bo.TOrderNewBo;
|
|
|
@@ -50,6 +61,7 @@ import com.goafanti.order.bo.TOrderTaskBo;
|
|
|
import com.goafanti.order.enums.ActiveState;
|
|
|
import com.goafanti.order.enums.ApprovalNewState;
|
|
|
import com.goafanti.order.enums.LiquidationNewState;
|
|
|
+import com.goafanti.order.enums.OrderDunSubject;
|
|
|
import com.goafanti.order.enums.OrderNewState;
|
|
|
import com.goafanti.order.enums.ProcessStatus;
|
|
|
import com.goafanti.order.enums.ProjectNewStage;
|
|
|
@@ -76,6 +88,8 @@ public class OrderNewServiceImpl extends BaseMybatisDao<TOrderNewMapper> impleme
|
|
|
@Autowired
|
|
|
private JDBCIdGenerator idGenerator;
|
|
|
@Autowired
|
|
|
+ private AdminMapper adminMapper;
|
|
|
+ @Autowired
|
|
|
private UserLockReleaseMapper userLockReleaseMapper;
|
|
|
@Value(value = "${mobileRemindCodeTemplate}")
|
|
|
private String mobileRemindCodeTemplate = null;
|
|
|
@@ -88,7 +102,7 @@ public class OrderNewServiceImpl extends BaseMybatisDao<TOrderNewMapper> impleme
|
|
|
@Value(value = "${accessSecret}")
|
|
|
private String accessSecret = null;
|
|
|
|
|
|
-
|
|
|
+ Logger logger = LoggerFactory.getLogger(OrderNewServiceImpl.class);
|
|
|
|
|
|
|
|
|
@Override
|
|
|
@@ -283,6 +297,7 @@ public class OrderNewServiceImpl extends BaseMybatisDao<TOrderNewMapper> impleme
|
|
|
ob.setBackStatus(0);//待处理
|
|
|
ob.setInitiate(TokenManager.getAdminId()==null?"1":TokenManager.getAdminId());
|
|
|
ob.setAccept(tOrder.getSalesmanId());
|
|
|
+ SendEmail(orderNo,null);
|
|
|
tOrderBackMapper.insertSelective(ob);
|
|
|
}
|
|
|
|
|
|
@@ -332,11 +347,12 @@ public class OrderNewServiceImpl extends BaseMybatisDao<TOrderNewMapper> impleme
|
|
|
|
|
|
@Override
|
|
|
public int addOrderRefund(TOrderRefundWithBLOBs t) {
|
|
|
+ TOrderNew order =tOrderNewMapper.selectByPrimaryKey(t.getOrderNo());
|
|
|
t.setRefundStatus(refundState.DSH.getCode());
|
|
|
t.setCreateTime(new Date());
|
|
|
t.setInitiate(TokenManager.getAdminId()==null?"1":TokenManager.getAdminId());
|
|
|
- t.setAccept("1");
|
|
|
- //t.setAccept(tOrder.getFinanceId());
|
|
|
+ //t.setAccept("1");
|
|
|
+ t.setAccept(order.getFinanceId());
|
|
|
t.setResult("");
|
|
|
TOrderNew tOrder=new TOrderNew();
|
|
|
tOrder.setOrderNo(t.getOrderNo());
|
|
|
@@ -526,8 +542,55 @@ public class OrderNewServiceImpl extends BaseMybatisDao<TOrderNewMapper> impleme
|
|
|
return -1;
|
|
|
}
|
|
|
t.setOrderStatus(OrderNewState.YBH.getCode());
|
|
|
+ SendEmail(orderNo,null);
|
|
|
return tOrderNewMapper.updateByPrimaryKey(t);
|
|
|
}
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public List<OrderDunTaskBo> selectAllOrderDun() {
|
|
|
+ return tOrderDunMapper.getTaskAllOrderDun();
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public void updateOrderDun(TOrderDun tDun) {
|
|
|
+ tOrderDunMapper.updateByPrimaryKeySelective(tDun);
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public void SendEmail(String orderNo,String dunId){
|
|
|
+ String id=TokenManager.getAdminId()==null?"1":TokenManager.getAdminId();
|
|
|
+ AdminListBo a = adminMapper.getDeptNameByAid(id);
|
|
|
+ TOrderNewBo b = tOrderNewMapper.getSaleIdByOno(orderNo);
|
|
|
+ String content = "<div>客户名称: "+ b.getUserName() +"</div><div>订单编号: " + orderNo + "</div>";
|
|
|
+ String tite="订单驳回";
|
|
|
+ try {
|
|
|
+ if(StringUtils.isNotBlank(dunId)) {
|
|
|
+ TOrderDun tDun=tOrderDunMapper.selectByPrimaryKey(dunId);
|
|
|
+ content +="<div>催收时间: " + new SimpleDateFormat("yyyy-MM-dd").format(tDun.getCreateTime()) +
|
|
|
+ "</div><div>催收科目: " + OrderDunSubject.getValueByCode(tDun.getDunSubject()) +
|
|
|
+ "</div><div>催收情况: " + (tDun.getDunStatus()==1?"已完成":"未完成") +"</div>";
|
|
|
+ tite="催收通知";
|
|
|
+ }
|
|
|
+ //发送驳回邮件
|
|
|
+ EmailBo bo = new EmailBo(tite, b.getEmail(), b.getSalesmanName(), a.getDepartmentName(), a.getName(), content);
|
|
|
+ SendEmailUtil.send(bo);
|
|
|
+ LoggerUtils.debug(logger, "=========================================发送邮件成功");
|
|
|
+ } catch (UnsupportedEncodingException e) {
|
|
|
+ LoggerUtils.error(getClass(), "发送邮件失败", e);
|
|
|
+ } catch (MessagingException e) {
|
|
|
+ LoggerUtils.error(getClass(), "发送邮件失败", e);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
|
|
|
|
|
|
|