From 80835bcc12f4788c1a88da61e623b362e57f1cb1 Mon Sep 17 00:00:00 2001 From: 无关风月 <443237572@qq.com> Date: 星期六, 24 八月 2024 09:31:43 +0800 Subject: [PATCH] Merge branch 'master' of http://120.76.84.145:10101/gitblit/r/java/mx_charging_pile --- ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/TCouponController.java | 90 ++++++++++++++++++++++++++++++++------------- 1 files changed, 64 insertions(+), 26 deletions(-) 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 cbcd8b3..17dc6c4 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 @@ -1,6 +1,7 @@ package com.ruoyi.other.controller; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.ruoyi.account.api.dto.GrantCouponDto; import com.ruoyi.account.api.feignClient.AppCouponClient; import com.ruoyi.account.api.query.ExchangeRecordGoodsQuery; @@ -9,25 +10,32 @@ 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.Region; import com.ruoyi.other.api.domain.TCoupon; import com.ruoyi.other.api.domain.TGoods; import com.ruoyi.other.api.dto.GoodsDTO; import com.ruoyi.other.query.CouponQuery; +import com.ruoyi.other.service.IRegionService; import com.ruoyi.other.service.TActivityService; import com.ruoyi.other.service.TCouponService; import com.ruoyi.other.service.TGoodsService; +import com.ruoyi.system.api.domain.SysUser; import io.swagger.annotations.ApiImplicitParam; 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.util.StringUtils; import org.springframework.web.bind.annotation.*; +import javax.annotation.Resource; import java.math.BigDecimal; import java.time.LocalDateTime; +import java.util.Arrays; import java.util.List; import java.util.Objects; +import java.util.stream.Collectors; /** * <p> @@ -45,24 +53,35 @@ @Autowired private AppCouponClient appCouponClient; + + @PostMapping("/saveGoods") @ApiOperation(tags = {"管理后台-优惠券管理"},value = "优惠券添加") public AjaxResult saveActivity(@RequestBody TCoupon dto) { tCouponService.save(dto); return AjaxResult.success(); } + + + @GetMapping("/delete") @ApiOperation(tags = {"管理后台-优惠券管理"},value = "优惠券删除") - public AjaxResult delete(Integer id) { - tCouponService.removeById(id); + public AjaxResult delete(String ids) { + tCouponService.removeBatchByIds(Arrays.asList(ids.split(","))); return AjaxResult.success(); } + + + @PostMapping("/updateVip") @ApiOperation(tags = {"管理后台-优惠券管理"},value = "优惠券修改") public AjaxResult updateActivity(@RequestBody TCoupon dto) { tCouponService.updateById(dto); return AjaxResult.success(); } + + + @GetMapping("/getInfo") @ApiOperation(tags = {"管理后台-优惠券管理"},value = "优惠券查看详情") public AjaxResult<TCoupon> getInfo(Integer id) { @@ -73,6 +92,9 @@ byId.setUseCount(appCouponClient.getUseCountByCouponId(id).getData()); return AjaxResult.ok(byId); } + + + @PostMapping("/exchangeRecord") @ApiOperation(tags = {"管理后台-优惠券管理"},value = "优惠券查看详情-兑换记录") public AjaxResult<PageInfo<ExchangeRecordVO>> exchangeRecord(@RequestBody ExchangeRecordGoodsQuery dto) { @@ -87,12 +109,18 @@ }else{ record.setMeetTheConditions("满"+byId.getMeetTheConditions()+"元可用"); } + record.setCoverPicture(byId.getCoverPicture()); + record.setDetailsPicture(byId.getDetailsPicture()); } } return AjaxResult.ok(data); } + + + @Autowired + private IRegionService regionService; @ApiOperation(tags = {"管理后台-优惠券管理"},value = "发放优惠券") - @GetMapping(value = "/grantCoupon") + @PostMapping(value = "/grantCoupon") public AjaxResult grantCoupon(@RequestBody GrantCouponDto dto) { TCoupon byId = tCouponService.getById(dto.getCouponId()); Integer waysToObtain = byId.getWaysToObtain(); @@ -104,6 +132,27 @@ case 2: dto.setEndTime(LocalDateTime.now().plusDays(byId.getDays())); break; + } + if (StringUtils.hasLength(dto.getProvinceCode())){ + for (String s : dto.getProvinceCode().split(",")) { + Region code = regionService.getOne(new QueryWrapper<Region>() + .eq("code", s)); + List<String> collect = regionService.list(new QueryWrapper<Region>() + .eq("parent_id", code.getId())).stream().map(Region::getCode).collect(Collectors.toList()); + StringBuilder temp = new StringBuilder(); + for (String string : collect) { + temp.append(string).append(","); + } + if (StringUtils.hasLength(dto.getCityCode())){ + String s1 = dto.getCityCode() + "," + temp; + // 去除最后一位字符 + dto.setCityCode(s1.substring(0, s1.length() - 1)); + }else{ + String substring = temp.substring(0, temp.length() - 1); + dto.setCityCode(substring); + } + } + } appCouponClient.grantCoupon(dto); return AjaxResult.success(); @@ -124,31 +173,20 @@ 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); } + + /** + * 根据id获取优惠券信息 + * @param id + * @return + */ + @PostMapping(value = "/getCouponById1/{id}") + public R<TCoupon> getCouponById1(@PathVariable(value = "id") Integer id){ + TCoupon coupon = tCouponService.getById(id); + return R.ok(coupon); + } + } -- Gitblit v1.7.1