From 99a0b0f800918120b755a69f5e372adcd1482e4d Mon Sep 17 00:00:00 2001 From: sunjiabei Date: Tue, 24 Jun 2025 11:11:39 +0800 Subject: [PATCH 1/3] =?UTF-8?q?=E6=B6=88=E8=B4=B9=E6=A8=A1=E5=9D=97?= =?UTF-8?q?=EF=BC=8C=E6=B6=88=E8=B4=B9=E8=AF=A6=E6=83=85=E5=88=86=E9=A1=B5?= =?UTF-8?q?=EF=BC=8C=E5=95=86=E5=93=81=E6=9F=A5=E8=AF=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/example/demo/controller/ConsumeController.java | 16 +++++++++++++--- .../com/example/demo/controller/GeneralController.java | 6 ++++++ src/main/java/com/example/demo/domain/vo/Consume.java | 2 -- src/main/java/com/example/demo/domain/vo/Page.java | 1 + src/main/java/com/example/demo/mapper/GeneralMapper.java | 1 + .../java/com/example/demo/service/ConsumeService.java | 4 +++- .../java/com/example/demo/service/GeneralService.java | 1 + .../com/example/demo/serviceImpl/ConsumeServiceImpl.java | 7 +++++-- .../com/example/demo/serviceImpl/GeneralServiceImpl.java | 6 ++++++ src/main/resources/mapper/GeneralMapper.xml | 3 +++ 10 files changed, 39 insertions(+), 8 deletions(-) diff --git a/src/main/java/com/example/demo/controller/ConsumeController.java b/src/main/java/com/example/demo/controller/ConsumeController.java index ba12bcf..8091107 100644 --- a/src/main/java/com/example/demo/controller/ConsumeController.java +++ b/src/main/java/com/example/demo/controller/ConsumeController.java @@ -2,11 +2,13 @@ package com.example.demo.controller; import com.example.demo.domain.vo.Consume; import com.example.demo.domain.vo.Gold; +import com.example.demo.domain.vo.Page; import com.example.demo.domain.vo.Result; import com.example.demo.service.ConsumeService; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.util.ObjectUtils; import org.springframework.web.bind.annotation.*; import java.util.List; @@ -32,10 +34,18 @@ public class ConsumeController { //消耗明细 @PostMapping("/selectAll") - public Result selcetAll() + public Result selcetAll(@RequestBody Page page) { - List consumes = consumeService.selectAll(); - return Result.success(consumes); + if(ObjectUtils.isEmpty(page.getPageNum())){ + return Result.error("页码数为空!"); + } + if(ObjectUtils.isEmpty(page.getPageSize())){ + return Result.error("页大小为空!"); + } + else{ + return Result.success(consumeService.selectAll(page.getPageNum(), page.getPageSize())); + } + } //消耗金币统计 diff --git a/src/main/java/com/example/demo/controller/GeneralController.java b/src/main/java/com/example/demo/controller/GeneralController.java index a7ae932..f22a320 100644 --- a/src/main/java/com/example/demo/controller/GeneralController.java +++ b/src/main/java/com/example/demo/controller/GeneralController.java @@ -41,4 +41,10 @@ public class GeneralController { List list = generalService.getPlatform(); return Result.success(list); } + @PostMapping("/goods") + public Result getGoods() + { + List list = generalService.getGoods(); + return Result.success(list); + } } diff --git a/src/main/java/com/example/demo/domain/vo/Consume.java b/src/main/java/com/example/demo/domain/vo/Consume.java index 45429eb..c3482e2 100644 --- a/src/main/java/com/example/demo/domain/vo/Consume.java +++ b/src/main/java/com/example/demo/domain/vo/Consume.java @@ -21,8 +21,6 @@ import java.util.Date; public class Consume implements Serializable { private static final long serialVersionUID = 1L; - private Integer pageNum; //页数 - private Integer pageSize; //页面大小 private String name; // 客户姓名 private Integer jwcode; // 精网号 diff --git a/src/main/java/com/example/demo/domain/vo/Page.java b/src/main/java/com/example/demo/domain/vo/Page.java index 36d7d9d..ebcc338 100644 --- a/src/main/java/com/example/demo/domain/vo/Page.java +++ b/src/main/java/com/example/demo/domain/vo/Page.java @@ -19,5 +19,6 @@ public class Page { private Integer pageNum; private Integer pageSize; private GoldDetail goldDetail; + private Consume consume; } diff --git a/src/main/java/com/example/demo/mapper/GeneralMapper.java b/src/main/java/com/example/demo/mapper/GeneralMapper.java index aca7d39..8913458 100644 --- a/src/main/java/com/example/demo/mapper/GeneralMapper.java +++ b/src/main/java/com/example/demo/mapper/GeneralMapper.java @@ -16,4 +16,5 @@ import java.util.List; public interface GeneralMapper { List getMarket(); List getPlatform(); + List getGoods(); } diff --git a/src/main/java/com/example/demo/service/ConsumeService.java b/src/main/java/com/example/demo/service/ConsumeService.java index 7c52636..3219d50 100644 --- a/src/main/java/com/example/demo/service/ConsumeService.java +++ b/src/main/java/com/example/demo/service/ConsumeService.java @@ -3,6 +3,8 @@ package com.example.demo.service; import com.example.demo.domain.vo.Consume; import com.example.demo.domain.vo.Gold; +import com.example.demo.domain.vo.GoldDetail; +import com.github.pagehelper.PageInfo; import java.util.List; @@ -16,7 +18,7 @@ import java.util.List; **/ public interface ConsumeService { - List selectAll(); + PageInfo selectAll(Integer pageNum, Integer pageSize); Gold statsGold(); } diff --git a/src/main/java/com/example/demo/service/GeneralService.java b/src/main/java/com/example/demo/service/GeneralService.java index 530bc15..479be34 100644 --- a/src/main/java/com/example/demo/service/GeneralService.java +++ b/src/main/java/com/example/demo/service/GeneralService.java @@ -14,4 +14,5 @@ import java.util.List; public interface GeneralService { List getMarket(); List getPlatform(); + List getGoods(); } diff --git a/src/main/java/com/example/demo/serviceImpl/ConsumeServiceImpl.java b/src/main/java/com/example/demo/serviceImpl/ConsumeServiceImpl.java index 0aa9b33..36decaf 100644 --- a/src/main/java/com/example/demo/serviceImpl/ConsumeServiceImpl.java +++ b/src/main/java/com/example/demo/serviceImpl/ConsumeServiceImpl.java @@ -4,6 +4,8 @@ import com.example.demo.domain.vo.Consume; import com.example.demo.domain.vo.Gold; import com.example.demo.mapper.ConsumeMapper; import com.example.demo.service.ConsumeService; +import com.github.pagehelper.PageHelper; +import com.github.pagehelper.PageInfo; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -26,9 +28,10 @@ public class ConsumeServiceImpl implements ConsumeService { //消耗明细 @Override - public List selectAll() { + public PageInfo selectAll(Integer pageNum, Integer pageSize) { + PageHelper.startPage(pageNum, pageSize); List consumes = consumeMapper.selectAll(); - return consumes; + return new PageInfo<>(consumes); } //消耗金币统计 diff --git a/src/main/java/com/example/demo/serviceImpl/GeneralServiceImpl.java b/src/main/java/com/example/demo/serviceImpl/GeneralServiceImpl.java index 5c6d8b5..311e218 100644 --- a/src/main/java/com/example/demo/serviceImpl/GeneralServiceImpl.java +++ b/src/main/java/com/example/demo/serviceImpl/GeneralServiceImpl.java @@ -32,4 +32,10 @@ public class GeneralServiceImpl implements GeneralService { List list = generalMapper.getPlatform(); return list; } + + @Override + public List getGoods() { + List list = generalMapper.getGoods(); + return list; + } } diff --git a/src/main/resources/mapper/GeneralMapper.xml b/src/main/resources/mapper/GeneralMapper.xml index 73522f5..99103e2 100644 --- a/src/main/resources/mapper/GeneralMapper.xml +++ b/src/main/resources/mapper/GeneralMapper.xml @@ -8,4 +8,7 @@ + \ No newline at end of file From 9ad7f3af694953d345ca7dbcaf3d67ef82e18d3c Mon Sep 17 00:00:00 2001 From: sunjiabei Date: Tue, 24 Jun 2025 13:27:05 +0800 Subject: [PATCH 2/3] =?UTF-8?q?=E6=B6=88=E8=B4=B9=E6=A8=A1=E5=9D=97?= =?UTF-8?q?=EF=BC=8C=E7=AD=9B=E9=80=89=E6=9F=A5=E8=AF=A2=E8=AF=A6=E6=83=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../example/demo/controller/ConsumeController.java | 27 +++++--- .../java/com/example/demo/domain/vo/Consume.java | 18 ++++-- .../com/example/demo/mapper/ConsumeMapper.java | 2 + .../com/example/demo/service/ConsumeService.java | 2 + .../demo/serviceImpl/ConsumeServiceImpl.java | 8 +++ src/main/resources/mapper/ConsumeMapper.xml | 73 ++++++++++++++++------ 6 files changed, 96 insertions(+), 34 deletions(-) diff --git a/src/main/java/com/example/demo/controller/ConsumeController.java b/src/main/java/com/example/demo/controller/ConsumeController.java index 8091107..6a45db4 100644 --- a/src/main/java/com/example/demo/controller/ConsumeController.java +++ b/src/main/java/com/example/demo/controller/ConsumeController.java @@ -34,24 +34,35 @@ public class ConsumeController { //消耗明细 @PostMapping("/selectAll") - public Result selcetAll(@RequestBody Page page) - { - if(ObjectUtils.isEmpty(page.getPageNum())){ + public Result selcetAll(@RequestBody Page page) { + if (ObjectUtils.isEmpty(page.getPageNum())) { return Result.error("页码数为空!"); } - if(ObjectUtils.isEmpty(page.getPageSize())){ + if (ObjectUtils.isEmpty(page.getPageSize())) { return Result.error("页大小为空!"); - } - else{ + } else { return Result.success(consumeService.selectAll(page.getPageNum(), page.getPageSize())); } } + //消耗明细筛选 + @PostMapping("/selectBy") + public Result selcetBy(@RequestBody Page page) { + if (ObjectUtils.isEmpty(page.getPageNum())) { + return Result.error("页码数为空!"); + } + if (ObjectUtils.isEmpty(page.getPageSize())) { + return Result.error("页大小为空!"); + } else { + return Result.success(consumeService.selectBy(page.getPageNum(), page.getPageSize(), page.getConsume())); + } + + } + //消耗金币统计 @PostMapping("/statsGold") - public Result statsGold() - { + public Result statsGold() { Gold gold = consumeService.statsGold(); return Result.success(gold); } diff --git a/src/main/java/com/example/demo/domain/vo/Consume.java b/src/main/java/com/example/demo/domain/vo/Consume.java index c3482e2..90c3a00 100644 --- a/src/main/java/com/example/demo/domain/vo/Consume.java +++ b/src/main/java/com/example/demo/domain/vo/Consume.java @@ -1,18 +1,20 @@ package com.example.demo.domain.vo; + import com.fasterxml.jackson.annotation.JsonFormat; import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor; + import java.io.Serializable; import java.util.Date; /** -@program: gold-java -@ClassName Consume -@description: 消费明细 -@author: Double -@create: 2025−06-23 11:53 -@Version 1.0 + * @program: gold-java + * @ClassName Consume + * @description: 消费明细 + * @author: Double + * @create: 2025−06-23 11:53 + * @Version 1.0 **/ @Data @@ -36,4 +38,8 @@ public class Consume implements Serializable { @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "Asia/Shanghai") private Date payTime; // 消费时间 + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "Asia/Shanghai") + private Date startTime; // 开始时间 + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "Asia/Shanghai") + private Date endTime; // 结束时间 } diff --git a/src/main/java/com/example/demo/mapper/ConsumeMapper.java b/src/main/java/com/example/demo/mapper/ConsumeMapper.java index 505111e..98402a0 100644 --- a/src/main/java/com/example/demo/mapper/ConsumeMapper.java +++ b/src/main/java/com/example/demo/mapper/ConsumeMapper.java @@ -18,4 +18,6 @@ import java.util.List; public interface ConsumeMapper { List selectAll(); + + List selectBy(Consume consume); } diff --git a/src/main/java/com/example/demo/service/ConsumeService.java b/src/main/java/com/example/demo/service/ConsumeService.java index 3219d50..2b144b6 100644 --- a/src/main/java/com/example/demo/service/ConsumeService.java +++ b/src/main/java/com/example/demo/service/ConsumeService.java @@ -21,4 +21,6 @@ public interface ConsumeService { PageInfo selectAll(Integer pageNum, Integer pageSize); Gold statsGold(); + + PageInfo selectBy(Integer pageNum, Integer pageSize, Consume consume); } diff --git a/src/main/java/com/example/demo/serviceImpl/ConsumeServiceImpl.java b/src/main/java/com/example/demo/serviceImpl/ConsumeServiceImpl.java index 36decaf..8dc06fc 100644 --- a/src/main/java/com/example/demo/serviceImpl/ConsumeServiceImpl.java +++ b/src/main/java/com/example/demo/serviceImpl/ConsumeServiceImpl.java @@ -68,4 +68,12 @@ public class ConsumeServiceImpl implements ConsumeService { return gold; } + + //消耗明细筛选 + @Override + public PageInfo selectBy(Integer pageNum, Integer pageSize, Consume consume) { + PageHelper.startPage(pageNum, pageSize); + List consumes = consumeMapper.selectBy(consume); + return new PageInfo<>(consumes); + } } diff --git a/src/main/resources/mapper/ConsumeMapper.xml b/src/main/resources/mapper/ConsumeMapper.xml index af128e0..3f286cc 100644 --- a/src/main/resources/mapper/ConsumeMapper.xml +++ b/src/main/resources/mapper/ConsumeMapper.xml @@ -4,26 +4,59 @@ + + + \ No newline at end of file From 3dcdb9f7b59de10626d22f951a528bd7134931ae Mon Sep 17 00:00:00 2001 From: huangqizhen <15552608129@163.com> Date: Tue, 24 Jun 2025 18:21:17 +0800 Subject: [PATCH 3/3] =?UTF-8?q?6.24=20=E5=AE=A2=E6=88=B7=E9=87=91=E5=B8=81?= =?UTF-8?q?=E4=BD=99=E9=A2=9D=EF=BC=8C=E5=BC=82=E6=AD=A5=E9=83=A8=E5=88=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/com/example/demo/Util/RedisUtil.java | 175 +++++++++++++++++++++ .../demo/controller/GoldDetailController.java | 15 ++ .../com/example/demo/domain/entity/Export.java | 33 ++++ .../java/com/example/demo/domain/entity/User.java | 3 + .../com/example/demo/domain/vo/GoldDetail.java | 2 - src/main/java/com/example/demo/domain/vo/Page.java | 2 + .../com/example/demo/mapper/GoldDetailMapper.java | 4 + .../example/demo/service/GoldDetailService.java | 4 + .../demo/serviceImpl/GoldDetailServiceImpl.java | 13 ++ src/main/resources/mapper/GoldDetailMapper.xml | 36 +++++ 10 files changed, 285 insertions(+), 2 deletions(-) create mode 100644 src/main/java/com/example/demo/Util/RedisUtil.java create mode 100644 src/main/java/com/example/demo/domain/entity/Export.java diff --git a/src/main/java/com/example/demo/Util/RedisUtil.java b/src/main/java/com/example/demo/Util/RedisUtil.java new file mode 100644 index 0000000..1bc95af --- /dev/null +++ b/src/main/java/com/example/demo/Util/RedisUtil.java @@ -0,0 +1,175 @@ +package com.example.demo.Util; + +import jakarta.annotation.PostConstruct; +import jakarta.annotation.Resource; +import org.springframework.data.redis.connection.RedisConnection; +import org.springframework.data.redis.core.RedisCallback; +import org.springframework.data.redis.core.RedisTemplate; +import org.springframework.data.redis.core.ZSetOperations; +import org.springframework.scheduling.annotation.Scheduled; +import org.springframework.stereotype.Component; + + +import java.util.Set; +import java.util.concurrent.*; + +@Component +public class RedisUtil { + + @Resource + private RedisTemplate redisTemplate; + + // 线程池用于处理延迟消息 + private ExecutorService delayMessageExecutor; + + // 延迟消息处理线程数 + private static final int DELAY_THREAD_POOL_SIZE = 4; + + // 延迟队列轮询间隔(毫秒) + private static final long DELAY_QUEUE_POLL_INTERVAL = 1000L; + + @PostConstruct + public void init() { + // 初始化线程池 + delayMessageExecutor = Executors.newFixedThreadPool(DELAY_THREAD_POOL_SIZE); + } + + /** + * 发送消息到队列 + * @param queueName 队列名称 + * @param message 消息内容 + */ + public void sendMessage(String queueName, Object message) { + redisTemplate.opsForList().rightPush(queueName, message); + } + + /** + * 阻塞获取消息(优化版,增加重试机制) + * @param queueName 队列名称 + * @param timeout 超时时间(秒) + * @return 消息内容 + */ + public Object blockingGetMessage(String queueName, long timeout) { + // 分段获取,避免长时间阻塞 + long endTime = System.currentTimeMillis() + timeout * 1000; + while (System.currentTimeMillis() < endTime) { + Object message = redisTemplate.opsForList().leftPop(queueName, 1, TimeUnit.SECONDS); + if (message != null) { + return message; + } + } + return null; + } + + /** + * 非阻塞获取消息 + * @param queueName 队列名称 + * @return 消息内容 + */ + public Object getMessage(String queueName) { + return redisTemplate.opsForList().leftPop(queueName); + } + + /** + * 获取队列长度 + * @param queueName 队列名称 + * @return 队列长度 + */ + public Long getQueueSize(String queueName) { + return redisTemplate.opsForList().size(queueName); + } + + /** + * 发送延迟消息(优化版) + * @param queueName 队列名称 + * @param message 消息内容 + * @param delay 延迟时间(秒) + */ + public void sendDelayMessage(String queueName, Object message, long delay) { + String delayQueueKey = getDelayQueueKey(queueName); + String messageId = generateMessageId(); + + redisTemplate.execute(new RedisCallback() { + @Override + public Object doInRedis(RedisConnection connection) { + connection.openPipeline(); + // 直接存储消息内容到ZSet的value中 + connection.zAdd( + delayQueueKey.getBytes(), + System.currentTimeMillis() + delay * 1000, + serializeMessage(messageId, message) + ); + connection.closePipeline(); + return null; + } + }); + } + + /** + * 启动延迟消息处理任务 + */ + @Scheduled(fixedRate = DELAY_QUEUE_POLL_INTERVAL) + public void processDelayMessages() { + Set delayQueues = redisTemplate.keys("delay:*"); + if (delayQueues != null) { + for (String delayQueue : delayQueues) { + delayMessageExecutor.execute(() -> { + String queueName = delayQueue.substring(6); // 去掉"delay:"前缀 + processSingleDelayQueue(queueName); + }); + } + } + } + + /** + * 处理单个延迟队列 + */ + private void processSingleDelayQueue(String queueName) { + String delayQueueKey = getDelayQueueKey(queueName); + long now = System.currentTimeMillis(); + + // 获取所有已到期的消息 + Set> messages = redisTemplate.opsForZSet() + .rangeByScoreWithScores(delayQueueKey, 0, now); + + if (messages != null && !messages.isEmpty()) { + for (ZSetOperations.TypedTuple tuple : messages) { + Object messageWithId = tuple.getValue(); + if (messageWithId != null) { + // 反序列化消息 + Object message = deserializeMessage(messageWithId.toString()); + // 发送到实际队列 + sendMessage(queueName, message); + // 从延迟队列中移除 + redisTemplate.opsForZSet().remove(delayQueueKey, messageWithId); + } + } + } + } + + // 生成消息ID + private String generateMessageId() { + return java.util.UUID.randomUUID().toString(); + } + + // 获取延迟队列key + private String getDelayQueueKey(String queueName) { + return "delay:" + queueName; + } + + // 序列化消息(可根据实际需求实现) + private byte[] serializeMessage(String messageId, Object message) { + // 这里简单实现,实际项目中可以使用JSON序列化等 + return (messageId + ":" + message.toString()).getBytes(); + } + + // 反序列化消息(可根据实际需求实现) + private Object deserializeMessage(String serialized) { + // 简单实现,根据实际序列化方式调整 + int separatorIndex = serialized.indexOf(':'); + if (separatorIndex > 0) { + return serialized.substring(separatorIndex + 1); + } + return serialized; + } +} \ No newline at end of file diff --git a/src/main/java/com/example/demo/controller/GoldDetailController.java b/src/main/java/com/example/demo/controller/GoldDetailController.java index f01bc53..6f7efce 100644 --- a/src/main/java/com/example/demo/controller/GoldDetailController.java +++ b/src/main/java/com/example/demo/controller/GoldDetailController.java @@ -1,5 +1,6 @@ package com.example.demo.controller; +import com.example.demo.domain.entity.User; import com.example.demo.domain.vo.GoldDetail; import com.example.demo.domain.vo.Page; import com.example.demo.domain.vo.Result; @@ -42,4 +43,18 @@ public class GoldDetailController { public Result getTotal(@RequestBody GoldDetail goldDetail) { return Result.success(goldDetailService.getTotal(goldDetail)); } + @PostMapping("/goldTotal") + public Result GoldTotal(@RequestBody User user) { + return Result.success(goldDetailService.GoldTotal(user)); + } + @PostMapping("/getGold") + public Result getGold(@RequestBody Page page) { + if(ObjectUtils.isEmpty(page.getPageNum())){ + return Result.error("页码数为空!"); + } + if(ObjectUtils.isEmpty(page.getPageSize())){ + return Result.error("页大小为空!"); + } + return Result.success(goldDetailService.getGold(page.getPageNum(), page.getPageSize(), page.getUser())); + } } diff --git a/src/main/java/com/example/demo/domain/entity/Export.java b/src/main/java/com/example/demo/domain/entity/Export.java new file mode 100644 index 0000000..ebc1832 --- /dev/null +++ b/src/main/java/com/example/demo/domain/entity/Export.java @@ -0,0 +1,33 @@ +package com.example.demo.domain.entity; + +import com.fasterxml.jackson.annotation.JsonFormat; +import lombok.Data; +import lombok.NoArgsConstructor; +import org.springframework.format.annotation.DateTimeFormat; + +import java.util.Date; + +/** + * @program: GOLD + * @ClassName Export + * @description: + * @author: huangqizhen + * @create: 2025−06-24 16:17 + * @Version 1.0 + **/ +@Data +@NoArgsConstructor +public class Export { + private String token; + private Integer account; + private String url; + private String fileName; + private Byte type; + private Byte state; + private Integer dataNum; + private String reason; + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "Asia/Shanghai") + private Date createTime; + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "Asia/Shanghai") + private Date updateTime; +} diff --git a/src/main/java/com/example/demo/domain/entity/User.java b/src/main/java/com/example/demo/domain/entity/User.java index 625421e..3014336 100644 --- a/src/main/java/com/example/demo/domain/entity/User.java +++ b/src/main/java/com/example/demo/domain/entity/User.java @@ -27,6 +27,7 @@ public class User implements Serializable { private Integer currentFreeDecember; // 当前十二月免费金币 private Integer currentTaskGold; // 当前任务金币 private Integer rechargeNum; // 充值次数 + private Integer sumConsume; // 消费总额 private Integer consumeNum; // 消费次数 @JsonFormat(pattern = "yyyy-MM-dd", timezone = "Asia/Shanghai") @@ -37,4 +38,6 @@ public class User implements Serializable { @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "Asia/Shanghai") private Date updateTime; // 更新时间 + private String sortField; //排序字段 + private String sortOrder; //排序顺序 } \ No newline at end of file diff --git a/src/main/java/com/example/demo/domain/vo/GoldDetail.java b/src/main/java/com/example/demo/domain/vo/GoldDetail.java index d1ee6ca..bf676f7 100644 --- a/src/main/java/com/example/demo/domain/vo/GoldDetail.java +++ b/src/main/java/com/example/demo/domain/vo/GoldDetail.java @@ -33,10 +33,8 @@ public class GoldDetail { private Integer taskGold; // 任务金币 private String adminName; //提交人 @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "Asia/Shanghai") - @DateTimeFormat(pattern = "yyyy-MM-dd") private Date startTime; // 开始时间 @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "Asia/Shanghai") - @DateTimeFormat(pattern = "yyyy-MM-dd") private Date endTime; // 结束时间 private String sortField; //排序字段 private String sortOrder; //排序顺序 diff --git a/src/main/java/com/example/demo/domain/vo/Page.java b/src/main/java/com/example/demo/domain/vo/Page.java index 36d7d9d..8ba9fe7 100644 --- a/src/main/java/com/example/demo/domain/vo/Page.java +++ b/src/main/java/com/example/demo/domain/vo/Page.java @@ -1,5 +1,6 @@ package com.example.demo.domain.vo; +import com.example.demo.domain.entity.User; import lombok.Data; import lombok.NoArgsConstructor; @@ -19,5 +20,6 @@ public class Page { private Integer pageNum; private Integer pageSize; private GoldDetail goldDetail; + private User user; } diff --git a/src/main/java/com/example/demo/mapper/GoldDetailMapper.java b/src/main/java/com/example/demo/mapper/GoldDetailMapper.java index faebecb..a6343f2 100644 --- a/src/main/java/com/example/demo/mapper/GoldDetailMapper.java +++ b/src/main/java/com/example/demo/mapper/GoldDetailMapper.java @@ -1,5 +1,6 @@ package com.example.demo.mapper; +import com.example.demo.domain.entity.User; import com.example.demo.domain.vo.GoldDetail; import com.example.demo.domain.vo.Total; import org.apache.ibatis.annotations.Mapper; @@ -18,4 +19,7 @@ import java.util.List; public interface GoldDetailMapper { List getGoldDetail(GoldDetail goldDetail); Total getTotal(GoldDetail goldDetail); + + List getGold(User user); + Total GoldTotal(User user); } diff --git a/src/main/java/com/example/demo/service/GoldDetailService.java b/src/main/java/com/example/demo/service/GoldDetailService.java index 7095f16..2592acc 100644 --- a/src/main/java/com/example/demo/service/GoldDetailService.java +++ b/src/main/java/com/example/demo/service/GoldDetailService.java @@ -1,5 +1,6 @@ package com.example.demo.service; +import com.example.demo.domain.entity.User; import com.example.demo.domain.vo.GoldDetail; import com.example.demo.domain.vo.Total; import com.github.pagehelper.PageInfo; @@ -15,4 +16,7 @@ import com.github.pagehelper.PageInfo; public interface GoldDetailService { PageInfo getGoldDetail(Integer pageNum, Integer pageSize, GoldDetail goldDetail); Total getTotal(GoldDetail goldDetail); + + PageInfo getGold(Integer pageNum, Integer pageSize, User user); + Total GoldTotal(User user); } diff --git a/src/main/java/com/example/demo/serviceImpl/GoldDetailServiceImpl.java b/src/main/java/com/example/demo/serviceImpl/GoldDetailServiceImpl.java index 96cbd1c..d00420f 100644 --- a/src/main/java/com/example/demo/serviceImpl/GoldDetailServiceImpl.java +++ b/src/main/java/com/example/demo/serviceImpl/GoldDetailServiceImpl.java @@ -1,5 +1,6 @@ package com.example.demo.serviceImpl; +import com.example.demo.domain.entity.User; import com.example.demo.domain.vo.GoldDetail; import com.example.demo.domain.vo.Total; import com.example.demo.mapper.GoldDetailMapper; @@ -36,4 +37,16 @@ public class GoldDetailServiceImpl implements GoldDetailService { return goldDetailMapper.getTotal(goldDetail); } + + @Override + public PageInfo getGold(Integer pageNum, Integer pageSize, User user) { + PageHelper.startPage(pageNum, pageSize); + List list= goldDetailMapper.getGold(user); + return new PageInfo<>(list); + } + + @Override + public Total GoldTotal(User user) { + return goldDetailMapper.GoldTotal(user); + } } diff --git a/src/main/resources/mapper/GoldDetailMapper.xml b/src/main/resources/mapper/GoldDetailMapper.xml index c0c6acf..02cfb51 100644 --- a/src/main/resources/mapper/GoldDetailMapper.xml +++ b/src/main/resources/mapper/GoldDetailMapper.xml @@ -54,5 +54,41 @@ and ugr.`audit_time` BETWEEN #{startTime} AND #{endTime} + + + +