七界,领取奖励

back_recharge
duhui 2021-09-23 14:48:42 +08:00
parent eb3c5d359b
commit 78ac3e8df1
1 changed files with 10 additions and 13 deletions

View File

@ -15,6 +15,7 @@ import com.ljsd.jieling.logic.dao.root.User;
import com.ljsd.jieling.logic.item.ItemLogic;
import com.ljsd.jieling.logic.store.newRechargeInfo.bean.ReceiveWelfareBag;
import com.ljsd.jieling.network.session.ISession;
import com.ljsd.jieling.tools.Utils;
import com.ljsd.jieling.util.ItemUtil;
import com.ljsd.jieling.util.MessageUtil;
import config.SQijieStage;
@ -25,9 +26,7 @@ import org.slf4j.LoggerFactory;
import rpc.protocols.CommonProto;
import rpc.protocols.PlayerInfoProto;
import java.util.ArrayList;
import java.util.Optional;
import java.util.Set;
import java.util.*;
/**
* @author hj
@ -146,27 +145,25 @@ public class SevenWorldActivity extends AbstractActivity {
}
SQijieTreasure treasure = STableManager.getConfig(SQijieTreasure.class).get(missionId);
CommonProto.Drop.Builder drop = CommonProto.Drop.newBuilder();
List<int[]> rewardList = new ArrayList<>();
// 未领取
if (progressInfo.getState() == ActivityType.WILL_TAKE && checkValue(user,missionId)){
// 满足挑战,普通领取
ItemUtil.drop(user, treasure.getReward(), drop, BIReason.SEVEN_WORLD_TREASURE);
rewardList.addAll(Arrays.asList(treasure.getReward()));
progressInfo.setState(ActivityType.HAD_TAKED);
// 购买礼包,完美领取
if (checkGift(user)){
ItemUtil.drop(user, treasure.getReward(), drop, BIReason.SEVEN_WORLD_TREASURE);
progressInfo.setState(ActivityType.FINISH_TAKED);
}
reportTakeActivityReward(user,treasure.getReward(),missionId);
}
// 完美领取
if (progressInfo.getState() == ActivityType.HAD_TAKED && checkGift(user)){
ItemUtil.drop(user, treasure.getTreasureReward(), drop, BIReason.SEVEN_WORLD_TREASURE);
progressInfo.setState(ActivityType.FINISH_TAKED);
reportTakeActivityReward(user,treasure.getTreasureReward(),missionId);
rewardList.addAll(Arrays.asList(treasure.getTreasureReward()));
}
if (drop.getItemlistCount() <= 0){
// 领取了全部奖励
if (rewardList.isEmpty()){
throw new ErrorCodeException(ErrorCode.SERVER_SELF_DEFINE);
}
int[][] rewards = Utils.changeList(rewardList);
ItemUtil.drop(user, rewards, drop, BIReason.SEVEN_WORLD_TREASURE);
reportTakeActivityReward(user,treasure.getTreasureReward(),missionId);
// 更新数据库
mission.getActivityMissionMap().put(missionId, progressInfo);
// 发送奖励