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.

191 lines
8.9 KiB

  1. package com.example.demo.controller.coin;
  2. import com.example.demo.config.interfac.Log;
  3. import com.example.demo.domain.vo.coin.Page;
  4. import com.example.demo.domain.vo.coin.RechargeActivity;
  5. import com.example.demo.domain.vo.coin.Result;
  6. import com.example.demo.service.coin.RechargeActivityCenterService;
  7. import lombok.RequiredArgsConstructor;
  8. import lombok.extern.slf4j.Slf4j;
  9. import org.springframework.beans.factory.annotation.Autowired;
  10. import org.springframework.util.ObjectUtils;
  11. import org.springframework.web.bind.annotation.*;
  12. import java.util.List;
  13. /**
  14. * @program: gold-java
  15. * @ClassName RechargeActivityCenterController
  16. * @description: 充值活动中心管理
  17. * @author: Double
  18. * @create: 202511-04 14:23
  19. * @Version 1.0
  20. **/
  21. @RestController
  22. @RequestMapping("/admin/coin/rechargeActivityCenter")
  23. @RequiredArgsConstructor
  24. @Slf4j
  25. @CrossOrigin
  26. public class RechargeActivityCenterController {
  27. @Autowired
  28. private RechargeActivityCenterService rechargeActivityCenterService;
  29. /**
  30. * 导出用户权限数据
  31. *
  32. * @param page 导出请求参数
  33. * @return 导出结果成功返回活动信息失败返回错误信息
  34. * @throws NullPointerException 当参数为空时抛出如activity为null关键属性为null
  35. * @throws IllegalArgumentException 当参数无效时抛出如活动ID非法参数格式错误
  36. */
  37. @Log("条件查询充值活动")
  38. @PostMapping("/queryActivity")
  39. public Result queryActivity(@RequestBody Page page) {
  40. try {
  41. //校验参数
  42. if (ObjectUtils.isEmpty(page.getPageNum())) {
  43. return Result.error("页码数为空!");
  44. }
  45. if (ObjectUtils.isEmpty(page.getPageSize())) {
  46. return Result.error("页大小为空!");
  47. }
  48. if (page.getRechargeActivity() == null) {
  49. return Result.error("查询失败:活动信息不能为空");
  50. }
  51. return Result.success(rechargeActivityCenterService.queryActivity(page.getPageNum(), page.getPageSize(),page.getRechargeActivity()));
  52. } catch (NullPointerException e) {
  53. log.error("查询活动失败:空指针异常", e);
  54. return Result.error("查询失败:数据为空");
  55. } catch (IllegalArgumentException e) {
  56. log.error("查询活动失败:参数异常", e);
  57. return Result.error("查询失败:" + e.getMessage());
  58. }
  59. }
  60. /**
  61. * 新增充值活动
  62. *
  63. * @param activity 充值活动请求参数包含活动名称活动规则等信息
  64. * @return 新增结果成功返回提示信息失败返回错误原因
  65. * @throws NullPointerException 当请求参数为空时抛出如activity为null活动名称等关键属性为null
  66. * @throws IllegalArgumentException 当请求参数无效时抛出如活动名称为空字符串参数格式不符合要求等
  67. */
  68. @Log("新增充值活动")
  69. @PostMapping("/addActivity")
  70. public Result addActivity(@RequestBody RechargeActivity activity) {
  71. try {
  72. if (activity == null) {
  73. return Result.error("添加失败:活动信息不能为空");
  74. }
  75. if (activity.getActivityName() == null || activity.getActivityName().trim().isEmpty()) {
  76. return Result.error("添加失败:活动名称不能为空");
  77. }
  78. if (activity.getBusinessBelong() == null || activity.getBusinessBelong().trim().isEmpty()) {
  79. return Result.error("添加失败:业绩归属地不能为空");
  80. }else if (activity.getBusinessBelong().equals("活动归属地")) {
  81. if (activity.getArea() == null || activity.getArea().trim().isEmpty()) {
  82. return Result.error("添加失败:地区不能为空");
  83. }
  84. }
  85. if (activity.getStartTime() == null) {
  86. return Result.error("添加失败:活动开始时间不能为空");
  87. }
  88. if (activity.getEndTime() == null) {
  89. return Result.error("添加失败:活动结束时间不能为空");
  90. }
  91. if (activity.getEndTime().before(activity.getStartTime())) {
  92. return Result.error("添加失败:活动结束时间必须晚于活动开始时间");
  93. }
  94. if (activity.getCreator() == null || activity.getCreator().trim().isEmpty()) {
  95. return Result.error("添加失败:添加人不能为空");
  96. }
  97. rechargeActivityCenterService.addActivity(activity);
  98. return Result.success("添加活动成功");
  99. } catch (NullPointerException e) {
  100. log.error("添加活动失败:空指针异常", e);
  101. return Result.error("添加失败:数据为空");
  102. } catch (IllegalArgumentException e) {
  103. log.error("添加活动失败:参数异常", e);
  104. return Result.error("添加失败:" + e.getMessage());
  105. }
  106. }
  107. /**
  108. * 更新充值活动
  109. *
  110. * @param activity 充值活动更新参数包含活动ID待更新的活动名称等信息
  111. * @return 更新结果成功返回提示信息失败返回错误原因
  112. * @throws NullPointerException 当请求参数为空时抛出如activity为null活动ID活动名称等关键属性为null
  113. * @throws IllegalArgumentException 当请求参数无效时抛出如活动名称为空字符串活动ID格式错误等
  114. */
  115. @Log("更新充值活动")
  116. @PostMapping("/updateActivity")
  117. public Result updateActivity(@RequestBody RechargeActivity activity) {
  118. try {
  119. if (activity == null) {
  120. return Result.error("添加失败:活动信息不能为空");
  121. }
  122. if (activity.getId() == null) {
  123. return Result.error("添加失败:活动ID不能为空");
  124. }
  125. if (activity.getActivityName() == null || activity.getActivityName().trim().isEmpty()) {
  126. return Result.error("添加失败:活动名称不能为空");
  127. }
  128. if (activity.getBusinessBelong() == null || activity.getBusinessBelong().trim().isEmpty()) {
  129. return Result.error("添加失败:业绩归属地不能为空");
  130. }else if (activity.getBusinessBelong().equals("活动归属地")) {
  131. if (activity.getArea() == null || activity.getArea().trim().isEmpty()) {
  132. return Result.error("添加失败:地区不能为空");
  133. }
  134. }
  135. if (activity.getStartTime() == null) {
  136. return Result.error("添加失败:活动开始时间不能为空");
  137. }
  138. if (activity.getEndTime() == null) {
  139. return Result.error("添加失败:活动结束时间不能为空");
  140. }
  141. if (activity.getEndTime().before(activity.getStartTime())) {
  142. return Result.error("添加失败:活动结束时间必须晚于活动开始时间");
  143. }
  144. if (activity.getCreator() == null || activity.getCreator().trim().isEmpty()) {
  145. return Result.error("添加失败:添加人不能为空");
  146. }
  147. rechargeActivityCenterService.updateActivity(activity);
  148. return Result.success("更新活动成功");
  149. } catch (NullPointerException e) {
  150. log.error("更新活动失败:空指针异常", e);
  151. return Result.error("更新失败:数据为空");
  152. } catch (IllegalArgumentException e) {
  153. log.error("更新活动失败:参数异常", e);
  154. return Result.error("更新失败:" + e.getMessage());
  155. }
  156. }
  157. /**
  158. * 删除充值活动
  159. *
  160. * @param activity 待删除的充值活动ID
  161. * @return 删除结果成功返回提示信息失败返回错误原因
  162. * @throws NullPointerException 当活动ID为空时抛出如id为null
  163. * @throws IllegalArgumentException 当活动ID无效时抛出如id为负数非整数格式等不符合业务要求的情况
  164. */
  165. @Log("删除充值活动")
  166. @PostMapping("/deleteActivity")
  167. public Result deleteActivity(@RequestBody RechargeActivity activity) {
  168. try {
  169. if (activity.getId() == null) {
  170. return Result.error("删除失败:活动ID不能为空");
  171. }
  172. rechargeActivityCenterService.deleteActivity(activity);
  173. return Result.success("删除活动成功");
  174. } catch (NullPointerException e) {
  175. log.error("删除活动失败:空指针异常", e);
  176. return Result.error("删除失败:数据为空");
  177. } catch (IllegalArgumentException e) {
  178. log.error("删除活动失败:参数异常", e);
  179. return Result.error("删除失败:" + e.getMessage());
  180. }
  181. }
  182. }