Browse Source
Merge branch 'milestone-20250723-wwl' of http://39.101.133.168:8807/qimaohong/ActivityProject into milestone-20250723-wwl
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.javafeature/0725lihuilin
34 changed files with 788 additions and 89 deletions
-
23lottery-system/lottery-common/src/main/java/com/lottery/exception/GlobalException.java
-
32lottery-system/lottery-common/src/main/java/com/lottery/exception/GlobalExceptionHandler.java
-
17lottery-system/lottery-common/src/main/java/com/lottery/result/Result.java
-
26lottery-system/lottery-pojo/src/main/java/com/lottery/dto/FundingActivityDto.java
-
51lottery-system/lottery-pojo/src/main/java/com/lottery/dto/Prize.java
-
39lottery-system/lottery-pojo/src/main/java/com/lottery/entity/Activity.java
-
34lottery-system/lottery-pojo/src/main/java/com/lottery/entity/FundingData.java
-
32lottery-system/lottery-pojo/src/main/java/com/lottery/entity/FundingUser.java
-
42lottery-system/lottery-pojo/src/main/java/com/lottery/entity/Grade.java
-
19lottery-system/lottery-pojo/src/main/java/com/lottery/entity/Prize.java
-
25lottery-system/lottery-pojo/src/main/java/com/lottery/vo/FundingActivityVo.java
-
19lottery-system/lottery-pojo/src/main/java/com/lottery/vo/GradeVo.java
-
25lottery-system/lottery-pojo/src/main/java/com/lottery/vo/PrizeAndGradeVo.java
-
23lottery-system/lottery-pojo/src/main/java/com/lottery/vo/PrizeVo.java
-
4lottery-system/lottery-service/src/main/java/com/lottery/LotteryApplication.java
-
2lottery-system/lottery-service/src/main/java/com/lottery/admin/controller/WInController.java
-
44lottery-system/lottery-service/src/main/java/com/lottery/api/controller/GradeController.java
-
44lottery-system/lottery-service/src/main/java/com/lottery/api/controller/PrizeController.java
-
14lottery-system/lottery-service/src/main/java/com/lottery/api/controller/UserController.java
-
17lottery-system/lottery-service/src/main/java/com/lottery/api/mapper/IGradeMapper.java
-
10lottery-system/lottery-service/src/main/java/com/lottery/api/mapper/IPrizeMapper.java
-
15lottery-system/lottery-service/src/main/java/com/lottery/api/service/IGradeService.java
-
9lottery-system/lottery-service/src/main/java/com/lottery/api/service/IPrizeService.java
-
19lottery-system/lottery-service/src/main/java/com/lottery/api/service/Impl/GradeServiceImpl.java
-
21lottery-system/lottery-service/src/main/java/com/lottery/api/service/Impl/PrizeServiceImpl.java
-
72lottery-system/lottery-service/src/main/java/com/lottery/funding/controller/FundingController.java
-
26lottery-system/lottery-service/src/main/java/com/lottery/funding/mapper/IFundingMapper.java
-
26lottery-system/lottery-service/src/main/java/com/lottery/funding/service/IFundingService.java
-
84lottery-system/lottery-service/src/main/java/com/lottery/funding/service/Impl/FundingServiceImpl.java
-
5lottery-system/lottery-service/src/main/resources/application.yml
-
45lottery-system/lottery-service/src/main/resources/mapper/Page/fundingMapper.xml
-
5lottery-system/lottery-service/src/main/resources/mapper/api/gradeMapper.xml
-
4lottery-system/lottery-service/src/main/resources/mapper/api/prizeMapper.xml
-
4lottery-system/pom.xml
@ -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); |
||||
|
} |
||||
|
|
||||
|
} |
@ -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<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, "系统繁忙,请稍后再试"); |
||||
|
} |
||||
|
} |
@ -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; // 活动结束时间 |
||||
|
} |
@ -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; |
|
||||
} |
|
@ -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; // 活动结束时间 |
||||
|
} |
@ -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; |
||||
|
} |
@ -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 |
||||
|
} |
@ -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; |
||||
|
} |
@ -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; // 活动结束时间 |
||||
|
} |
@ -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; |
||||
|
} |
@ -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; |
||||
|
} |
@ -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; |
||||
|
} |
@ -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)); |
||||
|
} |
||||
|
} |
@ -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)); |
||||
|
} |
||||
|
} |
@ -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> { |
||||
|
} |
@ -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> { |
||||
|
} |
@ -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 { |
||||
|
} |
@ -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<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("添加活动失败"); |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
} |
@ -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<FundingActivityVo> getFundingActivity(); |
||||
|
|
||||
|
void updateActivityStatus(Integer id, Integer status); |
||||
|
|
||||
|
void addActivity(Activity activity); |
||||
|
} |
@ -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<FundingActivityVo> getFundingActivity(); |
||||
|
|
||||
|
|
||||
|
void updateActivityStatus(Integer id, Integer status); |
||||
|
|
||||
|
Result<String> addActivity(FundingActivityDto fundingActivityDto); |
||||
|
} |
@ -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<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("添加活动成功"); |
||||
|
} |
||||
|
|
||||
|
} |
@ -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> |
@ -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> |
Write
Preview
Loading…
Cancel
Save
Reference in new issue