Receive类型礼包购买条件类型修改

duhui 2021-11-30 15:46:46 +08:00
parent 1e166894d2
commit c5de1c8ce5
7 changed files with 46 additions and 30 deletions

View File

@ -253,6 +253,7 @@ public class GetPlayerInfoHandler extends BaseHandler{
Poster.getPoster().dispatchEvent(new HeroUpStarEvent(user.getId(),10023,0));
// 无尽秘宝处理
endLessTreasureHandler(user);
expeditionTreasureHandler(user);
user.getUserMissionManager().onGameEvent(user,GameEvent.DAILY_TASK_TYPE,0,user);
MessageUtil.sendIndicationMessage(iSession, 1, MessageTypeProto.MessageType.WorldLevelIndication_VALUE, PlayerInfoProto.WorldLevelIndication.newBuilder().setWorldLeve(GlobleSystemLogic.getGlobalWorldLevelCache()).build(), true);
MessageUtil.sendMessage(iSession, 1, MessageTypeProto.MessageType.GET_PLAYERINFO_RESPONSE_VALUE, getPlayerInfoResponse, true);
@ -283,6 +284,22 @@ public class GetPlayerInfoHandler extends BaseHandler{
}
}
/**
*
* @param user
*/
private void expeditionTreasureHandler(User user){
// 天宫秘宝礼包获取
ReceiveWelfareBag bagInfo = (ReceiveWelfareBag) user.getPlayerInfoManager().getNewRechargeInfo().getReceiveMap().get(106);
if (bagInfo == null){
return;
}
// 刷新礼包
if (user.getExpeditionManager().getWorldTreasureReward().getIsBuy() == 0 && bagInfo.isBought()){
bagInfo.refresh();
}
}
///登录获取四象心法数据
private List<CommonProto.SixiangxinfaInfo> getSixiangxinfaInfos(HeroManager heroManager) {
Map<Integer,SixiangProfessionInfo> sixiangDataMap = heroManager.getSixiangDataMap();

View File

@ -26,7 +26,7 @@ public interface ActivityType {
// int RechargeTotal = 5; //累计充值
int GrowthFund = 6; //成长基金
int BLESSACTIVITY = 7;//云梦祈福
int TREASURE = 8; //戒灵秘宝(孙龙的宝藏)
int TREASURE = 8; //青龙秘宝(孙龙的宝藏)
int LUCKYCAT = 9;//招財貓
int SERVERHAPPY = 10; //七日狂欢
int FORCERANK = 11; //战力排行

View File

@ -25,9 +25,8 @@ class GrowthFundActivity extends AbstractActivity {
int[][] values = sActivityRewardConfig.getValues();
User user = UserManager.getUser(session.getUid());
SGlobalActivity sGlobalActivity = SGlobalActivity.getsGlobalActivityMap().get(id);
AbstractWelfareBag bag = user.getPlayerInfoManager().getNewRechargeInfo().getReceiveMap().get(sGlobalActivity.getCanBuyRechargeId()[0]);
int buyTimes = bag.getBuyTimes();
if(buyTimes == 0){
ReceiveWelfareBag bag = (ReceiveWelfareBag)user.getPlayerInfoManager().getNewRechargeInfo().getReceiveMap().get(sGlobalActivity.getCanBuyRechargeId()[0]);
if (!bag.isBought()){
return false;
}
int type = values[0][0];
@ -43,14 +42,6 @@ class GrowthFundActivity extends AbstractActivity {
return true;
}
@Override
public void onActivityEndOnMySelf(User user) throws Exception {
// SGlobalActivity sGlobalActivity = SGlobalActivity.getsGlobalActivityMap().get(id);
// if(sGlobalActivity.getCanBuyRechargeId()!=null&&sGlobalActivity.getCanBuyRechargeId().length>0){
// Arrays.stream(sGlobalActivity.getCanBuyRechargeId()).forEach(n->user.getPlayerInfoManager().getRechargeInfo().updateBuyGoodsTimes(n,0));
// }
}
@Override
void updateProgress(ActivityMission activityMission, int count) {
activityMission.setV(count);

View File

@ -36,7 +36,6 @@ public class WorldTreasureReward extends MongoBase {
score = 0;
setRewardStatusMap(new HashMap<>());
setIsBuy(0);
// updateRound(round+1);
}
@Override

View File

@ -23,6 +23,7 @@ import com.ljsd.jieling.logic.mail.MailLogic;
import com.ljsd.jieling.logic.mission.GameEvent;
import com.ljsd.jieling.logic.store.BuyGoodsNewLogic;
import com.ljsd.jieling.logic.store.StoreLogic;
import com.ljsd.jieling.logic.store.newRechargeInfo.bean.ReceiveWelfareBag;
import com.ljsd.jieling.network.session.ISession;
import com.ljsd.jieling.util.ItemUtil;
import com.ljsd.jieling.util.MessageUtil;
@ -550,6 +551,12 @@ public class ExpeditionLogic {
//重置
if(TimeUtils.nowInt()>=createTime){
user.getExpeditionManager().resetTreasureReward();
// 天宫秘宝礼包刷新
ReceiveWelfareBag bagInfo = (ReceiveWelfareBag) user.getPlayerInfoManager().getNewRechargeInfo().getReceiveMap().get(106);
if (bagInfo == null){
return;
}
bagInfo.refresh();
sendAllTreasureInfo(user);
BuyGoodsNewLogic.sendGiftGooodsIndication(user.getId());
}

View File

@ -389,7 +389,7 @@ public class BuyGoodsNewLogic {
ExpeditionLogic.sendTreasureRewardUpdate(session,user.getExpeditionManager().getWorldTreasureReward().getScore(),
rewardStatusMap,user.getExpeditionManager().getWorldTreasureReward().getCreateTime(),1);
}
if(type == GiftGoodsType.SUN_LONG){
if(type == GiftGoodsType.SUN_LONG){
PlayerManager playerManager = user.getPlayerInfoManager();
playerManager.setHadBuyTreasure(1);
playerManager.setTreasureLevel(playerManager.getTreasureLevel()+15);
@ -786,7 +786,12 @@ public class BuyGoodsNewLogic {
}else{
builder.setDynamicBuyTimes(bag.getLimit() - bag.getBuyTimes());
}
// 礼包类型特殊处理使用bought字段验证是否购买
if(bag.getType() == RechargeType.receive.getType()){
ReceiveWelfareBag receiveBag = (ReceiveWelfareBag) bag;
int bought = receiveBag.isBought()?1:0;
builder.setIsBought(bought);
}
return builder.build();
}

View File

@ -58,23 +58,20 @@ public class ReceiveWelfareBag extends AbstractWelfareBag {
@Override
public boolean buy() {
if(super.buy()){
if(bought){
LOGGER.error("礼包:{}已经购买",getModId());
return false;
}else {
setBought(true);
setStartTime(TimeUtils.getTodayZero());
if(getDailyUpdate()>0){
setRefreshTime(getStartTime() + getDailyUpdate() * TimeUtils.DAY);
}
if(getEndTime()!=0){
setEndTime(TimeUtils.getTodayZero() + getContinueDays() * TimeUtils.DAY);
}
return true;
if (bought) {
LOGGER.error("礼包:{}已经购买", getModId());
return false;
} else {
setBought(true);
setStartTime(TimeUtils.getTodayZero());
if (getDailyUpdate() > 0) {
setRefreshTime(getStartTime() + getDailyUpdate() * TimeUtils.DAY);
}
if (getEndTime() != 0) {
setEndTime(TimeUtils.getTodayZero() + getContinueDays() * TimeUtils.DAY);
}
return true;
}
return false;
}
@Override