|
@@ -2,12 +2,15 @@ package com.caimei365.order.service.impl;
|
|
|
|
|
|
import com.alibaba.fastjson.JSONObject;
|
|
|
import com.caimei365.order.components.WeChatService;
|
|
|
+import com.caimei365.order.mapper.BaseMapper;
|
|
|
import com.caimei365.order.mapper.PayOrderMapper;
|
|
|
import com.caimei365.order.model.ResponseJson;
|
|
|
import com.caimei365.order.model.bo.PayParamBo;
|
|
|
import com.caimei365.order.model.bo.VipRecordBo;
|
|
|
import com.caimei365.order.model.dto.PaySecondDto;
|
|
|
import com.caimei365.order.model.dto.PayVipDto;
|
|
|
+import com.caimei365.order.model.po.DiscernReceiptPo;
|
|
|
+import com.caimei365.order.model.po.OrderReceiptRelationPo;
|
|
|
import com.caimei365.order.model.po.SplitAccountPo;
|
|
|
import com.caimei365.order.model.po.UserVipPo;
|
|
|
import com.caimei365.order.service.PayNonOrderService;
|
|
@@ -37,6 +40,8 @@ import java.util.*;
|
|
|
@Slf4j
|
|
|
@Service
|
|
|
public class PayNonOrderServiceImpl implements PayNonOrderService {
|
|
|
+ @Resource
|
|
|
+ private BaseMapper baseMapper;
|
|
|
@Resource
|
|
|
private PayOrderMapper payOrderMapper;
|
|
|
@Resource
|
|
@@ -471,7 +476,7 @@ public class PayNonOrderServiceImpl implements PayNonOrderService {
|
|
|
// 保存升级超级会员分账参数
|
|
|
JSONObject data = result.getJSONObject("data");
|
|
|
SplitAccountPo splitAccount = new SplitAccountPo();
|
|
|
- splitAccount.setVipPackageId(payParam.getVipId());
|
|
|
+ splitAccount.setVipRecordId(payParam.getVipRecordId());
|
|
|
// 超级会员 公账-专票
|
|
|
splitAccount.setType(1);
|
|
|
// 待分账总金额
|
|
@@ -492,12 +497,8 @@ public class PayNonOrderServiceImpl implements PayNonOrderService {
|
|
|
splitAccount.setMbOrderId(data.getString("mbOrderId"));
|
|
|
splitAccount.setOrderRequestNo(data.getString("orderId"));
|
|
|
splitAccount.setPayStatus(0);
|
|
|
-
|
|
|
- //todo 分账
|
|
|
-
|
|
|
// 保存分账详情
|
|
|
payOrderMapper.insertSplitAccount(splitAccount);
|
|
|
-
|
|
|
return ResponseJson.success(result);
|
|
|
}
|
|
|
|
|
@@ -523,6 +524,8 @@ public class PayNonOrderServiceImpl implements PayNonOrderService {
|
|
|
String orderStatus = json.getString("orderStatus");
|
|
|
// 平台唯一流水号
|
|
|
String mbOrderId = json.getString("mbOrderId");
|
|
|
+ // 商户唯一订单号
|
|
|
+ String orderRequestNo = json.getString("orderId");
|
|
|
// 金额,以元为单位
|
|
|
BigDecimal amount = json.getBigDecimal("amount");
|
|
|
log.info("【升级超级会员异步回调】>>>>>>>>>>>支付订单状态:" + orderStatus);
|
|
@@ -546,13 +549,39 @@ public class PayNonOrderServiceImpl implements PayNonOrderService {
|
|
|
// 金额
|
|
|
double payAmount = amount.doubleValue();
|
|
|
String payFormData = json.toJSONString();
|
|
|
-
|
|
|
-
|
|
|
- //todo 支付成功-添加收款记录
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
+ Date date = new Date();
|
|
|
+ String curDateStr = (new SimpleDateFormat("yyyy-MM-dd HH:mm:ss")).format(date);
|
|
|
+ // 保存收款记录
|
|
|
+ DiscernReceiptPo discernReceipt = new DiscernReceiptPo();
|
|
|
+ discernReceipt.setPayWay(1);
|
|
|
+ discernReceipt.setPayType(Integer.valueOf(payType));
|
|
|
+ discernReceipt.setReceiptType(6);
|
|
|
+ discernReceipt.setReceiptStatus(3);
|
|
|
+ discernReceipt.setReceiptAmount(payAmount);
|
|
|
+ discernReceipt.setConfirmType(4);
|
|
|
+ discernReceipt.setRePayFlag(1);
|
|
|
+ discernReceipt.setFormData(payFormData);
|
|
|
+ discernReceipt.setReceiptDate(curDateStr);
|
|
|
+ discernReceipt.setConfirmDate(curDateStr);
|
|
|
+ discernReceipt.setReviewDate(curDateStr);
|
|
|
+ discernReceipt.setUpdateDate(curDateStr);
|
|
|
+ discernReceipt.setDelFlag(0);
|
|
|
+ // 保存 收款记录
|
|
|
+ baseMapper.insertDiscernReceipt(discernReceipt);
|
|
|
+ log.info("【升级超级会员异步回调】>>>>>>>>>>>>>>保存识别款项(insert[cm_discern_receipt])id:" + discernReceipt.getId() + ",vipRecordId:" + recordId);
|
|
|
+ // 收款项和订单关系表
|
|
|
+ OrderReceiptRelationPo relation = new OrderReceiptRelationPo();
|
|
|
+ relation.setReceiptId(discernReceipt.getId());
|
|
|
+ relation.setVipRecordId(recordId);
|
|
|
+ relation.setAssociateAmount(payAmount);
|
|
|
+ relation.setMbOrderId(mbOrderId);
|
|
|
+ relation.setOrderRequestNo(orderRequestNo);
|
|
|
+ relation.setSplitStatus(1);
|
|
|
+ relation.setRelationType(3);
|
|
|
+ relation.setDelFlag(0);
|
|
|
+ // 保存 收款项和订单关系
|
|
|
+ baseMapper.insertOrderReceiptRelation(relation);
|
|
|
+ log.info("【升级超级会员异步回调】>>>>>>>>>>>收款项和购买历史关系(insert[cm_receipt_order_relation])id:" + relation.getId() + ",vipRecordId:" + recordId);
|
|
|
//超级会员数据库修改
|
|
|
UserVipPo userVip = new UserVipPo();
|
|
|
UserVipPo dbUserVip = payOrderMapper.getUserVipInfo(userId);
|
|
@@ -598,10 +627,8 @@ public class PayNonOrderServiceImpl implements PayNonOrderService {
|
|
|
record.setPayType(12);
|
|
|
}
|
|
|
payOrderMapper.updateVipPackageRecord(recordId);
|
|
|
-
|
|
|
//修改分账付款状态
|
|
|
payOrderMapper.updateSplitAccountByPay(mbOrderId);
|
|
|
return "SUCCESS";
|
|
|
}
|
|
|
-
|
|
|
}
|