Browse Source

//add push

release_toaliyun_real
xhxu 4 years ago
parent
commit
8e80dc0b96
2 changed files with 52 additions and 18 deletions
  1. +2
    -0
      mallinkAdmin/src/main/resources/db/migration/V2022032800001__msg.sql
  2. +50
    -18
      mallinkService/src/main/java/com/iformall/service/msg/impl/FmInsideOrderPushMsgServiceImpl.java

+ 2
- 0
mallinkAdmin/src/main/resources/db/migration/V2022032800001__msg.sql View File

@@ -6,3 +6,5 @@ ADD COLUMN `sort_url` varchar(255) COMMENT '小程序链接' AFTER `plat`;
INSERT INTO `mallink`.`wx_msg_validationcode_model`(`id`, `tenant_id`, `parent_tenant_id`, `type`, `name`, `signature`, `content`, `createtime`, `status`, `minutes`, `model_id`, `email_bg_img`, `open`, `msg_type`, `role_type`, `model_code`) VALUES (666429058236550321, '1028', NULL, 33, '抖音退款通知', '富茂', '您购买的[${name}]已发起全部退款申请,预计1-3个自然日商家处理完成,请耐心等待。', '2022-03-28 17:57:59', 1, 0, NULL, NULL, 0, 1, 0, 'SMS_236550321');
INSERT INTO `mallink`.`wx_msg_validationcode_model`(`id`, `tenant_id`, `parent_tenant_id`, `type`, `name`, `signature`, `content`, `createtime`, `status`, `minutes`, `model_id`, `email_bg_img`, `open`, `msg_type`, `role_type`, `model_code`) VALUES (666429058236560256, '1028', NULL, 32, '抖音购买成功通知', '富茂', '您已成功购买[${name}],可在“抖音app>我>右上角≡>我的订单>查看全部”,务必到店之后进行核销,谨防上当受骗。', '2022-03-28 17:57:59', 1, 0, NULL, NULL, 0, 1, 0, 'SMS_236560256');

-- INSERT INTO `mallink`.`wx_msg_validationcode_model`(`id`, `tenant_id`, `parent_tenant_id`, `type`, `name`, `signature`, `content`, `createtime`, `status`, `minutes`, `model_id`, `email_bg_img`, `open`, `msg_type`, `role_type`, `model_code`) VALUES (666429058237590158, '1028', NULL, 32, '抖音购买通知', '富茂', '您已成功购买[${name}],可在“抖音app>我>右上角≡>我的订单>查看全部”,务必到店之后进行核销,谨防上当受骗。http://ob4.cn/${sortUrl}', '2022-03-29 10:57:59', 1, 0, NULL, NULL, 0, 1, 0, 'SMS_237590158');


+ 50
- 18
mallinkService/src/main/java/com/iformall/service/msg/impl/FmInsideOrderPushMsgServiceImpl.java View File

@@ -5,7 +5,9 @@ import com.iformall.domain.po.*;
import com.iformall.domain.po.msg.BaseMsg;
import com.iformall.domain.po.msg.FmInsideOrderPushMsg;
import com.iformall.domain.po.msg.FmInsideOrderRefundMsg;
import com.iformall.domain.vo.WxOrderCouponVo;
import com.iformall.enums.EnumComposeOrder;
import com.iformall.enums.EnumPayType;
import com.iformall.enums.EnumPayWay;
import com.iformall.exception.MallinkException;
import com.iformall.mapper.TtCUserMapper;
@@ -61,28 +63,58 @@ public class FmInsideOrderPushMsgServiceImpl implements MsgSendService {
throw new MallinkException(ErrorCode.ORDER_IS_NOT_FIND.getCode(), "主订单未找到" + msg.getBatchOrderId());
}
if(EnumPayWay.PAY_WAY_TT.getCode().equals(batchOrder.getPayVendor())
&& EnumComposeOrder.SINGLE.getCode().equals(batchOrder.getOrderType())){
&& EnumComposeOrder.SINGLE.getCode().equals(batchOrder.getOrderType())
&& batchOrder.getOrders().size() == 1){
WxAppinfo appinfo = wxAppinfoService.getCAppInfo(batchOrder,EnumPayWay.PAY_WAY_TT.getPlat());
WxOrderCouponVo wxOrderCouponVo = batchOrder.getOrders().get(0);
if(EnumPayType.PAY_PAYMENT.getCode().equals(wxOrderCouponVo.getPaymentType())){
payOrderPush(appinfo,batchOrder);
}else{
//退款
//通过退款订单找支付订单
WxOrder ref_order = orderService.getById(wxOrderCouponVo.getOrderNumber(), wxOrderCouponVo.getTenantId());
WxBatchOrder ref_border = new WxBatchOrder();
ref_border.setTenantId(ref_order.getTenantId());
ref_border.setParentTenantId(ref_order.getParentTenantId());
ref_border.setId(ref_order.getComposeOrderId());
WxBatchOrder ref_batchOrder = orderService.batchOrderDetail(ref_border);
if(ref_batchOrder == null){
logger.error("退款 主订单未找到: " + ref_order.getComposeOrderId());
throw new MallinkException(ErrorCode.ORDER_IS_NOT_FIND.getCode(), "退款 主订单未找到" + ref_order.getComposeOrderId());
}
if(EnumPayWay.PAY_WAY_TT.getCode().equals(ref_batchOrder.getPayVendor())
&& EnumComposeOrder.SINGLE.getCode().equals(ref_batchOrder.getOrderType())
&& ref_batchOrder.getOrders().size() == 1){
for (WxOrderCouponVo ref_vo:ref_batchOrder.getOrders()) {
ref_vo.setOrderStatus(wxOrderCouponVo.getOrderStatus());
}
payOrderPush(appinfo,ref_batchOrder);
}

WxPayOrder orderq = new WxPayOrder();
orderq.setOrderId(batchOrder.getId());
orderq.updateTenantInfo(batchOrder);
WxPayOrder payOrder = wxPayOrderService.getByObj(orderq);
if(payOrder == null){
logger.error("支付订单未找到: " + msg.getBatchOrderId());
throw new MallinkException(ErrorCode.ORDER_IS_NOT_FIND.getCode(), "支付订单未找到" + msg.getBatchOrderId());
}
if(StringUtils.isBlank(payOrder.getTransactionId())){
logger.error("担保支付订单未找到: " + msg.getBatchOrderId());
throw new MallinkException(ErrorCode.ORDER_IS_NOT_FIND.getCode(), "担保支付订单未找到" + msg.getBatchOrderId());
}
List<String> openIds = ttCUserMapper.findOpenIdList(batchOrder.getCUserId(),batchOrder.getTenantId());
if(openIds == null || openIds.size() > 1){
logger.error("支付订单找到多个用户 同步失败: " + msg.getBatchOrderId());
throw new MallinkException(ErrorCode.ORDER_IS_NOT_FIND.getCode(), "支付订单找到多个用户" + msg.getBatchOrderId());
}
}
}

payServiceFactory.getPayAdapterService(EnumPayWay.PAY_WAY_TT.getCode()).payOrderPush(openIds.get(0),appinfo,batchOrder,payOrder);

private void payOrderPush(WxAppinfo appinfo, WxBatchOrder batchOrder) throws Exception{
WxPayOrder orderq = new WxPayOrder();
orderq.setOrderId(batchOrder.getId());
orderq.updateTenantInfo(batchOrder);
WxPayOrder payOrder = wxPayOrderService.getByObj(orderq);
if(payOrder == null){
logger.error("支付订单未找到: " + batchOrder.getId());
throw new MallinkException(ErrorCode.ORDER_IS_NOT_FIND.getCode(), "支付订单未找到" + batchOrder.getId());
}
if(StringUtils.isBlank(payOrder.getTransactionId())){
logger.error("担保支付订单未找到: " + batchOrder.getId());
throw new MallinkException(ErrorCode.ORDER_IS_NOT_FIND.getCode(), "担保支付订单未找到" + batchOrder.getId());
}
List<String> openIds = ttCUserMapper.findOpenIdList(batchOrder.getCUserId(),batchOrder.getTenantId());
if(openIds == null || openIds.size() > 1){
logger.error("支付订单找到多个用户 同步失败: " + batchOrder.getId());
throw new MallinkException(ErrorCode.ORDER_IS_NOT_FIND.getCode(), "支付订单找到多个用户" + batchOrder.getId());
}

payServiceFactory.getPayAdapterService(EnumPayWay.PAY_WAY_TT.getCode()).payOrderPush(openIds.get(0),appinfo,batchOrder,payOrder);
}
}

Loading…
Cancel
Save