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 List<String> dataList = new CopyOnWriteArrayList<>();
//入队列
public static void addLogQueue(String info){
public static void addLogQueue(Object info){
logQueue.offer(info);
}
//出队列

View File

@ -18,6 +18,7 @@ public interface GlobalItemType {
int BLUE_IMAGE=7; // 蓝图
int MINERAL=8; // 矿石
int RINGTYPE=9; // 矿石
int SecretBox=10; // 宝箱
//物品使用类型
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.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;
}

View File

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

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(){
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(){
this.device_id_s="6778";
this.ip_s="61.4.69.112";
}
}

View File

@ -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<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() {
return event_s;
@ -15,4 +52,8 @@ public class ParamEventBean {
public void setEvent_s(List<String> 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_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;

View File

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

View File

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

View File

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

View File

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