Merge branch 'master_test_gn_zf' into master_test_gn
# Conflicts: # serverlogic/src/main/java/com/ljsd/jieling/logic/hero/HeroLogic.java # serverlogic/src/main/java/com/ljsd/jieling/logic/player/PlayerLogic.javaback_recharge
commit
d517f05b82
|
|
@ -93,6 +93,7 @@ public class MongoUtil {
|
|||
return MongoUtil.getInstence().getMyMongoTemplate();
|
||||
}
|
||||
|
||||
//todo 慢查 需要修改
|
||||
public List<User> getRandomUsers(int size, int uid, int level) throws Exception {
|
||||
if (size <= 0) {
|
||||
return null;
|
||||
|
|
|
|||
|
|
@ -145,8 +145,9 @@ public class FastChallengeHandler extends BaseHandler<FightInfoProto.FastFightCh
|
|||
String key = RedisUtil.getInstence().getKey(RedisKey.CAR_CHALLENGE_RECORD, String.valueOf(uid));
|
||||
String challenegeKey = RedisUtil.getInstence().getKey(RedisKey.CAR_CHALLENGE_RECORD, String.valueOf(challeageId));
|
||||
if(hurt!=0){
|
||||
RedisUtil.getInstence().zsetAddOne(key,content + "|" + challeageId,(int)(System.currentTimeMillis()/1000));
|
||||
RedisUtil.getInstence().zsetAddOne(challenegeKey,challengeContent + "|" + uid,(int)(System.currentTimeMillis()/1000));
|
||||
int time = (int) (System.currentTimeMillis() / 1000);
|
||||
RedisUtil.getInstence().zsetAddOne(key,content + "|" + challeageId+"|"+time,time);
|
||||
RedisUtil.getInstence().zsetAddOne(challenegeKey,challengeContent + "|" + uid+"|"+time, time);
|
||||
}
|
||||
user.getUserMissionManager().onGameEvent(user, GameEvent.CAR_PLAY_LOOT,1);
|
||||
}break;
|
||||
|
|
|
|||
|
|
@ -109,7 +109,7 @@ public class LoginRequestHandler extends BaseHandler<PlayerInfoProto.LoginReques
|
|||
bundle_id = splitChannelS[1];
|
||||
}
|
||||
if(!StringUtil.isEmpty(splitChannelS[2])){
|
||||
pack_Id = splitChannelS[1];
|
||||
pack_Id = splitChannelS[2];
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -61,7 +61,8 @@ public class GetWorldArenaInfoRequestHandler extends BaseHandler<WorldProto.GetW
|
|||
builder.setIsStart(1);
|
||||
}
|
||||
if (!HandlerLogicThread.checkOpen(UserManager.getUser(iSession.getUid()),sGlobalSystemConfig)) {
|
||||
throw new ErrorCodeException(ErrorCode.ACTIVITY_NOT_OPEN);
|
||||
MessageUtil.sendMessage(iSession,1, MessageTypeProto.MessageType.GetWorldArenaInfoResponse.getNumber(),builder.build(),true);
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -1,5 +1,7 @@
|
|||
package com.ljsd.jieling.handler.pokemon;
|
||||
|
||||
import com.ljsd.jieling.exception.ErrorCode;
|
||||
import com.ljsd.jieling.exception.ErrorCodeException;
|
||||
import com.ljsd.jieling.handler.BaseHandler;
|
||||
import com.ljsd.jieling.logic.hero.HeroLogic;
|
||||
import com.ljsd.jieling.network.session.ISession;
|
||||
|
|
|
|||
|
|
@ -1,34 +1,19 @@
|
|||
package com.ljsd.jieling.kefu;
|
||||
|
||||
|
||||
import com.ljsd.jieling.core.Lockeys;
|
||||
import com.ljsd.jieling.core.SimpleTransaction;
|
||||
import com.ljsd.jieling.db.mongo.AreaManager;
|
||||
import com.ljsd.jieling.db.mongo.MongoUtil;
|
||||
import com.ljsd.jieling.db.redis.RedisKey;
|
||||
import com.ljsd.jieling.db.redis.RedisUtil;
|
||||
import com.ljsd.jieling.logic.activity.AbstractActivity;
|
||||
import com.ljsd.jieling.logic.activity.ActivityLogic;
|
||||
import com.ljsd.jieling.logic.activity.ActivityTypeEnum;
|
||||
import com.ljsd.jieling.logic.activity.event.CommitSheJiEvent;
|
||||
import com.ljsd.jieling.logic.dao.GuilidManager;
|
||||
import com.ljsd.jieling.logic.dao.Hero;
|
||||
import com.ljsd.jieling.logic.dao.HeroManager;
|
||||
import com.ljsd.jieling.logic.dao.TeamPosHeroInfo;
|
||||
import com.ljsd.jieling.logic.dao.UserManager;
|
||||
import com.ljsd.jieling.logic.dao.root.GuildInfo;
|
||||
import com.ljsd.jieling.logic.dao.root.User;
|
||||
import com.ljsd.jieling.logic.rank.RankContext;
|
||||
import com.ljsd.jieling.logic.rank.RankEnum;
|
||||
import com.ljsd.jieling.logic.rank.rankImpl.AbstractRank;
|
||||
import config.SGodSacrificeSetting;
|
||||
import manager.STableManager;
|
||||
import org.springframework.data.redis.core.ZSetOperations;
|
||||
import com.ljsd.jieling.util.SysUtil;
|
||||
import config.SCHero;
|
||||
|
||||
import java.io.BufferedReader;
|
||||
import java.io.File;
|
||||
import java.io.FileReader;
|
||||
import java.util.HashMap;
|
||||
import java.util.HashSet;
|
||||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
import java.util.*;
|
||||
|
||||
/**
|
||||
* Description: 热修复全局信息 gm线程执行
|
||||
|
|
@ -40,89 +25,72 @@ import java.util.Set;
|
|||
public class Cmd_fixsj extends GmAbstract {
|
||||
@Override
|
||||
public boolean exec(String[] args) throws Exception {
|
||||
|
||||
// for (int i = 0; i <150 ; i++) {
|
||||
// String key = RedisKey.getKey(RedisKey.FORCE_RANK, "", false);
|
||||
// RedisUtil.getInstence().zsetAddOne(key, String.valueOf(10000+i), 10000+i);
|
||||
// }
|
||||
try {
|
||||
|
||||
|
||||
Map<Integer, GuildInfo> guildInfoMap = GuilidManager.guildInfoMap;
|
||||
AbstractRank guildRank = RankContext.getRankEnum(RankEnum.GUILD_SHEJI_SCORE_RANK.getType());
|
||||
|
||||
for(Map.Entry<Integer,GuildInfo> guildInfoEntry:guildInfoMap.entrySet()){
|
||||
try {
|
||||
|
||||
GuildInfo guildInfo = guildInfoEntry.getValue();
|
||||
Double zSetScore = RedisUtil.getInstence().getZSetScore(RankEnum.GUILD_SHEJI_SCORE_RANK.getRedisKey(), "50002", Integer.toString(guildInfo.getId()));
|
||||
|
||||
// if(zSetScore<0){
|
||||
// continue;
|
||||
// }
|
||||
Double sumValue =0d;
|
||||
|
||||
Set<Integer> sendUids = new HashSet<>();
|
||||
for (Set<Integer> items : guildInfo.getMembers().values()) {
|
||||
sendUids.addAll(items);
|
||||
}
|
||||
|
||||
for (Integer uid : sendUids) {
|
||||
|
||||
Double zSetScore1 = RedisUtil.getInstence().getZSetScore(RankEnum.EXPERT_RANK.getRedisKey(), "50002", Integer.toString(uid));
|
||||
if(zSetScore1<0){
|
||||
zSetScore1=0d;
|
||||
}
|
||||
sumValue+=zSetScore1;
|
||||
}
|
||||
if(sumValue<0){
|
||||
sumValue=0d;
|
||||
}
|
||||
|
||||
System.out.println(guildInfo.getName()+"guildInfo.get = " + guildInfo.getGuildSheJiScore());
|
||||
System.out.println(guildInfo.getName()+"zSetScore = " + zSetScore);
|
||||
System.out.println(guildInfo.getName()+"sumValue = " + sumValue);
|
||||
|
||||
SGodSacrificeSetting sGodSacrificeSetting = STableManager.getConfig(SGodSacrificeSetting.class).get(1);
|
||||
if(sumValue>=sGodSacrificeSetting.getL1Score()){
|
||||
guildRank.addRank(guildInfo.getId(),"50002",sumValue);
|
||||
}else {
|
||||
String key= RedisUtil.getInstence().getKey(RankEnum.GUILD_SHEJI_SCORE_RANK.getRedisKey(), "50002");
|
||||
RedisUtil.getInstence().zsetRemoveOne(key,Integer.toString(guildInfo.getId()));
|
||||
}
|
||||
|
||||
guildInfo.setGuildSheJiScore(sumValue.intValue());
|
||||
|
||||
|
||||
for (Integer uid : sendUids) {
|
||||
|
||||
User user = UserManager.getUser(uid);
|
||||
if (null == user) {
|
||||
LOGGER.error("Exception::user==null,uid=>{}", uid);
|
||||
continue;
|
||||
}
|
||||
|
||||
AbstractActivity abstractActivity = ActivityTypeEnum.getActicityType(50002);
|
||||
if (abstractActivity == null) {
|
||||
continue;
|
||||
}
|
||||
abstractActivity.update(user, sumValue.intValue());
|
||||
// Double zSetScore1 = RedisUtil.getInstence().getZSetScore(RankEnum.EXPERT_RANK.getRedisKey(), "50002", Integer.toString(uid));
|
||||
// sumValue+=zSetScore1;
|
||||
}
|
||||
|
||||
}catch (Exception e){
|
||||
LOGGER.error("Exception resetGuildInfo err");
|
||||
}finally {
|
||||
}
|
||||
//
|
||||
String path= SysUtil.getPath("conf/fix_hero.txt");
|
||||
File file = new File(path);
|
||||
FileReader fileReader = null;
|
||||
fileReader = new FileReader(file);
|
||||
BufferedReader in = new BufferedReader(fileReader);
|
||||
String line = null;
|
||||
Map<Integer, Map<Integer,Integer>> heroMap = new HashMap<>();
|
||||
System.out.println("开始处理");
|
||||
while ((line = in.readLine()) != null) {
|
||||
Map<Integer,Integer> oneHeroMap = new HashMap<>();
|
||||
String[] s = line.split("\t");
|
||||
String[] split = s[1].split(",");
|
||||
for(String sp:split){
|
||||
String[] split1 = sp.split("-");
|
||||
int heroId = Integer.parseInt(split1[0]);
|
||||
oneHeroMap.put(heroId,oneHeroMap.getOrDefault(heroId,0)+1);
|
||||
}
|
||||
|
||||
} catch (Exception e) {
|
||||
LOGGER.info("修复排行榜异常" + e.toString());
|
||||
heroMap.put(Integer.parseInt(s[0]),oneHeroMap);
|
||||
System.out.println("this line:" + line);
|
||||
line = null;
|
||||
}
|
||||
|
||||
Map<Integer, Map<Integer,Integer>> deleteMap = new HashMap<>();
|
||||
|
||||
for(Map.Entry<Integer,Map<Integer,Integer>> entry:heroMap.entrySet()){
|
||||
deleteMap.put(entry.getKey(),new HashMap<>());
|
||||
User user = UserManager.getUser(entry.getKey());
|
||||
HeroManager heroManager = user.getHeroManager();
|
||||
Map<String, Hero> heroManagerHeroMap = heroManager.getHeroMap();
|
||||
Set<String> allDelId = new HashSet<>();
|
||||
next:for(Map.Entry<String,Hero> entryHero:heroManagerHeroMap.entrySet()){
|
||||
Hero hero= entryHero.getValue();
|
||||
if(!entry.getValue().containsKey(hero.getTemplateId())){
|
||||
continue;
|
||||
}
|
||||
if(entry.getValue().get(hero.getTemplateId())<1){
|
||||
continue;
|
||||
}
|
||||
if(hero.getLevel(heroManager)!=1){
|
||||
continue;
|
||||
}
|
||||
if(hero.getStar()!= SCHero.getsCHero().get(hero.getTemplateId()).getStar()){
|
||||
continue;
|
||||
}
|
||||
Map<Integer, Integer> map = deleteMap.get(entry.getKey());
|
||||
for(Map.Entry<Integer, List<TeamPosHeroInfo>> teamPosHeroInfo:user.getTeamPosManager().getTeamPosForHero().entrySet()){
|
||||
List<TeamPosHeroInfo> value = teamPosHeroInfo.getValue();
|
||||
for(TeamPosHeroInfo info:value){
|
||||
if(info.getHeroId().equals(hero.getId())){
|
||||
continue next;
|
||||
}
|
||||
}
|
||||
}
|
||||
allDelId.add(hero.getId());
|
||||
map.put(hero.getTemplateId(),map.getOrDefault(hero.getTemplateId(),0)+1);
|
||||
}
|
||||
for(String str:allDelId){
|
||||
user.getHeroManager().removeHero(entry.getKey(),str);
|
||||
}
|
||||
System.out.println("删除英雄动态id==>"+allDelId.toString());
|
||||
}
|
||||
|
||||
deleteMap.forEach((k,v)-> System.out.println(k+"要删除的"+v.toString()));
|
||||
in.close();
|
||||
fileReader.close();
|
||||
MongoUtil.getLjsdMongoTemplate().lastUpdate();
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -25,55 +25,55 @@ import java.util.Set;
|
|||
public class Cmd_recharge extends GmAbstract {
|
||||
@Override
|
||||
public boolean exec(String[] args) throws Exception {
|
||||
int serverId = GameApplication.serverId;
|
||||
MongoTemplate monogTemplate = MongoUtil.getInstence().getMonogTemplate(serverId);
|
||||
MongoTemplate coreMongoTemplate = MongoUtil.getCoreMongoTemplate();
|
||||
|
||||
Query query = new Query(Criteria.where("_id").ne("100000"));
|
||||
query.fields().include("playerManager");
|
||||
long count = monogTemplate.count(query, User.class, "user");
|
||||
|
||||
int pageSize = 10;
|
||||
|
||||
//分页
|
||||
for(int i = 0 ; i <count/pageSize+1;i++){
|
||||
Pageable pageable = new PageRequest(i,pageSize);
|
||||
List<User> allByCondition = monogTemplate.find(query.with(pageable), User.class,"user");
|
||||
|
||||
for(User user:allByCondition){
|
||||
PlayerManager playerInfoManager = user.getPlayerInfoManager();
|
||||
System.out.println(user.getId());
|
||||
NewRechargeInfo newRechargeInfo = playerInfoManager.getNewRechargeInfo();
|
||||
RechargeInfo rechargeInfo = playerInfoManager.getRechargeInfo();
|
||||
double rr = (rechargeInfo==null?0:rechargeInfo.getSaveAmt())+(newRechargeInfo==null?0:newRechargeInfo.getRr());
|
||||
if(rr==0){
|
||||
continue;
|
||||
}
|
||||
//判断是否有其他服已经加入过充值信息
|
||||
Query rechargeQuery = new Query(Criteria.where("_id").is(playerInfoManager.getOpenId()));
|
||||
Recharge recharge = coreMongoTemplate.findOne(rechargeQuery, Recharge.class, "recharge");
|
||||
if(recharge==null){
|
||||
recharge = new Recharge();
|
||||
recharge.setId(playerInfoManager.getOpenId());
|
||||
recharge.setRr(rr);
|
||||
Set<Integer> serverIds = new HashSet<>();
|
||||
serverIds.add(serverId);
|
||||
recharge.setServerId(serverIds);
|
||||
}else{
|
||||
Set<Integer> serverIds = recharge.getServerId();
|
||||
if(serverIds!=null&&serverIds.contains(serverId)){
|
||||
continue;
|
||||
}
|
||||
recharge.setRr(recharge.getRr()+rr);
|
||||
recharge.getServerId().add(serverId);
|
||||
}
|
||||
coreMongoTemplate.save(recharge,"recharge");
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
System.out.println();
|
||||
// int serverId = GameApplication.serverId;
|
||||
// MongoTemplate monogTemplate = MongoUtil.getInstence().getMonogTemplate(serverId);
|
||||
// MongoTemplate coreMongoTemplate = MongoUtil.getCoreMongoTemplate();
|
||||
//
|
||||
// Query query = new Query(Criteria.where("_id").ne("100000"));
|
||||
// query.fields().include("playerManager");
|
||||
// long count = monogTemplate.count(query, User.class, "user");
|
||||
//
|
||||
// int pageSize = 10;
|
||||
//
|
||||
// //分页
|
||||
// for(int i = 0 ; i <count/pageSize+1;i++){
|
||||
// Pageable pageable = new PageRequest(i,pageSize);
|
||||
// List<User> allByCondition = monogTemplate.find(query.with(pageable), User.class,"user");
|
||||
//
|
||||
// for(User user:allByCondition){
|
||||
// PlayerManager playerInfoManager = user.getPlayerInfoManager();
|
||||
// System.out.println(user.getId());
|
||||
// NewRechargeInfo newRechargeInfo = playerInfoManager.getNewRechargeInfo();
|
||||
// RechargeInfo rechargeInfo = playerInfoManager.getRechargeInfo();
|
||||
// double rr = (rechargeInfo==null?0:rechargeInfo.getSaveAmt())+(newRechargeInfo==null?0:newRechargeInfo.getRr());
|
||||
// if(rr==0){
|
||||
// continue;
|
||||
// }
|
||||
// //判断是否有其他服已经加入过充值信息
|
||||
// Query rechargeQuery = new Query(Criteria.where("_id").is(playerInfoManager.getOpenId()));
|
||||
// Recharge recharge = coreMongoTemplate.findOne(rechargeQuery, Recharge.class, "recharge");
|
||||
// if(recharge==null){
|
||||
// recharge = new Recharge();
|
||||
// recharge.setId(playerInfoManager.getOpenId());
|
||||
// recharge.setRr(rr);
|
||||
// Set<Integer> serverIds = new HashSet<>();
|
||||
// serverIds.add(serverId);
|
||||
// recharge.setServerId(serverIds);
|
||||
// }else{
|
||||
// Set<Integer> serverIds = recharge.getServerId();
|
||||
// if(serverIds!=null&&serverIds.contains(serverId)){
|
||||
// continue;
|
||||
// }
|
||||
// recharge.setRr(recharge.getRr()+rr);
|
||||
// recharge.getServerId().add(serverId);
|
||||
// }
|
||||
// coreMongoTemplate.save(recharge,"recharge");
|
||||
// }
|
||||
//
|
||||
// }
|
||||
//
|
||||
//
|
||||
// System.out.println();
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -86,7 +86,7 @@ public class ReportUserEvent {
|
|||
}
|
||||
|
||||
public ReportUserEvent setPackId(String packId){
|
||||
baseInfo.put("pack_id",packId);
|
||||
baseInfo.put("packId",packId);
|
||||
return this;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -105,8 +105,8 @@ public class ReportUtil {
|
|||
.setDiamond_amount(diamond==null?0:(int)diamond.getItemNum())
|
||||
.setFighting_capacity(user.getPlayerInfoManager().getMaxForce())
|
||||
.setLevel(user.getPlayerInfoManager().getLevel())
|
||||
.setChannelId(user.getPlayerInfoManager().getChannel_id())
|
||||
.setPackId(user.getPlayerInfoManager().getPack_id());
|
||||
.setChannelId(user.getPlayerInfoManager().getChannel_id()==null?"":user.getPlayerInfoManager().getChannel_id())
|
||||
.setPackId(user.getPlayerInfoManager().getPack_id()==null?"":user.getPlayerInfoManager().getPack_id());
|
||||
}
|
||||
|
||||
public static void doReport(ReportUserEvent reportUserEvent){
|
||||
|
|
|
|||
|
|
@ -25,6 +25,7 @@ public class CreateRoleEventHandler extends CommonEventHandler{
|
|||
setOnceProperties.put("channel_id",user.getPlayerInfoManager().getChannel_id());
|
||||
setOnceProperties.put("platform_id",user.getPlayerInfoManager().getPlatform());
|
||||
setOnceProperties.put("reg_ip",user.getPlayerInfoManager().getIp());
|
||||
setOnceProperties.put("packId",user.getPlayerInfoManager().getPack_id());
|
||||
|
||||
userProperties.put(1,setProperties);
|
||||
userProperties.put(2,setOnceProperties);
|
||||
|
|
|
|||
|
|
@ -546,6 +546,9 @@ public class GlobalDataManaager implements IManager {
|
|||
long serverOpenTime = TimeUtils.stringToTimeLong2(GameApplication.serverConfig.getOpenTime());
|
||||
// 根据格式获取时间戳 例子 :20210720
|
||||
int value = SSpecialConfig.getIntegerValue(SSpecialConfig.DATA_OF_UNLOCK_THE_EVEREST);
|
||||
if(value==-1){
|
||||
value = 20210731;//防止报错
|
||||
}
|
||||
long time = TimeUtils.stringToTimeLong(String.valueOf(value), "yyyyMMdd");
|
||||
// 规定时间之前开服的返回0
|
||||
if (serverOpenTime < time){
|
||||
|
|
|
|||
|
|
@ -226,10 +226,9 @@ public class TreasureActivity extends AbstractActivity {
|
|||
private void dropByState(List<int[][]> dropList,int curState,int targetState,int missionId){
|
||||
STreasureSunlongConfig rewardConfig = STreasureSunlongConfig.levelTreasureConfigMap.get(id).get(missionId);
|
||||
if(curState==ActivityType.WILL_TAKE){
|
||||
if(rewardConfig.getReward()==null||rewardConfig.getReward().length<1){
|
||||
return;
|
||||
if(rewardConfig.getReward()!=null&&rewardConfig.getReward().length>0){
|
||||
dropList.add(rewardConfig.getReward());
|
||||
}
|
||||
dropList.add(rewardConfig.getReward());
|
||||
if(targetState == ActivityType.FINISH_TAKED){
|
||||
dropList.add(rewardConfig.getTreasureReward());
|
||||
}
|
||||
|
|
|
|||
|
|
@ -96,6 +96,14 @@ public class MailLogic {
|
|||
removeIds.add(cMail.getId());
|
||||
continue;
|
||||
}
|
||||
//运营 游心gm 20019服错发邮件
|
||||
if("45u6xr9ch5dr0epw".equals(GameApplication.serverProperties.getAppId())){
|
||||
if(GameApplication.serverProperties.getId() == 20019){
|
||||
if("登录问题修复公告||".equals(cMail.getHead()) && "19#300|60#5".equals(cMail.getMailItem())){
|
||||
cMail.setMailItem("19#3|60#5");
|
||||
}
|
||||
}
|
||||
}
|
||||
cMailList.add(cMail);
|
||||
}
|
||||
for(String removeId : removeIds){
|
||||
|
|
|
|||
|
|
@ -774,11 +774,15 @@ public class PlayerLogic {
|
|||
|
||||
Map<Integer, Long> heroNotBufferAttribute = hero.getAttributeMapByTeam().getOrDefault(teamId,new HashMap<>());
|
||||
for(Map.Entry<Integer,Long> item : heroNotBufferAttribute.entrySet()){
|
||||
builder.addSpecialEffects(crossPropertyHandle(item.getKey(),item.getValue().intValue()));
|
||||
int id = item.getKey();
|
||||
int values = item.getValue().intValue();
|
||||
if (id == 53 || id == 57 || id == 58){
|
||||
values = item.getValue().intValue()-10000;
|
||||
}
|
||||
builder.addSpecialEffects(CommonProto.SpecialEffects.newBuilder().setPropertyId(id).setPropertyValue(values).build());
|
||||
}
|
||||
Map<String, PropertyItem> jewels = query.getHeroManager().getJewels();
|
||||
// 宝物
|
||||
for(String equipId : hero.getJewelInfo()){
|
||||
for(String equipId : hero.getJewelInfo()){
|
||||
heroBuilder.addJewels(equipId);
|
||||
builder.addEquip(CBean2Proto.getEquipProto(jewels.get(equipId)));
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue