From 0f4459e4201fdc19185b7dd03215871f036acd70 Mon Sep 17 00:00:00 2001 From: liujie <1793218484@qq.com> Date: 星期三, 28 五月 2025 16:45:01 +0800 Subject: [PATCH] Merge branch 'dev' of http://120.76.84.145:10101/gitblit/r/java/mx_charging_pile into dev --- ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/TCouponController.java | 153 ++++++++++++++++++++++++++++++++++++++++++++++++-- 1 files changed, 145 insertions(+), 8 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 f2d803e..22124d1 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,38 @@ 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.common.log.annotation.Log; +import com.ruoyi.common.log.enums.BusinessType; +import com.ruoyi.common.log.enums.OperatorType; +import com.ruoyi.common.security.annotation.Logical; +import com.ruoyi.common.security.annotation.RequiresPermissions; +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.ArrayList; +import java.util.Arrays; import java.util.List; import java.util.Objects; +import java.util.stream.Collectors; /** * <p> @@ -45,24 +59,58 @@ @Autowired private AppCouponClient appCouponClient; + + @Autowired + private IRegionService regionService; + + + + + + + /** + * 远程调用 根据名称 查询优惠券ids + * @return + */ + @PostMapping("/getCouponIdsByName/{name}") + public R<List<Integer>> getCouponIdsByName(@PathVariable("name")String name) { + List<Integer> collect = tCouponService.list(new QueryWrapper<TCoupon>() + .eq("name", name)).stream().map(TCoupon::getId).collect(Collectors.toList()); + return R.ok(collect); + } + + + @RequiresPermissions(value = {"/coupon/add"}, logical = Logical.OR) @PostMapping("/saveGoods") @ApiOperation(tags = {"管理后台-优惠券管理"},value = "优惠券添加") + @Log(title = "【优惠券管理】添加优惠券", businessType = BusinessType.INSERT,operatorType = OperatorType.MANAGE) public AjaxResult saveActivity(@RequestBody TCoupon dto) { tCouponService.save(dto); return AjaxResult.success(); } + + + @RequiresPermissions(value = {"/coupon/del"}, logical = Logical.OR) @GetMapping("/delete") @ApiOperation(tags = {"管理后台-优惠券管理"},value = "优惠券删除") - public AjaxResult delete(Integer id) { - tCouponService.removeById(id); + @Log(title = "【优惠券管理】删除优惠券", businessType = BusinessType.DELETE,operatorType = OperatorType.MANAGE) + public AjaxResult delete(String ids) { + tCouponService.removeBatchByIds(Arrays.asList(ids.split(","))); return AjaxResult.success(); } + + + @RequiresPermissions(value = {"/coupon/update"}, logical = Logical.OR) @PostMapping("/updateVip") @ApiOperation(tags = {"管理后台-优惠券管理"},value = "优惠券修改") + @Log(title = "【优惠券管理】修改优惠券", businessType = BusinessType.UPDATE,operatorType = OperatorType.MANAGE) public AjaxResult updateActivity(@RequestBody TCoupon dto) { tCouponService.updateById(dto); return AjaxResult.success(); } + + + @RequiresPermissions(value = {"/coupon/select"}, logical = Logical.OR) @GetMapping("/getInfo") @ApiOperation(tags = {"管理后台-优惠券管理"},value = "优惠券查看详情") public AjaxResult<TCoupon> getInfo(Integer id) { @@ -73,26 +121,42 @@ byId.setUseCount(appCouponClient.getUseCountByCouponId(id).getData()); return AjaxResult.ok(byId); } + + + @RequiresPermissions(value = {"/coupon/select"}, logical = Logical.OR) @PostMapping("/exchangeRecord") @ApiOperation(tags = {"管理后台-优惠券管理"},value = "优惠券查看详情-兑换记录") public AjaxResult<PageInfo<ExchangeRecordVO>> exchangeRecord(@RequestBody ExchangeRecordGoodsQuery dto) { - PageInfo<ExchangeRecordVO> data = appCouponClient.getExchangeRecordByCouponId(dto).getData(); - List<ExchangeRecordVO> records = data.getRecords(); - for (ExchangeRecordVO record : records) { + List<ExchangeRecordVO> data = appCouponClient.getExchangeRecordByCouponId(dto).getData(); + for (ExchangeRecordVO record : data) { TCoupon byId = tCouponService.getById(record.getCouponId()); if (byId!=null){ + if (byId.getDiscountAmount()!=null){ record.setDiscountAmount("¥"+byId.getDiscountAmount()); + + }else{ + record.setDiscountAmount("¥"+byId.getMaximumDiscountAmount()); + } if (Objects.equals(byId.getMeetTheConditions(), BigDecimal.ZERO)){ record.setMeetTheConditions("无门槛"); }else{ record.setMeetTheConditions("满"+byId.getMeetTheConditions()+"元可用"); } + record.setCoverPicture(byId.getCoverPicture()); + record.setDetailsPicture(byId.getDetailsPicture()); } } - return AjaxResult.ok(data); + PageInfo<ExchangeRecordVO> exchangeRecordVOPageInfo = new PageInfo<>(1, 99999999); + exchangeRecordVOPageInfo.setRecords(data); + return AjaxResult.ok(exchangeRecordVOPageInfo); } + + + + @RequiresPermissions(value = {"/coupon/send"}, logical = Logical.OR) @ApiOperation(tags = {"管理后台-优惠券管理"},value = "发放优惠券") - @GetMapping(value = "/grantCoupon") + @PostMapping(value = "/grantCoupon") + @Log(title = "【优惠券管理】发放优惠券", businessType = BusinessType.OTHER,operatorType = OperatorType.MANAGE) public AjaxResult grantCoupon(@RequestBody GrantCouponDto dto) { TCoupon byId = tCouponService.getById(dto.getCouponId()); Integer waysToObtain = byId.getWaysToObtain(); @@ -105,14 +169,58 @@ 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(); } - + + + @RequiresPermissions(value = {"/coupon"}, logical = Logical.OR) @ApiOperation(tags = {"管理后台-优惠券管理"},value = "优惠券列表分页查询") @PostMapping(value = "/pageList") public AjaxResult<PageInfo<TCoupon>> pageList(@RequestBody CouponQuery dto) { return AjaxResult.ok(tCouponService.pageList(dto)); + } + + + @RequiresPermissions(value = {"/vipSetting/list"}, logical = Logical.OR) + @ApiOperation(tags = {"管理后台-优惠券管理"},value = "优惠券列表分页查询") + @PostMapping(value = "/pageList3") + public AjaxResult<List<TCoupon>> pageList() { + List<TCoupon> tCoupons = new ArrayList<>(); + + List<TCoupon> list = tCouponService.lambdaQuery().eq(TCoupon::getStatus, 1) + .orderByDesc(TCoupon::getCreateTime).list(); + for (TCoupon tCoupon : list) { + if (tCoupon.getValidityPeriodMode()==1){ + if (LocalDateTime.now().isBefore(tCoupon.getEndTime())){ + tCoupons.add(tCoupon); + } + }else{ + tCoupons.add(tCoupon); + } + } + return AjaxResult.ok(tCoupons); } /** @@ -127,5 +235,34 @@ } 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); + } + + @PostMapping(value = "/getCouponById") + public R<TCoupon> getCouponById(@RequestParam("id") Integer id){ + TCoupon coupon = tCouponService.getById(id); + return R.ok(coupon); + } + + + /** + * 修改优惠券 + * @param coupon + * @return + */ + @PostMapping(value = "/updateCoupon") + public R updateCoupon(@RequestBody TCoupon coupon){ + tCouponService.updateById(coupon); + return R.ok(); + } } -- Gitblit v1.7.1