会员充值问题
霸王餐问题
This commit is contained in:
@@ -41,6 +41,10 @@ public class OrderPayment implements Serializable {
|
|||||||
* 来源Id 订单Id或充值id
|
* 来源Id 订单Id或充值id
|
||||||
*/
|
*/
|
||||||
private Long sourceId;
|
private Long sourceId;
|
||||||
|
/**
|
||||||
|
* 霸王餐充值为 订单id 会员充值为 活动id
|
||||||
|
*/
|
||||||
|
private Long relatedId;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 支付方式:order,refund, memberIn,memberRefund, free
|
* 支付方式:order,refund, memberIn,memberRefund, free
|
||||||
@@ -93,4 +97,15 @@ public class OrderPayment implements Serializable {
|
|||||||
this.authCode = authCode;
|
this.authCode = authCode;
|
||||||
this.amount = amount;
|
this.amount = amount;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public OrderPayment(@NonNull Long shopId,@NonNull Long sourceId, @NotBlank String payType, @NotBlank String orderNo,
|
||||||
|
String authCode, @NonNull BigDecimal amount, Long relatedId) {
|
||||||
|
this.shopId = shopId;
|
||||||
|
this.sourceId = sourceId;
|
||||||
|
this.payType = payType;
|
||||||
|
this.orderNo = orderNo;
|
||||||
|
this.authCode = authCode;
|
||||||
|
this.amount = amount;
|
||||||
|
this.relatedId = relatedId;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -537,17 +537,12 @@ public class OrderInfoServiceImpl extends ServiceImpl<OrderInfoMapper, OrderInfo
|
|||||||
}
|
}
|
||||||
//更新会员余额 并生成流水
|
//更新会员余额 并生成流水
|
||||||
Long flowId = shopUserService.updateMoney(shopUser.getShopId(), shopUserMoneyEditDTO);
|
Long flowId = shopUserService.updateMoney(shopUser.getShopId(), shopUserMoneyEditDTO);
|
||||||
String extParam = czgCallBackDto.getExtParam();
|
if (payment.getRelatedId() == null) {
|
||||||
if (StrUtil.isBlank(extParam)) {
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
JSONObject jsonObject = JSONObject.parseObject(extParam);
|
|
||||||
if (isFree) {
|
if (isFree) {
|
||||||
if (StrUtil.isBlank(jsonObject.getString("orderId"))) {
|
|
||||||
throw new ValidateException("霸王餐支付,订单号处理失败");
|
|
||||||
}
|
|
||||||
shopUserMoneyEditDTO.setBizEnum(ShopUserFlowBizEnum.FREE_IN);
|
shopUserMoneyEditDTO.setBizEnum(ShopUserFlowBizEnum.FREE_IN);
|
||||||
updateChain().eq(OrderInfo::getId, czgCallBackDto.getExtParam())
|
updateChain().eq(OrderInfo::getId, payment.getRelatedId())
|
||||||
.set(OrderInfo::getStatus, OrderStatusEnums.DONE.getCode())
|
.set(OrderInfo::getStatus, OrderStatusEnums.DONE.getCode())
|
||||||
.set(OrderInfo::getIsFreeDine, 1)
|
.set(OrderInfo::getIsFreeDine, 1)
|
||||||
.set(OrderInfo::getPayAmount, 0)
|
.set(OrderInfo::getPayAmount, 0)
|
||||||
@@ -555,7 +550,7 @@ public class OrderInfoServiceImpl extends ServiceImpl<OrderInfoMapper, OrderInfo
|
|||||||
} else {
|
} else {
|
||||||
//会员活动
|
//会员活动
|
||||||
activateService.giveActivate(shopUser, new BigDecimal(czgCallBackDto.getAmount()).divide(new BigDecimal(100), 2, RoundingMode.DOWN),
|
activateService.giveActivate(shopUser, new BigDecimal(czgCallBackDto.getAmount()).divide(new BigDecimal(100), 2, RoundingMode.DOWN),
|
||||||
StrUtil.isNotBlank(jsonObject.getString("activateId")) ? jsonObject.getLong("activateId") : null, flowId);
|
payment.getRelatedId(), flowId);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -353,13 +353,10 @@ public class PayServiceImpl implements PayService {
|
|||||||
AssertUtil.isBlank(payParam.getOpenId(), "用户小程序ID不能为空");
|
AssertUtil.isBlank(payParam.getOpenId(), "用户小程序ID不能为空");
|
||||||
AssertUtil.isBlank(payParam.getPayType(), "支付方式不能为空");
|
AssertUtil.isBlank(payParam.getPayType(), "支付方式不能为空");
|
||||||
String payOrderNo = payParam.getPlatformType() + IdUtil.getSnowflakeNextId();
|
String payOrderNo = payParam.getPlatformType() + IdUtil.getSnowflakeNextId();
|
||||||
initOrderPayment(new OrderPayment(payParam.getShopId(), shopUser.getId(), isFree ? "free" : "memberIn", payOrderNo, "", payParam.getAmount()));
|
initOrderPayment(new OrderPayment(payParam.getShopId(), shopUser.getId(), isFree ? "free" : "memberIn", payOrderNo,
|
||||||
JSONObject jsonObject = new JSONObject();
|
"", payParam.getAmount(),isFree ? payParam.getOrderId() : payParam.getActivateId()));
|
||||||
jsonObject.put("orderId", payParam.getOrderId() == null ? "" : payParam.getOrderId().toString());
|
|
||||||
jsonObject.put("activateId", payParam.getActivateId() == null ? "" : payParam.getActivateId().toString());
|
|
||||||
String extParam = jsonObject.toJSONString();
|
|
||||||
return jsPay(payParam.getShopId(), payParam.getPayType(), new CzgJsPayReq(payOrderNo, payParam.getAmount().multiply(MONEY_RATE).longValue(),
|
return jsPay(payParam.getShopId(), payParam.getPayType(), new CzgJsPayReq(payOrderNo, payParam.getAmount().multiply(MONEY_RATE).longValue(),
|
||||||
"会员充值", payParam.getOpenId(), clintIp, payParam.getReturnUrl(), payParam.getBuyerRemark(), extParam));
|
"会员充值", payParam.getOpenId(), clintIp, payParam.getReturnUrl(), payParam.getBuyerRemark(), ""));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -371,13 +368,10 @@ public class PayServiceImpl implements PayService {
|
|||||||
AssertUtil.isBlank(payParam.getOpenId(), "用户小程序ID不能为空");
|
AssertUtil.isBlank(payParam.getOpenId(), "用户小程序ID不能为空");
|
||||||
AssertUtil.isBlank(payParam.getPayType(), "支付方式不能为空");
|
AssertUtil.isBlank(payParam.getPayType(), "支付方式不能为空");
|
||||||
String payOrderNo = payParam.getPlatformType() + IdUtil.getSnowflakeNextId();
|
String payOrderNo = payParam.getPlatformType() + IdUtil.getSnowflakeNextId();
|
||||||
initOrderPayment(new OrderPayment(payParam.getShopId(), shopUser.getId(), isFree ? "free" : "memberIn", payOrderNo, "", payParam.getAmount()));
|
initOrderPayment(new OrderPayment(payParam.getShopId(), shopUser.getId(), isFree ? "free" : "memberIn", payOrderNo,
|
||||||
JSONObject jsonObject = new JSONObject();
|
"", payParam.getAmount(),isFree ? payParam.getOrderId() : payParam.getActivateId()));
|
||||||
jsonObject.put("orderId", payParam.getOrderId() == null ? "" : payParam.getOrderId().toString());
|
|
||||||
jsonObject.put("activateId", payParam.getActivateId() == null ? "" : payParam.getActivateId().toString());
|
|
||||||
String extParam = jsonObject.toJSONString();
|
|
||||||
return ltPay(payParam.getShopId(), payParam.getPayType(), new CzgLtPayReq(payOrderNo, payParam.getAmount().multiply(MONEY_RATE).longValue(),
|
return ltPay(payParam.getShopId(), payParam.getPayType(), new CzgLtPayReq(payOrderNo, payParam.getAmount().multiply(MONEY_RATE).longValue(),
|
||||||
payParam.getPayType(), "会员充值", payParam.getOpenId(), clintIp, payParam.getReturnUrl(), payParam.getBuyerRemark(), extParam));
|
payParam.getPayType(), "会员充值", payParam.getOpenId(), clintIp, payParam.getReturnUrl(), payParam.getBuyerRemark(), ""));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -387,13 +381,10 @@ public class PayServiceImpl implements PayService {
|
|||||||
ShopUser shopUser = shopUserService.getById(payParam.getShopUserId());
|
ShopUser shopUser = shopUserService.getById(payParam.getShopUserId());
|
||||||
AssertUtil.isNull(shopUser, "充值失败 该店铺用户不存在");
|
AssertUtil.isNull(shopUser, "充值失败 该店铺用户不存在");
|
||||||
String payOrderNo = payParam.getPlatformType() + IdUtil.getSnowflakeNextId();
|
String payOrderNo = payParam.getPlatformType() + IdUtil.getSnowflakeNextId();
|
||||||
initOrderPayment(new OrderPayment(payParam.getShopId(), shopUser.getId(), isFree ? "free" : "memberIn", payOrderNo, "", payParam.getAmount()));
|
initOrderPayment(new OrderPayment(payParam.getShopId(), shopUser.getId(), isFree ? "free" : "memberIn", payOrderNo,
|
||||||
JSONObject jsonObject = new JSONObject();
|
"", payParam.getAmount(), isFree ? payParam.getOrderId() : payParam.getActivateId()));
|
||||||
jsonObject.put("orderId", payParam.getOrderId() == null ? "" : payParam.getOrderId().toString());
|
|
||||||
jsonObject.put("activateId", payParam.getActivateId() == null ? "" : payParam.getActivateId().toString());
|
|
||||||
String extParam = jsonObject.toJSONString();
|
|
||||||
return scanPay(payParam.getShopId(), new CzgScanPayReq(payOrderNo, payParam.getAmount().multiply(MONEY_RATE).longValue(),
|
return scanPay(payParam.getShopId(), new CzgScanPayReq(payOrderNo, payParam.getAmount().multiply(MONEY_RATE).longValue(),
|
||||||
"会员充值", clintIp, payParam.getReturnUrl(), payParam.getBuyerRemark(), extParam));
|
"会员充值", clintIp, payParam.getReturnUrl(), payParam.getBuyerRemark(), ""));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -404,13 +395,10 @@ public class PayServiceImpl implements PayService {
|
|||||||
ShopUser shopUser = shopUserService.getById(payParam.getShopUserId());
|
ShopUser shopUser = shopUserService.getById(payParam.getShopUserId());
|
||||||
AssertUtil.isNull(shopUser, "充值失败 该店铺用户不存在");
|
AssertUtil.isNull(shopUser, "充值失败 该店铺用户不存在");
|
||||||
String payOrderNo = payParam.getPlatformType() + IdUtil.getSnowflakeNextId();
|
String payOrderNo = payParam.getPlatformType() + IdUtil.getSnowflakeNextId();
|
||||||
initOrderPayment(new OrderPayment(payParam.getShopId(), shopUser.getId(), isFree ? "free" : "memberIn", payOrderNo, payParam.getAuthCode(), payParam.getAmount()));
|
initOrderPayment(new OrderPayment(payParam.getShopId(), shopUser.getId(), isFree ? "free" : "memberIn", payOrderNo,
|
||||||
JSONObject jsonObject = new JSONObject();
|
payParam.getAuthCode(), payParam.getAmount(), isFree ? payParam.getOrderId() : payParam.getActivateId()));
|
||||||
jsonObject.put("orderId", payParam.getOrderId() == null ? "" : payParam.getOrderId().toString());
|
|
||||||
jsonObject.put("activateId", payParam.getActivateId() == null ? "" : payParam.getActivateId().toString());
|
|
||||||
String extParam = jsonObject.toJSONString();
|
|
||||||
return microPay(payParam.getShopId(), new CzgMicroPayReq(payOrderNo, payParam.getAmount().multiply(MONEY_RATE).longValue(),
|
return microPay(payParam.getShopId(), new CzgMicroPayReq(payOrderNo, payParam.getAmount().multiply(MONEY_RATE).longValue(),
|
||||||
"会员充值", payParam.getAuthCode(), payParam.getBuyerRemark(), extParam));
|
"会员充值", payParam.getAuthCode(), payParam.getBuyerRemark(), ""));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
Reference in New Issue
Block a user