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