From 9c4b38c6382b2a33d1716c962553ece34e4913f5 Mon Sep 17 00:00:00 2001
From: Pu Zhibing <393733352@qq.com>
Date: 星期四, 17 十月 2024 10:03:28 +0800
Subject: [PATCH] 合并代码
---
ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/TCouponController.java | 151 ++++++++++++++++++++++++++++++++++++++++----------
1 files changed, 121 insertions(+), 30 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..9a00b7d 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,36 @@
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.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 +57,47 @@
@Autowired
private AppCouponClient appCouponClient;
+
+ /**
+ * 远程调用 根据名称 查询优惠券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);
+ }
@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();
}
+
+
+
@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();
}
+
+
+
@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();
}
+
+
+
@GetMapping("/getInfo")
@ApiOperation(tags = {"管理后台-优惠券管理"},value = "优惠券查看详情")
public AjaxResult<TCoupon> getInfo(Integer id) {
@@ -73,12 +108,14 @@
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) {
+ List<ExchangeRecordVO> data = appCouponClient.getExchangeRecordByCouponId(dto).getData();
+ for (ExchangeRecordVO record : data) {
TCoupon byId = tCouponService.getById(record.getCouponId());
if (byId!=null){
record.setDiscountAmount("¥"+byId.getDiscountAmount());
@@ -87,12 +124,21 @@
}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);
}
+
+
+ @Autowired
+ private IRegionService regionService;
@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,6 +151,27 @@
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();
}
@@ -113,6 +180,24 @@
@PostMapping(value = "/pageList")
public AjaxResult<PageInfo<TCoupon>> pageList(@RequestBody CouponQuery dto) {
return AjaxResult.ok(tCouponService.pageList(dto));
+ }
+ @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);
}
/**
@@ -124,31 +209,37 @@
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);
+ }
+
+ @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