自动返利互动零点刷新逻辑优化

back_recharge
duhui 2023-02-07 11:14:19 +08:00
parent a2f605cca6
commit 0ae2a25d23
3 changed files with 33 additions and 12 deletions

View File

@ -11,12 +11,23 @@ import java.util.HashMap;
* 2022/10/26 11:42:48
*/
public class GmActivityManager extends MongoBase {
private long updateTime;
private HashMap<String, GmActivity> activityMap = new HashMap<>();
public HashMap<String, GmActivity> getActivityMap() {
return activityMap;
}
public long getUpdateTime() {
return updateTime;
}
public void setUpdateTime(long updateTime) {
this.updateTime = updateTime;
updateString("updateTime",updateTime);
}
public void setActivityMap(HashMap<String, GmActivity> activityMap) {
this.activityMap = activityMap;
updateString("activityMap",activityMap);

View File

@ -447,8 +447,6 @@ public class GlobalDataManaager implements IManager {
SevenWorldLogic.getInstance().sevenWorldInfoIndication(session);
// 御剑行
RidingSwardLogic.getInstance().zeroClearRidingSwardByUser(user);
// 自动返利
GmActivityLogic.zeroUpdateGmActivity(user);
//周卡邮件发放未领取奖励
// WeekCardLogic.getInstance().sendWeekCardRewardMail(session);
WeekCardLogic.getInstance().weekCardInfoIndication(user,0,0);
@ -597,12 +595,9 @@ public class GlobalDataManaager implements IManager {
if(value==-1){
value = 20210731;//防止报错
}
long time = TimeUtils.stringToTimeLong(String.valueOf(value), "yyyyMMdd");
long time = TimeUtils.stringToTimeLong3(String.valueOf(value), TimeUtils.ymdFormat);
// 规定时间之前开服的返回0
if (serverOpenTime < time){
return false;
}else {
return true;
}
return serverOpenTime >= time;
}
}

View File

@ -68,15 +68,15 @@ public class GmActivityLogic implements IEventHandler {
price = config.getPrice();
}
}
if (price <= 0){
return;
}
User user = UserManager.getUser(rechargeBackEvent.getUserId());
// 自动返利
zeroUpdateGmActivity(user);
// 活动信息获取
GmActivityManager manager = user.getGmActivityManager();
Map<String, ARBActivity> arbActivityMap = getArbActivity();
for (Map.Entry<String, ARBActivity> entry : arbActivityMap.entrySet()) {
ARBActivity arbActivity = entry.getValue();
// 时间校验
@ -360,8 +360,20 @@ public class GmActivityLogic implements IEventHandler {
* @param user
*/
public static void zeroUpdateGmActivity(User user){
Map<String, ARBActivity> arbActivityMap = getArbActivity();
GmActivityManager manager = user.getGmActivityManager();
long updateTime = manager.getUpdateTime();
long nowTime = TimeUtils.now();
// 初始化刷新时间
if (updateTime <= 0){
manager.setUpdateTime(nowTime);
return;
}
// 同一天不需要刷新
if (TimeUtils.isSameDay(updateTime, nowTime)){
return;
}
Map<String, ARBActivity> arbActivityMap = getArbActivity();
for (GmActivity gmActivity : manager.getActivityMap().values()) {
ARBActivity arbActivity = arbActivityMap.get(gmActivity.getId());
// 活动已经从gm上删除了在这里删除数据库中的
@ -377,6 +389,9 @@ public class GmActivityLogic implements IEventHandler {
LOGGER.info("返利活动零点清零uid{}活动id{}",user.getId(),gmActivity.getId());
}
}
manager.setUpdateTime(nowTime);
LOGGER.info("返利活动零点清零结束uid{},刷新时间:{}",user.getId(),manager.getUpdateTime());
}
public List<ARBActivity> findAllGmActivity() {