修改夺宝精灵用户等级限制逻辑
This commit is contained in:
@@ -2,9 +2,13 @@ package com.accompany.business.service.treasure;
|
||||
|
||||
import cn.hutool.core.collection.CollectionUtil;
|
||||
import cn.hutool.core.date.DatePattern;
|
||||
import cn.hutool.core.util.NumberUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import com.accompany.business.constant.activities.ActivitesPackTypeEnum;
|
||||
import com.accompany.business.enums.UserActPropertyObjType;
|
||||
import com.accompany.business.enums.resource.ResourceCodeEnum;
|
||||
import com.accompany.business.enums.resource.RuleCodeEnum;
|
||||
import com.accompany.business.model.resource.Resource;
|
||||
import com.accompany.business.model.treasure.*;
|
||||
import com.accompany.business.model.user.UserActPropertyInfoRecord;
|
||||
import com.accompany.business.model.user.UserActPropertyInfoV2;
|
||||
@@ -19,11 +23,13 @@ import com.accompany.business.service.headwear.HeadwearService;
|
||||
import com.accompany.business.service.level.LevelService;
|
||||
import com.accompany.business.service.nameplate.UserNameplateService;
|
||||
import com.accompany.business.service.purse.UserPurseService;
|
||||
import com.accompany.business.service.resource.ResourceService;
|
||||
import com.accompany.business.service.user.UserActPropertyInfoRecordService;
|
||||
import com.accompany.business.vo.treasure.SeizeTreasureSalvageConfig;
|
||||
import com.accompany.business.vo.treasure.salvage.SeizeTreasureElfSalvageRecordVo;
|
||||
import com.accompany.business.vo.treasure.salvage.SeizeTreasureElfSalvageReq;
|
||||
import com.accompany.common.exception.ApiException;
|
||||
import com.accompany.core.base.UidContextHolder;
|
||||
import com.accompany.core.service.message.MessageRobotPushService;
|
||||
import com.accompany.business.service.room.RoomService;
|
||||
import com.accompany.business.service.user.UserActPropertyInfoV2Service;
|
||||
@@ -69,6 +75,7 @@ import com.accompany.core.service.common.JedisLockService;
|
||||
import com.accompany.core.service.common.JedisService;
|
||||
import com.accompany.core.vo.UserLevelVo;
|
||||
import com.alibaba.fastjson.JSON;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.google.gson.Gson;
|
||||
import com.google.gson.GsonBuilder;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
@@ -149,6 +156,9 @@ public class SeizeTreasureService {
|
||||
private MessageRobotPushService messageRobotPushService;
|
||||
@Autowired
|
||||
private WebSecurityConfig webSecurityConfig;
|
||||
|
||||
@Autowired
|
||||
private ResourceService resourceService;
|
||||
private Gson gson = new GsonBuilder()
|
||||
.setDateFormat("yyyy-MM-dd HH:mm:ss")
|
||||
.create();
|
||||
@@ -243,13 +253,9 @@ public class SeizeTreasureService {
|
||||
|
||||
@Transactional(rollbackFor = Exception.class, transactionManager = "mybatisplusTransactionManager")
|
||||
public List<SeizeTreasurePoolRewardVo> forestDraw(Long uid, Integer poolLevel, Integer drawNum) throws IOException {
|
||||
SeizeTreasureConfig actConfig = this.getActConfig();
|
||||
actConfig.checkOpen(uid);
|
||||
UserLevelVo userLevel = levelService.getUserLevelVo(uid);
|
||||
if (userLevel == null || actConfig.getUserLevelLimit().compareTo(userLevel.getExperLevelSeq()) > 0) {
|
||||
if (!checkAuthority()) {
|
||||
throw new ServiceException(BusiStatus.NOT_ENOUGH_LEVEL);
|
||||
}
|
||||
|
||||
log.info("SeizeTreasureService forestDraw uid:{} poolLevel:{} drawNum:{}", uid, poolLevel, drawNum);
|
||||
Long propId = this.getReducePropId(poolLevel);
|
||||
// 扣除道具
|
||||
@@ -965,10 +971,7 @@ public class SeizeTreasureService {
|
||||
}
|
||||
|
||||
public void sendElf(Long uid, Long elfId, Long targetUid) {
|
||||
SeizeTreasureConfig actConfig = this.getActConfig();
|
||||
actConfig.checkOpen(uid);
|
||||
UserLevelVo userLevel = levelService.getUserLevelVo(uid);
|
||||
if (userLevel == null || actConfig.getUserLevelLimit().compareTo(userLevel.getExperLevelSeq()) > 0) {
|
||||
if (!checkAuthority()) {
|
||||
throw new ServiceException(BusiStatus.NOT_ENOUGH_LEVEL);
|
||||
}
|
||||
log.info("SeizeTreasureService sendElf uid:{} elfId:{} targetUid:{}", uid, elfId, targetUid);
|
||||
@@ -999,10 +1002,7 @@ public class SeizeTreasureService {
|
||||
}
|
||||
|
||||
public void askForElf(Long elfId, Long uid, Long targetUid) {
|
||||
SeizeTreasureConfig actConfig = this.getActConfig();
|
||||
actConfig.checkOpen(uid);
|
||||
UserLevelVo userLevel = levelService.getUserLevelVo(uid);
|
||||
if (userLevel == null || actConfig.getUserLevelLimit().compareTo(userLevel.getExperLevelSeq()) > 0) {
|
||||
if (!checkAuthority()) {
|
||||
throw new ServiceException(BusiStatus.NOT_ENOUGH_LEVEL);
|
||||
}
|
||||
log.info("SeizeTreasureService askForElf uid:{} elfId:{} targetUid:{}", uid, elfId, targetUid);
|
||||
@@ -1028,10 +1028,7 @@ public class SeizeTreasureService {
|
||||
|
||||
@Transactional(rollbackFor = Exception.class, transactionManager = "mybatisplusTransactionManager")
|
||||
public SeizeTreasureElfVo compoundElf(Long uid, SeizeTreasureElfCompoundReq compoundReqs) {
|
||||
SeizeTreasureConfig actConfig = this.getActConfig();
|
||||
actConfig.checkOpen(uid);
|
||||
UserLevelVo userLevel = levelService.getUserLevelVo(uid);
|
||||
if (userLevel == null || actConfig.getUserLevelLimit().compareTo(userLevel.getExperLevelSeq()) > 0) {
|
||||
if (!checkAuthority()) {
|
||||
throw new ServiceException(BusiStatus.NOT_ENOUGH_LEVEL);
|
||||
}
|
||||
log.info("SeizeTreasureService compoundElf uid:{} compoundReqs:{}", uid, compoundReqs);
|
||||
@@ -1206,10 +1203,7 @@ public class SeizeTreasureService {
|
||||
|
||||
@Transactional(rollbackFor = Exception.class, transactionManager = "mybatisplusTransactionManager")
|
||||
public SeizeTreasureRewardBaseVo convert(Long uid, Long roomUid, Long itemId) {
|
||||
SeizeTreasureConfig actConfig = this.getActConfig();
|
||||
actConfig.checkOpen(uid);
|
||||
UserLevelVo userLevel = levelService.getUserLevelVo(uid);
|
||||
if (userLevel == null || actConfig.getUserLevelLimit().compareTo(userLevel.getExperLevelSeq()) > 0) {
|
||||
if (!checkAuthority()) {
|
||||
throw new ServiceException(BusiStatus.NOT_ENOUGH_LEVEL);
|
||||
}
|
||||
log.info("SeizeTreasureService convert uid:{} roomUid:{} itemId:{}", uid, roomUid, itemId);
|
||||
@@ -1274,7 +1268,7 @@ public class SeizeTreasureService {
|
||||
if (ConvertType.ELF.equals(convertItem.getType())) {
|
||||
Users users = usersService.getUsersByUid(uid);
|
||||
Room room = roomService.getRoomByUid(roomUid);
|
||||
SpringContextHolder.getBean(SeizeTreasureService.class).afterElfConvert(users, room, convertItem.getLevel(), convertReward, actConfig.getUserLevelLimit());
|
||||
SpringContextHolder.getBean(SeizeTreasureService.class).afterElfConvert(users, room, convertItem.getLevel(), convertReward, getActConfig().getUserLevelLimit());
|
||||
}
|
||||
return convertReward;
|
||||
}
|
||||
@@ -1402,10 +1396,7 @@ public class SeizeTreasureService {
|
||||
*/
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public List<SeizeTreasureElfSalvageRecordVo> elfSalvage(Long uid, SeizeTreasureElfSalvageReq salvageReq) {
|
||||
SeizeTreasureConfig actConfig = this.getActConfig();
|
||||
actConfig.checkOpen(uid);
|
||||
UserLevelVo userLevel = levelService.getUserLevelVo(uid);
|
||||
if (userLevel == null || actConfig.getUserLevelLimit().compareTo(userLevel.getExperLevelSeq()) > 0) {
|
||||
if (!checkAuthority()) {
|
||||
throw new ApiException(BusiStatus.NOT_ENOUGH_LEVEL);
|
||||
}
|
||||
log.info("SeizeTreasureService elfSalvage uid : {}, salvageReq : {}", uid, salvageReq);
|
||||
@@ -1475,5 +1466,9 @@ public class SeizeTreasureService {
|
||||
return records;
|
||||
}
|
||||
|
||||
public boolean checkAuthority() {
|
||||
Resource resource = resourceService.getResource(ResourceCodeEnum.SEIZE_TREASURE.name());
|
||||
return resource != null;
|
||||
}
|
||||
|
||||
}
|
||||
|
Reference in New Issue
Block a user