diff --git a/lottery-system/lottery-common/src/main/java/com/lottery/exception/GlobalException.java b/lottery-system/lottery-common/src/main/java/com/lottery/exception/GlobalException.java new file mode 100644 index 0000000..c85ced5 --- /dev/null +++ b/lottery-system/lottery-common/src/main/java/com/lottery/exception/GlobalException.java @@ -0,0 +1,23 @@ +package com.lottery.exception; + +import org.springframework.web.bind.annotation.ControllerAdvice; + +/** + * @program: lottery-system + * @ClassName GolbalException + * @description: + * @author:jihaipeng + * @create: 2025−07-14 16:43 + * @Version 1.0 + **/ +@ControllerAdvice +public class GlobalException extends BaseException{ + public GlobalException(){ + + } + + public GlobalException(String massage){ + super(massage); + } + +} diff --git a/lottery-system/lottery-common/src/main/java/com/lottery/exception/GlobalExceptionHandler.java b/lottery-system/lottery-common/src/main/java/com/lottery/exception/GlobalExceptionHandler.java new file mode 100644 index 0000000..eaa2ebb --- /dev/null +++ b/lottery-system/lottery-common/src/main/java/com/lottery/exception/GlobalExceptionHandler.java @@ -0,0 +1,32 @@ +package com.lottery.exception; + +import com.lottery.result.Result; +import lombok.extern.slf4j.Slf4j; +import org.springframework.web.bind.annotation.ControllerAdvice; +import org.springframework.web.bind.annotation.ExceptionHandler; + +/** + * @program: lottery-system + * @ClassName GlobalExceptionHandler + * @description: + * @author:jihaipeng + * @create: 2025−07-14 17:02 + * @Version 1.0 + **/ +@ControllerAdvice // 确保该类被 Spring 管理 +@Slf4j +public class GlobalExceptionHandler { + // 处理 GlobalException + @ExceptionHandler(GlobalException.class) + public Result handleGlobalException(GlobalException e) { + log.error("业务异常: {}", e.getMessage(), e); + return Result.failure(e.getMessage()); + } + + // 处理其他异常 + @ExceptionHandler(Exception.class) + public Result handleException(Exception e) { + log.error("系统异常: ", e); + return Result.failure(500, "系统繁忙,请稍后再试"); + } +} diff --git a/lottery-system/lottery-common/src/main/java/com/lottery/result/Result.java b/lottery-system/lottery-common/src/main/java/com/lottery/result/Result.java index 5ff2d43..0073480 100644 --- a/lottery-system/lottery-common/src/main/java/com/lottery/result/Result.java +++ b/lottery-system/lottery-common/src/main/java/com/lottery/result/Result.java @@ -1,5 +1,7 @@ package com.lottery.result; +import lombok.Data; + /** * @program: lottery-system * @ClassName Result @@ -8,9 +10,9 @@ package com.lottery.result; * @create: 2025−07-10 15:59 * @Version 1.0 **/ - +@Data public class Result { - // 状态码(如 200 表示成功,500 表示失败) + // 状态码(如 200 表示成功,400 表示失败) private Integer code; // 提示信息(如 "操作成功" 或 "操作失败") @@ -35,15 +37,22 @@ public class Result { result.setData(data); return result; } - // 失败结果 - public static Result failure(int code, String message) { + public static Result failure(String message) { + Result result = new Result<>(); + result.setCode(400); + result.setMessage(message); + return result; + } + // 失败结果 + public static Result failure(Integer code,String message) { Result result = new Result<>(); result.setCode(code); result.setMessage(message); return result; } + // Getter 和 Setter 方法 public int getCode() { return code; diff --git a/lottery-system/lottery-pojo/src/main/java/com/lottery/dto/FundingActivityDto.java b/lottery-system/lottery-pojo/src/main/java/com/lottery/dto/FundingActivityDto.java new file mode 100644 index 0000000..2624b64 --- /dev/null +++ b/lottery-system/lottery-pojo/src/main/java/com/lottery/dto/FundingActivityDto.java @@ -0,0 +1,26 @@ +package com.lottery.dto; + +import com.fasterxml.jackson.annotation.JsonFormat; +import lombok.Data; + +import java.time.LocalDate; +import java.util.Date; + +/** + * @program: lottery-system + * @ClassName FundingDataDto + * @description: + * @author:jihaipeng + * @create: 2025−07-14 15:09 + * @Version 1.0 + **/ +@Data +public class FundingActivityDto { + + private String activityName; // 活动名称 + private String marketOne; // 市场一(如USA) + private String marketTwo; // 市场二(如HK) + private Integer status; // 状态(1-启用,0-禁用) + private LocalDate startTime; // 活动开始时间 + private LocalDate endTime; // 活动结束时间 +} diff --git a/lottery-system/lottery-pojo/src/main/java/com/lottery/dto/Prize.java b/lottery-system/lottery-pojo/src/main/java/com/lottery/dto/Prize.java deleted file mode 100644 index ea0a26e..0000000 --- a/lottery-system/lottery-pojo/src/main/java/com/lottery/dto/Prize.java +++ /dev/null @@ -1,51 +0,0 @@ -package com.lottery.dto; - -/** - * @program: lottery-system - * @ClassName Gift - * @description: - * @author:jihaipeng - * @create: 2025−07-10 15:20 - * @Version 1.0 - **/ -import com.baomidou.mybatisplus.annotation.TableName; -import lombok.AllArgsConstructor; -import lombok.Data; -import lombok.NoArgsConstructor; - -import java.math.BigDecimal; -import java.util.Date; -@Data -@AllArgsConstructor -@NoArgsConstructor -public class Prize { - // 主键ID - private Long id; - - // 名称 - private String name; - - // 描述 - private String description; - - // 图片URL - private String imageUrl; - - // 库存数量 - private Integer stock; - - // 中奖概率 - private BigDecimal probability; - - // 奖品类型 - private Integer prizeType; - - // 状态 - private Integer status; - - // 创建时间 - private Date createTime; - - // 更新时间 - private Date updateTime; -} \ No newline at end of file diff --git a/lottery-system/lottery-pojo/src/main/java/com/lottery/entity/Activity.java b/lottery-system/lottery-pojo/src/main/java/com/lottery/entity/Activity.java new file mode 100644 index 0000000..ade1bab --- /dev/null +++ b/lottery-system/lottery-pojo/src/main/java/com/lottery/entity/Activity.java @@ -0,0 +1,39 @@ +package com.lottery.entity; + +import com.baomidou.mybatisplus.annotation.*; +import com.fasterxml.jackson.annotation.JsonFormat; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.time.LocalDate; +import java.time.LocalDateTime; +import java.util.Date; + +/** + * @program: lottery-system + * @ClassName Activity + * @description: + * @author:jihaipeng + * @create: 2025−07-14 14:17 + * @Version 1.0 + **/ +@Data +@AllArgsConstructor +@NoArgsConstructor +@TableName("activity") +public class Activity { + @TableId(type = IdType.AUTO) // 主键自增策略 + private Integer id; + + private String activityName; // 活动名称 + private String marketOne; // 市场一(如USA) + private String marketTwo; // 市场二(如HK) + private Integer status; // 状态(1-启用,0-禁用) + @TableField(value = "create_time", fill = FieldFill.INSERT) // 自动填充创建时间 + private LocalDateTime createdTime; // 创建时间 + @TableField(value = "create_time", fill = FieldFill.INSERT) // 自动填充创建时间 + private LocalDateTime updatedTime; // 更新时间 + private LocalDate startTime; // 活动开始时间 + private LocalDate endTime; // 活动结束时间 +} diff --git a/lottery-system/lottery-pojo/src/main/java/com/lottery/entity/FundingData.java b/lottery-system/lottery-pojo/src/main/java/com/lottery/entity/FundingData.java new file mode 100644 index 0000000..6573ae9 --- /dev/null +++ b/lottery-system/lottery-pojo/src/main/java/com/lottery/entity/FundingData.java @@ -0,0 +1,34 @@ +package com.lottery.entity; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.util.Date; + +/** + * @program: lottery-system + * @ClassName FundingData + * @description: + * @author:jihaipeng + * @create: 2025−07-14 14:52 + * @Version 1.0 + **/ +@Data +@AllArgsConstructor +@NoArgsConstructor +@TableName("data") +public class FundingData { + @TableId(type = IdType.AUTO) // 主键自增策略 + private Integer id; + private Date time; // 统计时间(众筹初始时间) + private String stock; // 市场(美股/港股) + private Integer addTotal; // 虚拟参与人数 + private Integer activityId; // 关联的活动ID + + // 可选:关联的活动对象 + private Activity activity; +} diff --git a/lottery-system/lottery-pojo/src/main/java/com/lottery/entity/FundingUser.java b/lottery-system/lottery-pojo/src/main/java/com/lottery/entity/FundingUser.java new file mode 100644 index 0000000..79f80fd --- /dev/null +++ b/lottery-system/lottery-pojo/src/main/java/com/lottery/entity/FundingUser.java @@ -0,0 +1,32 @@ +package com.lottery.entity; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.util.Date; + +/** + * @program: lottery-system + * @ClassName Funding + * @description: + * @author:jihaipeng + * @create: 2025−07-14 14:36 + * @Version 1.0 + **/ +@Data +@AllArgsConstructor +@NoArgsConstructor +@TableName("z_user") +public class FundingUser { + @TableId(type = IdType.AUTO) // 主键自增策略 + private Integer id; + private String marketSign; // 市场标识(usa/hk) + private String username; // 用户名 + private String jwcode; // 用户唯一码 + private Date joinTime; // 参与时间 + private Integer activityId; // 关联的活动ID +} diff --git a/lottery-system/lottery-pojo/src/main/java/com/lottery/entity/Grade.java b/lottery-system/lottery-pojo/src/main/java/com/lottery/entity/Grade.java new file mode 100644 index 0000000..c1aa7e1 --- /dev/null +++ b/lottery-system/lottery-pojo/src/main/java/com/lottery/entity/Grade.java @@ -0,0 +1,42 @@ +package com.lottery.entity; + +import com.baomidou.mybatisplus.annotation.*; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.util.Date; + +/** + * @program: lottery-system + * @ClassName Grade + * @description: + * @author: wwl + * @create: 2025-07-12 17:31 + * @Version 1.0 + **/ + +@Data +@AllArgsConstructor +@NoArgsConstructor +@TableName("grade") +public class Grade { + + @TableId(type = IdType.AUTO) // 主键自增策略 + private Long id; + + private String GradeName; // 等级名称 + + private int amount; //等级数量 + + private int sort; + + @TableField("pre_win") + private int preWin; + + @TableField(value = "create_time", fill = FieldFill.INSERT) // 自动填充创建时间 + private Date createTime; + + @TableField(value = "update_time", fill = FieldFill.INSERT_UPDATE) // 自动填充更新时间 + private Date updateTime; +} diff --git a/lottery-system/lottery-pojo/src/main/java/com/lottery/entity/Prize.java b/lottery-system/lottery-pojo/src/main/java/com/lottery/entity/Prize.java index 0be6e22..ca2bea7 100644 --- a/lottery-system/lottery-pojo/src/main/java/com/lottery/entity/Prize.java +++ b/lottery-system/lottery-pojo/src/main/java/com/lottery/entity/Prize.java @@ -15,8 +15,8 @@ import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor; -import java.math.BigDecimal; import java.util.Date; + @Data @AllArgsConstructor @NoArgsConstructor @@ -27,26 +27,13 @@ public class Prize { private Long id; // 名称 - private String name; + private String PrizeName; - // 描述 - private String description; + private Long gradeId; // 图片URL private String imageUrl; - // 库存数量 - private Integer stock; - - // 中奖概率 - private BigDecimal probability; - - // 奖品类型 - private Integer prizeType; - - // 状态 - private Integer status; - // 创建时间 private Date createTime; diff --git a/lottery-system/lottery-pojo/src/main/java/com/lottery/vo/FundingActivityVo.java b/lottery-system/lottery-pojo/src/main/java/com/lottery/vo/FundingActivityVo.java new file mode 100644 index 0000000..ed4df4d --- /dev/null +++ b/lottery-system/lottery-pojo/src/main/java/com/lottery/vo/FundingActivityVo.java @@ -0,0 +1,25 @@ +package com.lottery.vo; + +import lombok.Data; + +import java.time.LocalDate; +import java.util.Date; + +/** + * @program: lottery-system + * @ClassName FundingDataDto + * @description: + * @author:jihaipeng + * @create: 2025−07-14 15:09 + * @Version 1.0 + **/ +@Data +public class FundingActivityVo { + private Integer id; + private String activityName; // 活动名称 + private String marketOne; // 市场一(如USA) + private String marketTwo; // 市场二(如HK) + private Integer status; // 状态(1-启用,0-禁用) + private LocalDate startTime; // 活动开始时间 + private LocalDate endTime; // 活动结束时间 +} diff --git a/lottery-system/lottery-pojo/src/main/java/com/lottery/vo/GradeVo.java b/lottery-system/lottery-pojo/src/main/java/com/lottery/vo/GradeVo.java new file mode 100644 index 0000000..c58e972 --- /dev/null +++ b/lottery-system/lottery-pojo/src/main/java/com/lottery/vo/GradeVo.java @@ -0,0 +1,19 @@ +package com.lottery.vo; + +import lombok.Data; + +/** + * @program: lottery-system + * @ClassName GradeVo + * @description: + * @author: wwl + * @create: 2025-07-12 17:32 + * @Version 1.0 + **/ +@Data +public class GradeVo { + + private String name; + + private int amount; +} diff --git a/lottery-system/lottery-pojo/src/main/java/com/lottery/vo/PrizeAndGradeVo.java b/lottery-system/lottery-pojo/src/main/java/com/lottery/vo/PrizeAndGradeVo.java new file mode 100644 index 0000000..5871e0c --- /dev/null +++ b/lottery-system/lottery-pojo/src/main/java/com/lottery/vo/PrizeAndGradeVo.java @@ -0,0 +1,25 @@ +package com.lottery.vo; + +import lombok.Data; + +/** + * @program: lottery-system + * @ClassName PrizeAndGradeVo + * @description: + * @author: wwl + * @create: 2025-07-14 13:34 + * @Version 1.0 + **/ +@Data +public class PrizeAndGradeVo { + + private String prizeName; + + private String imageUrl; + + private String GradeName; + + private int amount; + + private int sort; +} diff --git a/lottery-system/lottery-pojo/src/main/java/com/lottery/vo/PrizeVo.java b/lottery-system/lottery-pojo/src/main/java/com/lottery/vo/PrizeVo.java new file mode 100644 index 0000000..4b76a3c --- /dev/null +++ b/lottery-system/lottery-pojo/src/main/java/com/lottery/vo/PrizeVo.java @@ -0,0 +1,23 @@ +package com.lottery.vo; + +import lombok.Data; + +/** + * @program: lottery-system + * @ClassName PrizeVo + * @description: + * @author: wwl + * @create: 2025-07-12 16:48 + * @Version 1.0 + **/ +@Data +public class PrizeVo { + + private String name; + + private String imageUrl; + +// private int amount; +// +// private int grade; +} diff --git a/lottery-system/lottery-service/src/main/java/com/lottery/LotteryApplication.java b/lottery-system/lottery-service/src/main/java/com/lottery/LotteryApplication.java index cdcf3eb..e9e6543 100644 --- a/lottery-system/lottery-service/src/main/java/com/lottery/LotteryApplication.java +++ b/lottery-system/lottery-service/src/main/java/com/lottery/LotteryApplication.java @@ -1,12 +1,16 @@ package com.lottery; +import org.mybatis.spring.annotation.MapperScan; import org.springframework.boot.SpringApplication; import org.springframework.boot.WebApplicationType; import org.springframework.boot.autoconfigure.SpringBootApplication; +import org.springframework.context.annotation.ComponentScan; import javax.swing.*; @SpringBootApplication +@MapperScan("com.lottery.*.mapper") +@ComponentScan(basePackages = {"com.lottery"}) public class LotteryApplication { public static void main(String[] args) { SpringApplication.run(LotteryApplication.class, args); diff --git a/lottery-system/lottery-service/src/main/java/com/lottery/admin/controller/wincontroller.java b/lottery-system/lottery-service/src/main/java/com/lottery/admin/controller/WInController.java similarity index 97% rename from lottery-system/lottery-service/src/main/java/com/lottery/admin/controller/wincontroller.java rename to lottery-system/lottery-service/src/main/java/com/lottery/admin/controller/WInController.java index 3cd0bc2..1e1de1e 100644 --- a/lottery-system/lottery-service/src/main/java/com/lottery/admin/controller/wincontroller.java +++ b/lottery-system/lottery-service/src/main/java/com/lottery/admin/controller/WInController.java @@ -21,7 +21,7 @@ import java.util.Map; **/ @Controller @RequestMapping("/admin/win") -public class wincontroller { +public class WInController { @Autowired private IWinService iWinService; diff --git a/lottery-system/lottery-service/src/main/java/com/lottery/api/controller/GradeController.java b/lottery-system/lottery-service/src/main/java/com/lottery/api/controller/GradeController.java new file mode 100644 index 0000000..c49f039 --- /dev/null +++ b/lottery-system/lottery-service/src/main/java/com/lottery/api/controller/GradeController.java @@ -0,0 +1,44 @@ +package com.lottery.api.controller; + +import com.lottery.api.mapper.IGradeMapper; +import com.lottery.api.service.IGradeService; +import com.lottery.entity.Grade; +import com.lottery.result.Result; +import com.lottery.utils.ConvertBeanUtil; +import com.lottery.vo.GradeVo; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import java.util.List; + +/** + * @program: lottery-system + * @ClassName gradeController + * @description: + * @author: wwl + * @create: 2025-07-12 17:30 + * @Version 1.0 + **/ + +@RestController +@RequestMapping("api/grade") +public class GradeController { + + @Autowired + private IGradeService gradeService; + + private final static Logger LOGGER = LoggerFactory.getLogger(GradeController.class); + + @GetMapping("/list") + public Result> getAllGrade(){ + LOGGER.info("查询全部等级"); + + List list = gradeService.list(); + return Result.success(ConvertBeanUtil.convertList(list, GradeVo.class)); + } +} diff --git a/lottery-system/lottery-service/src/main/java/com/lottery/api/controller/PrizeController.java b/lottery-system/lottery-service/src/main/java/com/lottery/api/controller/PrizeController.java new file mode 100644 index 0000000..6644b28 --- /dev/null +++ b/lottery-system/lottery-service/src/main/java/com/lottery/api/controller/PrizeController.java @@ -0,0 +1,44 @@ +package com.lottery.api.controller; + +import com.lottery.entity.Prize; +import com.lottery.result.Result; +import com.lottery.api.service.IPrizeService; +import com.lottery.utils.ConvertBeanUtil; +import com.lottery.vo.PrizeAndGradeVo; +import com.lottery.vo.PrizeVo; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import java.util.List; + +/** + * @program: lottery-system + * @ClassName PrizeController + * @description: + * @author: wwl + * @create: 2025-07-12 16:45 + * @Version 1.0 + **/ +@RestController +@RequestMapping("api/prize") +public class PrizeController { + + @Autowired + private IPrizeService prizeService; + + private final static Logger LOGGER = LoggerFactory.getLogger(PrizeController.class); + + @GetMapping("/list") + public Result> getAllPrize(){ + + LOGGER.info("查询所有礼品和对应等级,按照sort值排序"); + List list = prizeService.list(); + + List l = prizeService.getAllPrizeAndGrade(); + return Result.success(ConvertBeanUtil.convertList(list,PrizeVo.class)); + } +} diff --git a/lottery-system/lottery-service/src/main/java/com/lottery/api/controller/UserController.java b/lottery-system/lottery-service/src/main/java/com/lottery/api/controller/UserController.java index 37b9f9f..17ee70c 100644 --- a/lottery-system/lottery-service/src/main/java/com/lottery/api/controller/UserController.java +++ b/lottery-system/lottery-service/src/main/java/com/lottery/api/controller/UserController.java @@ -4,16 +4,14 @@ import com.lottery.dto.UserLoginDto; import com.lottery.entity.User; import com.lottery.exception.Accountexception; import com.lottery.api.service.IUserService; +import com.lottery.utils.ConvertBeanUtil; import com.lottery.utils.JwtUtil; import com.lottery.vo.UserLoginVo; import com.lottery.vo.UserVo; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.bind.annotation.*; import com.lottery.result.Result; import java.util.ArrayList; @@ -69,15 +67,11 @@ public class UserController { return Result.success(userLoginVo); } + @GetMapping("/list") public Result> getAllUser(){ LOGGER.info("查询所有用户"); List list = userService.list(); - List list1 = new ArrayList<>(); - - for (User user : list) { - - } - return Result.success(list1); + return Result.success(ConvertBeanUtil.convertList(list, UserVo.class)); } } diff --git a/lottery-system/lottery-service/src/main/java/com/lottery/api/mapper/IGradeMapper.java b/lottery-system/lottery-service/src/main/java/com/lottery/api/mapper/IGradeMapper.java new file mode 100644 index 0000000..fbc7610 --- /dev/null +++ b/lottery-system/lottery-service/src/main/java/com/lottery/api/mapper/IGradeMapper.java @@ -0,0 +1,17 @@ +package com.lottery.api.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.lottery.entity.Grade; +import org.apache.ibatis.annotations.Mapper; + +/** + * @program: lottery-system + * @ClassName IGradeMapper + * @description: + * @author: wwl + * @create: 2025-07-12 17:36 + * @Version 1.0 + **/ +@Mapper +public interface IGradeMapper extends BaseMapper { +} diff --git a/lottery-system/lottery-service/src/main/java/com/lottery/api/mapper/IPrizeMapper.java b/lottery-system/lottery-service/src/main/java/com/lottery/api/mapper/IPrizeMapper.java index 6550b2c..e83886d 100644 --- a/lottery-system/lottery-service/src/main/java/com/lottery/api/mapper/IPrizeMapper.java +++ b/lottery-system/lottery-service/src/main/java/com/lottery/api/mapper/IPrizeMapper.java @@ -1,9 +1,13 @@ package com.lottery.api.mapper; -import com.lottery.dto.Prize; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.lottery.entity.Prize; +import com.lottery.vo.PrizeAndGradeVo; import org.apache.ibatis.annotations.Insert; import org.apache.ibatis.annotations.Mapper; +import java.util.List; + /** * @program: lottery-system * @ClassName IPrizeMapper @@ -14,7 +18,7 @@ import org.apache.ibatis.annotations.Mapper; **/ @Mapper -public interface IPrizeMapper { - +public interface IPrizeMapper extends BaseMapper { + List selectPrizeAndGrade(); } diff --git a/lottery-system/lottery-service/src/main/java/com/lottery/api/service/IGradeService.java b/lottery-system/lottery-service/src/main/java/com/lottery/api/service/IGradeService.java new file mode 100644 index 0000000..9e4af23 --- /dev/null +++ b/lottery-system/lottery-service/src/main/java/com/lottery/api/service/IGradeService.java @@ -0,0 +1,15 @@ +package com.lottery.api.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.lottery.entity.Grade; + +/** + * @program: lottery-system + * @ClassName IGradeService + * @description: + * @author: wwl + * @create: 2025-07-12 17:35 + * @Version 1.0 + **/ +public interface IGradeService extends IService { +} diff --git a/lottery-system/lottery-service/src/main/java/com/lottery/api/service/IPrizeService.java b/lottery-system/lottery-service/src/main/java/com/lottery/api/service/IPrizeService.java index a0ae8e9..7c5cd9f 100644 --- a/lottery-system/lottery-service/src/main/java/com/lottery/api/service/IPrizeService.java +++ b/lottery-system/lottery-service/src/main/java/com/lottery/api/service/IPrizeService.java @@ -1,6 +1,10 @@ package com.lottery.api.service; -import com.lottery.dto.Prize; +import com.baomidou.mybatisplus.extension.service.IService; +import com.lottery.entity.Prize; +import com.lottery.vo.PrizeAndGradeVo; + +import java.util.List; /** * @program: lottery-system @@ -11,7 +15,8 @@ import com.lottery.dto.Prize; * @Version 1.0 **/ -public interface IPrizeService { +public interface IPrizeService extends IService { + List getAllPrizeAndGrade(); } diff --git a/lottery-system/lottery-service/src/main/java/com/lottery/api/service/Impl/GradeServiceImpl.java b/lottery-system/lottery-service/src/main/java/com/lottery/api/service/Impl/GradeServiceImpl.java new file mode 100644 index 0000000..19e22db --- /dev/null +++ b/lottery-system/lottery-service/src/main/java/com/lottery/api/service/Impl/GradeServiceImpl.java @@ -0,0 +1,19 @@ +package com.lottery.api.service.Impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.lottery.api.mapper.IGradeMapper; +import com.lottery.api.service.IGradeService; +import com.lottery.entity.Grade; +import org.springframework.stereotype.Service; + +/** + * @program: lottery-system + * @ClassName GradeServiceImpl + * @description: + * @author: wwl + * @create: 2025-07-12 17:36 + * @Version 1.0 + **/ +@Service +public class GradeServiceImpl extends ServiceImpl implements IGradeService { +} diff --git a/lottery-system/lottery-service/src/main/java/com/lottery/api/service/Impl/PrizeServiceImpl.java b/lottery-system/lottery-service/src/main/java/com/lottery/api/service/Impl/PrizeServiceImpl.java index bc725d3..16b026f 100644 --- a/lottery-system/lottery-service/src/main/java/com/lottery/api/service/Impl/PrizeServiceImpl.java +++ b/lottery-system/lottery-service/src/main/java/com/lottery/api/service/Impl/PrizeServiceImpl.java @@ -1,13 +1,18 @@ package com.lottery.api.service.Impl; -import com.lottery.dto.Prize; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.lottery.api.mapper.IGradeMapper; import com.lottery.api.mapper.IPrizeMapper; +import com.lottery.api.service.IGradeService; import com.lottery.api.service.IPrizeService; +import com.lottery.entity.Prize; +import com.lottery.vo.PrizeAndGradeVo; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.math.BigDecimal; import java.util.Date; +import java.util.List; /** * @program: lottery-system @@ -19,8 +24,20 @@ import java.util.Date; **/ @Service -public class PrizeServiceImpl implements IPrizeService { +public class PrizeServiceImpl extends ServiceImpl implements IPrizeService { + @Autowired + private IPrizeMapper prizeMapper; + @Autowired + private IGradeMapper gradeMapper; + + @Override + public List getAllPrizeAndGrade() { + + PrizeAndGradeVo prizeAndGradeVo = new PrizeAndGradeVo(); + + return prizeMapper.selectPrizeAndGrade(); + } } diff --git a/lottery-system/lottery-service/src/main/java/com/lottery/funding/controller/FundingController.java b/lottery-system/lottery-service/src/main/java/com/lottery/funding/controller/FundingController.java new file mode 100644 index 0000000..3cfdc2e --- /dev/null +++ b/lottery-system/lottery-service/src/main/java/com/lottery/funding/controller/FundingController.java @@ -0,0 +1,72 @@ +package com.lottery.funding.controller; + + +import com.lottery.dto.FundingActivityDto; +import com.lottery.funding.service.IFundingService; +import com.lottery.result.Result; +import com.lottery.vo.FundingActivityVo; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import java.util.List; + +/** + * @program: lottery-system + * @ClassName fundingController + * @description: + * @author:jihaipeng + * @create: 2025−07-14 15:03 + * @Version 1.0 + **/ +@RestController +@RequestMapping("/funding") +public class FundingController { + + @Autowired + private IFundingService fundingService; + + /** + * 获取所有众筹活动 + * @return + */ + @GetMapping("/getActivity") + public Result> getFundingActivity(){ + List list = fundingService.getFundingActivity(); + return Result.success(list); + } + + + //修改众筹的活动状态 + @PostMapping("/updateActivityStatus") + public Result updateActivityStatus(@RequestParam @Validated Integer id, @RequestParam @Validated Integer status) { + // 参数校验 + if (id == null || status == null) { + return Result.failure("参数不能为空"); + + } + + if (status != 0 && status != 1) { // 假设状态只有0/1 +// return Result.failure("活动状态值非法"); + return Result.failure("活动状态值非法"); + } + try { + fundingService.updateActivityStatus(id, status); + return Result.success("修改活动状态成功"); + } catch (Exception e) { + return Result.failure("修改活动状态失败"); + } + } + + + //添加活动 + @PostMapping("/addActivity") + public Result addActivity(@Validated @RequestBody FundingActivityDto fundingActivityDto) { + try { + return fundingService.addActivity(fundingActivityDto); + } catch (Exception e) { + return Result.failure("添加活动失败"); + } + } + +} diff --git a/lottery-system/lottery-service/src/main/java/com/lottery/funding/mapper/IFundingMapper.java b/lottery-system/lottery-service/src/main/java/com/lottery/funding/mapper/IFundingMapper.java new file mode 100644 index 0000000..7795a79 --- /dev/null +++ b/lottery-system/lottery-service/src/main/java/com/lottery/funding/mapper/IFundingMapper.java @@ -0,0 +1,26 @@ +package com.lottery.funding.mapper; + +import com.lottery.dto.FundingActivityDto; +import com.lottery.entity.Activity; +import com.lottery.vo.FundingActivityVo; +import org.apache.ibatis.annotations.Mapper; + +import java.util.List; + +/** + * @program: lottery-system + * @ClassName IFundingMapper + * @description: + * @author:jihaipeng + * @create: 2025−07-14 15:05 + * @Version 1.0 + **/ +@Mapper +public interface IFundingMapper { + + List getFundingActivity(); + + void updateActivityStatus(Integer id, Integer status); + + void addActivity(Activity activity); +} diff --git a/lottery-system/lottery-service/src/main/java/com/lottery/funding/service/IFundingService.java b/lottery-system/lottery-service/src/main/java/com/lottery/funding/service/IFundingService.java new file mode 100644 index 0000000..44de6bc --- /dev/null +++ b/lottery-system/lottery-service/src/main/java/com/lottery/funding/service/IFundingService.java @@ -0,0 +1,26 @@ +package com.lottery.funding.service; + +import com.lottery.dto.FundingActivityDto; +import com.lottery.result.Result; +import com.lottery.vo.FundingActivityVo; + +import java.util.List; + +/** + * @program: lottery-system + * @ClassName IFundingService + * @description: + * @author:jihaipeng + * @create: 2025−07-14 15:04 + * @Version 1.0 + **/ + +public interface IFundingService { + + List getFundingActivity(); + + + void updateActivityStatus(Integer id, Integer status); + + Result addActivity(FundingActivityDto fundingActivityDto); +} diff --git a/lottery-system/lottery-service/src/main/java/com/lottery/funding/service/Impl/FundingServiceImpl.java b/lottery-system/lottery-service/src/main/java/com/lottery/funding/service/Impl/FundingServiceImpl.java new file mode 100644 index 0000000..257c310 --- /dev/null +++ b/lottery-system/lottery-service/src/main/java/com/lottery/funding/service/Impl/FundingServiceImpl.java @@ -0,0 +1,84 @@ +package com.lottery.funding.service.Impl; + +import com.lottery.dto.FundingActivityDto; +import com.lottery.entity.Activity; +import com.lottery.entity.FundingData; +import com.lottery.funding.mapper.IFundingMapper; +import com.lottery.funding.service.IFundingService; +import com.lottery.result.Result; +import com.lottery.utils.ConvertBeanUtil; +import com.lottery.vo.FundingActivityVo; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.time.LocalDate; +import java.time.LocalDateTime; +import java.time.chrono.ChronoLocalDate; +import java.util.Date; +import java.util.List; + +import static com.lottery.result.Result.success; + +/** + * @program: lottery-system + * @ClassName FundingServiceImpl + * @description: + * @author:jihaipeng + * @create: 2025−07-14 15:04 + * @Version 1.0 + **/ +@Service +public class FundingServiceImpl implements IFundingService { + @Autowired + private IFundingMapper fundingMapper; + +// 获取所有众筹活动 + @Override + public List getFundingActivity() { + List list = fundingMapper.getFundingActivity(); + return list; + } + + //修改众筹的活动状态 + @Override + public void updateActivityStatus(Integer id, Integer status) { + fundingMapper.updateActivityStatus(id, status); + + } + + //添加众筹活动 + @Override + public Result addActivity(FundingActivityDto fundingActivityDto) { + if (fundingActivityDto.getActivityName() == null || fundingActivityDto.getActivityName().equals("")) { + return Result.failure("活动名称不能为空"); + } + if (fundingActivityDto.getMarketOne() == null || fundingActivityDto.getMarketOne().equals("")) { + return Result.failure("市场一不能为空"); + } + if (fundingActivityDto.getMarketTwo() == null || fundingActivityDto.getMarketTwo().equals("")) { + return Result.failure("市场二不能为空"); + } + if (fundingActivityDto.getStartTime() == null) { + return Result.failure("开始时间不能为空"); + } + if (fundingActivityDto.getEndTime() == null) { + return Result.failure("结束时间不能为空"); + } + LocalDate now = LocalDate.now(); + System.out.println( now); + if (fundingActivityDto.getEndTime().isBefore(fundingActivityDto.getStartTime())) { + return Result.failure("结束时间不能早于开始时间"); + } + if (fundingActivityDto.getEndTime().isBefore(ChronoLocalDate.from(now))) { + return Result.failure("结束时间不能早于当前时间"); + } + Activity activity = ConvertBeanUtil.convert(fundingActivityDto, Activity.class); + //获取当前时间 + LocalDateTime creatTime = LocalDateTime.now(); + activity.setCreatedTime(creatTime); + activity.setUpdatedTime(creatTime); + fundingMapper.addActivity(activity); + return Result.success("添加活动成功"); + } + +} diff --git a/lottery-system/lottery-service/src/main/resources/application.yml b/lottery-system/lottery-service/src/main/resources/application.yml index a41ffb8..7cc8330 100644 --- a/lottery-system/lottery-service/src/main/resources/application.yml +++ b/lottery-system/lottery-service/src/main/resources/application.yml @@ -46,3 +46,8 @@ lottery: max-draw-times: 3 # 用户每日最大抽奖次数 + spring: + jackson: + date-format: yyyy-MM-dd HH:mm:ss + time-zone: GMT+8 + diff --git a/lottery-system/lottery-service/src/main/resources/mapper/Page/fundingMapper.xml b/lottery-system/lottery-service/src/main/resources/mapper/Page/fundingMapper.xml new file mode 100644 index 0000000..2bad714 --- /dev/null +++ b/lottery-system/lottery-service/src/main/resources/mapper/Page/fundingMapper.xml @@ -0,0 +1,45 @@ + + + + + INSERT INTO activity (activity_name, + market_one, + market_two, + status, + start_time, + end_time, + created_time, + updated_time) + VALUES (#{activityName}, + #{marketOne}, + #{marketTwo}, + #{status}, + #{startTime}, + #{endTime}, + #{createdTime}, + #{updatedTime}) + + + + UPDATE activity + SET status = #{status} + WHERE id = #{id} + + + + + \ No newline at end of file diff --git a/lottery-system/lottery-service/src/main/resources/mapper/api/gradeMapper.xml b/lottery-system/lottery-service/src/main/resources/mapper/api/gradeMapper.xml new file mode 100644 index 0000000..881a719 --- /dev/null +++ b/lottery-system/lottery-service/src/main/resources/mapper/api/gradeMapper.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/lottery-system/lottery-service/src/main/resources/mapper/api/prizeMapper.xml b/lottery-system/lottery-service/src/main/resources/mapper/api/prizeMapper.xml index 6ee25ff..8962843 100644 --- a/lottery-system/lottery-service/src/main/resources/mapper/api/prizeMapper.xml +++ b/lottery-system/lottery-service/src/main/resources/mapper/api/prizeMapper.xml @@ -2,4 +2,8 @@ + \ No newline at end of file diff --git a/lottery-system/pom.xml b/lottery-system/pom.xml index 242ced7..8de5a64 100644 --- a/lottery-system/pom.xml +++ b/lottery-system/pom.xml @@ -103,6 +103,10 @@ 0.11.5 runtime + + + +