From 66d2da225aff8d3ca59c857659e4f6766009545a Mon Sep 17 00:00:00 2001
From: Helius <wangdoubleone@gmail.com>
Date: Wed, 17 Nov 2021 11:49:37 +0800
Subject: [PATCH] Merge branch 'score_shop' of http://120.27.238.55:7000/r/beauty-erp into score_shop
---
zq-erp/src/main/java/com/matrix/system/shopXcx/api/service/impl/WXShopOrderServiceImpl.java | 60 +++++++++++++++++++++++++++---------------------------------
1 files changed, 27 insertions(+), 33 deletions(-)
diff --git a/zq-erp/src/main/java/com/matrix/system/shopXcx/api/service/impl/WXShopOrderServiceImpl.java b/zq-erp/src/main/java/com/matrix/system/shopXcx/api/service/impl/WXShopOrderServiceImpl.java
index e702535..7982cf2 100644
--- a/zq-erp/src/main/java/com/matrix/system/shopXcx/api/service/impl/WXShopOrderServiceImpl.java
+++ b/zq-erp/src/main/java/com/matrix/system/shopXcx/api/service/impl/WXShopOrderServiceImpl.java
@@ -3,9 +3,7 @@
import cn.hutool.core.collection.CollUtil;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
-import com.matrix.system.hive.bean.SysVipInfo;
-import com.matrix.component.rabbitmq.RabiitMqTemplate;
-import com.matrix.component.redis.RedisUserLoginUtils;
+import com.matrix.system.common.init.UserCacheManager;
import com.matrix.component.tools.WxUtils;
import com.matrix.component.wechat.externalInterface.protocol.paramProtocol.BrandWCPayRequestData;
import com.matrix.component.wechat.externalInterface.weixinUtil.WeixinServiceUtil;
@@ -17,6 +15,7 @@
import com.matrix.system.common.dao.BusParameterSettingsDao;
import com.matrix.system.common.dao.CustomerDataDictionaryDao;
import com.matrix.system.common.interceptor.HostInterceptor;
+import com.matrix.system.hive.bean.SysVipInfo;
import com.matrix.system.hive.dao.ShoppingGoodsDao;
import com.matrix.system.hive.dao.SysVipInfoDao;
import com.matrix.system.score.dao.ScoreVipDetailDao;
@@ -29,7 +28,6 @@
import com.matrix.system.shopXcx.api.service.ShoppingCartService;
import com.matrix.system.shopXcx.api.service.WXShopOrderService;
import com.matrix.system.shopXcx.api.service.WxShopCouponService;
-import com.matrix.system.shopXcx.api.tools.WxShopCouponUtil;
import com.matrix.system.shopXcx.api.tools.WxShopOrderUtil;
import com.matrix.system.shopXcx.api.vo.CouponReceiveInfoVO;
import com.matrix.system.shopXcx.bean.*;
@@ -55,9 +53,7 @@
@Autowired
private WxShopOrderUtil wxShopOrderUtil;
@Autowired
- private WxShopCouponUtil wxShopCouponUtil;
- @Autowired
- private RedisUserLoginUtils redisUserLoginUtils;
+ private UserCacheManager userCacheManager;
@Autowired
private WeixinServiceUtil weixinServiceUtil;
@Autowired
@@ -68,8 +64,6 @@
private ShopOrderDao shopOrderDao;
@Autowired
private ShopOrderDetailsDao shopOrderDetailsDao;
- @Autowired
- private ShopCouponDao shopCouponDao;
@Autowired
private ShopProductDao shopProductDao;
@Autowired
@@ -131,27 +125,25 @@
*/
@Transactional(rollbackFor = Exception.class)
@Override
- public AjaxResult createShopOrder(ShopOrderDto shopOrderDto) throws Exception {
- SysVipInfo sysVipInfo = redisUserLoginUtils.getLoginUser(SysVipInfo.class);
+ public ShopOrder createShopOrder(ShopOrderDto shopOrderDto) throws Exception {
+ SysVipInfo sysVipInfo = userCacheManager.getLoginUser();
- //校验收货地址
+
ShopReceiveAddress shopReceiveAddress = shopReceiveAddressDao.selectById(shopOrderDto.getReceiveAddrId());
- if (shopReceiveAddress == null) {
- return new AjaxResult(AjaxResult.STATUS_FAIL, "请选择正确的收获地址");
- }
+
//计算订单优惠信息
AjaxResult caculateResult= buildDiscountExplain(shopOrderDto);
DiscountExplain discountExplain= (DiscountExplain) caculateResult.getMapInfo().get("discountExplain");
-
if(discountExplain.getScorePay()!=null){
//校验用户积分是否够用
int score=scoreVipDetailDao.selectUserTotalScore(sysVipInfo.getId());
if(score<discountExplain.getScorePay()){
- return AjaxResult.buildFailInstance("积分不足");
+ throw new GlobleException("积分不足");
}
}
+
ShopOrder shopOrder = new ShopOrder();
shopOrder.setCompanyId(sysVipInfo.getCompanyId());
@@ -200,6 +192,7 @@
shopOrder.setUserId(sysVipInfo.getId());
shopOrder.setCreateBy("微信小程序生成");
shopOrder.setUpdateBy("微信小程序生成");
+ shopOrder.setPayMethod(shopOrderDto.getPayMethod());
shopOrder.setCommodityPrice(discountExplain.getBillPrice());
shopOrder.setPurchaseQuantity(orderCount);
shopOrder.setOrderType(ShopOrder.ORDER_TYPE_GOODS);
@@ -256,11 +249,8 @@
- BrandWCPayRequestData payData = startPayment(shopOrder);
- AjaxResult result = new AjaxResult(AjaxResult.STATUS_SUCCESS, Arrays.asList(payData));
- result.putInMap("orderId", shopOrder.getId());
- return result;
+ return shopOrder;
}
@Override
@@ -281,7 +271,7 @@
//支付总积分
Integer scoreCount=0;
- SysVipInfo sysVipInfo = redisUserLoginUtils.getLoginUser(SysVipInfo.class);
+ SysVipInfo sysVipInfo = userCacheManager.getLoginUser();
//计算购物车中物品的优惠信息
List<OrderItemDto> orderItemDtos = shopOrderDto.getOrderItemList()
@@ -327,7 +317,7 @@
List<CouponReceiveInfoVO> usefulCoupon = new ArrayList<>();
CouponReceiveInfoVO shopCoupon = new CouponReceiveInfoVO();
//满足店铺活动的订单不能使用优惠券
- if (conditionsGroupCount > 0) {
+ if (conditionsGroupCount <= 0) {
//计算可用优惠券
usefulCoupon = wxShopCouponService.getCartVoCouponList(sysVipInfo.getCompanyId(), orderItemDtos);
//获取用户使用的优惠券
@@ -355,9 +345,11 @@
//计算运费
- discountExplain.setPostage(calculationPostage(discountExplain.getPayPrice(), HostInterceptor.getCompanyId()));
-
-
+ if(ShopOrder.SHIPPING_METHOD_WL==shopOrderDto.getDeliverySelect()){
+ discountExplain.setPostage(calculationPostage(billPrice, HostInterceptor.getCompanyId()));
+ }else{
+ discountExplain.setPostage(BigDecimal.ZERO);
+ }
//账单总金额
discountExplain.setBillPrice(billPrice.add(discountExplain.getPostage()));
@@ -392,11 +384,15 @@
@Override
public AjaxResult orderSettlement(int orderId) throws Exception {
ShopOrder shopOrder = shopOrderDao.selectById(orderId);
+
if (shopOrder == null) {
- throw new GlobleException("订单不存在!");
+ return AjaxResult.buildFailInstance("订单不存在!");
+ }
+ if (ShopOrder.SHOP_ORDER_PAY_METHOD_WX != shopOrder.getPayMethod()) {
+ return AjaxResult.buildFailInstance("支付方式错误");
}
if (!shopOrder.getPayResult().equals(ShopOrder.ORDER_PAY_STATUS_WAIT)) {
- throw new GlobleException("该订单不是待支付状态!");
+ return AjaxResult.buildFailInstance("该订单不是待支付状态!");
}
if(shopOrder.getScorePay()!=null){
@@ -451,7 +447,7 @@
*/
@Override
public AjaxResult getMyOrderInfo(OrderInfoQueryPOJO orderInfoQueryPOJO) {
- SysVipInfo sysVipInfo = redisUserLoginUtils.getLoginUser(SysVipInfo.class);
+ SysVipInfo sysVipInfo = userCacheManager.getLoginUser();
orderInfoQueryPOJO.setSort("update_time");
if (orderInfoQueryPOJO.getOffset() >= 1) {
orderInfoQueryPOJO.setOffset((orderInfoQueryPOJO.getOffset() - 1) * orderInfoQueryPOJO.getLimit());
@@ -468,7 +464,7 @@
*/
@Override
public AjaxResult getOrderInfoById(Integer orderId) {
- SysVipInfo sysVipInfo = redisUserLoginUtils.getLoginUser(SysVipInfo.class);
+ SysVipInfo sysVipInfo = userCacheManager.getLoginUser();
ShopOrder shopOrder = shopOrderDao.selectOrderInfoById(sysVipInfo.getId(), orderId);
return new AjaxResult(AjaxResult.STATUS_SUCCESS, Arrays.asList(shopOrder));
}
@@ -490,7 +486,7 @@
}
if (shopOrder.getDiscountAmount() != null && shopOrder.getDiscountAmount().compareTo(BigDecimal.ZERO) > 0) {
ShopCouponRecord shopCouponRecord = new ShopCouponRecord();
- SysVipInfo sysVipInfo = redisUserLoginUtils.getLoginUser(SysVipInfo.class);
+ SysVipInfo sysVipInfo = userCacheManager.getLoginUser();
shopCouponRecord.setUserId(sysVipInfo.getId());
shopCouponRecord.setOrderId(orderId);
List<ShopCouponRecord> recordList = shopCouponRecordDao.selectByModel(shopCouponRecord);
@@ -616,8 +612,6 @@
* @param orderId
* @return
*/
- @Autowired
- RabiitMqTemplate rabiitMqTemplate;
@Override
public AjaxResult findOrderPayStatus(Integer orderId) {
--
Gitblit v1.9.1