Merge branch 'master' of 60.1.1.230:backend/jieling_server
commit
58444ae61d
|
@ -8,7 +8,7 @@
|
|||
</Jbean>
|
||||
|
||||
<Jbean name="ActivityMission">
|
||||
<Variable name="activityMissionMap" type="map" key="int" value="ActivityProgressInfo" />
|
||||
<Variable name="activityMissionMap" type="map" key="int" value="ActivityProgressInfo" />
|
||||
<Variable name="activityState" type="int"/>
|
||||
<Variable name="openType" type="int"/>
|
||||
<Variable name="v" type="int"/>
|
||||
|
@ -25,8 +25,8 @@
|
|||
</Jbean>
|
||||
|
||||
<Jbean name="ActivityManager">
|
||||
<Variable name="activityMissionMap" type="map" key="int" value="ActivityMission" />
|
||||
<Variable name="senvenTime" type="long"/> 七日狂欢结束时间
|
||||
<Variable name="activityMissionMap" type="map" key="int" value="ActivityMission" />
|
||||
<Variable name="senvenStartTime" type="long"/> 七日狂欢开始时间
|
||||
<Variable name="luckWheel" type="LuckWheelMission"/>幸运探宝奖池
|
||||
<Variable name="luckWheelAdvance" type="LuckWheelMission"/>高级幸运探宝奖池
|
||||
</Jbean>
|
||||
|
|
|
@ -25,6 +25,7 @@ public final class ActivityManager extends MongoBase {
|
|||
public ActivityManager(ActivityManager _o_ ) {
|
||||
this.activityMissionMap = new HashMap<Integer, com.ljsd.jieling.jbean.ActivityMission>();
|
||||
_o_.activityMissionMap.forEach((_k_, _v_) -> this.activityMissionMap.put(_k_, new ActivityMission(_v_)));
|
||||
this.senvenStartTime = _o_.senvenStartTime;
|
||||
this.luckWheel = new LuckWheelMission(_o_.luckWheel);
|
||||
this.luckWheelAdvance = new LuckWheelMission(_o_.luckWheelAdvance);
|
||||
}
|
||||
|
@ -35,6 +36,9 @@ public final class ActivityManager extends MongoBase {
|
|||
return this.activityMissionMapLog;
|
||||
}
|
||||
|
||||
public long getSenvenStartTime() { // 七日狂欢开始时间
|
||||
return this.senvenStartTime;
|
||||
}
|
||||
|
||||
public com.ljsd.jieling.jbean.LuckWheelMission getLuckWheel() { // 幸运探宝奖池
|
||||
return this.luckWheel;
|
||||
|
@ -44,17 +48,11 @@ public final class ActivityManager extends MongoBase {
|
|||
return this.luckWheelAdvance;
|
||||
}
|
||||
|
||||
|
||||
public void setSenvenStartTime(long senvenStartTime) {
|
||||
updateString("senvenStartTime",senvenStartTime);
|
||||
this.senvenStartTime = senvenStartTime;
|
||||
public void setSenvenStartTime(long senvenstarttime) { // 七日狂欢开始时间
|
||||
updateString("senvenStartTime",senvenstarttime);
|
||||
this.senvenStartTime = senvenstarttime;
|
||||
}
|
||||
|
||||
public long getSenvenStartTime() {
|
||||
return senvenStartTime;
|
||||
}
|
||||
|
||||
|
||||
public void setLuckWheel(LuckWheelMission luckwheel) { // 幸运探宝奖池
|
||||
updateString("luckWheel",luckwheel);
|
||||
luckwheel.init(getRootId(),getMongoKey()+ ".luckWheel");
|
||||
|
@ -73,6 +71,7 @@ public final class ActivityManager extends MongoBase {
|
|||
StringBuilder _sb_ = new StringBuilder(super.toString());
|
||||
_sb_.append("=(");
|
||||
_sb_.append(this.activityMissionMap).append(",");
|
||||
_sb_.append(this.senvenStartTime).append(",");
|
||||
_sb_.append(this.luckWheel).append(",");
|
||||
_sb_.append(this.luckWheelAdvance).append(",");
|
||||
_sb_.append(")");
|
||||
|
|
|
@ -215,12 +215,13 @@ public class ActivityLogic implements IEventHandler{
|
|||
if (map.containsKey(activityId)) {
|
||||
return false;
|
||||
}
|
||||
ActivityMission activityMission = new ActivityMission();
|
||||
|
||||
initMissionInfo(activityMission,activityId);
|
||||
// activityMission.init(getRootId(), getMongoKey() + ".activityMissionMap." + activityId);
|
||||
ActivityMission activityMission = new ActivityMission();
|
||||
//自动初始化
|
||||
map.put(activityId, activityMission);
|
||||
initMissionInfo(activityMission,activityId);
|
||||
// activityMission.init(getRootId(), getMongoKey() + ".activityMissionMap." + activityId);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
|
|
|
@ -54,53 +54,53 @@ class BuyGoldActivity extends AbstractActivity {
|
|||
@Override
|
||||
public void onEvent(IEvent event) throws Exception {
|
||||
super.onEvent(event);
|
||||
|
||||
List<Integer> list = SSpecialConfig.getListValue(SSpecialConfig.Gold_touch_refresh);
|
||||
if (event instanceof HourTaskEvent) {
|
||||
if (list.contains(((HourTaskEvent) event).getHour())) {
|
||||
InnerMessageUtil.broadcastWithRandom(user -> {
|
||||
if (user == null) {
|
||||
return;
|
||||
}
|
||||
setUpTime(user);
|
||||
}, new ArrayList<>(OnlineUserManager.sessionMap.keySet()), 1);
|
||||
|
||||
}
|
||||
}
|
||||
if (event instanceof UserOnlineEvent) {
|
||||
User user = UserManager.getUser(((UserOnlineEvent) event).getUid());
|
||||
ActivityMission activityMission = user.getActivityManager().getActivityMissionMap().get(id);
|
||||
if (null == activityMission) {
|
||||
return;
|
||||
}
|
||||
boolean needRefresh = false;
|
||||
for (Integer aList : list) {
|
||||
if (TimeUtils.isOverAppointRefreshTime(System.currentTimeMillis(), activityMission.getV() * 1000L, aList)) {
|
||||
needRefresh = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (needRefresh) {
|
||||
setUpTime(user);
|
||||
}
|
||||
}
|
||||
//点金刷新走商店
|
||||
// List<Integer> list = SSpecialConfig.getListValue(SSpecialConfig.Gold_touch_refresh);
|
||||
// if (event instanceof HourTaskEvent) {
|
||||
// if (list.contains(((HourTaskEvent) event).getHour())) {
|
||||
// InnerMessageUtil.broadcastWithRandom(user -> {
|
||||
// if (user == null) {
|
||||
// return;
|
||||
// }
|
||||
// setUpTime(user);
|
||||
// }, new ArrayList<>(OnlineUserManager.sessionMap.keySet()), 1);
|
||||
//
|
||||
// }
|
||||
// }
|
||||
// if (event instanceof UserOnlineEvent) {
|
||||
// User user = UserManager.getUser(((UserOnlineEvent) event).getUid());
|
||||
// ActivityMission activityMission = user.getActivityManager().getActivityMissionMap().get(id);
|
||||
// if (null == activityMission) {
|
||||
// return;
|
||||
// }
|
||||
// boolean needRefresh = false;
|
||||
// for (Integer aList : list) {
|
||||
// if (TimeUtils.isOverAppointRefreshTime(System.currentTimeMillis(), activityMission.getV() * 1000L, aList)) {
|
||||
// needRefresh = true;
|
||||
// break;
|
||||
// }
|
||||
// }
|
||||
// if (needRefresh) {
|
||||
// setUpTime(user);
|
||||
// }
|
||||
// }
|
||||
}
|
||||
|
||||
private void setUpTime(User user) {
|
||||
|
||||
ActivityMission activityMission = user.getActivityManager().getActivityMissionMap().get(id);
|
||||
if (null == activityMission) {
|
||||
return;
|
||||
}
|
||||
//sendclient
|
||||
activityMission.setV((int) (System.currentTimeMillis()/1000));
|
||||
HashSet<Integer> ids = new HashSet<>();
|
||||
List<Integer> listValue = SSpecialConfig.getListValue(SSpecialConfig.Gold_touch);
|
||||
listValue.forEach(type -> SPrivilegeTypeConfig.privilegeByType.get(type).forEach(sPrivilegeTypeConfig -> {
|
||||
ids.add(sPrivilegeTypeConfig.getId());
|
||||
user.getPlayerInfoManager().refreshVipByType(type);
|
||||
}));
|
||||
notifyClient(user, ids);
|
||||
// ActivityMission activityMission = user.getActivityManager().getActivityMissionMap().get(id);
|
||||
// if (null == activityMission) {
|
||||
// return;
|
||||
// }
|
||||
// //sendclient
|
||||
// activityMission.setV((int) (System.currentTimeMillis()/1000));
|
||||
// HashSet<Integer> ids = new HashSet<>();
|
||||
// List<Integer> listValue = SSpecialConfig.getListValue(SSpecialConfig.Gold_touch);
|
||||
// listValue.forEach(type -> SPrivilegeTypeConfig.privilegeByType.get(type).forEach(sPrivilegeTypeConfig -> {
|
||||
// ids.add(sPrivilegeTypeConfig.getId());
|
||||
// user.getPlayerInfoManager().refreshVipByType(type);
|
||||
// }));
|
||||
// notifyClient(user, ids);
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -82,7 +82,8 @@ public class ExpeditionLogic {
|
|||
|
||||
ExpeditionManager manager = user.getExpeditionManager();
|
||||
TimeControllerOfFunction openTimeOfFuntionCacheByType = GlobalDataManaager.getInstance().getOpenTimeOfFuntionCacheByType(FunctionIdEnum.Expedition);
|
||||
if(manager.getCurrentTime()==openTimeOfFuntionCacheByType.getTimes()){
|
||||
|
||||
if(openTimeOfFuntionCacheByType==null||manager.getCurrentTime()==openTimeOfFuntionCacheByType.getTimes()){
|
||||
return;
|
||||
}
|
||||
takeAllReward(user);
|
||||
|
|
|
@ -1603,9 +1603,9 @@ public class HeroLogic{
|
|||
float score = sPropertyConfig.getScore();
|
||||
|
||||
result += propertyValue*score;
|
||||
LOGGER.info("the propertyId={} the value is ={},propertyValue={},score={},result ={},the value={}",propertyId,propertyValue*score,propertyValue,score,result,propertyValue*score);
|
||||
// LOGGER.info("the propertyId={} the value is ={},propertyValue={},score={},result ={},the value={}",propertyId,propertyValue*score,propertyValue,score,result,propertyValue*score);
|
||||
}
|
||||
System.out.println(result);
|
||||
// System.out.println(result);
|
||||
return (int)result;
|
||||
}
|
||||
|
||||
|
|
|
@ -130,26 +130,37 @@ public class StoreLogic implements IEventHandler {
|
|||
}
|
||||
}
|
||||
|
||||
if(sStoreTypeConfig.getRefreshType()[0]==2&& calendar.get(Calendar.MINUTE) ==0 && sStoreTypeConfig.getRefreshType()[1]==calendar.get(Calendar.HOUR_OF_DAY)){
|
||||
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()),user1 -> {
|
||||
StoreInfo storeInfo = user.getStoreManager().getStoreInfoMap().get(sStoreTypeConfig.getId());
|
||||
if(sStoreTypeConfig.getRefreshType()[0]==2&& calendar.get(Calendar.MINUTE) ==0){
|
||||
|
||||
Map<Integer, Integer> storeItem = getStoreItem(sStoreTypeConfig.getId(), sStoreTypeConfig, user);
|
||||
if(storeItem == null){
|
||||
LOGGER.error("the uid={},the storeID={} is null",user.getId(),sStoreTypeConfig.getId());
|
||||
return;
|
||||
}
|
||||
storeInfo.setItemNumMap(storeItem);
|
||||
storeInfo.setLastRefreshTime(now);
|
||||
MongoUtil.getInstence().lastUpdate();
|
||||
sendStoreUpdateIndication(user.getId(),storeInfo);
|
||||
});
|
||||
}
|
||||
for(int i = 1;i<sStoreTypeConfig.getRefreshType().length;i++){
|
||||
if(sStoreTypeConfig.getRefreshType()[i]!=calendar.get(Calendar.HOUR_OF_DAY)){
|
||||
continue;
|
||||
}
|
||||
sendRefreshIndication(sStoreTypeConfig,now);
|
||||
break ;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private static void sendRefreshIndication(SStoreTypeConfig sStoreTypeConfig,long lastRefreshTime) throws Exception {
|
||||
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()),user1 -> {
|
||||
StoreInfo storeInfo = user.getStoreManager().getStoreInfoMap().get(sStoreTypeConfig.getId());
|
||||
|
||||
Map<Integer, Integer> storeItem = getStoreItem(sStoreTypeConfig.getId(), sStoreTypeConfig, user);
|
||||
if(storeItem == null){
|
||||
LOGGER.error("the uid={},the storeID={} is null",user.getId(),sStoreTypeConfig.getId());
|
||||
return;
|
||||
}
|
||||
storeInfo.setItemNumMap(storeItem);
|
||||
storeInfo.setLastRefreshTime(lastRefreshTime);
|
||||
MongoUtil.getInstence().lastUpdate();
|
||||
sendStoreUpdateIndication(user.getId(),storeInfo);
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -219,11 +230,13 @@ public class StoreLogic implements IEventHandler {
|
|||
}
|
||||
}
|
||||
if(sStoreTypeConfig.getRefreshType()[0] == 2){
|
||||
if (TimeUtils.isOverAppointRefreshTime(nowTime,storeInfo.getLastRefreshTime(),sStoreTypeConfig.getRefreshType()[1])){
|
||||
Map<Integer, Integer> storeItem = getStoreItem(sStoreTypeConfig.getId(), sStoreTypeConfig, user);
|
||||
storeInfo.setLastRefreshTime(nowTime);
|
||||
storeInfo.setItemNumMap(storeItem);
|
||||
sendStoreUpdateIndication(user.getId(),storeInfo);
|
||||
for(int i = 0 ; i<sStoreTypeConfig.getRefreshType().length;i++){
|
||||
if (TimeUtils.isOverAppointRefreshTime(nowTime,storeInfo.getLastRefreshTime(),sStoreTypeConfig.getRefreshType()[i])){
|
||||
Map<Integer, Integer> storeItem = getStoreItem(sStoreTypeConfig.getId(), sStoreTypeConfig, user);
|
||||
storeInfo.setLastRefreshTime(nowTime);
|
||||
storeInfo.setItemNumMap(storeItem);
|
||||
sendStoreUpdateIndication(user.getId(),storeInfo);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -626,12 +639,14 @@ public class StoreLogic implements IEventHandler {
|
|||
long nowTime = System.currentTimeMillis();
|
||||
switch (type){
|
||||
case 2:
|
||||
boolean overTime = TimeUtils.isOverTime(time, storeInfo.getLastRefreshTime());
|
||||
if (overTime){
|
||||
itemNumMap = getStoreItem(sStoreTypeConfig.getId(),sStoreTypeConfig,user);
|
||||
storeInfo.setLastRefreshTime(nowTime);
|
||||
for(int i=1;i<sStoreTypeConfig.getRefreshType().length;i++){
|
||||
boolean overTime = TimeUtils.isOverTime(i, storeInfo.getLastRefreshTime());
|
||||
if (overTime){
|
||||
itemNumMap = getStoreItem(sStoreTypeConfig.getId(),sStoreTypeConfig,user);
|
||||
storeInfo.setLastRefreshTime(nowTime);
|
||||
}
|
||||
break;
|
||||
}
|
||||
break;
|
||||
case 3:
|
||||
long lastRefreshTime = storeInfo.getLastRefreshTime();
|
||||
int intervalTime = time*1000*60*60;
|
||||
|
|
Loading…
Reference in New Issue