From fad58948e8c787706525dcbd70f06140e8dab2b7 Mon Sep 17 00:00:00 2001
From: jiangqs <jiangqs>
Date: 星期日, 02 七月 2023 19:16:23 +0800
Subject: [PATCH] 商户端优惠券

---
 ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/coupon/CouponServiceImpl.java |  118 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 118 insertions(+), 0 deletions(-)

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 5da052e..5f9e205 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
@@ -192,6 +192,66 @@
     }
 
     /**
+     * @description  平台获取优惠券编辑信息
+     * @author  jqs
+     * @date    2023/6/13 14:29
+     * @param couponId
+     * @return  MgtCouponGetVo
+     */
+    @Override
+    public MerCouponGetVo getMerCouponVo(String couponId){
+        MerCouponGetVo merCouponGetVo = new MerCouponGetVo();
+        Coupon coupon = this.getById(couponId);
+        BeanUtils.copyProperties(coupon, merCouponGetVo);
+        //判断优惠券是否为指定商品
+        if(coupon.getUseScope()==2){
+            String relGoodsIds = coupon.getRelGoodsIds();
+            if(StringUtils.isNotBlank(relGoodsIds)){
+                //获取指定商品列表
+                List<Goods> goodsList = remoteGoodsService.listGoodsByGoodsId(relGoodsIds).getData();
+                if(!goodsList.isEmpty()){
+                    //转换为返回对象
+                    List<MgtCouponGoodsListVo> relGoodsList = new ArrayList<>();
+                    MgtCouponGoodsListVo mgtCouponGoodsListVo;
+                    for(Goods goods : goodsList){
+                        mgtCouponGoodsListVo = new MgtCouponGoodsListVo();
+                        mgtCouponGoodsListVo.setGoodsId(goods.getGoodsId());
+                        mgtCouponGoodsListVo.setGoodsName(goods.getGoodsName());
+                        mgtCouponGoodsListVo.setGoodsNo(goods.getGoodsNo());
+                        //商品类型1周期2服务3体验4单品
+                        switch (goods.getGoodsType()){
+                            case 1:
+                                mgtCouponGoodsListVo.setGoodsType("周期");
+                                break;
+                            case 2:
+                                mgtCouponGoodsListVo.setGoodsType("服务");
+                                break;
+                            case 3:
+                                mgtCouponGoodsListVo.setGoodsType("体验");
+                                break;
+                            case 4:
+                                mgtCouponGoodsListVo.setGoodsType("单品");
+                                break;
+                            default:
+                                break;
+                        }
+                        mgtCouponGoodsListVo.setSalesPrice(goods.getSalesPrice());
+                        relGoodsList.add(mgtCouponGoodsListVo);
+                    }
+                    merCouponGetVo.setRelGoodsList(relGoodsList);
+                }
+            }
+        }
+        //判断优惠券是否指定发放用户
+        if(coupon.getSendType()==5&&coupon.getRelationType()==1){
+            //获取优惠券发放用户
+            List<MgtCouponMemberListVo> relUserList = couponRelUserService.listCouponMemberVo(coupon.getCouponId());
+            merCouponGetVo.setRelUserList(relUserList);
+        }
+        return merCouponGetVo;
+    }
+
+    /**
      * @description  平台编辑优惠券
      * @author  jqs
      * @date    2023/6/13 16:50
@@ -629,4 +689,62 @@
         }
         return couponPageVoList;
     }
+
+    /**
+     * @description  平台获取优惠券列表
+     * @author  jqs
+     * @date    2023/6/30 16:53
+     * @param page
+     * @param merPageDto
+     * @return  List<MerCouponPageVo>
+     */
+    @Override
+    public List<MerCouponPageVo> pageShopMerCoupon(Page page, MerPageDto merPageDto){
+        List<MerCouponPageVo> couponPageVoList = couponMapper.pageShopMerCoupon(page, merPageDto);
+        //处理使用限制和有效期
+        if(couponPageVoList!=null&&!couponPageVoList.isEmpty()){
+            Integer couponType;
+            Integer validTimeType;
+            Date validStartTime;
+            Date validEndTime;
+            Integer validDay;
+            String validTime = "";
+            BigDecimal moneyThreshold;
+            BigDecimal discountMoney;
+            BigDecimal discountPercent;
+            String useLimit = "";
+            for(MerCouponPageVo merCouponPageVo : couponPageVoList){
+                //处理使用限制
+                couponType = merCouponPageVo.getCouponType();
+                switch (couponType){
+                    case 1:
+                        moneyThreshold = merCouponPageVo.getMoneyThreshold();
+                        discountMoney = merCouponPageVo.getDiscountMoney();
+                        useLimit = "满" + moneyThreshold.toString() + "减" + discountMoney.toString() + "元";
+                        break;
+                    case 2:
+                        break;
+                    case 3:
+                        break;
+                    case 4:
+                        break;
+                    default:
+                        break;
+                }
+                merCouponPageVo.setUseLimit(useLimit);
+                //处理有效期
+                validTimeType = merCouponPageVo.getValidTimeType();
+                if(validTimeType==1){
+                    validStartTime = merCouponPageVo.getValidStartTime();
+                    validEndTime = merCouponPageVo.getValidEndTime();
+                    validTime = DateUtils.dateTime(validStartTime) + '-' +  DateUtils.dateTime(validEndTime);
+                }else if(validTimeType==2){
+                    validDay = merCouponPageVo.getValidDay();
+                    validTime = "领取之日起" + validDay.toString() + "天";
+                }
+                merCouponPageVo.setValidTime(validTime);
+            }
+        }
+        return couponPageVoList;
+    }
 }

--
Gitblit v1.7.1