Browse Source

Merge branch 'master' of http://10.0.5.229:10880/Harper/feifan-backend-zx-app into dev/2024/0415/update-app

Yangzw 1 year ago
parent
commit
3169688240

+ 1 - 5
feifan-module-distri/feifan-module-distri-biz/pom.xml

@@ -56,11 +56,7 @@
             <version>${revision}</version>
         </dependency>
 
-        <dependency>
-            <groupId>cn.newfeifan.zx</groupId>
-            <artifactId>feifan-module-trade-biz</artifactId>
-            <version>${revision}</version>
-        </dependency>
+
 
         <!-- 业务组件 -->
         <dependency>

+ 0 - 13
feifan-module-distri/feifan-module-distri-biz/src/main/java/cn/newfeifan/mall/module/distri/service/orderpercentage/handle/OrderPercentHandler.java

@@ -1,18 +1,5 @@
 package cn.newfeifan.mall.module.distri.service.orderpercentage.handle;
 
-import cn.hutool.core.collection.CollUtil;
-import cn.hutool.core.lang.Assert;
-import cn.newfeifan.mall.module.promotion.api.bargain.BargainActivityApi;
-import cn.newfeifan.mall.module.promotion.api.bargain.BargainRecordApi;
-import cn.newfeifan.mall.module.trade.dal.dataobject.order.TradeOrderDO;
-import cn.newfeifan.mall.module.trade.dal.dataobject.order.TradeOrderItemDO;
-import cn.newfeifan.mall.module.trade.enums.order.TradeOrderTypeEnum;
-import cn.newfeifan.mall.module.trade.service.order.handler.TradeOrderHandler;
-import org.springframework.stereotype.Component;
-
-import javax.annotation.Resource;
-import java.util.List;
-
 /**
  * 订单百分比
  *

+ 7 - 0
feifan-module-mall/feifan-module-trade-biz/pom.xml

@@ -130,6 +130,13 @@
             <version>2.0.0-jdk8-snapshot</version>
             <scope>compile</scope>
         </dependency>
+        <dependency>
+            <groupId>cn.newfeifan.zx</groupId>
+            <artifactId>feifan-module-distri-biz</artifactId>
+            <version>2.0.0-jdk8-snapshot</version>
+            <scope>compile</scope>
+        </dependency>
+
 
     </dependencies>
 

+ 7 - 1
feifan-module-mall/feifan-module-trade-biz/src/main/java/cn/newfeifan/mall/module/trade/controller/app/order/AppTradeOrderController.java

@@ -93,7 +93,13 @@ public class AppTradeOrderController {
         DeliveryExpressDO express = order.getLogisticsId() != null && order.getLogisticsId() > 0 ?
                 deliveryExpressService.getDeliveryExpress(order.getLogisticsId()) : null;
         // 最终组合
-        return success(TradeOrderConvert.INSTANCE.convert02(order, orderItems, tradeOrderProperties, express));
+        CommonResult<AppTradeOrderDetailRespVO> rs=
+                success(TradeOrderConvert.INSTANCE.convert02(order, orderItems, tradeOrderProperties, express));
+
+        //设置订单支付的积分
+        rs.getData().setPayIntegral(order.getPayPoints());
+
+        return rs;
     }
 
     @GetMapping("/get-express-track-list")

+ 1 - 1
feifan-module-mall/feifan-module-trade-biz/src/main/java/cn/newfeifan/mall/module/trade/controller/app/order/vo/AppTradeOrderCreateReqVO.java

@@ -17,7 +17,7 @@ public class AppTradeOrderCreateReqVO extends AppTradeOrderSettlementReqVO {
 
     //add by Ben
     @Schema(description = "本订单使用积分,为一整数", example = "36")
-    private Integer payPoints;
+    private Integer payIntegral;
 
     @Schema(description = "【本属性已不作页面与后台传值使用,被shopRemarks替代。本属性只作java内部使用】备注", example = "这个是我的订单哟")
     private String remark;

+ 4 - 0
feifan-module-mall/feifan-module-trade-biz/src/main/java/cn/newfeifan/mall/module/trade/controller/app/order/vo/AppTradeOrderDetailRespVO.java

@@ -13,6 +13,10 @@ import java.util.List;
 @Data
 public class AppTradeOrderDetailRespVO {
 
+    //========使用积分=================
+    @Schema(description = "订单使用积分", example = "8900000")
+    private Integer payIntegral;
+
     // ========== 订单基本信息 ==========
 
     @Schema(description = "订单编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")

+ 2 - 4
feifan-module-mall/feifan-module-trade-biz/src/main/java/cn/newfeifan/mall/module/trade/controller/app/order/vo/AppTradeOrderSettlementRespVO.java

@@ -24,10 +24,8 @@ public class AppTradeOrderSettlementRespVO {
     @Schema(description = "为键值对:商品对应的店铺id和店名,key为店铺id,value为店铺名", requiredMode = Schema.RequiredMode.REQUIRED, example = "{15:'中星直营店',23:'五行茶旗舰店'}") //key为店铺ID,value为skuid的List
     Map<Long,String> shopNameMap;
 
-    /**
-     * 当前积分值
-     */
-    private Long currentMemberPoints;
+    @Schema(description = "用户当前积分值", requiredMode = Schema.RequiredMode.REQUIRED, example = "98760000")
+    private Integer currentQuota;
 
     @Schema(description = "交易类型", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") // 对应 TradeOrderTypeEnum 枚举
     private Integer type;

+ 12 - 10
feifan-module-mall/feifan-module-trade-biz/src/main/java/cn/newfeifan/mall/module/trade/service/order/TradeOrderUpdateServiceImpl.java

@@ -11,10 +11,10 @@ import cn.newfeifan.mall.framework.common.core.KeyValue;
 import cn.newfeifan.mall.framework.common.enums.UserTypeEnum;
 import cn.newfeifan.mall.framework.common.util.json.JsonUtils;
 import cn.newfeifan.mall.framework.common.util.number.MoneyUtils;
+import cn.newfeifan.mall.module.distri.dal.dataobject.integral.IntegralDO;
+import cn.newfeifan.mall.module.distri.dal.mysql.integral.IntegralMapper;
 import cn.newfeifan.mall.module.member.api.address.MemberAddressApi;
 import cn.newfeifan.mall.module.member.api.address.dto.MemberAddressRespDTO;
-import cn.newfeifan.mall.module.member.dal.dataobject.user.MemberUserDO;
-import cn.newfeifan.mall.module.member.dal.mysql.user.MemberUserMapper;
 import cn.newfeifan.mall.module.pay.api.order.PayOrderApi;
 import cn.newfeifan.mall.module.pay.api.order.dto.PayOrderCreateReqDTO;
 import cn.newfeifan.mall.module.pay.api.order.dto.PayOrderRespDTO;
@@ -84,7 +84,7 @@ import static cn.newfeifan.mall.module.trade.enums.ErrorCodeConstants.*;
 public class TradeOrderUpdateServiceImpl implements TradeOrderUpdateService {
 
     @Resource
-    private MemberUserMapper memberUserMapper;//add by ben 20240314
+    private IntegralMapper integralMapper;//add by ben 20240411
 
     @Resource
     private ProductSkuMapper productSkuMapper;//add by ben 20240314
@@ -221,17 +221,19 @@ public class TradeOrderUpdateServiceImpl implements TradeOrderUpdateService {
         }
 
         //********这句是要被注释掉的
-        TradePriceCalculateRespBO calculateRespBO = calculatePrice(userId, settlementReqVO);
+//        TradePriceCalculateRespBO calculateRespBO = calculatePrice(userId, settlementReqVO);
 
-//        TradePriceCalculateRespBO calculateRespBO = new TradePriceCalculateRespBO();
+        TradePriceCalculateRespBO calculateRespBO = new TradePriceCalculateRespBO();
         calculateRespBO.setPrice(new TradePriceCalculateRespBO.Price());
         calculateRespBO.getPrice().setPayPrice(allShopPayPrice);
         calculateRespBO.getPrice().setTotalPrice(allShopItemPrice);
         calculateRespBO.getPrice().setDeliveryPrice(allShopDeliveryPrice);
 
         //2.5 加载用户有的积分
-        MemberUserDO memberUserDO = memberUserMapper.selectById(userId);
-        Long memberPoints = memberUserDO.getCurrentMemberPoints();//用户当前积分
+//        MemberUserDO memberUserDO = memberUserMapper.selectById(userId);
+//        Long memberPoints = memberUserDO.getCurrentMemberPoints();//用户当前积分
+        IntegralDO integralDO = integralMapper.selectOne("user_id", userId);//查询出用户积分相关信息
+        Integer currentQuota = integralDO.getCurrentQuota();//获取用户当前积分
 
         // 3. 拼接返回
         AppTradeOrderSettlementRespVO respVO = TradeOrderConvert.INSTANCE.convert(calculateRespBO, address);
@@ -246,7 +248,7 @@ public class TradeOrderUpdateServiceImpl implements TradeOrderUpdateService {
         respVO.setShopRespVOMap(shopRespVOMap);//保存每个店铺返回页面的 订单信息汇总
         respVO.setShopSkuIds(shopSkuIds);//把sku根据店聚合放到map中
         respVO.setShopNameMap(shopNameMap);
-        respVO.setCurrentMemberPoints(memberPoints);//用户当前积分
+        respVO.setCurrentQuota(currentQuota);//用户当前积分
 
 //        System.out.println("shopSkuIds@@@@@@@@"+shopSkuIds);
 //        System.out.println("shopNameMap@@@@@@@@"+shopNameMap);
@@ -373,13 +375,13 @@ public class TradeOrderUpdateServiceImpl implements TradeOrderUpdateService {
         }
 
         //消费者在页面录入的,要使用的积分
-        Integer payPoints = createReqVO.getPayPoints();
+        Integer payPoints = createReqVO.getPayIntegral();
         if(payPoints == null){
             payPoints = 0;
         }
 
 
-        payPoints = 3;//为了测试方便,临时写死
+//        payPoints = 3;//为了测试方便,临时写死
 
         //计算订单含积分的各项商品价格
         TradePriceCalculateRespBO tradePriceCalculateRespBO = calculatePriceWithPoints(userId, createReqVO);

+ 4 - 4
feifan-module-member/feifan-module-member-biz/src/main/java/cn/newfeifan/mall/module/member/dal/dataobject/user/MemberUserDO.java

@@ -42,10 +42,10 @@ public class MemberUserDO extends TenantBaseDO {
      */
     @TableId
     private Long id;
-    /**
-     * 当前积分值
-     */
-    private Long currentMemberPoints;
+//    /**
+//     * 当前积分值
+//     */
+//    private Long currentMemberPoints;
     /**
      * 手机
      */

+ 11 - 8
feifan-module-pay/feifan-module-pay-biz/src/main/java/cn/newfeifan/mall/module/pay/service/order/PayOrderServiceImpl.java

@@ -113,17 +113,20 @@ public class PayOrderServiceImpl implements PayOrderService {
         // 校验 App
         PayAppDO app = appService.validPayApp(reqDTO.getAppId());
 
+        //因为我把支付订单中的订单id改为0了,所以下面这逻辑,判断订单是否已经支付过,这个逻辑已经失效了
         // 查询对应的支付交易单是否已经存在。如果是,则直接返回
-        PayOrderDO order = orderMapper.selectByAppIdAndMerchantOrderId(
-                reqDTO.getAppId(), reqDTO.getMerchantOrderId());
-        if (order != null) {
-            log.warn("[createOrder][appId({}) merchantOrderId({}) 已经存在对应的支付单({})]", order.getAppId(),
-                    order.getMerchantOrderId(), toJsonString(order)); // 理论来说,不会出现这个情况
-            return order.getId();
-        }
+//        PayOrderDO order = orderMapper.selectByAppIdAndMerchantOrderId(
+//                reqDTO.getAppId(), reqDTO.getMerchantOrderId());
+
+        //因为我把支付订单中的订单id改为0了,所以下面这逻辑,判断订单是否已经支付过,这个逻辑已经失效了
+        //        if (order != null) {
+//            log.warn("[createOrder][appId({}) merchantOrderId({}) 已经存在对应的支付单({})]", order.getAppId(),
+//                    order.getMerchantOrderId(), toJsonString(order)); // 理论来说,不会出现这个情况
+//            return order.getId();
+//        }
 
         // 创建支付交易单
-        order = PayOrderConvert.INSTANCE.convert(reqDTO).setAppId(app.getId())
+        PayOrderDO order = PayOrderConvert.INSTANCE.convert(reqDTO).setAppId(app.getId())
                 // 商户相关字段
                 .setNotifyUrl(app.getOrderNotifyUrl())
                 // 订单相关字段

+ 12 - 0
feifan-server/pom.xml

@@ -117,6 +117,18 @@
             <artifactId>feifan-spring-boot-starter-protection</artifactId>
         </dependency>
 
+        <dependency>
+            <groupId>cn.newfeifan.zx</groupId>
+            <artifactId>feifan-module-distri-biz</artifactId>
+            <version>${revision}</version>
+        </dependency>
+
+        <dependency>
+            <groupId>cn.newfeifan.zx</groupId>
+            <artifactId>feifan-module-trade-biz</artifactId>
+            <version>${revision}</version>
+        </dependency>
+
     </dependencies>
 
     <build>

+ 2 - 2
feifan-server/src/main/resources/application-dev.yaml

@@ -43,12 +43,12 @@ spring:
       primary: master
       datasource:
         master:
-          name: mall-feifan-dev
+          name: mall-feifan
           url: jdbc:mysql://10.0.5.229:3306/${spring.datasource.dynamic.datasource.master.name}?useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true&nullCatalogMeansCurrent=true # MySQL Connector/J 8.X 连接的示例
           username: wendao9t
           password: PA55W0RD
         slave: # 模拟从库,可根据自己需要修改
-          name: mall-feifan-dev
+          name: mall-feifan
           lazy: true # 开启懒加载,保证启动速度
           url: jdbc:mysql://10.0.5.229:3306/${spring.datasource.dynamic.datasource.slave.name}?useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true&nullCatalogMeansCurrent=true # MySQL Connector/J 8.X 连接的示例
           username: wendao9t