充值返利第二版

lvxinran 2021-06-11 18:37:40 +08:00
parent 8a2c5bd499
commit d6215bd42b
4 changed files with 112 additions and 42 deletions

View File

@ -38,43 +38,5 @@ public class SaveTeamPosHandler extends BaseHandler{
int teamId = teamPosInfo.getTeamId();
List<CommonProto.TeamHeroInfo> 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<User> 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<Integer> serverIds = new HashSet<>();
serverIds.add(10154);
recharge.setServerId(serverIds);
coreMongoTemplate.save(recharge,"recharge");
}else{
Set<Integer> 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();
}
}

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

@ -10,8 +10,9 @@ import java.util.Set;
public class Recharge {
private String id;
private double rr;
private Set<Integer> serverId;
private int rewardServerId;
public Recharge() {
}
@ -45,4 +46,12 @@ public class Recharge {
public void setServerId(Set<Integer> serverId) {
this.serverId = serverId;
}
public int getRewardServerId() {
return rewardServerId;
}
public void setRewardServerId(int rewardServerId) {
this.rewardServerId = rewardServerId;
}
}