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

修改发送消息

parent d41a3c88
......@@ -275,11 +275,13 @@ public class BaseOrderBiz extends BaseBiz<BaseOrderMapper,BaseOrder> {
AppUserDTO appUserDTO = userFeign.userDetailById(baseOrder.getUserId()).getData();
//处理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);
sendOrderMq(orvd, otd, omd, baseOrder, OrderMQDTO.ORDER_PAY);
// orderMsgBiz.handelBgUserMsg4Pay(orvd, baseOrder, appUserDTO, OrderMsgBiz.RENT_PAY);
// sendOrderMq(orvd, otd, omd, baseOrder, OrderMQDTO.ORDER_PAY);
if(OrderTypeEnum.MEMBER.getCode().equals(baseOrder.getType())) {
sendOrderMq(orvd, otd, omd, baseOrder, OrderMQDTO.ORDER_FINISH);
}
......
......@@ -3,7 +3,9 @@ package com.xxfc.platform.order.biz;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.util.StrUtil;
import cn.hutool.json.JSONUtil;
import com.github.wxiaoqi.security.admin.feign.UserFeign;
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.entity.*;
import com.xxfc.platform.order.pojo.DedDetailDTO;
......@@ -52,6 +54,12 @@ public class OrderRefundBiz extends BaseBiz<OrderRefundMapper,OrderRefund> {
@Autowired
OrderViolationBiz orderViolationBiz;
@Autowired
OrderMsgBiz orderMsgBiz;
@Autowired
UserFeign userFeign;
/**
* 退还部分押金
* @param orderMQDTO
......@@ -76,6 +84,8 @@ public class OrderRefundBiz extends BaseBiz<OrderRefundMapper,OrderRefund> {
}
refundDesc += ")";
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 {
// //还车扣除款 剩余的 钱,再减去违章预备金
......
......@@ -136,7 +136,8 @@ public class OrderCancelBiz {
try {
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) {
log.error(e.getMessage(), e);
}
......
......@@ -3,10 +3,13 @@ package com.xxfc.platform.order.biz.inner;
import cn.hutool.core.date.DateUtil;
import com.github.wxiaoqi.security.admin.feign.UserFeign;
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.feign.ConfigFeign;
import com.xxfc.platform.order.biz.OrderRefundBiz;
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.entity.BaseOrder;
import com.xxfc.platform.order.entity.OrderMemberDetail;
......@@ -26,6 +29,7 @@ import org.springframework.stereotype.Service;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
import java.util.Map;
......@@ -48,17 +52,6 @@ public class OrderMsgBiz {
public static final int RENT_DELIVERY = 2;
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_M = "尊贵的会员";
......@@ -273,25 +266,42 @@ public class OrderMsgBiz {
List<String> smsParams = new ArrayList<String>();
switch (orderTypeEnum) {
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())) {
//查询押金退款记录
//查询订单退款记录
OrderRefund orderRefund = orderRefundBiz.selectOne(new OrderRefund(){{
setOrderId(baseOrder.getId());
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) {
smstype = SmsTemplateDTO.CANCEL_B;
}else {
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 {
log.error("通知后台客户短信异常,结束公司id 不存在或者为0 订单号:{}", baseOrder.getId());
}
......@@ -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) {
handelSmsParamApp(orvd, otd, omd, baseOrder, smsParams, appUserDTO, smstype);
SmsTemplateDTO smsTemplateDTO = new SmsTemplateDTO(){{
......@@ -317,8 +376,8 @@ public class OrderMsgBiz {
}};
thirdFeign.sendTemplate(smsTemplateDTO);
}
private void sms2RefundAppUser(BigDecimal originalAmount, BigDecimal violateAmount, BigDecimal residueAmount, BaseOrder baseOrder, AppUserDTO appUserDTO, Integer smstype, List<String> smsParams) {
handelDepositSmsParamApp(originalAmount, violateAmount, residueAmount, baseOrder, smsParams, appUserDTO, smstype);
private void sms2RefundAppUser(BigDecimal originalAmount, BigDecimal violateAmount, BigDecimal refundAmount, BigDecimal residueAmount, BaseOrder baseOrder, AppUserDTO appUserDTO, Integer smstype, List<String> smsParams) {
handelDepositSmsParamApp(originalAmount, violateAmount, refundAmount, residueAmount, baseOrder, smsParams, appUserDTO, smstype);
SmsTemplateDTO smsTemplateDTO = new SmsTemplateDTO(){{
setPhoneNumbers(appUserDTO.getUsername());
setType(smstype);
......@@ -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) {
case SmsTemplateDTO.CANCEL_C :
if(0 < baseOrder.getMemberLevel() ) {
......@@ -407,11 +466,11 @@ public class OrderMsgBiz {
smsParams.add(USER_N);
}
smsParams.add(violateAmount.toString());
smsParams.add(residueAmount.toString());
smsParams.add(refundAmount.toString());
break;
case SmsTemplateDTO.CANCEL_D :
smsParams.add(violateAmount.toString());
smsParams.add(residueAmount.toString());
smsParams.add(refundAmount.toString());
break;
case SmsTemplateDTO.REFUND_A:
Map<String, Dictionary> dictionaryMap = thirdFeign.dictionaryGetAll4Map().getData();
......@@ -424,6 +483,7 @@ public class OrderMsgBiz {
smsParams.add(baseOrder.getNo());
smsParams.add(originalAmount.toString());
smsParams.add(violateAmount.toString());
smsParams.add(refundAmount.toString());
smsParams.add(residueAmount.toString());
smsParams.add(DateUtil.formatDateTime(DateUtil.date(baseOrder.getRefundTime() + Long.valueOf(rentDepositAutoRefundTime * 60 * 60 * 1000))));
break;
......@@ -436,7 +496,7 @@ public class OrderMsgBiz {
smsParams.add(baseOrder.getNo());
smsParams.add(originalAmount.toString());
smsParams.add(violateAmount.toString());
smsParams.add(residueAmount.toString());
smsParams.add(refundAmount.toString());
break;
default:
break;
......
package com.xxfc.platform.order.jobhandler;
import cn.hutool.json.JSONUtil;
import com.github.wxiaoqi.security.admin.feign.UserFeign;
import com.github.wxiaoqi.security.common.util.IntervalUtil;
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.entity.BaseOrder;
import com.xxfc.platform.order.entity.OrderRentVehicleDetail;
......@@ -54,9 +56,15 @@ public class RentDepositJobHandler extends IJobHandler {
@Autowired
OrderRefundBiz orderRefundBiz;
@Autowired
OrderMsgBiz orderMsgBiz;
@Autowired
ThirdFeign thirdFeign;
@Autowired
UserFeign userFeign;
@Override
public ReturnT<String> execute(String idLastNumInterval) throws Exception {
Map<String, Dictionary> dictionaryMap = thirdFeign.dictionaryGetAll4Map().getData();
......@@ -91,6 +99,7 @@ public class RentDepositJobHandler extends IJobHandler {
String refundDesc = "退还押金:"+ refundAmont.toString()+ "(已扣除 违章扣款:"+ refundAmont.toString();
refundDesc += ")";
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