| | |
| | | package com.ruoyi.other.controller; |
| | | |
| | | |
| | | import org.springframework.web.bind.annotation.RequestMapping; |
| | | 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.ExchangeRecordVO; |
| | | import com.ruoyi.common.core.web.domain.AjaxResult; |
| | | import com.ruoyi.common.core.web.page.PageInfo; |
| | | 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.TActivityService; |
| | | import com.ruoyi.other.service.TCouponService; |
| | | import com.ruoyi.other.service.TGoodsService; |
| | | import io.swagger.annotations.ApiImplicitParam; |
| | | import io.swagger.annotations.ApiImplicitParams; |
| | | import io.swagger.annotations.ApiOperation; |
| | | import io.swagger.annotations.ApiParam; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.web.bind.annotation.*; |
| | | |
| | | import org.springframework.web.bind.annotation.RestController; |
| | | import java.math.BigDecimal; |
| | | import java.time.LocalDateTime; |
| | | import java.util.List; |
| | | import java.util.Objects; |
| | | |
| | | /** |
| | | * <p> |
| | |
| | | @RestController |
| | | @RequestMapping("/t-coupon") |
| | | public class TCouponController { |
| | | @Autowired |
| | | private TCouponService tCouponService; |
| | | |
| | | @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); |
| | | 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) { |
| | | TCoupon byId = tCouponService.getById(id); |
| | | // 查询累计发放数量 |
| | | byId.setCount(appCouponClient.getCountByCouponIds(String.valueOf(id)).getData().get(0)); |
| | | // 查询累计使用数量 |
| | | byId.setUseCount(appCouponClient.getUseCountByCouponId(id).getData()); |
| | | return AjaxResult.ok(byId); |
| | | } |
| | | @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) { |
| | | TCoupon byId = tCouponService.getById(record.getCouponId()); |
| | | if (byId!=null){ |
| | | record.setDiscountAmount("¥"+byId.getDiscountAmount()); |
| | | if (Objects.equals(byId.getMeetTheConditions(), BigDecimal.ZERO)){ |
| | | record.setMeetTheConditions("无门槛"); |
| | | }else{ |
| | | record.setMeetTheConditions("满"+byId.getMeetTheConditions()+"元可用"); |
| | | } |
| | | } |
| | | } |
| | | return AjaxResult.ok(data); |
| | | } |
| | | @ApiOperation(tags = {"管理后台-优惠券管理"},value = "发放优惠券") |
| | | @GetMapping(value = "/pageList") |
| | | public AjaxResult pageList(@RequestBody GrantCouponDto dto) { |
| | | TCoupon byId = tCouponService.getById(dto.getCouponId()); |
| | | Integer waysToObtain = byId.getWaysToObtain(); |
| | | dto.setWaysToObtain(waysToObtain); |
| | | switch (byId.getValidityPeriodMode()){ |
| | | case 1: |
| | | dto.setEndTime(byId.getEndTime()); |
| | | break; |
| | | case 2: |
| | | dto.setEndTime(LocalDateTime.now().plusDays(byId.getDays())); |
| | | break; |
| | | } |
| | | // 远程送优惠券 |
| | | return AjaxResult.success(); |
| | | } |
| | | @ApiOperation(tags = {"管理后台-优惠券管理"},value = "优惠券列表分页查询") |
| | | @PostMapping(value = "/pageList") |
| | | public AjaxResult<PageInfo<TCoupon>> pageList(@RequestBody CouponQuery dto) { |
| | | return AjaxResult.ok(tCouponService.pageList(dto)); |
| | | } |
| | | } |
| | | |