diff --git a/src/main/java/com/example/demo/controller/ConsumeController.java b/src/main/java/com/example/demo/controller/ConsumeController.java index 47b6baa..cb99af9 100644 --- a/src/main/java/com/example/demo/controller/ConsumeController.java +++ b/src/main/java/com/example/demo/controller/ConsumeController.java @@ -41,7 +41,7 @@ public class ConsumeController { if (ObjectUtils.isEmpty(page.getPageSize())) { return Result.error("页大小为空!"); } else { - return Result.success(consumeService.selectAll(page.getPageNum(), page.getPageSize())); + return Result.success(consumeService.selectAll(page.getPageNum(), page.getPageSize(),page.getConsumeUser())); } } catch (Exception e) { return Result.error("接口调用失败"); @@ -71,9 +71,9 @@ public class ConsumeController { //消耗金币统计 @PostMapping("/statsGold") - public Result statsGold() { + public Result statsGold(@RequestBody ConsumeUser consumeUser) { try { - Gold gold = consumeService.statsGold(); + Gold gold = consumeService.statsGold(consumeUser); return Result.success(gold); } catch (Exception e) { return Result.error("接口调用失败"); diff --git a/src/main/java/com/example/demo/controller/RefundController.java b/src/main/java/com/example/demo/controller/RefundController.java index 51f92f7..30c180a 100644 --- a/src/main/java/com/example/demo/controller/RefundController.java +++ b/src/main/java/com/example/demo/controller/RefundController.java @@ -2,6 +2,7 @@ package com.example.demo.controller; import com.example.demo.domain.vo.Gold; import com.example.demo.domain.vo.Page; +import com.example.demo.domain.vo.RefundUser; import com.example.demo.domain.vo.Result; import com.example.demo.service.ConsumeService; import com.example.demo.service.RefundService; @@ -40,7 +41,7 @@ public class RefundController { if (ObjectUtils.isEmpty(page.getPageSize())) { return Result.error("页大小为空!"); } else { - return Result.success(refundService.selectAll(page.getPageNum(), page.getPageSize())); + return Result.success(refundService.selectAll(page.getPageNum(), page.getPageSize(), page.getRefundUser())); } } catch (Exception e) { return Result.error("接口调用失败"); @@ -66,9 +67,9 @@ public class RefundController { } @PostMapping("/statsGold") - public Result statsGold() { + public Result statsGold(@RequestBody RefundUser refundUser) { try { - Gold gold = refundService.statsGold(); + Gold gold = refundService.statsGold(refundUser); return Result.success(gold); } catch (Exception e) { return Result.error("接口调用失败"); diff --git a/src/main/java/com/example/demo/domain/vo/ConsumeUser.java b/src/main/java/com/example/demo/domain/vo/ConsumeUser.java index f1617c7..40768ea 100644 --- a/src/main/java/com/example/demo/domain/vo/ConsumeUser.java +++ b/src/main/java/com/example/demo/domain/vo/ConsumeUser.java @@ -43,4 +43,7 @@ public class ConsumeUser implements Serializable { private Date startTime; // 开始时间 @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "Asia/Shanghai") private Date endTime; // 结束时间 + + private String sortField; //排序字段 + private String sortOrder; //排序顺序 } diff --git a/src/main/java/com/example/demo/domain/vo/RefundUser.java b/src/main/java/com/example/demo/domain/vo/RefundUser.java index 0d4d3d4..6ca6b78 100644 --- a/src/main/java/com/example/demo/domain/vo/RefundUser.java +++ b/src/main/java/com/example/demo/domain/vo/RefundUser.java @@ -43,4 +43,7 @@ public class RefundUser { private Date startTime; // 开始时间 @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "Asia/Shanghai") private Date endTime; // 结束时间 + + private String sortField; //排序字段 + private String sortOrder; //排序顺序 } diff --git a/src/main/java/com/example/demo/mapper/ConsumeMapper.java b/src/main/java/com/example/demo/mapper/ConsumeMapper.java index 31d0355..489028a 100644 --- a/src/main/java/com/example/demo/mapper/ConsumeMapper.java +++ b/src/main/java/com/example/demo/mapper/ConsumeMapper.java @@ -18,7 +18,7 @@ import java.util.List; @Mapper public interface ConsumeMapper { - List selectAll(); + List selectAll(ConsumeUser consumeUser); List selectBy(ConsumeUser consumeUser); diff --git a/src/main/java/com/example/demo/mapper/RefundMapper.java b/src/main/java/com/example/demo/mapper/RefundMapper.java index 3067263..fd6c184 100644 --- a/src/main/java/com/example/demo/mapper/RefundMapper.java +++ b/src/main/java/com/example/demo/mapper/RefundMapper.java @@ -19,7 +19,7 @@ import java.util.List; @Mapper public interface RefundMapper { - List selectAll(); + List selectAll(RefundUser refundUser); List selectBy(RefundUser refundUser); diff --git a/src/main/java/com/example/demo/service/ConsumeService.java b/src/main/java/com/example/demo/service/ConsumeService.java index 519492b..9ab9a3d 100644 --- a/src/main/java/com/example/demo/service/ConsumeService.java +++ b/src/main/java/com/example/demo/service/ConsumeService.java @@ -18,9 +18,9 @@ import com.github.pagehelper.PageInfo; public interface ConsumeService { - PageInfo selectAll(Integer pageNum, Integer pageSize); + PageInfo selectAll(Integer pageNum, Integer pageSize, ConsumeUser consumeUser); - Gold statsGold(); + Gold statsGold(ConsumeUser consumeUser); PageInfo selectBy(Integer pageNum, Integer pageSize, ConsumeUser consumeUser); diff --git a/src/main/java/com/example/demo/service/RefundService.java b/src/main/java/com/example/demo/service/RefundService.java index f09b86d..40e0b25 100644 --- a/src/main/java/com/example/demo/service/RefundService.java +++ b/src/main/java/com/example/demo/service/RefundService.java @@ -18,9 +18,9 @@ import com.github.pagehelper.PageInfo; public interface RefundService { - PageInfo selectAll(Integer pageNum, Integer pageSize); + PageInfo selectAll(Integer pageNum, Integer pageSize, RefundUser refundUser); - Gold statsGold(); + Gold statsGold(RefundUser refundUser); PageInfo selectBy(Integer pageNum, Integer pageSize, RefundUser refundUser); diff --git a/src/main/java/com/example/demo/serviceImpl/ConsumeServiceImpl.java b/src/main/java/com/example/demo/serviceImpl/ConsumeServiceImpl.java index b8699f7..7ca6043 100644 --- a/src/main/java/com/example/demo/serviceImpl/ConsumeServiceImpl.java +++ b/src/main/java/com/example/demo/serviceImpl/ConsumeServiceImpl.java @@ -42,17 +42,17 @@ public class ConsumeServiceImpl implements ConsumeService { //消耗明细 @Override - public PageInfo selectAll(Integer pageNum, Integer pageSize) { + public PageInfo selectAll(Integer pageNum, Integer pageSize, ConsumeUser consumeUser) { PageHelper.startPage(pageNum, pageSize); - List consumeUsers = consumeMapper.selectAll(); + List consumeUsers = consumeMapper.selectAll(consumeUser); return new PageInfo<>(consumeUsers); } //消耗金币统计 @Override - public Gold statsGold() { + public Gold statsGold(ConsumeUser consumeUser) { Gold gold = new Gold(); - List consumeUsers = consumeMapper.selectAll(); + List consumeUsers = consumeMapper.selectBy(consumeUser); // 初始化累加器 int permanentGoldSum = 0; @@ -60,18 +60,18 @@ public class ConsumeServiceImpl implements ConsumeService { int taskGoldSum = 0; // 遍历消费记录并累加金币 - for (ConsumeUser consumeUser : consumeUsers) { + for (ConsumeUser user : consumeUsers) { // 累加永久金币 - if (consumeUser.getPermanentGold() != null) { - permanentGoldSum += consumeUser.getPermanentGold(); + if (user.getPermanentGold() != null) { + permanentGoldSum += user.getPermanentGold(); } // 累加免费金币 - if (consumeUser.getFreeGold() != null) { - freeGoldSum += consumeUser.getFreeGold(); + if (user.getFreeGold() != null) { + freeGoldSum += user.getFreeGold(); } // 累加任务金币 - if (consumeUser.getTaskGold() != null) { - taskGoldSum += consumeUser.getTaskGold(); + if (user.getTaskGold() != null) { + taskGoldSum += user.getTaskGold(); } } @@ -105,12 +105,9 @@ public class ConsumeServiceImpl implements ConsumeService { int count = atomicInteger.getAndUpdate(c -> (c >= 999) ? 0 : c + 1); String counterPart = String.format("%03d", count); - // 生成随机数部分(四位数) - Random RANDOM = new Random(); - int randomNum = RANDOM.nextInt(9000) + 1000; //订单号生成 - userGoldRecord.setOrderCode(timestampPart + counterPart + randomNum); + userGoldRecord.setOrderCode("XF" + timestampPart + counterPart); userGoldRecord.setJwcode(consumeUser.getJwcode()); userGoldRecord.setGoodsName(consumeUser.getGoodsName()); userGoldRecord.setSumGold(consumeUser.getSumGold()); diff --git a/src/main/java/com/example/demo/serviceImpl/RefundServiceImpl.java b/src/main/java/com/example/demo/serviceImpl/RefundServiceImpl.java index e852d3f..200f391 100644 --- a/src/main/java/com/example/demo/serviceImpl/RefundServiceImpl.java +++ b/src/main/java/com/example/demo/serviceImpl/RefundServiceImpl.java @@ -34,16 +34,16 @@ public class RefundServiceImpl implements RefundService { private UserMapper userMapper; @Override - public PageInfo selectAll(Integer pageNum, Integer pageSize) { + public PageInfo selectAll(Integer pageNum, Integer pageSize, RefundUser refundUser) { PageHelper.startPage(pageNum, pageSize); - List refundUsers = refundMapper.selectAll(); + List refundUsers = refundMapper.selectAll(refundUser); return new PageInfo<>(refundUsers); } @Override - public Gold statsGold() { + public Gold statsGold(RefundUser refundUser) { Gold gold = new Gold(); - List refundUsers = refundMapper.selectAll(); + List refundUsers = refundMapper.selectBy(refundUser); // 初始化累加器 int permanentGoldSum = 0; @@ -51,18 +51,18 @@ public class RefundServiceImpl implements RefundService { int taskGoldSum = 0; // 遍历推开记录并累加金币 - for (RefundUser refundUser : refundUsers) { + for (RefundUser user : refundUsers) { // 累加永久金币 - if (refundUser.getPermanentGold() != null) { - permanentGoldSum += refundUser.getPermanentGold(); + if (user.getPermanentGold() != null) { + permanentGoldSum += user.getPermanentGold(); } // 累加免费金币 - if (refundUser.getFreeGold() != null) { - freeGoldSum += refundUser.getFreeGold(); + if (user.getFreeGold() != null) { + freeGoldSum += user.getFreeGold(); } // 累加任务金币 - if (refundUser.getTaskGold() != null) { - taskGoldSum += refundUser.getTaskGold(); + if (user.getTaskGold() != null) { + taskGoldSum += user.getTaskGold(); } } diff --git a/src/main/resources/mapper/ConsumeMapper.xml b/src/main/resources/mapper/ConsumeMapper.xml index 2d42f22..b365123 100644 --- a/src/main/resources/mapper/ConsumeMapper.xml +++ b/src/main/resources/mapper/ConsumeMapper.xml @@ -4,24 +4,58 @@ @@ -61,6 +95,40 @@ AND ugr.create_time BETWEEN #{startTime} AND #{endTime} + + + + + + + ugr.sum_gold + ugr.permanent_gold + (COALESCE(ugr.free_june, 0) + COALESCE(ugr.free_december, 0)) + + ugr.create_time + + ugr.create_time + + + + + + ASC + DESC + DESC + + + + DESC + + + + + + ugr.create_time DESC + + + diff --git a/src/main/resources/mapper/RefundMapper.xml b/src/main/resources/mapper/RefundMapper.xml index d00d506..48f1fd9 100644 --- a/src/main/resources/mapper/RefundMapper.xml +++ b/src/main/resources/mapper/RefundMapper.xml @@ -23,6 +23,40 @@ JOIN admin a ON ugr.admin_id = a.id WHERE ugr.type = 2 + + + + + + + ugr.sum_gold + ugr.permanent_gold + (COALESCE(ugr.free_june, 0) + COALESCE(ugr.free_december, 0)) + + ugr.create_time + + ugr.create_time + + + + + + ASC + DESC + DESC + + + + DESC + + + + + + ugr.create_time DESC + + + @@ -63,6 +97,40 @@ AND ugr.create_time BETWEEN #{startTime} AND #{endTime} + + + + + + + ugr.sum_gold + ugr.permanent_gold + (COALESCE(ugr.free_june, 0) + COALESCE(ugr.free_december, 0)) + + ugr.create_time + + ugr.create_time + + + + + + ASC + DESC + DESC + + + + DESC + + + + + + ugr.create_time DESC + + +