Merge branch 'master_test_gn' of http://60.1.1.230/backend/jieling_server into master_test_gn
commit
3952359f2b
|
|
@ -1272,8 +1272,7 @@ public class TimeUtils {
|
|||
public static int getHourOfDay() {
|
||||
Calendar calendar = Calendar.getInstance();
|
||||
calendar.setTimeInMillis(System.currentTimeMillis());
|
||||
int hour = calendar.get(Calendar.HOUR_OF_DAY);
|
||||
return hour;
|
||||
return calendar.get(Calendar.HOUR_OF_DAY);
|
||||
}
|
||||
/**
|
||||
* 获得当前时间是今天的几点(整点)
|
||||
|
|
@ -1283,8 +1282,7 @@ public class TimeUtils {
|
|||
public static int getMiunte() {
|
||||
Calendar calendar = Calendar.getInstance();
|
||||
calendar.setTimeInMillis(System.currentTimeMillis());
|
||||
int minute = calendar.get(Calendar.MINUTE);
|
||||
return minute;
|
||||
return calendar.get(Calendar.MINUTE);
|
||||
}
|
||||
/**
|
||||
* 获得当前时间是今天的几点(整点)
|
||||
|
|
@ -1294,8 +1292,7 @@ public class TimeUtils {
|
|||
public static int getMiunte(long time) {
|
||||
Calendar calendar = Calendar.getInstance();
|
||||
calendar.setTimeInMillis(time);
|
||||
int minute = calendar.get(Calendar.MINUTE);
|
||||
return minute;
|
||||
return calendar.get(Calendar.MINUTE);
|
||||
}
|
||||
|
||||
// /**
|
||||
|
|
|
|||
|
|
@ -90,7 +90,6 @@ public class CrossServiceLogic {
|
|||
* @throws Exception
|
||||
*/
|
||||
public void dispose(User user) throws Exception{
|
||||
|
||||
ArenaOfUser query = query(user.getId());
|
||||
ArenaOfUser arenaOfUser = buildArenaOfUser(user);
|
||||
countForce(arenaOfUser);
|
||||
|
|
@ -101,6 +100,7 @@ public class CrossServiceLogic {
|
|||
update(arenaOfUser);
|
||||
}
|
||||
}
|
||||
|
||||
public ArenaOfUser buildArenaOfUser(User user){
|
||||
ArenaOfUser arenaOfUser = new ArenaOfUser();
|
||||
arenaOfUser.setId(user.getId());
|
||||
|
|
|
|||
|
|
@ -581,7 +581,7 @@ public class ArenaLogic {
|
|||
for(ZSetOperations.TypedTuple<String> item : arenaRankInfo){
|
||||
String value = item.getValue();
|
||||
int uid = Integer.parseInt(value);
|
||||
User user = UserManager.getUser(uid, true);
|
||||
User user = UserManager.getUserNotCache(uid);
|
||||
if (null == user) {
|
||||
continue;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -203,6 +203,21 @@ public class UserManager {
|
|||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
public static User getUserNotCache(int uid) {
|
||||
// User user = userMap.get(uid);
|
||||
try {
|
||||
User user = userMap.get(uid);
|
||||
if (user != null) {
|
||||
return user;
|
||||
}
|
||||
return MongoUtil.getInstence().getMyMongoTemplate().findById(User.getCollectionName(), uid, User.class);
|
||||
}catch (Exception e){
|
||||
LOGGER.error("UserManager::getUser:{} null, exception:{}",uid,e.getMessage());
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
public static void removeUser(int uid) {
|
||||
userMap.remove(uid);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -124,7 +124,10 @@ public class CrossDeathPathLogic {
|
|||
// 结算标识设置
|
||||
redisUtil.hset(RedisKey.DEATH_PATH_EVERY_OVER_HASH,String.valueOf(GameApplication.serverId),1);
|
||||
|
||||
User user = UserManager.getUser(uid);
|
||||
User user = UserManager.getUserNotCache(uid);
|
||||
if (user == null){
|
||||
return;
|
||||
}
|
||||
CrossServiceLogic.getInstance().dispose(user);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -1193,11 +1193,6 @@ public class HeroLogic{
|
|||
RedisUtil.getInstence().zsetAddOne(key, String.valueOf(user.getId()), teamForce);
|
||||
|
||||
}
|
||||
if (teamId == GlobalsDef.FORMATION_NORMAL) {
|
||||
Poster.getPoster().dispatchEvent(new UserMainTeamForceEvent(iSession.getUid()));
|
||||
CrossServiceLogic.getInstance().dispose(user);
|
||||
}
|
||||
|
||||
// 跨服 更新编队信息
|
||||
if (teamId == GlobalsDef.WORLD_TEAM_ARENA_DEFENSE) {
|
||||
CrossServiceLogic.getInstance().dispose(user);
|
||||
|
|
|
|||
|
|
@ -1014,10 +1014,10 @@ public class ItemLogic {
|
|||
*/
|
||||
public void functionEndClearItem(int uid,int type,int reason){
|
||||
try {
|
||||
User user = UserManager.getUser(uid);
|
||||
User user = UserManager.getUserNotCache(uid);
|
||||
// 根据功能类型获取需要清理的道具列表
|
||||
List<SItem> itemList = SItem.getItemMapByRecycle().get(type);
|
||||
if (itemList == null || itemList.isEmpty()){
|
||||
if (user == null || itemList == null || itemList.isEmpty()){
|
||||
return;
|
||||
}
|
||||
for (SItem item:itemList){
|
||||
|
|
|
|||
|
|
@ -344,7 +344,7 @@ public class MailLogic {
|
|||
}
|
||||
//发送邮件
|
||||
public void sendMail(int uid, String title, String content, String reward, int sendTime, int mailEffectiveTime){
|
||||
User user = UserManager.getUserInMem(uid);
|
||||
User user = UserManager.getUserNotCache(uid);
|
||||
if (user != null){
|
||||
Mail mail = new Mail(uid,title,content,reward,sendTime, mailEffectiveTime,"system",Global.MAIL_TYPE_SYS);
|
||||
user.getMailManager().addMail(mail);
|
||||
|
|
|
|||
|
|
@ -95,7 +95,7 @@ public abstract class AbstractRank implements IRank {
|
|||
*/
|
||||
public void crossUserCache(int uid){
|
||||
try {
|
||||
User user = UserManager.getUser(uid);
|
||||
User user = UserManager.getUserNotCache(uid);
|
||||
if (user == null){
|
||||
return;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,6 +1,7 @@
|
|||
package com.ljsd.jieling.logic.rank.rankImpl;
|
||||
|
||||
import com.ljsd.jieling.db.redis.RedisUtil;
|
||||
import util.TimeUtils;
|
||||
|
||||
/**
|
||||
* @author hj
|
||||
|
|
@ -24,7 +25,7 @@ public class CrossRank extends AbstractRank {
|
|||
|
||||
@Override
|
||||
public double getScore(double... data) {
|
||||
return data[0];
|
||||
return data[0]+ TimeUtils.getDoubleTime();
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -11,6 +11,7 @@ import com.ljsd.jieling.exception.ErrorCodeException;
|
|||
import com.ljsd.jieling.globals.BIReason;
|
||||
import com.ljsd.jieling.globals.Global;
|
||||
import com.ljsd.jieling.logic.GlobleSystemLogic;
|
||||
import com.ljsd.jieling.logic.activity.crossService.CrossServiceLogic;
|
||||
import com.ljsd.jieling.logic.activity.event.Poster;
|
||||
import com.ljsd.jieling.logic.activity.event.SevenWorldIntegralEvent;
|
||||
import com.ljsd.jieling.logic.dao.Hero;
|
||||
|
|
@ -269,6 +270,8 @@ public class SevenWorldLogic {
|
|||
// 层数
|
||||
user.getPlayerInfoManager().putSevenWorldOpenTier(week,tierId);
|
||||
}
|
||||
// 跨服数据保存
|
||||
CrossServiceLogic.getInstance().dispose(user);
|
||||
}
|
||||
// 战斗数据
|
||||
builder.setResult(fightResult.getResult());
|
||||
|
|
@ -430,39 +433,38 @@ public class SevenWorldLogic {
|
|||
* 结束发送奖励
|
||||
*/
|
||||
public void sendRankReward(){
|
||||
if (!isTime()){
|
||||
return;
|
||||
}
|
||||
// 排行榜
|
||||
String crossRedisKey = RankContext.getRankEnum(RankEnum.CROSS_SEVEN_WORLD_RANK.getType()).getCrossRedisKey();
|
||||
Set<ZSetOperations.TypedTuple<String>> range = RedisUtil.getInstence().getZsetreverseRangeWithScores(crossRedisKey,"",0,-1,false);
|
||||
// 排名
|
||||
int rank = 1;
|
||||
for (ZSetOperations.TypedTuple<String> tuple : range) {
|
||||
User user = UserManager.getUserInMem(Integer.parseInt(tuple.getValue()));
|
||||
if (user == null){
|
||||
return;
|
||||
}
|
||||
String title = SErrorCodeEerverConfig.getI18NMessage("Qijie_mail_title");
|
||||
String content = SErrorCodeEerverConfig.getI18NMessageNeedConvert("Qijie_mail_txt", new Object[]{rank},new int[0],"#");
|
||||
// 排行奖励
|
||||
Map<Integer, SQijieRanking> config = STableManager.getConfig(SQijieRanking.class);
|
||||
for (SQijieRanking value : config.values()) {
|
||||
// 排名区间
|
||||
if (rank >= value.getMinRank() && rank <= value.getMaxRank()){
|
||||
// 发邮件奖励
|
||||
String reward = StringUtil.parseArrayToString(value.getRankingReward());
|
||||
MailLogic.getInstance().sendMail(user.getId(),title,content,reward,TimeUtils.nowInt(), Global.MAIL_EFFECTIVE_TIME);
|
||||
// 清除道具
|
||||
ItemLogic.getInstance().functionEndClearItem(user.getId(),FunctionIdEnum.CrossSevenWorld.getFunctionType(),BIReason.SEVEN_WORLD_FUNCTION_END);
|
||||
LOGGER.info("七界结束,发送邮件并删除道具,uid:{},奖励:{},",user.getId(),reward);
|
||||
break;
|
||||
if (isTime()){
|
||||
// 排行榜
|
||||
String crossRedisKey = RankContext.getRankEnum(RankEnum.CROSS_SEVEN_WORLD_RANK.getType()).getCrossRedisKey();
|
||||
Set<ZSetOperations.TypedTuple<String>> range = RedisUtil.getInstence().getZsetreverseRangeWithScores(crossRedisKey,"",0,-1,false);
|
||||
// 排名
|
||||
int rank = 1;
|
||||
for (ZSetOperations.TypedTuple<String> tuple : range) {
|
||||
User user = UserManager.getUserNotCache(Integer.parseInt(tuple.getValue()));
|
||||
if (user == null){
|
||||
return;
|
||||
}
|
||||
String title = SErrorCodeEerverConfig.getI18NMessage("Qijie_mail_title");
|
||||
String content = SErrorCodeEerverConfig.getI18NMessageNeedConvert("Qijie_mail_txt", new Object[]{rank},new int[0],"#");
|
||||
// 排行奖励
|
||||
Map<Integer, SQijieRanking> config = STableManager.getConfig(SQijieRanking.class);
|
||||
for (SQijieRanking value : config.values()) {
|
||||
// 排名区间
|
||||
if (rank >= value.getMinRank() && rank <= value.getMaxRank()){
|
||||
// 发邮件奖励
|
||||
String reward = StringUtil.parseArrayToString(value.getRankingReward());
|
||||
MailLogic.getInstance().sendMail(user.getId(),title,content,reward,TimeUtils.nowInt(), Global.MAIL_EFFECTIVE_TIME);
|
||||
// 清除道具
|
||||
ItemLogic.getInstance().functionEndClearItem(user.getId(),FunctionIdEnum.CrossSevenWorld.getFunctionType(),BIReason.SEVEN_WORLD_FUNCTION_END);
|
||||
LOGGER.info("七界结束,发送邮件并删除道具,uid:{},奖励:{},",user.getId(),reward);
|
||||
break;
|
||||
}
|
||||
}
|
||||
rank++;
|
||||
}
|
||||
rank++;
|
||||
SevenWorldLogic.setEnd(true);
|
||||
System.out.print("七界试炼活动结束,发奖完成...\n");
|
||||
}
|
||||
SevenWorldLogic.setEnd(true);
|
||||
System.out.print("七界试炼活动结束,发奖完成...\n");
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -473,7 +475,9 @@ public class SevenWorldLogic {
|
|||
int week = TimeUtils.getDayOfWeek();
|
||||
int hour = TimeUtils.getHourOfDay();
|
||||
int minute = TimeUtils.getMiunte();
|
||||
return week == 7 && hour == 23 && minute == 30;
|
||||
boolean b = week == 7 && hour == 23 && minute == 30;
|
||||
LOGGER.info("当前时间:week:{},hour:{},minute:{},result:{}",week,hour,minute,b);
|
||||
return b;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue