Browse Source

Merge branch 'milestone-20250723-wwl' of http://39.101.133.168:8807/qimaohong/ActivityProject into milestone-20250723-wwl

# Conflicts:
众筹部分接口
#	lottery-system/lottery-service/src/main/java/com/lottery/api/mapper/IPrizeMapper.java
#	lottery-system/lottery-service/src/main/java/com/lottery/api/service/IPrizeService.java
#	lottery-system/lottery-service/src/main/java/com/lottery/api/service/Impl/PrizeServiceImpl.java
feature/0725lihuilin
jihaipeng 1 month ago
parent
commit
02a6f1cfd3
  1. 23
      lottery-system/lottery-common/src/main/java/com/lottery/exception/GlobalException.java
  2. 32
      lottery-system/lottery-common/src/main/java/com/lottery/exception/GlobalExceptionHandler.java
  3. 17
      lottery-system/lottery-common/src/main/java/com/lottery/result/Result.java
  4. 26
      lottery-system/lottery-pojo/src/main/java/com/lottery/dto/FundingActivityDto.java
  5. 51
      lottery-system/lottery-pojo/src/main/java/com/lottery/dto/Prize.java
  6. 39
      lottery-system/lottery-pojo/src/main/java/com/lottery/entity/Activity.java
  7. 34
      lottery-system/lottery-pojo/src/main/java/com/lottery/entity/FundingData.java
  8. 32
      lottery-system/lottery-pojo/src/main/java/com/lottery/entity/FundingUser.java
  9. 42
      lottery-system/lottery-pojo/src/main/java/com/lottery/entity/Grade.java
  10. 19
      lottery-system/lottery-pojo/src/main/java/com/lottery/entity/Prize.java
  11. 25
      lottery-system/lottery-pojo/src/main/java/com/lottery/vo/FundingActivityVo.java
  12. 19
      lottery-system/lottery-pojo/src/main/java/com/lottery/vo/GradeVo.java
  13. 25
      lottery-system/lottery-pojo/src/main/java/com/lottery/vo/PrizeAndGradeVo.java
  14. 23
      lottery-system/lottery-pojo/src/main/java/com/lottery/vo/PrizeVo.java
  15. 4
      lottery-system/lottery-service/src/main/java/com/lottery/LotteryApplication.java
  16. 2
      lottery-system/lottery-service/src/main/java/com/lottery/admin/controller/WInController.java
  17. 44
      lottery-system/lottery-service/src/main/java/com/lottery/api/controller/GradeController.java
  18. 44
      lottery-system/lottery-service/src/main/java/com/lottery/api/controller/PrizeController.java
  19. 14
      lottery-system/lottery-service/src/main/java/com/lottery/api/controller/UserController.java
  20. 17
      lottery-system/lottery-service/src/main/java/com/lottery/api/mapper/IGradeMapper.java
  21. 10
      lottery-system/lottery-service/src/main/java/com/lottery/api/mapper/IPrizeMapper.java
  22. 15
      lottery-system/lottery-service/src/main/java/com/lottery/api/service/IGradeService.java
  23. 9
      lottery-system/lottery-service/src/main/java/com/lottery/api/service/IPrizeService.java
  24. 19
      lottery-system/lottery-service/src/main/java/com/lottery/api/service/Impl/GradeServiceImpl.java
  25. 21
      lottery-system/lottery-service/src/main/java/com/lottery/api/service/Impl/PrizeServiceImpl.java
  26. 72
      lottery-system/lottery-service/src/main/java/com/lottery/funding/controller/FundingController.java
  27. 26
      lottery-system/lottery-service/src/main/java/com/lottery/funding/mapper/IFundingMapper.java
  28. 26
      lottery-system/lottery-service/src/main/java/com/lottery/funding/service/IFundingService.java
  29. 84
      lottery-system/lottery-service/src/main/java/com/lottery/funding/service/Impl/FundingServiceImpl.java
  30. 5
      lottery-system/lottery-service/src/main/resources/application.yml
  31. 45
      lottery-system/lottery-service/src/main/resources/mapper/Page/fundingMapper.xml
  32. 5
      lottery-system/lottery-service/src/main/resources/mapper/api/gradeMapper.xml
  33. 4
      lottery-system/lottery-service/src/main/resources/mapper/api/prizeMapper.xml
  34. 4
      lottery-system/pom.xml

23
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: 202507-14 16:43
* @Version 1.0
**/
@ControllerAdvice
public class GlobalException extends BaseException{
public GlobalException(){
}
public GlobalException(String massage){
super(massage);
}
}

32
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: 202507-14 17:02
* @Version 1.0
**/
@ControllerAdvice // 确保该类被 Spring 管理
@Slf4j
public class GlobalExceptionHandler {
// 处理 GlobalException
@ExceptionHandler(GlobalException.class)
public Result<String> handleGlobalException(GlobalException e) {
log.error("业务异常: {}", e.getMessage(), e);
return Result.failure(e.getMessage());
}
// 处理其他异常
@ExceptionHandler(Exception.class)
public Result<String> handleException(Exception e) {
log.error("系统异常: ", e);
return Result.failure(500, "系统繁忙,请稍后再试");
}
}

17
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: 202507-10 15:59
* @Version 1.0
**/
@Data
public class Result<T> {
// 状态码 200 表示成功500 表示失败
// 状态码 200 表示成功400 表示失败
private Integer code;
// 提示信息 "操作成功" "操作失败"
@ -35,15 +37,22 @@ public class Result<T> {
result.setData(data);
return result;
}
// 失败结果
public static <T> Result<T> failure(int code, String message) {
public static <T> Result<T> failure(String message) {
Result<T> result = new Result<>();
result.setCode(400);
result.setMessage(message);
return result;
}
// 失败结果
public static <T> Result<T> failure(Integer code,String message) {
Result<T> result = new Result<>();
result.setCode(code);
result.setMessage(message);
return result;
}
// Getter Setter 方法
public int getCode() {
return code;

26
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: 202507-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; // 活动结束时间
}

51
lottery-system/lottery-pojo/src/main/java/com/lottery/dto/Prize.java

@ -1,51 +0,0 @@
package com.lottery.dto;
/**
* @program: lottery-system
* @ClassName Gift
* @description:
* @author:jihaipeng
* @create: 202507-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;
}

39
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: 202507-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; // 活动结束时间
}

34
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: 202507-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;
}

32
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: 202507-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
}

42
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;
}

19
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;

25
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: 202507-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; // 活动结束时间
}

19
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;
}

25
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;
}

23
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;
}

4
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);

2
lottery-system/lottery-service/src/main/java/com/lottery/admin/controller/wincontroller.java → 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;

44
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<List<GradeVo>> getAllGrade(){
LOGGER.info("查询全部等级");
List<Grade> list = gradeService.list();
return Result.success(ConvertBeanUtil.convertList(list, GradeVo.class));
}
}

44
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<List<PrizeVo>> getAllPrize(){
LOGGER.info("查询所有礼品和对应等级,按照sort值排序");
List<Prize> list = prizeService.list();
List<PrizeAndGradeVo> l = prizeService.getAllPrizeAndGrade();
return Result.success(ConvertBeanUtil.convertList(list,PrizeVo.class));
}
}

14
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<List<UserVo>> getAllUser(){
LOGGER.info("查询所有用户");
List<User> list = userService.list();
List<UserVo> list1 = new ArrayList<>();
for (User user : list) {
}
return Result.success(list1);
return Result.success(ConvertBeanUtil.convertList(list, UserVo.class));
}
}

17
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<Grade> {
}

10
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<Prize> {
List<PrizeAndGradeVo> selectPrizeAndGrade();
}

15
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<Grade> {
}

9
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<Prize> {
List<PrizeAndGradeVo> getAllPrizeAndGrade();
}

19
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<IGradeMapper, Grade> implements IGradeService {
}

21
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<IPrizeMapper, Prize> implements IPrizeService {
@Autowired
private IPrizeMapper prizeMapper;
@Autowired
private IGradeMapper gradeMapper;
@Override
public List<PrizeAndGradeVo> getAllPrizeAndGrade() {
PrizeAndGradeVo prizeAndGradeVo = new PrizeAndGradeVo();
return prizeMapper.selectPrizeAndGrade();
}
}

72
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: 202507-14 15:03
* @Version 1.0
**/
@RestController
@RequestMapping("/funding")
public class FundingController {
@Autowired
private IFundingService fundingService;
/**
* 获取所有众筹活动
* @return
*/
@GetMapping("/getActivity")
public Result<List<FundingActivityVo>> getFundingActivity(){
List<FundingActivityVo> list = fundingService.getFundingActivity();
return Result.success(list);
}
//修改众筹的活动状态
@PostMapping("/updateActivityStatus")
public Result<String> 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<String> addActivity(@Validated @RequestBody FundingActivityDto fundingActivityDto) {
try {
return fundingService.addActivity(fundingActivityDto);
} catch (Exception e) {
return Result.failure("添加活动失败");
}
}
}

26
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: 202507-14 15:05
* @Version 1.0
**/
@Mapper
public interface IFundingMapper {
List<FundingActivityVo> getFundingActivity();
void updateActivityStatus(Integer id, Integer status);
void addActivity(Activity activity);
}

26
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: 202507-14 15:04
* @Version 1.0
**/
public interface IFundingService {
List<FundingActivityVo> getFundingActivity();
void updateActivityStatus(Integer id, Integer status);
Result<String> addActivity(FundingActivityDto fundingActivityDto);
}

84
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: 202507-14 15:04
* @Version 1.0
**/
@Service
public class FundingServiceImpl implements IFundingService {
@Autowired
private IFundingMapper fundingMapper;
// 获取所有众筹活动
@Override
public List<FundingActivityVo> getFundingActivity() {
List<FundingActivityVo> list = fundingMapper.getFundingActivity();
return list;
}
//修改众筹的活动状态
@Override
public void updateActivityStatus(Integer id, Integer status) {
fundingMapper.updateActivityStatus(id, status);
}
//添加众筹活动
@Override
public Result<String> 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("添加活动成功");
}
}

5
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

45
lottery-system/lottery-service/src/main/resources/mapper/Page/fundingMapper.xml

@ -0,0 +1,45 @@
<?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.lottery.funding.mapper.IFundingMapper">
<insert id="addActivity" parameterType="com.lottery.entity.Activity">
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})
</insert>
<update id="updateActivityStatus">
UPDATE activity
SET status = #{status}
WHERE id = #{id}
</update>
<select id="getFundingActivity" resultType="com.lottery.vo.FundingActivityVo">
SELECT id,
activity_name,
market_one,
market_two,
status,
start_time,
end_time,
CASE status
WHEN 1 THEN '启用'
ELSE '禁用'
END
FROM activity
ORDER BY created_time DESC
</select>
</mapper>

5
lottery-system/lottery-service/src/main/resources/mapper/api/gradeMapper.xml

@ -0,0 +1,5 @@
<?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.lottery.api.mapper.IGradeMapper">
</mapper>

4
lottery-system/lottery-service/src/main/resources/mapper/api/prizeMapper.xml

@ -2,4 +2,8 @@
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.lottery.api.mapper.IPrizeMapper">
<select id="selectPrizeAndGrade" resultType="com.lottery.vo.PrizeAndGradeVo">
select
from ;
</select>
</mapper>

4
lottery-system/pom.xml

@ -103,6 +103,10 @@
<version>0.11.5</version>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId></groupId>
<artifactId></artifactId>
</dependency>
</dependencies>
</project>
Loading…
Cancel
Save