You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

149 lines
5.3 KiB

3 weeks ago
3 weeks ago
3 weeks ago
3 weeks ago
2 months ago
1 month ago
2 months ago
1 month ago
2 months ago
3 weeks ago
2 months ago
2 months ago
2 months ago
2 months ago
3 weeks ago
2 months ago
1 month ago
2 months ago
1 month ago
2 months ago
3 weeks ago
2 months ago
2 months ago
2 months ago
3 weeks ago
2 months ago
2 months ago
2 months ago
2 months ago
2 months ago
2 months ago
4 weeks ago
2 months ago
2 months ago
  1. package com.example.demo.controller.coin;
  2. import com.example.demo.Util.JWTUtil;
  3. import com.example.demo.domain.entity.Admin;
  4. import com.example.demo.domain.vo.coin.ConsumeUser;
  5. import com.example.demo.domain.vo.coin.Gold;
  6. import com.example.demo.domain.vo.coin.Page;
  7. import com.example.demo.domain.vo.coin.Result;
  8. import com.example.demo.service.coin.ConsumeService;
  9. import jakarta.servlet.http.HttpServletRequest;
  10. import lombok.RequiredArgsConstructor;
  11. import lombok.extern.slf4j.Slf4j;
  12. import org.springframework.beans.factory.annotation.Autowired;
  13. import org.springframework.util.ObjectUtils;
  14. import org.springframework.web.bind.annotation.*;
  15. import org.springframework.web.context.request.RequestContextHolder;
  16. import org.springframework.web.context.request.ServletRequestAttributes;
  17. import java.util.Arrays;
  18. import java.util.List;
  19. /**
  20. * @program: gold-java
  21. * @ClassName ConsumeController
  22. * @description:消费模块
  23. * @author: Double
  24. * @create: 202506-23 13:06
  25. * @Version 1.0
  26. **/
  27. @RestController
  28. @RequestMapping("/consume")
  29. @RequiredArgsConstructor
  30. @Slf4j
  31. @CrossOrigin
  32. public class ConsumeController {
  33. @Autowired
  34. private ConsumeService consumeService;
  35. //消耗明细
  36. @PostMapping("/selectAll")
  37. public Result selectAll(@RequestBody Page page) {
  38. try {
  39. //页码校验
  40. if (ObjectUtils.isEmpty(page.getPageNum())) {
  41. return Result.error("页码数为空!");
  42. }
  43. //页面大小校验
  44. if (ObjectUtils.isEmpty(page.getPageSize())) {
  45. return Result.error("页大小为空!");
  46. } else {
  47. //解token权限
  48. HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest();
  49. String token = request.getHeader("token");
  50. Admin admin = (Admin) JWTUtil.getUserDetailsList(String.valueOf(token), Admin.class);
  51. if (admin != null) {
  52. List<String> list = Arrays.asList(admin.getMarkets().split(","));
  53. page.getConsumeUser().setMarkets(list);
  54. }
  55. else{
  56. return Result.error("角色为空");
  57. }
  58. return Result.success(consumeService.selectAll(page.getPageNum(), page.getPageSize(),page.getConsumeUser()));
  59. }
  60. } catch (Exception e) {
  61. e.printStackTrace();
  62. return Result.error("请检查筛选数据的格式");
  63. }
  64. }
  65. //消耗明细筛选
  66. @PostMapping("/selectBy")
  67. public Result selectBy(@RequestBody Page page) {
  68. try {
  69. //页码校验
  70. if (ObjectUtils.isEmpty(page.getPageNum())) {
  71. return Result.error("页码数为空!");
  72. }
  73. //页面大小校验
  74. if (ObjectUtils.isEmpty(page.getPageSize())) {
  75. return Result.error("页大小为空!");
  76. } else {
  77. //解token权限
  78. HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest();
  79. String token = request.getHeader("token");
  80. Admin admin = (Admin) JWTUtil.getUserDetailsList(String.valueOf(token), Admin.class);
  81. if (admin != null) {
  82. List<String> list = Arrays.asList(admin.getMarkets().split(","));
  83. page.getConsumeUser().setMarkets(list);
  84. }
  85. else{
  86. return Result.error("角色为空");
  87. }
  88. return Result.success(consumeService.selectBy(page.getPageNum(), page.getPageSize(), page.getConsumeUser()));
  89. }
  90. } catch (Exception e) {
  91. e.printStackTrace();
  92. return Result.error("请检查筛选数据的格式");
  93. }
  94. }
  95. //消耗金币统计
  96. @PostMapping("/statsGold")
  97. public Result statsGold(@RequestBody ConsumeUser consumeUser) {
  98. try {
  99. //解token权限
  100. HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest();
  101. String token = request.getHeader("token");
  102. Admin admin = (Admin) JWTUtil.getUserDetailsList(String.valueOf(token), Admin.class);
  103. if (admin != null) {
  104. List<String> list = Arrays.asList(admin.getMarkets().split(","));
  105. consumeUser.setMarkets(list);
  106. }
  107. else{
  108. return Result.error("角色为空");
  109. }
  110. Gold gold = consumeService.statsGold(consumeUser);
  111. return Result.success(gold);
  112. } catch (Exception e) {
  113. return Result.error("请检查数据的格式");
  114. }
  115. }
  116. //消耗金币增加
  117. @PostMapping("/add")
  118. public Result add(@RequestBody ConsumeUser consumeUser) {
  119. try {
  120. return consumeService.add(consumeUser);
  121. // if(consumeUser.getJwcode().equals(94226013))
  122. // {
  123. // return consumeService.add(consumeUser);
  124. // }else {
  125. // return Result.error("不是测试的精网号,无法添加消费");
  126. // }
  127. //
  128. } catch (Exception e) {
  129. e.printStackTrace();
  130. return Result.error("请检查数据的格式");
  131. }
  132. }
  133. }