From 8b1376a256d8750f718276cbe475cb6f1f7ebddc Mon Sep 17 00:00:00 2001 From: luodangjia <luodangjia> Date: 星期二, 13 八月 2024 11:14:51 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/vo/CouponListVOVO.java | 41 ++++++++++ ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/service/TAppCouponService.java | 6 + ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/feignClient/OtherClient.java | 7 + ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/dto/CouponListDto.java | 20 +++++ ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/factory/OtherFallbackFactory.java | 6 + ruoyi-service/ruoyi-account/src/main/resources/mapper/account/TAppCouponMapper.xml | 19 ++++ ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/mapper/TAppCouponMapper.java | 4 + ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/service/impl/TAppCouponServiceImpl.java | 19 ++++ ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/TAppCouponController.java | 31 ++++++- ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/TAppUserController.java | 6 + ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/TCouponController.java | 46 ++++++++++ ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/dto/GrantCouponDto.java | 2 ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/feignClient/AppCouponClient.java | 6 + 13 files changed, 203 insertions(+), 10 deletions(-) diff --git a/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/dto/CouponListDto.java b/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/dto/CouponListDto.java new file mode 100644 index 0000000..fe130a9 --- /dev/null +++ b/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/dto/CouponListDto.java @@ -0,0 +1,20 @@ +package com.ruoyi.account.api.dto; + +import com.ruoyi.common.core.web.domain.BasePojo; +import com.ruoyi.common.core.web.page.BasePage; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.math.BigDecimal; +import java.time.LocalDateTime; + +@Data +@ApiModel("小程序扫一扫获取优惠券列表DTO") +public class CouponListDto extends BasePage { + @ApiModelProperty("用户id 前端忽略") + private Long userId; + @ApiModelProperty("预付价格") + private BigDecimal payMoney; + +} diff --git a/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/dto/GrantCouponDto.java b/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/dto/GrantCouponDto.java index 645a948..7db26de 100644 --- a/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/dto/GrantCouponDto.java +++ b/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/dto/GrantCouponDto.java @@ -13,7 +13,7 @@ private String userIds; @ApiModelProperty("优惠券id") private Integer couponId; - @ApiModelProperty("发放方式 1积分 2现金") + @ApiModelProperty("发放方式 1积分 2现金 3=后台赠送前端忽略") private Integer waysToObtain; @ApiModelProperty("结束时间 前端忽略") private LocalDateTime endTime; diff --git a/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/feignClient/AppCouponClient.java b/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/feignClient/AppCouponClient.java index e3ea1b3..f2cae45 100644 --- a/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/feignClient/AppCouponClient.java +++ b/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/feignClient/AppCouponClient.java @@ -1,5 +1,6 @@ package com.ruoyi.account.api.feignClient; +import com.ruoyi.account.api.dto.GrantCouponDto; import com.ruoyi.account.api.factory.AppCouponFallbackFactory; import com.ruoyi.account.api.factory.AppUserFallbackFactory; import com.ruoyi.account.api.query.ExchangeRecordGoodsQuery; @@ -40,4 +41,9 @@ */ @PostMapping("/t-app-coupon/getExchangeRecordByCouponId") R<PageInfo<ExchangeRecordVO>> getExchangeRecordByCouponId(@RequestBody ExchangeRecordGoodsQuery couponId); + /** + * 后台远程调用 给用户发放优惠券 + */ + @PostMapping("/t-app-coupon/grantCoupon") + R grantCoupon(@RequestBody GrantCouponDto dto); } diff --git a/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/vo/CouponListVOVO.java b/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/vo/CouponListVOVO.java new file mode 100644 index 0000000..ca3ede2 --- /dev/null +++ b/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/vo/CouponListVOVO.java @@ -0,0 +1,41 @@ +package com.ruoyi.account.api.vo; + +import com.ruoyi.common.core.web.domain.BasePojo; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import org.springframework.beans.factory.annotation.Autowired; + +import java.math.BigDecimal; +import java.time.LocalDateTime; + +@Data +@ApiModel("管理后台 优惠券兑换记录列表返回VO") +public class CouponListVOVO extends BasePojo { + @ApiModelProperty(value = "优惠券名称") + private String couponName; + @ApiModelProperty(value = "优惠方式 1满减 2折扣") + private Integer preferentialMode; + @ApiModelProperty(value = "满减--优惠金额") + private BigDecimal discountAmount; + @ApiModelProperty(value = "满减--使用门槛 满减条件") + private BigDecimal meetTheConditions; + @ApiModelProperty(value = "折扣--折扣") + private BigDecimal discount; + @ApiModelProperty(value = "折扣--最高折扣金额") + private BigDecimal maximumDiscountAmount; + @ApiModelProperty(value = "优惠券数量") + private Integer couponCount; + @ApiModelProperty(value = "有效期") + private String validityTime; + @ApiModelProperty(value = "结束时间 前端忽略") + private LocalDateTime endTime; + @ApiModelProperty(value = "是否可用") + private Integer isUse; + @ApiModelProperty(value = "优惠券id") + private Long couponId; + @ApiModelProperty(value = "优惠券id") + private BigDecimal payMoney; + @ApiModelProperty(value = "最高折扣金额 用于判断哪一张优惠券优惠力度最大 前端忽略") + private BigDecimal money; +} diff --git a/ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/factory/OtherFallbackFactory.java b/ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/factory/OtherFallbackFactory.java index 4d8eb24..4099d98 100644 --- a/ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/factory/OtherFallbackFactory.java +++ b/ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/factory/OtherFallbackFactory.java @@ -3,6 +3,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.ruoyi.account.api.dto.TagListQueryDto; import com.ruoyi.account.api.dto.UnitListQueryDto; +import com.ruoyi.account.api.vo.CouponListVOVO; import com.ruoyi.common.core.domain.R; import com.ruoyi.other.api.domain.TCompany; import com.ruoyi.other.api.domain.TUserTag; @@ -79,6 +80,11 @@ public R<Map<Integer, String>> getVipMap(List<Integer> ids) { return R.fail("获取会员map:" + throwable.getMessage()); } + + @Override + public R<List<CouponListVOVO>> getCouponInfoByCouponIds(List<CouponListVOVO> list) { + return R.fail("我的优惠券列表获取信息:"+throwable.getMessage()); + } }; } } diff --git a/ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/feignClient/OtherClient.java b/ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/feignClient/OtherClient.java index c300997..d07fd62 100644 --- a/ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/feignClient/OtherClient.java +++ b/ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/feignClient/OtherClient.java @@ -3,6 +3,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.ruoyi.account.api.dto.TagListQueryDto; import com.ruoyi.account.api.dto.UnitListQueryDto; +import com.ruoyi.account.api.vo.CouponListVOVO; import com.ruoyi.common.core.constant.ServiceNameConstants; import com.ruoyi.common.core.domain.R; import com.ruoyi.other.api.domain.TCompany; @@ -56,7 +57,11 @@ @PostMapping(value = "/vip/getVipMap") R<Map<Integer, String>> getVipMap(@RequestBody List<Integer> ids); - + /** + * 小程序远程调用 获取优惠券信息 + */ + @PostMapping(value = "/t-coupon/getCouponInfoByCouponIds") + R<List<CouponListVOVO>> getCouponInfoByCouponIds(@RequestBody List<CouponListVOVO> list); diff --git a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/TAppCouponController.java b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/TAppCouponController.java index b7e95ae..bf67953 100644 --- a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/TAppCouponController.java +++ b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/TAppCouponController.java @@ -2,15 +2,20 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.ruoyi.account.api.dto.CouponListDto; import com.ruoyi.account.api.dto.GrantCouponDto; import com.ruoyi.account.api.model.TAppCoupon; 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.service.TAppCouponService; import com.ruoyi.common.core.domain.R; import com.ruoyi.common.core.web.domain.AjaxResult; +import com.ruoyi.common.core.web.page.BasePage; import com.ruoyi.common.core.web.page.PageInfo; import com.ruoyi.other.api.domain.TCoupon; +import com.ruoyi.other.api.feignClient.OtherClient; +import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiOperation; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.PostMapping; @@ -35,6 +40,24 @@ public class TAppCouponController { @Autowired private TAppCouponService tAppCouponService; + @Autowired + private OtherClient otherClient; + + /** + * 查询用户可用优惠券数量 + * @param dto + * @return + */ + + @ApiOperation(value = "选择优惠券分页查询", tags = {"小程序-扫一扫"}) + @PostMapping(value = "/scan/couponList") + public AjaxResult<PageInfo<CouponListVOVO>> couponList(@RequestBody CouponListDto dto) { + // todo token获取用户id + Long userId = 11L; + dto.setUserId(userId); + PageInfo<CouponListVOVO> res = tAppCouponService.couponList(dto); + return AjaxResult.ok(res); + } /** * 管理后台远程调用 根据优惠券ids 查询对应的发放数量 @@ -46,11 +69,11 @@ List<Integer> res = new ArrayList<>(); String[] split = couponIds.split(","); // 查询每个优惠券的发放数量 - List<TAppCoupon> couponId = tAppCouponService.list(new QueryWrapper<TAppCoupon>() - .in("coupon_id", Arrays.asList(split))); for (String s : split) { res.add(tAppCouponService.list(new QueryWrapper<TAppCoupon>() - .eq("coupon_id", s)).size()); + .eq("coupon_id", s) + .eq("del_flag",0) + ).size()); } return R.ok(res); } @@ -80,7 +103,7 @@ * 后台远程调用 给用户发放优惠券 */ @PostMapping("/grantCoupon") - public R getExchangeRecordByCouponId(@RequestBody GrantCouponDto dto){ + public R grantCoupon(@RequestBody GrantCouponDto dto){ List<TAppCoupon> res = new ArrayList<>(); for (String s : dto.getUserIds().split(",")) { TAppCoupon tAppCoupon = new TAppCoupon(); diff --git a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/TAppUserController.java b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/TAppUserController.java index 7c51221..a891991 100644 --- a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/TAppUserController.java +++ b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/TAppUserController.java @@ -7,11 +7,14 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.ruoyi.account.api.dto.*; import com.ruoyi.account.api.model.*; +import com.ruoyi.account.api.vo.CouponListVOVO; import com.ruoyi.account.service.*; import com.ruoyi.account.util.GiveVipUtil; import com.ruoyi.common.core.domain.R; import com.ruoyi.common.core.utils.bean.BeanUtils; +import com.ruoyi.common.core.web.domain.AjaxResult; import com.ruoyi.common.core.web.domain.BasePojo; +import com.ruoyi.common.core.web.page.PageInfo; import com.ruoyi.common.security.annotation.RequiresPermissions; import com.ruoyi.order.api.feignClient.ChargingOrderClient; import com.ruoyi.order.api.feignClient.ExchangeOrderClient; @@ -67,10 +70,11 @@ @Resource private ExchangeOrderClient exchangeOrderClient; + + @ApiOperation(value = "管理后台-根据手机号查询用户ids", tags = {"管理后台-活动费用统计"}) @PostMapping(value = "/user/getUserIdsByPhone") public R<List<Long>> getUserIdsByPhone(@RequestParam("phone") String phone) { - return R.ok(appUserService.list(new QueryWrapper<TAppUser>().like("phone",phone)).stream().map(TAppUser::getId).collect(Collectors.toList())); } @Resource diff --git a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/mapper/TAppCouponMapper.java b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/mapper/TAppCouponMapper.java index 9bbf837..bde3dab 100644 --- a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/mapper/TAppCouponMapper.java +++ b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/mapper/TAppCouponMapper.java @@ -3,6 +3,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.ruoyi.account.api.model.TAppCoupon; import com.ruoyi.account.api.query.ExchangeRecordGoodsQuery; +import com.ruoyi.account.api.vo.CouponListVOVO; import com.ruoyi.account.api.vo.ExchangeRecordVO; import com.ruoyi.common.core.web.page.PageInfo; import org.apache.ibatis.annotations.Param; @@ -20,4 +21,7 @@ public interface TAppCouponMapper extends BaseMapper<TAppCoupon> { List<ExchangeRecordVO> pageList(@Param("pageInfo")PageInfo<ExchangeRecordVO> pageInfo,@Param("req") ExchangeRecordGoodsQuery dto); + + List<CouponListVOVO> couponList(@Param("pageInfo")PageInfo<CouponListVOVO> pageInfo,@Param("userId") Long userId); + } diff --git a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/service/TAppCouponService.java b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/service/TAppCouponService.java index 88e6aa1..5c518fe 100644 --- a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/service/TAppCouponService.java +++ b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/service/TAppCouponService.java @@ -1,9 +1,12 @@ package com.ruoyi.account.service; import com.baomidou.mybatisplus.extension.service.IService; +import com.ruoyi.account.api.dto.CouponListDto; import com.ruoyi.account.api.model.TAppCoupon; import com.ruoyi.account.api.query.ExchangeRecordGoodsQuery; +import com.ruoyi.account.api.vo.CouponListVOVO; import com.ruoyi.account.api.vo.ExchangeRecordVO; +import com.ruoyi.common.core.web.page.BasePage; import com.ruoyi.common.core.web.page.PageInfo; /** @@ -17,4 +20,7 @@ public interface TAppCouponService extends IService<TAppCoupon> { PageInfo<ExchangeRecordVO> pagelist(ExchangeRecordGoodsQuery couponId); + + PageInfo<CouponListVOVO> couponList(CouponListDto dto); + } 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 98dc39f..a821517 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,15 +1,19 @@ package com.ruoyi.account.service.impl; 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.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.service.TAppCouponService; 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.order.api.feignClient.OrderClient; import com.ruoyi.other.api.domain.TCoupon; +import com.ruoyi.other.api.feignClient.OtherClient; import org.apache.poi.ss.formula.functions.T; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -32,6 +36,8 @@ @Autowired private OrderClient orderClient; + @Autowired + private OtherClient otherClient; @Override public PageInfo<ExchangeRecordVO> pagelist(ExchangeRecordGoodsQuery dto) { SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); @@ -98,4 +104,17 @@ pageInfo.setRecords(list); return pageInfo; } + + @Override + public PageInfo<CouponListVOVO> couponList(CouponListDto dto) { + 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()); + for (CouponListVOVO couponListVOVO : list) { + couponListVOVO.setValidityTime("有效期:"+format.format(couponListVOVO.getCreateTime())+" - "+format.format(couponListVOVO.getEndTime())); + } + List<CouponListVOVO> data = otherClient.getCouponInfoByCouponIds(list).getData(); + pageInfo.setRecords(data); + return pageInfo; + } } diff --git a/ruoyi-service/ruoyi-account/src/main/resources/mapper/account/TAppCouponMapper.xml b/ruoyi-service/ruoyi-account/src/main/resources/mapper/account/TAppCouponMapper.xml index 7b8852a..b94f498 100644 --- a/ruoyi-service/ruoyi-account/src/main/resources/mapper/account/TAppCouponMapper.xml +++ b/ruoyi-service/ruoyi-account/src/main/resources/mapper/account/TAppCouponMapper.xml @@ -57,5 +57,24 @@ </where> ORDER BY create_time DESC </select> + <select id="couponList" resultType="com.ruoyi.account.api.vo.CouponListVOVO"> + SELECT + t1.app_user_id AS appUserId, + t1.coupon_id AS couponId, + MAX(t1.end_time) AS endTime, + MAX(t1.create_time) AS createTime, + MAX(t1.status) AS status, + COUNT(*) AS couponCount + FROM + t_app_coupon t1 + WHERE + t1.del_flag = 0 + AND t1.app_user_id = #{userId} + AND t1.status = 1 + and t1.endTime >= now() + GROUP BY + t1.coupon_id, + t1.end_time + </select> </mapper> diff --git a/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/TCouponController.java b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/TCouponController.java index 61ac718..cbcd8b3 100644 --- a/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/TCouponController.java +++ b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/TCouponController.java @@ -4,7 +4,9 @@ import com.ruoyi.account.api.dto.GrantCouponDto; import com.ruoyi.account.api.feignClient.AppCouponClient; import com.ruoyi.account.api.query.ExchangeRecordGoodsQuery; +import com.ruoyi.account.api.vo.CouponListVOVO; import com.ruoyi.account.api.vo.ExchangeRecordVO; +import com.ruoyi.common.core.domain.R; import com.ruoyi.common.core.web.domain.AjaxResult; import com.ruoyi.common.core.web.page.PageInfo; import com.ruoyi.other.api.domain.TCoupon; @@ -18,6 +20,7 @@ import io.swagger.annotations.ApiImplicitParams; import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiParam; +import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; @@ -89,8 +92,8 @@ return AjaxResult.ok(data); } @ApiOperation(tags = {"管理后台-优惠券管理"},value = "发放优惠券") - @GetMapping(value = "/pageList") - public AjaxResult pageList(@RequestBody GrantCouponDto dto) { + @GetMapping(value = "/grantCoupon") + public AjaxResult grantCoupon(@RequestBody GrantCouponDto dto) { TCoupon byId = tCouponService.getById(dto.getCouponId()); Integer waysToObtain = byId.getWaysToObtain(); dto.setWaysToObtain(waysToObtain); @@ -102,13 +105,50 @@ dto.setEndTime(LocalDateTime.now().plusDays(byId.getDays())); break; } - // 远程送优惠券 + appCouponClient.grantCoupon(dto); return AjaxResult.success(); } + @ApiOperation(tags = {"管理后台-优惠券管理"},value = "优惠券列表分页查询") @PostMapping(value = "/pageList") public AjaxResult<PageInfo<TCoupon>> pageList(@RequestBody CouponQuery dto) { return AjaxResult.ok(tCouponService.pageList(dto)); } + + /** + * 小程序远程调用 获取优惠券信息 + */ + @PostMapping(value = "/getCouponInfoByCouponIds") + public R<List<CouponListVOVO>> getCouponInfoByCouponIds(@RequestBody List<CouponListVOVO> list) { + for (CouponListVOVO couponListVOVO : list) { + TCoupon byId = tCouponService.getById(couponListVOVO.getCouponId()); + BeanUtils.copyProperties(byId,couponListVOVO); + couponListVOVO.setCouponName(byId.getName()); + // 根据预付金额 判断是否满足 + if (byId.getMeetTheConditions().compareTo(BigDecimal.ZERO) == 0){ + // 无门槛 + couponListVOVO.setIsUse(1); + }else if (couponListVOVO.getPayMoney().compareTo(byId.getMeetTheConditions()) < 0){ + couponListVOVO.setIsUse(0); + }else{ + couponListVOVO.setIsUse(1); + } + // 根据优惠券类型和预付金额 判断哪一个优惠券减免的金额最大 将其排在第一位 + if (couponListVOVO.getIsUse() == 1){ + switch (byId.getPreferentialMode()){ + case 1: + couponListVOVO.setMoney(byId.getDiscountAmount()); + break; + case 2: + + break; + } + }else{ + couponListVOVO.setMoney(BigDecimal.ZERO); + } + + } + return R.ok(list); + } } -- Gitblit v1.7.1