Merge branch 'dev_dh_bt' into dev_bt

# Conflicts:
#	serverlogic/src/main/java/com/ljsd/jieling/kefu/Cmd_general.java
back_recharge
duhui 2023-02-13 15:14:05 +08:00
commit a1fc1e1683
2 changed files with 83 additions and 37 deletions

View File

@ -1,5 +1,8 @@
package com.ljsd.jieling.kefu;
import com.google.gson.Gson;
import com.ljsd.jieling.db.mongo.MongoUtil;
import com.ljsd.jieling.db.redis.RedisUtil;
import com.ljsd.jieling.globals.BIReason;
import com.ljsd.jieling.logic.activity.ActivityLogic;
import com.ljsd.jieling.logic.activity.ActivityType;
@ -49,12 +52,11 @@ public class Cmd_general extends GmAbstract {
try {
int uid = Integer.parseInt(args[1]);
User user = UserManager.getUser(uid);
String[] items = args[2].split("\\|");
HashMap<Integer, Long> map = new HashMap<>();
for (String item : items) {
String[] split = item.split("#");
map.put(Integer.parseInt(split[0]),Long.parseLong(split[1]));
String[] split = args[2].split("\\|");
for (String s : split) {
String[] strings = s.split("#");
map.put(Integer.parseInt(strings[0]),Long.parseLong(strings[0]));
}
ItemUtil.useItemLong(user,map, BIReason.GM_ROOT_REMOVE_ITEM,-999);
LOGGER.info("通过gm后台删除玩家道具uid{}item{}",uid, map);
@ -63,6 +65,36 @@ public class Cmd_general extends GmAbstract {
}
LOGGER.info("删除玩家道具......{}",args[1]);
break;
case "userstr":
try {
int uid = Integer.parseInt(args[1]);
User user = UserManager.getUser(uid);
if (user == null){
LOGGER.error("用户找不到");
}else {
Gson gson = RedisUtil.getInstence().getGson();
String userStr = gson.toJson(user);
LOGGER.info("userstr============:{}",userStr);
}
} catch (Exception e) {
e.printStackTrace();
}
LOGGER.info("查询用户字符串......{}",args[1]);
break;
case "saveuser":
try {
int uid = Integer.parseInt(args[1]);
User user = UserManager.getUser(uid);
if (user == null){
LOGGER.error("用户找不到");
}else {
MongoUtil.getInstence().getMyMongoTemplate().save(user.getId(),user);
}
} catch (Exception e) {
e.printStackTrace();
}
LOGGER.info("查询用户字符串......{}",args[1]);
break;
default:
break;
}

View File

@ -77,32 +77,39 @@ public class GmActivityLogic implements IEventHandler {
// 活动信息获取
GmActivityManager manager = user.getGmActivityManager();
Map<String, ARBActivity> arbActivityMap = getArbActivity();
LOGGER.info("返利活动信息长度uid{}num:{}",user.getId(),arbActivityMap.size());
int i = 1;
for (Map.Entry<String, ARBActivity> entry : arbActivityMap.entrySet()) {
LOGGER.info("返利活动信息,第{}次循环uid{}aid:{}",i,user.getId(),entry.getKey());
ARBActivity arbActivity = entry.getValue();
LOGGER.info("返利活动信息,第{}次循环uid{}aid:{}type{}",i,user.getId(),arbActivity.getId(),arbActivity.getType());
// 时间校验
long start = getStartTime(arbActivity);
LOGGER.info("返利活动信息,第{}次循环uid{}aid:{}start:{}",i,user.getId(),arbActivity.getId(),start);
long end = getEndTime(arbActivity);
LOGGER.info("返利活动信息,第{}次循环uid{}aid:{}end:{}",i,user.getId(),arbActivity.getId(),end);
long now = TimeUtils.now();
if (start > now || end <= now){
continue;
LOGGER.info("返利活动信息,第{}次循环uid{}aid:{}type{}, now{}",i,user.getId(),arbActivity.getId(),arbActivity.getType(),now);
if (now >= start && now < end){
// 获取全部活动信息
GmActivity gmActivity = manager.getActivityMap().getOrDefault(entry.getKey(), new GmActivity(arbActivity));
switch (gmActivity.getType()){
case 1://单日累充
getRewardToSingleTotalRecharge(user, gmActivity, price);
break;
case 2://妖晶返利
getRewardToMonsterCurrencyBack(user, gmActivity, price);
break;
case 4://单笔充值
getRewardToSingleRecharge(user, gmActivity, price);
break;
default://3、5、6多日累充永久大充开服首日累充
getDefaultReward(user, gmActivity, price);
break;
}
manager.putActivityMap(gmActivity.getId(),gmActivity);
}
// 获取全部活动信息
GmActivity gmActivity = manager.getActivityMap().getOrDefault(entry.getKey(), new GmActivity(arbActivity));
switch (gmActivity.getType()){
case 1://单日累充
getRewardToSingleTotalRecharge(user, gmActivity, price);
break;
case 2://妖晶返利
getRewardToMonsterCurrencyBack(user, gmActivity, price);
break;
case 4://单笔充值
getRewardToSingleRecharge(user, gmActivity, price);
break;
default://3、5、6多日累充永久大充开服首日累充
getDefaultReward(user, gmActivity, price);
break;
}
manager.putActivityMap(gmActivity.getId(),gmActivity);
i++;
}
}
@ -377,22 +384,29 @@ public class GmActivityLogic implements IEventHandler {
}
Map<String, ARBActivity> arbActivityMap = getArbActivity();
for (GmActivity gmActivity : manager.getActivityMap().values()) {
ARBActivity arbActivity = arbActivityMap.get(gmActivity.getId());
// 活动已经从gm上删除了在这里删除数据库中的
if (arbActivity == null){
manager.removeActivity(gmActivity.getId());
LOGGER.info("返利活动删除uid{}活动id{}",user.getId(),gmActivity.getId());
continue;
}
// 单日累充和妖晶返利每日清零
if (gmActivity.getType() == 1 || gmActivity.getType() == 2 || gmActivity.getType() == 4){
gmActivity.setValue(0);
gmActivity.setMissionMap(new HashMap<>());
LOGGER.info("返利活动重置uid{}活动id{}",user.getId(),gmActivity.getId());
for (ARBActivity value : arbActivityMap.values()) {
if (value.getType() == 1 || value.getType() == 2 || value.getType() == 4){
manager.removeActivity(value.getId());
LOGGER.info("返利活动重置uid{}活动id{}, type{}",user.getId(),value.getId(), value.getType());
}
}
// for (GmActivity gmActivity : manager.getActivityMap().values()) {
// ARBActivity arbActivity = arbActivityMap.get(gmActivity.getId());
// // 活动已经从gm上删除了在这里删除数据库中的
// if (arbActivity == null){
// manager.removeActivity(gmActivity.getId());
// LOGGER.info("返利活动删除uid{}活动id{}",user.getId(),gmActivity.getId());
// continue;
// }
// // 单日累充和妖晶返利每日清零
// if (gmActivity.getType() == 1 || gmActivity.getType() == 2 || gmActivity.getType() == 4){
// gmActivity.setValue(0);
// gmActivity.setMissionMap(new HashMap<>());
// LOGGER.info("返利活动重置uid{}活动id{}",user.getId(),gmActivity.getId());
// }
// }
manager.setUpdateTime(nowTime);
LOGGER.info("返利活动重置结束uid{},刷新时间:{}",user.getId(),manager.getUpdateTime());
}