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.
192 lines
8.9 KiB
192 lines
8.9 KiB
package com.example.demo.controller.coin;
|
|
|
|
import com.example.demo.config.interfac.Log;
|
|
import com.example.demo.domain.vo.coin.Page;
|
|
import com.example.demo.domain.vo.coin.RechargeActivity;
|
|
import com.example.demo.domain.vo.coin.Result;
|
|
import com.example.demo.service.coin.RechargeActivityCenterService;
|
|
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;
|
|
|
|
/**
|
|
* @program: gold-java
|
|
* @ClassName RechargeActivityCenterController
|
|
* @description: 充值活动中心管理
|
|
* @author: Double
|
|
* @create: 2025−11-04 14:23
|
|
* @Version 1.0
|
|
**/
|
|
|
|
@RestController
|
|
@RequestMapping("/admin/coin/rechargeActivityCenter")
|
|
@RequiredArgsConstructor
|
|
@Slf4j
|
|
@CrossOrigin
|
|
public class RechargeActivityCenterController {
|
|
|
|
@Autowired
|
|
private RechargeActivityCenterService rechargeActivityCenterService;
|
|
|
|
|
|
/**
|
|
* 导出用户权限数据
|
|
*
|
|
* @param page 导出请求参数)
|
|
* @return 导出结果(成功返回活动信息,失败返回错误信息)
|
|
* @throws NullPointerException 当参数为空时抛出(如activity为null、关键属性为null)
|
|
* @throws IllegalArgumentException 当参数无效时抛出(如活动ID非法、参数格式错误)
|
|
*/
|
|
@Log("条件查询充值活动")
|
|
@PostMapping("/queryActivity")
|
|
public Result queryActivity(@RequestBody Page page) {
|
|
try {
|
|
//校验参数
|
|
if (ObjectUtils.isEmpty(page.getPageNum())) {
|
|
return Result.error("页码数为空!");
|
|
}
|
|
if (ObjectUtils.isEmpty(page.getPageSize())) {
|
|
return Result.error("页大小为空!");
|
|
}
|
|
if (page.getRechargeActivity() == null) {
|
|
return Result.error("查询失败:活动信息不能为空");
|
|
}
|
|
return Result.success(rechargeActivityCenterService.queryActivity(page.getPageNum(), page.getPageSize(),page.getRechargeActivity()));
|
|
} catch (NullPointerException e) {
|
|
log.error("查询活动失败:空指针异常", e);
|
|
return Result.error("查询失败:数据为空");
|
|
} catch (IllegalArgumentException e) {
|
|
log.error("查询活动失败:参数异常", e);
|
|
return Result.error("查询失败:" + e.getMessage());
|
|
}
|
|
}
|
|
|
|
/**
|
|
* 新增充值活动
|
|
*
|
|
* @param activity 充值活动请求参数(包含活动名称、活动规则等信息)
|
|
* @return 新增结果(成功返回提示信息,失败返回错误原因)
|
|
* @throws NullPointerException 当请求参数为空时抛出(如activity为null、活动名称等关键属性为null)
|
|
* @throws IllegalArgumentException 当请求参数无效时抛出(如活动名称为空字符串、参数格式不符合要求等)
|
|
*/
|
|
@Log("新增充值活动")
|
|
@PostMapping("/addActivity")
|
|
public Result addActivity(@RequestBody RechargeActivity activity) {
|
|
try {
|
|
if (activity == null) {
|
|
return Result.error("添加失败:活动信息不能为空");
|
|
}
|
|
if (activity.getActivityName() == null || activity.getActivityName().trim().isEmpty()) {
|
|
return Result.error("添加失败:活动名称不能为空");
|
|
}
|
|
if (activity.getBusinessBelong() == null || activity.getBusinessBelong().trim().isEmpty()) {
|
|
return Result.error("添加失败:业绩归属地不能为空");
|
|
}else if (activity.getBusinessBelong().equals("活动归属地")) {
|
|
if (activity.getArea() == null || activity.getArea().trim().isEmpty()) {
|
|
return Result.error("添加失败:地区不能为空");
|
|
}
|
|
}
|
|
if (activity.getStartTime() == null) {
|
|
return Result.error("添加失败:活动开始时间不能为空");
|
|
}
|
|
if (activity.getEndTime() == null) {
|
|
return Result.error("添加失败:活动结束时间不能为空");
|
|
}
|
|
if (activity.getEndTime().before(activity.getStartTime())) {
|
|
return Result.error("添加失败:活动结束时间必须晚于活动开始时间");
|
|
}
|
|
if (activity.getCreator() == null || activity.getCreator().trim().isEmpty()) {
|
|
return Result.error("添加失败:添加人不能为空");
|
|
}
|
|
rechargeActivityCenterService.addActivity(activity);
|
|
return Result.success("添加活动成功");
|
|
} catch (NullPointerException e) {
|
|
log.error("添加活动失败:空指针异常", e);
|
|
return Result.error("添加失败:数据为空");
|
|
} catch (IllegalArgumentException e) {
|
|
log.error("添加活动失败:参数异常", e);
|
|
return Result.error("添加失败:" + e.getMessage());
|
|
}
|
|
}
|
|
|
|
/**
|
|
* 更新充值活动
|
|
*
|
|
* @param activity 充值活动更新参数(包含活动ID、待更新的活动名称等信息)
|
|
* @return 更新结果(成功返回提示信息,失败返回错误原因)
|
|
* @throws NullPointerException 当请求参数为空时抛出(如activity为null、活动ID、活动名称等关键属性为null)
|
|
* @throws IllegalArgumentException 当请求参数无效时抛出(如活动名称为空字符串、活动ID格式错误等)
|
|
*/
|
|
@Log("更新充值活动")
|
|
@PostMapping("/updateActivity")
|
|
public Result updateActivity(@RequestBody RechargeActivity activity) {
|
|
try {
|
|
if (activity == null) {
|
|
return Result.error("添加失败:活动信息不能为空");
|
|
}
|
|
if (activity.getId() == null) {
|
|
return Result.error("添加失败:活动ID不能为空");
|
|
}
|
|
if (activity.getActivityName() == null || activity.getActivityName().trim().isEmpty()) {
|
|
return Result.error("添加失败:活动名称不能为空");
|
|
}
|
|
if (activity.getBusinessBelong() == null || activity.getBusinessBelong().trim().isEmpty()) {
|
|
return Result.error("添加失败:业绩归属地不能为空");
|
|
}else if (activity.getBusinessBelong().equals("活动归属地")) {
|
|
if (activity.getArea() == null || activity.getArea().trim().isEmpty()) {
|
|
return Result.error("添加失败:地区不能为空");
|
|
}
|
|
}
|
|
if (activity.getStartTime() == null) {
|
|
return Result.error("添加失败:活动开始时间不能为空");
|
|
}
|
|
if (activity.getEndTime() == null) {
|
|
return Result.error("添加失败:活动结束时间不能为空");
|
|
}
|
|
if (activity.getEndTime().before(activity.getStartTime())) {
|
|
return Result.error("添加失败:活动结束时间必须晚于活动开始时间");
|
|
}
|
|
if (activity.getCreator() == null || activity.getCreator().trim().isEmpty()) {
|
|
return Result.error("添加失败:添加人不能为空");
|
|
}
|
|
rechargeActivityCenterService.updateActivity(activity);
|
|
return Result.success("更新活动成功");
|
|
} catch (NullPointerException e) {
|
|
log.error("更新活动失败:空指针异常", e);
|
|
return Result.error("更新失败:数据为空");
|
|
} catch (IllegalArgumentException e) {
|
|
log.error("更新活动失败:参数异常", e);
|
|
return Result.error("更新失败:" + e.getMessage());
|
|
}
|
|
}
|
|
|
|
/**
|
|
* 删除充值活动
|
|
*
|
|
* @param activity 待删除的充值活动ID
|
|
* @return 删除结果(成功返回提示信息,失败返回错误原因)
|
|
* @throws NullPointerException 当活动ID为空时抛出(如id为null)
|
|
* @throws IllegalArgumentException 当活动ID无效时抛出(如id为负数、非整数格式等不符合业务要求的情况)
|
|
*/
|
|
@Log("删除充值活动")
|
|
@PostMapping("/deleteActivity")
|
|
public Result deleteActivity(@RequestBody RechargeActivity activity) {
|
|
try {
|
|
if (activity.getId() == null) {
|
|
return Result.error("删除失败:活动ID不能为空");
|
|
}
|
|
rechargeActivityCenterService.deleteActivity(activity);
|
|
return Result.success("删除活动成功");
|
|
} catch (NullPointerException e) {
|
|
log.error("删除活动失败:空指针异常", e);
|
|
return Result.error("删除失败:数据为空");
|
|
} catch (IllegalArgumentException e) {
|
|
log.error("删除活动失败:参数异常", e);
|
|
return Result.error("删除失败:" + e.getMessage());
|
|
}
|
|
}
|
|
}
|