7 changed files with 378 additions and 11 deletions
-
26src/main/java/com/example/demo/bank/Server.java
-
118src/main/java/com/example/demo/controller/coin/RechargeActivityCenterController.java
-
58src/main/java/com/example/demo/domain/vo/coin/RechargeActivity.java
-
33src/main/java/com/example/demo/mapper/coin/RechargeActivityCenterMapper.java
-
30src/main/java/com/example/demo/service/coin/RechargeActivityCenterService.java
-
50src/main/java/com/example/demo/serviceImpl/coin/RechargeActivityCenterServiceImpl.java
-
74src/main/resources/mapper/RechargeActivityCenterMapper.xml
@ -0,0 +1,118 @@ |
|||
package com.example.demo.controller.coin; |
|||
|
|||
import com.example.demo.config.interfac.Log; |
|||
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.web.bind.annotation.*; |
|||
|
|||
import java.util.List; |
|||
|
|||
/** |
|||
* @program: gold-java |
|||
* @ClassName RechargeActivityCenterController |
|||
* @description: 充值活动中心管理 |
|||
* @author: Double |
|||
* @create: 2025−10-28 14:23 |
|||
* @Version 1.0 |
|||
**/ |
|||
|
|||
@RestController |
|||
@RequestMapping("/admin/coin/rechargeActivityCenter") |
|||
@RequiredArgsConstructor |
|||
@Slf4j |
|||
@CrossOrigin |
|||
public class RechargeActivityCenterController { |
|||
|
|||
@Autowired |
|||
private RechargeActivityCenterService rechargeActivityCenterService; |
|||
|
|||
|
|||
// 查询活动 |
|||
@Log("根据ID查询充值活动") |
|||
@PostMapping("/selectActivity") |
|||
public Result selectActivity(@RequestBody RechargeActivity activity) { |
|||
try { |
|||
RechargeActivity selectResult = rechargeActivityCenterService.selectActivityById(activity); |
|||
if (selectResult == null) { |
|||
return Result.error("查询失败:未找到该活动"); |
|||
} |
|||
return Result.success(selectResult); |
|||
} catch (NullPointerException e) { |
|||
log.error("查询活动失败:空指针异常,ID={}", activity.getId(), e); |
|||
return Result.error("查询失败:数据为空"); |
|||
} catch (IllegalArgumentException e) { |
|||
log.error("查询活动失败:参数异常,ID={}", activity.getId(), e); |
|||
return Result.error("查询失败:" + e.getMessage()); |
|||
} |
|||
} |
|||
|
|||
// 动 |
|||
@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("添加失败:活动名称不能为空"); |
|||
} |
|||
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()); |
|||
} |
|||
} |
|||
|
|||
// 更新活动 |
|||
@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("更新失败:活动名称不能为空"); |
|||
} |
|||
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()); |
|||
} |
|||
} |
|||
|
|||
// 删除活动 |
|||
@Log("删除充值活动") |
|||
@PostMapping("/deleteActivity") |
|||
public Result deleteActivity(@RequestParam Integer id) { |
|||
try { |
|||
if (id == null) { |
|||
return Result.error("删除失败:活动ID不能为空"); |
|||
} |
|||
rechargeActivityCenterService.deleteActivity(id); |
|||
return Result.success("删除活动成功"); |
|||
} catch (NullPointerException e) { |
|||
log.error("删除活动失败:空指针异常,ID={}", id, e); |
|||
return Result.error("删除失败:数据为空"); |
|||
} catch (IllegalArgumentException e) { |
|||
log.error("删除活动失败:参数异常,ID={}", id, e); |
|||
return Result.error("删除失败:" + e.getMessage()); |
|||
} |
|||
} |
|||
} |
|||
@ -0,0 +1,58 @@ |
|||
package com.example.demo.domain.vo.coin; |
|||
|
|||
import com.alibaba.excel.annotation.ExcelProperty; |
|||
import com.fasterxml.jackson.annotation.JsonFormat; |
|||
import lombok.AllArgsConstructor; |
|||
import lombok.Data; |
|||
import lombok.NoArgsConstructor; |
|||
|
|||
import java.util.Date; |
|||
|
|||
/** |
|||
* @program: gold-java |
|||
* @ClassName RechargeActivity |
|||
* @description: 充值活动信息VO类 |
|||
* @author: Double |
|||
* @create: 2025−10-28 15:00 |
|||
* @Version 1.0 |
|||
**/ |
|||
|
|||
@Data |
|||
@NoArgsConstructor |
|||
@AllArgsConstructor |
|||
public class RechargeActivity { |
|||
|
|||
@ExcelProperty("活动ID") |
|||
private Integer id; // 活动唯一标识 |
|||
|
|||
@ExcelProperty("活动名称") |
|||
private String activityName; // 活动名称 |
|||
|
|||
@ExcelProperty("业绩归属地") |
|||
private String businessBelong; // 业绩归属地 |
|||
|
|||
@ExcelProperty("活动开始时间") |
|||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "Asia/Shanghai") |
|||
private Date startTime; // 活动开始时间 |
|||
|
|||
@ExcelProperty("活动结束时间") |
|||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "Asia/Shanghai") |
|||
private Date endTime; // 活动结束时间 |
|||
|
|||
@ExcelProperty("活动状态") |
|||
private String status; // 活动状态(进行中、已结束、未开始) |
|||
|
|||
@ExcelProperty("添加人") |
|||
private String creator; // 添加人 |
|||
|
|||
@ExcelProperty("创建时间") |
|||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "Asia/Shanghai") |
|||
private Date createTime; // 创建时间 |
|||
|
|||
@ExcelProperty("更新时间") |
|||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "Asia/Shanghai") |
|||
private Date updateTime; // 更新时间 |
|||
|
|||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "Asia/Shanghai") |
|||
private Date activityTime; // 活动时间 |
|||
} |
|||
@ -0,0 +1,33 @@ |
|||
package com.example.demo.mapper.coin; |
|||
|
|||
import com.example.demo.domain.vo.coin.RechargeActivity; |
|||
import org.apache.ibatis.annotations.Mapper; |
|||
import org.apache.ibatis.annotations.Param; |
|||
|
|||
import java.util.List; |
|||
|
|||
/** |
|||
* @program: gold-java |
|||
* @ClassName RechargeActivityCenterMapper |
|||
* @description: 充值活动中心Mapper接口 |
|||
* @author: Double |
|||
* @create: 2025−10-28 14:42 |
|||
* @Version 1.0 |
|||
**/ |
|||
|
|||
@Mapper |
|||
public interface RechargeActivityCenterMapper { |
|||
|
|||
|
|||
// 根据ID查询活动 |
|||
RechargeActivity selectActivityById(RechargeActivity activity); |
|||
|
|||
// 新增活动 |
|||
void addActivity(RechargeActivity activity); |
|||
|
|||
// 更新活动 |
|||
void updateActivity(RechargeActivity activity); |
|||
|
|||
// 删除活动 |
|||
void deleteActivity(@Param("id") Integer id); |
|||
} |
|||
@ -0,0 +1,30 @@ |
|||
package com.example.demo.service.coin; |
|||
|
|||
import com.example.demo.domain.vo.coin.RechargeActivity; |
|||
|
|||
import java.util.List; |
|||
|
|||
/** |
|||
* @program: gold-java |
|||
* @ClassName RechargeActivityCenterService |
|||
* @description: 充值活动中心服务接口 |
|||
* @author: Double |
|||
* @create: 2025−10-28 14:40 |
|||
* @Version 1.0 |
|||
**/ |
|||
|
|||
public interface RechargeActivityCenterService { |
|||
|
|||
|
|||
// 根据ID查询活动 |
|||
RechargeActivity selectActivityById(RechargeActivity activity); |
|||
|
|||
// 新增活动 |
|||
void addActivity(RechargeActivity activity); |
|||
|
|||
// 更新活动 |
|||
void updateActivity(RechargeActivity activity); |
|||
|
|||
// 删除活动 |
|||
void deleteActivity(Integer id); |
|||
} |
|||
@ -0,0 +1,50 @@ |
|||
package com.example.demo.serviceImpl.coin; |
|||
|
|||
import com.example.demo.domain.vo.coin.RechargeActivity; |
|||
import com.example.demo.mapper.coin.RechargeActivityCenterMapper; |
|||
import com.example.demo.service.coin.RechargeActivityCenterService; |
|||
import org.springframework.beans.factory.annotation.Autowired; |
|||
import org.springframework.stereotype.Service; |
|||
|
|||
import java.util.List; |
|||
|
|||
/** |
|||
* @program: gold-java |
|||
* @ClassName RechargeActivityCenterServiceImpl |
|||
* @description: 充值活动中心服务实现类 |
|||
* @author: Double |
|||
* @create: 2025−10-28 14:40 |
|||
* @Version 1.0 |
|||
**/ |
|||
|
|||
@Service |
|||
public class RechargeActivityCenterServiceImpl implements RechargeActivityCenterService { |
|||
|
|||
@Autowired |
|||
private RechargeActivityCenterMapper rechargeActivityCenterMapper; |
|||
|
|||
|
|||
// 根据ID查询活动 |
|||
@Override |
|||
public RechargeActivity selectActivityById(RechargeActivity activity) { |
|||
return rechargeActivityCenterMapper.selectActivityById(activity); |
|||
} |
|||
|
|||
// 新增活动 |
|||
@Override |
|||
public void addActivity(RechargeActivity activity) { |
|||
rechargeActivityCenterMapper.addActivity(activity); |
|||
} |
|||
|
|||
// 更新活动 |
|||
@Override |
|||
public void updateActivity(RechargeActivity activity) { |
|||
rechargeActivityCenterMapper.updateActivity(activity); |
|||
} |
|||
|
|||
// 删除活动 |
|||
@Override |
|||
public void deleteActivity(Integer id) { |
|||
rechargeActivityCenterMapper.deleteActivity(id); |
|||
} |
|||
} |
|||
@ -0,0 +1,74 @@ |
|||
<?xml version="1.0" encoding="UTF-8"?> |
|||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> |
|||
<mapper namespace="com.example.demo.mapper.coin.RechargeActivityCenterMapper"> |
|||
|
|||
<!-- 查询活动 --> |
|||
<select id="selectActivityById" resultType="com.example.demo.domain.vo.coin.RechargeActivity"> |
|||
SELECT |
|||
id, |
|||
activity_name as activityName, |
|||
business_belong as businessBelong, |
|||
start_time as startTime, |
|||
end_time as endTime, |
|||
status, |
|||
creator, |
|||
create_time as createTime, |
|||
update_time as updateTime |
|||
FROM recharge_activity |
|||
<where> |
|||
<if test="activityName != null and activityName != ''"> |
|||
AND activity_name = #{activityName} |
|||
</if> |
|||
<if test="activityTime != null"> |
|||
AND end_time >= #{activityTime} |
|||
AND #{activityTime} >= start_time |
|||
</if> |
|||
</where> |
|||
<trim prefix="ORDER BY" suffixOverrides=","> |
|||
create_time DESC |
|||
</trim> |
|||
</select> |
|||
|
|||
<!-- 新增活动 --> |
|||
<insert id="addActivity" parameterType="com.example.demo.domain.vo.coin.RechargeActivity"> |
|||
INSERT INTO recharge_activity ( |
|||
activity_name, |
|||
business_belong, |
|||
start_time, |
|||
end_time, |
|||
status, |
|||
creator, |
|||
create_time |
|||
) VALUES ( |
|||
#{activityName}, |
|||
#{businessBelong}, |
|||
#{startTime}, |
|||
#{endTime}, |
|||
#{status}, |
|||
#{creator}, |
|||
NOW() |
|||
) |
|||
</insert> |
|||
|
|||
<!-- 更新活动 --> |
|||
<update id="updateActivity" parameterType="com.example.demo.domain.vo.coin.RechargeActivity"> |
|||
UPDATE recharge_activity |
|||
<set> |
|||
<if test="activityName != null">activity_name = #{activityName},</if> |
|||
<if test="businessBelong != null">business_belong = #{businessBelong},</if> |
|||
<if test="startTime != null">start_time = #{startTime},</if> |
|||
<if test="endTime != null">end_time = #{endTime},</if> |
|||
<if test="status != null">status = #{status},</if> |
|||
<if test="creator != null">creator = #{creator},</if> |
|||
update_time = NOW() |
|||
</set> |
|||
WHERE id = #{id} |
|||
</update> |
|||
|
|||
<!-- 删除活动 --> |
|||
<delete id="deleteActivity"> |
|||
DELETE FROM recharge_activity |
|||
WHERE id = #{id} |
|||
</delete> |
|||
|
|||
</mapper> |
|||
Write
Preview
Loading…
Cancel
Save
Reference in new issue