fix store

back_recharge
wangyuan 2019-10-14 16:32:30 +08:00
parent f246d8ce74
commit 2acbce61b4
2 changed files with 79 additions and 16 deletions

View File

@ -8,6 +8,7 @@ import com.ljsd.jieling.globals.Global;
import com.ljsd.jieling.ktbeans.KtEventUtils;
import com.ljsd.jieling.ktbeans.parmsBean.ParamEventBean;
import com.ljsd.jieling.logic.OnlineUserManager;
import com.ljsd.jieling.logic.activity.ActivityType;
import com.ljsd.jieling.logic.activity.event.GoldEvent;
import com.ljsd.jieling.logic.activity.event.Poster;
import com.ljsd.jieling.logic.dao.PlayerManager;
@ -52,14 +53,8 @@ public class StoreLogic {
long now = System.currentTimeMillis();
for(SStoreTypeConfig sStoreTypeConfig : SStoreTypeConfig.getsStoreTypeConfigMap().values()){
if(sStoreTypeConfig.getStoreOpenRule() == 3){
long startTime = 0;
long endTime = 0;
if (!sStoreTypeConfig.getStartTime().equals("0")){
startTime = TimeUtils.parseTimeToMiles(sStoreTypeConfig.getStartTime(), TimeUtils.Stand_CeHua_Data_format);
}
if (!sStoreTypeConfig.getEndTime().equals("0")){
endTime = TimeUtils.parseTimeToMiles(sStoreTypeConfig.getEndTime(), TimeUtils.Stand_CeHua_Data_format);
}
long startTime = ToolsUtil.getTimeLong(sStoreTypeConfig.getStartTimeLong(), sStoreTypeConfig.getEndTimeLong(),ActivityType.OPEN_TYPE_TIME,0, 1);
long endTime = ToolsUtil.getTimeLong(sStoreTypeConfig.getStartTimeLong(),sStoreTypeConfig.getEndTimeLong(), ActivityType.OPEN_TYPE_TIME,0, 2);
if(startTime!=0 && endTime!=0 && now > startTime && now<endTime && !openStoreInfo.contains(sStoreTypeConfig.getId())){
for(ISession session : OnlineUserManager.sessionMap.values()){
if(session.getFiveReady() == 1){
@ -70,6 +65,36 @@ public class StoreLogic {
openStoreInfo.add(sStoreTypeConfig.getId());
}
}
}else if(sStoreTypeConfig.getStoreOpenRule() == 6 ){
for(ISession session : OnlineUserManager.sessionMap.values()){
if(session.getFiveReady() == 1){
User user = UserManager.getUser(session.getUid());
long userCreateTime = user.getPlayerInfoManager().getCreateTime();
long startTime = ToolsUtil.getTimeLong(sStoreTypeConfig.getStartTimeLong(), sStoreTypeConfig.getEndTimeLong(),ActivityType.OPEN_TYPE_ROLE,userCreateTime, 1);
long endTime = ToolsUtil.getTimeLong(sStoreTypeConfig.getStartTimeLong(),sStoreTypeConfig.getEndTimeLong(), ActivityType.OPEN_TYPE_ROLE,userCreateTime, 2);
if (now < startTime || now>endTime) {
continue;
}
if(!user.getStoreManager().getStoreInfoMap().containsKey(sStoreTypeConfig.getId())){
updateUsersStoreAyync(UserManager.getUser(session.getUid()),sStoreTypeConfig.getId());
}
}
}
}else if(sStoreTypeConfig.getStoreOpenRule() == 7){
long startTime = ToolsUtil.getTimeLong(sStoreTypeConfig.getStartTimeLong(), sStoreTypeConfig.getEndTimeLong(),ActivityType.OPEN_TYPE_ROLE,0, 1);
long endTime = ToolsUtil.getTimeLong(sStoreTypeConfig.getStartTimeLong(),sStoreTypeConfig.getEndTimeLong(), ActivityType.OPEN_TYPE_ROLE,0, 2);
if (now < startTime || now>endTime) {
continue;
}
for(ISession session : OnlineUserManager.sessionMap.values()){
if(session.getFiveReady() == 1){
User user = UserManager.getUser(session.getUid());
if(!user.getStoreManager().getStoreInfoMap().containsKey(sStoreTypeConfig.getId())){
updateUsersStoreAyync(UserManager.getUser(session.getUid()),sStoreTypeConfig.getId());
}
}
}
}
}
}
@ -177,15 +202,13 @@ public class StoreLogic {
return;
}
long now = TimeUtils.now();
long startTime = now;
long endTime = 0;
long startTime = sStoreTypeConfig.getStartTimeLong();
long endTime = sStoreTypeConfig.getEndTimeLong();
if(sStoreTypeConfig.getStoreOpenRule() == 2 ){
startTime = now;
endTime =Integer.parseInt(sStoreTypeConfig.getEndTime())*60*1000 + now;
}
if(sStoreTypeConfig.getStoreOpenRule() == 3 ){
startTime = TimeUtils.parseTimeToMiles(sStoreTypeConfig.getStartTime(), TimeUtils.Stand_CeHua_Data_format);
endTime = TimeUtils.parseTimeToMiles(sStoreTypeConfig.getEndTime(), TimeUtils.Stand_CeHua_Data_format);
}
Map<Integer, Integer> itemNumMap = getStoreItem(sStoreTypeConfig.getId(),sStoreTypeConfig,user);
storeManager.newStoreInfo(sStoreTypeConfig.getId(),startTime,endTime,itemNumMap);
sendStoreUpdateIndication(user.getId(),storeManager.getStoreInfoMap().get(sStoreTypeConfig.getId()));

View File

@ -2,6 +2,7 @@ package config;
import manager.STableManager;
import manager.Table;
import util.TimeUtils;
import java.util.Map;
@ -25,10 +26,33 @@ public class SStoreTypeConfig implements BaseConfig {
private int ifManualRefresh;
private int storeType;
private long startTimeLong;
private long endTimeLong;
@Override
public void init() throws Exception {
sStoreTypeConfigMap = STableManager.getConfig(SStoreTypeConfig.class);
Map<Integer, SStoreTypeConfig> config = STableManager.getConfig(SStoreTypeConfig.class);
for(SStoreTypeConfig sStoreTypeConfig : config.values()){
int time = sStoreTypeConfig.getStoreOpenRule();
String startTime = sStoreTypeConfig.getStartTime();
String endtime = sStoreTypeConfig.getEndTime();
if(time == 1 ){//ActivityType.OPEN_TYPE_TIME
if (!sStoreTypeConfig.getStartTime().equals("0")){
sStoreTypeConfig.setStartTimeLong(TimeUtils.parseTimeToMiles(sStoreTypeConfig.getStartTime(), TimeUtils.Stand_CeHua_Data_format));
}
if (!sStoreTypeConfig.getEndTime().equals("0")){
sStoreTypeConfig.setEndTimeLong(TimeUtils.parseTimeToMiles(sStoreTypeConfig.getEndTime(), TimeUtils.Stand_CeHua_Data_format));
}
continue;
}
sStoreTypeConfig.setStartTimeLong(Long.parseLong(startTime)*60*1000L);
sStoreTypeConfig.setEndTimeLong(Long.parseLong(endtime)*60*1000L);
}
sStoreTypeConfigMap=config;
}
public static Map<Integer, SStoreTypeConfig> getsStoreTypeConfigMap() {
@ -73,4 +97,20 @@ public class SStoreTypeConfig implements BaseConfig {
public int getStoreType() {
return storeType;
}
public void setStartTimeLong(long startTimeLong) {
this.startTimeLong = startTimeLong;
}
public void setEndTimeLong(long endTimeLong) {
this.endTimeLong = endTimeLong;
}
public long getStartTimeLong() {
return startTimeLong;
}
public long getEndTimeLong() {
return endTimeLong;
}
}