Browse Source

Merge branch 'wuweili/feature-20250715095139-抽奖众筹' into milestone-20250723-wwl

feature/0725lihuilin
willy 1 month ago
parent
commit
bae3e5552b
  1. 2
      lottery-system/lottery-pojo/src/main/java/com/lottery/entity/User.java
  2. 6
      lottery-system/lottery-service/src/main/java/com/lottery/admin/controller/AdminGradeController.java
  3. 1
      lottery-system/lottery-service/src/main/java/com/lottery/admin/controller/AdminPrizeController.java
  4. 1
      lottery-system/lottery-service/src/main/java/com/lottery/admin/controller/AdminUserController.java
  5. 7
      lottery-system/lottery-service/src/main/java/com/lottery/admin/mapper/AdminGradeMapper.java
  6. 2
      lottery-system/lottery-service/src/main/java/com/lottery/admin/mapper/AdminPrizeMapper.java
  7. 3
      lottery-system/lottery-service/src/main/java/com/lottery/admin/service/AdminGradeService.java
  8. 13
      lottery-system/lottery-service/src/main/java/com/lottery/admin/service/Impl/AdminGradeServiceImpl.java
  9. 9
      lottery-system/lottery-service/src/main/java/com/lottery/admin/service/Impl/AdminPrizeServiceImpl.java
  10. 10
      lottery-system/lottery-service/src/main/java/com/lottery/admin/service/Impl/AdminUserServiceImpl.java
  11. 2
      lottery-system/lottery-service/src/main/java/com/lottery/api/controller/LotteryController.java
  12. 2
      lottery-system/lottery-service/src/main/java/com/lottery/api/service/Impl/UserDetailServiceImpl.java
  13. 25
      lottery-system/lottery-service/src/main/java/com/lottery/config/CorsConfig.java

2
lottery-system/lottery-pojo/src/main/java/com/lottery/entity/User.java

@ -13,6 +13,7 @@ import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.annotation.TableName;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data; import lombok.Data;
import lombok.NoArgsConstructor; import lombok.NoArgsConstructor;
@ -23,6 +24,7 @@ import java.util.Date;
@AllArgsConstructor @AllArgsConstructor
@NoArgsConstructor @NoArgsConstructor
@TableName("user") @TableName("user")
@Builder
public class User { public class User {
@TableId(type = IdType.AUTO) @TableId(type = IdType.AUTO)

6
lottery-system/lottery-service/src/main/java/com/lottery/admin/controller/AdminGradeController.java

@ -56,6 +56,12 @@ public class AdminGradeController {
return Result.success(ConvertBeanUtil.convert(adminGradeService.getById(id), GradeVo.class)); return Result.success(ConvertBeanUtil.convert(adminGradeService.getById(id), GradeVo.class));
} }
@PostMapping("/allGradeName")
public Result<List<String>> selectAllGrade(){
//TODo 按照grade的sort返回
return Result.success(adminGradeService.selectAllGrade());
}
@PostMapping("/add") @PostMapping("/add")
public Result add(@RequestBody GradeDto gradeDto){ public Result add(@RequestBody GradeDto gradeDto){

1
lottery-system/lottery-service/src/main/java/com/lottery/admin/controller/AdminPrizeController.java

@ -42,6 +42,7 @@ public class AdminPrizeController {
return Result.success(adminPrizeService.getPrizeById(id)); return Result.success(adminPrizeService.getPrizeById(id));
} }
//TODO 添加图片oss
@PostMapping("/add") @PostMapping("/add")
public Result addPrize(@RequestBody PrizeDto prizeDto) { public Result addPrize(@RequestBody PrizeDto prizeDto) {
LOGGER.info("新增奖品:{}", prizeDto); LOGGER.info("新增奖品:{}", prizeDto);

1
lottery-system/lottery-service/src/main/java/com/lottery/admin/controller/AdminUserController.java

@ -132,6 +132,7 @@ public class AdminUserController {
return Result.success(); return Result.success();
} }
//TODO 导入有点问题
@PostMapping("/import/fix") @PostMapping("/import/fix")
public Result importFixUsers(@RequestParam("file") MultipartFile file, @RequestParam String gradeName) { public Result importFixUsers(@RequestParam("file") MultipartFile file, @RequestParam String gradeName) {
LOGGER.info("开始导入内定用户Excel文件: {}", file.getOriginalFilename()); LOGGER.info("开始导入内定用户Excel文件: {}", file.getOriginalFilename());

7
lottery-system/lottery-service/src/main/java/com/lottery/admin/mapper/AdminGradeMapper.java

@ -3,6 +3,9 @@ package com.lottery.admin.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.lottery.entity.Grade; import com.lottery.entity.Grade;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Select;
import java.util.List;
/** /**
* @program: lottery-system * @program: lottery-system
@ -15,6 +18,10 @@ import org.apache.ibatis.annotations.Mapper;
@Mapper @Mapper
public interface AdminGradeMapper extends BaseMapper<Grade> { public interface AdminGradeMapper extends BaseMapper<Grade> {
@Select("select * from grade where grade_name = #{gradeName}")
Grade selectByName(String gradeName); Grade selectByName(String gradeName);
@Select("select grade_name from grade order by sort desc ")
List<String> selectAllGrade();
} }

2
lottery-system/lottery-service/src/main/java/com/lottery/admin/mapper/AdminPrizeMapper.java

@ -18,6 +18,6 @@ public interface AdminPrizeMapper extends BaseMapper<Prize> {
Page<Prize> pageListPrize(Page<Prize> page, LambdaQueryWrapper<Prize> prizeLambdaQueryWrapper); Page<Prize> pageListPrize(Page<Prize> page, LambdaQueryWrapper<Prize> prizeLambdaQueryWrapper);
@Select("select id from prize where grade_name = #{prizeName}")
@Select("select id from prize where prize_name = #{prizeName}")
Long selectByName(String prizeName); Long selectByName(String prizeName);
} }

3
lottery-system/lottery-service/src/main/java/com/lottery/admin/service/AdminGradeService.java

@ -12,6 +12,7 @@ import com.lottery.vo.PageInfo;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import javax.persistence.criteria.CriteriaBuilder; import javax.persistence.criteria.CriteriaBuilder;
import java.util.List;
/** /**
* @program: lottery-system * @program: lottery-system
@ -26,6 +27,8 @@ import javax.persistence.criteria.CriteriaBuilder;
public interface AdminGradeService extends IService<Grade> { public interface AdminGradeService extends IService<Grade> {
PageInfo<GradeVo> pageSelectGrade(Integer pageNum, Integer pageSize); PageInfo<GradeVo> pageSelectGrade(Integer pageNum, Integer pageSize);
List<String > selectAllGrade();
// boolean updateGrade(GradeDto gradeDto); // boolean updateGrade(GradeDto gradeDto);
} }

13
lottery-system/lottery-service/src/main/java/com/lottery/admin/service/Impl/AdminGradeServiceImpl.java

@ -17,6 +17,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.Date; import java.util.Date;
import java.util.List; import java.util.List;
@ -32,6 +33,12 @@ import java.util.List;
@Service @Service
public class AdminGradeServiceImpl extends ServiceImpl<AdminGradeMapper, Grade> implements AdminGradeService { public class AdminGradeServiceImpl extends ServiceImpl<AdminGradeMapper, Grade> implements AdminGradeService {
private final AdminGradeMapper adminGradeMapper;
public AdminGradeServiceImpl(AdminGradeMapper adminGradeMapper) {
this.adminGradeMapper = adminGradeMapper;
}
/** /**
* |分页查询 * |分页查询
* @param pageNum * @param pageNum
@ -51,6 +58,12 @@ public class AdminGradeServiceImpl extends ServiceImpl<AdminGradeMapper, Grade>
return PageInfo.of(gradePage, gradeVos); return PageInfo.of(gradePage, gradeVos);
} }
@Override
public List<String> selectAllGrade() {
// List<String> GradeNameList = new ArrayList<>();
return adminGradeMapper.selectAllGrade();
}
// @Autowired // @Autowired
// private AdminGradeMapper adminGradeMapper; // private AdminGradeMapper adminGradeMapper;

9
lottery-system/lottery-service/src/main/java/com/lottery/admin/service/Impl/AdminPrizeServiceImpl.java

@ -157,7 +157,14 @@ public class AdminPrizeServiceImpl extends ServiceImpl<AdminPrizeMapper, Prize>
//先判断新增的内定用户是否在总的抽奖用户中 //先判断新增的内定用户是否在总的抽奖用户中
Long userId = adminUserMapper.selectByJwcode(fixUserDto.getJwcode()); Long userId = adminUserMapper.selectByJwcode(fixUserDto.getJwcode());
if (userId == null) { if (userId == null) {
adminUserMapper.insert(ConvertBeanUtil.convert(fixUserDto, User.class)); //不存在插入总表
User user = User.builder()
.username(fixUserDto.getUsername())
.jwcode(fixUserDto.getJwcode())
.password("123456")
.isWin(0)
.createTime(new Date())
.updateTime(new Date()).build();
adminUserMapper.insert(user); //不存在插入总表
} }
Grade grade = adminGradeMapper.selectByName(fixUserDto.getGradeName()); Grade grade = adminGradeMapper.selectByName(fixUserDto.getGradeName());

10
lottery-system/lottery-service/src/main/java/com/lottery/admin/service/Impl/AdminUserServiceImpl.java

@ -95,7 +95,14 @@ public class AdminUserServiceImpl extends ServiceImpl<AdminUserMapper, User> imp
if(this.count(lambdaQueryWrapper) > 0) { if(this.count(lambdaQueryWrapper) > 0) {
return false; return false;
} }
return this.save(ConvertBeanUtil.convert(userDto, User.class));
User user = new User(); // 改用构造函数或直接赋值避免 Builder 潜在问题
user.setUsername(userDto.getUsername());
user.setJwcode(jwcode);
user.setIsWin(0);
user.setCreateTime(new Date());
user.setUpdateTime(new Date());
user.setPassword("123456"); // 显式设置避免被覆盖
return this.save(user);
} }
@Override @Override
@ -161,6 +168,7 @@ public class AdminUserServiceImpl extends ServiceImpl<AdminUserMapper, User> imp
User user = new User(); User user = new User();
user.setJwcode(dto.getJwcode()); user.setJwcode(dto.getJwcode());
user.setUsername(dto.getUsername()); user.setUsername(dto.getUsername());
user.setIsWin(0);
user.setCreateTime(new Date()); user.setCreateTime(new Date());
user.setUpdateTime(new Date()); user.setUpdateTime(new Date());
// 设置默认密码 // 设置默认密码

2
lottery-system/lottery-service/src/main/java/com/lottery/api/controller/LotteryController.java

@ -31,7 +31,7 @@ public class LotteryController {
@Autowired @Autowired
private IUserDetailService userDetailService; private IUserDetailService userDetailService;
@GetMapping("/start")
@PostMapping("/start")
public Result<List<UserVo>> StartLottery(@RequestBody StartLotteryDto startLotteryDto){ public Result<List<UserVo>> StartLottery(@RequestBody StartLotteryDto startLotteryDto){
LOGGER.info("开始抽奖: 等级是:{},奖品是:{},抽取人数:{}",startLotteryDto.getGradeName(),startLotteryDto.getPrizeName(),startLotteryDto.getPerWin()); LOGGER.info("开始抽奖: 等级是:{},奖品是:{},抽取人数:{}",startLotteryDto.getGradeName(),startLotteryDto.getPrizeName(),startLotteryDto.getPerWin());

2
lottery-system/lottery-service/src/main/java/com/lottery/api/service/Impl/UserDetailServiceImpl.java

@ -21,6 +21,7 @@ import com.lottery.vo.WinUserVo;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.converter.StringHttpMessageConverter; import org.springframework.http.converter.StringHttpMessageConverter;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Collections; import java.util.Collections;
@ -136,6 +137,7 @@ public class UserDetailServiceImpl extends ServiceImpl<IUserDetailMapper, UserDe
// } // }
@Override @Override
@Transactional(rollbackFor = Exception.class)
public List<UserVo> StartLottery(StartLotteryDto startLotteryDto) { public List<UserVo> StartLottery(StartLotteryDto startLotteryDto) {
// 1. 获取年级ID // 1. 获取年级ID
Long gradeId = gradeMapper.selectByName(startLotteryDto.getGradeName()); Long gradeId = gradeMapper.selectByName(startLotteryDto.getGradeName());

25
lottery-system/lottery-service/src/main/java/com/lottery/config/CorsConfig.java

@ -0,0 +1,25 @@
package com.lottery.config;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.CorsRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
/**
* @program: lottery
* @ClassName CorsConfig
* @description:
* @author: wwl
* @create: 2025-07-18 10:21
* @Version 1.0
**/
@Configuration
public class CorsConfig implements WebMvcConfigurer {
@Override
public void addCorsMappings(CorsRegistry registry) {
registry.addMapping("/**")
.allowedOrigins("*") // 允许所有来源
.allowedMethods("GET", "POST", "PUT", "DELETE", "OPTIONS")
.allowedHeaders("*");
}
}
Loading…
Cancel
Save