From 969759b44baf414778aa68f1f3af5cd79d9f7e9b Mon Sep 17 00:00:00 2001
From: xiaoyong931011 <15274802129@163.com>
Date: Mon, 01 Aug 2022 10:58:08 +0800
Subject: [PATCH] 20220727 保存代码
---
src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallOrderInfoServiceImpl.java | 30 +++++++++++++++++++++++++-----
1 files changed, 25 insertions(+), 5 deletions(-)
diff --git a/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallOrderInfoServiceImpl.java b/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallOrderInfoServiceImpl.java
index 300a206..1761ef5 100644
--- a/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallOrderInfoServiceImpl.java
+++ b/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallOrderInfoServiceImpl.java
@@ -2,10 +2,7 @@
import cc.mrbird.febs.common.enumerates.*;
import cc.mrbird.febs.common.exception.FebsException;
-import cc.mrbird.febs.common.utils.AppContants;
-import cc.mrbird.febs.common.utils.LoginUserUtil;
-import cc.mrbird.febs.common.utils.MallUtils;
-import cc.mrbird.febs.common.utils.RedisUtils;
+import cc.mrbird.febs.common.utils.*;
import cc.mrbird.febs.mall.conversion.MallGoodsCommentConversion;
import cc.mrbird.febs.mall.conversion.MallOrderInfoConversion;
import cc.mrbird.febs.mall.conversion.MallOrderRefundConversion;
@@ -16,13 +13,16 @@
import cc.mrbird.febs.mall.vo.OrderDetailVo;
import cc.mrbird.febs.mall.vo.OrderListVo;
import cc.mrbird.febs.mall.vo.OrderRefundVo;
+import cc.mrbird.febs.pay.model.BrandWCPayRequestData;
import cc.mrbird.febs.pay.service.IPayService;
+import cc.mrbird.febs.pay.service.IXcxPayService;
import cc.mrbird.febs.rabbit.producter.AgentProducer;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.date.DateUnit;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.StrUtil;
import cn.hutool.crypto.SecureUtil;
+import cn.hutool.json.JSONUtil;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@@ -60,13 +60,17 @@
private final AgentProducer agentProducer;
private final IPayService payService;
+ private final IXcxPayService iXcxPayService;
private final IMallAchieveService mallAchieveService;
@Override
@Transactional(rollbackFor = Exception.class)
public Long createOrder(AddOrderDto addOrderDto) {
MallMember member = LoginUserUtil.getLoginUser();
-
+ String takeUniqueCode = addOrderDto.getTakeUniqueCode();
+ if(StrUtil.isEmpty(takeUniqueCode)){
+ throw new FebsException("请选择自提点");
+ }
MallAddressInfo address = mallAddressInfoMapper.selectAddressInfoByMemberIdAndId(member.getId(), addOrderDto.getAddressId());
if (address == null) {
throw new FebsException("地址不存在");
@@ -85,6 +89,9 @@
orderInfo.setLongitude(address.getLongitude());
orderInfo.setRemark(addOrderDto.getRemark());
orderInfo.setOrderType(addOrderDto.getOrderType());
+
+ orderInfo.setTakeUniqueCode(addOrderDto.getTakeUniqueCode());
+ orderInfo.setDeliveryType(1);
if (CollUtil.isEmpty(addOrderDto.getItems())) {
throw new FebsException("参数错误");
@@ -212,10 +219,19 @@
}
String payResultStr = "";
+ String wxResultStr = "";
switch (payOrderDto.getType()) {
case "1":
// orderInfo.setPayOrderNo(payOrderDto.getPayOrderNo());
// orderInfo.setPayImage(payOrderDto.getPayImage());
+ BrandWCPayRequestData brandWCPayRequestData = null;
+ try {
+ brandWCPayRequestData = iXcxPayService.startPayment(orderInfo);
+ } catch (Exception e) {
+ throw new FebsException("支付失败");
+ }
+ wxResultStr = JSONUtil.toJsonStr(brandWCPayRequestData);
+ payResultStr = brandWCPayRequestData.getPrepay_id();
orderInfo.setPayMethod("微信支付");
agentProducer.sendOrderReturn(orderInfo.getId());
break;
@@ -294,12 +310,16 @@
default:
}
+ //订单支付成功产生一个提货码
+ String takeCode = ShareCodeUtil.toSerialCode(orderInfo.getId());
+ orderInfo.setTakeCode(takeCode);
this.baseMapper.updateById(orderInfo);
Map<String, Object> map = new HashMap<>();
map.put("orderInfo", payResultStr);
map.put("orderNo", orderInfo.getOrderNo());
map.put("orderId", orderInfo.getId());
+ map.put("wxResultStr", wxResultStr);
return map;
}
--
Gitblit v1.9.1