Merge branch 'master' of http://60.1.1.230/backend/jieling_server
commit
8ffaafc666
|
@ -703,6 +703,16 @@ public class RedisUtil {
|
|||
}
|
||||
}
|
||||
|
||||
public void zsetRemoveOne(String key, String value){
|
||||
for (int i = 0; i < MAX_TRY_TIMES; i++) {
|
||||
try {
|
||||
redisTemplate.opsForZSet().remove(key, value);
|
||||
return;
|
||||
} catch (Exception e) {
|
||||
TimeUtils.sleep(FAILED_SLEEP);
|
||||
}
|
||||
}
|
||||
}
|
||||
//操作sortset
|
||||
public Set<ZSetOperations.TypedTuple<String>> getZsetRangeWithScore(String key, double min, double max){
|
||||
for (int i = 0; i < MAX_TRY_TIMES; i++) {
|
||||
|
|
|
@ -10,6 +10,7 @@ import com.ljsd.jieling.logic.dao.ActivityMission;
|
|||
import com.ljsd.jieling.logic.dao.root.User;
|
||||
import com.ljsd.jieling.logic.mail.MailLogic;
|
||||
import com.ljsd.jieling.logic.mission.GameEvent;
|
||||
import com.ljsd.jieling.logic.mission.main.ServenMissionIdsType;
|
||||
import com.ljsd.jieling.logic.mission.main.TreasureMissionType;
|
||||
import com.ljsd.jieling.util.ItemUtil;
|
||||
import com.ljsd.jieling.util.MessageUtil;
|
||||
|
@ -40,8 +41,8 @@ public class DefaultEmptyActivity extends AbstractActivity{
|
|||
SGlobalActivity sGlobalActivity = SGlobalActivity.getsGlobalActivityMap().get(id);
|
||||
if(sGlobalActivity.getType() == ActivityType.SERVERHAPPY){
|
||||
STreasureTaskConfig sTreasureTaskConfig = STreasureTaskConfig.sTreasureSevenTaskConfigByActivityMap.get(id);
|
||||
TreasureMissionType sevenHappyMissionType = user.getUserMissionManager().getSevenHappyMissionType();
|
||||
if(!sevenHappyMissionType.getRewardedMissionIds().get(sTreasureTaskConfig.getId())){
|
||||
ServenMissionIdsType sevenHappyMissionType = user.getUserMissionManager().getSevenHappyMissionType();
|
||||
if(!sevenHappyMissionType.getRewardedMissionIds().get(sTreasureTaskConfig.getId())){
|
||||
int senvenScores = user.getUserMissionManager().getSevenHappyCumulationData().senvenScores;
|
||||
sevenHappyMissionType.getDoingMissionIds().remove(sTreasureTaskConfig.getId());
|
||||
sevenHappyMissionType.getFinishMissionIds().remove(sTreasureTaskConfig.getId());
|
||||
|
|
|
@ -1,13 +1,16 @@
|
|||
package com.ljsd.jieling.logic.dao;
|
||||
|
||||
import com.ljsd.jieling.config.SGuildSetting;
|
||||
import com.ljsd.jieling.db.mongo.MongoUtil;
|
||||
import com.ljsd.jieling.db.redis.RedisUtil;
|
||||
import com.ljsd.jieling.logic.dao.root.GuildApply;
|
||||
import com.ljsd.jieling.logic.dao.root.GuildInfo;
|
||||
import com.ljsd.jieling.logic.dao.root.GuildLog;
|
||||
import com.ljsd.jieling.logic.dao.root.User;
|
||||
import com.ljsd.jieling.logic.family.GuildLogic;
|
||||
import com.mongodb.BasicDBObject;
|
||||
import org.springframework.data.mongodb.core.query.BasicQuery;
|
||||
import org.springframework.data.redis.core.ZSetOperations;
|
||||
|
||||
import java.util.*;
|
||||
|
||||
|
@ -83,7 +86,51 @@ public class GuilidManager {
|
|||
}
|
||||
}
|
||||
|
||||
|
||||
public static void checkNeedReleaseGuild() throws Exception {
|
||||
int now = (int)(System.currentTimeMillis()/1000);
|
||||
int round=0;
|
||||
boolean needContinue = true;
|
||||
|
||||
String key = RedisUtil.getInstence().getKey("guild-release", "");
|
||||
while (needContinue){
|
||||
Set<ZSetOperations.TypedTuple<String>> zsetreverseRangeWithScores = RedisUtil.getInstence().getZsetreverseRangeWithScores("guild-release", "", round*5, (round+1)*5);
|
||||
if(zsetreverseRangeWithScores.isEmpty()){
|
||||
return;
|
||||
}
|
||||
for(ZSetOperations.TypedTuple<String> item : zsetreverseRangeWithScores){
|
||||
String value = item.getValue();
|
||||
Double score = item.getScore();
|
||||
if(score>now){
|
||||
needContinue=false;
|
||||
break;
|
||||
}
|
||||
GuildInfo guildInfo = guildInfoMap.get(Integer.parseInt(value));
|
||||
if(guildInfo == null){
|
||||
RedisUtil.getInstence().zsetRemoveOne(key,value);
|
||||
continue;
|
||||
}
|
||||
GuildLogic.releaseGuild(guildInfo);
|
||||
RedisUtil.getInstence().zsetRemoveOne(key,value);
|
||||
}
|
||||
round++;
|
||||
MongoUtil.getInstence().lastUpdate();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
public static Collection<GuildInfo> recommandGuild(User user) {
|
||||
return guildInfoMap.values();
|
||||
}
|
||||
|
||||
public static void addGuildToRelease(GuildInfo guildInfo) {
|
||||
String key = RedisUtil.getInstence().getKey("guild-release", "");
|
||||
int levelTime = guildInfo.getLevelTime();
|
||||
if(levelTime == 0){
|
||||
RedisUtil.getInstence().zsetRemoveOne(key,Integer.toString(guildInfo.getId()));
|
||||
return;
|
||||
}
|
||||
levelTime+= SGuildSetting.sGuildSetting.getDestroyTime();
|
||||
RedisUtil.getInstence().zsetAddOne(key,Integer.toString(guildInfo.getId()),levelTime);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -9,9 +9,6 @@ import com.ljsd.jieling.logic.dao.root.User;
|
|||
import com.ljsd.jieling.logic.mission.*;
|
||||
import com.ljsd.jieling.logic.mission.event.MissionEventDistributor;
|
||||
import com.ljsd.jieling.logic.mission.main.*;
|
||||
import com.ljsd.jieling.protocols.MessageTypeProto;
|
||||
import com.ljsd.jieling.protocols.PlayerInfoProto;
|
||||
import com.ljsd.jieling.util.MessageUtil;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
@ -24,11 +21,11 @@ public class UserMissionManager extends MongoBase {
|
|||
private BeginerTaskIdsType beginerTaskIdsType=new BeginerTaskIdsType();
|
||||
|
||||
private TreasureMissionType treasureMissionIdsType=new TreasureMissionType();
|
||||
private TreasureMissionType sevenHappyMissionType =new TreasureMissionType();
|
||||
private ServenMissionIdsType sevenHappyMissionType =new ServenMissionIdsType();
|
||||
//数据累加项
|
||||
private CumulationData cumulationData = new CumulationData();
|
||||
private CumulationData dailyCumulationData = new CumulationData();
|
||||
private CumulationData begiinCumulationData = new CumulationData();
|
||||
private CumulationData beginCumulationData = new CumulationData();
|
||||
|
||||
private CumulationData treasureCumulationData = new CumulationData();
|
||||
private CumulationData sevenHappyCumulationData = new CumulationData();
|
||||
|
@ -80,7 +77,6 @@ public class UserMissionManager extends MongoBase {
|
|||
sevenHappyMissionType.getDoingMissionIds().clear();
|
||||
sevenHappyMissionType.getFinishMissionIds().clear();
|
||||
sevenHappyMissionType.getRewardedMissionIds().clear();
|
||||
sevenHappyMissionType.getTakeTimes().clear();
|
||||
List<MissionStateChangeInfo> servenMissionmStateChangeInfos = missionTypeEnumListMap.get(GameMisionType.SEVENMISSION);
|
||||
for(STreasureTaskConfig sTreasureTaskConfig : sTreasureTaskConfigs){
|
||||
sevenHappyMissionType.getDoingMissionIds().add(sTreasureTaskConfig.getId());
|
||||
|
@ -94,9 +90,9 @@ public class UserMissionManager extends MongoBase {
|
|||
for(Integer id : SBeginnerTask.sBeginnerTaskCongigMap.keySet()){
|
||||
beginerTaskIdsType.addDoingMission(id);
|
||||
}
|
||||
begiinCumulationData.reset();
|
||||
beginCumulationData.reset();
|
||||
updateString("beginerTaskIdsType", beginerTaskIdsType);
|
||||
updateString("begiinCumulationData", begiinCumulationData);
|
||||
updateString("beginCumulationData", beginCumulationData);
|
||||
break;
|
||||
}
|
||||
|
||||
|
@ -122,11 +118,9 @@ public class UserMissionManager extends MongoBase {
|
|||
case SEVENHAPPY_MISSION_REWARD:{
|
||||
int missionId = (int) parm[0];
|
||||
List<MissionStateChangeInfo> missionStateChangeInfos = missionTypeEnumListMap.get(GameMisionType.SEVENMISSION);
|
||||
sevenHappyMissionType.rewardMission(user,missionId, missionStateChangeInfos,sevenHappyCumulationData);
|
||||
sevenHappyMissionType.rewardMission((int)parm[0], missionStateChangeInfos);
|
||||
if(missionStateChangeInfos!=null && !missionStateChangeInfos.isEmpty()){
|
||||
int takeTimes = missionStateChangeInfos.get(0).getProgress();
|
||||
missionStateChangeInfos.get(0).setProgress(0);
|
||||
int score = STreasureTaskConfig.sTreasureTaskConfigMap.get(missionId).getPoints() * takeTimes;
|
||||
int score = STreasureTaskConfig.sTreasureTaskConfigMap.get(missionId).getPoints();
|
||||
calCumulationDataResult(user,MissionType.SENVER_HAPPY,missionTypeEnumListMap,score);
|
||||
}
|
||||
}
|
||||
|
@ -161,11 +155,11 @@ public class UserMissionManager extends MongoBase {
|
|||
if(!beginerTaskIdsType.getDoingMissionIds().isEmpty()){
|
||||
List<SBeginnerTask> sBeginnerTasks = SBeginnerTask.sBeginnerByTypeMap.get(missionType.getMissionTypeValue());
|
||||
if (sBeginnerTasks != null) {
|
||||
CumulationData.Result result = begiinCumulationData.updateData(missionType, parm);
|
||||
CumulationData.Result result = beginCumulationData.updateData(missionType, parm);
|
||||
if(result!=null){
|
||||
beginerTaskIdsType.calCumulationDataResult(user,result,missionTypeEnumListMap.get(GameMisionType.BEGINNERMISSION),begiinCumulationData);
|
||||
beginerTaskIdsType.calCumulationDataResult(user,result,missionTypeEnumListMap.get(GameMisionType.BEGINNERMISSION), beginCumulationData);
|
||||
updateString("beginerTaskIdsType",beginerTaskIdsType);
|
||||
updateString("begiinCumulationData",begiinCumulationData);
|
||||
updateString("beginCumulationData", beginCumulationData);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -206,7 +200,7 @@ public class UserMissionManager extends MongoBase {
|
|||
this.vipMissionIdsType = vipMissionIdsType;
|
||||
}
|
||||
|
||||
public void setSevenHappyMissionType(TreasureMissionType sevenHappyMissionType) {
|
||||
public void setSevenHappyMissionType(ServenMissionIdsType sevenHappyMissionType) {
|
||||
updateString("sevenHappyMissionType",sevenHappyMissionType);
|
||||
this.sevenHappyMissionType = sevenHappyMissionType;
|
||||
}
|
||||
|
@ -236,7 +230,7 @@ public class UserMissionManager extends MongoBase {
|
|||
return treasureCumulationData;
|
||||
}
|
||||
|
||||
public TreasureMissionType getSevenHappyMissionType() {
|
||||
public ServenMissionIdsType getSevenHappyMissionType() {
|
||||
return sevenHappyMissionType;
|
||||
}
|
||||
|
||||
|
@ -249,7 +243,7 @@ public class UserMissionManager extends MongoBase {
|
|||
return beginerTaskIdsType;
|
||||
}
|
||||
|
||||
public CumulationData getBegiinCumulationData() {
|
||||
return begiinCumulationData;
|
||||
public CumulationData getBeginCumulationData() {
|
||||
return beginCumulationData;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -494,6 +494,10 @@ public class GuildLogic {
|
|||
MessageUtil.sendErrorResponse(session,0,msgId,"无权操作");
|
||||
return;
|
||||
}
|
||||
if(type == 1 && guildInfo.getLevelTime()>0){
|
||||
MessageUtil.sendErrorResponse(session,0,msgId,"已操作过了");
|
||||
return;
|
||||
}
|
||||
//解散公会
|
||||
if(type == 1){
|
||||
guildInfo.setLevelTime((int)(System.currentTimeMillis()/1000));
|
||||
|
@ -501,7 +505,7 @@ public class GuildLogic {
|
|||
guildInfo.setLevelTime(0);
|
||||
}
|
||||
sendFamilyBaseUpdateIndication(guildInfo);
|
||||
releaseGuild(guildInfo);
|
||||
GuilidManager.addGuildToRelease(guildInfo);
|
||||
MessageUtil.sendMessage(session,1,msgId,null,true);
|
||||
}
|
||||
|
||||
|
|
|
@ -1114,7 +1114,7 @@ public class HeroLogic {
|
|||
float score = sPropertyConfig.getScore();
|
||||
|
||||
result += propertyValue*score;
|
||||
// LOGGER.info("the value is ={},propertyValue={},score={},result ={},the value={}",propertyValue*score,propertyValue,score,result,propertyValue*score);
|
||||
LOGGER.info("the value is ={},propertyValue={},score={},result ={},the value={}",propertyValue*score,propertyValue,score,result,propertyValue*score);
|
||||
}
|
||||
return (int)result;
|
||||
}
|
||||
|
@ -1532,6 +1532,8 @@ public class HeroLogic {
|
|||
for(Pokemon pokemon : pokemonMap.values()){
|
||||
combinePokemonAttribute(pokemonAttributeMap, pokemon,false);
|
||||
}
|
||||
int i = calForce(pokemonAttributeMap) * 5;
|
||||
|
||||
return calForce(pokemonAttributeMap)*5;
|
||||
}
|
||||
|
||||
|
|
|
@ -44,7 +44,7 @@ public class MissionLoigc {
|
|||
private static void getBeginnerMisssion(User user, List<CommonProto.UserMissionInfo> missionList) {
|
||||
UserMissionManager userMissionManager = user.getUserMissionManager();
|
||||
BeginerTaskIdsType beginerTaskIdsType = userMissionManager.getBeginerTaskIdsType();
|
||||
CumulationData begiinCumulationData = userMissionManager.getBegiinCumulationData();
|
||||
CumulationData begiinCumulationData = userMissionManager.getBeginCumulationData();
|
||||
Set<Integer> doingMissionIds = beginerTaskIdsType.getDoingMissionIds();
|
||||
Set<Integer> finishMissionIds = beginerTaskIdsType.getFinishMissionIds();
|
||||
Map<Integer, SBeginnerTask> sBeginnerTaskCongigMap = SBeginnerTask.sBeginnerTaskCongigMap;
|
||||
|
@ -63,6 +63,41 @@ public class MissionLoigc {
|
|||
}
|
||||
}
|
||||
|
||||
private static void getServenMision(User user,int treasureActivityId,List<CommonProto.UserMissionInfo> missionList){
|
||||
List<STreasureTaskConfig> sTreasureTaskConfigs = STreasureTaskConfig.sTreasureTaskConfigListByActivityMap.get(treasureActivityId);
|
||||
UserMissionManager userMissionManager = user.getUserMissionManager();
|
||||
ServenMissionIdsType sevenHappyMissionType = userMissionManager.getSevenHappyMissionType();
|
||||
CumulationData dailyCumulationData = userMissionManager.getSevenHappyCumulationData();
|
||||
Set<Integer> doingMissionIds = sevenHappyMissionType.getDoingMissionIds();
|
||||
Set<Integer> finishMissionIds = sevenHappyMissionType.getFinishMissionIds();
|
||||
int missionType = GameMisionType.SEVENMISSION.getType();
|
||||
for(STreasureTaskConfig sTreasureTaskConfig:sTreasureTaskConfigs){
|
||||
int state = 2;
|
||||
int missionId = sTreasureTaskConfig.getId();
|
||||
int progrss = sTreasureTaskConfig.getTaskValue()[1][0];
|
||||
if(doingMissionIds.contains(missionId)){
|
||||
state = 0;
|
||||
if(progrss<0){
|
||||
progrss=0;
|
||||
}
|
||||
progrss = getDoingProgress(user,dailyCumulationData,sTreasureTaskConfig.getTaskType(),sTreasureTaskConfig.getTaskValue()[0]);
|
||||
}else if(finishMissionIds.contains(missionId)){
|
||||
state = 1;
|
||||
if(progrss<0){
|
||||
progrss=1;
|
||||
}
|
||||
}
|
||||
if(state!=2 && sTreasureTaskConfig.getTaskType() == MissionType.SENVER_HAPPY.getMissionTypeValue()){
|
||||
if(System.currentTimeMillis()>user.getActivityManager().getSenvenTime()){
|
||||
state=1;
|
||||
}else {
|
||||
state =0;
|
||||
}
|
||||
}
|
||||
missionList.add(CommonProto.UserMissionInfo.newBuilder().setMissionId(missionId).setState(state).setType(missionType).setProgress(progrss).build());
|
||||
}
|
||||
}
|
||||
|
||||
private static void getTreasureMission(User user, List<CommonProto.UserMissionInfo> missionList,int activityType) {
|
||||
Map<Integer, ActivityMission> activityMissionMap = user.getActivityManager().getActivityMissionMap();
|
||||
int treasureActivityId = 0;
|
||||
|
@ -78,9 +113,8 @@ public class MissionLoigc {
|
|||
CumulationData treasureCumulationData = user.getUserMissionManager().getTreasureCumulationData();
|
||||
int treasuremissionType = GameMisionType.TREASUREMISSION.getType();
|
||||
if(activityType == ActivityType.SERVERHAPPY){
|
||||
treasureMissionIdsType = user.getUserMissionManager().getSevenHappyMissionType();
|
||||
treasureCumulationData = user.getUserMissionManager().getSevenHappyCumulationData();
|
||||
treasuremissionType = GameMisionType.SEVENMISSION.getType();
|
||||
getServenMision(user,treasureActivityId,missionList);
|
||||
return;
|
||||
}
|
||||
BitSet rewardedMissionIds = treasureMissionIdsType.getRewardedMissionIds();
|
||||
Map<Integer, Integer> takeTimesMap = treasureMissionIdsType.getTakeTimes();
|
||||
|
@ -118,13 +152,6 @@ public class MissionLoigc {
|
|||
}else{
|
||||
takeTimes = takeTimesMap.get(missionId);
|
||||
}
|
||||
if(state!=2 && sTreasureTaskConfig.getTaskType() == MissionType.SENVER_HAPPY.getMissionTypeValue()){
|
||||
if(System.currentTimeMillis()>user.getActivityManager().getSenvenTime()){
|
||||
state=1;
|
||||
}else {
|
||||
state =0;
|
||||
}
|
||||
}
|
||||
|
||||
if(takeTimes == null){
|
||||
takeTimes=0;
|
||||
|
|
|
@ -3,6 +3,7 @@ package com.ljsd.jieling.logic.mission.event;
|
|||
import com.ljsd.jieling.config.SBeginnerTask;
|
||||
import com.ljsd.jieling.config.SDailyTasksConfig;
|
||||
import com.ljsd.jieling.config.STaskConfig;
|
||||
import com.ljsd.jieling.config.STreasureTaskConfig;
|
||||
import com.ljsd.jieling.logic.dao.UserManager;
|
||||
import com.ljsd.jieling.logic.dao.root.User;
|
||||
import com.ljsd.jieling.logic.mission.*;
|
||||
|
@ -284,7 +285,7 @@ public class MissionEventDistributor {
|
|||
progress= MissionLoigc.getDoingProgress(user,user.getUserMissionManager().getDailyCumulationData(),sDailyTasksConfig.getType(),sDailyTasksConfig.getValues()[0]);
|
||||
}else if(gameMisionType == GameMisionType.BEGINNERMISSION){
|
||||
SBeginnerTask sBeginnerTask = SBeginnerTask.sBeginnerTaskCongigMap.get(missionStateChangeInfo.getMissionId());
|
||||
progress= MissionLoigc.getDoingProgress(user,user.getUserMissionManager().getBegiinCumulationData(),sBeginnerTask.getTaskType(),sBeginnerTask.getTaskValue()[0]);
|
||||
progress= MissionLoigc.getDoingProgress(user,user.getUserMissionManager().getBeginCumulationData(),sBeginnerTask.getTaskType(),sBeginnerTask.getTaskValue()[0]);
|
||||
}
|
||||
}else if(missionState == MissionState.FINISH || missionState == MissionState.REWARD){
|
||||
if(gameMisionType == GameMisionType.VIPMISSION){
|
||||
|
@ -299,6 +300,10 @@ public class MissionEventDistributor {
|
|||
SBeginnerTask sBeginnerTask = SBeginnerTask.sBeginnerTaskCongigMap.get(missionStateChangeInfo.getMissionId());
|
||||
progress= sBeginnerTask.getTaskValue()[1][0];
|
||||
}
|
||||
if(gameMisionType == GameMisionType.SEVENMISSION){
|
||||
STreasureTaskConfig sTreasureTaskConfig = STreasureTaskConfig.sTreasureTaskConfigMap.get(missionStateChangeInfo.getMissionId());
|
||||
progress= sTreasureTaskConfig.getTaskValue()[1][0];
|
||||
}
|
||||
}
|
||||
builder.addUserMissionInfo(CommonProto.UserMissionInfo.newBuilder().setMissionId(missionStateChangeInfo.getMissionId()).setType(gameMisionType.getType()).setState(state).setProgress(progress).setTakeTimes(missionStateChangeInfo.getHadTakes()));
|
||||
}
|
||||
|
|
|
@ -0,0 +1,86 @@
|
|||
package com.ljsd.jieling.logic.mission.main;
|
||||
|
||||
import com.ljsd.jieling.config.SDailyTasksConfig;
|
||||
import com.ljsd.jieling.config.STreasureTaskConfig;
|
||||
import com.ljsd.jieling.logic.dao.CumulationData;
|
||||
import com.ljsd.jieling.logic.dao.root.User;
|
||||
import com.ljsd.jieling.logic.mission.MissionLoigc;
|
||||
import com.ljsd.jieling.logic.mission.MissionState;
|
||||
|
||||
import java.util.Iterator;
|
||||
import java.util.List;
|
||||
import java.util.Set;
|
||||
|
||||
public class ServenMissionIdsType extends AbstractMissionType{
|
||||
@Override
|
||||
public void openMission(User user, int missionId,List<MissionStateChangeInfo> missionTypeEnumList) {
|
||||
getDoingMissionIds().clear();
|
||||
getFinishMissionIds().clear();
|
||||
getDoingMissionIds().add(missionId);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int[][] reward(int missionId) {
|
||||
STreasureTaskConfig sTreasureTaskConfig = STreasureTaskConfig.sTreasureTaskConfigMap.get(missionId);
|
||||
return sTreasureTaskConfig.getRewward();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void calCumulationDataResult(User user, CumulationData.Result result, List<MissionStateChangeInfo> missionStateChangeInfos, CumulationData cumulationData) {
|
||||
|
||||
List<STreasureTaskConfig> sTaskConfigs = STreasureTaskConfig.sTreasureTaskConfigListByTypeMap.get(result.subType.getMissionTypeValue());
|
||||
if (sTaskConfigs == null) {
|
||||
return;
|
||||
}
|
||||
checkAndUpdateMision(user,sTaskConfigs,missionStateChangeInfos,cumulationData);
|
||||
}
|
||||
|
||||
public void checkAndUpdateMision(User user,List<STreasureTaskConfig> sTaskConfigs, List<MissionStateChangeInfo> missionStateChangeInfos, CumulationData cumulationData){
|
||||
Set<Integer> doingMissionIds = getDoingMissionIds();
|
||||
for (STreasureTaskConfig sTaskConfig : sTaskConfigs) {
|
||||
int missionId = sTaskConfig.getId();
|
||||
if (!doingMissionIds.contains(missionId)) {
|
||||
continue;
|
||||
}
|
||||
int finishParm = sTaskConfig.getTaskValue()[1][0];
|
||||
int doingProgress = MissionLoigc.getDoingProgress(user, cumulationData, sTaskConfig.getTaskType(), sTaskConfig.getTaskValue()[0]);
|
||||
if((doingProgress!=0 && finishParm<0 && ( doingProgress)>=finishParm)){
|
||||
doingMissionIds.remove(sTaskConfig.getId());
|
||||
getFinishMissionIds().add(sTaskConfig.getId());
|
||||
MissionStateChangeInfo missionStateChangeInfo = new MissionStateChangeInfo(sTaskConfig.getId(), MissionState.FINISH,1);
|
||||
missionStateChangeInfos.add(missionStateChangeInfo);
|
||||
continue;
|
||||
}
|
||||
if(finishParm<0){
|
||||
continue;
|
||||
}
|
||||
boolean isFinish = doingProgress >= sTaskConfig.getTaskValue()[1][0];
|
||||
if (!isFinish) {
|
||||
MissionStateChangeInfo doingInfo = new MissionStateChangeInfo(missionId,
|
||||
MissionState.DOING, doingProgress);
|
||||
boolean flag = false;
|
||||
for (MissionStateChangeInfo missionStateChangeInfo : missionStateChangeInfos) {
|
||||
if (missionStateChangeInfo.getMissionId() == missionId) {
|
||||
flag = true;
|
||||
}
|
||||
}
|
||||
if (!flag) {
|
||||
missionStateChangeInfos.add(doingInfo);
|
||||
}
|
||||
continue;
|
||||
}
|
||||
MissionStateChangeInfo finishInfo = new MissionStateChangeInfo(missionId,
|
||||
MissionState.FINISH, finishParm);
|
||||
Iterator<MissionStateChangeInfo> iterator = missionStateChangeInfos.iterator();
|
||||
while (iterator.hasNext()) {
|
||||
MissionStateChangeInfo next = iterator.next();
|
||||
if (next.getMissionId() == missionId) {
|
||||
iterator.remove();
|
||||
}
|
||||
}
|
||||
missionStateChangeInfos.add(finishInfo);
|
||||
doingMissionIds.remove(missionId);
|
||||
getFinishMissionIds().add(missionId);
|
||||
}
|
||||
}
|
||||
}
|
|
@ -15,6 +15,7 @@ import com.ljsd.jieling.logic.hero.HeroLogic;
|
|||
import com.ljsd.jieling.logic.mail.MailLogic;
|
||||
import com.ljsd.jieling.logic.mission.GameEvent;
|
||||
import com.ljsd.jieling.logic.mission.MissionLoigc;
|
||||
import com.ljsd.jieling.logic.mission.main.ServenMissionIdsType;
|
||||
import com.ljsd.jieling.logic.mission.main.TreasureMissionType;
|
||||
import com.ljsd.jieling.logic.store.GiftGoodsType;
|
||||
import com.ljsd.jieling.network.session.ISession;
|
||||
|
@ -405,7 +406,7 @@ public class PlayerLogic {
|
|||
return;
|
||||
}
|
||||
STreasureTaskConfig sTreasureTaskConfig = STreasureTaskConfig.sTreasureSevenTaskConfigByActivityMap.get(treasureActivityId);
|
||||
TreasureMissionType sevenHappyMissionType = user.getUserMissionManager().getSevenHappyMissionType();
|
||||
ServenMissionIdsType sevenHappyMissionType = user.getUserMissionManager().getSevenHappyMissionType();
|
||||
if(sevenHappyMissionType.getRewardedMissionIds().get(sTreasureTaskConfig.getId())){
|
||||
MessageUtil.sendErrorResponse(iSession,0,msgId,"奖励已领取");
|
||||
return;
|
||||
|
|
|
@ -172,9 +172,7 @@ public class ProtocolsManager implements ProtocolsAbstract {
|
|||
return;
|
||||
}
|
||||
//处理多设备重登
|
||||
if (dealRepeatLogin(session.getUid())==1){
|
||||
return;
|
||||
}
|
||||
dealRepeatLogin(session.getUid());
|
||||
//刷新token
|
||||
refreshToken(session);
|
||||
//在线列表加入session
|
||||
|
|
|
@ -85,6 +85,7 @@ public class ThreadManager {
|
|||
LOGGER.info("delayForMinute---->>>>{}" ,delayForMinute);
|
||||
scheduledExecutor.scheduleAtFixedRate(platConfigureTask, 10, SLEEP_INTEVAL_TIME, TimeUnit.SECONDS);
|
||||
scheduledExecutor.scheduleAtFixedRate(new MinuteTask(), delayForMinute, 60, TimeUnit.SECONDS);
|
||||
scheduledExecutor.scheduleAtFixedRate(new SecondsTask(), 0, 1, TimeUnit.SECONDS);
|
||||
scheduledExecutor.scheduleAtFixedRate(new Thread(){
|
||||
public void run () {
|
||||
long lastMilis = System.currentTimeMillis();
|
||||
|
|
|
@ -0,0 +1,24 @@
|
|||
package com.ljsd.jieling.thread.task;
|
||||
|
||||
import com.ljsd.jieling.logic.dao.GuilidManager;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
public class SecondsTask extends Thread {
|
||||
private static final Logger LOGGER = LoggerFactory.getLogger(SecondsTask.class);
|
||||
|
||||
public SecondsTask(){
|
||||
this.setName("SecondsTask");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void run() {
|
||||
try {
|
||||
|
||||
GuilidManager.checkNeedReleaseGuild();
|
||||
|
||||
} catch (Exception e) {
|
||||
LOGGER.error("e",e);
|
||||
}
|
||||
}
|
||||
}
|
|
@ -350,7 +350,7 @@ public class CBean2Proto {
|
|||
.setName(guildInfo.getName())
|
||||
.setJoinType(guildInfo.getJoinType())
|
||||
.setMaxNum(30)
|
||||
.setLevle(guildInfo.getLevelTime())
|
||||
.setLevelTime(guildInfo.getLevelTime())
|
||||
.setLevle(guildInfo.getLevel())
|
||||
.setExp(guildInfo.getExp())
|
||||
.setTotalNum(guildInfo.getTotalMembers())
|
||||
|
|
Loading…
Reference in New Issue