Commit 3f375b2e authored by 周健威's avatar 周健威

修改发送消息

parent d41a3c88
...@@ -275,11 +275,13 @@ public class BaseOrderBiz extends BaseBiz<BaseOrderMapper,BaseOrder> { ...@@ -275,11 +275,13 @@ public class BaseOrderBiz extends BaseBiz<BaseOrderMapper,BaseOrder> {
AppUserDTO appUserDTO = userFeign.userDetailById(baseOrder.getUserId()).getData(); AppUserDTO appUserDTO = userFeign.userDetailById(baseOrder.getUserId()).getData();
//处理App用户提醒短信的发送 //处理App用户提醒短信的发送
orderMsgBiz.handelAppUserMsg(orvd, omd, baseOrder, appUserDTO); // orderMsgBiz.handelAppUserMsg(orvd, omd, baseOrder, appUserDTO);
orderMsgBiz.handelMsgPayNew(orvd, otd, omd, baseOrder, appUserDTO);
//处理后台用户提醒短信的发送 //处理后台用户提醒短信的发送
orderMsgBiz.handelBgUserMsg4Pay(orvd, baseOrder, appUserDTO, OrderMsgBiz.RENT_PAY); // orderMsgBiz.handelBgUserMsg4Pay(orvd, baseOrder, appUserDTO, OrderMsgBiz.RENT_PAY);
sendOrderMq(orvd, otd, omd, baseOrder, OrderMQDTO.ORDER_PAY); // sendOrderMq(orvd, otd, omd, baseOrder, OrderMQDTO.ORDER_PAY);
if(OrderTypeEnum.MEMBER.getCode().equals(baseOrder.getType())) { if(OrderTypeEnum.MEMBER.getCode().equals(baseOrder.getType())) {
sendOrderMq(orvd, otd, omd, baseOrder, OrderMQDTO.ORDER_FINISH); sendOrderMq(orvd, otd, omd, baseOrder, OrderMQDTO.ORDER_FINISH);
} }
......
...@@ -3,7 +3,9 @@ package com.xxfc.platform.order.biz; ...@@ -3,7 +3,9 @@ package com.xxfc.platform.order.biz;
import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.util.StrUtil; import cn.hutool.core.util.StrUtil;
import cn.hutool.json.JSONUtil; import cn.hutool.json.JSONUtil;
import com.github.wxiaoqi.security.admin.feign.UserFeign;
import com.github.wxiaoqi.security.common.util.IntervalUtil; import com.github.wxiaoqi.security.common.util.IntervalUtil;
import com.xxfc.platform.order.biz.inner.OrderMsgBiz;
import com.xxfc.platform.order.contant.enumerate.*; import com.xxfc.platform.order.contant.enumerate.*;
import com.xxfc.platform.order.entity.*; import com.xxfc.platform.order.entity.*;
import com.xxfc.platform.order.pojo.DedDetailDTO; import com.xxfc.platform.order.pojo.DedDetailDTO;
...@@ -52,6 +54,12 @@ public class OrderRefundBiz extends BaseBiz<OrderRefundMapper,OrderRefund> { ...@@ -52,6 +54,12 @@ public class OrderRefundBiz extends BaseBiz<OrderRefundMapper,OrderRefund> {
@Autowired @Autowired
OrderViolationBiz orderViolationBiz; OrderViolationBiz orderViolationBiz;
@Autowired
OrderMsgBiz orderMsgBiz;
@Autowired
UserFeign userFeign;
/** /**
* 退还部分押金 * 退还部分押金
* @param orderMQDTO * @param orderMQDTO
...@@ -76,6 +84,8 @@ public class OrderRefundBiz extends BaseBiz<OrderRefundMapper,OrderRefund> { ...@@ -76,6 +84,8 @@ public class OrderRefundBiz extends BaseBiz<OrderRefundMapper,OrderRefund> {
} }
refundDesc += ")"; refundDesc += ")";
refundTrigger(orderMQDTO, orderMQDTO.getOrderRentVehicleDetail(), illegalReserve, originalRefundAmount, refundAmont, refundDesc, RefundStatusEnum.RESIDUE_ILLEGAL.getCode(), RefundTypeEnum.PART_DEPOSIT); refundTrigger(orderMQDTO, orderMQDTO.getOrderRentVehicleDetail(), illegalReserve, originalRefundAmount, refundAmont, refundDesc, RefundStatusEnum.RESIDUE_ILLEGAL.getCode(), RefundTypeEnum.PART_DEPOSIT);
orderMsgBiz.handelMsgDeposit(orderMQDTO.getOrderRentVehicleDetail(), orderMQDTO, userFeign.userDetailById(orderMQDTO.getUserId()).getData());
} }
// else { // else {
// //还车扣除款 剩余的 钱,再减去违章预备金 // //还车扣除款 剩余的 钱,再减去违章预备金
......
...@@ -136,7 +136,8 @@ public class OrderCancelBiz { ...@@ -136,7 +136,8 @@ public class OrderCancelBiz {
try { try {
AppUserDTO appUserDTO = userFeign.userDetailById(baseOrder.getUserId()).getData(); AppUserDTO appUserDTO = userFeign.userDetailById(baseOrder.getUserId()).getData();
//处理后台用户提醒短信的发送 //处理后台用户提醒短信的发送
orderMsgBiz.handelBgUserMsg4Pay(orvd, baseOrder, appUserDTO, OrderMsgBiz.RENT_CANCEL); // orderMsgBiz.handelBgUserMsg4Pay(orvd, baseOrder, appUserDTO, OrderMsgBiz.RENT_CANCEL);
orderMsgBiz.handelMsgCancel(orvd, otd, omd, baseOrder, appUserDTO);
}catch (Exception e) { }catch (Exception e) {
log.error(e.getMessage(), e); log.error(e.getMessage(), e);
} }
......
...@@ -3,10 +3,13 @@ package com.xxfc.platform.order.biz.inner; ...@@ -3,10 +3,13 @@ package com.xxfc.platform.order.biz.inner;
import cn.hutool.core.date.DateUtil; import cn.hutool.core.date.DateUtil;
import com.github.wxiaoqi.security.admin.feign.UserFeign; import com.github.wxiaoqi.security.admin.feign.UserFeign;
import com.github.wxiaoqi.security.admin.feign.dto.AppUserDTO; import com.github.wxiaoqi.security.admin.feign.dto.AppUserDTO;
import com.github.wxiaoqi.security.common.exception.BaseException;
import com.github.wxiaoqi.security.common.util.process.ResultCode;
import com.xxfc.platform.app.entity.Cofig; import com.xxfc.platform.app.entity.Cofig;
import com.xxfc.platform.app.feign.ConfigFeign; import com.xxfc.platform.app.feign.ConfigFeign;
import com.xxfc.platform.order.biz.OrderRefundBiz; import com.xxfc.platform.order.biz.OrderRefundBiz;
import com.xxfc.platform.order.contant.enumerate.OrderTypeEnum; import com.xxfc.platform.order.contant.enumerate.OrderTypeEnum;
import com.xxfc.platform.order.contant.enumerate.RefundStatusEnum;
import com.xxfc.platform.order.contant.enumerate.RefundTypeEnum; import com.xxfc.platform.order.contant.enumerate.RefundTypeEnum;
import com.xxfc.platform.order.entity.BaseOrder; import com.xxfc.platform.order.entity.BaseOrder;
import com.xxfc.platform.order.entity.OrderMemberDetail; import com.xxfc.platform.order.entity.OrderMemberDetail;
...@@ -26,6 +29,7 @@ import org.springframework.stereotype.Service; ...@@ -26,6 +29,7 @@ import org.springframework.stereotype.Service;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.HashSet;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
...@@ -48,17 +52,6 @@ public class OrderMsgBiz { ...@@ -48,17 +52,6 @@ public class OrderMsgBiz {
public static final int RENT_DELIVERY = 2; public static final int RENT_DELIVERY = 2;
public static final int RENT_CANCEL = 3; public static final int RENT_CANCEL = 3;
//
public static final int PAY = 1;
public static final int CANCEL = 2;
//客户通知2
// public static final int RENT_APP_A = 4;
// public static final int RENT_APP_B = 5;
// public static final int TOUR_APP = 6;
// public static final int MEMBER_APP = 7;
//参数 //参数
public static final String USER_N = "尊敬的客户"; public static final String USER_N = "尊敬的客户";
public static final String USER_M = "尊贵的会员"; public static final String USER_M = "尊贵的会员";
...@@ -273,25 +266,42 @@ public class OrderMsgBiz { ...@@ -273,25 +266,42 @@ public class OrderMsgBiz {
List<String> smsParams = new ArrayList<String>(); List<String> smsParams = new ArrayList<String>();
switch (orderTypeEnum) { switch (orderTypeEnum) {
case RENT_VEHICLE: case RENT_VEHICLE:
CompanyDetail startCompanyDetail = vehicleFeign.getCompanyDetail(orvd.getStartCompanyId()).getData();
CompanyDetail endCompanyDetail = vehicleFeign.getCompanyDetail(orvd.getEndCompanyId()).getData();
if(null != orvd.getEndCompanyId() && !SYS_FALSE.equals(orvd.getEndCompanyId())) { if(null != orvd.getEndCompanyId() && !SYS_FALSE.equals(orvd.getEndCompanyId())) {
//查询押金退款记录 //查询订单退款记录
OrderRefund orderRefund = orderRefundBiz.selectOne(new OrderRefund(){{ OrderRefund orderRefund = orderRefundBiz.selectOne(new OrderRefund(){{
setOrderId(baseOrder.getId()); setOrderId(baseOrder.getId());
setRefundType(RefundTypeEnum.DEPOSIT.getCode()); setRefundType(RefundTypeEnum.DEPOSIT.getCode());
}}); }});
// if(BigDecimal.ZERO.equals(orderRefund)) //查询押金退款记录
OrderRefund depositOrderRefund = orderRefundBiz.selectOne(new OrderRefund(){{
setOrderId(baseOrder.getId());
setRefundType(RefundTypeEnum.DEPOSIT.getCode());
}});
if(BigDecimal.ZERO.equals(orderRefund.getDeductAmount())) {
//使用免费天数 //使用免费天数
if(null != orvd.getFreeDays() && orvd.getFreeDays() > 0) { if(null != orvd.getFreeDays() && orvd.getFreeDays() > 0) {
smstype = SmsTemplateDTO.CANCEL_B; smstype = SmsTemplateDTO.CANCEL_B;
}else { }else {
smstype = SmsTemplateDTO.CANCEL_A; smstype = SmsTemplateDTO.CANCEL_A;
} }
}else {
//使用免费天数
if(null != orvd.getFreeDays() && orvd.getFreeDays() > 0) {
smstype = SmsTemplateDTO.CANCEL_D;
}else {
smstype = SmsTemplateDTO.CANCEL_C;
}
}
sms2AppUser(orvd, otd, omd, baseOrder, appUserDTO, smstype, smsParams); //发送用户取消消息
sms2RefundAppUser(BigDecimal.ZERO, orderRefund.getDeductAmount(), depositOrderRefund.getRefundAmount().add(orderRefund.getRefundAmount()), BigDecimal.ZERO, baseOrder, appUserDTO, smstype, smsParams);
//后台发送消息(出车人) //后台发送消息(出车人)
// sms2BgUser(startCompanyDetail.getVehiceServicePhone(), startCompanyDetail, endCompanyDetail, orvd, baseOrder, appUserDTO, SmsTemplateDTO.CANCEL_E, smsParams); sms2BgUser(startCompanyDetail.getVehiceServicePhone(), startCompanyDetail, endCompanyDetail, orvd, baseOrder, appUserDTO, SmsTemplateDTO.CANCEL_E, smsParams);
}else { }else {
log.error("通知后台客户短信异常,结束公司id 不存在或者为0 订单号:{}", baseOrder.getId()); log.error("通知后台客户短信异常,结束公司id 不存在或者为0 订单号:{}", baseOrder.getId());
} }
...@@ -308,6 +318,55 @@ public class OrderMsgBiz { ...@@ -308,6 +318,55 @@ public class OrderMsgBiz {
} }
} }
/**
* 订单完成后处理押金提醒短信的发送
* @param baseOrder
* @param appUserDTO
*/
public void handelMsgDeposit(OrderRentVehicleDetail orvd, BaseOrder baseOrder, AppUserDTO appUserDTO) {
try {
Integer smstype;
List<String> smsParams = new ArrayList<String>();
BigDecimal originalAmount;
BigDecimal violateAmount;
BigDecimal refundAmount;
BigDecimal residueAmount;
//查询订单退款记录
OrderRefund orderRefund;
if(RefundStatusEnum.RESIDUE_ILLEGAL.equals(baseOrder.getRefundStatus())) {
smstype = SmsTemplateDTO.REFUND_A;
orderRefund = orderRefundBiz.selectOne(new OrderRefund(){{
setOrderId(baseOrder.getId());
setRefundType(RefundTypeEnum.PART_DEPOSIT.getCode());
}});
originalAmount = orvd.getDeposit();
violateAmount = orderRefund.getDeductAmount();
refundAmount = orderRefund.getRefundAmount();
residueAmount = orvd.getReturnPayResidue();
}else if(RefundStatusEnum.REFUND_DEPOSIT.equals(baseOrder.getRefundStatus())){
smstype = SmsTemplateDTO.REFUND_B;
orderRefund = orderRefundBiz.selectOne(new OrderRefund(){{
setOrderId(baseOrder.getId());
setRefundType(RefundTypeEnum.RESIDUE_DEPOSIT.getCode());
}});
originalAmount = orderRefund.getOriginalRefundAmount();
violateAmount = orderRefund.getDeductAmount();
refundAmount = orderRefund.getRefundAmount();
residueAmount = BigDecimal.ZERO;
}else {
throw new BaseException(ResultCode.PARAM_ILLEGAL_CODE, new HashSet<String>() {{
add("当前退款状态不对,订单号:"+ baseOrder.getNo());
}});
}
//发送用户押金信息退还消息
sms2RefundAppUser(originalAmount, violateAmount, refundAmount, residueAmount, baseOrder, appUserDTO, smstype, smsParams);
}catch (Exception e) {
log.error(e.getMessage(), e);
}
}
private void sms2AppUser(OrderRentVehicleDetail orvd, OrderTourDetail otd, OrderMemberDetail omd, BaseOrder baseOrder, AppUserDTO appUserDTO, Integer smstype, List<String> smsParams) { private void sms2AppUser(OrderRentVehicleDetail orvd, OrderTourDetail otd, OrderMemberDetail omd, BaseOrder baseOrder, AppUserDTO appUserDTO, Integer smstype, List<String> smsParams) {
handelSmsParamApp(orvd, otd, omd, baseOrder, smsParams, appUserDTO, smstype); handelSmsParamApp(orvd, otd, omd, baseOrder, smsParams, appUserDTO, smstype);
SmsTemplateDTO smsTemplateDTO = new SmsTemplateDTO(){{ SmsTemplateDTO smsTemplateDTO = new SmsTemplateDTO(){{
...@@ -317,8 +376,8 @@ public class OrderMsgBiz { ...@@ -317,8 +376,8 @@ public class OrderMsgBiz {
}}; }};
thirdFeign.sendTemplate(smsTemplateDTO); thirdFeign.sendTemplate(smsTemplateDTO);
} }
private void sms2RefundAppUser(BigDecimal originalAmount, BigDecimal violateAmount, BigDecimal residueAmount, BaseOrder baseOrder, AppUserDTO appUserDTO, Integer smstype, List<String> smsParams) { private void sms2RefundAppUser(BigDecimal originalAmount, BigDecimal violateAmount, BigDecimal refundAmount, BigDecimal residueAmount, BaseOrder baseOrder, AppUserDTO appUserDTO, Integer smstype, List<String> smsParams) {
handelDepositSmsParamApp(originalAmount, violateAmount, residueAmount, baseOrder, smsParams, appUserDTO, smstype); handelDepositSmsParamApp(originalAmount, violateAmount, refundAmount, residueAmount, baseOrder, smsParams, appUserDTO, smstype);
SmsTemplateDTO smsTemplateDTO = new SmsTemplateDTO(){{ SmsTemplateDTO smsTemplateDTO = new SmsTemplateDTO(){{
setPhoneNumbers(appUserDTO.getUsername()); setPhoneNumbers(appUserDTO.getUsername());
setType(smstype); setType(smstype);
...@@ -398,7 +457,7 @@ public class OrderMsgBiz { ...@@ -398,7 +457,7 @@ public class OrderMsgBiz {
} }
} }
private void handelDepositSmsParamApp(BigDecimal originalAmount, BigDecimal violateAmount, BigDecimal residueAmount, BaseOrder baseOrder, List<String> smsParams, AppUserDTO appUserDTO, int paramHandelType) { private void handelDepositSmsParamApp(BigDecimal originalAmount, BigDecimal violateAmount, BigDecimal refundAmount, BigDecimal residueAmount,BaseOrder baseOrder, List<String> smsParams, AppUserDTO appUserDTO, int paramHandelType) {
switch (paramHandelType) { switch (paramHandelType) {
case SmsTemplateDTO.CANCEL_C : case SmsTemplateDTO.CANCEL_C :
if(0 < baseOrder.getMemberLevel() ) { if(0 < baseOrder.getMemberLevel() ) {
...@@ -407,11 +466,11 @@ public class OrderMsgBiz { ...@@ -407,11 +466,11 @@ public class OrderMsgBiz {
smsParams.add(USER_N); smsParams.add(USER_N);
} }
smsParams.add(violateAmount.toString()); smsParams.add(violateAmount.toString());
smsParams.add(residueAmount.toString()); smsParams.add(refundAmount.toString());
break; break;
case SmsTemplateDTO.CANCEL_D : case SmsTemplateDTO.CANCEL_D :
smsParams.add(violateAmount.toString()); smsParams.add(violateAmount.toString());
smsParams.add(residueAmount.toString()); smsParams.add(refundAmount.toString());
break; break;
case SmsTemplateDTO.REFUND_A: case SmsTemplateDTO.REFUND_A:
Map<String, Dictionary> dictionaryMap = thirdFeign.dictionaryGetAll4Map().getData(); Map<String, Dictionary> dictionaryMap = thirdFeign.dictionaryGetAll4Map().getData();
...@@ -424,6 +483,7 @@ public class OrderMsgBiz { ...@@ -424,6 +483,7 @@ public class OrderMsgBiz {
smsParams.add(baseOrder.getNo()); smsParams.add(baseOrder.getNo());
smsParams.add(originalAmount.toString()); smsParams.add(originalAmount.toString());
smsParams.add(violateAmount.toString()); smsParams.add(violateAmount.toString());
smsParams.add(refundAmount.toString());
smsParams.add(residueAmount.toString()); smsParams.add(residueAmount.toString());
smsParams.add(DateUtil.formatDateTime(DateUtil.date(baseOrder.getRefundTime() + Long.valueOf(rentDepositAutoRefundTime * 60 * 60 * 1000)))); smsParams.add(DateUtil.formatDateTime(DateUtil.date(baseOrder.getRefundTime() + Long.valueOf(rentDepositAutoRefundTime * 60 * 60 * 1000))));
break; break;
...@@ -436,7 +496,7 @@ public class OrderMsgBiz { ...@@ -436,7 +496,7 @@ public class OrderMsgBiz {
smsParams.add(baseOrder.getNo()); smsParams.add(baseOrder.getNo());
smsParams.add(originalAmount.toString()); smsParams.add(originalAmount.toString());
smsParams.add(violateAmount.toString()); smsParams.add(violateAmount.toString());
smsParams.add(residueAmount.toString()); smsParams.add(refundAmount.toString());
break; break;
default: default:
break; break;
......
package com.xxfc.platform.order.jobhandler; package com.xxfc.platform.order.jobhandler;
import cn.hutool.json.JSONUtil; import cn.hutool.json.JSONUtil;
import com.github.wxiaoqi.security.admin.feign.UserFeign;
import com.github.wxiaoqi.security.common.util.IntervalUtil; import com.github.wxiaoqi.security.common.util.IntervalUtil;
import com.xxfc.platform.order.biz.*; import com.xxfc.platform.order.biz.*;
import com.xxfc.platform.order.biz.inner.OrderMsgBiz;
import com.xxfc.platform.order.contant.enumerate.*; import com.xxfc.platform.order.contant.enumerate.*;
import com.xxfc.platform.order.entity.BaseOrder; import com.xxfc.platform.order.entity.BaseOrder;
import com.xxfc.platform.order.entity.OrderRentVehicleDetail; import com.xxfc.platform.order.entity.OrderRentVehicleDetail;
...@@ -54,9 +56,15 @@ public class RentDepositJobHandler extends IJobHandler { ...@@ -54,9 +56,15 @@ public class RentDepositJobHandler extends IJobHandler {
@Autowired @Autowired
OrderRefundBiz orderRefundBiz; OrderRefundBiz orderRefundBiz;
@Autowired
OrderMsgBiz orderMsgBiz;
@Autowired @Autowired
ThirdFeign thirdFeign; ThirdFeign thirdFeign;
@Autowired
UserFeign userFeign;
@Override @Override
public ReturnT<String> execute(String idLastNumInterval) throws Exception { public ReturnT<String> execute(String idLastNumInterval) throws Exception {
Map<String, Dictionary> dictionaryMap = thirdFeign.dictionaryGetAll4Map().getData(); Map<String, Dictionary> dictionaryMap = thirdFeign.dictionaryGetAll4Map().getData();
...@@ -91,6 +99,7 @@ public class RentDepositJobHandler extends IJobHandler { ...@@ -91,6 +99,7 @@ public class RentDepositJobHandler extends IJobHandler {
String refundDesc = "退还押金:"+ refundAmont.toString()+ "(已扣除 违章扣款:"+ refundAmont.toString(); String refundDesc = "退还押金:"+ refundAmont.toString()+ "(已扣除 违章扣款:"+ refundAmont.toString();
refundDesc += ")"; refundDesc += ")";
orderRefundBiz.refundTrigger(baseOrder, orvd, BigDecimal.ZERO, orvd.getReturnPayResidue(), refundAmont, refundDesc, RefundStatusEnum.REFUND_DEPOSIT.getCode(), RefundTypeEnum.RESIDUE_DEPOSIT); orderRefundBiz.refundTrigger(baseOrder, orvd, BigDecimal.ZERO, orvd.getReturnPayResidue(), refundAmont, refundDesc, RefundStatusEnum.REFUND_DEPOSIT.getCode(), RefundTypeEnum.RESIDUE_DEPOSIT);
orderMsgBiz.handelMsgDeposit(orvd, baseOrder, userFeign.userDetailById(baseOrder.getUserId()).getData());
} }
// } // }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment