From e88b02c55145624e6b8ef8f4cbd56d22b9bdfff9 Mon Sep 17 00:00:00 2001
From: luodangjia <luodangjia>
Date: 星期一, 13 一月 2025 20:00:36 +0800
Subject: [PATCH] 12.18
---
ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/UserCouponController.java | 94 ++++++++++++++++++++++++++++++++++++----------
1 files changed, 73 insertions(+), 21 deletions(-)
diff --git a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/UserCouponController.java b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/UserCouponController.java
index 00de185..123e8b0 100644
--- a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/UserCouponController.java
+++ b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/UserCouponController.java
@@ -2,7 +2,9 @@
import com.alibaba.fastjson2.JSON;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
+import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ruoyi.account.api.model.AppUser;
import com.ruoyi.account.api.model.UserCoupon;
@@ -71,11 +73,18 @@
@ApiOperation(value = "已领取列表", tags = {"小程序-个人中心-优惠劵"})
public R<Page<UserCoupon>> minelist(@RequestParam Integer pageNum, @RequestParam Integer pageSize, @ApiParam("1未使用2已使用3已过期") Integer status) {
Long userid = tokenService.getLoginUserApplet().getUserid();
- Page<UserCoupon> page = userCouponService.lambdaQuery()
- .isNull(status!=null&&(status==1||status==3),UserCoupon::getUseTime)
- .isNotNull(status!=null&&status==2,UserCoupon::getUseTime)
- .lt(status!=null&&status==3,UserCoupon::getEndTime, LocalDateTime.now())
- .eq(UserCoupon::getAppUserId, userid).page(Page.of(pageNum-1, pageSize));
+ LambdaQueryChainWrapper<UserCoupon> chainWrapper = userCouponService.lambdaQuery()
+ .eq(UserCoupon::getAppUserId, userid);
+ if(null != status && 1 == status){
+ chainWrapper.isNull(UserCoupon::getUseTime).gt(UserCoupon::getEndTime, LocalDateTime.now());
+ }
+ if(null != status && 2 == status){
+ chainWrapper.isNotNull(UserCoupon::getUseTime);
+ }
+ if(null != status && 3 == status){
+ chainWrapper.isNull(UserCoupon::getUseTime).lt(UserCoupon::getEndTime, LocalDateTime.now());
+ }
+ Page<UserCoupon> page = chainWrapper.page(Page.of(pageNum-1, pageSize));
for (UserCoupon record : page.getRecords()) {
record.setIdStr(record.getId().toString());
CouponInfo data = couponClient.detail(record.getCouponId()).getData();
@@ -85,7 +94,9 @@
if (vo.getCouponType()==4){
List<String> goodNames = new ArrayList<>();
if (vo.getForGoodIds().equals("-1")){
- goodNames.add("全部商品");
+ List<Goods> data1 = goodsClient.getAllGoods().getData();
+ List<String> collect = data1.stream().map(Goods::getName).collect(Collectors.toList());
+ goodNames.addAll(collect);
}else{
String[] split = vo.getForGoodIds().split(",");
R<List<Goods>> goodsById = goodsClient.getGoodsById(split);
@@ -98,19 +109,16 @@
}
}
-
-
record.setCouponInfoVo(vo);
- if (record.getUseTime()==null){
- record.setStatus(1);
- if (record.getEndTime().isBefore(LocalDateTime.now())){
- record.setStatus(3);
- }
- }else {
+ if(null != record.getUseTime()){
record.setStatus(2);
+ }else{
+ if(record.getEndTime().isBefore(LocalDateTime.now())){
+ record.setStatus(3);
+ }else{
+ record.setStatus(1);
+ }
}
-
-
AppUser appUser = appUserService.getById(record.getAppUserId());
record.setUserName(appUser.getName());
record.setPhone(appUser.getPhone());
@@ -121,11 +129,25 @@
@GetMapping("/mine/list1")
@ApiOperation(value = "已领取列表", tags = {"管理后台-优惠劵"})
- public R<Page<UserCoupon>> list1(@RequestParam Integer pageNum, @RequestParam Integer pageSize, @ApiParam("1未使用2已使用3已过期") Integer status, Integer id) {
+ public R<Page<UserCoupon>> list1(@RequestParam Integer pageNum,
+ @RequestParam Integer pageSize,
+ @ApiParam("1未使用2已使用3已过期") Integer status,
+ String phone,
+ Integer id) {
+
+ Long appUserId = null;
+ if (!StringUtils.isEmpty(phone)){
+ AppUser appUser1 = appUserService.getOne(new LambdaQueryWrapper<AppUser>()
+ .eq(AppUser::getPhone, phone));
+ appUserId = appUser1.getId();
+
+ }
+
Page<UserCoupon> page = userCouponService.lambdaQuery()
.isNull(status!=null&&(status==1||status==3),UserCoupon::getUseTime)
.isNotNull(status!=null&&status==2,UserCoupon::getUseTime)
.eq(UserCoupon::getCouponId, id)
+ .eq(appUserId != null,UserCoupon::getAppUserId, appUserId)
.lt(status!=null&&status==3,UserCoupon::getEndTime, LocalDateTime.now()).page(Page.of(pageNum-1, pageSize));
for (UserCoupon record : page.getRecords()) {
record.setIdStr(record.getId().toString());
@@ -149,8 +171,6 @@
}
}
-
-
record.setCouponInfoVo(vo);
if (record.getUseTime()==null){
record.setStatus(1);
@@ -160,7 +180,6 @@
}else {
record.setStatus(2);
}
-
AppUser appUser = appUserService.getById(record.getAppUserId());
record.setUserName(appUser.getName());
@@ -184,6 +203,16 @@
if (data==null){
return R.fail("当前优惠券不存在,请刷新后重试");
}
+ long count = userCouponService.count(new LambdaQueryWrapper<UserCoupon>().eq(UserCoupon::getCouponId, couponId).eq(UserCoupon::getDelFlag, 0));
+ if(data.getSendNum() <= count){
+ return R.fail("当前优惠券已全部领取完毕");
+ }
+ count = userCouponService.count(new LambdaQueryWrapper<UserCoupon>().eq(UserCoupon::getCouponId, couponId)
+ .eq(UserCoupon::getAppUserId, userid).eq(UserCoupon::getDelFlag, 0));
+ if(data.getMaxNum() <= count){
+ return R.fail("当前优惠券已达到最大领取限制");
+ }
+
if (data.getSendType()!=1&& byId.getLavePoint().compareTo(data.getNeedPoint().intValue()) < 0){
return R.fail("当前积分不足,兑换失败");
}
@@ -201,7 +230,7 @@
appUserService.updateById(byId);
UserPoint userPoint = new UserPoint();
- userPoint.setType(4);
+ userPoint.setType(11);
userPoint.setHistoricalPoint(lavePoint);
userPoint.setVariablePoint(point);
userPoint.setBalance(byId.getLavePoint());
@@ -321,5 +350,28 @@
userCouponService.updateById(userCoupon);
return R.ok();
}
+
+
+ /**
+ * 获取用户优惠券详情
+ * @param id
+ * @return
+ */
+ @PostMapping("/getUserCoupon")
+ public R<UserCoupon> getUserCoupon(@RequestParam("id") Long id){
+ UserCoupon userCoupon = userCouponService.getById(id);
+ return R.ok(userCoupon);
+ }
+
+
+ /**
+ * 编辑用户优惠券
+ * @return
+ */
+ @PostMapping("/editUserCoupon")
+ public R editUserCoupon(@RequestBody UserCoupon userCoupon){
+ userCouponService.updateById(userCoupon);
+ return R.ok();
+ }
}
--
Gitblit v1.7.1