From caafce3a024900447f8140060671f43c4d53c984 Mon Sep 17 00:00:00 2001 From: lvxinran Date: Tue, 2 Jul 2019 15:01:31 +0800 Subject: [PATCH 1/4] =?UTF-8?q?=E5=9B=9E=E6=BB=9A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ljsd/jieling/handler/map/MapLogic.java | 125 ++++++++---------- 1 file changed, 52 insertions(+), 73 deletions(-) diff --git a/serverlogic/src/main/java/com/ljsd/jieling/handler/map/MapLogic.java b/serverlogic/src/main/java/com/ljsd/jieling/handler/map/MapLogic.java index 5a1969fdb..e787cd7b2 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/handler/map/MapLogic.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/handler/map/MapLogic.java @@ -14,6 +14,7 @@ import com.ljsd.jieling.handler.mission.Mission; import com.ljsd.jieling.logic.dao.*; import com.ljsd.jieling.logic.dao.root.User; import com.ljsd.jieling.logic.fight.CheckFight; +import com.ljsd.jieling.logic.fight.CombatLogic; import com.ljsd.jieling.logic.hero.HeroAttributeEnum; import com.ljsd.jieling.logic.hero.HeroLogic; import com.ljsd.jieling.logic.mission.GameEvent; @@ -76,7 +77,6 @@ public class MapLogic { int uid = iSession.getUid(); User user = UserManager.getUser(uid); MapManager mapManager = user.getMapManager(); - mapManager.setStartExporeTime(0); if (teamId == 0) { LOGGER.info("enterMap() uid=>{} teamId =>{} ", uid, teamId); MessageUtil.sendErrorResponse(iSession, 0, messageType.getNumber(), ""); @@ -239,8 +239,8 @@ public class MapLogic { buffers.add(CBean2Proto.getTowerBuff(buff)); } } - mapManager.setCurrTowerTime(TimeUtils.now()); - //mapEnterResponse.addAllBuf(buffers); +// mapManager.setStartExporeTime(System.currentTimeMillis()); + mapEnterResponse.addAllBuf(buffers); LOGGER.info("enterMap() uid=>{} mapId =>{}", uid, mapManager.getCurMapId()); MessageUtil.sendMessage(iSession, 1, messageType.getNumber(), mapEnterResponse.build(), true); } @@ -550,8 +550,17 @@ public class MapLogic { return; } int behaviorType = sOptionConfig.getBehaviorType(); + int[][] behaviorTypeValues = sOptionConfig.getBehaviorTypeValues(); BaseBehavior baseBehavior = baseBehaviorMap.get(behaviorType); MapInfoProto.EventUpdateResponse.Builder eventUpdateResponse = MapInfoProto.EventUpdateResponse.newBuilder(); + if (baseBehavior != null) { + boolean isSuccess = baseBehavior.process(optionId, user, behaviorTypeValues, eventUpdateResponse); + if (!isSuccess) { + LOGGER.info("updatePonintEvent() baseBehavior process fail! behaviorType=>{}", behaviorType); + MessageUtil.sendErrorResponse(session, 0, messageType.getNumber(), ""); + return; + } + } if (mapPointConfig.getTriggerRules() == 1) { cell = mapManager.getMapInfo().get(mapManager.getTriggerXY()); } else { @@ -575,11 +584,20 @@ public class MapLogic { if (sOptionConfig.getReward().length > 0) { dropBuilder = ItemUtil.drop(user, sOptionConfig.getReward(), 1, 1, BIReason.MAP_EVENET_REWARD); } - CommonProto.EventBehaviorCommon.Builder eventBehaviorCommon = behaviorBuild(user, optionId); - if(eventBehaviorCommon==null){ - eventBehaviorCommon = CommonProto.EventBehaviorCommon.newBuilder(); - MessageUtil.sendErrorResponse(session,0,messageType.getNumber(),"消息错误"); + List eventBehaviorValuesList = new ArrayList<>(); + for (int i = 0; i < sOptionConfig.getBehaviorTypeValues().length; i++) { + CommonProto.EventBehaviorValues.Builder eventBehaviorValues = CommonProto.EventBehaviorValues + .newBuilder(); + for (int j = 0; j < sOptionConfig.getBehaviorTypeValues()[i].length; j++) { + eventBehaviorValues.addBehaviorValues(sOptionConfig.getBehaviorTypeValues()[i][j]); + } + eventBehaviorValuesList.add(eventBehaviorValues.build()); } + CommonProto.EventBehaviorCommon eventBehaviorCommon = CommonProto.EventBehaviorCommon + .newBuilder() + .setBehaviorType(sOptionConfig.getBehaviorType()) + .addAllEventBehaviorValues(eventBehaviorValuesList) + .build(); eventUpdateResponse.setEventBehaviorCommon(eventBehaviorCommon); eventUpdateResponse.setEventId(nextEventId); eventUpdateResponse.setLeftTime(getLeftTime(user, true)); @@ -791,11 +809,11 @@ public class MapLogic { MapManager mapManager = user.getMapManager(); SChallengeConfig challengeConfig = SChallengeConfig.sChallengeConfigs.get(mapManager.getCurMapId()); if(challengeConfig.getType()==2){ -// int time = (int)((System.currentTimeMillis()-mapManager.getStartExporeTime())/1000); -// mapManager.setCurrTowerTime(time); -// if(mapManager.getEveryTowerTime()!=null&&mapManager.getEveryTowerTime().get(mapManager.getTower())!=null){ -// mapManager.setTowerTimeByTower(mapManager.getTower(),time); -// } + int time = (int)((System.currentTimeMillis()-mapManager.getStartExporeTime())/1000); + mapManager.setCurrTowerTime(time); + if(mapManager.getEveryTowerTime()!=null&&mapManager.getEveryTowerTime().get(mapManager.getTower())!=null){ + mapManager.setTowerTimeByTower(mapManager.getTower(),time); + } if(mapManager.getTower()>=1){ mapManager.setMapIntoFlag(1); } @@ -810,9 +828,8 @@ public class MapLogic { } } MapInfoProto.MapOutResponse.Builder builder = MapInfoProto.MapOutResponse.newBuilder(); - int time = (int) (TimeUtils.now()-mapManager.getCurrTowerTime())/1000; - builder.setUseTime(time); - LOGGER.info("当前层使用时间{}",time); + // builder.setUseTime(mapManager.getCurrTowerTime()); + LOGGER.info("当前层使用时间{}"+mapManager.getCurrTowerTime()); if(mapManager.getTower()>mapManager.getHighestTower()){ mapManager.setHighestTower(mapManager.getTower()); } @@ -1228,8 +1245,9 @@ public class MapLogic { if (monsterGroupId == mapManager.getSuddenlyBoss()) { mapManager.findSuddenlyBoss(0, 0); } +// if(mapManager.getBossType()==1) if(mapManager.getTower()==STrialConfig.getHighestTower()&&mapManager.getBossType()!=0){ - fightEndResponse.setLastTowerTime((int)(TimeUtils.now()-mapManager.getCurrTowerTime())/1000); + // fightEndResponse.setLastTowerTime(mapManager.getCurrTowerTime()); }else{ fightEndResponse.setLastTowerTime(0); } @@ -1546,7 +1564,7 @@ public class MapLogic { .setMapIntoReset(mapManager.getMapIntoFlag()) .build(); builder.setTowerCopyInfo(towerCopyInfo); - LOGGER.info("关卡信息{}",towerCopyInfo.toString()); + LOGGER.info("关卡信息{}"+towerCopyInfo.toString()); MessageUtil.sendMessage(iSession, 1, msgId, builder.build(), true); } @@ -2066,8 +2084,6 @@ public class MapLogic { type = 2; }else if(mapManager.getTower()==2){ type = 4; - }else if(mapManager.getTower()==3||mapManager.getTower()==4){ - type = 3; } @@ -2160,7 +2176,7 @@ public class MapLogic { return; } boolean isUse = ItemUtil.itemCost(user,bomb,BIReason.BOMB_CONSUME,mapManager.getCurMapId()); - if(!isUse){ + if(isUse){ MessageUtil.sendErrorResponse(session,0,messageType.getNumber(),"无炸弹"); return; } @@ -2226,17 +2242,17 @@ public class MapLogic { } // TODO 检测重置次数 PlayerManager playerInfoManager = user.getPlayerInfoManager(); - if( !playerInfoManager.check(VipPrivilegeType.TOWER_RESRT_NUM, 1)){ + if( !playerInfoManager.check(VipPrivilegeType.TOWER_RESRT_NUM, 1)){ return; - } - playerInfoManager.updateVipPrivilage(VipPrivilegeType.TOWER_RESRT_NUM,1); + } + playerInfoManager.updateVipPrivilage(VipPrivilegeType.TOWER_RESRT_NUM,1); - if(mapManager.getTower()>5){ - mapManager.setTower(mapManager.getTower()-mapManager.getTower()%5); - }else{ - mapManager.setTower(1); - } + if(mapManager.getTower()>5){ + mapManager.setTower(mapManager.getTower()-mapManager.getTower()%5); + }else{ + mapManager.setTower(1); + } mapManager.setFightCount(0); mapManager.setEssenceValue(0); @@ -2266,58 +2282,21 @@ public class MapLogic { MessageUtil.sendErrorResponse(session,0,messageType.getNumber(),err); return; } - User user = UserManager.getUser(uid); + int mapPointId = mapManager.getTowerUnusedBuffer().get(towerLevel); mapManager.consunmeTowerBuffer(towerLevel); + int buffId = SOptionConfig.sOptionConfigMap.get(optionId).getBehaviorTypeValues()[0][0]; + + LOGGER.info("使用第{},mapPointId,id是:{}",towerLevel,mapPointId); + CombatLogic.getInstance().bufferAddByEatFoodOrEventTrigger(mapManager,buffId); + LOGGER.info("使用第"+towerLevel+"层buff,id是:"+buffId); MapInfoProto.UseTowerBuffResponse.Builder useTowerBuffResponse = MapInfoProto.UseTowerBuffResponse.newBuilder(); - CommonProto.EventBehaviorCommon.Builder eventBehaviorCommon = behaviorBuild(user, optionId); - if(eventBehaviorCommon==null){ - useTowerBuffResponse = MapInfoProto.UseTowerBuffResponse.newBuilder(); - MessageUtil.sendErrorResponse(session,0,messageType.getNumber(),"使用错误"); - } - useTowerBuffResponse.setEventBehaviorCommon(eventBehaviorCommon); + + // useTowerBuffResponse.setBuffId(buffId); MessageUtil.sendMessage(session,1,messageType.getNumber(),useTowerBuffResponse.build(),true); } - /** - * 事件类型构造 - * @param user - * @param optionId - * @return - * @throws Exception - */ - private CommonProto.EventBehaviorCommon.Builder behaviorBuild(User user,int optionId) throws Exception { - SOptionConfig sOptionConfig = SOptionConfig.sOptionConfigMap.get(optionId); - int behaviorType = sOptionConfig.getBehaviorType(); - int[][] behaviorTypeValues = sOptionConfig.getBehaviorTypeValues(); - BaseBehavior baseBehavior = baseBehaviorMap.get(behaviorType); - MapInfoProto.EventUpdateResponse.Builder eventUpdateResponse = MapInfoProto.EventUpdateResponse.newBuilder(); - if (baseBehavior != null) { - boolean isSuccess = baseBehavior.process(optionId, user, behaviorTypeValues, eventUpdateResponse); - if (!isSuccess) { - LOGGER.info("updatePonintEvent() baseBehavior process fail! behaviorType=>{}", behaviorType); -// MessageUtil.sendErrorResponse(session, 0, messageType.getNumber(), ""); - return null; - } - } - List eventBehaviorValuesList = new ArrayList<>(); - for (int i = 0; i < sOptionConfig.getBehaviorTypeValues().length; i++) { - CommonProto.EventBehaviorValues.Builder eventBehaviorValues = CommonProto.EventBehaviorValues - .newBuilder(); - for (int j = 0; j < sOptionConfig.getBehaviorTypeValues()[i].length; j++) { - eventBehaviorValues.addBehaviorValues(sOptionConfig.getBehaviorTypeValues()[i][j]); - } - eventBehaviorValuesList.add(eventBehaviorValues.build()); - } - CommonProto.EventBehaviorCommon.Builder eventBehaviorCommon = CommonProto.EventBehaviorCommon - .newBuilder() - .setBehaviorType(sOptionConfig.getBehaviorType()) - .addAllEventBehaviorValues(eventBehaviorValuesList); - return eventBehaviorCommon; - } - - private String checkUseTowerBuff(MapManager mapManager,int towerLevel,int optionId){ if(!mapManager.getTowerUnusedBuffer().containsKey(towerLevel)){ return "使用错误,当前层不存在buff"; From b449d4166eef56abf6914252494f8bc754fb7fbd Mon Sep 17 00:00:00 2001 From: wangyuan Date: Fri, 12 Jul 2019 15:14:11 +0800 Subject: [PATCH 2/4] fix daily mission --- .gitignore | 1 + conf/logback-boot.xml | 40 + luafight/Modules/Battle/Logic/Base/Effect.lua | 2 +- serverlogic/build.gradle | 1 + .../src/main/java/com/ljsd/CoreService.java | 25 + .../main/java/com/ljsd/GameApplication.java | 2 +- .../jieling/config/json/CoreSettings.java | 58 + .../jieling/logic/GlobalDataManaager.java | 5 +- .../jieling/logic/dao/UserMissionManager.java | 17 +- .../jieling/logic/mission/MissionLoigc.java | 16 +- .../jieling/logic/mission/MissionType.java | 2 +- .../logic/mission/data/FightDataManager.java | 8 +- .../jieling/logic/store/BuyGoodsLogic.java | 20 +- .../jieling/thread/task/RPCServerTask.java | 54 + .../thrift/idl/InvalidOperException.java | 504 +++++ .../jieling/thrift/idl/RPCRequestIFace.java | 1624 +++++++++++++++++ .../com/ljsd/jieling/thrift/idl/Result.java | 500 +++++ .../src/main/resources/application.properties | 9 + 18 files changed, 2865 insertions(+), 23 deletions(-) create mode 100644 serverlogic/src/main/java/com/ljsd/CoreService.java create mode 100644 serverlogic/src/main/java/com/ljsd/jieling/config/json/CoreSettings.java create mode 100644 serverlogic/src/main/java/com/ljsd/jieling/thread/task/RPCServerTask.java create mode 100644 serverlogic/src/main/java/com/ljsd/jieling/thrift/idl/InvalidOperException.java create mode 100644 serverlogic/src/main/java/com/ljsd/jieling/thrift/idl/RPCRequestIFace.java create mode 100644 serverlogic/src/main/java/com/ljsd/jieling/thrift/idl/Result.java diff --git a/.gitignore b/.gitignore index 84e11951b..72d923d06 100644 --- a/.gitignore +++ b/.gitignore @@ -15,3 +15,4 @@ luafight/LogError/*.txt luafight/LogError/*.json luafight/BattleRecord/*.txt luafight/BattleRecord/*.json +serverlogic/src/main/thrift diff --git a/conf/logback-boot.xml b/conf/logback-boot.xml index 308be07fb..bb679991f 100644 --- a/conf/logback-boot.xml +++ b/conf/logback-boot.xml @@ -5,6 +5,7 @@ + @@ -53,6 +54,40 @@ + + + + + %d{yyyy-MM-dd HH:mm:ss.SSS}:%msg%n + + + + + + ${log_tdir}/%d{yyyy-MM-dd}/tlog%i.log + + ${maxHistory} + 200MB + + + + + + + + diff --git a/luafight/Modules/Battle/Logic/Base/Effect.lua b/luafight/Modules/Battle/Logic/Base/Effect.lua index 44dd3851c..e39ceb091 100644 --- a/luafight/Modules/Battle/Logic/Base/Effect.lua +++ b/luafight/Modules/Battle/Logic/Base/Effect.lua @@ -690,7 +690,7 @@ local effectList = { local f2 = args[2] local f3 = args[3] BattleLogic.WaitForTrigger(interval, function () - local trigger = function(damagingFunc) + local trigger = function(atkRole, damagingFunc, damageType) BattleUtil.RandomAction(f1, function () damagingFunc(f2) end) diff --git a/serverlogic/build.gradle b/serverlogic/build.gradle index 8a155b716..ad4ad3f4c 100644 --- a/serverlogic/build.gradle +++ b/serverlogic/build.gradle @@ -29,6 +29,7 @@ dependencies { compile group: 'com.googlecode.protobuf-java-format', name: 'protobuf-java-format', version: '1.2' compile group: 'com.google.code.gson', name: 'gson', version: '2.2.4' compile("org.luaj:luaj-jse:3.0.1") + compile("org.apache.thrift:libthrift:0.9.2"); compile files("${System.properties['java.home']}/../lib/tools.jar") } diff --git a/serverlogic/src/main/java/com/ljsd/CoreService.java b/serverlogic/src/main/java/com/ljsd/CoreService.java new file mode 100644 index 000000000..b2d1b5f54 --- /dev/null +++ b/serverlogic/src/main/java/com/ljsd/CoreService.java @@ -0,0 +1,25 @@ +package com.ljsd; + + +import com.ljsd.jieling.logic.store.BuyGoodsLogic; +import com.ljsd.jieling.thrift.idl.InvalidOperException; +import com.ljsd.jieling.thrift.idl.RPCRequestIFace; +import com.ljsd.jieling.thrift.idl.Result; +import org.apache.thrift.TException; + +public class CoreService implements RPCRequestIFace.Iface { + + + @Override + public Result deliveryRecharge(int uid, int goodsId, String openId, String orderId, long orderTime, int amount) throws InvalidOperException, TException { + try { + return BuyGoodsLogic.sendGoods(uid,goodsId,openId,orderId,orderTime,amount); + } catch (Exception e) { + Result result = new Result(); + result.setResultCode(0); + result.setResultMsg("server exce"); + return result; + } + + } +} diff --git a/serverlogic/src/main/java/com/ljsd/GameApplication.java b/serverlogic/src/main/java/com/ljsd/GameApplication.java index 8b9ec4a83..ffd43925e 100644 --- a/serverlogic/src/main/java/com/ljsd/GameApplication.java +++ b/serverlogic/src/main/java/com/ljsd/GameApplication.java @@ -114,7 +114,7 @@ public class GameApplication { serverConfig = serverConfigTmp; KeyGenUtils.setMachineNum(serverConfiguration.getServerProperties().getNum()); ActivityLogic.getInstance().checkActiviyStatus(); - GlobalDataManaager.getInstance().whenServerStart(); + GlobalDataManaager.getInstance().whenServerStart(configurableApplicationContext); HeroLogic.getInstance().afterSet(); Runtime.getRuntime().addShutdownHook(new Thread() { @Override diff --git a/serverlogic/src/main/java/com/ljsd/jieling/config/json/CoreSettings.java b/serverlogic/src/main/java/com/ljsd/jieling/config/json/CoreSettings.java new file mode 100644 index 000000000..f60ec138b --- /dev/null +++ b/serverlogic/src/main/java/com/ljsd/jieling/config/json/CoreSettings.java @@ -0,0 +1,58 @@ +package com.ljsd.jieling.config.json; + +import org.springframework.boot.context.properties.ConfigurationProperties; +import org.springframework.stereotype.Component; + +/** + * Created by Administrator on 2016/3/29. + */ +@Component +@ConfigurationProperties(prefix = "services.core") +public class CoreSettings { + + private String ip; + private int port; + private int area; + private int id; + private int weight; + + public String getIp() { + return ip; + } + + public void setIp(String ip) { + this.ip = ip; + } + + public int getWeight() { + return weight; + } + + public void setWeight(int weight) { + this.weight = weight; + } + + public int getId() { + return id; + } + + public void setId(int id) { + this.id = id; + } + + public int getArea() { + return area; + } + + public void setArea(int area) { + this.area = area; + } + + public int getPort() { + return port; + } + + public void setPort(int port) { + this.port = port; + } +} diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/GlobalDataManaager.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/GlobalDataManaager.java index dbbc41722..06fec72be 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/GlobalDataManaager.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/GlobalDataManaager.java @@ -28,10 +28,12 @@ import com.ljsd.jieling.network.session.ISession; import com.ljsd.jieling.protocols.CommonProto; import com.ljsd.jieling.protocols.MessageTypeProto; import com.ljsd.jieling.protocols.PlayerInfoProto; +import com.ljsd.jieling.thread.task.RPCServerTask; import com.ljsd.jieling.util.MessageUtil; import com.ljsd.jieling.util.TimeUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import org.springframework.context.ConfigurableApplicationContext; import java.util.*; @@ -169,7 +171,7 @@ public class GlobalDataManaager { } } - public void whenServerStart(){ + public void whenServerStart(ConfigurableApplicationContext configurableApplicationContext){ try { ActivityLogic.getInstance().checkSecretBoxSeason(); checkSystemFunctioIsOpen(); @@ -180,6 +182,7 @@ public class GlobalDataManaager { } MissionEventDistributor.init(); DataManagerDistributor.init(); + new RPCServerTask(configurableApplicationContext).start(); } catch (Exception e) { LOGGER.error("e",e); } diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/dao/UserMissionManager.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/dao/UserMissionManager.java index 71a72934e..554afef5c 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/dao/UserMissionManager.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/dao/UserMissionManager.java @@ -41,22 +41,19 @@ public class UserMissionManager extends MongoBase { Set missionIds = SDailyTasksConfig.config.keySet(); int type = (int)parm[0]; if(type == 0){ - if( dailyMissionIdsType.getDoingMissionIds().isEmpty() && dailyMissionIdsType.getFinishMissionIds().isEmpty() && dailyMissionIdsType.getRewardedMissionIds().isEmpty() ){ - return; - } dailyMissionIdsType.getDoingMissionIds().clear(); dailyMissionIdsType.getFinishMissionIds().clear(); dailyMissionIdsType.getRewardedMissionIds().clear(); dailyCumulationData.reset(); updateString("dailyCumulationData",dailyCumulationData); + }else{ + for(Integer missionId : missionIds){ + MissionStateChangeInfo doingInfo = new MissionStateChangeInfo(missionId, + MissionState.DOING, null); + missionTypeEnumListMap.get(GameMisionType.DAILYMISSION).add(doingInfo); + } + dailyMissionIdsType.getDoingMissionIds().addAll(missionIds); } - for(Integer missionId : missionIds){ - MissionStateChangeInfo doingInfo = new MissionStateChangeInfo(missionId, - MissionState.DOING, null); - missionTypeEnumListMap.get(GameMisionType.DAILYMISSION).add(doingInfo); - } - updateString("dailyCumulationData",dailyCumulationData); - dailyMissionIdsType.getDoingMissionIds().addAll(missionIds); updateString("dailyMissionIdsType",dailyMissionIdsType); break; } diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/MissionLoigc.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/MissionLoigc.java index e763739d6..f0ebf014a 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/MissionLoigc.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/MissionLoigc.java @@ -4,6 +4,8 @@ package com.ljsd.jieling.logic.mission; import com.ljsd.jieling.config.*; import com.ljsd.jieling.core.FunctionIdEnum; import com.ljsd.jieling.globals.BIReason; +import com.ljsd.jieling.handler.map.CrossInfo; +import com.ljsd.jieling.handler.map.MapLogic; import com.ljsd.jieling.handler.map.MapMission; import com.ljsd.jieling.logic.dao.*; import com.ljsd.jieling.logic.dao.root.User; @@ -252,9 +254,21 @@ public class MissionLoigc { break; case GENERAL_STORY_PASS: - case HERO_STORY_PASS: count = cumulationData.getExploreFight().get(missionSubType[0])?1:0; break; + case HERO_STORY_PASS: + Map crossInfoMap = user.getMapManager().getCrossInfoMap(); + for(Map.Entry item : crossInfoMap.entrySet()){ + CrossInfo value = item.getValue(); + if(value.getStars().contains(MapLogic.STAR_1)){ + Integer fightId = item.getKey(); + SChallengeConfig sChallengeConfig = SChallengeConfig.sChallengeConfigs.get(fightId); + if(sChallengeConfig.getType() == 3 && sChallengeConfig.getDifficultType() == missionSubType[0]){ + count++; + } + } + } + break; case KILL_INVASIONBOSS: count = cumulationData.getKillInvasionbossCount(); break; diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/MissionType.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/MissionType.java index 101252bce..964fda8a2 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/MissionType.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/MissionType.java @@ -21,7 +21,7 @@ public enum MissionType { LEVEL_STORY_PASS(14), //故事副本 通关故事副本关卡,涵盖简单,普通,困难 GENERAL_STORY_PASS(15), //普通副本 通过普通副本1,2,3,4,5 - HERO_STORY_PASS(16), //英雄副本 通过英雄副本1,2,3,4,5 + HERO_STORY_PASS(16), //通关难度%s英雄副本:%s KILL_INVASIONBOSS(17),//外敌入侵击杀次数 外敌入侵活动中击杀boss次数 diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/data/FightDataManager.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/data/FightDataManager.java index 8c88eb56b..823956e20 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/data/FightDataManager.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/data/FightDataManager.java @@ -1,5 +1,6 @@ package com.ljsd.jieling.logic.mission.data; +import com.ljsd.jieling.config.SChallengeConfig; import com.ljsd.jieling.config.SLevelDifficultyConfig; import com.ljsd.jieling.logic.dao.CumulationData; import com.ljsd.jieling.logic.dao.LevelDifficulty; @@ -40,9 +41,14 @@ public class FightDataManager implements BaseDataManager{ }else if(missionType == MissionType.HERO_LEVLE_TIMES){ data.heroStoryTimes+=fightTimes; result = new CumulationData.Result(missionType); - }else if(missionType == MissionType.GENERAL_STORY_PASS || missionType == MissionType.HERO_STORY_PASS){ + }else if(missionType == MissionType.GENERAL_STORY_PASS){ data.addExploreFight(fightId); result = new CumulationData.Result(missionType); + }else if(missionType == MissionType.HERO_STORY_PASS){ + SChallengeConfig sChallengeConfig = SChallengeConfig.sChallengeConfigs.get(fightId); + if(sChallengeConfig.getType() == 3){ + result = new CumulationData.Result(missionType); + } } diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/store/BuyGoodsLogic.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/store/BuyGoodsLogic.java index efbced80d..5ad884fe8 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/store/BuyGoodsLogic.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/store/BuyGoodsLogic.java @@ -16,6 +16,7 @@ import com.ljsd.jieling.network.session.ISession; import com.ljsd.jieling.protocols.CommonProto; import com.ljsd.jieling.protocols.MessageTypeProto; import com.ljsd.jieling.protocols.PlayerInfoProto; +import com.ljsd.jieling.thrift.idl.Result; import com.ljsd.jieling.util.ItemUtil; import com.ljsd.jieling.util.MessageUtil; import com.ljsd.jieling.util.TimeUtils; @@ -41,11 +42,12 @@ public class BuyGoodsLogic { return; } MessageUtil.sendMessage(session,1, MessageTypeProto.MessageType.TEST_BUY_GIGT_GOODS_RESPONSE_VALUE,null,true); - sendGoods(uid,goodsId); +// sendGoods(uid,goodsId); } - public static void sendGoods(int uid,int goodsId) throws Exception { - LOGGER.info("send to uid={},the goods={}",uid,goodsId); + public static Result sendGoods(int uid, int goodsId, String openId, String orderId, long orderTime, int amount) throws Exception { + Result resultRes = new Result(); + LOGGER.info("send to uid={},the goods={},openID={},orderId={},orderTime,amount={}",uid,goodsId,openId,orderId,orderTime,amount); User user = UserManager.getUser(uid); SRechargeCommodityConfig sRechargeCommodityConfig = SRechargeCommodityConfig.rechargeCommodityConfigMap.get(goodsId); RechargeInfo rechargeInfo = user.getPlayerInfoManager().getRechargeInfo(); @@ -59,22 +61,24 @@ public class BuyGoodsLogic { int type = sRechargeCommodityConfig.getType(); if(type==GiftGoodsType.GROTHFOUND && rechargeInfo.getHadBuyFound()==1){ LOGGER.error("the uid={},hadBuyFound",uid); - return; + resultRes.setResultCode(0); + resultRes.setResultMsg("hadBuyFound"); + return resultRes; } if(limit!=0){ if(buyCount>limit){ LOGGER.error("the uid={},the goodId={}, is over limit={}",uid,goodsId,buyCount); - return; + resultRes.setResultCode(0); + resultRes.setResultMsg("over limit"); + return resultRes; } } int[][] baseReward = sRechargeCommodityConfig.getBaseReward(); int length = baseReward.length; - String rewardStr=""; if(buyCount == 1){ - if(type==GiftGoodsType.GROTHFOUND){ rechargeInfo.setHadBuyFound(1); ActivityLogic.getInstance().openActivityReallyOpen(user, ActivityType.GrowthFund); @@ -133,6 +137,8 @@ public class BuyGoodsLogic { String content = SErrorCodeEerverConfig.getI18NMessage("recharge_txt"); int nowTime =(int) (TimeUtils.now()/1000); MailLogic.getInstance().sendMail(user.getId(),title,content,rewardStr,nowTime, Global.MAIL_EFFECTIVE_TIME); + resultRes.setResultCode(1); + return resultRes; } diff --git a/serverlogic/src/main/java/com/ljsd/jieling/thread/task/RPCServerTask.java b/serverlogic/src/main/java/com/ljsd/jieling/thread/task/RPCServerTask.java new file mode 100644 index 000000000..5356db81e --- /dev/null +++ b/serverlogic/src/main/java/com/ljsd/jieling/thread/task/RPCServerTask.java @@ -0,0 +1,54 @@ +package com.ljsd.jieling.thread.task; + +import com.ljsd.CoreService; +import com.ljsd.jieling.config.json.CoreSettings; +import com.ljsd.jieling.thrift.idl.RPCRequestIFace; +import org.apache.thrift.TProcessor; +import org.apache.thrift.protocol.TBinaryProtocol; +import org.apache.thrift.server.TServer; +import org.apache.thrift.server.TThreadPoolServer; +import org.apache.thrift.transport.TServerSocket; +import org.apache.thrift.transport.TTransportException; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.context.ConfigurableApplicationContext; + +import java.net.InetSocketAddress; + +public class RPCServerTask extends Thread{ + private static final Logger LOGGER = LoggerFactory.getLogger(RPCServerTask.class); + + private CoreSettings coreSettings; + + public RPCServerTask(ConfigurableApplicationContext configurableApplicationContext){ + this.coreSettings = configurableApplicationContext.getBean(CoreSettings.class); + setName("rpc"); + } + + @Override + public void run() { + try { + TServerSocket serverTransport = new TServerSocket(new InetSocketAddress(coreSettings.getIp(), coreSettings.getPort())); + LOGGER.info("run->coreip={},corePort={}", coreSettings.getIp(), coreSettings.getPort()); + TThreadPoolServer.Args trArgs = new TThreadPoolServer.Args(serverTransport); + TProcessor processor = new RPCRequestIFace.Processor(new CoreService()); + trArgs.processor(processor); + TBinaryProtocol.Factory proFactory = new TBinaryProtocol.Factory(true, true); + trArgs.protocolFactory(proFactory); + trArgs.maxWorkerThreads(4096); + LOGGER.info("run->RPC services is starting."); + final TServer server = new TThreadPoolServer(trArgs); + while (true) { + try { + server.serve(); + } catch (Exception e) { + LOGGER.error("run->{}", e.getMessage(), e); + server.stop(); + } + } + + } catch (TTransportException e) { + LOGGER.error("run->{}", e.getMessage(), e); + } + } +} diff --git a/serverlogic/src/main/java/com/ljsd/jieling/thrift/idl/InvalidOperException.java b/serverlogic/src/main/java/com/ljsd/jieling/thrift/idl/InvalidOperException.java new file mode 100644 index 000000000..98d06492c --- /dev/null +++ b/serverlogic/src/main/java/com/ljsd/jieling/thrift/idl/InvalidOperException.java @@ -0,0 +1,504 @@ +/** + * Autogenerated by Thrift Compiler (0.9.2) + * + * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING + * @generated + */ +package com.ljsd.jieling.thrift.idl; + +import org.apache.thrift.scheme.IScheme; +import org.apache.thrift.scheme.SchemeFactory; +import org.apache.thrift.scheme.StandardScheme; + +import org.apache.thrift.scheme.TupleScheme; +import org.apache.thrift.protocol.TTupleProtocol; +import org.apache.thrift.protocol.TProtocolException; +import org.apache.thrift.EncodingUtils; +import org.apache.thrift.TException; +import org.apache.thrift.async.AsyncMethodCallback; +import org.apache.thrift.server.AbstractNonblockingServer.*; +import java.util.List; +import java.util.ArrayList; +import java.util.Map; +import java.util.HashMap; +import java.util.EnumMap; +import java.util.Set; +import java.util.HashSet; +import java.util.EnumSet; +import java.util.Collections; +import java.util.BitSet; +import java.nio.ByteBuffer; +import java.util.Arrays; +import javax.annotation.Generated; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"}) +/** + * Structs can also be exceptions, if they are nasty. + */ +@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2019-7-12") +public class InvalidOperException extends TException implements org.apache.thrift.TBase, java.io.Serializable, Cloneable, Comparable { + private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("InvalidOperException"); + + private static final org.apache.thrift.protocol.TField ERROR_CODE_FIELD_DESC = new org.apache.thrift.protocol.TField("errorCode", org.apache.thrift.protocol.TType.I32, (short)1); + private static final org.apache.thrift.protocol.TField ERROR_MESSAGE_FIELD_DESC = new org.apache.thrift.protocol.TField("errorMessage", org.apache.thrift.protocol.TType.STRING, (short)2); + + private static final Map, SchemeFactory> schemes = new HashMap, SchemeFactory>(); + static { + schemes.put(StandardScheme.class, new InvalidOperExceptionStandardSchemeFactory()); + schemes.put(TupleScheme.class, new InvalidOperExceptionTupleSchemeFactory()); + } + + public int errorCode; // required + public String errorMessage; // required + + /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */ + public enum _Fields implements org.apache.thrift.TFieldIdEnum { + ERROR_CODE((short)1, "errorCode"), + ERROR_MESSAGE((short)2, "errorMessage"); + + private static final Map byName = new HashMap(); + + static { + for (_Fields field : EnumSet.allOf(_Fields.class)) { + byName.put(field.getFieldName(), field); + } + } + + /** + * Find the _Fields constant that matches fieldId, or null if its not found. + */ + public static _Fields findByThriftId(int fieldId) { + switch(fieldId) { + case 1: // ERROR_CODE + return ERROR_CODE; + case 2: // ERROR_MESSAGE + return ERROR_MESSAGE; + default: + return null; + } + } + + /** + * Find the _Fields constant that matches fieldId, throwing an exception + * if it is not found. + */ + public static _Fields findByThriftIdOrThrow(int fieldId) { + _Fields fields = findByThriftId(fieldId); + if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!"); + return fields; + } + + /** + * Find the _Fields constant that matches name, or null if its not found. + */ + public static _Fields findByName(String name) { + return byName.get(name); + } + + private final short _thriftId; + private final String _fieldName; + + _Fields(short thriftId, String fieldName) { + _thriftId = thriftId; + _fieldName = fieldName; + } + + public short getThriftFieldId() { + return _thriftId; + } + + public String getFieldName() { + return _fieldName; + } + } + + // isset id assignments + private static final int __ERRORCODE_ISSET_ID = 0; + private byte __isset_bitfield = 0; + public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap; + static { + Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class); + tmpMap.put(_Fields.ERROR_CODE, new org.apache.thrift.meta_data.FieldMetaData("errorCode", org.apache.thrift.TFieldRequirementType.DEFAULT, + new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I32))); + tmpMap.put(_Fields.ERROR_MESSAGE, new org.apache.thrift.meta_data.FieldMetaData("errorMessage", org.apache.thrift.TFieldRequirementType.DEFAULT, + new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING))); + metaDataMap = Collections.unmodifiableMap(tmpMap); + org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(InvalidOperException.class, metaDataMap); + } + + public InvalidOperException() { + } + + public InvalidOperException( + int errorCode, + String errorMessage) + { + this(); + this.errorCode = errorCode; + setErrorCodeIsSet(true); + this.errorMessage = errorMessage; + } + + /** + * Performs a deep copy on other. + */ + public InvalidOperException(InvalidOperException other) { + __isset_bitfield = other.__isset_bitfield; + this.errorCode = other.errorCode; + if (other.isSetErrorMessage()) { + this.errorMessage = other.errorMessage; + } + } + + public InvalidOperException deepCopy() { + return new InvalidOperException(this); + } + + @Override + public void clear() { + setErrorCodeIsSet(false); + this.errorCode = 0; + this.errorMessage = null; + } + + public int getErrorCode() { + return this.errorCode; + } + + public InvalidOperException setErrorCode(int errorCode) { + this.errorCode = errorCode; + setErrorCodeIsSet(true); + return this; + } + + public void unsetErrorCode() { + __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __ERRORCODE_ISSET_ID); + } + + /** Returns true if field errorCode is set (has been assigned a value) and false otherwise */ + public boolean isSetErrorCode() { + return EncodingUtils.testBit(__isset_bitfield, __ERRORCODE_ISSET_ID); + } + + public void setErrorCodeIsSet(boolean value) { + __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __ERRORCODE_ISSET_ID, value); + } + + public String getErrorMessage() { + return this.errorMessage; + } + + public InvalidOperException setErrorMessage(String errorMessage) { + this.errorMessage = errorMessage; + return this; + } + + public void unsetErrorMessage() { + this.errorMessage = null; + } + + /** Returns true if field errorMessage is set (has been assigned a value) and false otherwise */ + public boolean isSetErrorMessage() { + return this.errorMessage != null; + } + + public void setErrorMessageIsSet(boolean value) { + if (!value) { + this.errorMessage = null; + } + } + + public void setFieldValue(_Fields field, Object value) { + switch (field) { + case ERROR_CODE: + if (value == null) { + unsetErrorCode(); + } else { + setErrorCode((Integer)value); + } + break; + + case ERROR_MESSAGE: + if (value == null) { + unsetErrorMessage(); + } else { + setErrorMessage((String)value); + } + break; + + } + } + + public Object getFieldValue(_Fields field) { + switch (field) { + case ERROR_CODE: + return Integer.valueOf(getErrorCode()); + + case ERROR_MESSAGE: + return getErrorMessage(); + + } + throw new IllegalStateException(); + } + + /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */ + public boolean isSet(_Fields field) { + if (field == null) { + throw new IllegalArgumentException(); + } + + switch (field) { + case ERROR_CODE: + return isSetErrorCode(); + case ERROR_MESSAGE: + return isSetErrorMessage(); + } + throw new IllegalStateException(); + } + + @Override + public boolean equals(Object that) { + if (that == null) + return false; + if (that instanceof InvalidOperException) + return this.equals((InvalidOperException)that); + return false; + } + + public boolean equals(InvalidOperException that) { + if (that == null) + return false; + + boolean this_present_errorCode = true; + boolean that_present_errorCode = true; + if (this_present_errorCode || that_present_errorCode) { + if (!(this_present_errorCode && that_present_errorCode)) + return false; + if (this.errorCode != that.errorCode) + return false; + } + + boolean this_present_errorMessage = true && this.isSetErrorMessage(); + boolean that_present_errorMessage = true && that.isSetErrorMessage(); + if (this_present_errorMessage || that_present_errorMessage) { + if (!(this_present_errorMessage && that_present_errorMessage)) + return false; + if (!this.errorMessage.equals(that.errorMessage)) + return false; + } + + return true; + } + + @Override + public int hashCode() { + List list = new ArrayList(); + + boolean present_errorCode = true; + list.add(present_errorCode); + if (present_errorCode) + list.add(errorCode); + + boolean present_errorMessage = true && (isSetErrorMessage()); + list.add(present_errorMessage); + if (present_errorMessage) + list.add(errorMessage); + + return list.hashCode(); + } + + @Override + public int compareTo(InvalidOperException other) { + if (!getClass().equals(other.getClass())) { + return getClass().getName().compareTo(other.getClass().getName()); + } + + int lastComparison = 0; + + lastComparison = Boolean.valueOf(isSetErrorCode()).compareTo(other.isSetErrorCode()); + if (lastComparison != 0) { + return lastComparison; + } + if (isSetErrorCode()) { + lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.errorCode, other.errorCode); + if (lastComparison != 0) { + return lastComparison; + } + } + lastComparison = Boolean.valueOf(isSetErrorMessage()).compareTo(other.isSetErrorMessage()); + if (lastComparison != 0) { + return lastComparison; + } + if (isSetErrorMessage()) { + lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.errorMessage, other.errorMessage); + if (lastComparison != 0) { + return lastComparison; + } + } + return 0; + } + + public _Fields fieldForId(int fieldId) { + return _Fields.findByThriftId(fieldId); + } + + public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException { + schemes.get(iprot.getScheme()).getScheme().read(iprot, this); + } + + public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException { + schemes.get(oprot.getScheme()).getScheme().write(oprot, this); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder("InvalidOperException("); + boolean first = true; + + sb.append("errorCode:"); + sb.append(this.errorCode); + first = false; + if (!first) sb.append(", "); + sb.append("errorMessage:"); + if (this.errorMessage == null) { + sb.append("null"); + } else { + sb.append(this.errorMessage); + } + first = false; + sb.append(")"); + return sb.toString(); + } + + public void validate() throws org.apache.thrift.TException { + // check for required fields + // check for sub-struct validity + } + + private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException { + try { + write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out))); + } catch (org.apache.thrift.TException te) { + throw new java.io.IOException(te); + } + } + + private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException { + try { + // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor. + __isset_bitfield = 0; + read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in))); + } catch (org.apache.thrift.TException te) { + throw new java.io.IOException(te); + } + } + + private static class InvalidOperExceptionStandardSchemeFactory implements SchemeFactory { + public InvalidOperExceptionStandardScheme getScheme() { + return new InvalidOperExceptionStandardScheme(); + } + } + + private static class InvalidOperExceptionStandardScheme extends StandardScheme { + + public void read(org.apache.thrift.protocol.TProtocol iprot, InvalidOperException struct) throws org.apache.thrift.TException { + org.apache.thrift.protocol.TField schemeField; + iprot.readStructBegin(); + while (true) + { + schemeField = iprot.readFieldBegin(); + if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { + break; + } + switch (schemeField.id) { + case 1: // ERROR_CODE + if (schemeField.type == org.apache.thrift.protocol.TType.I32) { + struct.errorCode = iprot.readI32(); + struct.setErrorCodeIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 2: // ERROR_MESSAGE + if (schemeField.type == org.apache.thrift.protocol.TType.STRING) { + struct.errorMessage = iprot.readString(); + struct.setErrorMessageIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + default: + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + iprot.readFieldEnd(); + } + iprot.readStructEnd(); + + // check for required fields of primitive type, which can't be checked in the validate method + struct.validate(); + } + + public void write(org.apache.thrift.protocol.TProtocol oprot, InvalidOperException struct) throws org.apache.thrift.TException { + struct.validate(); + + oprot.writeStructBegin(STRUCT_DESC); + oprot.writeFieldBegin(ERROR_CODE_FIELD_DESC); + oprot.writeI32(struct.errorCode); + oprot.writeFieldEnd(); + if (struct.errorMessage != null) { + oprot.writeFieldBegin(ERROR_MESSAGE_FIELD_DESC); + oprot.writeString(struct.errorMessage); + oprot.writeFieldEnd(); + } + oprot.writeFieldStop(); + oprot.writeStructEnd(); + } + + } + + private static class InvalidOperExceptionTupleSchemeFactory implements SchemeFactory { + public InvalidOperExceptionTupleScheme getScheme() { + return new InvalidOperExceptionTupleScheme(); + } + } + + private static class InvalidOperExceptionTupleScheme extends TupleScheme { + + @Override + public void write(org.apache.thrift.protocol.TProtocol prot, InvalidOperException struct) throws org.apache.thrift.TException { + TTupleProtocol oprot = (TTupleProtocol) prot; + BitSet optionals = new BitSet(); + if (struct.isSetErrorCode()) { + optionals.set(0); + } + if (struct.isSetErrorMessage()) { + optionals.set(1); + } + oprot.writeBitSet(optionals, 2); + if (struct.isSetErrorCode()) { + oprot.writeI32(struct.errorCode); + } + if (struct.isSetErrorMessage()) { + oprot.writeString(struct.errorMessage); + } + } + + @Override + public void read(org.apache.thrift.protocol.TProtocol prot, InvalidOperException struct) throws org.apache.thrift.TException { + TTupleProtocol iprot = (TTupleProtocol) prot; + BitSet incoming = iprot.readBitSet(2); + if (incoming.get(0)) { + struct.errorCode = iprot.readI32(); + struct.setErrorCodeIsSet(true); + } + if (incoming.get(1)) { + struct.errorMessage = iprot.readString(); + struct.setErrorMessageIsSet(true); + } + } + } + +} + diff --git a/serverlogic/src/main/java/com/ljsd/jieling/thrift/idl/RPCRequestIFace.java b/serverlogic/src/main/java/com/ljsd/jieling/thrift/idl/RPCRequestIFace.java new file mode 100644 index 000000000..e2eafe95b --- /dev/null +++ b/serverlogic/src/main/java/com/ljsd/jieling/thrift/idl/RPCRequestIFace.java @@ -0,0 +1,1624 @@ +/** + * Autogenerated by Thrift Compiler (0.9.2) + * + * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING + * @generated + */ +package com.ljsd.jieling.thrift.idl; + +import org.apache.thrift.scheme.IScheme; +import org.apache.thrift.scheme.SchemeFactory; +import org.apache.thrift.scheme.StandardScheme; + +import org.apache.thrift.scheme.TupleScheme; +import org.apache.thrift.protocol.TTupleProtocol; +import org.apache.thrift.protocol.TProtocolException; +import org.apache.thrift.EncodingUtils; +import org.apache.thrift.TException; +import org.apache.thrift.async.AsyncMethodCallback; +import org.apache.thrift.server.AbstractNonblockingServer.*; +import java.util.List; +import java.util.ArrayList; +import java.util.Map; +import java.util.HashMap; +import java.util.EnumMap; +import java.util.Set; +import java.util.HashSet; +import java.util.EnumSet; +import java.util.Collections; +import java.util.BitSet; +import java.nio.ByteBuffer; +import java.util.Arrays; +import javax.annotation.Generated; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"}) +@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2019-7-12") +public class RPCRequestIFace { + + public interface Iface { + + public Result deliveryRecharge(int uid, int goodsId, String openId, String orderId, long orderTime, int amount) throws InvalidOperException, org.apache.thrift.TException; + + } + + public interface AsyncIface { + + public void deliveryRecharge(int uid, int goodsId, String openId, String orderId, long orderTime, int amount, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException; + + } + + public static class Client extends org.apache.thrift.TServiceClient implements Iface { + public static class Factory implements org.apache.thrift.TServiceClientFactory { + public Factory() {} + public Client getClient(org.apache.thrift.protocol.TProtocol prot) { + return new Client(prot); + } + public Client getClient(org.apache.thrift.protocol.TProtocol iprot, org.apache.thrift.protocol.TProtocol oprot) { + return new Client(iprot, oprot); + } + } + + public Client(org.apache.thrift.protocol.TProtocol prot) + { + super(prot, prot); + } + + public Client(org.apache.thrift.protocol.TProtocol iprot, org.apache.thrift.protocol.TProtocol oprot) { + super(iprot, oprot); + } + + public Result deliveryRecharge(int uid, int goodsId, String openId, String orderId, long orderTime, int amount) throws InvalidOperException, org.apache.thrift.TException + { + send_deliveryRecharge(uid, goodsId, openId, orderId, orderTime, amount); + return recv_deliveryRecharge(); + } + + public void send_deliveryRecharge(int uid, int goodsId, String openId, String orderId, long orderTime, int amount) throws org.apache.thrift.TException + { + deliveryRecharge_args args = new deliveryRecharge_args(); + args.setUid(uid); + args.setGoodsId(goodsId); + args.setOpenId(openId); + args.setOrderId(orderId); + args.setOrderTime(orderTime); + args.setAmount(amount); + sendBase("deliveryRecharge", args); + } + + public Result recv_deliveryRecharge() throws InvalidOperException, org.apache.thrift.TException + { + deliveryRecharge_result result = new deliveryRecharge_result(); + receiveBase(result, "deliveryRecharge"); + if (result.isSetSuccess()) { + return result.success; + } + if (result.ouch != null) { + throw result.ouch; + } + throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "deliveryRecharge failed: unknown result"); + } + + } + public static class AsyncClient extends org.apache.thrift.async.TAsyncClient implements AsyncIface { + public static class Factory implements org.apache.thrift.async.TAsyncClientFactory { + private org.apache.thrift.async.TAsyncClientManager clientManager; + private org.apache.thrift.protocol.TProtocolFactory protocolFactory; + public Factory(org.apache.thrift.async.TAsyncClientManager clientManager, org.apache.thrift.protocol.TProtocolFactory protocolFactory) { + this.clientManager = clientManager; + this.protocolFactory = protocolFactory; + } + public AsyncClient getAsyncClient(org.apache.thrift.transport.TNonblockingTransport transport) { + return new AsyncClient(protocolFactory, clientManager, transport); + } + } + + public AsyncClient(org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.async.TAsyncClientManager clientManager, org.apache.thrift.transport.TNonblockingTransport transport) { + super(protocolFactory, clientManager, transport); + } + + public void deliveryRecharge(int uid, int goodsId, String openId, String orderId, long orderTime, int amount, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException { + checkReady(); + deliveryRecharge_call method_call = new deliveryRecharge_call(uid, goodsId, openId, orderId, orderTime, amount, resultHandler, this, ___protocolFactory, ___transport); + this.___currentMethod = method_call; + ___manager.call(method_call); + } + + public static class deliveryRecharge_call extends org.apache.thrift.async.TAsyncMethodCall { + private int uid; + private int goodsId; + private String openId; + private String orderId; + private long orderTime; + private int amount; + public deliveryRecharge_call(int uid, int goodsId, String openId, String orderId, long orderTime, int amount, org.apache.thrift.async.AsyncMethodCallback resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException { + super(client, protocolFactory, transport, resultHandler, false); + this.uid = uid; + this.goodsId = goodsId; + this.openId = openId; + this.orderId = orderId; + this.orderTime = orderTime; + this.amount = amount; + } + + public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException { + prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("deliveryRecharge", org.apache.thrift.protocol.TMessageType.CALL, 0)); + deliveryRecharge_args args = new deliveryRecharge_args(); + args.setUid(uid); + args.setGoodsId(goodsId); + args.setOpenId(openId); + args.setOrderId(orderId); + args.setOrderTime(orderTime); + args.setAmount(amount); + args.write(prot); + prot.writeMessageEnd(); + } + + public Result getResult() throws InvalidOperException, org.apache.thrift.TException { + if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) { + throw new IllegalStateException("Method call not finished!"); + } + org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array()); + org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport); + return (new Client(prot)).recv_deliveryRecharge(); + } + } + + } + + public static class Processor extends org.apache.thrift.TBaseProcessor implements org.apache.thrift.TProcessor { + private static final Logger LOGGER = LoggerFactory.getLogger(Processor.class.getName()); + public Processor(I iface) { + super(iface, getProcessMap(new HashMap>())); + } + + protected Processor(I iface, Map> processMap) { + super(iface, getProcessMap(processMap)); + } + + private static Map> getProcessMap(Map> processMap) { + processMap.put("deliveryRecharge", new deliveryRecharge()); + return processMap; + } + + public static class deliveryRecharge extends org.apache.thrift.ProcessFunction { + public deliveryRecharge() { + super("deliveryRecharge"); + } + + public deliveryRecharge_args getEmptyArgsInstance() { + return new deliveryRecharge_args(); + } + + protected boolean isOneway() { + return false; + } + + public deliveryRecharge_result getResult(I iface, deliveryRecharge_args args) throws org.apache.thrift.TException { + deliveryRecharge_result result = new deliveryRecharge_result(); + try { + result.success = iface.deliveryRecharge(args.uid, args.goodsId, args.openId, args.orderId, args.orderTime, args.amount); + } catch (InvalidOperException ouch) { + result.ouch = ouch; + } + return result; + } + } + + } + + public static class AsyncProcessor extends org.apache.thrift.TBaseAsyncProcessor { + private static final Logger LOGGER = LoggerFactory.getLogger(AsyncProcessor.class.getName()); + public AsyncProcessor(I iface) { + super(iface, getProcessMap(new HashMap>())); + } + + protected AsyncProcessor(I iface, Map> processMap) { + super(iface, getProcessMap(processMap)); + } + + private static Map> getProcessMap(Map> processMap) { + processMap.put("deliveryRecharge", new deliveryRecharge()); + return processMap; + } + + public static class deliveryRecharge extends org.apache.thrift.AsyncProcessFunction { + public deliveryRecharge() { + super("deliveryRecharge"); + } + + public deliveryRecharge_args getEmptyArgsInstance() { + return new deliveryRecharge_args(); + } + + public AsyncMethodCallback getResultHandler(final AsyncFrameBuffer fb, final int seqid) { + final org.apache.thrift.AsyncProcessFunction fcall = this; + return new AsyncMethodCallback() { + public void onComplete(Result o) { + deliveryRecharge_result result = new deliveryRecharge_result(); + result.success = o; + try { + fcall.sendResponse(fb,result, org.apache.thrift.protocol.TMessageType.REPLY,seqid); + return; + } catch (Exception e) { + LOGGER.error("Exception writing to internal frame buffer", e); + } + fb.close(); + } + public void onError(Exception e) { + byte msgType = org.apache.thrift.protocol.TMessageType.REPLY; + org.apache.thrift.TBase msg; + deliveryRecharge_result result = new deliveryRecharge_result(); + if (e instanceof InvalidOperException) { + result.ouch = (InvalidOperException) e; + result.setOuchIsSet(true); + msg = result; + } + else + { + msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION; + msg = (org.apache.thrift.TBase)new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage()); + } + try { + fcall.sendResponse(fb,msg,msgType,seqid); + return; + } catch (Exception ex) { + LOGGER.error("Exception writing to internal frame buffer", ex); + } + fb.close(); + } + }; + } + + protected boolean isOneway() { + return false; + } + + public void start(I iface, deliveryRecharge_args args, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws TException { + iface.deliveryRecharge(args.uid, args.goodsId, args.openId, args.orderId, args.orderTime, args.amount,resultHandler); + } + } + + } + + public static class deliveryRecharge_args implements org.apache.thrift.TBase, java.io.Serializable, Cloneable, Comparable { + private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("deliveryRecharge_args"); + + private static final org.apache.thrift.protocol.TField UID_FIELD_DESC = new org.apache.thrift.protocol.TField("uid", org.apache.thrift.protocol.TType.I32, (short)1); + private static final org.apache.thrift.protocol.TField GOODS_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("goodsId", org.apache.thrift.protocol.TType.I32, (short)2); + private static final org.apache.thrift.protocol.TField OPEN_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("openId", org.apache.thrift.protocol.TType.STRING, (short)3); + private static final org.apache.thrift.protocol.TField ORDER_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("orderId", org.apache.thrift.protocol.TType.STRING, (short)4); + private static final org.apache.thrift.protocol.TField ORDER_TIME_FIELD_DESC = new org.apache.thrift.protocol.TField("orderTime", org.apache.thrift.protocol.TType.I64, (short)5); + private static final org.apache.thrift.protocol.TField AMOUNT_FIELD_DESC = new org.apache.thrift.protocol.TField("amount", org.apache.thrift.protocol.TType.I32, (short)6); + + private static final Map, SchemeFactory> schemes = new HashMap, SchemeFactory>(); + static { + schemes.put(StandardScheme.class, new deliveryRecharge_argsStandardSchemeFactory()); + schemes.put(TupleScheme.class, new deliveryRecharge_argsTupleSchemeFactory()); + } + + public int uid; // required + public int goodsId; // required + public String openId; // required + public String orderId; // required + public long orderTime; // required + public int amount; // required + + /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */ + public enum _Fields implements org.apache.thrift.TFieldIdEnum { + UID((short)1, "uid"), + GOODS_ID((short)2, "goodsId"), + OPEN_ID((short)3, "openId"), + ORDER_ID((short)4, "orderId"), + ORDER_TIME((short)5, "orderTime"), + AMOUNT((short)6, "amount"); + + private static final Map byName = new HashMap(); + + static { + for (_Fields field : EnumSet.allOf(_Fields.class)) { + byName.put(field.getFieldName(), field); + } + } + + /** + * Find the _Fields constant that matches fieldId, or null if its not found. + */ + public static _Fields findByThriftId(int fieldId) { + switch(fieldId) { + case 1: // UID + return UID; + case 2: // GOODS_ID + return GOODS_ID; + case 3: // OPEN_ID + return OPEN_ID; + case 4: // ORDER_ID + return ORDER_ID; + case 5: // ORDER_TIME + return ORDER_TIME; + case 6: // AMOUNT + return AMOUNT; + default: + return null; + } + } + + /** + * Find the _Fields constant that matches fieldId, throwing an exception + * if it is not found. + */ + public static _Fields findByThriftIdOrThrow(int fieldId) { + _Fields fields = findByThriftId(fieldId); + if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!"); + return fields; + } + + /** + * Find the _Fields constant that matches name, or null if its not found. + */ + public static _Fields findByName(String name) { + return byName.get(name); + } + + private final short _thriftId; + private final String _fieldName; + + _Fields(short thriftId, String fieldName) { + _thriftId = thriftId; + _fieldName = fieldName; + } + + public short getThriftFieldId() { + return _thriftId; + } + + public String getFieldName() { + return _fieldName; + } + } + + // isset id assignments + private static final int __UID_ISSET_ID = 0; + private static final int __GOODSID_ISSET_ID = 1; + private static final int __ORDERTIME_ISSET_ID = 2; + private static final int __AMOUNT_ISSET_ID = 3; + private byte __isset_bitfield = 0; + public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap; + static { + Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class); + tmpMap.put(_Fields.UID, new org.apache.thrift.meta_data.FieldMetaData("uid", org.apache.thrift.TFieldRequirementType.DEFAULT, + new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I32))); + tmpMap.put(_Fields.GOODS_ID, new org.apache.thrift.meta_data.FieldMetaData("goodsId", org.apache.thrift.TFieldRequirementType.DEFAULT, + new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I32))); + tmpMap.put(_Fields.OPEN_ID, new org.apache.thrift.meta_data.FieldMetaData("openId", org.apache.thrift.TFieldRequirementType.DEFAULT, + new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING))); + tmpMap.put(_Fields.ORDER_ID, new org.apache.thrift.meta_data.FieldMetaData("orderId", org.apache.thrift.TFieldRequirementType.DEFAULT, + new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING))); + tmpMap.put(_Fields.ORDER_TIME, new org.apache.thrift.meta_data.FieldMetaData("orderTime", org.apache.thrift.TFieldRequirementType.DEFAULT, + new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64))); + tmpMap.put(_Fields.AMOUNT, new org.apache.thrift.meta_data.FieldMetaData("amount", org.apache.thrift.TFieldRequirementType.DEFAULT, + new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I32))); + metaDataMap = Collections.unmodifiableMap(tmpMap); + org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(deliveryRecharge_args.class, metaDataMap); + } + + public deliveryRecharge_args() { + } + + public deliveryRecharge_args( + int uid, + int goodsId, + String openId, + String orderId, + long orderTime, + int amount) + { + this(); + this.uid = uid; + setUidIsSet(true); + this.goodsId = goodsId; + setGoodsIdIsSet(true); + this.openId = openId; + this.orderId = orderId; + this.orderTime = orderTime; + setOrderTimeIsSet(true); + this.amount = amount; + setAmountIsSet(true); + } + + /** + * Performs a deep copy on other. + */ + public deliveryRecharge_args(deliveryRecharge_args other) { + __isset_bitfield = other.__isset_bitfield; + this.uid = other.uid; + this.goodsId = other.goodsId; + if (other.isSetOpenId()) { + this.openId = other.openId; + } + if (other.isSetOrderId()) { + this.orderId = other.orderId; + } + this.orderTime = other.orderTime; + this.amount = other.amount; + } + + public deliveryRecharge_args deepCopy() { + return new deliveryRecharge_args(this); + } + + @Override + public void clear() { + setUidIsSet(false); + this.uid = 0; + setGoodsIdIsSet(false); + this.goodsId = 0; + this.openId = null; + this.orderId = null; + setOrderTimeIsSet(false); + this.orderTime = 0; + setAmountIsSet(false); + this.amount = 0; + } + + public int getUid() { + return this.uid; + } + + public deliveryRecharge_args setUid(int uid) { + this.uid = uid; + setUidIsSet(true); + return this; + } + + public void unsetUid() { + __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __UID_ISSET_ID); + } + + /** Returns true if field uid is set (has been assigned a value) and false otherwise */ + public boolean isSetUid() { + return EncodingUtils.testBit(__isset_bitfield, __UID_ISSET_ID); + } + + public void setUidIsSet(boolean value) { + __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __UID_ISSET_ID, value); + } + + public int getGoodsId() { + return this.goodsId; + } + + public deliveryRecharge_args setGoodsId(int goodsId) { + this.goodsId = goodsId; + setGoodsIdIsSet(true); + return this; + } + + public void unsetGoodsId() { + __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __GOODSID_ISSET_ID); + } + + /** Returns true if field goodsId is set (has been assigned a value) and false otherwise */ + public boolean isSetGoodsId() { + return EncodingUtils.testBit(__isset_bitfield, __GOODSID_ISSET_ID); + } + + public void setGoodsIdIsSet(boolean value) { + __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __GOODSID_ISSET_ID, value); + } + + public String getOpenId() { + return this.openId; + } + + public deliveryRecharge_args setOpenId(String openId) { + this.openId = openId; + return this; + } + + public void unsetOpenId() { + this.openId = null; + } + + /** Returns true if field openId is set (has been assigned a value) and false otherwise */ + public boolean isSetOpenId() { + return this.openId != null; + } + + public void setOpenIdIsSet(boolean value) { + if (!value) { + this.openId = null; + } + } + + public String getOrderId() { + return this.orderId; + } + + public deliveryRecharge_args setOrderId(String orderId) { + this.orderId = orderId; + return this; + } + + public void unsetOrderId() { + this.orderId = null; + } + + /** Returns true if field orderId is set (has been assigned a value) and false otherwise */ + public boolean isSetOrderId() { + return this.orderId != null; + } + + public void setOrderIdIsSet(boolean value) { + if (!value) { + this.orderId = null; + } + } + + public long getOrderTime() { + return this.orderTime; + } + + public deliveryRecharge_args setOrderTime(long orderTime) { + this.orderTime = orderTime; + setOrderTimeIsSet(true); + return this; + } + + public void unsetOrderTime() { + __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __ORDERTIME_ISSET_ID); + } + + /** Returns true if field orderTime is set (has been assigned a value) and false otherwise */ + public boolean isSetOrderTime() { + return EncodingUtils.testBit(__isset_bitfield, __ORDERTIME_ISSET_ID); + } + + public void setOrderTimeIsSet(boolean value) { + __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __ORDERTIME_ISSET_ID, value); + } + + public int getAmount() { + return this.amount; + } + + public deliveryRecharge_args setAmount(int amount) { + this.amount = amount; + setAmountIsSet(true); + return this; + } + + public void unsetAmount() { + __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __AMOUNT_ISSET_ID); + } + + /** Returns true if field amount is set (has been assigned a value) and false otherwise */ + public boolean isSetAmount() { + return EncodingUtils.testBit(__isset_bitfield, __AMOUNT_ISSET_ID); + } + + public void setAmountIsSet(boolean value) { + __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __AMOUNT_ISSET_ID, value); + } + + public void setFieldValue(_Fields field, Object value) { + switch (field) { + case UID: + if (value == null) { + unsetUid(); + } else { + setUid((Integer)value); + } + break; + + case GOODS_ID: + if (value == null) { + unsetGoodsId(); + } else { + setGoodsId((Integer)value); + } + break; + + case OPEN_ID: + if (value == null) { + unsetOpenId(); + } else { + setOpenId((String)value); + } + break; + + case ORDER_ID: + if (value == null) { + unsetOrderId(); + } else { + setOrderId((String)value); + } + break; + + case ORDER_TIME: + if (value == null) { + unsetOrderTime(); + } else { + setOrderTime((Long)value); + } + break; + + case AMOUNT: + if (value == null) { + unsetAmount(); + } else { + setAmount((Integer)value); + } + break; + + } + } + + public Object getFieldValue(_Fields field) { + switch (field) { + case UID: + return Integer.valueOf(getUid()); + + case GOODS_ID: + return Integer.valueOf(getGoodsId()); + + case OPEN_ID: + return getOpenId(); + + case ORDER_ID: + return getOrderId(); + + case ORDER_TIME: + return Long.valueOf(getOrderTime()); + + case AMOUNT: + return Integer.valueOf(getAmount()); + + } + throw new IllegalStateException(); + } + + /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */ + public boolean isSet(_Fields field) { + if (field == null) { + throw new IllegalArgumentException(); + } + + switch (field) { + case UID: + return isSetUid(); + case GOODS_ID: + return isSetGoodsId(); + case OPEN_ID: + return isSetOpenId(); + case ORDER_ID: + return isSetOrderId(); + case ORDER_TIME: + return isSetOrderTime(); + case AMOUNT: + return isSetAmount(); + } + throw new IllegalStateException(); + } + + @Override + public boolean equals(Object that) { + if (that == null) + return false; + if (that instanceof deliveryRecharge_args) + return this.equals((deliveryRecharge_args)that); + return false; + } + + public boolean equals(deliveryRecharge_args that) { + if (that == null) + return false; + + boolean this_present_uid = true; + boolean that_present_uid = true; + if (this_present_uid || that_present_uid) { + if (!(this_present_uid && that_present_uid)) + return false; + if (this.uid != that.uid) + return false; + } + + boolean this_present_goodsId = true; + boolean that_present_goodsId = true; + if (this_present_goodsId || that_present_goodsId) { + if (!(this_present_goodsId && that_present_goodsId)) + return false; + if (this.goodsId != that.goodsId) + return false; + } + + boolean this_present_openId = true && this.isSetOpenId(); + boolean that_present_openId = true && that.isSetOpenId(); + if (this_present_openId || that_present_openId) { + if (!(this_present_openId && that_present_openId)) + return false; + if (!this.openId.equals(that.openId)) + return false; + } + + boolean this_present_orderId = true && this.isSetOrderId(); + boolean that_present_orderId = true && that.isSetOrderId(); + if (this_present_orderId || that_present_orderId) { + if (!(this_present_orderId && that_present_orderId)) + return false; + if (!this.orderId.equals(that.orderId)) + return false; + } + + boolean this_present_orderTime = true; + boolean that_present_orderTime = true; + if (this_present_orderTime || that_present_orderTime) { + if (!(this_present_orderTime && that_present_orderTime)) + return false; + if (this.orderTime != that.orderTime) + return false; + } + + boolean this_present_amount = true; + boolean that_present_amount = true; + if (this_present_amount || that_present_amount) { + if (!(this_present_amount && that_present_amount)) + return false; + if (this.amount != that.amount) + return false; + } + + return true; + } + + @Override + public int hashCode() { + List list = new ArrayList(); + + boolean present_uid = true; + list.add(present_uid); + if (present_uid) + list.add(uid); + + boolean present_goodsId = true; + list.add(present_goodsId); + if (present_goodsId) + list.add(goodsId); + + boolean present_openId = true && (isSetOpenId()); + list.add(present_openId); + if (present_openId) + list.add(openId); + + boolean present_orderId = true && (isSetOrderId()); + list.add(present_orderId); + if (present_orderId) + list.add(orderId); + + boolean present_orderTime = true; + list.add(present_orderTime); + if (present_orderTime) + list.add(orderTime); + + boolean present_amount = true; + list.add(present_amount); + if (present_amount) + list.add(amount); + + return list.hashCode(); + } + + @Override + public int compareTo(deliveryRecharge_args other) { + if (!getClass().equals(other.getClass())) { + return getClass().getName().compareTo(other.getClass().getName()); + } + + int lastComparison = 0; + + lastComparison = Boolean.valueOf(isSetUid()).compareTo(other.isSetUid()); + if (lastComparison != 0) { + return lastComparison; + } + if (isSetUid()) { + lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.uid, other.uid); + if (lastComparison != 0) { + return lastComparison; + } + } + lastComparison = Boolean.valueOf(isSetGoodsId()).compareTo(other.isSetGoodsId()); + if (lastComparison != 0) { + return lastComparison; + } + if (isSetGoodsId()) { + lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.goodsId, other.goodsId); + if (lastComparison != 0) { + return lastComparison; + } + } + lastComparison = Boolean.valueOf(isSetOpenId()).compareTo(other.isSetOpenId()); + if (lastComparison != 0) { + return lastComparison; + } + if (isSetOpenId()) { + lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.openId, other.openId); + if (lastComparison != 0) { + return lastComparison; + } + } + lastComparison = Boolean.valueOf(isSetOrderId()).compareTo(other.isSetOrderId()); + if (lastComparison != 0) { + return lastComparison; + } + if (isSetOrderId()) { + lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.orderId, other.orderId); + if (lastComparison != 0) { + return lastComparison; + } + } + lastComparison = Boolean.valueOf(isSetOrderTime()).compareTo(other.isSetOrderTime()); + if (lastComparison != 0) { + return lastComparison; + } + if (isSetOrderTime()) { + lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.orderTime, other.orderTime); + if (lastComparison != 0) { + return lastComparison; + } + } + lastComparison = Boolean.valueOf(isSetAmount()).compareTo(other.isSetAmount()); + if (lastComparison != 0) { + return lastComparison; + } + if (isSetAmount()) { + lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.amount, other.amount); + if (lastComparison != 0) { + return lastComparison; + } + } + return 0; + } + + public _Fields fieldForId(int fieldId) { + return _Fields.findByThriftId(fieldId); + } + + public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException { + schemes.get(iprot.getScheme()).getScheme().read(iprot, this); + } + + public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException { + schemes.get(oprot.getScheme()).getScheme().write(oprot, this); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder("deliveryRecharge_args("); + boolean first = true; + + sb.append("uid:"); + sb.append(this.uid); + first = false; + if (!first) sb.append(", "); + sb.append("goodsId:"); + sb.append(this.goodsId); + first = false; + if (!first) sb.append(", "); + sb.append("openId:"); + if (this.openId == null) { + sb.append("null"); + } else { + sb.append(this.openId); + } + first = false; + if (!first) sb.append(", "); + sb.append("orderId:"); + if (this.orderId == null) { + sb.append("null"); + } else { + sb.append(this.orderId); + } + first = false; + if (!first) sb.append(", "); + sb.append("orderTime:"); + sb.append(this.orderTime); + first = false; + if (!first) sb.append(", "); + sb.append("amount:"); + sb.append(this.amount); + first = false; + sb.append(")"); + return sb.toString(); + } + + public void validate() throws org.apache.thrift.TException { + // check for required fields + // check for sub-struct validity + } + + private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException { + try { + write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out))); + } catch (org.apache.thrift.TException te) { + throw new java.io.IOException(te); + } + } + + private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException { + try { + // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor. + __isset_bitfield = 0; + read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in))); + } catch (org.apache.thrift.TException te) { + throw new java.io.IOException(te); + } + } + + private static class deliveryRecharge_argsStandardSchemeFactory implements SchemeFactory { + public deliveryRecharge_argsStandardScheme getScheme() { + return new deliveryRecharge_argsStandardScheme(); + } + } + + private static class deliveryRecharge_argsStandardScheme extends StandardScheme { + + public void read(org.apache.thrift.protocol.TProtocol iprot, deliveryRecharge_args struct) throws org.apache.thrift.TException { + org.apache.thrift.protocol.TField schemeField; + iprot.readStructBegin(); + while (true) + { + schemeField = iprot.readFieldBegin(); + if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { + break; + } + switch (schemeField.id) { + case 1: // UID + if (schemeField.type == org.apache.thrift.protocol.TType.I32) { + struct.uid = iprot.readI32(); + struct.setUidIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 2: // GOODS_ID + if (schemeField.type == org.apache.thrift.protocol.TType.I32) { + struct.goodsId = iprot.readI32(); + struct.setGoodsIdIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 3: // OPEN_ID + if (schemeField.type == org.apache.thrift.protocol.TType.STRING) { + struct.openId = iprot.readString(); + struct.setOpenIdIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 4: // ORDER_ID + if (schemeField.type == org.apache.thrift.protocol.TType.STRING) { + struct.orderId = iprot.readString(); + struct.setOrderIdIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 5: // ORDER_TIME + if (schemeField.type == org.apache.thrift.protocol.TType.I64) { + struct.orderTime = iprot.readI64(); + struct.setOrderTimeIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 6: // AMOUNT + if (schemeField.type == org.apache.thrift.protocol.TType.I32) { + struct.amount = iprot.readI32(); + struct.setAmountIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + default: + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + iprot.readFieldEnd(); + } + iprot.readStructEnd(); + + // check for required fields of primitive type, which can't be checked in the validate method + struct.validate(); + } + + public void write(org.apache.thrift.protocol.TProtocol oprot, deliveryRecharge_args struct) throws org.apache.thrift.TException { + struct.validate(); + + oprot.writeStructBegin(STRUCT_DESC); + oprot.writeFieldBegin(UID_FIELD_DESC); + oprot.writeI32(struct.uid); + oprot.writeFieldEnd(); + oprot.writeFieldBegin(GOODS_ID_FIELD_DESC); + oprot.writeI32(struct.goodsId); + oprot.writeFieldEnd(); + if (struct.openId != null) { + oprot.writeFieldBegin(OPEN_ID_FIELD_DESC); + oprot.writeString(struct.openId); + oprot.writeFieldEnd(); + } + if (struct.orderId != null) { + oprot.writeFieldBegin(ORDER_ID_FIELD_DESC); + oprot.writeString(struct.orderId); + oprot.writeFieldEnd(); + } + oprot.writeFieldBegin(ORDER_TIME_FIELD_DESC); + oprot.writeI64(struct.orderTime); + oprot.writeFieldEnd(); + oprot.writeFieldBegin(AMOUNT_FIELD_DESC); + oprot.writeI32(struct.amount); + oprot.writeFieldEnd(); + oprot.writeFieldStop(); + oprot.writeStructEnd(); + } + + } + + private static class deliveryRecharge_argsTupleSchemeFactory implements SchemeFactory { + public deliveryRecharge_argsTupleScheme getScheme() { + return new deliveryRecharge_argsTupleScheme(); + } + } + + private static class deliveryRecharge_argsTupleScheme extends TupleScheme { + + @Override + public void write(org.apache.thrift.protocol.TProtocol prot, deliveryRecharge_args struct) throws org.apache.thrift.TException { + TTupleProtocol oprot = (TTupleProtocol) prot; + BitSet optionals = new BitSet(); + if (struct.isSetUid()) { + optionals.set(0); + } + if (struct.isSetGoodsId()) { + optionals.set(1); + } + if (struct.isSetOpenId()) { + optionals.set(2); + } + if (struct.isSetOrderId()) { + optionals.set(3); + } + if (struct.isSetOrderTime()) { + optionals.set(4); + } + if (struct.isSetAmount()) { + optionals.set(5); + } + oprot.writeBitSet(optionals, 6); + if (struct.isSetUid()) { + oprot.writeI32(struct.uid); + } + if (struct.isSetGoodsId()) { + oprot.writeI32(struct.goodsId); + } + if (struct.isSetOpenId()) { + oprot.writeString(struct.openId); + } + if (struct.isSetOrderId()) { + oprot.writeString(struct.orderId); + } + if (struct.isSetOrderTime()) { + oprot.writeI64(struct.orderTime); + } + if (struct.isSetAmount()) { + oprot.writeI32(struct.amount); + } + } + + @Override + public void read(org.apache.thrift.protocol.TProtocol prot, deliveryRecharge_args struct) throws org.apache.thrift.TException { + TTupleProtocol iprot = (TTupleProtocol) prot; + BitSet incoming = iprot.readBitSet(6); + if (incoming.get(0)) { + struct.uid = iprot.readI32(); + struct.setUidIsSet(true); + } + if (incoming.get(1)) { + struct.goodsId = iprot.readI32(); + struct.setGoodsIdIsSet(true); + } + if (incoming.get(2)) { + struct.openId = iprot.readString(); + struct.setOpenIdIsSet(true); + } + if (incoming.get(3)) { + struct.orderId = iprot.readString(); + struct.setOrderIdIsSet(true); + } + if (incoming.get(4)) { + struct.orderTime = iprot.readI64(); + struct.setOrderTimeIsSet(true); + } + if (incoming.get(5)) { + struct.amount = iprot.readI32(); + struct.setAmountIsSet(true); + } + } + } + + } + + public static class deliveryRecharge_result implements org.apache.thrift.TBase, java.io.Serializable, Cloneable, Comparable { + private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("deliveryRecharge_result"); + + private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.STRUCT, (short)0); + private static final org.apache.thrift.protocol.TField OUCH_FIELD_DESC = new org.apache.thrift.protocol.TField("ouch", org.apache.thrift.protocol.TType.STRUCT, (short)1); + + private static final Map, SchemeFactory> schemes = new HashMap, SchemeFactory>(); + static { + schemes.put(StandardScheme.class, new deliveryRecharge_resultStandardSchemeFactory()); + schemes.put(TupleScheme.class, new deliveryRecharge_resultTupleSchemeFactory()); + } + + public Result success; // required + public InvalidOperException ouch; // required + + /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */ + public enum _Fields implements org.apache.thrift.TFieldIdEnum { + SUCCESS((short)0, "success"), + OUCH((short)1, "ouch"); + + private static final Map byName = new HashMap(); + + static { + for (_Fields field : EnumSet.allOf(_Fields.class)) { + byName.put(field.getFieldName(), field); + } + } + + /** + * Find the _Fields constant that matches fieldId, or null if its not found. + */ + public static _Fields findByThriftId(int fieldId) { + switch(fieldId) { + case 0: // SUCCESS + return SUCCESS; + case 1: // OUCH + return OUCH; + default: + return null; + } + } + + /** + * Find the _Fields constant that matches fieldId, throwing an exception + * if it is not found. + */ + public static _Fields findByThriftIdOrThrow(int fieldId) { + _Fields fields = findByThriftId(fieldId); + if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!"); + return fields; + } + + /** + * Find the _Fields constant that matches name, or null if its not found. + */ + public static _Fields findByName(String name) { + return byName.get(name); + } + + private final short _thriftId; + private final String _fieldName; + + _Fields(short thriftId, String fieldName) { + _thriftId = thriftId; + _fieldName = fieldName; + } + + public short getThriftFieldId() { + return _thriftId; + } + + public String getFieldName() { + return _fieldName; + } + } + + // isset id assignments + public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap; + static { + Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class); + tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, + new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, Result.class))); + tmpMap.put(_Fields.OUCH, new org.apache.thrift.meta_data.FieldMetaData("ouch", org.apache.thrift.TFieldRequirementType.DEFAULT, + new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRUCT))); + metaDataMap = Collections.unmodifiableMap(tmpMap); + org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(deliveryRecharge_result.class, metaDataMap); + } + + public deliveryRecharge_result() { + } + + public deliveryRecharge_result( + Result success, + InvalidOperException ouch) + { + this(); + this.success = success; + this.ouch = ouch; + } + + /** + * Performs a deep copy on other. + */ + public deliveryRecharge_result(deliveryRecharge_result other) { + if (other.isSetSuccess()) { + this.success = new Result(other.success); + } + if (other.isSetOuch()) { + this.ouch = new InvalidOperException(other.ouch); + } + } + + public deliveryRecharge_result deepCopy() { + return new deliveryRecharge_result(this); + } + + @Override + public void clear() { + this.success = null; + this.ouch = null; + } + + public Result getSuccess() { + return this.success; + } + + public deliveryRecharge_result setSuccess(Result success) { + this.success = success; + return this; + } + + public void unsetSuccess() { + this.success = null; + } + + /** Returns true if field success is set (has been assigned a value) and false otherwise */ + public boolean isSetSuccess() { + return this.success != null; + } + + public void setSuccessIsSet(boolean value) { + if (!value) { + this.success = null; + } + } + + public InvalidOperException getOuch() { + return this.ouch; + } + + public deliveryRecharge_result setOuch(InvalidOperException ouch) { + this.ouch = ouch; + return this; + } + + public void unsetOuch() { + this.ouch = null; + } + + /** Returns true if field ouch is set (has been assigned a value) and false otherwise */ + public boolean isSetOuch() { + return this.ouch != null; + } + + public void setOuchIsSet(boolean value) { + if (!value) { + this.ouch = null; + } + } + + public void setFieldValue(_Fields field, Object value) { + switch (field) { + case SUCCESS: + if (value == null) { + unsetSuccess(); + } else { + setSuccess((Result)value); + } + break; + + case OUCH: + if (value == null) { + unsetOuch(); + } else { + setOuch((InvalidOperException)value); + } + break; + + } + } + + public Object getFieldValue(_Fields field) { + switch (field) { + case SUCCESS: + return getSuccess(); + + case OUCH: + return getOuch(); + + } + throw new IllegalStateException(); + } + + /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */ + public boolean isSet(_Fields field) { + if (field == null) { + throw new IllegalArgumentException(); + } + + switch (field) { + case SUCCESS: + return isSetSuccess(); + case OUCH: + return isSetOuch(); + } + throw new IllegalStateException(); + } + + @Override + public boolean equals(Object that) { + if (that == null) + return false; + if (that instanceof deliveryRecharge_result) + return this.equals((deliveryRecharge_result)that); + return false; + } + + public boolean equals(deliveryRecharge_result that) { + if (that == null) + return false; + + boolean this_present_success = true && this.isSetSuccess(); + boolean that_present_success = true && that.isSetSuccess(); + if (this_present_success || that_present_success) { + if (!(this_present_success && that_present_success)) + return false; + if (!this.success.equals(that.success)) + return false; + } + + boolean this_present_ouch = true && this.isSetOuch(); + boolean that_present_ouch = true && that.isSetOuch(); + if (this_present_ouch || that_present_ouch) { + if (!(this_present_ouch && that_present_ouch)) + return false; + if (!this.ouch.equals(that.ouch)) + return false; + } + + return true; + } + + @Override + public int hashCode() { + List list = new ArrayList(); + + boolean present_success = true && (isSetSuccess()); + list.add(present_success); + if (present_success) + list.add(success); + + boolean present_ouch = true && (isSetOuch()); + list.add(present_ouch); + if (present_ouch) + list.add(ouch); + + return list.hashCode(); + } + + @Override + public int compareTo(deliveryRecharge_result other) { + if (!getClass().equals(other.getClass())) { + return getClass().getName().compareTo(other.getClass().getName()); + } + + int lastComparison = 0; + + lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess()); + if (lastComparison != 0) { + return lastComparison; + } + if (isSetSuccess()) { + lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, other.success); + if (lastComparison != 0) { + return lastComparison; + } + } + lastComparison = Boolean.valueOf(isSetOuch()).compareTo(other.isSetOuch()); + if (lastComparison != 0) { + return lastComparison; + } + if (isSetOuch()) { + lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.ouch, other.ouch); + if (lastComparison != 0) { + return lastComparison; + } + } + return 0; + } + + public _Fields fieldForId(int fieldId) { + return _Fields.findByThriftId(fieldId); + } + + public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException { + schemes.get(iprot.getScheme()).getScheme().read(iprot, this); + } + + public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException { + schemes.get(oprot.getScheme()).getScheme().write(oprot, this); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder("deliveryRecharge_result("); + boolean first = true; + + sb.append("success:"); + if (this.success == null) { + sb.append("null"); + } else { + sb.append(this.success); + } + first = false; + if (!first) sb.append(", "); + sb.append("ouch:"); + if (this.ouch == null) { + sb.append("null"); + } else { + sb.append(this.ouch); + } + first = false; + sb.append(")"); + return sb.toString(); + } + + public void validate() throws org.apache.thrift.TException { + // check for required fields + // check for sub-struct validity + if (success != null) { + success.validate(); + } + } + + private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException { + try { + write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out))); + } catch (org.apache.thrift.TException te) { + throw new java.io.IOException(te); + } + } + + private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException { + try { + read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in))); + } catch (org.apache.thrift.TException te) { + throw new java.io.IOException(te); + } + } + + private static class deliveryRecharge_resultStandardSchemeFactory implements SchemeFactory { + public deliveryRecharge_resultStandardScheme getScheme() { + return new deliveryRecharge_resultStandardScheme(); + } + } + + private static class deliveryRecharge_resultStandardScheme extends StandardScheme { + + public void read(org.apache.thrift.protocol.TProtocol iprot, deliveryRecharge_result struct) throws org.apache.thrift.TException { + org.apache.thrift.protocol.TField schemeField; + iprot.readStructBegin(); + while (true) + { + schemeField = iprot.readFieldBegin(); + if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { + break; + } + switch (schemeField.id) { + case 0: // SUCCESS + if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) { + struct.success = new Result(); + struct.success.read(iprot); + struct.setSuccessIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 1: // OUCH + if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) { + struct.ouch = new InvalidOperException(); + struct.ouch.read(iprot); + struct.setOuchIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + default: + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + iprot.readFieldEnd(); + } + iprot.readStructEnd(); + + // check for required fields of primitive type, which can't be checked in the validate method + struct.validate(); + } + + public void write(org.apache.thrift.protocol.TProtocol oprot, deliveryRecharge_result struct) throws org.apache.thrift.TException { + struct.validate(); + + oprot.writeStructBegin(STRUCT_DESC); + if (struct.success != null) { + oprot.writeFieldBegin(SUCCESS_FIELD_DESC); + struct.success.write(oprot); + oprot.writeFieldEnd(); + } + if (struct.ouch != null) { + oprot.writeFieldBegin(OUCH_FIELD_DESC); + struct.ouch.write(oprot); + oprot.writeFieldEnd(); + } + oprot.writeFieldStop(); + oprot.writeStructEnd(); + } + + } + + private static class deliveryRecharge_resultTupleSchemeFactory implements SchemeFactory { + public deliveryRecharge_resultTupleScheme getScheme() { + return new deliveryRecharge_resultTupleScheme(); + } + } + + private static class deliveryRecharge_resultTupleScheme extends TupleScheme { + + @Override + public void write(org.apache.thrift.protocol.TProtocol prot, deliveryRecharge_result struct) throws org.apache.thrift.TException { + TTupleProtocol oprot = (TTupleProtocol) prot; + BitSet optionals = new BitSet(); + if (struct.isSetSuccess()) { + optionals.set(0); + } + if (struct.isSetOuch()) { + optionals.set(1); + } + oprot.writeBitSet(optionals, 2); + if (struct.isSetSuccess()) { + struct.success.write(oprot); + } + if (struct.isSetOuch()) { + struct.ouch.write(oprot); + } + } + + @Override + public void read(org.apache.thrift.protocol.TProtocol prot, deliveryRecharge_result struct) throws org.apache.thrift.TException { + TTupleProtocol iprot = (TTupleProtocol) prot; + BitSet incoming = iprot.readBitSet(2); + if (incoming.get(0)) { + struct.success = new Result(); + struct.success.read(iprot); + struct.setSuccessIsSet(true); + } + if (incoming.get(1)) { + struct.ouch = new InvalidOperException(); + struct.ouch.read(iprot); + struct.setOuchIsSet(true); + } + } + } + + } + +} diff --git a/serverlogic/src/main/java/com/ljsd/jieling/thrift/idl/Result.java b/serverlogic/src/main/java/com/ljsd/jieling/thrift/idl/Result.java new file mode 100644 index 000000000..5ebe4d846 --- /dev/null +++ b/serverlogic/src/main/java/com/ljsd/jieling/thrift/idl/Result.java @@ -0,0 +1,500 @@ +/** + * Autogenerated by Thrift Compiler (0.9.2) + * + * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING + * @generated + */ +package com.ljsd.jieling.thrift.idl; + +import org.apache.thrift.scheme.IScheme; +import org.apache.thrift.scheme.SchemeFactory; +import org.apache.thrift.scheme.StandardScheme; + +import org.apache.thrift.scheme.TupleScheme; +import org.apache.thrift.protocol.TTupleProtocol; +import org.apache.thrift.protocol.TProtocolException; +import org.apache.thrift.EncodingUtils; +import org.apache.thrift.TException; +import org.apache.thrift.async.AsyncMethodCallback; +import org.apache.thrift.server.AbstractNonblockingServer.*; +import java.util.List; +import java.util.ArrayList; +import java.util.Map; +import java.util.HashMap; +import java.util.EnumMap; +import java.util.Set; +import java.util.HashSet; +import java.util.EnumSet; +import java.util.Collections; +import java.util.BitSet; +import java.nio.ByteBuffer; +import java.util.Arrays; +import javax.annotation.Generated; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"}) +@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2019-7-12") +public class Result implements org.apache.thrift.TBase, java.io.Serializable, Cloneable, Comparable { + private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("Result"); + + private static final org.apache.thrift.protocol.TField RESULT_CODE_FIELD_DESC = new org.apache.thrift.protocol.TField("resultCode", org.apache.thrift.protocol.TType.I32, (short)1); + private static final org.apache.thrift.protocol.TField RESULT_MSG_FIELD_DESC = new org.apache.thrift.protocol.TField("resultMsg", org.apache.thrift.protocol.TType.STRING, (short)2); + + private static final Map, SchemeFactory> schemes = new HashMap, SchemeFactory>(); + static { + schemes.put(StandardScheme.class, new ResultStandardSchemeFactory()); + schemes.put(TupleScheme.class, new ResultTupleSchemeFactory()); + } + + public int resultCode; // optional + public String resultMsg; // optional + + /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */ + public enum _Fields implements org.apache.thrift.TFieldIdEnum { + RESULT_CODE((short)1, "resultCode"), + RESULT_MSG((short)2, "resultMsg"); + + private static final Map byName = new HashMap(); + + static { + for (_Fields field : EnumSet.allOf(_Fields.class)) { + byName.put(field.getFieldName(), field); + } + } + + /** + * Find the _Fields constant that matches fieldId, or null if its not found. + */ + public static _Fields findByThriftId(int fieldId) { + switch(fieldId) { + case 1: // RESULT_CODE + return RESULT_CODE; + case 2: // RESULT_MSG + return RESULT_MSG; + default: + return null; + } + } + + /** + * Find the _Fields constant that matches fieldId, throwing an exception + * if it is not found. + */ + public static _Fields findByThriftIdOrThrow(int fieldId) { + _Fields fields = findByThriftId(fieldId); + if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!"); + return fields; + } + + /** + * Find the _Fields constant that matches name, or null if its not found. + */ + public static _Fields findByName(String name) { + return byName.get(name); + } + + private final short _thriftId; + private final String _fieldName; + + _Fields(short thriftId, String fieldName) { + _thriftId = thriftId; + _fieldName = fieldName; + } + + public short getThriftFieldId() { + return _thriftId; + } + + public String getFieldName() { + return _fieldName; + } + } + + // isset id assignments + private static final int __RESULTCODE_ISSET_ID = 0; + private byte __isset_bitfield = 0; + private static final _Fields optionals[] = {_Fields.RESULT_CODE,_Fields.RESULT_MSG}; + public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap; + static { + Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class); + tmpMap.put(_Fields.RESULT_CODE, new org.apache.thrift.meta_data.FieldMetaData("resultCode", org.apache.thrift.TFieldRequirementType.OPTIONAL, + new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I32))); + tmpMap.put(_Fields.RESULT_MSG, new org.apache.thrift.meta_data.FieldMetaData("resultMsg", org.apache.thrift.TFieldRequirementType.OPTIONAL, + new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING))); + metaDataMap = Collections.unmodifiableMap(tmpMap); + org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(Result.class, metaDataMap); + } + + public Result() { + } + + /** + * Performs a deep copy on other. + */ + public Result(Result other) { + __isset_bitfield = other.__isset_bitfield; + this.resultCode = other.resultCode; + if (other.isSetResultMsg()) { + this.resultMsg = other.resultMsg; + } + } + + public Result deepCopy() { + return new Result(this); + } + + @Override + public void clear() { + setResultCodeIsSet(false); + this.resultCode = 0; + this.resultMsg = null; + } + + public int getResultCode() { + return this.resultCode; + } + + public Result setResultCode(int resultCode) { + this.resultCode = resultCode; + setResultCodeIsSet(true); + return this; + } + + public void unsetResultCode() { + __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __RESULTCODE_ISSET_ID); + } + + /** Returns true if field resultCode is set (has been assigned a value) and false otherwise */ + public boolean isSetResultCode() { + return EncodingUtils.testBit(__isset_bitfield, __RESULTCODE_ISSET_ID); + } + + public void setResultCodeIsSet(boolean value) { + __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __RESULTCODE_ISSET_ID, value); + } + + public String getResultMsg() { + return this.resultMsg; + } + + public Result setResultMsg(String resultMsg) { + this.resultMsg = resultMsg; + return this; + } + + public void unsetResultMsg() { + this.resultMsg = null; + } + + /** Returns true if field resultMsg is set (has been assigned a value) and false otherwise */ + public boolean isSetResultMsg() { + return this.resultMsg != null; + } + + public void setResultMsgIsSet(boolean value) { + if (!value) { + this.resultMsg = null; + } + } + + public void setFieldValue(_Fields field, Object value) { + switch (field) { + case RESULT_CODE: + if (value == null) { + unsetResultCode(); + } else { + setResultCode((Integer)value); + } + break; + + case RESULT_MSG: + if (value == null) { + unsetResultMsg(); + } else { + setResultMsg((String)value); + } + break; + + } + } + + public Object getFieldValue(_Fields field) { + switch (field) { + case RESULT_CODE: + return Integer.valueOf(getResultCode()); + + case RESULT_MSG: + return getResultMsg(); + + } + throw new IllegalStateException(); + } + + /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */ + public boolean isSet(_Fields field) { + if (field == null) { + throw new IllegalArgumentException(); + } + + switch (field) { + case RESULT_CODE: + return isSetResultCode(); + case RESULT_MSG: + return isSetResultMsg(); + } + throw new IllegalStateException(); + } + + @Override + public boolean equals(Object that) { + if (that == null) + return false; + if (that instanceof Result) + return this.equals((Result)that); + return false; + } + + public boolean equals(Result that) { + if (that == null) + return false; + + boolean this_present_resultCode = true && this.isSetResultCode(); + boolean that_present_resultCode = true && that.isSetResultCode(); + if (this_present_resultCode || that_present_resultCode) { + if (!(this_present_resultCode && that_present_resultCode)) + return false; + if (this.resultCode != that.resultCode) + return false; + } + + boolean this_present_resultMsg = true && this.isSetResultMsg(); + boolean that_present_resultMsg = true && that.isSetResultMsg(); + if (this_present_resultMsg || that_present_resultMsg) { + if (!(this_present_resultMsg && that_present_resultMsg)) + return false; + if (!this.resultMsg.equals(that.resultMsg)) + return false; + } + + return true; + } + + @Override + public int hashCode() { + List list = new ArrayList(); + + boolean present_resultCode = true && (isSetResultCode()); + list.add(present_resultCode); + if (present_resultCode) + list.add(resultCode); + + boolean present_resultMsg = true && (isSetResultMsg()); + list.add(present_resultMsg); + if (present_resultMsg) + list.add(resultMsg); + + return list.hashCode(); + } + + @Override + public int compareTo(Result other) { + if (!getClass().equals(other.getClass())) { + return getClass().getName().compareTo(other.getClass().getName()); + } + + int lastComparison = 0; + + lastComparison = Boolean.valueOf(isSetResultCode()).compareTo(other.isSetResultCode()); + if (lastComparison != 0) { + return lastComparison; + } + if (isSetResultCode()) { + lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.resultCode, other.resultCode); + if (lastComparison != 0) { + return lastComparison; + } + } + lastComparison = Boolean.valueOf(isSetResultMsg()).compareTo(other.isSetResultMsg()); + if (lastComparison != 0) { + return lastComparison; + } + if (isSetResultMsg()) { + lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.resultMsg, other.resultMsg); + if (lastComparison != 0) { + return lastComparison; + } + } + return 0; + } + + public _Fields fieldForId(int fieldId) { + return _Fields.findByThriftId(fieldId); + } + + public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException { + schemes.get(iprot.getScheme()).getScheme().read(iprot, this); + } + + public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException { + schemes.get(oprot.getScheme()).getScheme().write(oprot, this); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder("Result("); + boolean first = true; + + if (isSetResultCode()) { + sb.append("resultCode:"); + sb.append(this.resultCode); + first = false; + } + if (isSetResultMsg()) { + if (!first) sb.append(", "); + sb.append("resultMsg:"); + if (this.resultMsg == null) { + sb.append("null"); + } else { + sb.append(this.resultMsg); + } + first = false; + } + sb.append(")"); + return sb.toString(); + } + + public void validate() throws org.apache.thrift.TException { + // check for required fields + // check for sub-struct validity + } + + private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException { + try { + write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out))); + } catch (org.apache.thrift.TException te) { + throw new java.io.IOException(te); + } + } + + private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException { + try { + // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor. + __isset_bitfield = 0; + read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in))); + } catch (org.apache.thrift.TException te) { + throw new java.io.IOException(te); + } + } + + private static class ResultStandardSchemeFactory implements SchemeFactory { + public ResultStandardScheme getScheme() { + return new ResultStandardScheme(); + } + } + + private static class ResultStandardScheme extends StandardScheme { + + public void read(org.apache.thrift.protocol.TProtocol iprot, Result struct) throws org.apache.thrift.TException { + org.apache.thrift.protocol.TField schemeField; + iprot.readStructBegin(); + while (true) + { + schemeField = iprot.readFieldBegin(); + if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { + break; + } + switch (schemeField.id) { + case 1: // RESULT_CODE + if (schemeField.type == org.apache.thrift.protocol.TType.I32) { + struct.resultCode = iprot.readI32(); + struct.setResultCodeIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 2: // RESULT_MSG + if (schemeField.type == org.apache.thrift.protocol.TType.STRING) { + struct.resultMsg = iprot.readString(); + struct.setResultMsgIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + default: + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + iprot.readFieldEnd(); + } + iprot.readStructEnd(); + + // check for required fields of primitive type, which can't be checked in the validate method + struct.validate(); + } + + public void write(org.apache.thrift.protocol.TProtocol oprot, Result struct) throws org.apache.thrift.TException { + struct.validate(); + + oprot.writeStructBegin(STRUCT_DESC); + if (struct.isSetResultCode()) { + oprot.writeFieldBegin(RESULT_CODE_FIELD_DESC); + oprot.writeI32(struct.resultCode); + oprot.writeFieldEnd(); + } + if (struct.resultMsg != null) { + if (struct.isSetResultMsg()) { + oprot.writeFieldBegin(RESULT_MSG_FIELD_DESC); + oprot.writeString(struct.resultMsg); + oprot.writeFieldEnd(); + } + } + oprot.writeFieldStop(); + oprot.writeStructEnd(); + } + + } + + private static class ResultTupleSchemeFactory implements SchemeFactory { + public ResultTupleScheme getScheme() { + return new ResultTupleScheme(); + } + } + + private static class ResultTupleScheme extends TupleScheme { + + @Override + public void write(org.apache.thrift.protocol.TProtocol prot, Result struct) throws org.apache.thrift.TException { + TTupleProtocol oprot = (TTupleProtocol) prot; + BitSet optionals = new BitSet(); + if (struct.isSetResultCode()) { + optionals.set(0); + } + if (struct.isSetResultMsg()) { + optionals.set(1); + } + oprot.writeBitSet(optionals, 2); + if (struct.isSetResultCode()) { + oprot.writeI32(struct.resultCode); + } + if (struct.isSetResultMsg()) { + oprot.writeString(struct.resultMsg); + } + } + + @Override + public void read(org.apache.thrift.protocol.TProtocol prot, Result struct) throws org.apache.thrift.TException { + TTupleProtocol iprot = (TTupleProtocol) prot; + BitSet incoming = iprot.readBitSet(2); + if (incoming.get(0)) { + struct.resultCode = iprot.readI32(); + struct.setResultCodeIsSet(true); + } + if (incoming.get(1)) { + struct.resultMsg = iprot.readString(); + struct.setResultMsgIsSet(true); + } + } + } + +} + diff --git a/serverlogic/src/main/resources/application.properties b/serverlogic/src/main/resources/application.properties index 92823fdd9..9ababe867 100644 --- a/serverlogic/src/main/resources/application.properties +++ b/serverlogic/src/main/resources/application.properties @@ -58,4 +58,13 @@ netty.allTimeout=35 +#core +services.core.ip=60.1.1.215 +services.core.port=7900 +services.core.area=1000 +services.core.id=1 +services.core.weight=5 + + + logging.config = conf/logback-boot.xml \ No newline at end of file From 0a832f3e08f2f90e7c8c416cf53bad54ae086299 Mon Sep 17 00:00:00 2001 From: wangyuan Date: Fri, 12 Jul 2019 15:20:03 +0800 Subject: [PATCH 3/4] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E4=BB=BB=E5=8A=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/com/ljsd/jieling/logic/item/WorkShopLogic.java | 1 + 1 file changed, 1 insertion(+) diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/item/WorkShopLogic.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/item/WorkShopLogic.java index 82c231d3a..4276ec332 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/item/WorkShopLogic.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/item/WorkShopLogic.java @@ -511,6 +511,7 @@ public class WorkShopLogic { boolean costResult = ItemUtil.itemCost(user,itemInfo,1,1); if(costResult){ controller.setWorkShopLevel(currLevel+1); + user.getUserMissionManager().onGameEvent(user,GameEvent.WORKSHOP_LEVELUP,controller.getWorkShopLevel()); MessageUtil.sendMessage(uid,1,MessageTypeProto.MessageType.WORKSHOP_LEVELUP_RESPONSE_VALUE,null,true); }else{ MessageUtil.sendErrorResponse(session,0,MessageTypeProto.MessageType.WORKSHOP_LEVELUP_RESPONSE_VALUE,"道具不足"); From b0b08481d4f4f59bb32db53fff4f208553b41280 Mon Sep 17 00:00:00 2001 From: wangyuan Date: Fri, 12 Jul 2019 15:29:53 +0800 Subject: [PATCH 4/4] fight --- luafight/Modules/Battle/Logic/Misc/BattleUtil.lua | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/luafight/Modules/Battle/Logic/Misc/BattleUtil.lua b/luafight/Modules/Battle/Logic/Misc/BattleUtil.lua index 98f0fdab4..89f3a03b7 100644 --- a/luafight/Modules/Battle/Logic/Misc/BattleUtil.lua +++ b/luafight/Modules/Battle/Logic/Misc/BattleUtil.lua @@ -26,7 +26,7 @@ function BattleUtil.ChooseTarget(role, chooseId) if chooseType == 1 then arr = BattleLogic.Query(function (r) return r.camp == role.camp end) elseif chooseType == 2 then - if role.lockTarget and num == 1 then --嘲讽时对单个敌军生效 + if role.lockTarget and not role.lockTarget.isDead and num == 1 then --嘲讽时对单个敌军生效 return {role.lockTarget} end arr = BattleLogic.Query(function (r) return r.camp ~= role.camp end) @@ -38,7 +38,7 @@ function BattleUtil.ChooseTarget(role, chooseId) end return {role} elseif chooseType == 4 then - if role.lockTarget then --嘲讽时对仇恨目标生效 + if role.lockTarget and not role.lockTarget.isDead then --嘲讽时对仇恨目标生效 return {role.lockTarget} end if role.ctrl_blind then --致盲时仇恨目标变随机