Merge branch 'master_test_gn' into master_prb_gn

back_recharge
lvxinran 2021-06-08 16:17:41 +08:00
commit d330576310
4 changed files with 160 additions and 4 deletions

View File

@ -3,10 +3,10 @@ package com.ljsd.jieling.handler;
import com.ljsd.jieling.logic.hero.HeroLogic;
import com.ljsd.jieling.netty.cocdex.PacketNetData;
import com.ljsd.jieling.network.session.ISession;
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.List;

View File

@ -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 <count/pageSize+1;i++){
Pageable pageable = new PageRequest(i,pageSize);
List<User> 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<Integer> serverIds = new HashSet<>();
serverIds.add(serverId);
recharge.setServerId(serverIds);
}else{
Set<Integer> 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;
}
}

View File

@ -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;

View File

@ -0,0 +1,57 @@
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<Integer> serverId;
private int rewardServerId;
public Recharge() {
}
public Recharge(String id, double rr, Set<Integer> 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<Integer> getServerId() {
return serverId;
}
public void setServerId(Set<Integer> serverId) {
this.serverId = serverId;
}
public int getRewardServerId() {
return rewardServerId;
}
public void setRewardServerId(int rewardServerId) {
this.rewardServerId = rewardServerId;
}
}