开活动送充值购买权

back_recharge
wangyuan 2020-05-12 16:02:37 +08:00
parent 233d52d1c8
commit 73e7d662aa
17 changed files with 10812 additions and 1039 deletions

View File

@ -90242,6 +90242,547 @@ public final class CommonProto {
// @@protoc_insertion_point(class_scope:com.ljsd.jieling.protocols.CarGrapRecordItem)
}
public interface GuildHelpInfoOrBuilder
extends com.google.protobuf.MessageOrBuilder {
// optional int32 type = 1;
/**
* <code>optional int32 type = 1;</code>
*
* <pre>
*
* </pre>
*/
boolean hasType();
/**
* <code>optional int32 type = 1;</code>
*
* <pre>
*
* </pre>
*/
int getType();
// optional int32 num = 2;
/**
* <code>optional int32 num = 2;</code>
*
* <pre>
*
* </pre>
*/
boolean hasNum();
/**
* <code>optional int32 num = 2;</code>
*
* <pre>
*
* </pre>
*/
int getNum();
}
/**
* Protobuf type {@code com.ljsd.jieling.protocols.GuildHelpInfo}
*/
public static final class GuildHelpInfo extends
com.google.protobuf.GeneratedMessage
implements GuildHelpInfoOrBuilder {
// Use GuildHelpInfo.newBuilder() to construct.
private GuildHelpInfo(com.google.protobuf.GeneratedMessage.Builder<?> builder) {
super(builder);
this.unknownFields = builder.getUnknownFields();
}
private GuildHelpInfo(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }
private static final GuildHelpInfo defaultInstance;
public static GuildHelpInfo getDefaultInstance() {
return defaultInstance;
}
public GuildHelpInfo getDefaultInstanceForType() {
return defaultInstance;
}
private final com.google.protobuf.UnknownFieldSet unknownFields;
@java.lang.Override
public final com.google.protobuf.UnknownFieldSet
getUnknownFields() {
return this.unknownFields;
}
private GuildHelpInfo(
com.google.protobuf.CodedInputStream input,
com.google.protobuf.ExtensionRegistryLite extensionRegistry)
throws com.google.protobuf.InvalidProtocolBufferException {
initFields();
int mutable_bitField0_ = 0;
com.google.protobuf.UnknownFieldSet.Builder unknownFields =
com.google.protobuf.UnknownFieldSet.newBuilder();
try {
boolean done = false;
while (!done) {
int tag = input.readTag();
switch (tag) {
case 0:
done = true;
break;
default: {
if (!parseUnknownField(input, unknownFields,
extensionRegistry, tag)) {
done = true;
}
break;
}
case 8: {
bitField0_ |= 0x00000001;
type_ = input.readInt32();
break;
}
case 16: {
bitField0_ |= 0x00000002;
num_ = input.readInt32();
break;
}
}
}
} catch (com.google.protobuf.InvalidProtocolBufferException e) {
throw e.setUnfinishedMessage(this);
} catch (java.io.IOException e) {
throw new com.google.protobuf.InvalidProtocolBufferException(
e.getMessage()).setUnfinishedMessage(this);
} finally {
this.unknownFields = unknownFields.build();
makeExtensionsImmutable();
}
}
public static final com.google.protobuf.Descriptors.Descriptor
getDescriptor() {
return com.ljsd.jieling.protocols.CommonProto.internal_static_com_ljsd_jieling_protocols_GuildHelpInfo_descriptor;
}
protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
internalGetFieldAccessorTable() {
return com.ljsd.jieling.protocols.CommonProto.internal_static_com_ljsd_jieling_protocols_GuildHelpInfo_fieldAccessorTable
.ensureFieldAccessorsInitialized(
com.ljsd.jieling.protocols.CommonProto.GuildHelpInfo.class, com.ljsd.jieling.protocols.CommonProto.GuildHelpInfo.Builder.class);
}
public static com.google.protobuf.Parser<GuildHelpInfo> PARSER =
new com.google.protobuf.AbstractParser<GuildHelpInfo>() {
public GuildHelpInfo parsePartialFrom(
com.google.protobuf.CodedInputStream input,
com.google.protobuf.ExtensionRegistryLite extensionRegistry)
throws com.google.protobuf.InvalidProtocolBufferException {
return new GuildHelpInfo(input, extensionRegistry);
}
};
@java.lang.Override
public com.google.protobuf.Parser<GuildHelpInfo> getParserForType() {
return PARSER;
}
private int bitField0_;
// optional int32 type = 1;
public static final int TYPE_FIELD_NUMBER = 1;
private int type_;
/**
* <code>optional int32 type = 1;</code>
*
* <pre>
*
* </pre>
*/
public boolean hasType() {
return ((bitField0_ & 0x00000001) == 0x00000001);
}
/**
* <code>optional int32 type = 1;</code>
*
* <pre>
*
* </pre>
*/
public int getType() {
return type_;
}
// optional int32 num = 2;
public static final int NUM_FIELD_NUMBER = 2;
private int num_;
/**
* <code>optional int32 num = 2;</code>
*
* <pre>
*
* </pre>
*/
public boolean hasNum() {
return ((bitField0_ & 0x00000002) == 0x00000002);
}
/**
* <code>optional int32 num = 2;</code>
*
* <pre>
*
* </pre>
*/
public int getNum() {
return num_;
}
private void initFields() {
type_ = 0;
num_ = 0;
}
private byte memoizedIsInitialized = -1;
public final boolean isInitialized() {
byte isInitialized = memoizedIsInitialized;
if (isInitialized != -1) return isInitialized == 1;
memoizedIsInitialized = 1;
return true;
}
public void writeTo(com.google.protobuf.CodedOutputStream output)
throws java.io.IOException {
getSerializedSize();
if (((bitField0_ & 0x00000001) == 0x00000001)) {
output.writeInt32(1, type_);
}
if (((bitField0_ & 0x00000002) == 0x00000002)) {
output.writeInt32(2, num_);
}
getUnknownFields().writeTo(output);
}
private int memoizedSerializedSize = -1;
public int getSerializedSize() {
int size = memoizedSerializedSize;
if (size != -1) return size;
size = 0;
if (((bitField0_ & 0x00000001) == 0x00000001)) {
size += com.google.protobuf.CodedOutputStream
.computeInt32Size(1, type_);
}
if (((bitField0_ & 0x00000002) == 0x00000002)) {
size += com.google.protobuf.CodedOutputStream
.computeInt32Size(2, num_);
}
size += getUnknownFields().getSerializedSize();
memoizedSerializedSize = size;
return size;
}
private static final long serialVersionUID = 0L;
@java.lang.Override
protected java.lang.Object writeReplace()
throws java.io.ObjectStreamException {
return super.writeReplace();
}
public static com.ljsd.jieling.protocols.CommonProto.GuildHelpInfo parseFrom(
com.google.protobuf.ByteString data)
throws com.google.protobuf.InvalidProtocolBufferException {
return PARSER.parseFrom(data);
}
public static com.ljsd.jieling.protocols.CommonProto.GuildHelpInfo parseFrom(
com.google.protobuf.ByteString data,
com.google.protobuf.ExtensionRegistryLite extensionRegistry)
throws com.google.protobuf.InvalidProtocolBufferException {
return PARSER.parseFrom(data, extensionRegistry);
}
public static com.ljsd.jieling.protocols.CommonProto.GuildHelpInfo parseFrom(byte[] data)
throws com.google.protobuf.InvalidProtocolBufferException {
return PARSER.parseFrom(data);
}
public static com.ljsd.jieling.protocols.CommonProto.GuildHelpInfo parseFrom(
byte[] data,
com.google.protobuf.ExtensionRegistryLite extensionRegistry)
throws com.google.protobuf.InvalidProtocolBufferException {
return PARSER.parseFrom(data, extensionRegistry);
}
public static com.ljsd.jieling.protocols.CommonProto.GuildHelpInfo parseFrom(java.io.InputStream input)
throws java.io.IOException {
return PARSER.parseFrom(input);
}
public static com.ljsd.jieling.protocols.CommonProto.GuildHelpInfo parseFrom(
java.io.InputStream input,
com.google.protobuf.ExtensionRegistryLite extensionRegistry)
throws java.io.IOException {
return PARSER.parseFrom(input, extensionRegistry);
}
public static com.ljsd.jieling.protocols.CommonProto.GuildHelpInfo parseDelimitedFrom(java.io.InputStream input)
throws java.io.IOException {
return PARSER.parseDelimitedFrom(input);
}
public static com.ljsd.jieling.protocols.CommonProto.GuildHelpInfo parseDelimitedFrom(
java.io.InputStream input,
com.google.protobuf.ExtensionRegistryLite extensionRegistry)
throws java.io.IOException {
return PARSER.parseDelimitedFrom(input, extensionRegistry);
}
public static com.ljsd.jieling.protocols.CommonProto.GuildHelpInfo parseFrom(
com.google.protobuf.CodedInputStream input)
throws java.io.IOException {
return PARSER.parseFrom(input);
}
public static com.ljsd.jieling.protocols.CommonProto.GuildHelpInfo parseFrom(
com.google.protobuf.CodedInputStream input,
com.google.protobuf.ExtensionRegistryLite extensionRegistry)
throws java.io.IOException {
return PARSER.parseFrom(input, extensionRegistry);
}
public static Builder newBuilder() { return Builder.create(); }
public Builder newBuilderForType() { return newBuilder(); }
public static Builder newBuilder(com.ljsd.jieling.protocols.CommonProto.GuildHelpInfo prototype) {
return newBuilder().mergeFrom(prototype);
}
public Builder toBuilder() { return newBuilder(this); }
@java.lang.Override
protected Builder newBuilderForType(
com.google.protobuf.GeneratedMessage.BuilderParent parent) {
Builder builder = new Builder(parent);
return builder;
}
/**
* Protobuf type {@code com.ljsd.jieling.protocols.GuildHelpInfo}
*/
public static final class Builder extends
com.google.protobuf.GeneratedMessage.Builder<Builder>
implements com.ljsd.jieling.protocols.CommonProto.GuildHelpInfoOrBuilder {
public static final com.google.protobuf.Descriptors.Descriptor
getDescriptor() {
return com.ljsd.jieling.protocols.CommonProto.internal_static_com_ljsd_jieling_protocols_GuildHelpInfo_descriptor;
}
protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
internalGetFieldAccessorTable() {
return com.ljsd.jieling.protocols.CommonProto.internal_static_com_ljsd_jieling_protocols_GuildHelpInfo_fieldAccessorTable
.ensureFieldAccessorsInitialized(
com.ljsd.jieling.protocols.CommonProto.GuildHelpInfo.class, com.ljsd.jieling.protocols.CommonProto.GuildHelpInfo.Builder.class);
}
// Construct using com.ljsd.jieling.protocols.CommonProto.GuildHelpInfo.newBuilder()
private Builder() {
maybeForceBuilderInitialization();
}
private Builder(
com.google.protobuf.GeneratedMessage.BuilderParent parent) {
super(parent);
maybeForceBuilderInitialization();
}
private void maybeForceBuilderInitialization() {
if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
}
}
private static Builder create() {
return new Builder();
}
public Builder clear() {
super.clear();
type_ = 0;
bitField0_ = (bitField0_ & ~0x00000001);
num_ = 0;
bitField0_ = (bitField0_ & ~0x00000002);
return this;
}
public Builder clone() {
return create().mergeFrom(buildPartial());
}
public com.google.protobuf.Descriptors.Descriptor
getDescriptorForType() {
return com.ljsd.jieling.protocols.CommonProto.internal_static_com_ljsd_jieling_protocols_GuildHelpInfo_descriptor;
}
public com.ljsd.jieling.protocols.CommonProto.GuildHelpInfo getDefaultInstanceForType() {
return com.ljsd.jieling.protocols.CommonProto.GuildHelpInfo.getDefaultInstance();
}
public com.ljsd.jieling.protocols.CommonProto.GuildHelpInfo build() {
com.ljsd.jieling.protocols.CommonProto.GuildHelpInfo result = buildPartial();
if (!result.isInitialized()) {
throw newUninitializedMessageException(result);
}
return result;
}
public com.ljsd.jieling.protocols.CommonProto.GuildHelpInfo buildPartial() {
com.ljsd.jieling.protocols.CommonProto.GuildHelpInfo result = new com.ljsd.jieling.protocols.CommonProto.GuildHelpInfo(this);
int from_bitField0_ = bitField0_;
int to_bitField0_ = 0;
if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
to_bitField0_ |= 0x00000001;
}
result.type_ = type_;
if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
to_bitField0_ |= 0x00000002;
}
result.num_ = num_;
result.bitField0_ = to_bitField0_;
onBuilt();
return result;
}
public Builder mergeFrom(com.google.protobuf.Message other) {
if (other instanceof com.ljsd.jieling.protocols.CommonProto.GuildHelpInfo) {
return mergeFrom((com.ljsd.jieling.protocols.CommonProto.GuildHelpInfo)other);
} else {
super.mergeFrom(other);
return this;
}
}
public Builder mergeFrom(com.ljsd.jieling.protocols.CommonProto.GuildHelpInfo other) {
if (other == com.ljsd.jieling.protocols.CommonProto.GuildHelpInfo.getDefaultInstance()) return this;
if (other.hasType()) {
setType(other.getType());
}
if (other.hasNum()) {
setNum(other.getNum());
}
this.mergeUnknownFields(other.getUnknownFields());
return this;
}
public final boolean isInitialized() {
return true;
}
public Builder mergeFrom(
com.google.protobuf.CodedInputStream input,
com.google.protobuf.ExtensionRegistryLite extensionRegistry)
throws java.io.IOException {
com.ljsd.jieling.protocols.CommonProto.GuildHelpInfo parsedMessage = null;
try {
parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
} catch (com.google.protobuf.InvalidProtocolBufferException e) {
parsedMessage = (com.ljsd.jieling.protocols.CommonProto.GuildHelpInfo) e.getUnfinishedMessage();
throw e;
} finally {
if (parsedMessage != null) {
mergeFrom(parsedMessage);
}
}
return this;
}
private int bitField0_;
// optional int32 type = 1;
private int type_ ;
/**
* <code>optional int32 type = 1;</code>
*
* <pre>
*
* </pre>
*/
public boolean hasType() {
return ((bitField0_ & 0x00000001) == 0x00000001);
}
/**
* <code>optional int32 type = 1;</code>
*
* <pre>
*
* </pre>
*/
public int getType() {
return type_;
}
/**
* <code>optional int32 type = 1;</code>
*
* <pre>
*
* </pre>
*/
public Builder setType(int value) {
bitField0_ |= 0x00000001;
type_ = value;
onChanged();
return this;
}
/**
* <code>optional int32 type = 1;</code>
*
* <pre>
*
* </pre>
*/
public Builder clearType() {
bitField0_ = (bitField0_ & ~0x00000001);
type_ = 0;
onChanged();
return this;
}
// optional int32 num = 2;
private int num_ ;
/**
* <code>optional int32 num = 2;</code>
*
* <pre>
*
* </pre>
*/
public boolean hasNum() {
return ((bitField0_ & 0x00000002) == 0x00000002);
}
/**
* <code>optional int32 num = 2;</code>
*
* <pre>
*
* </pre>
*/
public int getNum() {
return num_;
}
/**
* <code>optional int32 num = 2;</code>
*
* <pre>
*
* </pre>
*/
public Builder setNum(int value) {
bitField0_ |= 0x00000002;
num_ = value;
onChanged();
return this;
}
/**
* <code>optional int32 num = 2;</code>
*
* <pre>
*
* </pre>
*/
public Builder clearNum() {
bitField0_ = (bitField0_ & ~0x00000002);
num_ = 0;
onChanged();
return this;
}
// @@protoc_insertion_point(builder_scope:com.ljsd.jieling.protocols.GuildHelpInfo)
}
static {
defaultInstance = new GuildHelpInfo(true);
defaultInstance.initFields();
}
// @@protoc_insertion_point(class_scope:com.ljsd.jieling.protocols.GuildHelpInfo)
}
private static com.google.protobuf.Descriptors.Descriptor
internal_static_com_ljsd_jieling_protocols_ErrorResponse_descriptor;
private static
@ -90737,6 +91278,11 @@ public final class CommonProto {
private static
com.google.protobuf.GeneratedMessage.FieldAccessorTable
internal_static_com_ljsd_jieling_protocols_CarGrapRecordItem_fieldAccessorTable;
private static com.google.protobuf.Descriptors.Descriptor
internal_static_com_ljsd_jieling_protocols_GuildHelpInfo_descriptor;
private static
com.google.protobuf.GeneratedMessage.FieldAccessorTable
internal_static_com_ljsd_jieling_protocols_GuildHelpInfo_fieldAccessorTable;
public static com.google.protobuf.Descriptors.FileDescriptor
getDescriptor() {
@ -91016,7 +91562,8 @@ public final class CommonProto {
"\001 \001(\005\022\022\n\nendingTime\030\002 \001(\005\022\r\n\005state\030\003 \001(\005" +
"\022\020\n\010totleAmt\030\004 \001(\005\"?\n\021CarGrapRecordItem\022" +
"\014\n\004time\030\001 \001(\005\022\013\n\003uid\030\002 \001(\005\022\017\n\007content\030\003 ",
"\001(\tB\002H\001"
"\001(\t\"*\n\rGuildHelpInfo\022\014\n\004type\030\001 \001(\005\022\013\n\003nu" +
"m\030\002 \001(\005B\002H\001"
};
com.google.protobuf.Descriptors.FileDescriptor.InternalDescriptorAssigner assigner =
new com.google.protobuf.Descriptors.FileDescriptor.InternalDescriptorAssigner() {
@ -91617,6 +92164,12 @@ public final class CommonProto {
com.google.protobuf.GeneratedMessage.FieldAccessorTable(
internal_static_com_ljsd_jieling_protocols_CarGrapRecordItem_descriptor,
new java.lang.String[] { "Time", "Uid", "Content", });
internal_static_com_ljsd_jieling_protocols_GuildHelpInfo_descriptor =
getDescriptor().getMessageTypes().get(98);
internal_static_com_ljsd_jieling_protocols_GuildHelpInfo_fieldAccessorTable = new
com.google.protobuf.GeneratedMessage.FieldAccessorTable(
internal_static_com_ljsd_jieling_protocols_GuildHelpInfo_descriptor,
new java.lang.String[] { "Type", "Num", });
return null;
}
};

View File

@ -2,7 +2,6 @@ package com.ljsd;
import com.mongodb.Mongo;
import com.mongodb.MongoClient;
import com.mongodb.MongoClientURI;
import org.springframework.data.redis.connection.jedis.JedisConnectionFactory;

View File

@ -29,7 +29,7 @@ import java.util.Map;
import java.util.Set;
import java.util.concurrent.ConcurrentLinkedQueue;
//todo 对用户频繁访问加限流处理。
public class HandlerLogicThread extends Thread{
private static final Logger LOGGER = LoggerFactory.getLogger(HandlerLogicThread.class);
private static Set<Integer> whiteMsg = new HashSet<>();

View File

@ -13,6 +13,7 @@ import com.ljsd.jieling.logic.activity.ActivityLogic;
import com.ljsd.jieling.logic.activity.FightMainEventHandler;
import com.ljsd.jieling.logic.activity.RemoveEventHeroHandler;
import com.ljsd.jieling.logic.activity.UserLevelEventHandler;
import com.ljsd.jieling.logic.activity.eventhandler.ActivityStateChangeHandler;
import com.ljsd.jieling.logic.activity.eventhandler.BuyGoodsDirectHandler;
import com.ljsd.jieling.logic.arena.ArenaLogic;
import com.ljsd.jieling.logic.championship.ChampionshipLogic;
@ -243,6 +244,7 @@ public class GlobalDataManaager implements IManager {
new RemoveEventHeroHandler();
new FightMainEventHandler();
new BuyGoodsDirectHandler();
new ActivityStateChangeHandler();
ChampionshipLogic.minuteCheck(true);
GuildFightLogic.minuteCheckForCarFight();
} catch (Exception e) {

View File

@ -8,8 +8,11 @@ import com.ljsd.jieling.jbean.*;
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.event.ActivityStateChangeEvent;
import com.ljsd.jieling.logic.activity.event.BuyGoodsDirectEvent;
import com.ljsd.jieling.logic.activity.event.IEvent;
import com.ljsd.jieling.logic.activity.event.Poster;
import com.ljsd.jieling.logic.dao.UserManager;
import com.ljsd.jieling.logic.dao.root.User;
import com.ljsd.jieling.logic.mail.MailLogic;
@ -19,6 +22,7 @@ import com.ljsd.jieling.protocols.MessageTypeProto;
import com.ljsd.jieling.protocols.PlayerInfoProto;
import com.ljsd.jieling.util.ItemUtil;
import com.ljsd.jieling.util.MessageUtil;
import com.ljsd.jieling.util.ToolsUtil;
import util.TimeUtils;
import config.SActivityRewardConfig;
import config.SErrorCodeEerverConfig;
@ -281,6 +285,11 @@ public abstract class AbstractActivity implements IActivity, IEventHandler {
public void onActivityEndOnMySelf(User user) throws Exception {
}
private final void activityCLoseInvoke(){
}
/**
@ -325,10 +334,11 @@ public abstract class AbstractActivity implements IActivity, IEventHandler {
}
void setOpenState(User user,int openState){
public void setOpenState(User user,int openState){
ActivityMission activityMission = user.getActivityManager().getActivityMissionMap().get(id);
if(activityMission != null){
activityMission.setActivityState(openState);
Poster.getPoster().dispatchEvent(new ActivityStateChangeEvent(user.getId(),id,openState));
}
}

View File

@ -325,13 +325,6 @@ public class ActivityLogic implements IEventHandler{
}
//非角色活动开启通知
openNewActivityIds.add(openActivityId);
if(sGlobalActivity.getShopId()!=null && sGlobalActivity.getShopId().length>0){
long startTime = ToolsUtil.getTimeLong(sGlobalActivity.getStartTimeLong(),sGlobalActivity.getEndTimeLong(),sGlobalActivity.getTime(),0, 1);
long endTime = ToolsUtil.getTimeLong(sGlobalActivity.getStartTimeLong(),sGlobalActivity.getEndTimeLong(),sGlobalActivity.getTime(),0, 2);
for (int shopId : sGlobalActivity.getShopId()) {
checkNeedOpenStore(user,shopId,startTime,endTime);
}
}
}
Map<Integer, ActivityMission> activityMissionMap = activityManager.getActivityMissionMap();
for (SGlobalActivity sGlobalActivity : sGlobalActivityMap.values()) {
@ -377,9 +370,6 @@ public class ActivityLogic implements IEventHandler{
continue;
}
openNewActivityIds.add(activityId);
for (int shopID : sGlobalActivity.getShopId()) {
checkNeedOpenStore(user,shopID,startTime,endTime);
}
} else {
long endTime = ToolsUtil.getTimeLong(sGlobalActivity.getStartTimeLong(),sGlobalActivity.getEndTimeLong(),sGlobalActivity.getTime(),userCreateTime, 2);
@ -399,6 +389,7 @@ public class ActivityLogic implements IEventHandler{
if(activityMission.getOpenType()!=ActivityType.CLOSE_STATE){
abstractActivity.onActivityEndSelfWithDealReward(user);
abstractActivity.setOpenState(user,ActivityType.CLOSE_STATE);
Poster.getPoster().dispatchEvent(new ActivityStateChangeEvent(user.getId(),activityId,ActivityType.CLOSE_STATE));
}
if(isRemoveInfo){

View File

@ -17,6 +17,7 @@ import config.SGlobalSystemConfig;
import config.SMainLevelConfig;
import manager.STableManager;
import java.util.ArrayList;
import java.util.List;
@ -41,30 +42,28 @@ public class FightMainEventHandler implements IEventHandler{
}
//检测更新vip是否有新开
user.getPlayerInfoManager().updateVipInfo(GlobalsDef.MAIN_LEVEL_UNLOCK_PRIVILEGE,10_000_000 * (fightId % 10) + fightId);
for(SGlobalActivity sGlobalActivity : SGlobalActivity.getsGlobalActivityMap().values()){
List<SGlobalActivity> sGlobalActivityList = SGlobalActivity.sGlobalActivityMapByOpenRules.getOrDefault(1, new ArrayList<>(0));
for(SGlobalActivity sGlobalActivity : sGlobalActivityList){
int[] openRules = sGlobalActivity.getOpenRules();
if(openRules!=null && openRules.length>0 && openRules[0] == 1){
ActivityMission activityMission = user.getActivityManager().getActivityMissionMap().get(sGlobalActivity.getId());
if(activityMission!=null && activityMission.getActivityState() == ActivityType.UNOPEN_STATE){
int virtureId = SMainLevelConfig.config.get( openRules[1]).getVirtureId();
SMainLevelConfig mineMainLevelConfig = SMainLevelConfig.config.get(fightId);
ActivityMission activityMission = user.getActivityManager().getActivityMissionMap().get(sGlobalActivity.getId());
if(activityMission!=null && activityMission.getActivityState() == ActivityType.UNOPEN_STATE){
int virtureId = SMainLevelConfig.config.get( openRules[1]).getVirtureId();
SMainLevelConfig mineMainLevelConfig = SMainLevelConfig.config.get(fightId);
// if(user.getMainLevelManager().getState() == 2 ){
// mineMainLevelConfig = SMainLevelConfig.config.get(user.getMainLevelManager().getFightId());
// }
if(mineMainLevelConfig!=null && virtureId <= mineMainLevelConfig.getVirtureId()){
activityMission.setActivityState(ActivityType.OPEN_STATE);
ActivityLogic.getInstance().sendActivityInfo(user,sGlobalActivity.getId());
if(sGlobalActivity.getShopId().length>0){
long startTime = ToolsUtil.getTimeLong(sGlobalActivity.getStartTimeLong(),sGlobalActivity.getEndTimeLong(),sGlobalActivity.getTime(),user.getPlayerInfoManager().getCreateTime(), 1);
long endTime = ToolsUtil.getTimeLong(sGlobalActivity.getStartTimeLong(),sGlobalActivity.getEndTimeLong(),sGlobalActivity.getTime(),user.getPlayerInfoManager().getCreateTime(), 2);
for (int shopId : sGlobalActivity.getShopId()) {
ActivityLogic.getInstance().checkNeedOpenStore(user,shopId,startTime,endTime);
}
if(mineMainLevelConfig!=null && virtureId <= mineMainLevelConfig.getVirtureId()){
activityMission.setActivityState(ActivityType.OPEN_STATE);
ActivityLogic.getInstance().sendActivityInfo(user,sGlobalActivity.getId());
if(sGlobalActivity.getShopId().length>0){
long startTime = ToolsUtil.getTimeLong(sGlobalActivity.getStartTimeLong(),sGlobalActivity.getEndTimeLong(),sGlobalActivity.getTime(),user.getPlayerInfoManager().getCreateTime(), 1);
long endTime = ToolsUtil.getTimeLong(sGlobalActivity.getStartTimeLong(),sGlobalActivity.getEndTimeLong(),sGlobalActivity.getTime(),user.getPlayerInfoManager().getCreateTime(), 2);
for (int shopId : sGlobalActivity.getShopId()) {
ActivityLogic.getInstance().checkNeedOpenStore(user,shopId,startTime,endTime);
}
}
}
}
}
List<SGlobalSystemConfig> sGlobalSystemConfigs = STableManager.getFigureConfig(CommonStaticConfig.class).getsGlobalSystemConfigMapByTypeAndConditionMap().get(1).get(fightId);

View File

@ -15,8 +15,12 @@ class GrowthFundActivity extends AbstractActivity {
@Override
boolean takeRewardsProcess(ISession session, SActivityRewardConfig sActivityRewardConfig, ActivityProgressInfo activityProgressInfo) throws Exception {
int[][] values = sActivityRewardConfig.getValues();
User user = UserManager.getUser(session.getUid());
if(user.getPlayerInfoManager().getRechargeInfo().getHadBuyFound() == 0){
return false;
}
int type = values[0][0];
int value = values[0][1];
if(type == 9){

View File

@ -5,6 +5,7 @@ import com.ljsd.jieling.core.GlobalsDef;
import com.ljsd.jieling.core.VipPrivilegeType;
import com.ljsd.jieling.globals.BIReason;
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;
@ -20,6 +21,7 @@ import config.SPrivilegeTypeConfig;
import manager.STableManager;
import util.TimeUtils;
import java.util.ArrayList;
import java.util.List;
public class UserLevelEventHandler implements IEventHandler,IPrivilegeChange{
@ -49,25 +51,16 @@ public class UserLevelEventHandler implements IEventHandler,IPrivilegeChange{
}
}
for(SGlobalActivity sGlobalActivity : SGlobalActivity.getsGlobalActivityMap().values()){
List<SGlobalActivity> sGlobalActivities = SGlobalActivity.sGlobalActivityMapByOpenRules.getOrDefault(2,new ArrayList<>(0));
for(SGlobalActivity sGlobalActivity : sGlobalActivities){
int[] openRules = sGlobalActivity.getOpenRules();
if(openRules!=null && openRules.length>0 && openRules[0] == 2){
ActivityMission activityMission = user.getActivityManager().getActivityMissionMap().get(sGlobalActivity.getId());
if(activityMission!=null && activityMission.getActivityState() == ActivityType.UNOPEN_STATE){
if(userLevelEvent.getLevel()>=openRules[1]){
activityMission.setActivityState(ActivityType.OPEN_STATE);
ActivityLogic.getInstance().sendActivityInfo(user,sGlobalActivity.getId());
if(sGlobalActivity.getShopId().length>0){
long startTime = ToolsUtil.getTimeLong(sGlobalActivity.getStartTimeLong(),sGlobalActivity.getEndTimeLong(),sGlobalActivity.getTime(),user.getPlayerInfoManager().getCreateTime(), 1);
long endTime = ToolsUtil.getTimeLong(sGlobalActivity.getStartTimeLong(),sGlobalActivity.getEndTimeLong(),sGlobalActivity.getTime(),user.getPlayerInfoManager().getCreateTime(), 2);
for (int shopId : sGlobalActivity.getShopId()) {
ActivityLogic.getInstance().checkNeedOpenStore(user,shopId,startTime,endTime);
}
}
}
ActivityMission activityMission = user.getActivityManager().getActivityMissionMap().get(sGlobalActivity.getId());
if(activityMission!=null && activityMission.getActivityState() == ActivityType.UNOPEN_STATE){
if(userLevelEvent.getLevel()>=openRules[1]){
activityMission.setActivityState(ActivityType.OPEN_STATE);
ActivityLogic.getInstance().sendActivityInfo(user,sGlobalActivity.getId());
Poster.getPoster().dispatchEvent(new ActivityStateChangeEvent(user.getId(),sGlobalActivity.getId(),ActivityType.OPEN_STATE));
}
}
}
if(sGlobalSystemConfigs == null){

View File

@ -0,0 +1,25 @@
package com.ljsd.jieling.logic.activity.event;
public class ActivityStateChangeEvent implements IEvent{
private int uid;
private int activityId;
private int state;
public ActivityStateChangeEvent(int uid, int activityId, int state) {
this.uid = uid;
this.activityId = activityId;
this.state = state;
}
public int getUid() {
return uid;
}
public int getActivityId() {
return activityId;
}
public int getState() {
return state;
}
}

View File

@ -0,0 +1,55 @@
package com.ljsd.jieling.logic.activity.eventhandler;
import com.ljsd.jieling.jbean.ActivityMission;
import com.ljsd.jieling.logic.activity.*;
import com.ljsd.jieling.logic.activity.event.ActivityStateChangeEvent;
import com.ljsd.jieling.logic.activity.event.BuyGoodsDirectEvent;
import com.ljsd.jieling.logic.activity.event.IEvent;
import com.ljsd.jieling.logic.activity.event.Poster;
import com.ljsd.jieling.logic.dao.UserManager;
import com.ljsd.jieling.logic.dao.root.User;
import com.ljsd.jieling.util.ToolsUtil;
import config.SGlobalActivity;
import java.util.ArrayList;
import java.util.List;
public class ActivityStateChangeHandler implements IEventHandler {
public ActivityStateChangeHandler() {
Poster.getPoster().listenEvent(this, ActivityStateChangeEvent.class);
}
@Override
public void onEvent(IEvent event) throws Exception {
if( ! (event instanceof ActivityStateChangeEvent) ){
return;
}
ActivityStateChangeEvent activityStateChangeEvent = (ActivityStateChangeEvent) event;
int uid = activityStateChangeEvent.getUid();
User user = UserManager.getUser(uid);
int activityId = activityStateChangeEvent.getActivityId();
int state = activityStateChangeEvent.getState();
if(state == ActivityType.OPEN_STATE){
SGlobalActivity sGlobalActivity = SGlobalActivity.getsGlobalActivityMap().get(activityId);
if(sGlobalActivity.getShopId().length>0){
long startTime = ToolsUtil.getTimeLong(sGlobalActivity.getStartTimeLong(),sGlobalActivity.getEndTimeLong(),sGlobalActivity.getTime(),user.getPlayerInfoManager().getCreateTime(), 1);
long endTime = ToolsUtil.getTimeLong(sGlobalActivity.getStartTimeLong(),sGlobalActivity.getEndTimeLong(),sGlobalActivity.getTime(),user.getPlayerInfoManager().getCreateTime(), 2);
for (int shopId : sGlobalActivity.getShopId()) {
ActivityLogic.getInstance().checkNeedOpenStore(user,shopId,startTime,endTime);
}
}
if(sGlobalActivity.getCanBuyRechargeId()!=0){
user.getPlayerInfoManager().getRechargeInfo().putDyGoodsCanBuyTimes(sGlobalActivity.getCanBuyRechargeId(),1);
}
}else if(state == ActivityType.CLOSE_STATE){
List<SGlobalActivity> sGlobalActivities = SGlobalActivity.sGlobalActivityMapByType.getOrDefault(3, new ArrayList<>(0));
sGlobalActivities.stream().filter(s->s.getOpenRules()[1] == activityId).forEach(s->{
ActivityMission activityMissionWillOpen = user.getActivityManager().getActivityMissionMap().get(s.getId());
if(activityMissionWillOpen!=null && activityMissionWillOpen.getActivityState() == ActivityType.UNOPEN_STATE){
AbstractActivity abstractActivity = ActivityTypeEnum.getActicityType(s.getId());
abstractActivity.setOpenState(user,ActivityType.OPEN_STATE);
}
});
}
}
}

View File

@ -1012,9 +1012,7 @@ public class HeroLogic{
Map<Integer, Integer> soulEquipByPositionMap = hero.getSoulEquipByPositionMap();
Map<Integer, SEquipConfig> config = STableManager.getConfig(SEquipConfig.class);
soulEquipByPositionMap.values().forEach(e->{
if(config.get(e).getPassiveSkill()!=0){
skillList.add(config.get(e).getPassiveSkill());
}
Arrays.stream(config.get(e).getPassiveSkill()).forEach(skillList::add);
});
//法宝技能
int[] equipTalismana = tempHero.getEquipTalismana();

View File

@ -418,10 +418,6 @@ public class BuyGoodsLogic {
continue;
}
}
if(sRechargeCommodityConfig.getType() == 4 && rechargeInfo.getHadBuyFound() !=0){
continue;
}
int[] discountType = sRechargeCommodityConfig.getDiscountType();
int time = sRechargeCommodityConfig.getTime();
long startTime=0;
@ -471,7 +467,6 @@ public class BuyGoodsLogic {
}else {
rechargeInfo.getCacheSendedTypes().put(value, startTime);
}
dybuytime = rechargeInfo.getDyGoodsCanBuyTimes().getOrDefault(goodsId,0);
}
}else{
@ -516,6 +511,7 @@ public class BuyGoodsLogic {
}
CommonProto.GiftGoodsInfo.Builder builder = CommonProto.GiftGoodsInfo.newBuilder();
builder.setGoodsId(goodsId).setStartTime((int)(startTime/1000)).setBuyTimes(buyTimes).setEndTime((int)(endTime/1000));
dybuytime = rechargeInfo.getDyGoodsCanBuyTimes().getOrDefault(goodsId,0);
if(dybuytime!=-1){
builder.setDynamicBuyTimes(dybuytime);
}

View File

@ -55,7 +55,7 @@ public class SEquipConfig implements BaseConfig {
private int limit;
private int passiveSkill;
private int[] passiveSkill;
@ -161,7 +161,7 @@ public class SEquipConfig implements BaseConfig {
return limit;
}
public int getPassiveSkill() {
public int[] getPassiveSkill() {
return passiveSkill;
}

View File

@ -48,15 +48,22 @@ public class SGlobalActivity implements BaseConfig {
private int gapTime;
private int canBuyRechargeId;
public static Map<Integer, List<SGlobalActivity>> sGlobalActivityMapByType;
public static Map<Integer, List<SGlobalActivity>> sGlobalActivityMapByOpenRules;
@Override
public void init() throws Exception {
sGlobalActivityMapByType = new HashMap<>();
Map<Integer, List<SGlobalActivity>> sGlobalActivityMapByTypeTmp = new HashMap<>();
Map<Integer, List<SGlobalActivity>> sGlobalActivityMapByOpenRulesTmp = new HashMap<>();
Map<Integer, SGlobalActivity> config = STableManager.getConfig(SGlobalActivity.class);
for(SGlobalActivity sGlobalActivity : config.values()){
sGlobalActivityMapByType.computeIfAbsent(sGlobalActivity.getType(),n->new ArrayList<>()).add(sGlobalActivity);
sGlobalActivityMapByTypeTmp.computeIfAbsent(sGlobalActivity.getType(),n->new ArrayList<>()).add(sGlobalActivity);
if(sGlobalActivity.getOpenRules().length>0){
sGlobalActivityMapByOpenRulesTmp.computeIfAbsent(sGlobalActivity.getOpenRules()[0],n->new ArrayList<>()).add(sGlobalActivity);
}
int time = sGlobalActivity.getTime();
String startTime = sGlobalActivity.getStartTime();
String endtime = sGlobalActivity.getEndtime();
@ -74,6 +81,8 @@ public class SGlobalActivity implements BaseConfig {
}
sGlobalActivityMap = config;
sGlobalActivityMapByType = sGlobalActivityMapByTypeTmp;
sGlobalActivityMapByOpenRules = sGlobalActivityMapByOpenRulesTmp;
}
public static Map<Integer, SGlobalActivity> getsGlobalActivityMap() {
@ -159,4 +168,8 @@ public class SGlobalActivity implements BaseConfig {
public void setType(int type) {
this.type = type;
}
public int getCanBuyRechargeId() {
return canBuyRechargeId;
}
}