|
@@ -13,6 +13,7 @@ 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.model.vo.OrderPayLinkVo;
|
|
|
import com.caimei365.order.service.PayNonOrderService;
|
|
|
import com.caimei365.order.utils.MathUtil;
|
|
|
import com.caimei365.order.utils.PayUtil;
|
|
@@ -266,7 +267,8 @@ public class PayNonOrderServiceImpl implements PayNonOrderService {
|
|
|
// 附加数据,下单时若有传输则原样返回,下单时为空,则不返回该数据
|
|
|
String attach = json.getString("attach");
|
|
|
// 订单金额,以元为单位
|
|
|
- BigDecimal amount = json.getBigDecimal("amount");
|
|
|
+ Double amount = json.getDouble("amount");
|
|
|
+ String payFormData = json.toJSONString();
|
|
|
log.info("【二手发布支付异步回调】>>>>>>>>>>>>>>支付订单状态:" + orderStatus);
|
|
|
if ("FAILED".equals(orderStatus)) {
|
|
|
return "支付失败";
|
|
@@ -277,9 +279,7 @@ public class PayNonOrderServiceImpl implements PayNonOrderService {
|
|
|
Integer productId = Integer.valueOf(split[0]);
|
|
|
// 支付类型
|
|
|
String payType = split[1];
|
|
|
- double payAmount = amount.doubleValue();
|
|
|
- String payFormData = json.toJSONString();
|
|
|
- payOrderMapper.updateSeconHandDetail(productId, payType, payAmount, payFormData);
|
|
|
+ payOrderMapper.updateSeconHandDetail(productId, payType, amount, payFormData);
|
|
|
//修改分账付款状态
|
|
|
payOrderMapper.updateSplitAccountByPay(mbOrderId);
|
|
|
return "SUCCESS";
|
|
@@ -444,7 +444,9 @@ public class PayNonOrderServiceImpl implements PayNonOrderService {
|
|
|
//商品名称
|
|
|
String product = "采美订单" + orderId;
|
|
|
json.put("product", product);
|
|
|
- String attach = payParam.getVipId() + "," + payParam.getUserId() + "," + payParam.getVipRecordId() + "," + payParam.getPayWay() + "," + payParam.getPayType();
|
|
|
+ //支付类型
|
|
|
+ String payType = PayUtil.getPayTypeId(payParam.getPayType(), payParam.getUserType());
|
|
|
+ String attach = payParam.getVipId() + "," + payParam.getUserId() + "," + payParam.getVipRecordId() + "," + payType;
|
|
|
json.put("attach", attach);
|
|
|
// 升级超级会员默认公账
|
|
|
List<Map<String, String>> list = new ArrayList<>();
|
|
@@ -499,6 +501,7 @@ public class PayNonOrderServiceImpl implements PayNonOrderService {
|
|
|
splitAccount.setPayStatus(0);
|
|
|
// 保存分账详情
|
|
|
payOrderMapper.insertSplitAccount(splitAccount);
|
|
|
+ log.info("【升级超级会员支付成功!】>>>>>>>>>>>vipRecordId:" + payParam.getVipRecordId() + ",data:" +data.toJSONString());
|
|
|
return ResponseJson.success(result);
|
|
|
}
|
|
|
|
|
@@ -527,7 +530,8 @@ public class PayNonOrderServiceImpl implements PayNonOrderService {
|
|
|
// 商户唯一订单号
|
|
|
String orderRequestNo = json.getString("orderId");
|
|
|
// 金额,以元为单位
|
|
|
- BigDecimal amount = json.getBigDecimal("amount");
|
|
|
+ Double amount = json.getDouble("amount");
|
|
|
+ String payFormData = json.toJSONString();
|
|
|
log.info("【升级超级会员异步回调】>>>>>>>>>>>支付订单状态:" + orderStatus);
|
|
|
if ("FAILED".equals(orderStatus)) {
|
|
|
return "支付失败";
|
|
@@ -543,45 +547,7 @@ public class PayNonOrderServiceImpl implements PayNonOrderService {
|
|
|
// 购买历史记录Id
|
|
|
Integer recordId = Integer.valueOf(split[2]);
|
|
|
// 支付方式
|
|
|
- String payWay = split[3];
|
|
|
- // 区分微信支付
|
|
|
- String payType = split[4];
|
|
|
- // 金额
|
|
|
- double payAmount = amount.doubleValue();
|
|
|
- String payFormData = json.toJSONString();
|
|
|
- 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);
|
|
|
+ String payType = split[3];
|
|
|
//超级会员数据库修改
|
|
|
UserVipPo userVip = new UserVipPo();
|
|
|
UserVipPo dbUserVip = payOrderMapper.getUserVipInfo(userId);
|
|
@@ -614,19 +580,47 @@ public class PayNonOrderServiceImpl implements PayNonOrderService {
|
|
|
record.setBeginTime(beginTime);
|
|
|
record.setEndTime(cal.getTime());
|
|
|
record.setPayWay(1);
|
|
|
- if ("WEIXIN".equals(payWay)){
|
|
|
- record.setPayType(8);
|
|
|
- if ("MINIAPP_WEIXIN".equals(payType)) {
|
|
|
- record.setPayType(15);
|
|
|
- } else if ("JSAPI_WEIXIN".equals(payType)) {
|
|
|
- record.setPayType(13);
|
|
|
- }
|
|
|
- } else if ("ALIPAY".equals(payWay)) {
|
|
|
- record.setPayType(7);
|
|
|
- }else if("UNIONPAY".equals(payWay)) {
|
|
|
- record.setPayType(12);
|
|
|
- }
|
|
|
+ record.setPayType(Integer.valueOf(payType));
|
|
|
payOrderMapper.updateVipPackageRecord(recordId);
|
|
|
+ // 修改支付链接状态
|
|
|
+ OrderPayLinkVo orderPayLink = payOrderMapper.getVipPayLink(recordId, amount);
|
|
|
+ if (null != orderPayLink && ("12".equals(payType) || "17".equals(payType))) {
|
|
|
+ orderPayLink.setPayStatus(1);
|
|
|
+ payOrderMapper.updateOrderPayLinkStatus(orderPayLink);
|
|
|
+ }
|
|
|
+ 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(record.getPayType());
|
|
|
+ discernReceipt.setReceiptType(6);
|
|
|
+ discernReceipt.setReceiptStatus(3);
|
|
|
+ discernReceipt.setReceiptAmount(amount);
|
|
|
+ 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(amount);
|
|
|
+ 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);
|
|
|
//修改分账付款状态
|
|
|
payOrderMapper.updateSplitAccountByPay(mbOrderId);
|
|
|
return "SUCCESS";
|