Merge remote-tracking branch 'origin/master'
This commit is contained in:
commit
1c6055dd7c
|
|
@ -60,8 +60,6 @@ public class UserOrderController {
|
|||
@Debounce(value = "#addDto.tableCode")
|
||||
public CzgResult<OrderInfo> createOrder(@RequestBody OrderInfoAddDTO addDto) {
|
||||
addDto.setPlatformType(ServletUtil.getHeaderIgnoreCase(ServletUtil.getRequest(), "platformType"));
|
||||
long loginIdAsLong = StpKit.USER.getLoginIdAsLong();
|
||||
log.info("获取到的用户Id为:{}", loginIdAsLong);
|
||||
// addDto.setUserId(StpKit.USER.getLoginIdAsLong());
|
||||
addDto.setShopId(StpKit.USER.getShopId());
|
||||
addDto.setOrderType("miniapp");
|
||||
|
|
|
|||
|
|
@ -41,6 +41,10 @@ public class OrderPayment implements Serializable {
|
|||
* 来源Id 订单Id或充值id
|
||||
*/
|
||||
private Long sourceId;
|
||||
/**
|
||||
* 霸王餐充值为 订单id 会员充值为 活动id
|
||||
*/
|
||||
private Long relatedId;
|
||||
|
||||
/**
|
||||
* 支付方式:order,refund, memberIn,memberRefund, free
|
||||
|
|
@ -93,4 +97,15 @@ public class OrderPayment implements Serializable {
|
|||
this.authCode = authCode;
|
||||
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;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -535,25 +535,22 @@ public class OrderInfoServiceImpl extends ServiceImpl<OrderInfoMapper, OrderInfo
|
|||
} else {
|
||||
shopUserMoneyEditDTO.setBizEnum(ShopUserFlowBizEnum.CASH_IN);
|
||||
}
|
||||
String extParam = czgCallBackDto.getExtParam();
|
||||
JSONObject jsonObject = JSONObject.parseObject(extParam);
|
||||
//更新会员余额 并生成流水
|
||||
Long flowId = shopUserService.updateMoney(shopUser.getShopId(), shopUserMoneyEditDTO);
|
||||
if (payment.getRelatedId() == null) {
|
||||
return;
|
||||
}
|
||||
if (isFree) {
|
||||
if (StrUtil.isBlank(jsonObject.getString("orderId"))) {
|
||||
throw new ValidateException("霸王餐支付,订单号处理失败");
|
||||
}
|
||||
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::getIsFreeDine, 1)
|
||||
.set(OrderInfo::getPayAmount, 0)
|
||||
.update();
|
||||
}
|
||||
//更新会员余额 并生成流水
|
||||
Long flowId = shopUserService.updateMoney(shopUser.getShopId(), shopUserMoneyEditDTO);
|
||||
if (!isFree) {
|
||||
} else {
|
||||
//会员活动
|
||||
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);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -670,7 +667,6 @@ public class OrderInfoServiceImpl extends ServiceImpl<OrderInfoMapper, OrderInfo
|
|||
private OrderInfo initOrderInfo(OrderInfoAddDTO param, ShopInfo shopInfo, ShopTable table) {
|
||||
OrderInfo orderInfo = new OrderInfo();
|
||||
if (param.getOrderId() != null) {
|
||||
orderInfo.setUserId(param.getUserId());
|
||||
orderInfo = getById(param.getOrderId());
|
||||
if (!OrderStatusEnums.UNPAID.getCode().equals(orderInfo.getStatus())) {
|
||||
throw new ValidateException("生成订单失败,订单已结束,请重新下单");
|
||||
|
|
@ -678,7 +674,6 @@ public class OrderInfoServiceImpl extends ServiceImpl<OrderInfoMapper, OrderInfo
|
|||
} else {
|
||||
orderInfo.setOrderNo(param.getPlatformType() + IdUtil.getSnowflakeNextId());
|
||||
orderInfo.setShopId(param.getShopId());
|
||||
orderInfo.setUserId(param.getUserId());
|
||||
if (table != null) {
|
||||
orderInfo.setTableCode(table.getTableCode());
|
||||
orderInfo.setTableName(table.getName());
|
||||
|
|
@ -706,6 +701,7 @@ public class OrderInfoServiceImpl extends ServiceImpl<OrderInfoMapper, OrderInfo
|
|||
orderInfo.setSeatAmount(shopInfo.getTableFee().multiply(new BigDecimal(param.getSeatNum())));
|
||||
orderInfo.setSeatNum(param.getSeatNum());
|
||||
}
|
||||
orderInfo.setUserId(param.getUserId());
|
||||
orderInfo.setTableCode(param.getTableCode());
|
||||
orderInfo.setPlaceNum(param.getPlaceNum());
|
||||
orderInfo.setOriginAmount(param.getOriginAmount());
|
||||
|
|
|
|||
|
|
@ -353,13 +353,10 @@ public class PayServiceImpl implements PayService {
|
|||
AssertUtil.isBlank(payParam.getOpenId(), "用户小程序ID不能为空");
|
||||
AssertUtil.isBlank(payParam.getPayType(), "支付方式不能为空");
|
||||
String payOrderNo = payParam.getPlatformType() + IdUtil.getSnowflakeNextId();
|
||||
initOrderPayment(new OrderPayment(payParam.getShopId(), shopUser.getId(), isFree ? "free" : "memberIn", payOrderNo, "", payParam.getAmount()));
|
||||
JSONObject jsonObject = new JSONObject();
|
||||
jsonObject.put("orderId", payParam.getOrderId() == null ? "" : payParam.getOrderId().toString());
|
||||
jsonObject.put("activateId", payParam.getActivateId() == null ? "" : payParam.getActivateId().toString());
|
||||
String extParam = jsonObject.toJSONString();
|
||||
initOrderPayment(new OrderPayment(payParam.getShopId(), shopUser.getId(), isFree ? "free" : "memberIn", payOrderNo,
|
||||
"", payParam.getAmount(),isFree ? payParam.getOrderId() : payParam.getActivateId()));
|
||||
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
|
||||
|
|
@ -371,13 +368,10 @@ public class PayServiceImpl implements PayService {
|
|||
AssertUtil.isBlank(payParam.getOpenId(), "用户小程序ID不能为空");
|
||||
AssertUtil.isBlank(payParam.getPayType(), "支付方式不能为空");
|
||||
String payOrderNo = payParam.getPlatformType() + IdUtil.getSnowflakeNextId();
|
||||
initOrderPayment(new OrderPayment(payParam.getShopId(), shopUser.getId(), isFree ? "free" : "memberIn", payOrderNo, "", payParam.getAmount()));
|
||||
JSONObject jsonObject = new JSONObject();
|
||||
jsonObject.put("orderId", payParam.getOrderId() == null ? "" : payParam.getOrderId().toString());
|
||||
jsonObject.put("activateId", payParam.getActivateId() == null ? "" : payParam.getActivateId().toString());
|
||||
String extParam = jsonObject.toJSONString();
|
||||
initOrderPayment(new OrderPayment(payParam.getShopId(), shopUser.getId(), isFree ? "free" : "memberIn", payOrderNo,
|
||||
"", payParam.getAmount(),isFree ? payParam.getOrderId() : payParam.getActivateId()));
|
||||
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
|
||||
|
|
@ -387,13 +381,10 @@ public class PayServiceImpl implements PayService {
|
|||
ShopUser shopUser = shopUserService.getById(payParam.getShopUserId());
|
||||
AssertUtil.isNull(shopUser, "充值失败 该店铺用户不存在");
|
||||
String payOrderNo = payParam.getPlatformType() + IdUtil.getSnowflakeNextId();
|
||||
initOrderPayment(new OrderPayment(payParam.getShopId(), shopUser.getId(), isFree ? "free" : "memberIn", payOrderNo, "", payParam.getAmount()));
|
||||
JSONObject jsonObject = new JSONObject();
|
||||
jsonObject.put("orderId", payParam.getOrderId() == null ? "" : payParam.getOrderId().toString());
|
||||
jsonObject.put("activateId", payParam.getActivateId() == null ? "" : payParam.getActivateId().toString());
|
||||
String extParam = jsonObject.toJSONString();
|
||||
initOrderPayment(new OrderPayment(payParam.getShopId(), shopUser.getId(), isFree ? "free" : "memberIn", payOrderNo,
|
||||
"", payParam.getAmount(), isFree ? payParam.getOrderId() : payParam.getActivateId()));
|
||||
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
|
||||
|
|
@ -404,13 +395,10 @@ public class PayServiceImpl implements PayService {
|
|||
ShopUser shopUser = shopUserService.getById(payParam.getShopUserId());
|
||||
AssertUtil.isNull(shopUser, "充值失败 该店铺用户不存在");
|
||||
String payOrderNo = payParam.getPlatformType() + IdUtil.getSnowflakeNextId();
|
||||
initOrderPayment(new OrderPayment(payParam.getShopId(), shopUser.getId(), isFree ? "free" : "memberIn", payOrderNo, payParam.getAuthCode(), payParam.getAmount()));
|
||||
JSONObject jsonObject = new JSONObject();
|
||||
jsonObject.put("orderId", payParam.getOrderId() == null ? "" : payParam.getOrderId().toString());
|
||||
jsonObject.put("activateId", payParam.getActivateId() == null ? "" : payParam.getActivateId().toString());
|
||||
String extParam = jsonObject.toJSONString();
|
||||
initOrderPayment(new OrderPayment(payParam.getShopId(), shopUser.getId(), isFree ? "free" : "memberIn", payOrderNo,
|
||||
payParam.getAuthCode(), payParam.getAmount(), isFree ? payParam.getOrderId() : payParam.getActivateId()));
|
||||
return microPay(payParam.getShopId(), new CzgMicroPayReq(payOrderNo, payParam.getAmount().multiply(MONEY_RATE).longValue(),
|
||||
"会员充值", payParam.getAuthCode(), payParam.getBuyerRemark(), extParam));
|
||||
"会员充值", payParam.getAuthCode(), payParam.getBuyerRemark(), ""));
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
@ -550,17 +538,22 @@ public class PayServiceImpl implements PayService {
|
|||
}
|
||||
} else {
|
||||
orderInfo.setStatus(OrderStatusEnums.REFUND.getCode());
|
||||
// ssss
|
||||
List<OrderDetail> orderDetails = orderDetailService.queryChain()
|
||||
.select(OrderDetail::getId, OrderDetail::getNum, OrderDetail::getReturnNum, OrderDetail::getReturnNum)
|
||||
.select(OrderDetail::getId, OrderDetail::getProductId, OrderDetail::getNum, OrderDetail::getReturnNum, OrderDetail::getReturnNum)
|
||||
.eq(OrderDetail::getOrderId, orderInfo.getId())
|
||||
.list();
|
||||
for (OrderDetail orderDetail : orderDetails) {
|
||||
if (isPay) {
|
||||
returnProMap.put(Convert.toStr(orderDetail.getProductId()), orderDetail.getNum().subtract(orderDetail.getReturnNum()).subtract(orderDetail.getRefundNum()));
|
||||
if (orderDetail.getProductId() != null && orderDetail.getProductId() > 0) {
|
||||
returnProMap.put(Convert.toStr(orderDetail.getProductId()), orderDetail.getNum().subtract(orderDetail.getReturnNum()).subtract(orderDetail.getRefundNum()));
|
||||
}
|
||||
orderDetail.setRefundNum(orderDetail.getNum().subtract(orderDetail.getReturnNum()));
|
||||
orderDetail.setStatus(OrderStatusEnums.REFUND.getCode());
|
||||
} else {
|
||||
returnProMap.put(Convert.toStr(orderDetail.getProductId()), orderDetail.getNum().subtract(orderDetail.getReturnNum()));
|
||||
if (orderDetail.getProductId() != null && orderDetail.getProductId() > 0) {
|
||||
returnProMap.put(Convert.toStr(orderDetail.getProductId()), orderDetail.getNum().subtract(orderDetail.getReturnNum()));
|
||||
}
|
||||
orderDetail.setReturnNum(orderDetail.getNum());
|
||||
orderDetail.setStatus(OrderStatusEnums.CANCELLED.getCode());
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue