back_recharge
jiahuiwen 2019-07-05 14:53:28 +08:00
commit 269d4e0267
51 changed files with 495 additions and 172 deletions

View File

@ -1,10 +1,10 @@
Id AreaName OpenLevel SystemBoss SystemBossTime BaseRewardGroup RandomRewardGroup UpgradeConsume InvasionBoss InvasionBossReward InvasionBossTime InvasionBossRefresh InvasionBossHolding
int string mut,int#int,1 int int mut,int#int,1 mut,int#int,2 mut,int#int,2 mut,int#int,3 mut,int#int,3 int int int
1 起源之地 17#54#68 25001 300 101#151#191 93|93#171#181#251#261|93#351#211#221#291#301 14#1000000|14#5000000 601011#278|0#9722,601021#278|0#9722,601031#111|601032#111|601033#56|0#9722 601011#210101|601012#210101,601021#210102|601022#210102,601031#210103|601032#210103|601033|601034#210103 180 3600 10800
2 遗忘之路 25#57#69 25002 300 102#152#192 118|118#172#182#252#262|118#352#212#222#292#302 14#1500000|14#6000000 602011#139|602012#139|0#9722,602021#139|602022#139|0#9722,602031#111|602032#111|602033#56|0#9722 602011#210201|602012#210201|602013#210201,602021#210202|602022#210202|602023#210202,602031#210203|602032#210203|602033#210203|602034#210203 180 3600 10800
3 后悔石室 34#59#69 25003 300 103#153#193 118|118#173#183#253#263|118#353#213#223#293#303 14#2000000|14#7000000 603011#139|603012#139|0#9722,603021#139|603022#139|0#9722,603031#111|603032#111|603033#56|0#9722 603011#210301|603012#210301|603013#210301,603021#210302|603022#210302|603023#210302,603031#210303|603032#210303|603033#210303|603034#210303 180 3600 10800
4 罪罚神殿 37#64#71 25004 300 104#154#194 118#123|118#123#174#184#254#264|118#123#354#214#224#294#304 14#2500000|14#8000000 604011#139|604012#139|0#9722,604021#139|604022#139|0#9722,604031#111|604032#111|604033#56|0#9722 604011#210401|604012#210401|604013#210401,604021#210402|604022#210402|604023#210402,604031#210403|604032#210403|604033#210403|604034#210403 180 3600 10800
5 祈祷圣所 42#63#72 25005 300 105#155#195 123|123#175#185#255#265|123#355#215#225#295#305 14#3000000|14#9000000 605011#139|605012#139|0#9722,605021#139|605022#139|0#9722,605031#111|605032#111|605033#56|0#9722 605011#210501|605012#210501|605013#210501,605021#210502|605022#210502|605023#210502,605031#210503|605032#210503|605033#210503|605034#210503 180 3600 10800
6 永劫业火 46#64#72 25006 300 106#156#196 123|123#176#186#256#266|123#356#216#226#296#306 14#3500000|14#10000000 606011#139|606012#139|0#9722,606021#139|606022#139|0#9722,606031#93|606032#93|606033#93|0#9721 606011#210601|606012#210601|606013#210601,606021#210602|606022#210602|606023#210602,606031#210603|606032#210603|606033#210603|606034#210603 180 3600 10800
7 无生密室 49#66#74 25007 300 107#157#197 123|123#177#187#257#267|123#357#217#227#297#307 14#4000000|14#11000000 607011#139|607012#139|0#9722,607021#139|607022#139|0#9722,607031#93|607032#93|607033#93|0#9721 607011#210701|607012#210701|607013#210701,607021#210702|607022#210702|607023#210702,607031#210703|607032#210703|607033#210703|607034#210703 180 3600 10800
8 万神黄昏 52#67#75 25008 300 108#158#198 138|138#178#188#258#268|138#358#401#218#228#298#308 14#4500000|14#12000000 608011#139|608012#139|0#9722,608021#139|608022#139|0#9722,608031#93|608032#93|608033#93|0#9721 608011#210801|608012#210801|608013#210801,608021#210802|608022#210802|608023#210802,608031#210803|608032#210803|608033#210803|608034#210803 180 3600 10800
1 起源之地 17#54#68 25001 300 101#151#191 93|93#171#181#251#261|93#351#211#221#291#301 14#1000000|14#5000000 601011#1668|0#8332,601021#1668|0#8332,601031#556|601032#556|601033#556|0#8332 601011#210101|601012#210101,601021#210102|601022#210102,601031#210103|601032#210103|601033|601034#210103 180 3600 10800
2 遗忘之路 25#57#69 25002 300 102#152#192 118|118#172#182#252#262|118#352#212#222#292#302 14#1500000|14#6000000 602011#834|602012#834|0#8332,602021#834|602022#834|0#8332,602031#556|602032#556|602033#556|0#8332 602011#210201|602012#210201|602013#210201,602021#210202|602022#210202|602023#210202,602031#210203|602032#210203|602033#210203|602034#210203 180 3600 10800
3 后悔石室 34#59#69 25003 300 103#153#193 118|118#173#183#253#263|118#353#213#223#293#303 14#2000000|14#7000000 603011#834|603012#834|0#8332,603021#834|603022#834|0#8332,603031#556|603032#556|603033#556|0#8332 603011#210301|603012#210301|603013#210301,603021#210302|603022#210302|603023#210302,603031#210303|603032#210303|603033#210303|603034#210303 180 3600 10800
4 罪罚神殿 37#64#71 25004 300 104#154#194 118#123|118#123#174#184#254#264|118#123#354#214#224#294#304 14#2500000|14#8000000 604011#834|604012#834|0#8332,604021#834|604022#834|0#8332,604031#556|604032#556|604033#556|0#8332 604011#210401|604012#210401|604013#210401,604021#210402|604022#210402|604023#210402,604031#210403|604032#210403|604033#210403|604034#210403 180 3600 10800
5 祈祷圣所 42#63#72 25005 300 105#155#195 123|123#175#185#255#265|123#355#215#225#295#305 14#3000000|14#9000000 605011#834|605012#834|0#8332,605021#834|605022#834|0#8332,605031#556|605032#556|605033#556|0#8332 605011#210501|605012#210501|605013#210501,605021#210502|605022#210502|605023#210502,605031#210503|605032#210503|605033#210503|605034#210503 180 3600 10800
6 永劫业火 46#64#72 25006 300 106#156#196 123|123#176#186#256#266|123#356#216#226#296#306 14#3500000|14#10000000 606011#834|606012#834|0#8332,606021#834|606022#834|0#8332,606031#556|606032#556|606033#556|0#8332 606011#210601|606012#210601|606013#210601,606021#210602|606022#210602|606023#210602,606031#210603|606032#210603|606033#210603|606034#210603 180 3600 10800
7 无生密室 49#66#74 25007 300 107#157#197 123|123#177#187#257#267|123#357#217#227#297#307 14#4000000|14#11000000 607011#834|607012#834|0#8332,607021#834|607022#834|0#8332,607031#556|607032#556|607033#556|0#8332 607011#210701|607012#210701|607013#210701,607021#210702|607022#210702|607023#210702,607031#210703|607032#210703|607033#210703|607034#210703 180 3600 10800
8 万神黄昏 52#67#75 25008 300 108#158#198 138|138#178#188#258#268|138#358#401#218#228#298#308 14#4500000|14#12000000 608011#834|608012#834|0#8332,608021#834|608022#834|0#8332,608031#556|608032#556|608033#556|0#8332 608011#210801|608012#210801|608013#210801,608021#210802|608022#210802|608023#210802,608031#210803|608032#210803|608033#210803|608034#210803 180 3600 10800

View File

@ -8,9 +8,9 @@ int mut,int#int,1 int string string string string int
6 2#99 1 20190210 080000 20290210 080000 20190210 080000 20290210 080000 0
7 2#17 1 20190210 080000 20290210 080000 20190210 080000 20290210 080000 0
8 2#19 1 20190210 080000 20290210 080000 20190210 050000 20190224 030000 2
9 2#30 0 20190210 080000 20290210 080000 20190210 080000 20290210 080000 0
10 2#30 0 20190210 080000 20290210 080000 20190210 080000 20290210 080000 0
11 1#1051 1 20190210 080000 20290210 080000 20190210 080000 20290210 080000 0
9 2#99 0 20190210 080000 20290210 080000 20190210 080000 20290210 080000 0
10 2#99 0 20190210 080000 20290210 080000 20190210 080000 20290210 080000 0
11 2#99 1 20190210 080000 20290210 080000 20190210 080000 20290210 080000 0
12 2#12 1 20190210 080000 20290210 080000 20190210 080000 20290210 080000 0
13 2#99 0 20190210 080000 20290210 080000 20190210 080000 20290210 080000 0
14 2#13 0 20190210 080000 20290210 080000 20190210 080000 20290210 080000 0
@ -34,3 +34,5 @@ int mut,int#int,1 int string string string string int
103 3#30 1 20190210 080000 20290210 080000 20190210 080000 20290210 080000
104 3#50 1 20190210 080000 20290210 080000 20190210 080000 20290210 080000
30 2#21 1 20190210 080000 20290210 080000 20190210 080000 20290210 080000
31 2#99 0 20190210 080000 20290210 080000 20190210 080000 20290210 080000
32 2#99 0 20190210 080000 20290210 080000 20190210 080000 20290210 080000

View File

@ -400,7 +400,7 @@ int string bool int int int bool int string int int int int mut,int#int,1 int in
12012 4星万能碎片 true 2 4 4 false 0 100001 1 512 40 1 null 0 9999999
12013 5星万能碎片 true 2 4 5 false 0 100001 1 513 50 1 null 0 9999999
12014 5星万能碎片 true 2 4 5 false 0 100001 1 514 50 1 null 0 9999999
12015 风系5星万能碎片 true 2 4 5 false 0 100001 1 516 50 1 null 0 9999999
12015 5星万能碎片 true 2 4 5 false 0 100001 1 516 50 1 null 0 9999999
12016 5星万能碎片 true 2 4 5 false 0 100001 1 515 50 1 null 0 9999999
12017 5星万能碎片 true 2 4 5 false 0 100001 1 517 50 1 null 0 9999999
13024 许槿然 false 1 0 5 false 1 56001 0 0 0 1 10024#5 1 9999999

View File

@ -1,23 +1,38 @@
package com.ljsd;
import com.ljsd.jieling.ktbeans.KtEventUtils;
import com.ljsd.jieling.ktbeans.parmsBean.ParamEventBean;
import com.ljsd.jieling.logic.dao.UserManager;
import com.ljsd.jieling.logic.dao.root.User;
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;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
public class CoreService implements RPCRequestIFace.Iface {
private static final Logger LOGGER = LoggerFactory.getLogger(CoreService.class);
@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);
User user = UserManager.getUser(uid);
Result result = BuyGoodsLogic.sendGoods(uid, goodsId, openId, orderId, orderTime, amount);
KtEventUtils.onKtEvent(user, ParamEventBean.UserPayEvent,goodsId,orderId,result.getResultCode(),amount);
return result;
} catch (Exception e) {
User user = UserManager.getUserInMem(uid);
Result result = new Result();
result.setResultCode(0);
if(user == null){
LOGGER.info("the uid={} not found",uid );
}
result.setResultMsg("server exce");
KtEventUtils.onKtEvent(user, ParamEventBean.UserLogin,goodsId,orderId,result.getResultCode(),amount);
return result;
}

View File

@ -89,6 +89,7 @@ public class GameApplication {
MapLogic.getInstance().init(configurableApplicationContext);
SensitivewordFilter.init();
HttpPool.init();
// 加载lua文件
CheckFight.getInstance().init("luafight/BattleMain.lua");

View File

@ -3,6 +3,7 @@ package com.ljsd.jieling.chat.logic;
import com.ljsd.GameApplication;
import com.ljsd.jieling.chat.messge.MessageCache;
import com.ljsd.jieling.core.GlobalsDef;
import com.ljsd.jieling.db.redis.RedisKey;
import com.ljsd.jieling.db.redis.RedisUtil;
import com.ljsd.jieling.logic.OnlineUserManager;
@ -88,7 +89,7 @@ public class ChatLogic {
int uid = iSession.getUid();
User user = UserManager.getUser(uid);
FriendManager friendManager = user.getFriendManager();
boolean result = ShieldedWordUtils.checkName(message);
boolean result = ShieldedWordUtils.checkName(message,false);
if (!result) {
MessageUtil.sendErrorResponse(iSession, 0, msgId, "包含敏感字");
return ;

View File

@ -1,9 +1,12 @@
package com.ljsd.jieling.config.reportData;
import com.alibaba.fastjson.JSON;
import com.google.gson.Gson;
import com.ljsd.common.mogodb.util.BlockingUniqueQueue;
import com.ljsd.jieling.ktbeans.KTSendBody;
import com.ljsd.jieling.util.http.HttpPool;
import java.util.ArrayList;
import java.util.List;
import java.util.concurrent.BlockingQueue;
import java.util.concurrent.CopyOnWriteArrayList;
@ -11,39 +14,25 @@ import java.util.concurrent.CopyOnWriteArrayList;
public class DataMessageUtils {
static final BlockingQueue<Object> logQueue = new BlockingUniqueQueue<>();
static List<String> dataList = new CopyOnWriteArrayList<>();
private static Gson gson = new Gson();
private static final String sendUrl = "https://gskuld.receiver.extranet.kt007.com:8081/skuld/game/common/";
//入队列
public static void addLogQueue(Object info){
logQueue.offer(info);
}
//出队列
public static Object take(){
try {
return logQueue.take();
} catch (InterruptedException e) {
e.printStackTrace();
return null;
}
}
public static void manageData(Object take) {
List<String> sendDataList;
if(dataList.size() >= 10){
sendDataList = dataList;
dataList = new CopyOnWriteArrayList<>();
}else{
dataList.add(JSON.toJSONString(take));
return;
}
StringBuilder info = new StringBuilder("[");
for (int i =0 ; i < sendDataList.size() ; i++){
if (i >= (sendDataList.size() -1)){
info.append(sendDataList.get(i)).append(",");
}else{
info.append(sendDataList.get(i));
public static void manageData() {
List<Object> sendDataList = new ArrayList<>(10);
logQueue.drainTo(sendDataList,10);
if(sendDataList.isEmpty()){
try {
Thread.sleep(10);
return;
} catch (InterruptedException e) {
e.printStackTrace();
}
}
info.append("]");
HttpPool.sendPost("",info.toString());
KTSendBody sendBody = new KTSendBody(gson.toJson(sendDataList));
// HttpPool.sendPost(sendUrl,gson.toJson(sendBody));
}
}

View File

@ -3,6 +3,9 @@ package com.ljsd.jieling.core;
public interface GlobalsDef {
String DEFAULT_NAME = "无名妖灵师";
int addReason = 0;
int subReason = 1;
int BATTLING = -1;
int BREAK_TYPE =1 ; //1突破

View File

@ -1,6 +1,11 @@
package com.ljsd.jieling.handler;
import com.ljsd.jieling.handler.map.MapLogic;
import com.ljsd.jieling.ktbeans.KTRequestBeans.LoginParamType;
import com.ljsd.jieling.ktbeans.KtEventUtils;
import com.ljsd.jieling.ktbeans.parmsBean.ParamEventBean;
import com.ljsd.jieling.ktbeans.*;
import com.ljsd.jieling.ktbeans.parmsBean.*;
import com.ljsd.jieling.logic.dao.root.User;
import com.ljsd.jieling.logic.dao.UserManager;
import com.ljsd.jieling.netty.cocdex.PacketNetData;
@ -28,6 +33,42 @@ public class LoginRequestHandler extends BaseHandler {
byte[] message = netData.parseClientProtoNetData();
PlayerInfoProto.LoginRequest loginRequest
= PlayerInfoProto.LoginRequest.parseFrom(message);
ParamEnvironmentBean paramEnvironmentBean = new ParamEnvironmentBean();
paramEnvironmentBean.setDevice_id_s(loginRequest.getDeviceIdS());
paramEnvironmentBean.setIp_s(loginRequest.getIpS());
ParamEnvironmentSimpleBean paramEnvironmentSimpleBean = new ParamEnvironmentSimpleBean("",
"",
loginRequest.getDeviceIdS(),
loginRequest.getBrandS(),
loginRequest.getDpiS(),
loginRequest.getOperatorS(),
loginRequest.getOsVersionS(),
LoginParamType.NETWORK_WIFI.equals(loginRequest.getNetworkS())?true:false);
switch (loginRequest.getPlatformS()){
case LoginParamType.PLATFORM_ANDRIOD:
paramEnvironmentSimpleBean.setIdfa_s(loginRequest.getIdfaSOrImeiS());
break;
case LoginParamType.PLATFORM_IOS:
paramEnvironmentSimpleBean.setImei_s(loginRequest.getIdfaSOrImeiS());
break;
case LoginParamType.PLATFORM_IOS_YY:
paramEnvironmentSimpleBean.setImei_s(loginRequest.getIdfaSOrImeiS());
break;
case LoginParamType.PLATFORM_PC:
break;
default:
break;
}
// ParamDataBean paramDataBean = new ParamDataBean();
// KTEnvironmentUtil.addUserEnviromentInfo(userId,paramEnvironmentBean);
// KTEnvironmentUtil.addUserSimpleEnviromentInfo(userId,paramEnvironmentSimpleBean);
// KTDataUtil.addUserDataInfo(userId,paramDataBean);
KTEnvironmentUtil.addUserEnviromentInfo(userId,paramEnvironmentBean);
//登陆注册入内存
User user = UserManager.userLogin(userId);
@ -44,7 +85,7 @@ public class LoginRequestHandler extends BaseHandler {
try {
MessageUtil.sendMessage(iSession, 1, MessageTypeProto.MessageType.LOGIN_RESPONSE_VALUE, loginResponse, true);
MapLogic.getInstance().whenLogin(user);
LOGGER.info("back to client!");
KtEventUtils.onKtEvent(user, ParamEventBean.UserLoginOutEvent,1);
} catch (Exception e) {
e.printStackTrace();
}

View File

@ -2,28 +2,21 @@ package com.ljsd.jieling.ktbeans.BeanBuilder;
import com.ljsd.jieling.ktbeans.*;
import com.ljsd.jieling.ktbeans.parmsBean.ParamEventBean;
import com.ljsd.jieling.logic.dao.UserManager;
import com.ljsd.jieling.ktbeans.sendbeans.*;
import com.ljsd.jieling.logic.dao.root.User;
public class ParamBuilder {
public static KTParam paramBuild(int uid,int type) throws Exception {
User user = UserManager.getUser(uid);
public static KTParam paramBuild(User user,int type,ParamEventBean paramEventBean){
int uid = user.getId();
switch (type){
case ParamEventBean
.OnlineEvent:
KTAppOnline ktAppOnline = new KTAppOnline();
ktAppOnline.setParam_data(KtEventUtils.dataBuild(uid));
ktAppOnline.setParam_event(KtEventUtils.onKtEvent(user,type));
return ktAppOnline;
case ParamEventBean
.UserActivityEvent:
KTRoleActivity ktRoleActivity = new KTRoleActivity();
ktRoleActivity.setParam_data(KtEventUtils.dataBuild(uid));
ktRoleActivity.setParam_environment(KtEventUtils.enviromentBuild(uid));
ktRoleActivity.setParam_user(KtEventUtils.userBuild(uid));
ktRoleActivity.setParam_role(KtEventUtils.roleBuild(uid));
ktRoleActivity.setParam_event(KtEventUtils.onKtEvent(user,type));
ktRoleActivity.setParam_user(KtEventUtils.userBuild(user));
ktRoleActivity.setParam_role(KtEventUtils.roleBuild(user));
ktRoleActivity.setParam_event(paramEventBean);
return ktRoleActivity;
case ParamEventBean
@ -31,9 +24,9 @@ public class ParamBuilder {
KTRoleItem ktRoleItem = new KTRoleItem();
ktRoleItem.setParam_data(KtEventUtils.dataBuild(uid));
ktRoleItem.setParam_environment(KtEventUtils.enviromentBuild(uid));
ktRoleItem.setParam_user(KtEventUtils.userBuild(uid));
ktRoleItem.setParam_role(KtEventUtils.roleBuild(uid));
ktRoleItem.setParam_event(KtEventUtils.onKtEvent(user,type));
ktRoleItem.setParam_user(KtEventUtils.userBuild(user));
ktRoleItem.setParam_role(KtEventUtils.roleBuild(user));
ktRoleItem.setParam_event(paramEventBean);
return ktRoleItem;
case ParamEventBean
@ -41,9 +34,9 @@ public class ParamBuilder {
KTRoleCurrency ktRoleCurrency = new KTRoleCurrency();
ktRoleCurrency.setParam_data(KtEventUtils.dataBuild(uid));
ktRoleCurrency.setParam_environment(KtEventUtils.enviromentBuild(uid));
ktRoleCurrency.setParam_user(KtEventUtils.userBuild(uid));
ktRoleCurrency.setParam_role(KtEventUtils.roleBuild(uid));
ktRoleCurrency.setParam_event(KtEventUtils.onKtEvent(user,type));
ktRoleCurrency.setParam_user(KtEventUtils.userBuild(user));
ktRoleCurrency.setParam_role(KtEventUtils.roleBuild(user));
ktRoleCurrency.setParam_event(paramEventBean);
return ktRoleCurrency;
case ParamEventBean
@ -51,9 +44,9 @@ public class ParamBuilder {
KTRoleLogin ktRoleLogin = new KTRoleLogin();
ktRoleLogin.setParam_data(KtEventUtils.dataBuild(uid));
ktRoleLogin.setParam_environment(KtEventUtils.simpleEnviromentBuild(uid));
ktRoleLogin.setParam_user(KtEventUtils.userBuild(uid));
ktRoleLogin.setParam_role(KtEventUtils.roleBuild(uid));
ktRoleLogin.setParam_event(KtEventUtils.onKtEvent(user,type));
ktRoleLogin.setParam_user(KtEventUtils.userBuild(user));
ktRoleLogin.setParam_role(KtEventUtils.roleBuild(user));
ktRoleLogin.setParam_event(paramEventBean);
return ktRoleLogin;
@ -62,9 +55,9 @@ public class ParamBuilder {
KTRoleMall ktRoleMall = new KTRoleMall();
ktRoleMall.setParam_data(KtEventUtils.dataBuild(uid));
ktRoleMall.setParam_environment(KtEventUtils.enviromentBuild(uid));
ktRoleMall.setParam_user(KtEventUtils.userBuild(uid));
ktRoleMall.setParam_role(KtEventUtils.roleBuild(uid));
ktRoleMall.setParam_event(KtEventUtils.onKtEvent(user,type));
ktRoleMall.setParam_user(KtEventUtils.userBuild(user));
ktRoleMall.setParam_role(KtEventUtils.roleBuild(user));
ktRoleMall.setParam_event(paramEventBean);
return ktRoleMall;
case ParamEventBean
@ -72,9 +65,9 @@ public class ParamBuilder {
KTRolePay ktRolePay = new KTRolePay();
ktRolePay.setParam_data(KtEventUtils.dataBuild(uid));
ktRolePay.setParam_environment(KtEventUtils.enviromentBuild(uid));
ktRolePay.setParam_user(KtEventUtils.userBuild(uid));
ktRolePay.setParam_role(KtEventUtils.roleBuild(uid));
ktRolePay.setParam_event(KtEventUtils.onKtEvent(user,type));
ktRolePay.setParam_user(KtEventUtils.userBuild(user));
ktRolePay.setParam_role(KtEventUtils.roleBuild(user));
ktRolePay.setParam_event(paramEventBean);
return ktRolePay;
case ParamEventBean
@ -82,9 +75,9 @@ public class ParamBuilder {
KTRoleRegister ktRoleRegister = new KTRoleRegister();
ktRoleRegister.setParam_data(KtEventUtils.dataBuild(uid));
ktRoleRegister.setParam_environment(KtEventUtils.enviromentBuild(uid));
ktRoleRegister.setParam_user(KtEventUtils.userBuild(uid));
ktRoleRegister.setParam_role(KtEventUtils.roleBuild(uid));
ktRoleRegister.setParam_event(KtEventUtils.onKtEvent(user,type));
ktRoleRegister.setParam_user(KtEventUtils.userBuild(user));
ktRoleRegister.setParam_role(KtEventUtils.roleBuild(user));
ktRoleRegister.setParam_event(paramEventBean);
return ktRoleRegister;
case ParamEventBean
@ -92,13 +85,19 @@ public class ParamBuilder {
KTRoleTask ktRoleTask = new KTRoleTask();
ktRoleTask.setParam_data(KtEventUtils.dataBuild(uid));
ktRoleTask.setParam_environment(KtEventUtils.enviromentBuild(uid));
ktRoleTask.setParam_user(KtEventUtils.userBuild(uid));
ktRoleTask.setParam_role(KtEventUtils.roleBuild(uid));
ktRoleTask.setParam_event(KtEventUtils.onKtEvent(user,type));
ktRoleTask.setParam_user(KtEventUtils.userBuild(user));
ktRoleTask.setParam_role(KtEventUtils.roleBuild(user));
ktRoleTask.setParam_event(paramEventBean);
return ktRoleTask;
case ParamEventBean
.UserLogin:
return null;
KtUserLogin ktUserLogin = new KtUserLogin();
ktUserLogin.setParam_data(KtEventUtils.dataBuild(uid));
ktUserLogin.setParam_environment(KtEventUtils.simpleEnviromentBuild(uid));
ktUserLogin.setParam_user(KtEventUtils.userSimpleBuild(user));
ktUserLogin.setParam_role(KtEventUtils.roleBuild(user));
ktUserLogin.setParam_event(paramEventBean);
return ktUserLogin;
default:
break;

View File

@ -19,7 +19,7 @@ public class KTEnvironmentUtil {
if(environmentInfo.containsKey(uid)){
return environmentInfo.get(uid);
}
return null;
return new ParamEnvironmentBean();
}
public static void addUserSimpleEnviromentInfo(int uid,ParamEnvironmentSimpleBean paramEnvironmentSimpleBean){
@ -29,7 +29,7 @@ public class KTEnvironmentUtil {
if(environmentSimpleInfo.containsKey(uid)){
return environmentSimpleInfo.get(uid);
}
return null;
return new ParamEnvironmentSimpleBean();
}
}

View File

@ -0,0 +1,14 @@
package com.ljsd.jieling.ktbeans.KTRequestBeans;
public class LoginParamType {
public static final String PLATFORM_PC = "PC";
public static final String PLATFORM_ANDRIOD = "ADR";
public static final String PLATFORM_IOS = "IOS";
public static final String PLATFORM_IOS_YY = "IOS_YY";
public static final String NETWORK_WIFI="WIFI";
}

View File

@ -1,20 +1,18 @@
package com.ljsd.jieling.ktbeans;
import com.ljsd.jieling.ktbeans.parmsBean.ParamRoleBean;
import com.ljsd.jieling.logic.dao.root.User;
import java.util.HashMap;
import java.util.Map;
public class KTRoleUtil {
private static Map<Integer, ParamRoleBean> roleInfo = new HashMap<>();
public static void addRoleInfo(int uid, ParamRoleBean paramUserBean){
roleInfo.put(uid,paramUserBean);
}
public static ParamRoleBean getRoleById(int uid){
if(roleInfo.containsKey(uid)){
return roleInfo.get(uid);
}
return null;
public static ParamRoleBean getRoleById(User user){
ParamRoleBean paramRoleBean = new ParamRoleBean();
paramRoleBean.setRole_id_s(String.valueOf(user.getId()));
paramRoleBean.setRole_name_s(user.getPlayerInfoManager().getNickName());
paramRoleBean.setLevel_i(String.valueOf(user.getPlayerInfoManager().getLevel()));
paramRoleBean.setVip_level_i(user.getPlayerInfoManager().getVipLevel());
return paramRoleBean;
}
}

View File

@ -0,0 +1,24 @@
package com.ljsd.jieling.ktbeans;
import com.ljsd.jieling.config.json.KTSDKConstans;
import com.ljsd.jieling.util.MD5Util;
public class KTSendBody {
private String gid = KTSDKConstans.appid;
private int time;
private String sign;
private String jsonStrs;
public KTSendBody(){
}
public KTSendBody(String jsonStrs){
time = (int)(System.currentTimeMillis()/1000);
this.sign = MD5Util.encrypByMd5(gid + time);
this.jsonStrs = jsonStrs;
}
}

View File

@ -1,21 +1,39 @@
package com.ljsd.jieling.ktbeans;
import com.ljsd.jieling.globals.Global;
import com.ljsd.jieling.ktbeans.parmsBean.ParamSimpleUserBean;
import com.ljsd.jieling.ktbeans.parmsBean.ParamUserBean;
import com.ljsd.jieling.logic.dao.Item;
import com.ljsd.jieling.logic.dao.root.User;
import java.util.HashMap;
import java.util.Map;
public class KTUserUtil implements KTStaticUtil{
private static Map<Integer, ParamUserBean> userInfo = new HashMap<>();
public static void addUserInfo(int uid, ParamUserBean paramUserBean){
userInfo.put(uid,paramUserBean);
public static ParamUserBean getUserById(User user){
ParamUserBean paramUserBean = new ParamUserBean();
paramUserBean.setUser_id_s(user.getPlayerInfoManager().getOpenId());
paramUserBean.setAccount_id_s(String.valueOf(user.getId()));
return paramUserBean;
}
public static ParamUserBean getUserById(int uid){
if(userInfo.containsKey(uid)){
return userInfo.get(uid);
public static ParamSimpleUserBean getSimpleUserById(User user){
ParamSimpleUserBean paramSimpleUserBean = new ParamSimpleUserBean();
paramSimpleUserBean.setUser_id_s(user.getPlayerInfoManager().getOpenId());
paramSimpleUserBean.setAccount_id_s(String.valueOf(user.getId()));
Item gem = user.getItemManager().getItemMap().get(Global.GEM);
int gemNum = 0;
if(gem != null){
gemNum = gem.getItemNum();
}
return null;
Item gold = user.getItemManager().getItemMap().get(Global.GEM);
int goldNum = 0;
if(gold != null){
goldNum = gold.getItemNum();
}
paramSimpleUserBean.setCurrency_1_d(String.valueOf(gemNum));
paramSimpleUserBean.setCurrency_1_d(String.valueOf(goldNum));
return paramSimpleUserBean;
}
}

View File

@ -1,19 +1,37 @@
package com.ljsd.jieling.ktbeans;
import com.google.gson.Gson;
import com.ljsd.jieling.config.SGlobalActivity;
import com.ljsd.jieling.config.reportData.DataMessageUtils;
import com.ljsd.jieling.globals.Global;
import com.ljsd.jieling.ktbeans.BeanBuilder.ParamBuilder;
import com.ljsd.jieling.ktbeans.parmsBean.ParamEventBean;
import com.ljsd.jieling.ktbeans.parmsBean.*;
import com.ljsd.jieling.logic.dao.root.User;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import java.util.HashMap;
import java.util.Map;
public class KtEventUtils {
private static final Logger LOGGER = LoggerFactory.getLogger(KtEventUtils.class);
private static String[] itemUseType = new String[]{"source","sink"}; //固定字符source 表示收入sink 表示支出
private static String[] userloginType = new String[]{"LOGIN","LOGOUT"}; //仅两种状态登录LOGIN、登出LOGOUT
private static String[] payResult = new String[]{"INVALID","VALID"}; //仅两种状态登录LOGIN、登出LOGOUT
private static Map<Integer,String> currencyMap = new HashMap<>();
static {
currencyMap.put(Global.GEM,"currency_1_d");
currencyMap.put(Global.GOLD,"currency_2_d");
}
public static ParamEventBean onKtEvent(User user,int eventType,Object ...parm){
private static Gson gson = new Gson();
public static void onKtEvent(User user,int eventType,Object ...parm){
ParamEventBean paramEventBean = new ParamEventBean(eventType);
switch (eventType){
case ParamEventBean.UserActivityEvent:
@ -30,23 +48,53 @@ public class KtEventUtils {
int itemId = (int)parm[2];
int itemNum = (int)parm[3];
paramEventBean.add(itemUseType[useType]);
paramEventBean.add(String.valueOf(useReson));
paramEventBean.add(String.valueOf(itemId));
paramEventBean.add(String.valueOf(itemNum));
break;
case ParamEventBean.UserLoginOutEvent:
case ParamEventBean.UserLogin:
int loginType = (int)parm[0];
paramEventBean.add(userloginType[loginType]);
break;
case ParamEventBean.UserStoreEvent:
int storeId = (int)parm[0];
int buyItemId = (int)parm[1];
int goldType = (int)parm[2];
int buyTimes = (int)parm[3];
int costTotal = (int)parm[4];
paramEventBean.add(String.valueOf(storeId));
paramEventBean.add(String.valueOf(buyItemId));
paramEventBean.add(currencyMap.get(goldType));
paramEventBean.add(String.valueOf(buyTimes));
paramEventBean.add(String.valueOf(costTotal/buyTimes));
paramEventBean.add(String.valueOf(costTotal));
break;
case ParamEventBean.UserPayEvent:
int goodsId = (int)parm[0];
String orderId = (String)parm[1];
String payValid = payResult[(int)parm[2]];
String amount = String.valueOf( ((int)parm[3]/10));
paramEventBean.add(String.valueOf(goodsId));
paramEventBean.add(orderId);
paramEventBean.add(payValid);
paramEventBean.add(amount);
break;
case ParamEventBean.UserRegister:
break;
case ParamEventBean.UserTaskEvent:
break;
case ParamEventBean.UserLogin:
int misionType = (int)parm[0];
int misionId = (int)parm[1];
paramEventBean.add(String.valueOf(misionType));
paramEventBean.add(String.valueOf(misionId));
paramEventBean.add("COMPLETE");
break;
}
return paramEventBean;
KTParam ktParam = ParamBuilder.paramBuild(user, eventType, paramEventBean);
DataMessageUtils.addLogQueue(ktParam);
LOGGER.info("ktparm -- > {}",gson.toJson(ktParam));
}
public static ParamEnvironmentBean enviromentBuild(int uid){
return KTEnvironmentUtil.getUserEnviromentInfoById(uid);
@ -57,11 +105,15 @@ public class KtEventUtils {
public static ParamDataBean dataBuild(int uid){
return KTDataUtil.getUserDataInfoById(uid);
}
public static ParamUserBean userBuild(int uid){
return KTUserUtil.getUserById(uid);
public static ParamUserBean userBuild(User user){
return KTUserUtil.getUserById(user);
}
public static ParamRoleBean roleBuild(int uid){
return KTRoleUtil.getRoleById(uid);
public static ParamSimpleUserBean userSimpleBuild(User user){
return KTUserUtil.getSimpleUserById(user);
}
public static ParamRoleBean roleBuild(User user){
return KTRoleUtil.getRoleById(user);
}

View File

@ -74,4 +74,16 @@ public class ParamEnvironmentSimpleBean extends ParamEnvironmentBean{
public void setWifi_b(boolean wifi_b) {
this.wifi_b = wifi_b;
}
public ParamEnvironmentSimpleBean(String idfa_s, String imei_s, String app_device_id_s, String brand_s, String dpi_s, String operator_s, String os_version_s, boolean wifi_b) {
this.idfa_s = idfa_s;
this.imei_s = imei_s;
this.app_device_id_s = app_device_id_s;
this.brand_s = brand_s;
this.dpi_s = dpi_s;
this.operator_s = operator_s;
this.os_version_s = os_version_s;
this.wifi_b = wifi_b;
}
public ParamEnvironmentSimpleBean(){}
}

View File

@ -19,7 +19,6 @@ public class ParamRoleBean {
private String role_id_s;
private String role_name_s;
private String role_class_s;
private String level_i;
private int vip_level_i;
@ -39,14 +38,6 @@ public class ParamRoleBean {
this.role_name_s = role_name_s;
}
public String getRole_class_s() {
return role_class_s;
}
public void setRole_class_s(String role_class_s) {
this.role_class_s = role_class_s;
}
public String getLevel_i() {
return level_i;
}

View File

@ -0,0 +1,23 @@
package com.ljsd.jieling.ktbeans.parmsBean;
public class ParamSimpleUserBean extends ParamUserBean{
private String currency_1_d;
private String currency_2_d;
public String getCurrency_1_d() {
return currency_1_d;
}
public void setCurrency_1_d(String currency_1_d) {
this.currency_1_d = currency_1_d;
}
public String getCurrency_2_d() {
return currency_2_d;
}
public void setCurrency_2_d(String currency_2_d) {
this.currency_2_d = currency_2_d;
}
}

View File

@ -1,9 +1,10 @@
package com.ljsd.jieling.ktbeans;
package com.ljsd.jieling.ktbeans.sendbeans;
import com.ljsd.jieling.ktbeans.KTParam;
import com.ljsd.jieling.ktbeans.parmsBean.ParamDataBean;
import com.ljsd.jieling.ktbeans.parmsBean.ParamEventBean;
public class KTAppOnline extends KTParam{
public class KTAppOnline extends KTParam {
private ParamDataBean param_data;
private ParamEventBean param_event;

View File

@ -1,6 +1,7 @@
package com.ljsd.jieling.ktbeans;
package com.ljsd.jieling.ktbeans.sendbeans;
import com.ljsd.jieling.ktbeans.KTParam;
import com.ljsd.jieling.ktbeans.parmsBean.*;
public class KTRoleActivity extends KTParam {

View File

@ -1,9 +1,10 @@
package com.ljsd.jieling.ktbeans;
package com.ljsd.jieling.ktbeans.sendbeans;
import com.ljsd.jieling.ktbeans.KTParam;
import com.ljsd.jieling.ktbeans.parmsBean.*;
public class KTRoleCurrency extends KTParam{
public class KTRoleCurrency extends KTParam {
private ParamDataBean param_data;
private ParamEnvironmentBean param_environment;
private ParamUserBean param_user;

View File

@ -1,9 +1,10 @@
package com.ljsd.jieling.ktbeans;
package com.ljsd.jieling.ktbeans.sendbeans;
import com.ljsd.jieling.ktbeans.KTParam;
import com.ljsd.jieling.ktbeans.parmsBean.*;
public class KTRoleItem extends KTParam{
public class KTRoleItem extends KTParam {
private ParamDataBean param_data;
private ParamEnvironmentBean param_environment;
private ParamUserBean param_user;

View File

@ -1,9 +1,10 @@
package com.ljsd.jieling.ktbeans;
package com.ljsd.jieling.ktbeans.sendbeans;
import com.ljsd.jieling.ktbeans.KTParam;
import com.ljsd.jieling.ktbeans.parmsBean.*;
public class KTRoleLogin extends KTParam{
public class KTRoleLogin extends KTParam {
private ParamDataBean param_data;
private ParamEnvironmentBean param_environment;

View File

@ -1,9 +1,10 @@
package com.ljsd.jieling.ktbeans;
package com.ljsd.jieling.ktbeans.sendbeans;
import com.ljsd.jieling.ktbeans.KTParam;
import com.ljsd.jieling.ktbeans.parmsBean.*;
public class KTRoleMall extends KTParam{
public class KTRoleMall extends KTParam {
/**
* param_data : {"app_id_s":"game_skuld_01","app_version_name_s":"1.0.0.5","app_version_code_s":"10000","category_s":"event_role","platform_s":"ADR","region_s":"4","server_s":"44","channel_s":"4","data_unix":1511767867}

View File

@ -1,8 +1,9 @@
package com.ljsd.jieling.ktbeans;
package com.ljsd.jieling.ktbeans.sendbeans;
import com.ljsd.jieling.ktbeans.KTParam;
import com.ljsd.jieling.ktbeans.parmsBean.*;
public class KTRolePay extends KTParam{
public class KTRolePay extends KTParam {
/**
* param_data : {"app_id_s":"game_skuld_01","app_version_name_s":"1.0.0.5","app_version_code_s":"10000","category_s":"event_role","platform_s":"ADR","region_s":"4","server_s":"44","channel_s":"4","data_unix":1511767867}

View File

@ -1,8 +1,9 @@
package com.ljsd.jieling.ktbeans;
package com.ljsd.jieling.ktbeans.sendbeans;
import com.ljsd.jieling.ktbeans.KTParam;
import com.ljsd.jieling.ktbeans.parmsBean.*;
public class KTRoleRegister extends KTParam{
public class KTRoleRegister extends KTParam {
/**

View File

@ -1,8 +1,9 @@
package com.ljsd.jieling.ktbeans;
package com.ljsd.jieling.ktbeans.sendbeans;
import com.ljsd.jieling.ktbeans.KTParam;
import com.ljsd.jieling.ktbeans.parmsBean.*;
public class KTRoleTask extends KTParam{
public class KTRoleTask extends KTParam {
private ParamDataBean param_data;
private ParamEnvironmentBean param_environment;

View File

@ -0,0 +1,53 @@
package com.ljsd.jieling.ktbeans.sendbeans;
import com.ljsd.jieling.ktbeans.KTParam;
import com.ljsd.jieling.ktbeans.parmsBean.*;
public class KtUserLogin extends KTParam {
private ParamDataBean param_data;
private ParamEnvironmentBean param_environment;
private ParamUserBean param_user;
private ParamRoleBean param_role;
private ParamEventBean param_event;
public ParamDataBean getParam_data() {
return param_data;
}
public ParamEnvironmentBean getParam_environment() {
return param_environment;
}
public ParamUserBean getParam_user() {
return param_user;
}
public ParamRoleBean getParam_role() {
return param_role;
}
public ParamEventBean getParam_event() {
return param_event;
}
public void setParam_data(ParamDataBean param_data) {
this.param_data = param_data;
}
public void setParam_environment(ParamEnvironmentBean param_environment) {
this.param_environment = param_environment;
}
public void setParam_user(ParamUserBean param_user) {
this.param_user = param_user;
}
public void setParam_role(ParamRoleBean param_role) {
this.param_role = param_role;
}
public void setParam_event(ParamEventBean param_event) {
this.param_event = param_event;
}
}

View File

@ -140,6 +140,7 @@ public class GlobalDataManaager {
}
closeAction(closeList);
updateGetFunctionOfTimeResponse();
}
public void openAction(List<Integer> ids){

View File

@ -5,6 +5,8 @@ import com.ljsd.jieling.config.SGameSetting;
import com.ljsd.jieling.config.SPlayerLevelConfig;
import com.ljsd.jieling.db.mongo.MongoUtil;
import com.ljsd.jieling.globals.BIReason;
import com.ljsd.jieling.ktbeans.KtEventUtils;
import com.ljsd.jieling.ktbeans.parmsBean.ParamEventBean;
import com.ljsd.jieling.logic.activity.ActivityLogic;
import com.ljsd.jieling.logic.dao.root.User;
import com.ljsd.jieling.logic.hero.HeroLogic;
@ -98,6 +100,7 @@ public class UserManager {
PlayerLogic.getInstance().vipflushEveryDay(user,null);
ActivityLogic.getInstance().newPlayerOpenActivityMission(user);
user.getUserMissionManager().onGameEvent(user, GameEvent.USER_LEVELUP,0,1);
KtEventUtils.onKtEvent(user, ParamEventBean.UserRegister);
}

View File

@ -216,7 +216,7 @@ public class CombatLogic {
if(randomTimes>0){
int bossGroupId = randomInvasionBoss(uid, adventureStateInfo.getPosition(),randomTimes,false);
if(bossGroupId>0){
remainTime =sAdventureConfig.getInvasionBossHolding();
remainTime =sAdventureConfig.getInvasionBossHolding()-(now-adventureStateInfo.getFindBossTime());
nextFlushTime+=remainTime+nextFlushTime;
need=true;
}
@ -555,12 +555,11 @@ public class CombatLogic {
bossGroupID = item[0];
break;
}
totalWeight+=item[1];
}
}
int findBossTime = adventureStateInfo.getFindBossTime();
int now = (int)(System.currentTimeMillis()/1000);
if(isGm || findBossTime == 0){
if(isGm || bossGroupID == 0 || findBossTime == 0){
}else{
int nextFindTime = findBossTime + sAdventureConfig.getInvasionBossRefresh() * (randomTimes - reallyRandomTimes);

View File

@ -454,7 +454,7 @@ public class FriendLogic {
PlayerManager playerInfoManager = user.getPlayerInfoManager();
FriendManager friendManager = user.getFriendManager();
List<Integer> friends = friendManager.getFriends();
boolean result = ShieldedWordUtils.checkName( name);
boolean result = ShieldedWordUtils.checkName( name,true);
if (!result) {
MessageUtil.sendErrorResponse(iSession, 0, msgId, "名字不合法");
return;

View File

@ -8,6 +8,8 @@ import com.ljsd.jieling.core.GlobalsDef;
import com.ljsd.jieling.core.VipPrivilegeType;
import com.ljsd.jieling.globals.BIReason;
import com.ljsd.jieling.globals.Global;
import com.ljsd.jieling.ktbeans.KtEventUtils;
import com.ljsd.jieling.ktbeans.parmsBean.ParamEventBean;
import com.ljsd.jieling.logic.dao.*;
import com.ljsd.jieling.logic.dao.root.User;
import com.ljsd.jieling.logic.dao.UserManager;

View File

@ -225,6 +225,7 @@ public class ItemLogic {
Map<Integer,Integer> baseRandomMap = new HashMap<>();
for (String heroId : heroIdsList) {
Hero hero = heroManager.getHeroMap().get(heroId);
heroManager.removeHero(heroId);
int[][] sumConsume = SHeroLevlConfig.getsHeroLevlConfigMap().get(hero.getLevel()).getSumConsume();
ItemUtil.combineReward(sumConsume,baseItemMap,baseCardMap,baseEquipMap,baseRandomMap);
int breakId = hero.getBreakId();
@ -242,7 +243,7 @@ public class ItemLogic {
continue;
}
SItem sItem = SItem.getsItemMap().get(hero.getTemplateId());
heroManager.removeHero(heroId);
if (reward.length() == 0) {
reward = new StringBuilder(sItem.getResolveReward());
} else {

View File

@ -7,6 +7,8 @@ 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.ktbeans.KtEventUtils;
import com.ljsd.jieling.ktbeans.parmsBean.ParamEventBean;
import com.ljsd.jieling.logic.dao.*;
import com.ljsd.jieling.logic.dao.root.User;
import com.ljsd.jieling.logic.hero.HeroLogic;
@ -145,9 +147,8 @@ public class MissionLoigc {
List<MissionStateChangeInfo> missionStateChangeInfos = null;
if(type == GameMisionType.VIPMISSION.getType()){ //vip 任务
Map<GameMisionType, List<MissionStateChangeInfo>> gameMisionTypeListMap = userMissionManager.onGameEvent(user, GameEvent.VIP_MISSION_REWARD, missionId);missionStateChangeInfos = gameMisionTypeListMap.get(GameMisionType.VIPMISSION);
}
if(type == GameMisionType.DAILYMISSION.getType()){ //vip 任务
if(type == GameMisionType.DAILYMISSION.getType()){ //日常 任务
Map<GameMisionType, List<MissionStateChangeInfo>> gameMisionTypeListMap = userMissionManager.onGameEvent(user, GameEvent.DAILY_MISSION_REWARD, missionId);
missionStateChangeInfos = gameMisionTypeListMap.get(GameMisionType.DAILYMISSION);
}
@ -170,6 +171,7 @@ public class MissionLoigc {
CommonProto.Drop.Builder drop = ItemUtil.drop(user, SAccomplishmentConfig.getsAccomplishmentConfigByIdMap(missionId).getReward(), 1,0,BIReason.TAKE_COPY_REWARD);
PlayerInfoProto.TakeMissionRewardResponse build = PlayerInfoProto.TakeMissionRewardResponse.newBuilder().setDrop(drop).build();
MessageUtil.sendMessage(session,1, MessageTypeProto.MessageType.TAKE_MISSION_REWARD_RESPONSE_VALUE,build,true);
KtEventUtils.onKtEvent(user, ParamEventBean.UserTaskEvent,type,missionId);
return;
}
@ -177,6 +179,7 @@ public class MissionLoigc {
CommonProto.Drop.Builder drop = ItemUtil.drop(user, missionStateChangeInfos.get(0).getRewwardGroups(), BIReason.TAKE_MISSION_REWARD);
PlayerInfoProto.TakeMissionRewardResponse build = PlayerInfoProto.TakeMissionRewardResponse.newBuilder().setDrop(drop).build();
MessageUtil.sendMessage(session,1, MessageTypeProto.MessageType.TAKE_MISSION_REWARD_RESPONSE_VALUE,build,true);
KtEventUtils.onKtEvent(user, ParamEventBean.UserTaskEvent,type,missionId);
}else{
MessageUtil.sendErrorResponse(session,0, MessageTypeProto.MessageType.TAKE_MISSION_REWARD_RESPONSE_VALUE,"mission can not get reward");
}

View File

@ -108,7 +108,7 @@ public class PlayerLogic {
MessageUtil.sendErrorResponse(iSession, 0, msgId, "");
return true;
}
boolean result = ShieldedWordUtils.checkName( name);
boolean result = ShieldedWordUtils.checkName( name,true);
if (!result) {
MessageUtil.sendErrorResponse(iSession, 0, msgId, "");
return true;

View File

@ -5,6 +5,8 @@ import com.ljsd.jieling.config.SErrorCodeEerverConfig;
import com.ljsd.jieling.config.SRechargeCommodityConfig;
import com.ljsd.jieling.globals.BIReason;
import com.ljsd.jieling.globals.Global;
import com.ljsd.jieling.ktbeans.KtEventUtils;
import com.ljsd.jieling.ktbeans.parmsBean.ParamEventBean;
import com.ljsd.jieling.logic.OnlineUserManager;
import com.ljsd.jieling.logic.activity.ActivityLogic;
import com.ljsd.jieling.logic.activity.ActivityType;
@ -47,7 +49,7 @@ public class BuyGoodsLogic {
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);
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();
@ -56,6 +58,17 @@ public class BuyGoodsLogic {
if(buyCount ==null){
buyCount = 0;
}
int isDiscount = sRechargeCommodityConfig.getIsDiscount();
int price =sRechargeCommodityConfig.getPrice();
if(isDiscount!=0){
price=(int)(sRechargeCommodityConfig.getPrice() * (10 + isDiscount)/10f);
}
if(!openId.equals("gm-test")&&price*10!=amount){
resultRes.setResultCode(0);
resultRes.setResultMsg("amount is wrong");
LOGGER.info("the uid={},shuld pay={},amount={}",uid,price,amount);
return resultRes;
}
buyCount=buyCount+1;
int limit = sRechargeCommodityConfig.getLimit();
int type = sRechargeCommodityConfig.getType();
@ -125,11 +138,7 @@ public class BuyGoodsLogic {
}
int saveAmt = rechargeInfo.getSaveAmt();
int isDiscount = sRechargeCommodityConfig.getIsDiscount();
int price =sRechargeCommodityConfig.getPrice();
if(isDiscount!=0){
price=(int)(sRechargeCommodityConfig.getPrice() * (10 + isDiscount)/10f);
}
rechargeInfo.setSaveAmt(price+saveAmt);
ActivityLogic.getInstance().updateActivityMissionProgress(user, ActivityType.RechargeTotal,rechargeInfo.getSaveAmt(),null);
buyGoodsTimes.put(goodsId,buyCount);

View File

@ -3,6 +3,8 @@ package com.ljsd.jieling.logic.store;
import com.ljsd.jieling.config.SStoreConfig;
import com.ljsd.jieling.config.SStoreTypeConfig;
import com.ljsd.jieling.globals.BIReason;
import com.ljsd.jieling.ktbeans.KtEventUtils;
import com.ljsd.jieling.ktbeans.parmsBean.ParamEventBean;
import com.ljsd.jieling.logic.dao.PlayerManager;
import com.ljsd.jieling.logic.dao.StoreInfo;
import com.ljsd.jieling.logic.dao.StoreManager;
@ -259,6 +261,7 @@ public class StoreLogic {
}
itemNumMap.put(itemId,buyTimes +itemNum);
storeInfo.setItemNumMap(itemNumMap);
KtEventUtils.onKtEvent(user, ParamEventBean.UserStoreEvent,storeId,itemId,cost[0][0],itemNum,cost[0][1]);
return "";
}

View File

@ -14,6 +14,8 @@ import com.ljsd.jieling.db.redis.RedisUtil;
import com.ljsd.jieling.exception.ErrorCode;
import com.ljsd.jieling.globals.Global;
import com.ljsd.jieling.handler.BaseHandler;
import com.ljsd.jieling.ktbeans.KtEventUtils;
import com.ljsd.jieling.ktbeans.parmsBean.ParamEventBean;
import com.ljsd.jieling.logic.OnlineUserManager;
import com.ljsd.jieling.logic.activity.ActivityLogic;
import com.ljsd.jieling.logic.activity.ActivityType;
@ -308,7 +310,12 @@ public class ProtocolsManager implements ProtocolsAbstract {
// } catch (FileNotFoundException e) {
// e.printStackTrace();
// }
User user = UserManager.getUserInMem(session.getUid());
if(user == null){
return;
}
KtEventUtils.onKtEvent(user, ParamEventBean.UserLoginOutEvent,1);
int roomId = user.getRoomInfo().getRoomId();
if(roomId!=-1){
Room room = RoomManager.getRoomById(roomId);

View File

@ -37,7 +37,8 @@ public class ThreadManager {
public void init(ConfigurableApplicationContext configurableApplicationContext) {
platConfigureTask = configurableApplicationContext.getBean(PlatConfigureTask.class);
dataReportTask = configurableApplicationContext.getBean(DataReportTask.class);
DataReportTask dataReportTask = new DataReportTask();
dataReportTask.start();
go();
}
@ -83,9 +84,6 @@ public class ThreadManager {
int delayForMinute = 60 - (now%60);
LOGGER.info("delayForMinute---->>>>{}" ,delayForMinute);
scheduledExecutor.scheduleAtFixedRate(platConfigureTask, 10, SLEEP_INTEVAL_TIME, TimeUnit.SECONDS);
scheduledExecutor.scheduleAtFixedRate(dataReportTask, 10, SLEEP_INTEVAL_TIME, TimeUnit.SECONDS);
scheduledExecutor.scheduleAtFixedRate(new MinuteTask(), delayForMinute, 60, TimeUnit.SECONDS);
scheduledExecutor.scheduleAtFixedRate(new Thread(){
public void run () {

View File

@ -5,13 +5,15 @@ import org.springframework.stereotype.Component;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
@Component
public class DataReportTask implements Runnable {
public class DataReportTask extends Thread {
public DataReportTask(){
setName("DataReportTaskThread");
}
@Override
public void run() {
while (true) {
Object take = DataMessageUtils.take();
DataMessageUtils.manageData(take);
DataMessageUtils.manageData();
}
}
// public static void startTlogThread(){

View File

@ -5,7 +5,7 @@ import com.ljsd.jieling.core.GlobalsDef;
import com.ljsd.jieling.handler.map.MapLogic;
import com.ljsd.jieling.hotfix.HotfixUtil;
import com.ljsd.jieling.ktbeans.BeanBuilder.KtBeanBuilderUtils;
import com.ljsd.jieling.ktbeans.KTAppOnline;
import com.ljsd.jieling.ktbeans.sendbeans.KTAppOnline;
import com.ljsd.jieling.ktbeans.parmsBean.ParamEventBean;
import com.ljsd.jieling.logic.GlobalDataManaager;
import com.ljsd.jieling.logic.OnlineUserManager;
@ -13,12 +13,10 @@ import com.ljsd.jieling.logic.STableManager;
import com.ljsd.jieling.logic.activity.ActivityLogic;
import com.ljsd.jieling.logic.arena.ArenaLogic;
import com.ljsd.jieling.logic.fight.CombatLogic;
import com.ljsd.jieling.network.session.ISession;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import java.util.Calendar;
import java.util.Map;
public class MinuteTask extends Thread {
private static final Logger LOGGER = LoggerFactory.getLogger(MinuteTask.class);

View File

@ -9,6 +9,8 @@ import com.ljsd.jieling.globals.Global;
import com.ljsd.jieling.globals.GlobalItemType;
import com.ljsd.jieling.handler.map.MapManager;
import com.ljsd.jieling.handler.map.TemporaryItems;
import com.ljsd.jieling.ktbeans.KtEventUtils;
import com.ljsd.jieling.ktbeans.parmsBean.ParamEventBean;
import com.ljsd.jieling.logic.dao.*;
import com.ljsd.jieling.logic.dao.root.User;
import com.ljsd.jieling.logic.hero.HeroLogic;
@ -27,6 +29,7 @@ public class ItemUtil {
public static Map<Integer,String> equipQulityNameMap = new HashMap<>(2);
private static final Logger LOGGER = LoggerFactory.getLogger(ItemUtil.class);
private static Set<Integer> notDelete = new HashSet<>();
private static Set<Integer> currencyMap = new HashSet<>(2);
static {
notDelete.add(Global.STAMINA);
@ -34,6 +37,8 @@ public class ItemUtil {
notDelete.add(Global.GENERALSTORY_TICKET);
equipQulityNameMap.put(5,"传说");
equipQulityNameMap.put(6,"史诗");
currencyMap.add(Global.GEM);
currencyMap.add(Global.GOLD);
}
//指定道具掉落(如:邮件,初始化物品)
@ -427,6 +432,11 @@ public class ItemUtil {
if(itemNum>=0){
itemProtoList.add(CBean2Proto.getItem(item,itemNum));
}
int eventType = ParamEventBean.UserItemEvent;
if(currencyMap.contains(entry.getKey())){
eventType = ParamEventBean.UserCurrencyEvent;
}
KtEventUtils.onKtEvent(user, eventType,reason,GlobalsDef.addReason,entry.getKey(),itemNum);
if(sItem.getItemType() == GlobalItemType.POKENMON_COMONPENT){
String nickName = user.getPlayerInfoManager().getNickName();
String message = SErrorCodeEerverConfig.getI18NMessage("lamp_lottery_differ_content", new Object[]{nickName,sItem.getName()});
@ -590,6 +600,11 @@ public class ItemUtil {
if (null == myItem) {
continue;
}
int eventType = ParamEventBean.UserItemEvent;
if(currencyMap.contains(myItem.getItemId())){
eventType = ParamEventBean.UserCurrencyEvent;
}
KtEventUtils.onKtEvent(user, eventType,reason,GlobalsDef.subReason,myItem.getItemId(),needCount);
if (myItem.getItemNum() <= needCount && !notDelete.contains(userItem.getKey())) {
itemManager.removeItem(userItem.getKey());
} else {
@ -659,8 +674,10 @@ public class ItemUtil {
continue;
}
addEquip(user, entry.getKey(), equipList);
KtEventUtils.onKtEvent(user, ParamEventBean.UserItemEvent,reason,GlobalsDef.addReason,entry.getKey(),1);
}
}
if (reward.length() > 0) {
int nowTime = (int) (TimeUtils.now() / 1000);
MailLogic.getInstance().sendMail(user.getId(), title, content, reward.toString(), nowTime, Global.MAIL_EFFECTIVE_TIME);
@ -760,6 +777,7 @@ public class ItemUtil {
}
}
user.getUserMissionManager().onGameEvent(user,GameEvent.GET_HERO,heroStar[0],heroStar[1]);
KtEventUtils.onKtEvent(user, ParamEventBean.UserItemEvent,reason,GlobalsDef.addReason,cardId,1);
}
/**

View File

@ -0,0 +1,33 @@
package com.ljsd.jieling.util;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
public class MD5Util {
public static String encrypByMd5(String context) {
try {
MessageDigest md = MessageDigest.getInstance("MD5");
md.update(context.getBytes());//update处理
byte [] encryContext = md.digest();//调用该方法完成计算
int i;
StringBuffer buf = new StringBuffer("");
for (int offset = 0; offset < encryContext.length; offset++) {//做相应的转化(十六进制)
i = encryContext[offset];
if (i < 0) i += 256;
if (i < 16) buf.append("0");
buf.append(Integer.toHexString(i));
}
System.out.println("32result: " + buf.toString());// 32位的加密
System.out.println("16result: " + buf.toString().substring(8, 24));// 16位的加密
return buf.toString().toLowerCase();
} catch (NoSuchAlgorithmException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return "";
}
}

View File

@ -5,11 +5,15 @@ import java.util.regex.Pattern;
public class ShieldedWordUtils {
public static boolean checkName(String name){
boolean result = validateUserName(name);
if(!result){
return false;
public static boolean checkName(String name,boolean validateSpecStr){
boolean result = true;
if(validateSpecStr){
result = validateUserName(name);
if(!result){
return false;
}
}
result = isContaintSensitiveWord(name);
if(result){
return false;

View File

@ -132,12 +132,6 @@ public class TimeUtils {
public static final String Stand_CeHua_Data_format = "yyyyMMdd HHmmss";
public static void main(String[] args) throws InterruptedException {
long time = TimeUtils.now();
Thread.sleep(5000);
System.out.println((int)(TimeUtils.now()-time)/1000);
}
/**
* (HH:mm:ss)
*

View File

@ -21,6 +21,7 @@ public class HttpPool {
private static int maxSendTimes = 2;
private static int sendIntervalTime = 1000;
private static String charset = "UTF-8";
public static void init(){
poolConnection.setMaxTotal(100);
poolConnection.setDefaultMaxPerRoute(100);
@ -33,6 +34,7 @@ public class HttpPool {
}
public static void sendPost(String url, String info) {
LOGGER.info("the data={}",info);
HttpPost httpPost = new HttpPost(url);
HttpResponse httpResponse;
int sendTimes = 0;
@ -41,8 +43,8 @@ public class HttpPool {
StringEntity stringEntity = new StringEntity(info, charset);
httpPost.setEntity(stringEntity);
httpPost.setConfig(getRequestConfig());
httpPost.setHeader("Content-Type","application/json;charset=utf-8");
httpResponse = httpclient.execute(httpPost);
// retStr = EntityUtils.toString(responseEntity, charset);
HttpEntity responseEntity = httpResponse.getEntity();
EntityUtils.consume(responseEntity);
int statusCode = httpResponse.getStatusLine().getStatusCode();
@ -71,7 +73,8 @@ public class HttpPool {
}
public static void main (String [] args){
String send ="{\"gid\":\"129213\",\"time\":1562306610,\"sign\":\"10a518836c856344a00a97f0299b7cb0\",\"jsonStrs\":\"[{\\\"param_environment\\\":{},\\\"param_user\\\":{\\\"account_id_s\\\":\\\"10004165\\\"},\\\"param_role\\\":{\\\"role_id_s\\\":\\\"10004165\\\",\\\"role_name_s\\\":\\\"10004165\\\",\\\"level_i\\\":\\\"1\\\",\\\"vip_level_i\\\":0},\\\"param_event\\\":{\\\"event_s\\\":[\\\"currency_3_l\\\",\\\"source\\\",\\\"15\\\",\\\"19\\\",\\\"1\\\"]}},{\\\"param_environment\\\":{},\\\"param_user\\\":{\\\"account_id_s\\\":\\\"10004165\\\"},\\\"param_role\\\":{\\\"role_id_s\\\":\\\"10004165\\\",\\\"role_name_s\\\":\\\"10004165\\\",\\\"level_i\\\":\\\"1\\\",\\\"vip_level_i\\\":0},\\\"param_event\\\":{\\\"event_s\\\":[\\\"currency_3_l\\\",\\\"source\\\",\\\"15\\\",\\\"1001\\\",\\\"6000\\\"]}},{\\\"param_environment\\\":{},\\\"param_user\\\":{\\\"account_id_s\\\":\\\"10004165\\\"},\\\"param_role\\\":{\\\"role_id_s\\\":\\\"10004165\\\",\\\"role_name_s\\\":\\\"10004165\\\",\\\"level_i\\\":\\\"1\\\",\\\"vip_level_i\\\":0},\\\"param_event\\\":{\\\"event_s\\\":[\\\"currency_3_l\\\",\\\"source\\\",\\\"15\\\",\\\"28\\\",\\\"2\\\"]}},{\\\"param_environment\\\":{},\\\"param_user\\\":{\\\"account_id_s\\\":\\\"10004165\\\"},\\\"param_role\\\":{\\\"role_id_s\\\":\\\"10004165\\\",\\\"role_name_s\\\":\\\"10004165\\\",\\\"level_i\\\":\\\"1\\\",\\\"vip_level_i\\\":0},\\\"param_event\\\":{\\\"event_s\\\":[\\\"currency_3_l\\\",\\\"source\\\",\\\"15\\\",\\\"10046\\\",\\\"1\\\"]}},{\\\"param_environment\\\":{},\\\"param_user\\\":{\\\"account_id_s\\\":\\\"10004165\\\"},\\\"param_role\\\":{\\\"role_id_s\\\":\\\"10004165\\\",\\\"role_name_s\\\":\\\"10004165\\\",\\\"level_i\\\":\\\"1\\\",\\\"vip_level_i\\\":0},\\\"param_event\\\":{\\\"event_s\\\":[\\\"currency_3_l\\\",\\\"source\\\",\\\"29\\\",\\\"27\\\",\\\"3\\\"]}},{\\\"param_environment\\\":{},\\\"param_user\\\":{\\\"account_id_s\\\":\\\"10004165\\\"},\\\"param_role\\\":{\\\"role_id_s\\\":\\\"10004165\\\",\\\"role_name_s\\\":\\\"10004165\\\",\\\"level_i\\\":\\\"1\\\",\\\"vip_level_i\\\":0},\\\"param_event\\\":{\\\"event_s\\\":[\\\"currency_3_l\\\",\\\"source\\\",\\\"29\\\",\\\"44\\\",\\\"10\\\"]}},{\\\"param_environment\\\":{},\\\"param_user\\\":{\\\"account_id_s\\\":\\\"10004165\\\"},\\\"param_role\\\":{\\\"role_id_s\\\":\\\"10004165\\\",\\\"role_name_s\\\":\\\"10004165\\\",\\\"level_i\\\":\\\"1\\\",\\\"vip_level_i\\\":0},\\\"param_event\\\":{\\\"event_s\\\":[\\\"register_0\\\"]}},{\\\"param_environment\\\":{\\\"wifi_b\\\":false},\\\"param_user\\\":{\\\"user_id_s\\\":\\\"24324\\\",\\\"account_id_s\\\":\\\"10004165\\\"},\\\"param_role\\\":{\\\"role_id_s\\\":\\\"10004165\\\",\\\"role_name_s\\\":\\\"10004165\\\",\\\"level_i\\\":\\\"1\\\",\\\"vip_level_i\\\":0},\\\"param_event\\\":{\\\"event_s\\\":[\\\"login_1\\\",\\\"LOGOUT\\\"]}}]\"}";
init();
sendPost("http://60.1.1.212:8080","111111111");
sendPost("https://gskuld.receiver.extranet.kt007.com:8081/skuld/game/common/",send);
}
}

View File

@ -31,7 +31,7 @@ spring.redis.expireTime = -1
#spring.data.mongodb.uri = mongodb://mongouser:ysj#2017#ljsd@111.231.54.96:27017/ysj_wx_1
#spring.data.mongodb2.uri = mongodb://mongouser:ysj#2017#ljsd@111.231.54.96:27017/develop_ysj_wx_1
#mongodb2 develop
spring.data.mongodb.uri = mongodb://60.1.1.14:27017/jieling_10153
spring.data.mongodb.uri = mongodb://60.1.1.14:27017/jieling_50215
#spring.data.mongodb.uri = mongodb://60.1.1.14:27017/jieling_10212
mongodb.options.maxWaitTime = 120000
mongodb.options.connectTimeout = 1000
@ -43,7 +43,7 @@ mongodb.options.maxConnectionIdleTime = 1000
# netty config
netty.tcpPort = 16080
netty.tcpPort = 26080
netty.chatTcpPort = 20001
netty.logintcpPort = 18091
netty.udpPort = 18092

View File

@ -22,7 +22,7 @@ import java.util.*;
public class ExcelUtils {
private static boolean isWrite = true;
//private static String excelPath ="E:/work2/data_execl/base_data/"; //excel 文件
private static String excelPath ="D:/data_execl1/base_data/"; //excel 文件
private static String excelPath ="E:/work2/data_execl/Map_data/"; //excel 文件
private static String path = "conf/server/";
private static Set<String> oldFileNames = new HashSet<>();
private static String javaFilePath = "serverlogic/src/main/java/com/ljsd/jieling/config/";