fix daily mission

wangyuan 2019-07-12 15:14:11 +08:00
parent caafce3a02
commit b449d4166e
18 changed files with 2865 additions and 23 deletions

1
.gitignore vendored
View File

@ -15,3 +15,4 @@ luafight/LogError/*.txt
luafight/LogError/*.json
luafight/BattleRecord/*.txt
luafight/BattleRecord/*.json
serverlogic/src/main/thrift

View File

@ -5,6 +5,7 @@
<!-- 定义日志文件 输入位置 -->
<property name="log_dir" value="/data/jl_logs"/>
<property name="log_tdir" value="/data/jl_tlogs"/>
<!-- 日志最大的历史 30天 -->
<property name="maxHistory" value="30"/>
@ -53,6 +54,40 @@
</appender>
<appender name="file_tlog" class="ch.qos.logback.core.rolling.RollingFileAppender">
<!--<Encoding>UTF-8</Encoding>-->
<!-- 过滤器只记录WARN级别的日志 -->
<encoder charset="UTF-8">
<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS}:%msg%n</pattern>
</encoder>
<!-- <filter class="ch.qos.logback.classic.filter.LevelFilter">
<level>ERROR</level>
<onMatch>ACCEPT</onMatch>
<onMismatch>DENY</onMismatch>
</filter>-->
<!-- 最常用的滚动策略,它根据时间来制定滚动策略.既负责滚动也负责出发滚动 -->
<rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
<!--日志输出位置 可相对、和绝对路径 -->
<fileNamePattern>${log_tdir}/%d{yyyy-MM-dd}/tlog%i.log</fileNamePattern>
<!-- 可选节点,控制保留的归档文件的最大数量,超出数量就删除旧文件假设设置每个月滚动,且<maxHistory>是6
则只保存最近6个月的文件删除之前的旧文件。注意删除旧文件是那些为了归档而创建的目录也会被删除-->
<maxHistory>${maxHistory}</maxHistory>
<maxFileSize>200MB</maxFileSize>
</rollingPolicy>
<!-- 按照固定窗口模式生成日志文件当文件大于20MB时生成新的日志文件。窗口大小是1到3当保存了3个归档文件后将覆盖最早的日志。
<rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
<fileNamePattern>${log_dir}/%d{yyyy-MM-dd}/.log.zip</fileNamePattern>
<minIndex>1</minIndex>
<maxIndex>3</maxIndex>
</rollingPolicy> -->
<!-- 查看当前活动文件的大小如果超过指定大小会告知RollingFileAppender 触发当前活动文件滚动
<triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
<maxFileSize>5KB</maxFileSize>
</triggeringPolicy>-->
</appender>
<!--
<appender name="AllLog" class="ch.qos.logback.core.rolling.RollingFileAppender">
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
@ -109,6 +144,10 @@
<logger name="org.springframework" level="INFO"/>
<logger name="BILog" additivity="false">
<appender-ref ref="file_tlog"/>
</logger>
<root level="INFO">
@ -120,6 +159,7 @@
<!-- 文件输出 -->
<!--<appender-ref ref="AllLog" />-->
<appender-ref ref="ERROR"/>
<appender-ref ref="ERROR"/>
<!--<appender-ref ref="TRACE" />-->

View File

@ -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)

View File

@ -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")
}

View File

@ -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;
}
}
}

View File

@ -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

View File

@ -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;
}
}

View File

@ -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);
}

View File

@ -41,22 +41,19 @@ public class UserMissionManager extends MongoBase {
Set<Integer> 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;
}

View File

@ -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<Integer, CrossInfo> crossInfoMap = user.getMapManager().getCrossInfoMap();
for(Map.Entry<Integer,CrossInfo> 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;

View File

@ -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次数

View File

@ -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);
}
}

View File

@ -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;
}

View File

@ -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);
}
}
}

View File

@ -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<InvalidOperException, InvalidOperException._Fields>, java.io.Serializable, Cloneable, Comparable<InvalidOperException> {
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<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, 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<String, _Fields> byName = new HashMap<String, _Fields>();
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 <i>other</i>.
*/
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<Object> list = new ArrayList<Object>();
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<InvalidOperException> {
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<InvalidOperException> {
@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);
}
}
}
}

View File

@ -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<Result, Result._Fields>, java.io.Serializable, Cloneable, Comparable<Result> {
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<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, 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<String, _Fields> byName = new HashMap<String, _Fields>();
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 <i>other</i>.
*/
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<Object> list = new ArrayList<Object>();
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<Result> {
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<Result> {
@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);
}
}
}
}

View File

@ -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