From 768289158c5de2c828ad6c6451c66b81dc95b598 Mon Sep 17 00:00:00 2001 From: xuhy <3313886187@qq.com> Date: 星期三, 14 八月 2024 15:59:47 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/service/impl/TAppCouponServiceImpl.java | 61 ++++++++++++++++++++++++++++++ 1 files changed, 61 insertions(+), 0 deletions(-) diff --git a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/service/impl/TAppCouponServiceImpl.java b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/service/impl/TAppCouponServiceImpl.java index a821517..d7c6dcc 100644 --- a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/service/impl/TAppCouponServiceImpl.java +++ b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/service/impl/TAppCouponServiceImpl.java @@ -1,25 +1,38 @@ package com.ruoyi.account.service.impl; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.ruoyi.account.api.dto.CouponListDto; import com.ruoyi.account.api.model.TAppCoupon; +import com.ruoyi.account.api.model.TAppUser; +import com.ruoyi.account.api.model.TAppUserVipDetail; import com.ruoyi.account.api.query.ExchangeRecordGoodsQuery; import com.ruoyi.account.api.vo.CouponListVOVO; import com.ruoyi.account.api.vo.ExchangeRecordVO; import com.ruoyi.account.mapper.TAppCouponMapper; +import com.ruoyi.account.mapper.TAppUserMapper; import com.ruoyi.account.service.TAppCouponService; +import com.ruoyi.account.service.TAppUserVipDetailService; +import com.ruoyi.chargingPile.api.feignClient.ChargingPileClient; import com.ruoyi.common.core.utils.DateUtils; import com.ruoyi.common.core.web.page.BasePage; import com.ruoyi.common.core.web.page.PageInfo; +import com.ruoyi.common.security.service.TokenService; +import com.ruoyi.order.api.feignClient.ChargingOrderClient; import com.ruoyi.order.api.feignClient.OrderClient; +import com.ruoyi.order.api.query.TChargingCountQuery; import com.ruoyi.other.api.domain.TCoupon; +import com.ruoyi.other.api.domain.TVip; import com.ruoyi.other.api.feignClient.OtherClient; +import com.ruoyi.other.api.feignClient.VipClient; +import io.swagger.models.auth.In; import org.apache.poi.ss.formula.functions.T; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.util.StringUtils; import java.text.SimpleDateFormat; +import java.time.LocalDateTime; import java.util.Date; import java.util.List; @@ -38,6 +51,15 @@ private OrderClient orderClient; @Autowired private OtherClient otherClient; + @Autowired + private VipClient vipClient; + @Autowired + private ChargingPileClient chargingPileClient; + @Autowired + private ChargingOrderClient chargingOrderClient; + @Autowired + private TAppUserVipDetailService tAppUserVipDetailService; + @Override public PageInfo<ExchangeRecordVO> pagelist(ExchangeRecordGoodsQuery dto) { SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); @@ -105,15 +127,54 @@ return pageInfo; } + + @Autowired + private TAppUserMapper tAppUserMapper; @Override public PageInfo<CouponListVOVO> couponList(CouponListDto dto) { + // todo token获取用户id + Long userId = 11L; + dto.setUserId(userId); SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); PageInfo<CouponListVOVO> pageInfo = new PageInfo<>(dto.getPageCurr(),dto.getPageSize()); List<CouponListVOVO> list = this.baseMapper.couponList(pageInfo,dto.getUserId()); + TAppUser tAppUser = tAppUserMapper.selectById(dto.getUserId()); + Integer isVip = 0;// 是否能享受会员折扣 + if (tAppUser.getVipEndTime() == null){ + // 不是会员 + }else { + // 判断会员有没有过期 + if (tAppUser.getVipEndTime().isAfter(java.time.LocalDateTime.now())){ + // 没过期 判断用户本月会员充电折扣次数是否还有剩余 + TAppUserVipDetail tAppUserVipDetail = tAppUserVipDetailService.list(new LambdaQueryWrapper<TAppUserVipDetail>() + .orderByDesc(TAppUserVipDetail::getStartTime)).get(0); + LocalDateTime startTime = tAppUserVipDetail.getStartTime(); + LocalDateTime endTime = tAppUserVipDetail.getEndTime(); + TChargingCountQuery tChargingCountQuery = new TChargingCountQuery(); + tChargingCountQuery.setStartTime(startTime); + tChargingCountQuery.setEndTime(endTime); + tChargingCountQuery.setUserId(dto.getUserId()); + // 当月已享受会员折扣充电次数 + Integer data = chargingOrderClient.getChargingCount(tChargingCountQuery).getData(); + // 查询用户当前会员每月享受折扣次数和折扣比例是多少 + Integer vipId = tAppUser.getVipId(); + TVip data1 = vipClient.getInfo1(vipId).getData(); + Integer discountTimes = data1.getDiscountTimes(); + if (data>=discountTimes){ + // 不能再享受会员折扣 + }else{ + isVip = 1; + } + } + } for (CouponListVOVO couponListVOVO : list) { couponListVOVO.setValidityTime("有效期:"+format.format(couponListVOVO.getCreateTime())+" - "+format.format(couponListVOVO.getEndTime())); } List<CouponListVOVO> data = otherClient.getCouponInfoByCouponIds(list).getData(); + for (CouponListVOVO datum : data) { + // 根据当前时间段和预付金额计算服务费 + + } pageInfo.setRecords(data); return pageInfo; } -- Gitblit v1.7.1