back_recharge
wangyuan 2019-07-04 21:27:18 +08:00
parent 3870c87694
commit a4d3c653fe
13 changed files with 148 additions and 78 deletions

View File

@ -13,7 +13,7 @@ public class DataMessageUtils {
static final BlockingQueue<Object> logQueue = new BlockingUniqueQueue<>(); static final BlockingQueue<Object> logQueue = new BlockingUniqueQueue<>();
static List<String> dataList = new CopyOnWriteArrayList<>(); static List<String> dataList = new CopyOnWriteArrayList<>();
//入队列 //入队列
public static void addLogQueue(String info){ public static void addLogQueue(Object info){
logQueue.offer(info); logQueue.offer(info);
} }
//出队列 //出队列

View File

@ -18,6 +18,7 @@ public interface GlobalItemType {
int BLUE_IMAGE=7; // 蓝图 int BLUE_IMAGE=7; // 蓝图
int MINERAL=8; // 矿石 int MINERAL=8; // 矿石
int RINGTYPE=9; // 矿石 int RINGTYPE=9; // 矿石
int SecretBox=10; // 宝箱
//物品使用类型 //物品使用类型
int NO_USE = 0 ; //不使用 int NO_USE = 0 ; //不使用

View File

@ -5,25 +5,8 @@ import com.ljsd.jieling.config.json.KTSDKConstans;
import com.ljsd.jieling.ktbeans.parmsBean.*; import com.ljsd.jieling.ktbeans.parmsBean.*;
import com.ljsd.jieling.logic.dao.PlayerManager; import com.ljsd.jieling.logic.dao.PlayerManager;
import com.ljsd.jieling.logic.dao.UserManager; 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 { public ParamUserBean paramUserBuild(int uid) throws Exception {
ParamUserBean paramUserBean = new ParamUserBean(); ParamUserBean paramUserBean = new ParamUserBean();
paramUserBean.setUser_id_s(UserManager.getUser(uid).getPlayerInfoManager().getOpenId()); paramUserBean.setUser_id_s(UserManager.getUser(uid).getPlayerInfoManager().getOpenId());
@ -49,12 +32,15 @@ public class KtBeanBuilder {
ParamEnvironmentBean paramEnvironmentBean = new ParamEnvironmentBean(); ParamEnvironmentBean paramEnvironmentBean = new ParamEnvironmentBean();
return paramEnvironmentBean; return paramEnvironmentBean;
} }
public ParamDataBean paramDataBuild() throws Exception { public static ParamDataBean paramDataBuildForSystem() {
ParamDataBean paramDataBean = new ParamDataBean(); ParamDataBean paramDataBean = new ParamDataBean();
paramDataBean.setApp_id_s(KTSDKConstans.appid); paramDataBean.setApp_id_s(KTSDKConstans.appid);
paramDataBean.setApp_version_name_s("jieling"); paramDataBean.setApp_version_name_s("jieling");
paramDataBean.setApp_version_code_s("1.0.0.0");
paramDataBean.setServer_s(String.valueOf(GameApplication.serverId)); paramDataBean.setServer_s(String.valueOf(GameApplication.serverId));
paramDataBean.setData_unix((int)(System.currentTimeMillis()/1000)); paramDataBean.setData_unix((int)(System.currentTimeMillis()/1000));
paramDataBean.setRegion_s("4");
paramDataBean.setCategory_s("event_app");
return paramDataBean; return paramDataBean;
} }

View File

@ -1,11 +1,26 @@
package com.ljsd.jieling.ktbeans; package com.ljsd.jieling.ktbeans;
import com.ljsd.jieling.ktbeans.parmsBean.ParamDataBean; import com.ljsd.jieling.ktbeans.parmsBean.ParamDataBean;
import com.ljsd.jieling.ktbeans.parmsBean.ParamEnvironmentBean;
import com.ljsd.jieling.ktbeans.parmsBean.ParamEventBean; import com.ljsd.jieling.ktbeans.parmsBean.ParamEventBean;
public class KTAppOnline { public class KTAppOnline {
private ParamDataBean param_data; private ParamDataBean param_data;
private ParamEnvironmentBean param_environment;
private ParamEventBean param_event; 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;
}
} }

View File

@ -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<Integer,String> 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;
}
}
}

View File

@ -99,14 +99,6 @@ public class ParamDataBean {
} }
public 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;
} }
} }

View File

@ -29,7 +29,6 @@ public class ParamEnvironmentBean {
} }
public ParamEnvironmentBean(){ public ParamEnvironmentBean(){
this.device_id_s="6778";
this.ip_s="61.4.69.112";
} }
} }

View File

@ -1,12 +1,49 @@
package com.ljsd.jieling.ktbeans.parmsBean; package com.ljsd.jieling.ktbeans.parmsBean;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Map;
/** /**
* *
*/ */
public class ParamEventBean { public class ParamEventBean {
private List<String> 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<Integer, String> 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<String> event_s = new ArrayList<>();
public ParamEventBean() {
}
public ParamEventBean(int eveentType){
add(eventTypeStringMap.get(eveentType));
}
public List<String> getEvent_s() { public List<String> getEvent_s() {
return event_s; return event_s;
@ -15,4 +52,8 @@ public class ParamEventBean {
public void setEvent_s(List<String> event_s) { public void setEvent_s(List<String> event_s) {
this.event_s = event_s; this.event_s = event_s;
} }
public void add(String event){
event_s.add(event);
}
} }

View File

@ -21,11 +21,6 @@ public class ParamRoleBean {
private String role_name_s; private String role_name_s;
private String role_class_s; private String role_class_s;
private String level_i; 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; private int vip_level_i;
public String getRole_id_s() { public String getRole_id_s() {
@ -60,45 +55,6 @@ public class ParamRoleBean {
this.level_i = level_i; 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() { public int getVip_level_i() {
return vip_level_i; return vip_level_i;

View File

@ -4,6 +4,8 @@ import com.ljsd.jieling.config.*;
import com.ljsd.jieling.core.VipPrivilegeType; import com.ljsd.jieling.core.VipPrivilegeType;
import com.ljsd.jieling.globals.BIReason; import com.ljsd.jieling.globals.BIReason;
import com.ljsd.jieling.globals.Global; 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.*;
import com.ljsd.jieling.logic.dao.root.User; import com.ljsd.jieling.logic.dao.root.User;
import com.ljsd.jieling.logic.mission.GameEvent; 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); CommonProto.Drop.Builder drop = ItemUtil.drop(user, reward, BIReason.TAKE_ACTIVITY_REWARD);
activityProgressInfo.setState(ActivityType.HAD_TAKED); activityProgressInfo.setState(ActivityType.HAD_TAKED);
activityMission.updateProgressInfo(missionId,activityProgressInfo); activityMission.updateProgressInfo(missionId,activityProgressInfo);
KtEventUtils.onKtEvent(user, ParamEventBean.UserActivityEvent,activityId,missionId);
PlayerInfoProto.TakeActivityRewardResponse build = PlayerInfoProto.TakeActivityRewardResponse.newBuilder().setDrop(drop).build(); PlayerInfoProto.TakeActivityRewardResponse build = PlayerInfoProto.TakeActivityRewardResponse.newBuilder().setDrop(drop).build();
MessageUtil.sendMessage(session,1,rewardResponseValue,build,true); MessageUtil.sendMessage(session,1,rewardResponseValue,build,true);
} }

View File

@ -19,6 +19,7 @@ public class ActivityManager extends MongoBase {
activityMission.initMissionInfo(activityId); activityMission.initMissionInfo(activityId);
activityMission.init(getRootId(),getMongoKey()+".activityMissionMap." + activityId); activityMission.init(getRootId(),getMongoKey()+".activityMissionMap." + activityId);
activityMissionMap.put(activityId,activityMission); activityMissionMap.put(activityId,activityMission);
//开启活动
updateString("activityMissionMap." + activityId,activityMission); updateString("activityMissionMap." + activityId,activityMission);
} }

View File

@ -1,7 +1,11 @@
package com.ljsd.jieling.thread.task; package com.ljsd.jieling.thread.task;
import com.ljsd.jieling.config.reportData.DataMessageUtils;
import com.ljsd.jieling.core.GlobalsDef; import com.ljsd.jieling.core.GlobalsDef;
import com.ljsd.jieling.handler.map.MapLogic; 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.GlobalDataManaager;
import com.ljsd.jieling.logic.OnlineUserManager; import com.ljsd.jieling.logic.OnlineUserManager;
import com.ljsd.jieling.logic.activity.ActivityLogic; import com.ljsd.jieling.logic.activity.ActivityLogic;
@ -21,6 +25,8 @@ public class MinuteTask extends Thread {
this.setName("MinuteTask"); this.setName("MinuteTask");
} }
private int i =0;
@Override @Override
public void run() { public void run() {
try { try {
@ -32,12 +38,29 @@ public class MinuteTask extends Thread {
everyZeroTask(); everyZeroTask();
everyFiveTask(); everyFiveTask();
everyMondyFiveClockTask(); everyMondyFiveClockTask();
fiveMinuteOnlineSend();
LOGGER.info("MinuteTask end..."); LOGGER.info("MinuteTask end...");
} catch (Exception e) { } catch (Exception e) {
LOGGER.error("e",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 { public void everyZeroTask() throws Exception {
Calendar calendar = Calendar.getInstance(); Calendar calendar = Calendar.getInstance();

View File

@ -370,6 +370,7 @@ public class ItemUtil {
case GlobalItemType.BLUE_IMAGE: case GlobalItemType.BLUE_IMAGE:
case GlobalItemType.RINGTYPE: case GlobalItemType.RINGTYPE:
case GlobalItemType.MINERAL: case GlobalItemType.MINERAL:
case GlobalItemType.SecretBox:
itemType = GlobalItemType.ITEM; itemType = GlobalItemType.ITEM;
break; break;
case GlobalItemType.RANDOM_ITME: case GlobalItemType.RANDOM_ITME: