Пример #1
0
 /**
  * 领取声望奖励
  *
  * @param userId
  * @param id
  * @return
  */
 public CommonGoodsBeanBO rewardPrestige(String userId, int id) {
   User user = userService.getByUserId(userId);
   SystemPrestigeRewards rewards = systemPrestigeRewardsDaoCache.getPrestigeRewardsById(id);
   if (rewards == null) {
     throw new ServiceException(SystemConstant.FAIL_CODE, "id=" + id + ",不存在该id的配置");
   }
   // 判断是否达到领取等级
   if (user.getPrestigeLevel() < rewards.getLevel()) {
     throw new ServiceException(LEVEL_LIMIT, "声望等级不足");
   }
   // 判断是否已经领取过了
   if (userPrestigeRewardLogDao.isReward(userId, id)) {
     throw new ServiceException(HAS_REWARD, "已经领取过了");
   }
   UserPrestigeRewardLog log = new UserPrestigeRewardLog();
   log.setUserId(userId);
   log.setId(id);
   log.setCreatedTime(new Date());
   // 给奖励
   if (userPrestigeRewardLogDao.addUserPrestigeRewardLog(log)) {
     return goodsDealService.sendGoods(
         userId,
         GoodsType.Hero.intValue + "," + rewards.getRewards() + ",1",
         GoodsUseType.ADD_PRESTIGE_REWARDS);
   } else {
     ServiceException e = new ServiceException(SystemConstant.FAIL_CODE, "添加日志异常!!");
     LogSystem.error(e, "");
     throw e;
   }
 }
Пример #2
0
 /**
  * 加声望
  *
  * @param userId
  * @param addAmount
  * @param drop
  */
 public void addPrestige(String userId, int addAmount, int goodsUseType, CommonGoodsBeanBO drop) {
   User user = userService.getByUserId(userId);
   if (user == null) {
     String message = "更新用户声望失败,用户不存在.userId[" + userId + "], addAmount[" + addAmount + "]";
     throw new ServiceException(SystemConstant.FAIL_CODE, message);
   }
   // 如果到了最高等级  则不再加经验
   if (user.getPrestigeLevel() >= systemPrestigeLevelDaoCache.getMaxLevel()) {
     LogSystem.info("userId=" + userId + ",用户已经到达声望最高等级 不再加声望");
     return;
   }
   //		SystemPrestigeLevel systemPrestigeLevel =
   // this.systemPrestigeLevelDaoCache.getPrestigeLevel(addAmount+user.getPrestige());
   // int leveAddCount = 0;
   //		if(systemPrestigeLevel.getLevel()>user.getPrestigeLevel()){
   //			leveAddCount = systemPrestigeLevel.getLevel()-user.getPrestigeLevel();
   //		}
   // 修改经验和等级
   //		boolean success = this.userService.addPrestigeAndPrestigeLevel(userId, addAmount,
   // leveAddCount, goodsUseType, drop);
   //		if(!success){
   //			throw new ServiceException(SystemConstant.FAIL_CODE, "加声望失败!");
   //		}
 }