From 315be47531c8c4cec9187e80a660dd3a8b77193e Mon Sep 17 00:00:00 2001
From: zhibing.pu <393733352@qq.com>
Date: 星期五, 16 八月 2024 15:29:29 +0800
Subject: [PATCH] 新增加管理后台接口和修复运行异常问题
---
ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/TCouponController.java | 126 +++++++++++++++++++++++++++++++++++++++++
1 files changed, 124 insertions(+), 2 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 c3b447b..67abca2 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,9 +1,33 @@
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.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;
+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.BeanUtils;
+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>
@@ -16,6 +40,104 @@
@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 = "/grantCoupon")
+ public AjaxResult grantCoupon(@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;
+ }
+ 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());
+ }
+ return R.ok(list);
+ }
+
+
+ /**
+ * 根据id获取优惠券信息
+ * @param id
+ * @return
+ */
+ @PostMapping(value = "/getCouponById/{id}")
+ public R<TCoupon> getCouponById(@PathVariable Integer id){
+ TCoupon coupon = tCouponService.getById(id);
+ return R.ok(coupon);
+ }
}
--
Gitblit v1.7.1