Merge remote-tracking branch 'origin/wzj-main' into wzj-main
This commit is contained in:
commit
8b9a963bc6
@ -73,11 +73,14 @@ public class AppPayController {
|
|||||||
if (user == null) {
|
if (user == null) {
|
||||||
return R.notLogin();
|
return R.notLogin();
|
||||||
}
|
}
|
||||||
//先生成充值订单
|
if(payParam.getOrderType().equals("RECHARGE")){
|
||||||
chargeBO.setMemberId(user.getUserId());
|
//先生成充值订单
|
||||||
chargeBO.setMethod(paymentMethodEnum.getCode());
|
chargeBO.setMemberId(user.getUserId());
|
||||||
chargeBusiness.charge(chargeBO);
|
chargeBO.setMethod(paymentMethodEnum.getCode());
|
||||||
payParam.setSn(chargeBO.getCode());
|
chargeBusiness.charge(chargeBO);
|
||||||
|
payParam.setSn(chargeBO.getCode());
|
||||||
|
}
|
||||||
|
|
||||||
return cashierSupport.payment(paymentMethodEnum, paymentClientEnum, request, response, payParam);
|
return cashierSupport.payment(paymentMethodEnum, paymentClientEnum, request, response, payParam);
|
||||||
} catch (ServiceException se) {
|
} catch (ServiceException se) {
|
||||||
log.info("支付异常", se);
|
log.info("支付异常", se);
|
||||||
|
@ -270,7 +270,7 @@ wechat:
|
|||||||
mch-serial-no: 6BA681D9B219034D6F7851F57D61BE9317AB48FD # 商户证书序列号
|
mch-serial-no: 6BA681D9B219034D6F7851F57D61BE9317AB48FD # 商户证书序列号
|
||||||
api-v3-key: T9iE71aHSmjtM35z4bDLuU3gFX8s2I2h # APIv3密钥
|
api-v3-key: T9iE71aHSmjtM35z4bDLuU3gFX8s2I2h # APIv3密钥
|
||||||
private-key-path: "/java/cert/apiclient_key.pem" # 商户私钥文件路径
|
private-key-path: "/java/cert/apiclient_key.pem" # 商户私钥文件路径
|
||||||
transfer-notify-url: https://wuzhongjie.com.cn/prod-api/api/transfer/callback # 转账回调地址
|
transfer-notify-url: https://wuzhongjie.com.cn/prod-api/trans/withdraw/callback # 转账回调地址
|
||||||
app-id: wxebcdaea31881caab # 应用ID
|
app-id: wxebcdaea31881caab # 应用ID
|
||||||
secret: 71826d76bad096ec5407897c6ed1391f # 应用密钥
|
secret: 71826d76bad096ec5407897c6ed1391f # 应用密钥
|
||||||
mini-program:
|
mini-program:
|
||||||
|
@ -50,4 +50,6 @@ public interface OrderService extends IService<Order> {
|
|||||||
|
|
||||||
void sendMessage(Long orderId);
|
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.bean.BeanUtil;
|
||||||
import cn.hutool.core.collection.CollectionUtil;
|
import cn.hutool.core.collection.CollectionUtil;
|
||||||
import cn.hutool.core.date.DatePattern;
|
import cn.hutool.core.date.DatePattern;
|
||||||
|
import cn.hutool.core.date.LocalDateTimeUtil;
|
||||||
import cn.hutool.core.lang.Assert;
|
import cn.hutool.core.lang.Assert;
|
||||||
import cn.hutool.core.text.StrBuilder;
|
import cn.hutool.core.text.StrBuilder;
|
||||||
import cn.hutool.core.util.RandomUtil;
|
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;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -98,7 +98,6 @@ public class WithdrawController {
|
|||||||
//更新提现状态
|
//更新提现状态
|
||||||
service.withdrawCallback(id);
|
service.withdrawCallback(id);
|
||||||
return R.ok();
|
return R.ok();
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -97,32 +97,6 @@ public class WxPayController {
|
|||||||
}
|
}
|
||||||
return response;
|
return response;
|
||||||
}
|
}
|
||||||
/**
|
|
||||||
* 微信商户零线转账 - 回调通知
|
|
||||||
* @Context注解 把HTTP请求上下文对象注入进来,HttpServletRequest、HttpServletResponse、UriInfo 等
|
|
||||||
* @return
|
|
||||||
*/
|
|
||||||
@Operation(summary = "微信商户零线转账 - 回调通知")
|
|
||||||
@RequestMapping(value = "/callback", method = {RequestMethod.GET, RequestMethod.POST})
|
|
||||||
@Log(title = "微信商户零线转账 - 回调通知", businessType = BusinessType.INSERT)
|
|
||||||
public ResponseEntity<Map<String, String>> wxPayCallback(@Context HttpServletRequest request) {
|
|
||||||
Map<String,String> errMap = new HashMap<>();
|
|
||||||
try {
|
|
||||||
log.info("微信商户零线转账 - 回调通知 /wxpay/callback");
|
|
||||||
Map<String, String> resMap = (Map<String, String>) wxPayService.wxPaySuccessCallback(request);
|
|
||||||
return new ResponseEntity<>(resMap, HttpStatus.OK);
|
|
||||||
} catch (ServiceException e){
|
|
||||||
errMap.put("code", "FAIL");
|
|
||||||
errMap.put("message", e.getMessage());
|
|
||||||
return new ResponseEntity<>(errMap, HttpStatus.BAD_REQUEST);
|
|
||||||
} catch (Exception e) {
|
|
||||||
log.error("微信商户零线转账 - 回调通知 /wxpay/callback:异常!", e);
|
|
||||||
errMap.put("code", "FAIL");
|
|
||||||
errMap.put("message", "服务器内部错误");
|
|
||||||
return new ResponseEntity<>(errMap, HttpStatus.INTERNAL_SERVER_ERROR);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 商家转账 - 商户单号查询转账单
|
* 商家转账 - 商户单号查询转账单
|
||||||
* @param outBillNo 商户系统内部的商家单号
|
* @param outBillNo 商户系统内部的商家单号
|
||||||
|
@ -54,14 +54,14 @@ public class OrderCashier implements CashierExecute {
|
|||||||
Order order = orderService.getByNo(payParam.getSn());
|
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);
|
throw new ServiceException(ResultCode.PAY_DOUBLE_ERROR);
|
||||||
}
|
}
|
||||||
//如果订单状态不是待付款,则抛出异常
|
//如果订单状态不是待付款,则抛出异常
|
||||||
if (!order.getStatus().equals(OrderStatusEnum.UNPAID.getValue())) {
|
if (!order.getStatus().equals(OrderStatusEnum.UNPAID.getValue())) {
|
||||||
throw new ServiceException(ResultCode.PAY_BAN);
|
throw new ServiceException(ResultCode.PAY_BAN);
|
||||||
}
|
}
|
||||||
cashierParam.setPrice(order.getPayAmount().longValue());
|
cashierParam.setPrice(order.getTotalAmount().longValue());
|
||||||
//
|
//
|
||||||
// try {
|
// try {
|
||||||
// BaseSetting baseSetting = JSONUtil.toBean(settingService.get(SettingEnum.BASE_SETTING.name()).getSettingValue(), BaseSetting.class);
|
// 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();
|
PayParam payParam = paymentSuccessParams.getPayParam();
|
||||||
if (payParam.getOrderType().equals(CashierEnum.ORDER.name())) {
|
if (payParam.getOrderType().equals(CashierEnum.ORDER.name())) {
|
||||||
// orderService.payOrder(payParam.getSn(),
|
orderService.paySuccess(payParam.getSn(),
|
||||||
// paymentSuccessParams.getPaymentMethod(),
|
paymentSuccessParams.getReceivableNo(),paymentSuccessParams.getPaymentMethod());
|
||||||
// paymentSuccessParams.getReceivableNo());
|
|
||||||
log.info("订单{}支付成功,金额{},方式{}", payParam.getSn(),
|
log.info("订单{}支付成功,金额{},方式{}", payParam.getSn(),
|
||||||
paymentSuccessParams.getPaymentMethod(),
|
paymentSuccessParams.getPaymentMethod(),
|
||||||
paymentSuccessParams.getReceivableNo());
|
paymentSuccessParams.getReceivableNo());
|
||||||
|
@ -84,6 +84,7 @@ docker run -d \
|
|||||||
|
|
||||||
docker run -d \
|
docker run -d \
|
||||||
--name minio \
|
--name minio \
|
||||||
|
--restart always \
|
||||||
-p 9000:9000 \
|
-p 9000:9000 \
|
||||||
-p 9001:9001 \
|
-p 9001:9001 \
|
||||||
-e TZ=Asia/Shanghai \
|
-e TZ=Asia/Shanghai \
|
||||||
|
Loading…
x
Reference in New Issue
Block a user