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