back_recharge
zhangshanxue 2019-08-07 17:54:24 +08:00
commit d3636636ca
14 changed files with 118 additions and 49 deletions

View File

@ -51,7 +51,7 @@ public class STreasureTaskConfig implements BaseConfig {
treasureTaskConfigByActivityMap.get(activityId).add(sTreasureTaskConfig);
sTreasureTaskConfigListByTypeMapTmp.get(sTreasureTaskConfig.getTaskType()).add(sTreasureTaskConfig);
if(sTreasureTaskConfig.getTaskType() == MissionType.SENVER_HAPPY.getMissionTypeValue()){
sTreasureSevenTaskConfigByActivityMapTmp.put(sTreasureTaskConfig.getActivityId(),sTreasureTaskConfig);
}
}
sTreasureTaskConfigListByActivityMap = treasureTaskConfigByActivityMap;

View File

@ -2,6 +2,7 @@ package com.ljsd.jieling.handler.map;
import java.util.HashMap;
import java.util.Map;
import java.util.Set;
public class EndlessMapInfo {
private int curMapId;
@ -16,6 +17,8 @@ public class EndlessMapInfo {
private int consumeExecution;
private Set<Integer> openMap;
public int getCurMapId() {
return curMapId;
}
@ -68,4 +71,12 @@ public class EndlessMapInfo {
public void setConsumeExecution(int consumeExecution) {
this.consumeExecution = consumeExecution;
}
public Set<Integer> getOpenMap() {
return openMap;
}
public void setOpenMap(Set<Integer> openMap) {
this.openMap = openMap;
}
}

View File

@ -108,6 +108,7 @@ public class EventType {
public static final int fourtyFour = 44;
public static final int fourtyfive = 45;
public static final int fourtySix = 46;
public static final int fourtySeven = 47;
public static final int updatePonintEvent = 1;

View File

@ -465,7 +465,7 @@ public class MapLogic {
public void updateMap(ISession session, int curXY, int triggerXY, List<Integer> cells, MessageTypeProto.MessageType messageType) throws Exception {
LOGGER.info("updateMap() curXY=>{},triggerXY=>{}", curXY, triggerXY);
LOGGER.info("updateMap() curXY=>{},triggerXY=>{},cells={}", curXY, triggerXY,cells);
if (updateMapByOnlyConsumeActionPower(session, curXY, triggerXY, cells, messageType)) {
return;
}
@ -480,6 +480,7 @@ public class MapLogic {
int uid = session.getUid();
User user = UserManager.getUser(uid);
MapManager mapManager = user.getMapManager();
int lastXY = mapManager.getCurXY();
if (mapManager.getMapInfo() == null) {
LOGGER.info("mapManager.getMapInfo() == null");
MessageUtil.sendErrorResponse(session, 0, messageType.getNumber(), "");
@ -562,12 +563,12 @@ public class MapLogic {
// LOGGER.info("updateMap() uid=>{} mapId =>{} eventId=>{}", uid, mapManager.getCurMapId(), cell.getEventId());
mapManager.updateFoodBufferByStep(cells.size());
if(!cells.isEmpty()){
int lastXY = cells.get(0);
if(cells.size() >2){
lastXY = cells.get(cells.size()-2);
}
mapManager.setLastXY(lastXY);
}
mapManager.setLastXY(lastXY);
LOGGER.info("the uid+{},the lastXy={}",uid,lastXY);
MessageUtil.sendMessage(session, 1, messageType.getNumber(), mapUpdateResponse.build(), true);
}
@ -1176,7 +1177,7 @@ public class MapLogic {
}
}
CommonProto.Drop.Builder dropBuilder = CommonProto.Drop.newBuilder();
FightInfoProto.FightEndResponse fightEndResponse = FightInfoProto.FightEndResponse
FightInfoProto.FastFightResponse build = FightInfoProto.FastFightResponse
.newBuilder()
.setResult(resultCode)
.setEnventDrop(dropBuilder)
@ -1185,7 +1186,7 @@ public class MapLogic {
.setLastXY(mapManager.getLastXY())
.build();
mapManager.setCurXY(mapManager.getLastXY());
MessageUtil.sendMessage(session, 1, messageType.getNumber(), fightEndResponse, true);
MessageUtil.sendMessage(session, 1, messageType.getNumber(), build, true);
return;
}
List<TeamPosHeroInfo> team = user.getTeamPosManager().getTeamPosForHero().get(teamId);
@ -2832,6 +2833,19 @@ public class MapLogic {
}
Map<String, EndlessHero> endlessHeroInfo = endlessMapInfo.getEndlessHeroInfo();
MapInfoProto.GetEndlessHeroResponse.Builder response = MapInfoProto.GetEndlessHeroResponse.newBuilder();
//已开启地图处理
Map<Integer, SEndlessMapConfig> sEndlessMapConfigMap = SEndlessMapConfig.sEndlessMapConfigMap;
if(endlessMapInfo.getOpenMap()==null||endlessMapInfo.getOpenMap().size()<1){
Set<Integer> openMap = new HashSet<>();
for(Map.Entry<Integer, SEndlessMapConfig> entry :sEndlessMapConfigMap.entrySet()){
openMap.add(entry.getKey());
break;
}
mapManager.updateEndlessOpenedMap(openMap);
}
for(Integer map:mapManager.getEndlessMapInfo().getOpenMap()){
response.addOpenMapId(map);
}
for(Map.Entry<String,Hero> heroEntry : heroManager.getHeroMap().entrySet()) {
if(heroEntry.getValue().getLevel()<20){
continue;
@ -2880,6 +2894,7 @@ public class MapLogic {
user.getTeamPosManager().updateTeamPosByTeamId(401,team);
}
MessageUtil.sendMessage(session,1,messageType.getNumber(),response.build(),true);
}

View File

@ -2,11 +2,9 @@ package com.ljsd.jieling.handler.map;
import com.ljsd.common.mogodb.MongoBase;
import com.ljsd.jieling.config.SChallengeSetting;
import com.ljsd.jieling.config.SGameSetting;
import com.ljsd.jieling.config.SVipLevelConfig;
import com.ljsd.jieling.core.GlobalsDef;
import com.ljsd.jieling.core.VipPrivilegeType;
import com.ljsd.jieling.globals.BIReason;
import com.ljsd.jieling.globals.Global;
import com.ljsd.jieling.handler.mission.Mission;
@ -15,10 +13,13 @@ import com.ljsd.jieling.ktbeans.parmsBean.ParamEventBean;
import com.ljsd.jieling.logic.dao.Item;
import com.ljsd.jieling.logic.dao.PlayerManager;
import com.ljsd.jieling.logic.dao.root.User;
import com.ljsd.jieling.util.*;
import com.ljsd.jieling.util.MathUtils;
import com.ljsd.jieling.util.TimeUtils;
import java.util.*;
import java.util.concurrent.ConcurrentHashMap;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Map;
import java.util.Set;
public class MapManager extends MongoBase {
@ -738,6 +739,10 @@ public class MapManager extends MongoBase {
updateString("endlessMapInfo.consumeExecution",endlessMapInfo.getConsumeExecution());
}
public void updateEndlessOpenedMap(Set<Integer> mapIds){
endlessMapInfo.setOpenMap(mapIds);
updateString("endlessMapInfo.openMap",mapIds);
}
public int getLastXY() {
return lastXY;
}

View File

@ -0,0 +1,29 @@
package com.ljsd.jieling.handler.map.behavior;
import com.ljsd.jieling.handler.map.EventType;
import com.ljsd.jieling.logic.dao.root.User;
import com.ljsd.jieling.protocols.MapInfoProto;
import org.springframework.stereotype.Component;
import java.util.Set;
@Component
public class FourtySevenBehavior extends BaseBehavior {
@Override
public int getBehaviorType() {
return EventType.fourtySeven;
}
@Override
public boolean process(int optionId, User user, int[][] behaviorTypeValues, MapInfoProto.EventUpdateResponse.Builder eventUpdateResponse) throws Exception {
int targetMapId = behaviorTypeValues[0][0];
Set<Integer> openMap = user.getMapManager().getEndlessMapInfo().getOpenMap();
if(openMap.contains(targetMapId)){
return true;
}else{
openMap.add(targetMapId);
user.getMapManager().updateEndlessOpenedMap(openMap);
}
return true;
}
}

View File

@ -158,6 +158,12 @@ public abstract class AbstractActivity implements IActivity, IEventHandler {
}
@Override
public void onActivityEndOnMySelf(User user) throws Exception {
}
public List<CommonProto.ActivityInfo.MissionInfo> getAllMissInfo(ActivityMission activityMission) {
return getAllMissInfo(activityMission, null);
}

View File

@ -147,6 +147,7 @@ public class ActivityLogic {
ActivityMission activityMission = activityMissionMap.get(activityId);
if (activityMission != null) {
activityManager.removeActivity(activityId);
ActivityTypeEnum.getActicityType(sGlobalActivity.getId()).onActivityEndOnMySelf(user);
LOGGER.info("the uid={},remove the activity id ={}", user.getId(), activityId);
if (builder != null) {
builder.addCloseActivityId(activityId);
@ -165,6 +166,7 @@ public class ActivityLogic {
ActivityMission activityMission = activityMissionMap.get(activityId);
if (activityMission != null) {
activityManager.removeActivity(activityId);
ActivityTypeEnum.getActicityType(sGlobalActivity.getId()).onActivityEndOnMySelf(user);
LOGGER.info("the uid={},remove the activity id ={}", user.getId(), activityId);
if (builder != null) {
builder.addCloseActivityId(activityId);

View File

@ -1,9 +1,18 @@
package com.ljsd.jieling.logic.activity;
import com.ljsd.jieling.config.SErrorCodeEerverConfig;
import com.ljsd.jieling.config.SGlobalActivity;
import com.ljsd.jieling.config.SSevenDaysScore;
import com.ljsd.jieling.config.STreasureTaskConfig;
import com.ljsd.jieling.core.GlobalsDef;
import com.ljsd.jieling.globals.Global;
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.TreasureMissionType;
import com.ljsd.jieling.util.ItemUtil;
import com.ljsd.jieling.util.MessageUtil;
import java.util.ArrayList;
@ -25,4 +34,25 @@ public class DefaultEmptyActivity extends AbstractActivity{
user.getActivityManager().setSenvenTime(endTime);
}
}
@Override
public void onActivityEndOnMySelf(User user) throws Exception {
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())){
int senvenScores = user.getUserMissionManager().getSevenHappyCumulationData().senvenScores;
sevenHappyMissionType.getDoingMissionIds().remove(sTreasureTaskConfig.getId());
sevenHappyMissionType.getFinishMissionIds().remove(sTreasureTaskConfig.getId());
sevenHappyMissionType.getRewardedMissionIds().set(sTreasureTaskConfig.getId());
user.getUserMissionManager().setSevenHappyMissionType(sevenHappyMissionType);
SSevenDaysScore sSevenDaysScore = SSevenDaysScore.SSevenDaysScoreByActivityIdAndScoreMap.get(id).get(senvenScores);
String mailReward = ItemUtil.getMailReward(sSevenDaysScore.getReward());
String title=SErrorCodeEerverConfig.getI18NMessage("opencarnival_activity_"+id+"_title");
String content = SErrorCodeEerverConfig.getI18NMessage("opencarnival_activity_"+id+"_txt");
MailLogic.getInstance().sendMail(user.getId(),title,content,mailReward,(int)(System.currentTimeMillis()/1000), Global.MAIL_EFFECTIVE_TIME);
}
}
}
}

View File

@ -42,6 +42,8 @@ public interface IActivity {
*/
void onActivityEnd() throws Exception;
public void onActivityEndOnMySelf(User user) throws Exception;
List<CommonProto.ActivityInfo.MissionInfo> getAllMissInfo(ActivityMission activityMission, Set<Integer> filter);
}

View File

@ -34,12 +34,6 @@ public class PlayerManager extends MongoBase {
private String head;
private long gold;
private int gem;
private int chargeGem;
private int mapId;
private long createTime; //创建时间
@ -157,33 +151,6 @@ public class PlayerManager extends MongoBase {
this.head = head;
}
public long getGold() {
return gold;
}
public void setGold(long gold) throws Exception {
updateString("gold", gold);
this.gold = gold;
}
public int getGem() {
return gem;
}
public void setGem(int gem) throws Exception {
updateString("gem", gem);
this.gem = gem;
}
public int getChargeGem() {
return chargeGem;
}
public void setChargeGem(int chargeGem) throws Exception {
updateString("chargeGem", chargeGem);
this.chargeGem = chargeGem;
}
public int getMapId() {
return mapId;
}

View File

@ -63,9 +63,6 @@ public class UserManager {
playerManager.setLevel(1);
playerManager.setExp(0);
playerManager.setHead("image_head_1");
playerManager.setGold(100000l);
playerManager.setGem(9999);
playerManager.setChargeGem(666);
playerManager.updateGuidePoint(1,1);
playerManager.setCreateTime(now);
playerManager.setLoginTime(now);

View File

@ -1258,7 +1258,7 @@ public class HeroLogic {
.newBuilder()
.setDrop(drop)
.build();
user.getUserMissionManager().onGameEvent(user,GameEvent.COMPOS_HERO,sItem.getRewardGroup(),composeNum);
user.getUserMissionManager().onGameEvent(user,GameEvent.COMPOS_HERO,drop.getHero(0).getHeroId(),composeNum);
MessageUtil.sendMessage(iSession,1,msgId,heroComposeResponse,true); }
public String getQuality(int natural) {

View File

@ -402,8 +402,12 @@ public class PlayerLogic {
return;
}
STreasureTaskConfig sTreasureTaskConfig = STreasureTaskConfig.sTreasureSevenTaskConfigByActivityMap.get(treasureActivityId);
int senvenScores = user.getUserMissionManager().getSevenHappyCumulationData().senvenScores;
TreasureMissionType sevenHappyMissionType = user.getUserMissionManager().getSevenHappyMissionType();
if(sevenHappyMissionType.getRewardedMissionIds().get(sTreasureTaskConfig.getId())){
MessageUtil.sendErrorResponse(iSession,0,msgId,"奖励已领取");
return;
}
int senvenScores = user.getUserMissionManager().getSevenHappyCumulationData().senvenScores;
sevenHappyMissionType.getDoingMissionIds().remove(sTreasureTaskConfig.getId());
sevenHappyMissionType.getFinishMissionIds().remove(sTreasureTaskConfig.getId());
sevenHappyMissionType.getRewardedMissionIds().set(sTreasureTaskConfig.getId());