[fix]修改微信支付
This commit is contained in:
parent
ea555fbe34
commit
c7d71811b6
@ -73,11 +73,14 @@ public class AppPayController {
|
||||
if (user == null) {
|
||||
return R.notLogin();
|
||||
}
|
||||
//先生成充值订单
|
||||
chargeBO.setMemberId(user.getUserId());
|
||||
chargeBO.setMethod(paymentMethodEnum.getCode());
|
||||
chargeBusiness.charge(chargeBO);
|
||||
payParam.setSn(chargeBO.getCode());
|
||||
if(payParam.getOrderType().equals("RECHARGE")){
|
||||
//先生成充值订单
|
||||
chargeBO.setMemberId(user.getUserId());
|
||||
chargeBO.setMethod(paymentMethodEnum.getCode());
|
||||
chargeBusiness.charge(chargeBO);
|
||||
payParam.setSn(chargeBO.getCode());
|
||||
}
|
||||
|
||||
return cashierSupport.payment(paymentMethodEnum, paymentClientEnum, request, response, payParam);
|
||||
} catch (ServiceException se) {
|
||||
log.info("支付异常", se);
|
||||
|
@ -50,4 +50,6 @@ public interface OrderService extends IService<Order> {
|
||||
|
||||
void sendMessage(Long orderId);
|
||||
|
||||
void paySuccess(String orderNo,String payNo,Integer payType);
|
||||
|
||||
}
|
||||
|
@ -3,6 +3,7 @@ package com.wzj.soopin.order.service.impl;
|
||||
import cn.hutool.core.bean.BeanUtil;
|
||||
import cn.hutool.core.collection.CollectionUtil;
|
||||
import cn.hutool.core.date.DatePattern;
|
||||
import cn.hutool.core.date.LocalDateTimeUtil;
|
||||
import cn.hutool.core.lang.Assert;
|
||||
import cn.hutool.core.text.StrBuilder;
|
||||
import cn.hutool.core.util.RandomUtil;
|
||||
@ -530,5 +531,45 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public void paySuccess(String orderNo,String payNo,Integer payType) {
|
||||
// 根据订单编号查询订单信息
|
||||
Order order = getByNo(orderNo);
|
||||
Assert.notNull(order, "订单不存在");
|
||||
// 生成订单核销码信息
|
||||
verificationCodeService.generateVerificationCode(order);
|
||||
// 更新订单信息
|
||||
this.updateById(Order.builder()
|
||||
.id(order.getId())
|
||||
.status(OrderStatusEnum.VERIFY.getValue())
|
||||
.paymentTime(LocalDateTime.now())
|
||||
.payType(payType)
|
||||
.build());
|
||||
|
||||
//发出消息
|
||||
MqUtil.sendIMMessage(buildMQMessage(order));
|
||||
}
|
||||
|
||||
private MQMessage buildMQMessage(Order order) {
|
||||
Map<String, Object> params = new HashMap<>();
|
||||
params.put("orderID", order.getId());
|
||||
params.put("amount", order.getTotalAmount());
|
||||
|
||||
//取订单的第一个商品
|
||||
List<OrderItem> orderItems = orderItemMapper.findByOrderId(order.getId());
|
||||
if (CollectionUtil.isNotEmpty(orderItems)) {
|
||||
params.put("name", orderItems.get(0).getProductName());
|
||||
params.put("pic", orderItems.get(0).getPic());
|
||||
params.put("price", orderItems.get(0).getSalePrice());
|
||||
params.put("amount", orderItems.get(0).getQuantity());
|
||||
}
|
||||
MQMessage mqMessage = new MQMessage();
|
||||
mqMessage.setTag(MessageActionEnum.ORDER_PAY.name());
|
||||
mqMessage.setMessageType(MQMessageType.IM.name());
|
||||
mqMessage.setToUserId(order.getMemberId());
|
||||
mqMessage.setData(params);
|
||||
return mqMessage;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -54,14 +54,14 @@ public class OrderCashier implements CashierExecute {
|
||||
Order order = orderService.getByNo(payParam.getSn());
|
||||
|
||||
// //如果订单已支付,则不能发器支付
|
||||
if (!order.getStatus().equals(OrderStatusEnum.UNPAID.name())) {
|
||||
if (!order.getStatus().equals(OrderStatusEnum.UNPAID.getValue())) {
|
||||
throw new ServiceException(ResultCode.PAY_DOUBLE_ERROR);
|
||||
}
|
||||
//如果订单状态不是待付款,则抛出异常
|
||||
if (!order.getStatus().equals(OrderStatusEnum.UNPAID.getValue())) {
|
||||
throw new ServiceException(ResultCode.PAY_BAN);
|
||||
}
|
||||
cashierParam.setPrice(order.getPayAmount().longValue());
|
||||
cashierParam.setPrice(order.getTotalAmount().longValue());
|
||||
//
|
||||
// try {
|
||||
// BaseSetting baseSetting = JSONUtil.toBean(settingService.get(SettingEnum.BASE_SETTING.name()).getSettingValue(), BaseSetting.class);
|
||||
@ -92,9 +92,8 @@ public class OrderCashier implements CashierExecute {
|
||||
|
||||
PayParam payParam = paymentSuccessParams.getPayParam();
|
||||
if (payParam.getOrderType().equals(CashierEnum.ORDER.name())) {
|
||||
// orderService.payOrder(payParam.getSn(),
|
||||
// paymentSuccessParams.getPaymentMethod(),
|
||||
// paymentSuccessParams.getReceivableNo());
|
||||
orderService.paySuccess(payParam.getSn(),
|
||||
paymentSuccessParams.getReceivableNo(),paymentSuccessParams.getPaymentMethod());
|
||||
log.info("订单{}支付成功,金额{},方式{}", payParam.getSn(),
|
||||
paymentSuccessParams.getPaymentMethod(),
|
||||
paymentSuccessParams.getReceivableNo());
|
||||
|
Loading…
x
Reference in New Issue
Block a user