123
This commit is contained in:
@@ -5,6 +5,7 @@ import com.ruoyi.cai.domain.PointChangeLog;
|
||||
import com.ruoyi.cai.domain.PrizeOnline;
|
||||
import com.ruoyi.cai.domain.User;
|
||||
import com.ruoyi.cai.enums.GenderEnum;
|
||||
import com.ruoyi.cai.enums.SystemConfigEnum;
|
||||
import com.ruoyi.cai.manager.IdManager;
|
||||
import com.ruoyi.cai.manager.SystemConfigManager;
|
||||
import com.ruoyi.cai.service.AccountService;
|
||||
@@ -52,24 +53,10 @@ public class LotteryService {
|
||||
private AccountService accountService;
|
||||
@Autowired
|
||||
private SystemConfigManager systemConfigManager;
|
||||
|
||||
private Integer getDrawPoint(Integer gender){
|
||||
if(GenderEnum.WOMEN.getCode().equals(gender)){
|
||||
Integer womenDrawPoint = systemConfigManager.getSystemConfigOfInt(SystemConfigEnum.WOMEN_DRAW_POINT);
|
||||
return womenDrawPoint;
|
||||
}
|
||||
return systemConfigManager.getSystemConfigOfInt(SystemConfigEnum.MEN_DRAW_POINT);
|
||||
}
|
||||
|
||||
|
||||
public boolean getOpenDraw(Integer gender){
|
||||
if(GenderEnum.WOMEN.getCode().equals(gender)){
|
||||
return systemConfigManager.getSystemConfigOfBool(SystemConfigEnum.OPEN_DRAW_WOMEN);
|
||||
}else if(GenderEnum.MAN.getCode().equals(gender)){
|
||||
return systemConfigManager.getSystemConfigOfBool(SystemConfigEnum.OPEN_DRAW_MAN);
|
||||
}
|
||||
return false;
|
||||
}
|
||||
@Autowired
|
||||
private PointManager pointManager;
|
||||
@Autowired
|
||||
private DrawService drawService;
|
||||
|
||||
/**
|
||||
* 用户抽奖(核心方法,优化后)
|
||||
@@ -81,7 +68,7 @@ public class LotteryService {
|
||||
if(user == null){
|
||||
throw new ServiceException("用户不存在");
|
||||
}
|
||||
boolean openDraw = this.getOpenDraw(user.getGender());
|
||||
boolean openDraw = drawService.getOpenDraw(user.getGender());
|
||||
if(!openDraw){
|
||||
throw new ServiceException("暂未开启积分抽奖,请等待活动通知");
|
||||
}
|
||||
@@ -90,7 +77,7 @@ public class LotteryService {
|
||||
throw new ServiceException("请选择性别后在抽奖");
|
||||
}
|
||||
Account account = accountService.getByUserId(user.getId());
|
||||
Integer drawPoint = getDrawPoint(user.getGender());
|
||||
Integer drawPoint = drawService.getDrawPoint(user.getGender());
|
||||
if(account.getPoints() < drawPoint){
|
||||
throw new ServiceException("积分不足");
|
||||
}
|
||||
@@ -264,7 +251,7 @@ public class LotteryService {
|
||||
public void winPrizeAfter(PrizeOnline prizeOnline, User user,Integer drawPoint, int continuousDraws) {
|
||||
// 扣减积分
|
||||
String traceId = IdManager.nextIdStr();
|
||||
PointChangeLog pointChangeLog = accountService.drawPoint(prizeOnline, user, drawPoint, traceId);
|
||||
PointChangeLog pointChangeLog = pointManager.drawPoint(prizeOnline, user, drawPoint, traceId);
|
||||
// 记录用户抽奖记录
|
||||
// UserDrawRecord record = new UserDrawRecord();
|
||||
// record.setUserId(userId);
|
||||
|
||||
Reference in New Issue
Block a user