Browse Source

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

feature/0725lihuilin
willy 4 weeks ago
parent
commit
100b2f5afc
  1. 3
      lottery-system/lottery-pojo/src/main/java/com/lottery/entity/Grade.java
  2. 3
      lottery-system/lottery-pojo/src/main/java/com/lottery/entity/Prize.java
  3. 4
      lottery-system/lottery-pojo/src/main/java/com/lottery/entity/UserDetail.java
  4. 4
      lottery-system/lottery-pojo/src/main/java/com/lottery/entity/WinnerRecord.java
  5. 23
      lottery-system/lottery-pojo/src/main/java/com/lottery/vo/AdminLoginVo.java
  6. 13
      lottery-system/lottery-service/src/main/java/com/lottery/admin/controller/AdminGradeController.java
  7. 2
      lottery-system/lottery-service/src/main/java/com/lottery/admin/controller/AdminPrizeController.java
  8. 5
      lottery-system/lottery-service/src/main/java/com/lottery/admin/controller/AdminUserController.java
  9. 7
      lottery-system/lottery-service/src/main/java/com/lottery/admin/mapper/AdminGradeMapper.java
  10. 4
      lottery-system/lottery-service/src/main/java/com/lottery/admin/mapper/AdminPrizeMapper.java
  11. 3
      lottery-system/lottery-service/src/main/java/com/lottery/admin/service/AdminGradeService.java
  12. 2
      lottery-system/lottery-service/src/main/java/com/lottery/admin/service/AdminPrizeService.java
  13. 5
      lottery-system/lottery-service/src/main/java/com/lottery/admin/service/AdminUserService.java
  14. 54
      lottery-system/lottery-service/src/main/java/com/lottery/admin/service/Impl/AdminGradeServiceImpl.java
  15. 82
      lottery-system/lottery-service/src/main/java/com/lottery/admin/service/Impl/AdminPrizeServiceImpl.java
  16. 22
      lottery-system/lottery-service/src/main/java/com/lottery/admin/service/Impl/AdminUserServiceImpl.java
  17. 1
      lottery-system/lottery-service/src/main/resources/mapper/admin/AdminPrizeMapper.xml
  18. 1
      lottery-system/lottery-service/src/main/resources/mapper/api/prizeMapper.xml

3
lottery-system/lottery-pojo/src/main/java/com/lottery/entity/Grade.java

@ -39,6 +39,9 @@ public class Grade {
@TableField("remain_num") @TableField("remain_num")
private int remainNum; private int remainNum;
@TableField("is_del")
private int isDel;
@TableField(value = "create_time", fill = FieldFill.INSERT) // 自动填充创建时间 @TableField(value = "create_time", fill = FieldFill.INSERT) // 自动填充创建时间
private Date createTime; private Date createTime;

3
lottery-system/lottery-pojo/src/main/java/com/lottery/entity/Prize.java

@ -43,6 +43,9 @@ public class Prize {
// 更新时间 // 更新时间
private Date updateTime; private Date updateTime;
@TableField("is_del")
private int is_del;
// 用于标记实体类中的非数据库字段一般可以用关联查询的额外字段 // 用于标记实体类中的非数据库字段一般可以用关联查询的额外字段
@TableField(exist = false) @TableField(exist = false)

4
lottery-system/lottery-pojo/src/main/java/com/lottery/entity/UserDetail.java

@ -1,6 +1,7 @@
package com.lottery.entity; package com.lottery.entity;
import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
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;
@ -29,4 +30,7 @@ public class UserDetail {
private Long gradeId; private Long gradeId;
private int isFixed; private int isFixed;
@TableField("is_del")
private int isDel;
} }

4
lottery-system/lottery-pojo/src/main/java/com/lottery/entity/WinnerRecord.java

@ -9,6 +9,7 @@ package com.lottery.entity;
* @Version 1.0 * @Version 1.0
**/ **/
import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
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 com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.annotation.JsonFormat;
@ -33,6 +34,9 @@ public class WinnerRecord {
private Long prizeId; // 奖品ID private Long prizeId; // 奖品ID
@TableField("is_del")
private int isDel;
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
private Date winTime; // 中奖时间 private Date winTime; // 中奖时间

23
lottery-system/lottery-pojo/src/main/java/com/lottery/vo/AdminLoginVo.java

@ -0,0 +1,23 @@
//package com.lottery.vo;
//
//import com.alibaba.excel.converters.string.StringErrorConverter;
//import lombok.Data;
//
///**
// * @program: lottery
// * @ClassName AdminLoginVo
// * @description:
// * @author: wwl
// * @create: 2025-07-21 11:46
// * @Version 1.0
// **/
//@Data
//public class AdminLoginVo {
//
// private long id;
//
// private String username;
//
// private String token;
//
//}

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

@ -29,6 +29,8 @@ import java.util.List;
* @create: 2025-07-14 14:44 * @create: 2025-07-14 14:44
* @Version 1.0 * @Version 1.0
**/ **/
//TODo 删除等级时 把奖品表关联删除删除用户表时把内定用户表关联删除增加内定多一个逻辑如果增加的内定用户已存在表中增加失败其实就是一个用户只能内定一个等级
@RestController @RestController
@RequestMapping("/admin/grade") @RequestMapping("/admin/grade")
public class AdminGradeController { public class AdminGradeController {
@ -72,8 +74,10 @@ public class AdminGradeController {
return Result.failure("所有字段都必须填写"); return Result.failure("所有字段都必须填写");
} }
// 修改自己等级会错误
LambdaQueryWrapper<Grade> queryWrapper = new LambdaQueryWrapper<>(); LambdaQueryWrapper<Grade> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(Grade::getGradeName, gradeDto.getGradeName());
queryWrapper.eq(Grade::getGradeName, gradeDto.getGradeName())
.eq(Grade::getIsDel, 0);;
if (adminGradeService.count(queryWrapper) > 0) { if (adminGradeService.count(queryWrapper) > 0) {
return Result.failure("等级已存在,新增失败"); return Result.failure("等级已存在,新增失败");
} }
@ -96,8 +100,10 @@ public class AdminGradeController {
return Result.failure("修改的id不存在"); return Result.failure("修改的id不存在");
} }
//TOdo 修改自己会失败
LambdaQueryWrapper<Grade> queryWrapper = new LambdaQueryWrapper<>(); LambdaQueryWrapper<Grade> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(Grade::getGradeName, gradeDto.getGradeName());
queryWrapper.eq(Grade::getGradeName, gradeDto.getGradeName())
.eq(Grade::getIsDel, 0);
if (adminGradeService.count(queryWrapper) > 0) { if (adminGradeService.count(queryWrapper) > 0) {
return Result.failure("等级已存在,修改失败"); return Result.failure("等级已存在,修改失败");
} }
@ -109,10 +115,11 @@ public class AdminGradeController {
return Result.success(); return Result.success();
} }
//TODO
@PostMapping("/delete") @PostMapping("/delete")
public Result delete(@RequestParam Long id){ public Result delete(@RequestParam Long id){
LOGGER.info("删除id为:{} 的等级" ,id); LOGGER.info("删除id为:{} 的等级" ,id);
if (!adminGradeService.removeById(id)){
if (!adminGradeService.removeGradeById(id)){
return Result.failure("删除失败"); return Result.failure("删除失败");
} }
return Result.success(); return Result.success();

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

@ -80,7 +80,7 @@ public class AdminPrizeController {
@PostMapping("/delete") @PostMapping("/delete")
public Result deletePrize(@RequestParam Long id) { public Result deletePrize(@RequestParam Long id) {
LOGGER.info("根基id:{},删除奖品",id); LOGGER.info("根基id:{},删除奖品",id);
if (!adminPrizeService.removeById(id)){
if (!adminPrizeService.removePrizeById(id)){
return Result.failure("删除失败"); return Result.failure("删除失败");
} }
return Result.success(); return Result.success();

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

@ -11,6 +11,7 @@ import com.lottery.result.Result;
import com.lottery.utils.ConvertBeanUtil; import com.lottery.utils.ConvertBeanUtil;
import com.lottery.utils.ExcelUtil; import com.lottery.utils.ExcelUtil;
import com.lottery.vo.PageInfo; import com.lottery.vo.PageInfo;
import com.lottery.vo.UserLoginVo;
import com.lottery.vo.UserVo; import com.lottery.vo.UserVo;
import org.apache.logging.log4j.util.PerformanceSensitive; import org.apache.logging.log4j.util.PerformanceSensitive;
import org.slf4j.Logger; import org.slf4j.Logger;
@ -73,7 +74,7 @@ public class AdminUserController {
@PostMapping("/delete") @PostMapping("/delete")
public Result delete(@RequestParam Long id) { public Result delete(@RequestParam Long id) {
LOGGER.info("根据id删除用户:{}",id); LOGGER.info("根据id删除用户:{}",id);
adminUserService.removeById(id);
adminUserService.removeUserById(id);
return Result.success(); return Result.success();
} }
@ -104,7 +105,7 @@ public class AdminUserController {
} }
@PostMapping("/login") @PostMapping("/login")
public Result login(@RequestBody AdminLogin adminLogin) {
public Result<UserLoginVo> login(@RequestBody AdminLogin adminLogin) {
LOGGER.info("管理员登录:{}",adminLogin); LOGGER.info("管理员登录:{}",adminLogin);
return adminUserService.AdminUserlogin(adminLogin); return adminUserService.AdminUserlogin(adminLogin);

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

@ -5,6 +5,7 @@ import com.lottery.entity.Grade;
import com.lottery.vo.GradeSimpleVo; import com.lottery.vo.GradeSimpleVo;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Select; import org.apache.ibatis.annotations.Select;
import org.apache.ibatis.annotations.Update;
import java.util.List; import java.util.List;
@ -23,6 +24,10 @@ public interface AdminGradeMapper extends BaseMapper<Grade> {
@Select("select * from grade where grade_name = #{gradeName}") @Select("select * from grade where grade_name = #{gradeName}")
Grade selectByName(String gradeName); Grade selectByName(String gradeName);
@Select("select grade_name, id from grade order by sort desc ")
@Select("select grade_name, id from grade where is_del = 0 order by sort desc ")
List<GradeSimpleVo> selectAllGrade(); List<GradeSimpleVo> selectAllGrade();
@Update("update grade set is_del = 1 where id = #{id}")
void deleteGradeById(Long id);
} }

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

@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.lottery.entity.Prize; import com.lottery.entity.Prize;
import org.apache.ibatis.annotations.Select; import org.apache.ibatis.annotations.Select;
import org.apache.ibatis.annotations.Update;
/** /**
* @program: lottery * @program: lottery
@ -20,4 +21,7 @@ public interface AdminPrizeMapper extends BaseMapper<Prize> {
@Select("select id from prize where prize_name = #{prizeName}") @Select("select id from prize where prize_name = #{prizeName}")
Long selectByName(String prizeName); Long selectByName(String prizeName);
@Update("update prize set is_del = 1 where id = #{id}")
boolean deletePrizeById(Long id);
} }

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

@ -21,6 +21,7 @@ import java.util.List;
* @description: * @description:
* @author: wwl * @author: wwl
* @create: 2025-07-14 14:40 * @create: 2025-07-14 14:40
*
* @Version 1.0 * @Version 1.0
**/ **/
@ -32,6 +33,8 @@ public interface AdminGradeService extends IService<Grade> {
boolean saveGrade(GradeDto gradeDto); boolean saveGrade(GradeDto gradeDto);
boolean removeGradeById(Long id);
// boolean updateGradeById(GradeDto GradeDto); // boolean updateGradeById(GradeDto GradeDto);

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

@ -25,4 +25,6 @@ public interface AdminPrizeService extends IService<Prize> {
PrizeVo getPrizeById(Long id); PrizeVo getPrizeById(Long id);
void addWinUser(FixUserDto fixUserDto); void addWinUser(FixUserDto fixUserDto);
boolean removePrizeById(Long id);
} }

5
lottery-system/lottery-service/src/main/java/com/lottery/admin/service/AdminUserService.java

@ -7,6 +7,7 @@ import com.lottery.dto.UserQueryDto;
import com.lottery.entity.User; import com.lottery.entity.User;
import com.lottery.result.Result; import com.lottery.result.Result;
import com.lottery.vo.PageInfo; import com.lottery.vo.PageInfo;
import com.lottery.vo.UserLoginVo;
import com.lottery.vo.UserVo; import com.lottery.vo.UserVo;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.web.multipart.MultipartFile; import org.springframework.web.multipart.MultipartFile;
@ -28,7 +29,7 @@ public interface AdminUserService extends IService<User> {
Result AdminUserlogin(AdminLogin adminLogin);
Result<UserLoginVo> AdminUserlogin(AdminLogin adminLogin);
boolean addUser(UserDto userDto); boolean addUser(UserDto userDto);
@ -38,5 +39,7 @@ public interface AdminUserService extends IService<User> {
Result importUsers(MultipartFile file); Result importUsers(MultipartFile file);
void removeUserById(Long id);
} }

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

@ -1,13 +1,21 @@
package com.lottery.admin.service.Impl; package com.lottery.admin.service.Impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.extension.conditions.update.LambdaUpdateChainWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.lottery.LotteryApplication; import com.lottery.LotteryApplication;
import com.lottery.admin.mapper.AdminGradeMapper; import com.lottery.admin.mapper.AdminGradeMapper;
import com.lottery.admin.mapper.AdminPrizeMapper;
import com.lottery.admin.mapper.AdminUserDetailMapper;
import com.lottery.admin.mapper.AdminWinMapper;
import com.lottery.admin.service.AdminGradeService; import com.lottery.admin.service.AdminGradeService;
import com.lottery.dto.GradeDto; import com.lottery.dto.GradeDto;
import com.lottery.entity.Grade; import com.lottery.entity.Grade;
import com.lottery.entity.Prize;
import com.lottery.entity.UserDetail;
import com.lottery.entity.WinnerRecord;
import com.lottery.exception.SomeException; import com.lottery.exception.SomeException;
import com.lottery.result.Result; import com.lottery.result.Result;
import com.lottery.utils.ConvertBeanUtil; import com.lottery.utils.ConvertBeanUtil;
@ -16,7 +24,9 @@ import com.lottery.vo.GradeVo;
import com.lottery.vo.PageInfo; import com.lottery.vo.PageInfo;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.ParameterResolutionDelegate;
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.Date; import java.util.Date;
@ -34,7 +44,17 @@ 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;
@Autowired
private AdminGradeMapper adminGradeMapper;
@Autowired
private AdminPrizeMapper adminPrizeMapper;
@Autowired
private AdminUserDetailMapper adminUserDetailMapper;
@Autowired
private AdminWinMapper adminWinMapper;
public AdminGradeServiceImpl(AdminGradeMapper adminGradeMapper) { public AdminGradeServiceImpl(AdminGradeMapper adminGradeMapper) {
this.adminGradeMapper = adminGradeMapper; this.adminGradeMapper = adminGradeMapper;
@ -52,6 +72,7 @@ public class AdminGradeServiceImpl extends ServiceImpl<AdminGradeMapper, Grade>
Page<Grade> page = new Page<>(pageNum, pageSize); Page<Grade> page = new Page<>(pageNum, pageSize);
LambdaQueryWrapper<Grade> gradeLambdaQueryWrapper = new LambdaQueryWrapper<>(); LambdaQueryWrapper<Grade> gradeLambdaQueryWrapper = new LambdaQueryWrapper<>();
gradeLambdaQueryWrapper.eq(Grade::getIsDel, 0);
gradeLambdaQueryWrapper.orderByDesc(Grade::getSort); gradeLambdaQueryWrapper.orderByDesc(Grade::getSort);
Page<Grade> gradePage = this.page(page, gradeLambdaQueryWrapper); Page<Grade> gradePage = this.page(page, gradeLambdaQueryWrapper);
@ -73,12 +94,43 @@ public class AdminGradeServiceImpl extends ServiceImpl<AdminGradeMapper, Grade>
grade.setRemainNum(gradeDto.getAmount()); grade.setRemainNum(gradeDto.getAmount());
grade.setCreateTime(new Date()); grade.setCreateTime(new Date());
grade.setUpdateTime(new Date()); grade.setUpdateTime(new Date());
grade.setIsDel(0);
if (this.save(grade)){ if (this.save(grade)){
return true; return true;
}; };
return false; return false;
} }
@Override
@Transactional
public boolean removeGradeById(Long id) {
//把关联的win_record表删了
//先根据 gradeId 查询关联的 prizeId
LambdaQueryWrapper<Prize> prizeQueryWrapper = new LambdaQueryWrapper<>();
prizeQueryWrapper.eq(Prize::getGradeId, id).select(Prize::getId);
Prize prize = adminPrizeMapper.selectOne(prizeQueryWrapper);
LambdaUpdateWrapper<WinnerRecord> updateWrapper3 = new LambdaUpdateWrapper<>();
updateWrapper3.eq(WinnerRecord::getPrizeId, prize.getId()).set(WinnerRecord::getIsDel,1);
adminWinMapper.update(null, updateWrapper3);
//吧关联的prize表删了
LambdaUpdateWrapper<Prize> updateWrapper = new LambdaUpdateWrapper<>();
updateWrapper.eq(Prize::getGradeId, id).set(Prize::getIs_del, 1);
adminPrizeMapper.update(null, updateWrapper);
//把关联的user_detail表删了
LambdaUpdateWrapper<UserDetail> updateWrapper1 = new LambdaUpdateWrapper<>();
updateWrapper1.eq(UserDetail::getGradeId, id).set(UserDetail::getIsDel, 1);
adminUserDetailMapper.update(null, updateWrapper1);
//最后逻辑删除等级
adminGradeMapper.deleteGradeById(id);
return true;
}
// @Autowired // @Autowired
// private AdminGradeMapper adminGradeMapper; // private AdminGradeMapper adminGradeMapper;

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

@ -1,24 +1,21 @@
package com.lottery.admin.service.Impl; package com.lottery.admin.service.Impl;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.lottery.admin.mapper.AdminGradeMapper;
import com.lottery.admin.mapper.AdminPrizeMapper;
import com.lottery.admin.mapper.AdminUserDetailMapper;
import com.lottery.admin.mapper.AdminUserMapper;
import com.lottery.admin.mapper.*;
import com.lottery.admin.service.AdminPrizeService; import com.lottery.admin.service.AdminPrizeService;
import com.lottery.dto.PrizeDto; import com.lottery.dto.PrizeDto;
import com.lottery.dto.FixUserDto; import com.lottery.dto.FixUserDto;
import com.lottery.entity.Grade;
import com.lottery.entity.Prize;
import com.lottery.entity.User;
import com.lottery.entity.UserDetail;
import com.lottery.entity.*;
import com.lottery.utils.ConvertBeanUtil; import com.lottery.utils.ConvertBeanUtil;
import com.lottery.vo.PageInfo; import com.lottery.vo.PageInfo;
import com.lottery.vo.PrizeVo; import com.lottery.vo.PrizeVo;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.Date; import java.util.Date;
import java.util.List; import java.util.List;
@ -45,6 +42,8 @@ public class AdminPrizeServiceImpl extends ServiceImpl<AdminPrizeMapper, Prize>
@Autowired @Autowired
private AdminUserMapper adminUserMapper; private AdminUserMapper adminUserMapper;
@Autowired
private AdminWinMapper adminWinMapper;
@Override @Override
public PageInfo<PrizeVo> pageListPrize(int pageNum, int pageSize) { public PageInfo<PrizeVo> pageListPrize(int pageNum, int pageSize) {
@ -60,20 +59,36 @@ public class AdminPrizeServiceImpl extends ServiceImpl<AdminPrizeMapper, Prize>
@Override @Override
public boolean add(PrizeDto prizeDto) { public boolean add(PrizeDto prizeDto) {
Long gradeId = prizeDto.getGradeId();
Grade grade = adminGradeMapper.selectById(gradeId);
// Long gradeId = prizeDto.getGradeId();
// Grade grade = adminGradeMapper.selectById(gradeId);
// if (grade == null) { // if (grade == null) {
//// return Result.failure("等级不存在"); //// return Result.failure("等级不存在");
// throw new SomeException("heheh"); // throw new SomeException("heheh");
// } // }
// 3. 检查该等级是否已有奖品 // 3. 检查该等级是否已有奖品
LambdaQueryWrapper<Prize> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(Prize::getGradeId, grade.getId());
if (this.count(wrapper) > 0) {
// return Result.failure("该等级已存在奖品,不能重复添加");
// throw new SomeException("heheh");
return false;
// LambdaQueryWrapper<Prize> wrapper = new LambdaQueryWrapper<>();
// wrapper.eq(Prize::getGradeId, grade.getId());
// if (this.count(wrapper) > 0) {
//// return Result.failure("该等级已存在奖品,不能重复添加");
//// throw new SomeException("heheh");
// return false;
// }
// 1. 查询关联的等级grade状态
Grade grade = adminGradeMapper.selectById(prizeDto.getGradeId()); // 假设 gradeId 是传入的等级ID
if (grade == null) {
return false; // 等级不存在直接返回失败
}
// 2. 检查逻辑仅当等级未删除is_del=0且已存在奖品时才拒绝添加
if (grade.getIsDel() == 0) { // 等级未删除
LambdaQueryWrapper<Prize> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(Prize::getGradeId, prizeDto.getGradeId());
if (this.count(wrapper) > 0) {
return false; // 等级未删除且已有奖品拒绝添加
}
} }
Prize prize = Prize.builder() Prize prize = Prize.builder()
@ -82,12 +97,20 @@ public class AdminPrizeServiceImpl extends ServiceImpl<AdminPrizeMapper, Prize>
.imageUrl(prizeDto.getImageUrl()) .imageUrl(prizeDto.getImageUrl())
.createTime(new Date()) .createTime(new Date())
.updateTime(new Date()) .updateTime(new Date())
.is_del(0)
.build(); .build();
return this.save(prize);
boolean isPrizeSaved = this.save(prize);
// if (isPrizeSaved && grade.getIsDel() == 1) {
// grade.setIsDel(0); // 恢复等级为未删除
// grade.setUpdateTime(new Date());
// adminGradeMapper.updateById(grade);
// }
return isPrizeSaved;
} }
@Override @Override
@Transactional
public boolean updatePrize(PrizeDto prizeDto) { public boolean updatePrize(PrizeDto prizeDto) {
Long gradeId = prizeDto.getGradeId(); Long gradeId = prizeDto.getGradeId();
Grade grade = adminGradeMapper.selectById(gradeId); Grade grade = adminGradeMapper.selectById(gradeId);
@ -99,12 +122,20 @@ public class AdminPrizeServiceImpl extends ServiceImpl<AdminPrizeMapper, Prize>
return false; // 原奖品不存在 return false; // 原奖品不存在
} }
// 2. 查询目标等级信息 // 2. 查询目标等级信息
Grade targetGrade = adminGradeMapper.selectById(gradeId); Grade targetGrade = adminGradeMapper.selectById(gradeId);
if (targetGrade == null) { if (targetGrade == null) {
return false; // 目标等级不存在 return false; // 目标等级不存在
} }
// 如果目标等级已删除(is_del=1)禁止修改
if (targetGrade.getIsDel() == 1) {
return false; // 目标等级已删除不允许修改
}
// 3. 如果修改后的等级和原等级不同检查目标等级是否已有奖品 // 3. 如果修改后的等级和原等级不同检查目标等级是否已有奖品
if (!targetGrade.getId().equals(originalPrize.getGradeId())) { if (!targetGrade.getId().equals(originalPrize.getGradeId())) {
LambdaQueryWrapper<Prize> wrapper = new LambdaQueryWrapper<>(); LambdaQueryWrapper<Prize> wrapper = new LambdaQueryWrapper<>();
@ -175,4 +206,21 @@ public class AdminPrizeServiceImpl extends ServiceImpl<AdminPrizeMapper, Prize>
userDetail.setIsFixed(1); userDetail.setIsFixed(1);
adminUserDetailMapper.insert(userDetail); adminUserDetailMapper.insert(userDetail);
} }
@Override
public boolean removePrizeById(Long id) {
//把关联的win_record表删了
LambdaUpdateWrapper<WinnerRecord> updateWrapper = new LambdaUpdateWrapper<>();
updateWrapper.eq(WinnerRecord::getPrizeId, id).set(WinnerRecord::getIsDel, 1);
adminWinMapper.update(null, updateWrapper);
// //把关联的user_detail表删了
// LambdaUpdateWrapper<UserDetail> wrapper = new LambdaUpdateWrapper<>();
// wrapper.eq(UserDetail::getUserId, id);
// adminUserDetailMapper.update(null, wrapper);
//最后逻辑删除奖品
return adminPrizeMapper.deletePrizeById(id);
}
} }

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

@ -20,6 +20,7 @@ import com.lottery.result.Result;
import com.lottery.utils.ConvertBeanUtil; import com.lottery.utils.ConvertBeanUtil;
import com.lottery.utils.ExcelUtil; import com.lottery.utils.ExcelUtil;
import com.lottery.vo.PageInfo; import com.lottery.vo.PageInfo;
import com.lottery.vo.UserLoginVo;
import com.lottery.vo.UserVo; import com.lottery.vo.UserVo;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
@ -50,17 +51,17 @@ public class AdminUserServiceImpl extends ServiceImpl<AdminUserMapper, User> imp
private final static Logger LOGGER = LoggerFactory.getLogger(AdminUserController.class); private final static Logger LOGGER = LoggerFactory.getLogger(AdminUserController.class);
@Override @Override
public Result AdminUserlogin(AdminLogin adminLogin) {
public Result<UserLoginVo> AdminUserlogin(AdminLogin adminLogin) {
String token = "";
try { try {
// 1. 准备请求参数 // 1. 准备请求参数
Map<String, String> params = new HashMap<>(); Map<String, String> params = new HashMap<>();
params.put("username", adminLogin.getUsername()); // 替换为实际用户名 params.put("username", adminLogin.getUsername()); // 替换为实际用户名
params.put("password", adminLogin.getPassword()); // 替换为实际密码 params.put("password", adminLogin.getPassword()); // 替换为实际密码
params.put("app_from", "toujiao"); // canshu
params.put("app_from", "en"); // canshu
// 2. 调用登录API // 2. 调用登录API
String loginUrl = "http://39.101.133.168:8828/hljwgo/api/user/login_jwcode";
String loginUrl = "http://39.101.133.168:8828/hljw/api/user/login_jwcode";
String response = postUrlencoded(loginUrl, params); String response = postUrlencoded(loginUrl, params);
// 3. 处理响应 // 3. 处理响应
@ -68,10 +69,11 @@ public class AdminUserServiceImpl extends ServiceImpl<AdminUserMapper, User> imp
JSONObject jsonResponse = new JSONObject(response); JSONObject jsonResponse = new JSONObject(response);
// 检查状态码 // 检查状态码
if (jsonResponse.getInt("code") == 200) { if (jsonResponse.getInt("code") == 200) {
JSONObject data = jsonResponse.getJSONObject("data"); JSONObject data = jsonResponse.getJSONObject("data");
String token = data.getString("token");
token = data.getString("token");
LOGGER.info("登录成功,Token:{} " ,token); LOGGER.info("登录成功,Token:{} " ,token);
// 后续可以使用token调用其他API // 后续可以使用token调用其他API
@ -84,7 +86,10 @@ public class AdminUserServiceImpl extends ServiceImpl<AdminUserMapper, User> imp
System.err.println("登录失败: " + e.getMessage()); System.err.println("登录失败: " + e.getMessage());
return Result.failure("登录失败"); return Result.failure("登录失败");
} }
return Result.success();
UserLoginVo userLoginVo = new UserLoginVo();
userLoginVo.setUsername(adminLogin.getUsername());
userLoginVo.setToken(token);
return Result.success(userLoginVo);
} }
@Override @Override
@ -164,6 +169,11 @@ public class AdminUserServiceImpl extends ServiceImpl<AdminUserMapper, User> imp
} }
} }
@Override
public void removeUserById(Long id) {
this.removeById(id);
}
private User convertToEntity(UserImportDto dto) { private User convertToEntity(UserImportDto dto) {
User user = new User(); User user = new User();
user.setJwcode(dto.getJwcode()); user.setJwcode(dto.getJwcode());

1
lottery-system/lottery-service/src/main/resources/mapper/admin/AdminPrizeMapper.xml

@ -6,6 +6,7 @@
select p.*, g.grade_name select p.*, g.grade_name
from prize p from prize p
left join grade g on p.grade_id = g.id left join grade g on p.grade_id = g.id
where p.is_del = 0
order by g.sort desc order by g.sort desc
</select> </select>
</mapper> </mapper>

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

@ -6,6 +6,7 @@
select p.prize_name, p.image_url, p.id as prizeId, g.grade_name, g.amount, g.per_win, p.grade_id, g.remain_num select p.prize_name, p.image_url, p.id as prizeId, g.grade_name, g.amount, g.per_win, p.grade_id, g.remain_num
from prize p from prize p
left join grade g on p.grade_id = g.id left join grade g on p.grade_id = g.id
where g.is_del = 0
order by g.sort desc order by g.sort desc
</select> </select>

Loading…
Cancel
Save