From 533d26dae76cb5e54e84d6105f7aee42dcb9f76b Mon Sep 17 00:00:00 2001 From: CBin <497303054@qq.com> Date: 星期三, 02 八月 2023 21:15:25 +0800 Subject: [PATCH] 接入微信支付 --- ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/coupon/CouponServiceImpl.java | 75 ++++++++++++++++++++++++++++++++----- 1 files changed, 64 insertions(+), 11 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 4082b34..e45d371 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 @@ -25,6 +25,7 @@ import com.ruoyi.system.api.domain.poji.member.MemberCoupon; import com.ruoyi.system.api.domain.poji.shop.Shop; import com.ruoyi.system.api.domain.vo.MerGoodsPriceListVo; +import com.ruoyi.system.api.domain.vo.MgtSimpleShopVo; import com.ruoyi.system.api.service.RemoteActivityService; import com.ruoyi.system.api.service.RemoteConfigService; import com.ruoyi.system.api.service.RemoteGoodsService; @@ -34,11 +35,9 @@ import javax.annotation.Resource; import java.math.BigDecimal; -import java.util.ArrayList; -import java.util.Date; -import java.util.List; -import java.util.StringJoiner; +import java.util.*; import java.util.concurrent.TimeUnit; +import java.util.function.Function; import java.util.stream.Collectors; /** @@ -118,6 +117,15 @@ moneyThreshold = mgtCouponPageVo.getMoneyThreshold(); discountMoney = mgtCouponPageVo.getDiscountMoney(); useLimit = "满" + moneyThreshold.toString() + "减" + discountMoney.toString() + "元"; + } + if(couponType.equals("折扣")){ + moneyThreshold = mgtCouponPageVo.getMoneyThreshold(); + discountPercent = mgtCouponPageVo.getDiscountPercent(); + useLimit = discountPercent.toString() + "折"; + } + if(couponType.equals("抵扣")){ + discountMoney = mgtCouponPageVo.getDiscountMoney(); + useLimit = discountMoney.toString(); } mgtCouponPageVo.setUseLimit(useLimit); //处理有效期 @@ -306,7 +314,7 @@ } //判断是否指定用户 List<Long> relUserIdList = null; - if(coupon.getSendTarget()==2&&coupon.getSendTarget()==5&&coupon.getRelationType()==1&&!mgtCouponEditDto.getRelUserIdList().isEmpty()){ + if(coupon.getSendTarget()==5&&coupon.getRelationType()==1&&!mgtCouponEditDto.getRelUserIdList().isEmpty()){ relUserIdList = mgtCouponEditDto.getRelUserIdList(); List<CouponRelUser> couponRelUserList = new ArrayList<>(); CouponRelUser couponRelUser; @@ -323,7 +331,7 @@ coupon.setRelUserIds(userIdSj.toString()); } //处理优惠券发放 - if(coupon.getSendTimeType()==1){ + if(coupon.getSendType()==2&&coupon.getSendTimeType()==1){ sendCoupon(coupon,relUserIdList); coupon.setSendFlag(1); this.saveOrUpdate(coupon); @@ -633,6 +641,7 @@ Date validEndTime; Integer validDay; String validTime = ""; + HashSet<Long> shopIdSet = new HashSet<>(); for(MgtCouponAuditPageVo mgtCouponAuditPageVo : mgtCouponAuditPageVoList){ //处理有效期 validTimeType = mgtCouponAuditPageVo.getValidTimeType(); @@ -645,6 +654,20 @@ validTime = "领取之日起" + validDay.toString() + "天"; } mgtCouponAuditPageVo.setValidTime(validTime); + if(mgtCouponAuditPageVo.getShopId()!=null){ + shopIdSet.add(mgtCouponAuditPageVo.getShopId()); + } + } + String shopJoinedString = String.join(",", shopIdSet.stream().map(Object::toString).collect(Collectors.toList())); + MgtBaseBathDto mgtBaseBathDto = new MgtBaseBathDto(); + mgtBaseBathDto.setIds(shopJoinedString); + List<MgtSimpleShopVo> simpleShopVoList = remoteShopService.listShopSimpleVoByIds(mgtBaseBathDto).getData(); + Map<Long, MgtSimpleShopVo> shopMap = simpleShopVoList.stream() + .collect(Collectors.toMap(MgtSimpleShopVo::getShopId, Function.identity())); + for(MgtCouponAuditPageVo mgtCouponAuditPageVo : mgtCouponAuditPageVoList){ + if(mgtCouponAuditPageVo.getShopId()!=null){ + mgtCouponAuditPageVo.setShopName(shopMap.get(mgtCouponAuditPageVo.getShopId()).getShopName()); + } } } return mgtCouponAuditPageVoList; @@ -721,7 +744,7 @@ public void auditMgtCoupon(MgtCouponAuditDto mgtCouponAuditDto){ Coupon coupon = this.getById(mgtCouponAuditDto.getCouponId()); //判断优惠券是否审核 - if(coupon.getCouponStatus()!=1){ + if(coupon.getAuditStatus()!=1){ throw new ServiceException(AppErrorConstant.COUPON_AUDIT_DOUBLE); } coupon.setAuditStatus(mgtCouponAuditDto.getAuditStatus()); @@ -729,7 +752,7 @@ coupon.setUpdateTime(new Date()); coupon.setUpdateUserId(mgtCouponAuditDto.getUserId()); //审核通过后判断是否立即发放 - if(coupon.getCouponStatus()==2&&coupon.getSendTimeType()==1){ + if(coupon.getAuditStatus()==2&&coupon.getSendTimeType()==1){ List<CouponRelUser> couponRelUserList = couponRelUserService.list(new LambdaQueryWrapper<CouponRelUser>().eq(CouponRelUser::getDelFlag,0).eq(CouponRelUser::getCouponId,coupon.getCouponId())); List<Long> userIdList = new ArrayList<>(); if(couponRelUserList!=null&&!couponRelUserList.isEmpty()){ @@ -791,7 +814,7 @@ if(validTimeType==1){ validStartTime = merCouponPageVo.getValidStartTime(); validEndTime = merCouponPageVo.getValidEndTime(); - validTime = DateUtils.dateTime(validStartTime) + '-' + DateUtils.dateTime(validEndTime); + validTime = DateUtils.parseDateToStr("yyyy.MM.dd",validStartTime) + '-' + DateUtils.parseDateToStr("yyyy.MM.dd",validEndTime); }else if(validTimeType==2){ validDay = merCouponPageVo.getValidDay(); validTime = "领取之日起" + validDay.toString() + "天"; @@ -849,7 +872,7 @@ if(validTimeType==1){ validStartTime = merCouponPageVo.getValidStartTime(); validEndTime = merCouponPageVo.getValidEndTime(); - validTime = DateUtils.dateTime(validStartTime) + '-' + DateUtils.dateTime(validEndTime); + validTime = DateUtils.parseDateToStr("yyyy.MM.dd",validStartTime) + '-' + DateUtils.parseDateToStr("yyyy.MM.dd",validEndTime); }else if(validTimeType==2){ validDay = merCouponPageVo.getValidDay(); validTime = "领取之日起" + validDay.toString() + "天"; @@ -906,7 +929,8 @@ coupon.setCouponName(merCouponEditDto.getCouponName()); coupon.setSendType(merCouponEditDto.getSendType()); coupon.setSendTarget(merCouponEditDto.getSendTarget()); - coupon.setSendTimeType(merCouponEditDto.getSendTimeType()); + //商户端默认立即发放 + coupon.setSendTimeType(1); coupon.setSendTime(merCouponEditDto.getSendTime()); coupon.setMoneyThreshold(merCouponEditDto.getMoneyThreshold()); coupon.setDiscountMoney(merCouponEditDto.getDiscountMoney()); @@ -915,6 +939,7 @@ coupon.setValidTimeType(merCouponEditDto.getValidTimeType()); coupon.setValidStartTime(merCouponEditDto.getValidStartTime()); coupon.setValidEndTime(merCouponEditDto.getValidEndTime()); + coupon.setLimitNumber(merCouponEditDto.getLimitNumber()); coupon.setValidDay(merCouponEditDto.getValidDay()); coupon.setUpdateTime(new Date()); coupon.setUpdateUserId(merCouponEditDto.getUserId()); @@ -1136,4 +1161,32 @@ memberCouponRecordService.updateMemberCouponRecord(coupon,userId,1); } + /** + * @description 获取商户优惠券审核统计 + * @author jqs + * @date 2023/7/28 11:30 + * @param shopId + * @return MetAuditCouponTotalVo + */ + @Override + public MetAuditCouponTotalVo getMetAuditCouponTotal(Long shopId){ + MetAuditCouponTotalVo metAuditCouponTotalVo = new MetAuditCouponTotalVo(); + LambdaQueryWrapper<Coupon> queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(Coupon::getDelFlag,0); + queryWrapper.eq(Coupon::getCouponFrom,2); + queryWrapper.eq(Coupon::getShopId,shopId); + queryWrapper.eq(Coupon::getCouponStatus,1); + queryWrapper.eq(Coupon::getAuditStatus,1); + Integer unAuditTotal = this.count(queryWrapper); + queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(Coupon::getDelFlag,0); + queryWrapper.eq(Coupon::getCouponFrom,2); + queryWrapper.eq(Coupon::getShopId,shopId); + queryWrapper.eq(Coupon::getCouponStatus,1); + queryWrapper.eq(Coupon::getAuditStatus,3); + Integer refuseTotal = this.count(queryWrapper); + metAuditCouponTotalVo.setUnAuditTotal(unAuditTotal); + metAuditCouponTotalVo.setRefuseTotal(refuseTotal); + return metAuditCouponTotalVo; + } } -- Gitblit v1.7.1