From a7389e026856e7a2369ad2e928778b036894a96c Mon Sep 17 00:00:00 2001
From: jiangqs <jiangqs>
Date: 星期日, 13 八月 2023 01:21:20 +0800
Subject: [PATCH] bug

---
 ruoyi-modules/ruoyi-goods/src/main/resources/mapper/goods/GoodsMapper.xml                                       |    6 ++
 ruoyi-modules/ruoyi-order/src/main/resources/mapper/order/OrderMapper.xml                                       |    3 +
 ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/goods/GoodsService.java                         |    9 ++++
 ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/vo/MerMemberOrderVo.java                         |   14 ++++---
 ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/coupon/CouponServiceImpl.java            |    3 +
 ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/mapper/goods/GoodsMapper.java                           |   10 +++++
 ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/config/SysClassificationServiceImpl.java |    7 ++-
 ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/order/OrderServiceImpl.java                |    6 ++
 ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/service/RemoteGoodsService.java                   |   13 ++++++
 ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/factory/RemoteGoodsFallbackFactory.java           |    5 ++
 ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/vo/MerCouponGoodsListVo.java               |    2 
 ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/mapper/order/OrderMapper.java                           |    2 
 ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/controller/concole/GoodsController.java                 |   16 +++++++
 ruoyi-modules/ruoyi-system/src/main/resources/bootstrap.yml                                                     |    2 +
 ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/goods/GoodsServiceImpl.java                |   15 +++++++
 15 files changed, 97 insertions(+), 16 deletions(-)

diff --git a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/vo/MerCouponGoodsListVo.java b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/vo/MerCouponGoodsListVo.java
index 27cfaf6..7dcddb0 100644
--- a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/vo/MerCouponGoodsListVo.java
+++ b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/vo/MerCouponGoodsListVo.java
@@ -20,7 +20,7 @@
     private String goodsName;
 
     @ApiModelProperty(value = "商品数量")
-    private String goodsNum;
+    private Integer goodsNum;
 
     @ApiModelProperty(value = "商品类型")
     private String goodsType;
diff --git a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/factory/RemoteGoodsFallbackFactory.java b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/factory/RemoteGoodsFallbackFactory.java
index 6bfcfa7..8513675 100644
--- a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/factory/RemoteGoodsFallbackFactory.java
+++ b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/factory/RemoteGoodsFallbackFactory.java
@@ -75,6 +75,11 @@
             public R changeGoodsTotal(List<GoodsTotalChangeDto> goodsTotalChangeDtoList) {
                 return R.fail("改变商品统计失败:" + throwable.getMessage());
             }
+
+            @Override
+            public R<List<String>> listGoodsNameByGoodsClass(Long classId) {
+                return R.fail("获取分类商品列表失败:" + throwable.getMessage());
+            }
         };
     }
 }
diff --git a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/service/RemoteGoodsService.java b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/service/RemoteGoodsService.java
index ca1b977..b82e6a5 100644
--- a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/service/RemoteGoodsService.java
+++ b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/service/RemoteGoodsService.java
@@ -58,7 +58,7 @@
      * @description  通过id获取商品价格列表
      * @author  jqs
      * @date    2023/7/3 10:01
-     * @param goodsIds
+     * @param merGoodsPriceListDto
      * @return  R<List<MerGoodsPriceListVo>>
      */
     @PostMapping("/goods/listGoodsPriceByGoodsId")
@@ -67,4 +67,15 @@
 
     @PostMapping("/goods/changeGoodsTotal")
     public R changeGoodsTotal(@RequestBody List<GoodsTotalChangeDto> goodsTotalChangeDtoList);
+
+
+    /**
+     * @description  获取分类商品名
+     * @author  jqs
+     * @date    2023/8/12 18:39
+     * @param classId
+     * @return  R<List<String>>
+     */
+    @PostMapping("/goods/listGoodsNameByGoodsClass")
+    public R<List<String>> listGoodsNameByGoodsClass(@RequestBody Long classId);
 }
diff --git a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/controller/concole/GoodsController.java b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/controller/concole/GoodsController.java
index 86e94e3..7feac73 100644
--- a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/controller/concole/GoodsController.java
+++ b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/controller/concole/GoodsController.java
@@ -110,7 +110,7 @@
      * @description  通过id获取商品价格列表
      * @author  jqs
      * @date    2023/7/3 10:01
-     * @param goodsIds
+     * @param merGoodsPriceListDto
      * @return  R<List<MerGoodsPriceListVo>>
      */
     @PostMapping("/listGoodsPriceByGoodsId")
@@ -126,4 +126,18 @@
         goodsTotalService.changeGoodsTotal(goodsTotalChangeDtoList);
         return R.ok();
     }
+
+    /**
+     * @description  获取分类商品名
+     * @author  jqs
+     * @date    2023/8/12 18:39
+     * @param classId
+     * @return  R<List<String>>
+     */
+    @PostMapping("/listGoodsNameByGoodsClass")
+    public R<List<String>> listGoodsNameByGoodsClass(@RequestBody Long classId)
+    {
+        List<String> goodsNameList = goodsService.listGoodsNameByGoodsClass(classId);
+        return R.ok(goodsNameList);
+    }
 }
diff --git a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/mapper/goods/GoodsMapper.java b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/mapper/goods/GoodsMapper.java
index 5a0555c..a774bab 100644
--- a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/mapper/goods/GoodsMapper.java
+++ b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/mapper/goods/GoodsMapper.java
@@ -149,4 +149,14 @@
      * @return  List<AppSimpleActivityGoodsVo>
      */
     List<AppSimpleActivityGoodsVo> pageAppActivityGoods(Page page, @Param("param") AppActivityGoodsPageDto appActivityGoodsPageDto);
+
+
+    /**
+     * @description  获取商品分类名
+     * @author  jqs
+     * @date    2023/8/12 18:33
+     * @param classId
+     * @return  List<String>
+     */
+    List<String> listGoodsNameByGoodsClass(@Param("classId") Long classId);
 }
diff --git a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/goods/GoodsService.java b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/goods/GoodsService.java
index d81ac3d..9933495 100644
--- a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/goods/GoodsService.java
+++ b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/goods/GoodsService.java
@@ -202,4 +202,13 @@
      * @return  MgtGoodsEditInfoVo
      */
     MgtGoodsEditInfoVo getMgtGoodsEditInfo(MgtBaseGetDto mgtBaseGetDto);
+
+    /**
+     * @description  获取商品分类名
+     * @author  jqs
+     * @date    2023/8/12 18:33
+     * @param classId
+     * @return  List<String>
+     */
+    List<String> listGoodsNameByGoodsClass(Long classId);
 }
diff --git a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/goods/GoodsServiceImpl.java b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/goods/GoodsServiceImpl.java
index 1cf9812..4b68f94 100644
--- a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/goods/GoodsServiceImpl.java
+++ b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/goods/GoodsServiceImpl.java
@@ -580,7 +580,7 @@
      * @description  通过id获取商品列表
      * @author  jqs
      * @date    2023/7/3 9:58
-     * @param goodsIds
+     * @param merGoodsPriceListDto
      * @return  List<MerGoodsPriceListVo>
      */
     @Override
@@ -654,4 +654,17 @@
         }
         return mgtGoodsEditInfoVo;
     }
+
+    /**
+     * @description  获取商品分类名
+     * @author  jqs
+     * @date    2023/8/12 18:33
+     * @param classId
+     * @return  List<String>
+     */
+    @Override
+    public List<String> listGoodsNameByGoodsClass(Long classId){
+        List<String> goodsNameList = goodsMapper.listGoodsNameByGoodsClass(classId);
+        return goodsNameList;
+    }
 }
diff --git a/ruoyi-modules/ruoyi-goods/src/main/resources/mapper/goods/GoodsMapper.xml b/ruoyi-modules/ruoyi-goods/src/main/resources/mapper/goods/GoodsMapper.xml
index a95b1ed..a71a5ed 100644
--- a/ruoyi-modules/ruoyi-goods/src/main/resources/mapper/goods/GoodsMapper.xml
+++ b/ruoyi-modules/ruoyi-goods/src/main/resources/mapper/goods/GoodsMapper.xml
@@ -508,5 +508,9 @@
         ORDER BY tg.create_time DESC
     </select>
 
-
+    <select id="listGoodsNameByGoodsClass" resultType="java.lang.String">
+        SELECT goods_name
+        FROM t_goods
+        WHERE del_flag = 0 AND goods_class_id = #{classId}
+    </select>
 </mapper>
diff --git a/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/coupon/CouponServiceImpl.java b/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/coupon/CouponServiceImpl.java
index f83a967..d49ddb7 100644
--- a/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/coupon/CouponServiceImpl.java
+++ b/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/coupon/CouponServiceImpl.java
@@ -1069,6 +1069,9 @@
         for(BirthdayGiftSendDto birthdayGiftSendDto : giftSendDtoList){
             couponId = birthdayGiftSendDto.getCouponId();
             coupon = this.getById(couponId);
+            if(coupon==null||coupon.getCouponStatus()!=1){
+                throw new ServiceException(AppErrorConstant.COUPON_GET_ERROR);
+            }
             for(int i=0;i<birthdayGiftSendDto.getCouponNumber();i++){
                 memberCoupon = new MemberCoupon();
                 memberCouponId = IdUtils.simpleUUID();
diff --git a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/vo/MerMemberOrderVo.java b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/vo/MerMemberOrderVo.java
index a594994..5271477 100644
--- a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/vo/MerMemberOrderVo.java
+++ b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/vo/MerMemberOrderVo.java
@@ -23,29 +23,31 @@
     @ApiModelProperty(value="订单编号")
     private String orderNo;
 
+    @ApiModelProperty(value="支付方式1全款2订金")
+    private Integer payType;
+
+
     @ApiModelProperty(value="订单状态")
     private Integer orderStatus;
 
     @ApiModelProperty(value = "商品总价")
-    
     private BigDecimal orderGoodsMoney;
 
     @ApiModelProperty(value = "优惠券抵扣")
-    
     private BigDecimal couponDiscount;
 
     @ApiModelProperty(value="应付金额")
-    
     private BigDecimal receivableMoney;
 
     @ApiModelProperty(value="应收订金")
-    
     private BigDecimal receivableDeposit;
 
-    @ApiModelProperty(value="实收金额")
-    
+    @ApiModelProperty(value="应收金额")
     private BigDecimal receiveMoney;
 
+    @ApiModelProperty(value="实收金额")
+    private BigDecimal relReceiveMoney;
+
     @ApiModelProperty(value="已收金额")
     
     private BigDecimal payMoney;
diff --git a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/mapper/order/OrderMapper.java b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/mapper/order/OrderMapper.java
index fba7330..c403e01 100644
--- a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/mapper/order/OrderMapper.java
+++ b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/mapper/order/OrderMapper.java
@@ -61,7 +61,7 @@
      * @param userId
      * @return
      */
-    List<MerMemberOrderVo> pageMerMemberOrder(Page page,  @Param("userId") Long userId);
+    List<MerMemberOrderVo> pageMerMemberOrder(Page page,  @Param("userId") Long userId,@Param("shopId") Long shopId);
 
     /**
      * 获取用户订单统计
diff --git a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/order/OrderServiceImpl.java b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/order/OrderServiceImpl.java
index 5815a6a..cd4fbc4 100644
--- a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/order/OrderServiceImpl.java
+++ b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/order/OrderServiceImpl.java
@@ -2235,7 +2235,7 @@
      */
     @Override
     public List<MerMemberOrderVo> pageMerMemberOrder(Page page, MerMemberNoClearOrderDto merMemberNoClearOrderDto) {
-        List<MerMemberOrderVo> merMemberNoClearOrderVoList = orderMapper.pageMerMemberOrder(page, merMemberNoClearOrderDto.getMemberUserId());
+        List<MerMemberOrderVo> merMemberNoClearOrderVoList = orderMapper.pageMerMemberOrder(page, merMemberNoClearOrderDto.getMemberUserId(),merMemberNoClearOrderDto.getShopId());
         if (merMemberNoClearOrderVoList != null && !merMemberNoClearOrderVoList.isEmpty()) {
             BigDecimal zeroBig = new BigDecimal("0.00");
             for (MerMemberOrderVo merMemberNoClearOrderVo : merMemberNoClearOrderVoList) {
@@ -3167,6 +3167,9 @@
      */
     @Override
     public MerVerifyCouponVo verifyCoupon(String verifyCode, Long shopId) {
+        if(verifyCode.contains("+")){
+            verifyCode = verifyCode.substring(0, verifyCode.indexOf("+"));
+        }
         // 创建MerVerifyCouponVo对象
         MerVerifyCouponVo merVerifyCouponVo = new MerVerifyCouponVo();
         // 调用remoteCouponService的getVerifyCoupon方法获取MerVerifyCouponGetVo对象
@@ -3203,6 +3206,7 @@
                     MerCouponGoodsListVo merCouponGoods = new MerCouponGoodsListVo();
                     merCouponGoods.setGoodsId(goods.getGoodsId());
                     merCouponGoods.setGoodsName(goods.getGoodsName());
+                    merCouponGoods.setGoodsNum(1);
                     if (goods.getGoodsType() == 1) {
                         merCouponGoods.setGoodsType("周期");
                     } else if (goods.getGoodsType() == 2) {
diff --git a/ruoyi-modules/ruoyi-order/src/main/resources/mapper/order/OrderMapper.xml b/ruoyi-modules/ruoyi-order/src/main/resources/mapper/order/OrderMapper.xml
index ee6fb44..a68e6ea 100644
--- a/ruoyi-modules/ruoyi-order/src/main/resources/mapper/order/OrderMapper.xml
+++ b/ruoyi-modules/ruoyi-order/src/main/resources/mapper/order/OrderMapper.xml
@@ -1720,6 +1720,7 @@
         SELECT
             toc.order_id orderId,
             toc.order_no orderNo,
+            toc.pay_type payType,
             toc.order_status orderStatus,
             toc.order_money orderGoodsMoney,
             toc.coupon_money couponDiscount,
@@ -1734,7 +1735,7 @@
             CASE tpr.pay_type WHEN 1 THEN "微信" WHEN 2 THEN "现金" WHEN 3 THEN "支付宝" END thisReceiveType
         FROM t_pay_record tpr
                  INNER JOIN t_order toc ON tpr.order_id = toc.order_id
-        WHERE toc.del_flag = 0 AND toc.user_id = #{userId} AND (toc.order_status = 2 OR toc.order_status = 3)
+        WHERE toc.del_flag = 0 AND toc.user_id = #{userId} AND toc.shop_id = #{shopId} AND (toc.order_status = 2 OR toc.order_status = 3)
         ORDER BY toc.create_time DESC
     </select>
 
diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/config/SysClassificationServiceImpl.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/config/SysClassificationServiceImpl.java
index 03763f4..b4d80a5 100644
--- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/config/SysClassificationServiceImpl.java
+++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/config/SysClassificationServiceImpl.java
@@ -127,12 +127,15 @@
     public void deleteClassification(Long classId){
         SysClassification sysClassification = this.getById(classId);
         sysClassification.setDelFlag(1);
-        this.saveOrUpdate(sysClassification);
         if(sysClassification.getClassType()==1){
             articleService.deleteArticleClass(classId);
         }else if(sysClassification.getClassType()==2){
-            remoteGoodsService.deleteGoodsClass(classId);
+            List<String> goodsNameList = remoteGoodsService.listGoodsNameByGoodsClass(classId).getData();
+            if(goodsNameList!=null&&goodsNameList.size()>0){
+                throw new ServiceException("无法删除,该分类下还有关联商品-"+goodsNameList.toString());
+            }
         }
+        this.saveOrUpdate(sysClassification);
     }
 
     /**
diff --git a/ruoyi-modules/ruoyi-system/src/main/resources/bootstrap.yml b/ruoyi-modules/ruoyi-system/src/main/resources/bootstrap.yml
index d3f6c33..5374e41 100644
--- a/ruoyi-modules/ruoyi-system/src/main/resources/bootstrap.yml
+++ b/ruoyi-modules/ruoyi-system/src/main/resources/bootstrap.yml
@@ -31,5 +31,7 @@
           - application-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension}
   servlet:
     multipart:
+      max-file-size: 100MB
+      max-request-size: 200MB
       location: /home/temp
 

--
Gitblit v1.7.1