Merge branch 'master' of 60.1.1.230:backend/jieling_server

# Conflicts:
#	serverlogic/src/main/java/com/ljsd/jieling/logic/family/GuildLogic.java
back_recharge
wangyuan 2019-08-09 17:17:20 +08:00
commit 957664c498
4 changed files with 78 additions and 50 deletions

View File

@ -16,18 +16,19 @@ public class FinishEventByOrderDifficultMapProcessor implements BaseMissionProce
if(sChallengeConfig.getDifficultType()!=configValues[configValues.length-1][0]||missionValue==-1){
return GlobalsDef.MAP_MISSION_RETURN;
}
for(int i = 0 ; i <configValues.length-1;i++){
if(eventId!=configValues[i][0]){
}else if(eventId==configValues[missionValue][0]){
missionValue++;
}else{
missionValue = 0;
if(missionValue==0){
for(int i = 0 ;i < configValues[0].length;i++){
if(eventId==configValues[0][i]){
missionValue = 0-configValues.length+1;
}
}
}
//确认完成
if(missionValue==configValues.length-1){
missionValue=-1;
}else{
for(int i = 0 ;i<configValues[configValues.length+missionValue].length;i++){
if(eventId==configValues[configValues.length+missionValue][i]){
missionValue++;
}
}
}
return missionValue;
}

View File

@ -30,6 +30,7 @@ public class KillBossInBossMissionProcessor implements BaseMissionProcesor{
return GlobalsDef.MAP_MISSION_RETURN;
}
}
return 1;
missionValue = -1;
return missionValue;
}
}

View File

@ -10,27 +10,48 @@ import com.ljsd.jieling.logic.dao.root.User;
public class KillMonsterByOrderDifficultMapProcessor implements BaseMissionProcesor{
@Override
public int checkAndUpdateMissionProcessor(User user, SAccomplishmentConfig sAccomplishmentConfig, int eventId, int time, MapMissionType mapMissionType, int missionValue) {
// MapManager mapManager = user.getMapManager();
// SChallengeConfig sChallengeConfig = SChallengeConfig.sChallengeConfigs.get(mapManager.getCurMapId());
// if(sChallengeConfig.getDifficultType()!=sAccomplishmentConfig.getValues()[1][0]||missionValue==-1){
// return GlobalsDef.MAP_MISSION_RETURN;
// }
// int[] value = sAccomplishmentConfig.getValues()[0];
// for(int i = 0 ; i < value.length ; i++){
// if(eventId!=value[i]) {
// continue;
// }
// if(i==0&&missionValue==0){
// missionValue = value[i];
// }else if(i!=0&&missionValue==value[i-1]){
// if(i!=value.length-1){
// missionValue = value[i];
// }else{
// missionValue = -1;
// }
// }else{
// missionValue = 0;
// }
// }
// return missionValue;
int[][] configValues = sAccomplishmentConfig.getValues();
MapManager mapManager = user.getMapManager();
SChallengeConfig sChallengeConfig = SChallengeConfig.sChallengeConfigs.get(mapManager.getCurMapId());
if(sChallengeConfig.getDifficultType()!=sAccomplishmentConfig.getValues()[1][0]||missionValue==-1){
if(sChallengeConfig.getDifficultType()!=configValues[configValues.length-1][0]||missionValue==-1){
return GlobalsDef.MAP_MISSION_RETURN;
}
int[] value = sAccomplishmentConfig.getValues()[0];
for(int i = 0 ; i < value.length ; i++){
if(eventId!=value[i]) {
continue;
}
if(i==0&&missionValue==0){
missionValue = value[i];
}else if(i!=0&&missionValue==value[i-1]){
if(i!=value.length-1){
missionValue = value[i];
}else{
missionValue = -1;
if(missionValue==0){
for(int i = 0 ;i < configValues[0].length;i++){
if(eventId==configValues[0][i]){
missionValue = 0-configValues.length+1;
}
}else{
missionValue = 0;
}
}else{
for(int i = 0 ;i<configValues[configValues.length+missionValue].length;i++){
if(eventId==configValues[configValues.length+missionValue][i]){
missionValue++;
}
}
}
return missionValue;
}

View File

@ -1,16 +1,12 @@
package com.ljsd.jieling.logic.family;
import com.google.protobuf.GeneratedMessage;
import com.ljsd.jieling.config.SChallengeMapConfig;
import com.ljsd.jieling.config.SErrorCodeEerverConfig;
import com.ljsd.jieling.config.SGuildSetting;
import com.ljsd.jieling.core.GlobalsDef;
import com.ljsd.jieling.db.redis.RedisKey;
import com.ljsd.jieling.db.redis.RedisUtil;
import com.ljsd.jieling.globals.BIReason;
import com.ljsd.jieling.ktbeans.KTGameType;
import com.ljsd.jieling.ktbeans.KtEventUtils;
import com.ljsd.jieling.ktbeans.parmsBean.ParamEventBean;
import com.ljsd.jieling.logic.OnlineUserManager;
import com.ljsd.jieling.logic.dao.*;
import com.ljsd.jieling.logic.dao.root.GuildApply;
@ -651,22 +647,10 @@ public class GuildLogic {
public static void sendFamilyBaseUpdateIndication(GuildInfo guildInfo){
CommonProto.FamilyBaseInfo familyBaseInfo = CBean2Proto.getFamilyBaseInfo(guildInfo);
Family.FamilyChangeIndication build = Family.FamilyChangeIndication.newBuilder().setFamilyBaseInfo(familyBaseInfo).build();
sendFamilyMsgIndication(guildInfo,MessageTypeProto.MessageType.FAMILY_CHANGE_BASE_INDICATION_VALUE,build);
sendIndicationToMember(guildInfo,MessageTypeProto.MessageType.FAMILY_CHANGE_BASE_INDICATION,build);
}
public static void sendFamilyMsgIndication(GuildInfo guildInfo, int msgId, GeneratedMessage generatedMessage){
Map<Integer, Set<Integer>> members = guildInfo.getMembers();
for(Set<Integer> items : members.values()){
for(Integer sendUid : items){
ISession session = OnlineUserManager.getSessionByUid(sendUid);
if(session!=null){
MessageUtil.sendIndicationMessage(session,1, msgId,generatedMessage,true);
}
}
}
}
public static void sendFamilyJoinIndication(int uid,GuildInfo guildInfo) throws Exception {
ISession session = OnlineUserManager.getSessionByUid(uid);
@ -696,7 +680,7 @@ public class GuildLogic {
user.getGuildMyInfo().move(path);
Family.FamilyWalkIndicaiton familyWalkIndicaiton = CBean2Proto.getFamilyWalkIndicaiton(user);
GuildInfo guildInfo = GuilidManager.guildInfoMap.get(guildId);
sendFamilyMsgIndication(guildInfo, MessageTypeProto.MessageType.FAMILY_WALK_INDICATION_VALUE,familyWalkIndicaiton);
sendIndicationToMember(guildInfo, MessageTypeProto.MessageType.FAMILY_WALK_INDICATION,familyWalkIndicaiton);
}
public static void addGuildLog(int guildId, int type,String name) throws Exception {
@ -746,23 +730,20 @@ public class GuildLogic {
/**
*
* @param session
* @param buildId
* @param messageType
* @throws Exception
*/
public static void viewDefendInfo(ISession session,int buildId, MessageTypeProto.MessageType messageType) throws Exception {
public static void viewDefendInfo(ISession session, MessageTypeProto.MessageType messageType) throws Exception {
User user = UserManager.getUser(session.getUid());
int gid = user.getPlayerInfoManager().getGuildId();
GuildInfo guildInfo =GuilidManager.guildInfoMap.get(gid);
Map<Integer, Integer> defendInfo = guildInfo.getDefendInfo();
Family.FamilyDefendViewResponse.Builder response = Family.FamilyDefendViewResponse.newBuilder();
for(Map.Entry<Integer, Integer> entry:defendInfo.entrySet()){
if(entry.getValue()!=buildId){
continue;
}
Family.FamilyDefendInfo.Builder defend = Family.FamilyDefendInfo.newBuilder();
defend.setStarCount(5);
defend.setUid(entry.getKey());
defend.setBuildId(entry.getValue());
response.addInfo(defend);
}
MessageUtil.sendMessage(session,1,messageType.getNumber(),response.build(),true);
@ -809,6 +790,30 @@ public class GuildLogic {
}
GuildInfo guildInfo = GuilidManager.guildInfoMap.get(user.getPlayerInfoManager().getGuildId());
guildInfo.updateDefendInfo(uid,buildId);
//重复,可提出
Family.FamilyDefendInfo.Builder defend = Family.FamilyDefendInfo.newBuilder();
defend.setBuildId(buildId);
defend.setUid(uid);
defend.setStarCount(5);
sendIndicationToMember(guildInfo,MessageTypeProto.MessageType.FAMILY_QUICK_SET_DEFEND_INDICATION,defend.build());
MessageUtil.sendMessage(session,1,messageType.getNumber(),null,true);
}
/**
* 线indication
* @param guildInfo
* @param messageType
* @param generatedMessage
*/
private static void sendIndicationToMember(GuildInfo guildInfo, MessageTypeProto.MessageType messageType, GeneratedMessage generatedMessage){
Map<Integer, Set<Integer>> members = guildInfo.getMembers();
for(Set<Integer> items : members.values()){
for(Integer sendUid : items){
ISession isession = OnlineUserManager.getSessionByUid(sendUid);
if(isession!=null){
MessageUtil.sendIndicationMessage(isession,1,messageType.getNumber(),generatedMessage,true);
}
}
}
}
}