From b27efc697f2f81e0d0f247a2708e58af52a5df9b Mon Sep 17 00:00:00 2001
From: 无关风月 <443237572@qq.com>
Date: 星期四, 23 十月 2025 15:14:33 +0800
Subject: [PATCH] bug修改,后台新增修改用户积分
---
cloud-server-activity/src/main/java/com/dsh/activity/controller/THuiminCardController.java | 115 ++++++++++++++++++++++++++++++++++++++++++++++++++++-----
1 files changed, 104 insertions(+), 11 deletions(-)
diff --git a/cloud-server-activity/src/main/java/com/dsh/activity/controller/THuiminCardController.java b/cloud-server-activity/src/main/java/com/dsh/activity/controller/THuiminCardController.java
index 927d2b0..74e2f5d 100644
--- a/cloud-server-activity/src/main/java/com/dsh/activity/controller/THuiminCardController.java
+++ b/cloud-server-activity/src/main/java/com/dsh/activity/controller/THuiminCardController.java
@@ -1,5 +1,6 @@
package com.dsh.activity.controller;
+import cn.hutool.core.collection.CollUtil;
import cn.mb.cloud.common.data.controller.BaseController;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
@@ -7,12 +8,18 @@
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.dsh.activity.entity.THuiminCard;
import com.dsh.activity.entity.TPayHuimin;
+import com.dsh.activity.entity.TStudent;
+import com.dsh.activity.feignclient.account.StudentClient;
import com.dsh.activity.service.HuiminCardService;
import com.dsh.activity.service.PayHuiminService;
+import com.dsh.activity.util.UUIDUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.util.StringUtils;
import org.springframework.web.bind.annotation.*;
+import java.text.SimpleDateFormat;
+import java.time.LocalDateTime;
+import java.time.ZoneId;
import java.util.Date;
import java.util.List;
import java.util.Map;
@@ -25,11 +32,24 @@
private HuiminCardService tHuiminCardService;
@Autowired
private PayHuiminService payHuiminService;
+ @Autowired
+ private StudentClient studentClient;
- @GetMapping("/queryPage")
- public Page<THuiminCard> queryPage(Page<THuiminCard> page, THuiminCard tHuiminCard) {
+ @PostMapping("/queryPage")
+ public Page<THuiminCard> queryPage(@RequestBody THuiminCard tHuiminCard) {
QueryWrapper<THuiminCard> queryWrapper = new QueryWrapper<>();
+
+
+ Integer objectType = tHuiminCard.getObjectType();
+ Integer objectId = tHuiminCard.getObjectId();
+ if (objectType == 2){
+ queryWrapper.eq("operatorId",objectId);
+ }
+ if (objectType == 3){
+ queryWrapper.apply("FIND_IN_SET("+objectId+",storeIds)");
+ }
+
if (!StringUtils.isEmpty(tHuiminCard.getHuiMinName())){
queryWrapper.like("huiMinName",tHuiminCard.getHuiMinName());
}
@@ -40,19 +60,19 @@
queryWrapper.ge("startTime",tHuiminCard.getStartTime());
queryWrapper.le("endTime",tHuiminCard.getEndTime());
}
- Integer flag = tHuiminCard.getFlag();
- if (flag != null){
+ Integer huiMinStatus = tHuiminCard.getHuiMinStatus();
+ // 玩湃惠民卡状态:1未开始 2已开始 3已结束
+ if (huiMinStatus != null){
Date now = new Date();
- switch (flag) {
+ switch (huiMinStatus) {
case 1:
- queryWrapper.le("startTime", now);
+ queryWrapper.gt("startTime", now);
break;
- case 2:
- queryWrapper.ge("startTime", now);
+ case 2:
+ queryWrapper.apply("(startTime <= now() AND endTime >= now()) OR(startTime IS NULL AND endTime IS NULL)");
+ break;
+ case 3:
queryWrapper.le("endTime", now);
- break;
- case 3:
- queryWrapper.lt("endTime", now);
break;
}
}
@@ -60,10 +80,17 @@
if (tHuiminCard.getStatus() != null){
queryWrapper.eq("status",tHuiminCard.getStatus());
}
+ Page<THuiminCard> page = new Page<>();
+ page.setCurrent(tHuiminCard.getCurrent());
+ page.setSize(tHuiminCard.getSize());
Page<THuiminCard> page1 = tHuiminCardService.page(page, queryWrapper);
List<THuiminCard> records = page1.getRecords();
+ if (records.isEmpty()){
+ return page1;
+ }
List<Integer> cardIds = records.stream().map(THuiminCard::getId).collect(Collectors.toList());
List<TPayHuimin> list = payHuiminService.list(new LambdaQueryWrapper<TPayHuimin>()
+ .eq(TPayHuimin::getStatus,2)
.in(TPayHuimin::getCardId, cardIds));
Map<Integer, Long> cardIdCountMap = list.stream()
@@ -75,6 +102,25 @@
records.forEach(item -> {
item.setBuyCount(cardIdCountMap.getOrDefault(item.getId(), 0L).intValue());
+
+ // 玩湃惠民卡状态计算逻辑
+ Date startTime = item.getStartTime();
+ Date endTime = item.getEndTime();
+
+ Date now = new Date();
+ if (startTime == null || endTime == null) {
+ // 时间字段未填写时默认状态为「已开始」
+ item.setHuiMinStatus(2);
+ } else {
+ if (startTime.after(now)) {
+ item.setHuiMinStatus(1); // 未开始
+ } else if (endTime.before(now)) {
+ item.setHuiMinStatus(3); // 已结束
+ } else {
+ item.setHuiMinStatus(2); // 已开始
+ }
+ }
+
});
return page1;
}
@@ -119,4 +165,51 @@
tHuiminCardService.updateById(tHuiminCard);
return "success";
}
+ @GetMapping("/getCards")
+
+ public List<THuiminCard> getCards(@RequestParam("storeId")String storeId){
+ List<THuiminCard> list = tHuiminCardService.lambdaQuery().apply("FIND_IN_SET(" + storeId + ",storeIds)").list();
+ return list;
+ }
+ @GetMapping("/addPayHuiMing")
+ public void addPayHuiMing(@RequestParam("studentId")Integer studentId, @RequestParam("cardId")Integer cardId){
+ TPayHuimin tPayHuimin = new TPayHuimin();
+
+ THuiminCard byId = tHuiminCardService.getById(cardId);
+ List<TStudent> studentByIds = studentClient.getStudentByIds(studentId + "");
+ if (CollUtil.isNotEmpty(studentByIds)){
+ tPayHuimin.setAppUserId(studentByIds.get(0).getAppUserId());
+ }
+ tPayHuimin.setSalesMoney(byId.getSalesMoney());
+ tPayHuimin.setStudentId(studentId+"");
+ switch (byId.getHuiMinType()) {
+ case 1:
+ // 年度卡
+ LocalDateTime localDateTime = LocalDateTime.now().plusDays(365);
+ // 将LocalDateTime转换为Date类型
+ Date date = Date.from(localDateTime.atZone(ZoneId.systemDefault()).toInstant());
+ tPayHuimin.setEndTime(date);
+ break;
+ case 2:
+ // 年内卡
+ Date date1 = new Date();
+ date1.setMonth(11);
+ date1.setDate(31);
+ date1.setHours(23);
+ date1.setMinutes(59);
+ date1.setSeconds(57);
+ tPayHuimin.setEndTime(date1);
+ break;
+ }
+ tPayHuimin.setInsertTime(new Date());
+ tPayHuimin.setPaymentType(3);
+ tPayHuimin.setRefundStatus(1);
+ tPayHuimin.setCardId(byId.getId());
+ SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmssSSS");
+ tPayHuimin.setCode(sdf.format(new Date()) + UUIDUtil.getNumberRandom(5));
+ System.err.println("支付数据" + tPayHuimin);
+ tPayHuimin.setPaymentTime(new Date());
+ tPayHuimin.setStatus(2);
+ payHuiminService.save(tPayHuimin);
+ }
}
--
Gitblit v1.7.1