diff --git a/serverlogic/src/main/java/com/ljsd/jieling/config/reportData/DataMessageUtils.java b/serverlogic/src/main/java/com/ljsd/jieling/config/reportData/DataMessageUtils.java index 621c810e3..ab8f07850 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/config/reportData/DataMessageUtils.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/config/reportData/DataMessageUtils.java @@ -13,7 +13,7 @@ public class DataMessageUtils { static final BlockingQueue logQueue = new BlockingUniqueQueue<>(); static List dataList = new CopyOnWriteArrayList<>(); //入队列 - public static void addLogQueue(String info){ + public static void addLogQueue(Object info){ logQueue.offer(info); } //出队列 diff --git a/serverlogic/src/main/java/com/ljsd/jieling/globals/GlobalItemType.java b/serverlogic/src/main/java/com/ljsd/jieling/globals/GlobalItemType.java index d6684778f..fe8b108ac 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/globals/GlobalItemType.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/globals/GlobalItemType.java @@ -18,6 +18,7 @@ public interface GlobalItemType { int BLUE_IMAGE=7; // 蓝图 int MINERAL=8; // 矿石 int RINGTYPE=9; // 矿石 + int SecretBox=10; // 宝箱 //物品使用类型 int NO_USE = 0 ; //不使用 diff --git a/serverlogic/src/main/java/com/ljsd/jieling/ktbeans/BeanBuilder/KtBeanBuilder.java b/serverlogic/src/main/java/com/ljsd/jieling/ktbeans/BeanBuilder/KtBeanBuilderUtils.java similarity index 77% rename from serverlogic/src/main/java/com/ljsd/jieling/ktbeans/BeanBuilder/KtBeanBuilder.java rename to serverlogic/src/main/java/com/ljsd/jieling/ktbeans/BeanBuilder/KtBeanBuilderUtils.java index 0c1062d81..025c791f7 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/ktbeans/BeanBuilder/KtBeanBuilder.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/ktbeans/BeanBuilder/KtBeanBuilderUtils.java @@ -5,25 +5,8 @@ import com.ljsd.jieling.config.json.KTSDKConstans; import com.ljsd.jieling.ktbeans.parmsBean.*; import com.ljsd.jieling.logic.dao.PlayerManager; import com.ljsd.jieling.logic.dao.UserManager; -import com.ljsd.jieling.logic.dao.root.User; - -public class KtBeanBuilder { - private KtBeanBuilder(){} - - private static KtBeanBuilder instance = null; - - public static KtBeanBuilder getInstance(){ - - if(instance==null){ - synchronized (KtBeanBuilder.class){ - if(instance==null){ - instance = new KtBeanBuilder(); - } - } - } - return instance; - } +public class KtBeanBuilderUtils { public ParamUserBean paramUserBuild(int uid) throws Exception { ParamUserBean paramUserBean = new ParamUserBean(); paramUserBean.setUser_id_s(UserManager.getUser(uid).getPlayerInfoManager().getOpenId()); @@ -49,12 +32,15 @@ public class KtBeanBuilder { ParamEnvironmentBean paramEnvironmentBean = new ParamEnvironmentBean(); return paramEnvironmentBean; } - public ParamDataBean paramDataBuild() throws Exception { + public static ParamDataBean paramDataBuildForSystem() { ParamDataBean paramDataBean = new ParamDataBean(); paramDataBean.setApp_id_s(KTSDKConstans.appid); paramDataBean.setApp_version_name_s("jieling"); + paramDataBean.setApp_version_code_s("1.0.0.0"); paramDataBean.setServer_s(String.valueOf(GameApplication.serverId)); paramDataBean.setData_unix((int)(System.currentTimeMillis()/1000)); + paramDataBean.setRegion_s("4"); + paramDataBean.setCategory_s("event_app"); return paramDataBean; } diff --git a/serverlogic/src/main/java/com/ljsd/jieling/ktbeans/KTAppOnline.java b/serverlogic/src/main/java/com/ljsd/jieling/ktbeans/KTAppOnline.java index 96c4d9300..c3cff72b4 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/ktbeans/KTAppOnline.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/ktbeans/KTAppOnline.java @@ -1,11 +1,26 @@ package com.ljsd.jieling.ktbeans; import com.ljsd.jieling.ktbeans.parmsBean.ParamDataBean; -import com.ljsd.jieling.ktbeans.parmsBean.ParamEnvironmentBean; import com.ljsd.jieling.ktbeans.parmsBean.ParamEventBean; public class KTAppOnline { private ParamDataBean param_data; - private ParamEnvironmentBean param_environment; private ParamEventBean param_event; + + + public ParamDataBean getParam_data() { + return param_data; + } + + public void setParam_data(ParamDataBean param_data) { + this.param_data = param_data; + } + + public ParamEventBean getParam_event() { + return param_event; + } + + public void setParam_event(ParamEventBean param_event) { + this.param_event = param_event; + } } diff --git a/serverlogic/src/main/java/com/ljsd/jieling/ktbeans/KtEventUtils.java b/serverlogic/src/main/java/com/ljsd/jieling/ktbeans/KtEventUtils.java new file mode 100644 index 000000000..6158c7f7a --- /dev/null +++ b/serverlogic/src/main/java/com/ljsd/jieling/ktbeans/KtEventUtils.java @@ -0,0 +1,52 @@ +package com.ljsd.jieling.ktbeans; + +import com.ljsd.jieling.config.SGlobalActivity; +import com.ljsd.jieling.ktbeans.parmsBean.ParamEventBean; +import com.ljsd.jieling.logic.dao.root.User; + +import java.util.HashMap; +import java.util.Map; + +public class KtEventUtils { + private static String[] itemUseType = new String[]{"source","sink"}; //固定字符,source 表示收入,sink 表示支出 + + private static Map currencyMap = new HashMap<>(); + + + public static void onKtEvent(User user,int eventType,Object ...parm){ + ParamEventBean paramEventBean = new ParamEventBean(eventType); + switch (eventType){ + case ParamEventBean.UserActivityEvent: + int activityId = (int)parm[0]; + SGlobalActivity sGlobalActivity = SGlobalActivity.getsGlobalActivityMap().get(activityId); + paramEventBean.add(sGlobalActivity.getSesc()); + paramEventBean.add(sGlobalActivity.getSesc()); + paramEventBean.add(parm[1].toString()); + break; + case ParamEventBean.UserItemEvent: + case ParamEventBean.UserCurrencyEvent: + int useReson = (int)parm[0]; + int useType = (int)parm[1]; + int itemId = (int)parm[2]; + int itemNum = (int)parm[3]; + paramEventBean.add(itemUseType[useType]); + break; + case ParamEventBean.UserLoginOutEvent: + break; + case ParamEventBean.UserStoreEvent: + break; + case ParamEventBean.UserPayEvent: + break; + case ParamEventBean.UserRegister: + break; + case ParamEventBean.UserTaskEvent: + break; + case ParamEventBean.UserLogin: + break; + + } + + } + + +} diff --git a/serverlogic/src/main/java/com/ljsd/jieling/ktbeans/parmsBean/ParamDataBean.java b/serverlogic/src/main/java/com/ljsd/jieling/ktbeans/parmsBean/ParamDataBean.java index 3cf9779f9..bceb0a7a8 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/ktbeans/parmsBean/ParamDataBean.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/ktbeans/parmsBean/ParamDataBean.java @@ -99,14 +99,6 @@ public class ParamDataBean { } public ParamDataBean(){ - this.app_id_s="game_skuld_01"; - this.app_version_name_s="1.0.0.5"; - this.app_version_code_s="10000"; - this.category_s="event_role"; - this.platform_s="ADR"; - this.region_s="4"; - this.server_s="44"; - this.channel_s="4"; - this.data_unix=1511767867; + } } diff --git a/serverlogic/src/main/java/com/ljsd/jieling/ktbeans/parmsBean/ParamEnvironmentBean.java b/serverlogic/src/main/java/com/ljsd/jieling/ktbeans/parmsBean/ParamEnvironmentBean.java index 2f365d079..d81acf017 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/ktbeans/parmsBean/ParamEnvironmentBean.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/ktbeans/parmsBean/ParamEnvironmentBean.java @@ -29,7 +29,6 @@ public class ParamEnvironmentBean { } public ParamEnvironmentBean(){ - this.device_id_s="6778"; - this.ip_s="61.4.69.112"; + } } \ No newline at end of file diff --git a/serverlogic/src/main/java/com/ljsd/jieling/ktbeans/parmsBean/ParamEventBean.java b/serverlogic/src/main/java/com/ljsd/jieling/ktbeans/parmsBean/ParamEventBean.java index a525b702f..3afff9e20 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/ktbeans/parmsBean/ParamEventBean.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/ktbeans/parmsBean/ParamEventBean.java @@ -1,12 +1,49 @@ package com.ljsd.jieling.ktbeans.parmsBean; + + +import java.util.ArrayList; +import java.util.HashMap; import java.util.List; +import java.util.Map; /** * 事件参数 */ public class ParamEventBean { - private List event_s; + public static final int OnlineEvent =1;//在线人数 该事件每个服务器 每5分钟发送一次 + public static final int UserActivityEvent =2;////角色事件 活动 + public static final int UserItemEvent =3;////角色事件 资源-虚拟币 + public static final int UserCurrencyEvent =4;////资源-道具 + public static final int UserLoginOutEvent =5;////角色事件 登录登出时 + public static final int UserStoreEvent =6;////角色事件 商城 + public static final int UserPayEvent =7;////角色事件 充值 + public static final int UserRegister =8;////角色事件 注册 + public static final int UserTaskEvent =9;////角色事件 任务 + public static final int UserLogin =10;////角色事件 任务 + + private static Map eventTypeStringMap = new HashMap<>(); + static { + eventTypeStringMap.put(OnlineEvent,"online_0_unix_l"); + eventTypeStringMap.put(UserActivityEvent,"activity_4"); + eventTypeStringMap.put(UserItemEvent,"currency_3_l"); + eventTypeStringMap.put(UserCurrencyEvent,"item_3_l"); + eventTypeStringMap.put(UserLoginOutEvent,"login_1"); + eventTypeStringMap.put(UserStoreEvent,"mall_3_l_d_d"); + eventTypeStringMap.put(UserPayEvent,"pay_3_d"); + eventTypeStringMap.put(UserRegister,"register_0"); + eventTypeStringMap.put(UserTaskEvent,"task_2"); + eventTypeStringMap.put(UserLogin,"login_1"); + } + private List event_s = new ArrayList<>(); + + + public ParamEventBean() { + } + + public ParamEventBean(int eveentType){ + add(eventTypeStringMap.get(eveentType)); + } public List getEvent_s() { return event_s; @@ -15,4 +52,8 @@ public class ParamEventBean { public void setEvent_s(List event_s) { this.event_s = event_s; } + + public void add(String event){ + event_s.add(event); + } } \ No newline at end of file diff --git a/serverlogic/src/main/java/com/ljsd/jieling/ktbeans/parmsBean/ParamRoleBean.java b/serverlogic/src/main/java/com/ljsd/jieling/ktbeans/parmsBean/ParamRoleBean.java index 048e9c7cc..e9d4415e8 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/ktbeans/parmsBean/ParamRoleBean.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/ktbeans/parmsBean/ParamRoleBean.java @@ -21,11 +21,6 @@ public class ParamRoleBean { private String role_name_s; private String role_class_s; private String level_i; - private String rebirth_level_i; - private String transfer_level_i; - private String fighting_l; - private String map_s; - private String sex_s; private int vip_level_i; public String getRole_id_s() { @@ -60,45 +55,6 @@ public class ParamRoleBean { this.level_i = level_i; } - public String getRebirth_level_i() { - return rebirth_level_i; - } - - public void setRebirth_level_i(String rebirth_level_i) { - this.rebirth_level_i = rebirth_level_i; - } - - public String getTransfer_level_i() { - return transfer_level_i; - } - - public void setTransfer_level_i(String transfer_level_i) { - this.transfer_level_i = transfer_level_i; - } - - public String getFighting_l() { - return fighting_l; - } - - public void setFighting_l(String fighting_l) { - this.fighting_l = fighting_l; - } - - public String getMap_s() { - return map_s; - } - - public void setMap_s(String map_s) { - this.map_s = map_s; - } - - public String getSex_s() { - return sex_s; - } - - public void setSex_s(String sex_s) { - this.sex_s = sex_s; - } public int getVip_level_i() { return vip_level_i; diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/ActivityLogic.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/ActivityLogic.java index 73a21b6d1..8a4925841 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/ActivityLogic.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/ActivityLogic.java @@ -4,6 +4,8 @@ import com.ljsd.jieling.config.*; 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.mission.GameEvent; @@ -200,6 +202,7 @@ public class ActivityLogic { CommonProto.Drop.Builder drop = ItemUtil.drop(user, reward, BIReason.TAKE_ACTIVITY_REWARD); activityProgressInfo.setState(ActivityType.HAD_TAKED); activityMission.updateProgressInfo(missionId,activityProgressInfo); + KtEventUtils.onKtEvent(user, ParamEventBean.UserActivityEvent,activityId,missionId); PlayerInfoProto.TakeActivityRewardResponse build = PlayerInfoProto.TakeActivityRewardResponse.newBuilder().setDrop(drop).build(); MessageUtil.sendMessage(session,1,rewardResponseValue,build,true); } diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/dao/ActivityManager.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/dao/ActivityManager.java index e6e5bc9ae..5f373d9dc 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/dao/ActivityManager.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/dao/ActivityManager.java @@ -19,6 +19,7 @@ public class ActivityManager extends MongoBase { activityMission.initMissionInfo(activityId); activityMission.init(getRootId(),getMongoKey()+".activityMissionMap." + activityId); activityMissionMap.put(activityId,activityMission); + //开启活动 updateString("activityMissionMap." + activityId,activityMission); } diff --git a/serverlogic/src/main/java/com/ljsd/jieling/thread/task/MinuteTask.java b/serverlogic/src/main/java/com/ljsd/jieling/thread/task/MinuteTask.java index 52a2d4995..2cdc7931a 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/thread/task/MinuteTask.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/thread/task/MinuteTask.java @@ -1,7 +1,11 @@ package com.ljsd.jieling.thread.task; +import com.ljsd.jieling.config.reportData.DataMessageUtils; import com.ljsd.jieling.core.GlobalsDef; import com.ljsd.jieling.handler.map.MapLogic; +import com.ljsd.jieling.ktbeans.BeanBuilder.KtBeanBuilderUtils; +import com.ljsd.jieling.ktbeans.KTAppOnline; +import com.ljsd.jieling.ktbeans.parmsBean.ParamEventBean; import com.ljsd.jieling.logic.GlobalDataManaager; import com.ljsd.jieling.logic.OnlineUserManager; import com.ljsd.jieling.logic.activity.ActivityLogic; @@ -21,6 +25,8 @@ public class MinuteTask extends Thread { this.setName("MinuteTask"); } + private int i =0; + @Override public void run() { try { @@ -32,12 +38,29 @@ public class MinuteTask extends Thread { everyZeroTask(); everyFiveTask(); everyMondyFiveClockTask(); + fiveMinuteOnlineSend(); LOGGER.info("MinuteTask end..."); } catch (Exception e) { LOGGER.error("e",e); } } + private void fiveMinuteOnlineSend() { + Calendar calendar = Calendar.getInstance(); + int minute = calendar.get(Calendar.MINUTE); + if(minute%5 == 0){ + KTAppOnline ktAppOnline = new KTAppOnline(); + int onlineNum = OnlineUserManager.onlineUserMap.size(); + ParamEventBean paramEventBean = new ParamEventBean(ParamEventBean.OnlineEvent); + int time =(int)(calendar.getTimeInMillis()/1000); + paramEventBean.add(String.valueOf(time)); + paramEventBean.add(String.valueOf(onlineNum)); + ktAppOnline.setParam_event(paramEventBean); + ktAppOnline.setParam_data(KtBeanBuilderUtils.paramDataBuildForSystem()); + DataMessageUtils.addLogQueue(ktAppOnline); + } + } + //每日凌晨执行 public void everyZeroTask() throws Exception { Calendar calendar = Calendar.getInstance(); diff --git a/serverlogic/src/main/java/com/ljsd/jieling/util/ItemUtil.java b/serverlogic/src/main/java/com/ljsd/jieling/util/ItemUtil.java index 5797dd030..248c7f403 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/util/ItemUtil.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/util/ItemUtil.java @@ -370,6 +370,7 @@ public class ItemUtil { case GlobalItemType.BLUE_IMAGE: case GlobalItemType.RINGTYPE: case GlobalItemType.MINERAL: + case GlobalItemType.SecretBox: itemType = GlobalItemType.ITEM; break; case GlobalItemType.RANDOM_ITME: