Merge branch 'master' of 60.1.1.230:backend/jieling_server

back_recharge
wangyuan 2019-07-17 15:15:41 +08:00
commit bed7997dcc
6 changed files with 77 additions and 1 deletions

View File

@ -59,6 +59,8 @@ public interface BIReason {
int TAKE_STAR_REWARD = 36;
int TOWER_FLOOR_REWARD = 37;
//道具消耗原因 1000开头
int ADVENTURE_UPLEVEL_CONSUME = 1000; //秘境升级
int SECRETBOX_CONSUME = 1001; //秘盒抽卡

View File

@ -97,6 +97,8 @@ public class GetPlayerInfoHandler extends BaseHandler{
//图鉴信息
Set<Integer> heroHandBookSet = user.getHeroManager().getHeroHandBook().keySet();
Set<Integer> equipHandBookSet = user.getEquipManager().getEquipHandBook().keySet();
//试炼已领取奖励层数
Set<Integer> towerFloorReceivedReward = mapManager.getTowerReceivedReward().keySet();
PlayerInfoProto.GetPlayerInfoResponse getPlayerInfoResponse
= PlayerInfoProto.GetPlayerInfoResponse.newBuilder()
.setPlayer(player)
@ -110,6 +112,7 @@ public class GetPlayerInfoHandler extends BaseHandler{
.addAllRedType(playerInfoManager.getReds())
.setRandCount(alreadyCount)
.addAllHeroHandBook(heroHandBookSet).addAllEquipHandBook(equipHandBookSet)
.addAllTowerReceivedReward(towerFloorReceivedReward)
.build();
try {
MessageUtil.sendMessage(iSession, 1, MessageTypeProto.MessageType.GET_PLAYERINFO_RESPONSE_VALUE, getPlayerInfoResponse, true);

View File

@ -2542,4 +2542,34 @@ public class MapLogic {
}
/**
*
* @param session
* @param tower
* @param messageType
* @throws Exception
*/
public void getTowerReward(ISession session, int tower , MessageTypeProto.MessageType messageType) throws Exception {
User user = UserManager.getUser(session.getUid());
STrialConfig trialConfig = STrialConfig.sTrialConfigMap.get(tower);
int[][] floorReward = trialConfig.getFloorReward();
if(floorReward.length<0){
MessageUtil.sendErrorResponse(session,0,messageType.getNumber(),"当前层无奖励");
return;
}
Map<Integer, Integer> towerReceivedReward = user.getMapManager().getTowerReceivedReward();
for(Map.Entry<Integer,Integer> entry:towerReceivedReward.entrySet()){
if(entry.getKey()==tower){
MessageUtil.sendErrorResponse(session,0,messageType.getNumber(),"当前层已领取过");
return;
}
}
CommonProto.Drop.Builder drop = ItemUtil.drop(user, floorReward, BIReason.TOWER_FLOOR_REWARD);
user.getMapManager().addTowerReceivedReward(tower);
MapInfoProto.TowerRewardResponse towerRewardResponse = MapInfoProto.TowerRewardResponse.newBuilder().setDrop(drop).build();
MessageUtil.sendMessage(session,1,messageType.getNumber(),towerRewardResponse,true);
}
}

View File

@ -104,6 +104,8 @@ public class MapManager extends MongoBase {
private int mapIntoFlag;
private Map<Integer,Integer> towerReceivedReward = new HashMap<>();
public MapManager() {
this.setRootCollection(User._COLLECTION_NAME);
}
@ -611,6 +613,19 @@ public class MapManager extends MongoBase {
updateString("difficultyOptions."+fbId,difficultId);
difficultyOptions.put(fbId,difficultId);
}
public Map<Integer,Integer> getTowerReceivedReward() {
return towerReceivedReward;
}
public void setTowerReceivedReward(Map<Integer,Integer> towerReceivedReward){
updateString("towerReceivedReward",towerReceivedReward);
this.towerReceivedReward =towerReceivedReward;
}
public void addTowerReceivedReward(int tower){
updateString("towerReceivedReward."+tower,1);
towerReceivedReward.put(tower,1);
}
}

View File

@ -0,0 +1,26 @@
package com.ljsd.jieling.handler.map.mapHandler;
import com.ljsd.jieling.handler.BaseHandler;
import com.ljsd.jieling.handler.map.MapLogic;
import com.ljsd.jieling.netty.cocdex.PacketNetData;
import com.ljsd.jieling.network.session.ISession;
import com.ljsd.jieling.protocols.MapInfoProto;
import com.ljsd.jieling.protocols.MessageTypeProto;
import org.springframework.stereotype.Component;
@Component
public class MapTowerRewardHandler extends BaseHandler {
@Override
public MessageTypeProto.MessageType getMessageCode() {
return MessageTypeProto.MessageType.TAKE_TOWER_REWARD_REQUEST;
}
@Override
public void process(ISession iSession, PacketNetData netData) throws Exception {
byte[] message = netData.parseClientProtoNetData();
MapInfoProto.TowerRewardRequest towerRewardRequest = MapInfoProto.TowerRewardRequest.parseFrom(message);
int tower = towerRewardRequest.getTower();
MapLogic.getInstance().getTowerReward(iSession,tower,MessageTypeProto.MessageType.TAKE_TOWER_REWARD_RESPONSE);
}
}

View File

@ -54,7 +54,7 @@ public class EquipManager extends MongoBase {
return;
}
equipHandBook.put(equipId,0);
updateString("equipMap." + equipId, 0);
updateString("equipHandBook." + equipId, 0);
}
public Map<Integer, Integer> getEquipHandBook() {