From 8a2c5bd4995d60266113711d28b3b2ca3fd561ef Mon Sep 17 00:00:00 2001 From: lvxinran Date: Fri, 11 Jun 2021 14:23:42 +0800 Subject: [PATCH 1/3] =?UTF-8?q?=E8=BF=94=E5=88=A9=E4=BB=A3=E7=A0=81?= =?UTF-8?q?=E7=AC=AC=E4=B8=80=E6=AC=A1=E6=8F=90=E4=BA=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../jieling/handler/SaveTeamPosHandler.java | 52 +++++++++++++++++++ .../ljsd/jieling/logic/dao/root/Recharge.java | 48 +++++++++++++++++ 2 files changed, 100 insertions(+) create mode 100644 serverlogic/src/main/java/com/ljsd/jieling/logic/dao/root/Recharge.java diff --git a/serverlogic/src/main/java/com/ljsd/jieling/handler/SaveTeamPosHandler.java b/serverlogic/src/main/java/com/ljsd/jieling/handler/SaveTeamPosHandler.java index bdad99910..be617708f 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/handler/SaveTeamPosHandler.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/handler/SaveTeamPosHandler.java @@ -1,14 +1,28 @@ package com.ljsd.jieling.handler; +import com.ljsd.jieling.db.mongo.LjsdMongoTemplate; +import com.ljsd.jieling.db.mongo.MongoUtil; +import com.ljsd.jieling.logic.dao.PlayerManager; +import com.ljsd.jieling.logic.dao.RechargeInfo; +import com.ljsd.jieling.logic.dao.root.Recharge; +import com.ljsd.jieling.logic.dao.root.User; import com.ljsd.jieling.logic.hero.HeroLogic; +import com.ljsd.jieling.logic.store.newRechargeInfo.NewRechargeInfo; import com.ljsd.jieling.netty.cocdex.PacketNetData; import com.ljsd.jieling.network.session.ISession; +import org.springframework.data.mongodb.core.MongoTemplate; +import org.springframework.data.mongodb.core.aggregation.Fields; +import org.springframework.data.mongodb.core.aggregation.ProjectionOperation; +import org.springframework.data.mongodb.core.query.Criteria; +import org.springframework.data.mongodb.core.query.Query; import rpc.protocols.CommonProto; import rpc.protocols.HeroInfoProto; import rpc.protocols.MessageTypeProto; import org.springframework.stereotype.Component; +import java.util.HashSet; import java.util.List; +import java.util.Set; @Component public class SaveTeamPosHandler extends BaseHandler{ @@ -24,5 +38,43 @@ public class SaveTeamPosHandler extends BaseHandler{ int teamId = teamPosInfo.getTeamId(); List teamHeroInfosList = teamPosInfo.getTeamHeroInfosList(); HeroLogic.getInstance().saveTeamPos(iSession,teamId,teamHeroInfosList); + MongoTemplate monogTemplate = MongoUtil.getInstence().getMonogTemplate(10154); + MongoTemplate coreMongoTemplate = MongoUtil.getCoreMongoTemplate(); + + Query query = new Query(Criteria.where("_id").ne("100000")); + query.fields().include("playerManager"); + List allByCondition = monogTemplate.find(query, User.class,"user"); + + + for(User user:allByCondition){ + PlayerManager playerInfoManager = user.getPlayerInfoManager(); + 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 serverIds = new HashSet<>(); + serverIds.add(10154); + recharge.setServerId(serverIds); + coreMongoTemplate.save(recharge,"recharge"); + }else{ + Set serverId = recharge.getServerId(); + if(serverId!=null&&serverId.contains(10154)){ + continue; + } + recharge.setRr(recharge.getRr()+rr); + recharge.getServerId().add(10154); + coreMongoTemplate.save(recharge,"recharge"); + } + } + System.out.println(); } } diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/dao/root/Recharge.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/dao/root/Recharge.java new file mode 100644 index 000000000..ea3c1c30b --- /dev/null +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/dao/root/Recharge.java @@ -0,0 +1,48 @@ +package com.ljsd.jieling.logic.dao.root; + +import java.util.Set; + +/** + * @author lvxinran + * @date 2021/6/11 + * @discribe + */ +public class Recharge { + private String id; + private double rr; + + private Set serverId; + + public Recharge() { + } + + public Recharge(String id, double rr, Set serverId) { + this.id = id; + this.rr = rr; + this.serverId = serverId; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public double getRr() { + return rr; + } + + public void setRr(double rr) { + this.rr = rr; + } + + public Set getServerId() { + return serverId; + } + + public void setServerId(Set serverId) { + this.serverId = serverId; + } +} From d6215bd42bc3ff125b18468322e7597a086c3b09 Mon Sep 17 00:00:00 2001 From: lvxinran Date: Fri, 11 Jun 2021 18:37:40 +0800 Subject: [PATCH 2/3] =?UTF-8?q?=E5=85=85=E5=80=BC=E8=BF=94=E5=88=A9?= =?UTF-8?q?=E7=AC=AC=E4=BA=8C=E7=89=88?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../jieling/handler/SaveTeamPosHandler.java | 38 --------- .../com/ljsd/jieling/kefu/Cmd_recharge.java | 79 +++++++++++++++++++ .../logic/activity/UserLevelEventHandler.java | 26 +++++- .../ljsd/jieling/logic/dao/root/Recharge.java | 11 ++- 4 files changed, 112 insertions(+), 42 deletions(-) create mode 100644 serverlogic/src/main/java/com/ljsd/jieling/kefu/Cmd_recharge.java diff --git a/serverlogic/src/main/java/com/ljsd/jieling/handler/SaveTeamPosHandler.java b/serverlogic/src/main/java/com/ljsd/jieling/handler/SaveTeamPosHandler.java index be617708f..feaa785fe 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/handler/SaveTeamPosHandler.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/handler/SaveTeamPosHandler.java @@ -38,43 +38,5 @@ public class SaveTeamPosHandler extends BaseHandler{ int teamId = teamPosInfo.getTeamId(); List teamHeroInfosList = teamPosInfo.getTeamHeroInfosList(); HeroLogic.getInstance().saveTeamPos(iSession,teamId,teamHeroInfosList); - MongoTemplate monogTemplate = MongoUtil.getInstence().getMonogTemplate(10154); - MongoTemplate coreMongoTemplate = MongoUtil.getCoreMongoTemplate(); - - Query query = new Query(Criteria.where("_id").ne("100000")); - query.fields().include("playerManager"); - List allByCondition = monogTemplate.find(query, User.class,"user"); - - - for(User user:allByCondition){ - PlayerManager playerInfoManager = user.getPlayerInfoManager(); - 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 serverIds = new HashSet<>(); - serverIds.add(10154); - recharge.setServerId(serverIds); - coreMongoTemplate.save(recharge,"recharge"); - }else{ - Set serverId = recharge.getServerId(); - if(serverId!=null&&serverId.contains(10154)){ - continue; - } - recharge.setRr(recharge.getRr()+rr); - recharge.getServerId().add(10154); - coreMongoTemplate.save(recharge,"recharge"); - } - } - System.out.println(); } } diff --git a/serverlogic/src/main/java/com/ljsd/jieling/kefu/Cmd_recharge.java b/serverlogic/src/main/java/com/ljsd/jieling/kefu/Cmd_recharge.java new file mode 100644 index 000000000..d153f5108 --- /dev/null +++ b/serverlogic/src/main/java/com/ljsd/jieling/kefu/Cmd_recharge.java @@ -0,0 +1,79 @@ +package com.ljsd.jieling.kefu; + +import com.ljsd.GameApplication; +import com.ljsd.jieling.db.mongo.MongoUtil; +import com.ljsd.jieling.logic.dao.PlayerManager; +import com.ljsd.jieling.logic.dao.RechargeInfo; +import com.ljsd.jieling.logic.dao.root.Recharge; +import com.ljsd.jieling.logic.dao.root.User; +import com.ljsd.jieling.logic.store.newRechargeInfo.NewRechargeInfo; +import org.springframework.data.domain.PageRequest; +import org.springframework.data.domain.Pageable; +import org.springframework.data.mongodb.core.MongoTemplate; +import org.springframework.data.mongodb.core.query.Criteria; +import org.springframework.data.mongodb.core.query.Query; + +import java.util.HashSet; +import java.util.List; +import java.util.Set; + +/** + * @author lvxinran + * @date 2021/6/11 + * @discribe 生成充值信息 + */ +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 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 serverIds = new HashSet<>(); + serverIds.add(serverId); + recharge.setServerId(serverIds); + }else{ + Set 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; + } +} diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/UserLevelEventHandler.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/UserLevelEventHandler.java index 1680715da..69cd196ca 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/UserLevelEventHandler.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/UserLevelEventHandler.java @@ -1,25 +1,30 @@ package com.ljsd.jieling.logic.activity; +import com.ljsd.GameApplication; import com.ljsd.jieling.config.clazzStaticCfg.CommonStaticConfig; import com.ljsd.jieling.core.GlobalsDef; import com.ljsd.jieling.core.VipPrivilegeType; -import com.ljsd.jieling.exception.ErrorCode; -import com.ljsd.jieling.exception.ErrorCodeException; +import com.ljsd.jieling.db.mongo.MongoUtil; import com.ljsd.jieling.globals.BIReason; +import com.ljsd.jieling.globals.Global; import com.ljsd.jieling.jbean.ActivityMission; import com.ljsd.jieling.logic.activity.event.ActivityStateChangeEvent; import com.ljsd.jieling.logic.activity.event.IEvent; import com.ljsd.jieling.logic.activity.event.Poster; import com.ljsd.jieling.logic.activity.event.UserLevelEvent; import com.ljsd.jieling.logic.dao.UserManager; +import com.ljsd.jieling.logic.dao.root.Recharge; import com.ljsd.jieling.logic.dao.root.User; import com.ljsd.jieling.logic.expedition.ExpeditionLogic; import com.ljsd.jieling.logic.fight.CombatLogic; import com.ljsd.jieling.logic.hardStage.HardStageLogic; +import com.ljsd.jieling.logic.mail.MailLogic; import com.ljsd.jieling.util.ItemUtil; -import com.ljsd.jieling.util.ToolsUtil; import config.*; import manager.STableManager; +import org.springframework.data.mongodb.core.MongoTemplate; +import org.springframework.data.mongodb.core.query.Criteria; +import org.springframework.data.mongodb.core.query.Query; import util.TimeUtils; import java.util.ArrayList; @@ -71,6 +76,21 @@ public class UserLevelEventHandler implements IEventHandler,IPrivilegeChange{ } } + if(level==30){ + MongoTemplate coreMongoTemplate = MongoUtil.getCoreMongoTemplate(); + Query rechargeQuery = new Query(Criteria.where("_id").is(user.getPlayerInfoManager().getOpenId())); + Recharge recharge = coreMongoTemplate.findOne(rechargeQuery, Recharge.class, "recharge"); + if(recharge!=null&&recharge.getRewardServerId()==0){ + double rr = recharge.getRr(); + String title = SErrorCodeEerverConfig.getI18NMessage("recharge_rebate_title"); + String content = SErrorCodeEerverConfig.getI18NMessageNeedConvert("recharge_rebate_content", new Object[]{(int)rr,(int)rr*10},new int[]{0,0},"#"); + + MailLogic.getInstance().sendMail(uid,title,content, Global.GEM+"#"+(int)rr*10,(int) (TimeUtils.now() / 1000),Global.MAIL_EFFECTIVE_TIME); + recharge.setRewardServerId(GameApplication.serverId); + coreMongoTemplate.save(recharge,"recharge"); + } + } + ActivityLogic.getInstance().updateActivityMissionProgress(user, ActivityType.GrowthFund,level); if(sGlobalSystemConfigs == null){ return; diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/dao/root/Recharge.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/dao/root/Recharge.java index ea3c1c30b..099b0d63d 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/dao/root/Recharge.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/dao/root/Recharge.java @@ -10,8 +10,9 @@ import java.util.Set; public class Recharge { private String id; private double rr; - private Set serverId; + private int rewardServerId; + public Recharge() { } @@ -45,4 +46,12 @@ public class Recharge { public void setServerId(Set serverId) { this.serverId = serverId; } + + public int getRewardServerId() { + return rewardServerId; + } + + public void setRewardServerId(int rewardServerId) { + this.rewardServerId = rewardServerId; + } } From 8e0507520108f38c70fbba082b3a5a8439198dbe Mon Sep 17 00:00:00 2001 From: lvxinran Date: Sat, 12 Jun 2021 10:32:21 +0800 Subject: [PATCH 3/3] =?UTF-8?q?=E5=88=A0=E9=99=A4=E6=97=A0=E7=94=A8?= =?UTF-8?q?=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ljsd/jieling/handler/SaveTeamPosHandler.java | 16 +--------------- 1 file changed, 1 insertion(+), 15 deletions(-) diff --git a/serverlogic/src/main/java/com/ljsd/jieling/handler/SaveTeamPosHandler.java b/serverlogic/src/main/java/com/ljsd/jieling/handler/SaveTeamPosHandler.java index feaa785fe..aa1a5a380 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/handler/SaveTeamPosHandler.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/handler/SaveTeamPosHandler.java @@ -1,28 +1,14 @@ package com.ljsd.jieling.handler; -import com.ljsd.jieling.db.mongo.LjsdMongoTemplate; -import com.ljsd.jieling.db.mongo.MongoUtil; -import com.ljsd.jieling.logic.dao.PlayerManager; -import com.ljsd.jieling.logic.dao.RechargeInfo; -import com.ljsd.jieling.logic.dao.root.Recharge; -import com.ljsd.jieling.logic.dao.root.User; import com.ljsd.jieling.logic.hero.HeroLogic; -import com.ljsd.jieling.logic.store.newRechargeInfo.NewRechargeInfo; import com.ljsd.jieling.netty.cocdex.PacketNetData; import com.ljsd.jieling.network.session.ISession; -import org.springframework.data.mongodb.core.MongoTemplate; -import org.springframework.data.mongodb.core.aggregation.Fields; -import org.springframework.data.mongodb.core.aggregation.ProjectionOperation; -import org.springframework.data.mongodb.core.query.Criteria; -import org.springframework.data.mongodb.core.query.Query; +import org.springframework.stereotype.Component; import rpc.protocols.CommonProto; import rpc.protocols.HeroInfoProto; import rpc.protocols.MessageTypeProto; -import org.springframework.stereotype.Component; -import java.util.HashSet; import java.util.List; -import java.util.Set; @Component public class SaveTeamPosHandler extends BaseHandler{