From 0ce768e7748765a6735c5460a85532478832f560 Mon Sep 17 00:00:00 2001
From: 无关风月 <443237572@qq.com>
Date: 星期二, 13 八月 2024 11:13:49 +0800
Subject: [PATCH] 管理后台活动费用统计代码提交
---
ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/vo/CouponListVOVO.java | 41 ++++++++++
ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/service/TAppCouponService.java | 6 +
ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/feignClient/OtherClient.java | 7 +
ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/dto/CouponListDto.java | 20 +++++
ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/factory/OtherFallbackFactory.java | 6 +
ruoyi-service/ruoyi-account/src/main/resources/mapper/account/TAppCouponMapper.xml | 19 ++++
ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/mapper/TAppCouponMapper.java | 4 +
ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/service/impl/TAppCouponServiceImpl.java | 19 ++++
ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/TAppCouponController.java | 31 ++++++-
ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/TAppUserController.java | 6 +
ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/TCouponController.java | 46 ++++++++++
ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/dto/GrantCouponDto.java | 2
ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/feignClient/AppCouponClient.java | 6 +
13 files changed, 203 insertions(+), 10 deletions(-)
diff --git a/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/dto/CouponListDto.java b/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/dto/CouponListDto.java
new file mode 100644
index 0000000..fe130a9
--- /dev/null
+++ b/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/dto/CouponListDto.java
@@ -0,0 +1,20 @@
+package com.ruoyi.account.api.dto;
+
+import com.ruoyi.common.core.web.domain.BasePojo;
+import com.ruoyi.common.core.web.page.BasePage;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.math.BigDecimal;
+import java.time.LocalDateTime;
+
+@Data
+@ApiModel("小程序扫一扫获取优惠券列表DTO")
+public class CouponListDto extends BasePage {
+ @ApiModelProperty("用户id 前端忽略")
+ private Long userId;
+ @ApiModelProperty("预付价格")
+ private BigDecimal payMoney;
+
+}
diff --git a/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/dto/GrantCouponDto.java b/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/dto/GrantCouponDto.java
index 645a948..7db26de 100644
--- a/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/dto/GrantCouponDto.java
+++ b/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/dto/GrantCouponDto.java
@@ -13,7 +13,7 @@
private String userIds;
@ApiModelProperty("优惠券id")
private Integer couponId;
- @ApiModelProperty("发放方式 1积分 2现金")
+ @ApiModelProperty("发放方式 1积分 2现金 3=后台赠送前端忽略")
private Integer waysToObtain;
@ApiModelProperty("结束时间 前端忽略")
private LocalDateTime endTime;
diff --git a/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/feignClient/AppCouponClient.java b/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/feignClient/AppCouponClient.java
index 3a1f658..aa5698e 100644
--- a/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/feignClient/AppCouponClient.java
+++ b/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/feignClient/AppCouponClient.java
@@ -1,5 +1,6 @@
package com.ruoyi.account.api.feignClient;
+import com.ruoyi.account.api.dto.GrantCouponDto;
import com.ruoyi.account.api.factory.AppCouponFallbackFactory;
import com.ruoyi.account.api.factory.AppUserFallbackFactory;
import com.ruoyi.account.api.query.ExchangeRecordGoodsQuery;
@@ -40,4 +41,9 @@
*/
@PostMapping("/t-app-coupon/getExchangeRecordByCouponId")
R<PageInfo<ExchangeRecordVO>> getExchangeRecordByCouponId(@RequestBody ExchangeRecordGoodsQuery couponId);
+ /**
+ * 后台远程调用 给用户发放优惠券
+ */
+ @PostMapping("/t-app-coupon/grantCoupon")
+ R grantCoupon(@RequestBody GrantCouponDto dto);
}
diff --git a/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/vo/CouponListVOVO.java b/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/vo/CouponListVOVO.java
new file mode 100644
index 0000000..ca3ede2
--- /dev/null
+++ b/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/vo/CouponListVOVO.java
@@ -0,0 +1,41 @@
+package com.ruoyi.account.api.vo;
+
+import com.ruoyi.common.core.web.domain.BasePojo;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import org.springframework.beans.factory.annotation.Autowired;
+
+import java.math.BigDecimal;
+import java.time.LocalDateTime;
+
+@Data
+@ApiModel("管理后台 优惠券兑换记录列表返回VO")
+public class CouponListVOVO extends BasePojo {
+ @ApiModelProperty(value = "优惠券名称")
+ private String couponName;
+ @ApiModelProperty(value = "优惠方式 1满减 2折扣")
+ private Integer preferentialMode;
+ @ApiModelProperty(value = "满减--优惠金额")
+ private BigDecimal discountAmount;
+ @ApiModelProperty(value = "满减--使用门槛 满减条件")
+ private BigDecimal meetTheConditions;
+ @ApiModelProperty(value = "折扣--折扣")
+ private BigDecimal discount;
+ @ApiModelProperty(value = "折扣--最高折扣金额")
+ private BigDecimal maximumDiscountAmount;
+ @ApiModelProperty(value = "优惠券数量")
+ private Integer couponCount;
+ @ApiModelProperty(value = "有效期")
+ private String validityTime;
+ @ApiModelProperty(value = "结束时间 前端忽略")
+ private LocalDateTime endTime;
+ @ApiModelProperty(value = "是否可用")
+ private Integer isUse;
+ @ApiModelProperty(value = "优惠券id")
+ private Long couponId;
+ @ApiModelProperty(value = "优惠券id")
+ private BigDecimal payMoney;
+ @ApiModelProperty(value = "最高折扣金额 用于判断哪一张优惠券优惠力度最大 前端忽略")
+ private BigDecimal money;
+}
diff --git a/ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/factory/OtherFallbackFactory.java b/ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/factory/OtherFallbackFactory.java
index 4d8eb24..4099d98 100644
--- a/ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/factory/OtherFallbackFactory.java
+++ b/ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/factory/OtherFallbackFactory.java
@@ -3,6 +3,7 @@
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ruoyi.account.api.dto.TagListQueryDto;
import com.ruoyi.account.api.dto.UnitListQueryDto;
+import com.ruoyi.account.api.vo.CouponListVOVO;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.other.api.domain.TCompany;
import com.ruoyi.other.api.domain.TUserTag;
@@ -79,6 +80,11 @@
public R<Map<Integer, String>> getVipMap(List<Integer> ids) {
return R.fail("获取会员map:" + throwable.getMessage());
}
+
+ @Override
+ public R<List<CouponListVOVO>> getCouponInfoByCouponIds(List<CouponListVOVO> list) {
+ return R.fail("我的优惠券列表获取信息:"+throwable.getMessage());
+ }
};
}
}
diff --git a/ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/feignClient/OtherClient.java b/ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/feignClient/OtherClient.java
index 833e422..c4e9382 100644
--- a/ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/feignClient/OtherClient.java
+++ b/ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/feignClient/OtherClient.java
@@ -3,6 +3,7 @@
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ruoyi.account.api.dto.TagListQueryDto;
import com.ruoyi.account.api.dto.UnitListQueryDto;
+import com.ruoyi.account.api.vo.CouponListVOVO;
import com.ruoyi.common.core.constant.ServiceNameConstants;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.other.api.domain.TCompany;
@@ -56,7 +57,11 @@
@PostMapping(value = "/vip/getVipMap")
R<Map<Integer, String>> getVipMap(@RequestBody List<Integer> ids);
-
+ /**
+ * 小程序远程调用 获取优惠券信息
+ */
+ @PostMapping(value = "/t-coupon/getCouponInfoByCouponIds")
+ R<List<CouponListVOVO>> getCouponInfoByCouponIds(@RequestBody List<CouponListVOVO> list);
diff --git a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/TAppCouponController.java b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/TAppCouponController.java
index b7e95ae..bf67953 100644
--- a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/TAppCouponController.java
+++ b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/TAppCouponController.java
@@ -2,15 +2,20 @@
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.ruoyi.account.api.dto.CouponListDto;
import com.ruoyi.account.api.dto.GrantCouponDto;
import com.ruoyi.account.api.model.TAppCoupon;
import com.ruoyi.account.api.query.ExchangeRecordGoodsQuery;
+import com.ruoyi.account.api.vo.CouponListVOVO;
import com.ruoyi.account.api.vo.ExchangeRecordVO;
import com.ruoyi.account.service.TAppCouponService;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.core.web.domain.AjaxResult;
+import com.ruoyi.common.core.web.page.BasePage;
import com.ruoyi.common.core.web.page.PageInfo;
import com.ruoyi.other.api.domain.TCoupon;
+import com.ruoyi.other.api.feignClient.OtherClient;
+import io.swagger.annotations.ApiModelProperty;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
@@ -35,6 +40,24 @@
public class TAppCouponController {
@Autowired
private TAppCouponService tAppCouponService;
+ @Autowired
+ private OtherClient otherClient;
+
+ /**
+ * 查询用户可用优惠券数量
+ * @param dto
+ * @return
+ */
+
+ @ApiOperation(value = "选择优惠券分页查询", tags = {"小程序-扫一扫"})
+ @PostMapping(value = "/scan/couponList")
+ public AjaxResult<PageInfo<CouponListVOVO>> couponList(@RequestBody CouponListDto dto) {
+ // todo token获取用户id
+ Long userId = 11L;
+ dto.setUserId(userId);
+ PageInfo<CouponListVOVO> res = tAppCouponService.couponList(dto);
+ return AjaxResult.ok(res);
+ }
/**
* 管理后台远程调用 根据优惠券ids 查询对应的发放数量
@@ -46,11 +69,11 @@
List<Integer> res = new ArrayList<>();
String[] split = couponIds.split(",");
// 查询每个优惠券的发放数量
- List<TAppCoupon> couponId = tAppCouponService.list(new QueryWrapper<TAppCoupon>()
- .in("coupon_id", Arrays.asList(split)));
for (String s : split) {
res.add(tAppCouponService.list(new QueryWrapper<TAppCoupon>()
- .eq("coupon_id", s)).size());
+ .eq("coupon_id", s)
+ .eq("del_flag",0)
+ ).size());
}
return R.ok(res);
}
@@ -80,7 +103,7 @@
* 后台远程调用 给用户发放优惠券
*/
@PostMapping("/grantCoupon")
- public R getExchangeRecordByCouponId(@RequestBody GrantCouponDto dto){
+ public R grantCoupon(@RequestBody GrantCouponDto dto){
List<TAppCoupon> res = new ArrayList<>();
for (String s : dto.getUserIds().split(",")) {
TAppCoupon tAppCoupon = new TAppCoupon();
diff --git a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/TAppUserController.java b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/TAppUserController.java
index fed89c4..a58cc4b 100644
--- a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/TAppUserController.java
+++ b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/TAppUserController.java
@@ -6,10 +6,13 @@
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ruoyi.account.api.dto.*;
import com.ruoyi.account.api.model.*;
+import com.ruoyi.account.api.vo.CouponListVOVO;
import com.ruoyi.account.service.*;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.core.utils.bean.BeanUtils;
+import com.ruoyi.common.core.web.domain.AjaxResult;
import com.ruoyi.common.core.web.domain.BasePojo;
+import com.ruoyi.common.core.web.page.PageInfo;
import com.ruoyi.common.security.annotation.RequiresPermissions;
import com.ruoyi.order.api.feignClient.ChargingOrderClient;
import com.ruoyi.order.api.feignClient.ExchangeOrderClient;
@@ -65,10 +68,11 @@
@Resource
private ExchangeOrderClient exchangeOrderClient;
+
+
@ApiOperation(value = "管理后台-根据手机号查询用户ids", tags = {"管理后台-活动费用统计"})
@PostMapping(value = "/user/getUserIdsByPhone")
public R<List<Long>> getUserIdsByPhone(@RequestParam("phone") String phone) {
-
return R.ok(appUserService.list(new QueryWrapper<TAppUser>().like("phone",phone)).stream().map(TAppUser::getId).collect(Collectors.toList()));
}
@ApiOperation(value = "单位管理列表", tags = {"用户管理-单位管理"})
diff --git a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/mapper/TAppCouponMapper.java b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/mapper/TAppCouponMapper.java
index 9bbf837..bde3dab 100644
--- a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/mapper/TAppCouponMapper.java
+++ b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/mapper/TAppCouponMapper.java
@@ -3,6 +3,7 @@
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.ruoyi.account.api.model.TAppCoupon;
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.web.page.PageInfo;
import org.apache.ibatis.annotations.Param;
@@ -20,4 +21,7 @@
public interface TAppCouponMapper extends BaseMapper<TAppCoupon> {
List<ExchangeRecordVO> pageList(@Param("pageInfo")PageInfo<ExchangeRecordVO> pageInfo,@Param("req") ExchangeRecordGoodsQuery dto);
+
+ List<CouponListVOVO> couponList(@Param("pageInfo")PageInfo<CouponListVOVO> pageInfo,@Param("userId") Long userId);
+
}
diff --git a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/service/TAppCouponService.java b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/service/TAppCouponService.java
index 88e6aa1..5c518fe 100644
--- a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/service/TAppCouponService.java
+++ b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/service/TAppCouponService.java
@@ -1,9 +1,12 @@
package com.ruoyi.account.service;
import com.baomidou.mybatisplus.extension.service.IService;
+import com.ruoyi.account.api.dto.CouponListDto;
import com.ruoyi.account.api.model.TAppCoupon;
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.web.page.BasePage;
import com.ruoyi.common.core.web.page.PageInfo;
/**
@@ -17,4 +20,7 @@
public interface TAppCouponService extends IService<TAppCoupon> {
PageInfo<ExchangeRecordVO> pagelist(ExchangeRecordGoodsQuery couponId);
+
+ PageInfo<CouponListVOVO> couponList(CouponListDto dto);
+
}
diff --git a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/service/impl/TAppCouponServiceImpl.java b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/service/impl/TAppCouponServiceImpl.java
index 98dc39f..a821517 100644
--- a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/service/impl/TAppCouponServiceImpl.java
+++ b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/service/impl/TAppCouponServiceImpl.java
@@ -1,15 +1,19 @@
package com.ruoyi.account.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ruoyi.account.api.dto.CouponListDto;
import com.ruoyi.account.api.model.TAppCoupon;
import com.ruoyi.account.api.query.ExchangeRecordGoodsQuery;
+import com.ruoyi.account.api.vo.CouponListVOVO;
import com.ruoyi.account.api.vo.ExchangeRecordVO;
import com.ruoyi.account.mapper.TAppCouponMapper;
import com.ruoyi.account.service.TAppCouponService;
import com.ruoyi.common.core.utils.DateUtils;
+import com.ruoyi.common.core.web.page.BasePage;
import com.ruoyi.common.core.web.page.PageInfo;
import com.ruoyi.order.api.feignClient.OrderClient;
import com.ruoyi.other.api.domain.TCoupon;
+import com.ruoyi.other.api.feignClient.OtherClient;
import org.apache.poi.ss.formula.functions.T;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@@ -32,6 +36,8 @@
@Autowired
private OrderClient orderClient;
+ @Autowired
+ private OtherClient otherClient;
@Override
public PageInfo<ExchangeRecordVO> pagelist(ExchangeRecordGoodsQuery dto) {
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
@@ -98,4 +104,17 @@
pageInfo.setRecords(list);
return pageInfo;
}
+
+ @Override
+ public PageInfo<CouponListVOVO> couponList(CouponListDto dto) {
+ SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+ PageInfo<CouponListVOVO> pageInfo = new PageInfo<>(dto.getPageCurr(),dto.getPageSize());
+ List<CouponListVOVO> list = this.baseMapper.couponList(pageInfo,dto.getUserId());
+ for (CouponListVOVO couponListVOVO : list) {
+ couponListVOVO.setValidityTime("有效期:"+format.format(couponListVOVO.getCreateTime())+" - "+format.format(couponListVOVO.getEndTime()));
+ }
+ List<CouponListVOVO> data = otherClient.getCouponInfoByCouponIds(list).getData();
+ pageInfo.setRecords(data);
+ return pageInfo;
+ }
}
diff --git a/ruoyi-service/ruoyi-account/src/main/resources/mapper/account/TAppCouponMapper.xml b/ruoyi-service/ruoyi-account/src/main/resources/mapper/account/TAppCouponMapper.xml
index 7b8852a..b94f498 100644
--- a/ruoyi-service/ruoyi-account/src/main/resources/mapper/account/TAppCouponMapper.xml
+++ b/ruoyi-service/ruoyi-account/src/main/resources/mapper/account/TAppCouponMapper.xml
@@ -57,5 +57,24 @@
</where>
ORDER BY create_time DESC
</select>
+ <select id="couponList" resultType="com.ruoyi.account.api.vo.CouponListVOVO">
+ SELECT
+ t1.app_user_id AS appUserId,
+ t1.coupon_id AS couponId,
+ MAX(t1.end_time) AS endTime,
+ MAX(t1.create_time) AS createTime,
+ MAX(t1.status) AS status,
+ COUNT(*) AS couponCount
+ FROM
+ t_app_coupon t1
+ WHERE
+ t1.del_flag = 0
+ AND t1.app_user_id = #{userId}
+ AND t1.status = 1
+ and t1.endTime >= now()
+ GROUP BY
+ t1.coupon_id,
+ t1.end_time
+ </select>
</mapper>
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 61ac718..cbcd8b3 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
@@ -4,7 +4,9 @@
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;
@@ -18,6 +20,7 @@
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.*;
@@ -89,8 +92,8 @@
return AjaxResult.ok(data);
}
@ApiOperation(tags = {"管理后台-优惠券管理"},value = "发放优惠券")
- @GetMapping(value = "/pageList")
- public AjaxResult pageList(@RequestBody GrantCouponDto dto) {
+ @GetMapping(value = "/grantCoupon")
+ public AjaxResult grantCoupon(@RequestBody GrantCouponDto dto) {
TCoupon byId = tCouponService.getById(dto.getCouponId());
Integer waysToObtain = byId.getWaysToObtain();
dto.setWaysToObtain(waysToObtain);
@@ -102,13 +105,50 @@
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());
+ // 根据预付金额 判断是否满足
+ 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);
+ }
}
--
Gitblit v1.7.1