framework/src/main/java/cn/lili/modules/lmk/domain/entity/PrizeActivity.java
@@ -5,6 +5,8 @@ import com.baomidou.mybatisplus.annotation.TableName; import java.io.Serializable; import java.time.LocalDateTime; import java.util.Date; import lombok.Data; /** @@ -29,11 +31,11 @@ @TableField("begin_time") /** 活动开始时间 */ private LocalDateTime beginTime; private Date beginTime; @TableField("end_time") /** 活动结束时间 */ private LocalDateTime endTime; private Date endTime; @TableField("max_prize") /** 每日最大抽奖上限 */ @@ -52,7 +54,7 @@ private String activityCover; @TableField("enable_status") /** 是否开启活动 */ /** 是否开启活动 */ private String enableStatus; framework/src/main/java/cn/lili/modules/lmk/domain/form/PrizeActivityForm.java
@@ -4,9 +4,12 @@ import cn.lili.group.Add; import cn.lili.base.AbsForm; import cn.lili.modules.lmk.domain.entity.PrizeActivity; import com.fasterxml.jackson.annotation.JsonFormat; import org.springframework.beans.BeanUtils; import javax.validation.constraints.NotBlank; import javax.validation.constraints.NotNull; import org.springframework.format.annotation.DateTimeFormat; import org.springframework.lang.NonNull; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; @@ -33,10 +36,14 @@ @NotNull(message = "活动开始时间不能为空", groups = {Add.class, Update.class}) @ApiModelProperty("活动开始时间") @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") private Date beginTime; @NotNull(message = "活动结束时间不能为空", groups = {Add.class, Update.class}) @ApiModelProperty("活动结束时间") @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") private Date endTime; @NotNull(message = "每日最大抽奖上限不能为空", groups = {Add.class, Update.class}) framework/src/main/java/cn/lili/modules/lmk/domain/query/PrizeActivityQuery.java
@@ -1,7 +1,12 @@ package cn.lili.modules.lmk.domain.query; import cn.lili.base.AbsQuery; import java.util.Date; import java.util.List; import com.fasterxml.jackson.annotation.JsonFormat; import org.springframework.format.annotation.DateTimeFormat; import org.springframework.lang.NonNull; import javax.validation.constraints.NotBlank; import javax.validation.constraints.NotNull; @@ -18,5 +23,15 @@ @Data @ApiModel(value = "PrizeActivity查询参数", description = "抽奖活动查询参数") public class PrizeActivityQuery extends AbsQuery { public String activityName; @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") public Date beginTime; @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") public Date endTime; } framework/src/main/resources/mapper/lmk/PrizeActivityMapper.xml
@@ -57,6 +57,12 @@ lmk_prize_activity LPA WHERE LPA.delete_flag = 0 <if test="query.activityName != null and query.activityName !=''"> AND LPA.activity_name LIKE CONCAT('%',#{query.ctivityName},'%') </if> <if test="query.beginTime != null">AND LPA.begin_time >= #{query.beginTime}</if> <if test="query.endTime != null">AND LPA.end_time <= #{query.endTime}</if> </select> </mapper> manager-api/src/main/java/cn/lili/controller/lmk/PrizeActivityController.java
New file @@ -0,0 +1,47 @@ package cn.lili.controller.lmk; import cn.lili.base.Result; import cn.lili.modules.lmk.domain.form.PrizeActivityForm; import cn.lili.modules.lmk.domain.query.PrizeActivityQuery; import cn.lili.modules.lmk.service.PrizeActivityService; import lombok.RequiredArgsConstructor; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; /** * lmk-shop-java * 抽奖活动 * * @author : zxl * @date : 2025-08-14 16:27 **/ @Validated @RequiredArgsConstructor @RestController @RequestMapping("/manager/lmk/activity-prize") public class PrizeActivityController { private final PrizeActivityService prizeActivityService; @GetMapping public Result getPage(PrizeActivityQuery query){ return prizeActivityService.page(query); } @GetMapping("/{id}") public Result detail(@PathVariable("id") String id){ return prizeActivityService.detail(id); } @PutMapping public Result edit(@RequestBody PrizeActivityForm form){ return prizeActivityService.update(form); } @PostMapping public Result add(@RequestBody PrizeActivityForm form){ return prizeActivityService.add(form); } @DeleteMapping("/{id}") public Result del(@PathVariable("id") String id){ return prizeActivityService.removeById(id); } }