sql/xc_mall.sql
@@ -301,5 +301,7 @@ alter table mall_money_flow add rt_member_id bigint null comment '返利用户ID'; alter table mall_money_flow add status int null comment '提现状态 1-提现中2-成功3-拒绝'; alter table mall_order_info add pay_image varchar(1000) null comment '支付凭证'; src/main/java/cc/mrbird/febs/mall/controller/ApiMallOrderController.java
@@ -50,10 +50,10 @@ @ApiOperation(value = "支付订单", notes = "支付订单") @PostMapping(value = "/payOrder") public FebsResponse payOrder(@RequestBody PayOrderDto payOrderDto) { String result = mallOrderInfoService.payOrder(payOrderDto); Map<String, Object> result = mallOrderInfoService.payOrder(payOrderDto); Map<String, Object> map = new HashMap<>(); map.put("orderNo", result); map.put("order", result); map.put("type", payOrderDto.getType()); return new FebsResponse().success().data(map).message("支付成功"); } src/main/java/cc/mrbird/febs/mall/dto/PayOrderDto.java
@@ -25,4 +25,10 @@ @ApiModelProperty(value = "支付密码", example = "如果选择余额支付需要输入") private String tradePwd; @ApiModelProperty(value = "支付单号", example = "12345678") private String payOrderNo; @ApiModelProperty(value = "支付凭证") private String payImage; } src/main/java/cc/mrbird/febs/mall/entity/MallOrderInfo.java
@@ -69,4 +69,6 @@ @TableField(exist = false) private List<MallOrderItem> items; private String payImage; } src/main/java/cc/mrbird/febs/mall/service/IApiMallOrderInfoService.java
@@ -7,6 +7,7 @@ import com.baomidou.mybatisplus.extension.service.IService; import java.util.List; import java.util.Map; public interface IApiMallOrderInfoService extends IService<MallOrderInfo> { @@ -14,7 +15,7 @@ void cancelOrder(Long id); String payOrder(PayOrderDto payOrderDto); Map<String, Object> payOrder(PayOrderDto payOrderDto); List<OrderListVo> findOrderList(OrderListDto orderListDto); src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallOrderInfoServiceImpl.java
@@ -35,9 +35,7 @@ import java.math.BigDecimal; import java.text.SimpleDateFormat; import java.util.Date; import java.util.List; import java.util.Random; import java.util.*; /** * @author wzy @@ -154,7 +152,7 @@ @Override @Transactional(rollbackFor = Exception.class) public String payOrder(PayOrderDto payOrderDto) { public Map<String, Object> payOrder(PayOrderDto payOrderDto) { MallMember member = LoginUserUtil.getLoginUser(); MallOrderInfo orderInfo = this.baseMapper.selectOrderByMemberIdAndId(member.getId(), payOrderDto.getId()); if (orderInfo == null || AppContants.DEL_FLAG_Y == orderInfo.getDelFlag()) { @@ -168,16 +166,19 @@ String orderNo = ""; switch (payOrderDto.getType()) { case "1": // TODO 微信支付 orderInfo.setPayOrderNo(payOrderDto.getPayOrderNo()); orderInfo.setPayImage(payOrderDto.getPayImage()); orderInfo.setPayMethod("微信支付"); break; case "2": // TODO 支付宝支付 orderInfo.setPayOrderNo(payOrderDto.getPayOrderNo()); orderInfo.setPayImage(payOrderDto.getPayImage()); orderInfo.setPayMethod("支付宝支付"); break; case "3": orderNo = balancePay(orderInfo, payOrderDto.getTradePwd()); orderInfo.setPayOrderNo(orderInfo.getOrderNo()); orderInfo.setPayMethod("积分支付"); default: @@ -185,12 +186,15 @@ orderInfo.setStatus(OrderStatusEnum.WAIT_SHIPPING.getValue()); orderInfo.setPayTime(new Date()); orderInfo.setPayOrderNo(orderInfo.getOrderNo()); orderInfo.setPayResult("1"); this.baseMapper.updateById(orderInfo); memberService.addMoneyFlow(member.getId(), orderInfo.getAmount().negate(), MoneyFlowTypeEnum.PAY.getValue(), orderInfo.getOrderNo(), null, null, null, null); return orderNo; Map<String, Object> map = new HashMap<>(); map.put("orderNo", orderNo); map.put("orderId", orderInfo.getId()); return map; } private String balancePay(MallOrderInfo orderInfo, String tradePwd) {