活动开启结束通知
This commit is contained in:
parent
906cb85fc3
commit
e561b35f8f
@ -440,6 +440,7 @@ const ( //Rpc
|
|||||||
Rpc_Activity core.Rpc_Key = "Rpc_Activity"
|
Rpc_Activity core.Rpc_Key = "Rpc_Activity"
|
||||||
|
|
||||||
Rpc_ActivityOver core.Rpc_Key = "Rpc_ActivityOver" //活动结束
|
Rpc_ActivityOver core.Rpc_Key = "Rpc_ActivityOver" //活动结束
|
||||||
|
Rpc_ActivityStar core.Rpc_Key = "Rpc_ActivityStar" //活动开启
|
||||||
)
|
)
|
||||||
|
|
||||||
// 事件类型定义处
|
// 事件类型定义处
|
||||||
|
@ -14,6 +14,8 @@ import (
|
|||||||
cfg "go_dreamfactory/sys/configure/structs"
|
cfg "go_dreamfactory/sys/configure/structs"
|
||||||
"go_dreamfactory/sys/db"
|
"go_dreamfactory/sys/db"
|
||||||
"go_dreamfactory/utils"
|
"go_dreamfactory/utils"
|
||||||
|
|
||||||
|
"go.mongodb.org/mongo-driver/bson"
|
||||||
)
|
)
|
||||||
|
|
||||||
type Activity struct {
|
type Activity struct {
|
||||||
@ -111,6 +113,7 @@ func (this *Activity) Start() (err error) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
this.service.RegisterFunctionName(string(comm.Rpc_ActivityOver), this.Rpc_ActivityOver)
|
this.service.RegisterFunctionName(string(comm.Rpc_ActivityOver), this.Rpc_ActivityOver)
|
||||||
|
this.service.RegisterFunctionName(string(comm.Rpc_ActivityStar), this.Rpc_ActivityStar)
|
||||||
|
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
@ -450,6 +453,66 @@ func (this *Activity) Rpc_ActivityOver(ctx context.Context, args *pb.RPCGeneralR
|
|||||||
)
|
)
|
||||||
szOverActivity = args.Param2
|
szOverActivity = args.Param2
|
||||||
|
|
||||||
|
for _, v := range szOverActivity {
|
||||||
|
hd := &pb.DBHuodong{}
|
||||||
|
if err := this.modelhdList.DB.FindOne(core.SqlTable(this.modelhdList.TableName), bson.M{"_id": v}).Decode(hd); err != nil {
|
||||||
|
switch hd.Itype {
|
||||||
|
case pb.HdType_HdTypeWarorder, pb.HdType_SupplyWarOrder, pb.HdType_MoondreamWarOrder:
|
||||||
|
this.warorder.ActivityCloseNotice(hd)
|
||||||
|
break
|
||||||
|
case pb.HdType_HdTypePay, pb.HdType_ShopCenterPayPakcge:
|
||||||
|
this.pay.ActivityCloseNotice(hd)
|
||||||
|
break
|
||||||
|
case pb.HdType_XSFundPhysical, pb.HdType_XSFundRecruit, pb.HdType_XSFundExp:
|
||||||
|
this.shopcenter.ActivityCloseNotice(hd)
|
||||||
|
break
|
||||||
|
case pb.HdType_AddUpRecharge:
|
||||||
|
this.addrecharge.ActivityCloseNotice(hd)
|
||||||
|
break
|
||||||
|
case pb.HdType_KFSevenTask:
|
||||||
|
this.kftask.ActivityCloseNotice(hd)
|
||||||
|
break
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
this.Debug("szOverActivity", log.Field{Key: "args", Value: szOverActivity})
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
// 活动开启通知
|
||||||
|
func (this *Activity) Rpc_ActivityStar(ctx context.Context, args *pb.RPCGeneralReqB1, reply *pb.EmptyResp) (err error) {
|
||||||
|
this.Debug("Rpc_ActivityStar",
|
||||||
|
log.Field{Key: "args", Value: args.String()},
|
||||||
|
)
|
||||||
|
var (
|
||||||
|
szOverActivity []string
|
||||||
|
)
|
||||||
|
szOverActivity = args.Param2
|
||||||
|
|
||||||
|
for _, v := range szOverActivity {
|
||||||
|
hd := &pb.DBHuodong{}
|
||||||
|
if err := this.modelhdList.DB.FindOne(core.SqlTable(this.modelhdList.TableName), bson.M{"_id": v}).Decode(hd); err != nil {
|
||||||
|
switch hd.Itype {
|
||||||
|
case pb.HdType_HdTypeWarorder, pb.HdType_SupplyWarOrder, pb.HdType_MoondreamWarOrder:
|
||||||
|
this.warorder.ActivityOpenNotice(hd)
|
||||||
|
break
|
||||||
|
case pb.HdType_HdTypePay, pb.HdType_ShopCenterPayPakcge:
|
||||||
|
this.pay.ActivityOpenNotice(hd)
|
||||||
|
break
|
||||||
|
case pb.HdType_XSFundPhysical, pb.HdType_XSFundRecruit, pb.HdType_XSFundExp:
|
||||||
|
this.shopcenter.ActivityOpenNotice(hd)
|
||||||
|
break
|
||||||
|
case pb.HdType_AddUpRecharge:
|
||||||
|
this.addrecharge.ActivityOpenNotice(hd)
|
||||||
|
break
|
||||||
|
case pb.HdType_KFSevenTask:
|
||||||
|
this.kftask.ActivityOpenNotice(hd)
|
||||||
|
break
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
this.Debug("szOverActivity", log.Field{Key: "args", Value: szOverActivity})
|
this.Debug("szOverActivity", log.Field{Key: "args", Value: szOverActivity})
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
@ -32,7 +32,7 @@ type Activity struct {
|
|||||||
//组件初始化接口
|
//组件初始化接口
|
||||||
func (this *Activity) Init(service core.IService, module core.IModule, comp core.IModuleComp, options core.IModuleOptions) (err error) {
|
func (this *Activity) Init(service core.IService, module core.IModule, comp core.IModuleComp, options core.IModuleOptions) (err error) {
|
||||||
|
|
||||||
this.TableName = comm.TableCaravan
|
this.TableName = comm.TableHdInfo
|
||||||
this.MCompModel.Init(service, module, comp, options)
|
this.MCompModel.Init(service, module, comp, options)
|
||||||
this.module = module.(*Timer)
|
this.module = module.(*Timer)
|
||||||
this.service = service.(base.IRPCXService)
|
this.service = service.(base.IRPCXService)
|
||||||
@ -47,9 +47,11 @@ func (this *Activity) Start() (err error) {
|
|||||||
if db.IsCross() {
|
if db.IsCross() {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
err = this.MCompModel.Start()
|
if err = this.MCompModel.Start(); err != nil {
|
||||||
|
return
|
||||||
|
}
|
||||||
timer := time.NewTicker(time.Second * 1)
|
timer := time.NewTicker(time.Second * 1)
|
||||||
|
this.LoadActivityData()
|
||||||
go func() {
|
go func() {
|
||||||
locp:
|
locp:
|
||||||
for {
|
for {
|
||||||
@ -86,13 +88,17 @@ func (this *Activity) LoadActivityData() {
|
|||||||
|
|
||||||
func (this *Activity) CheckActivityData() {
|
func (this *Activity) CheckActivityData() {
|
||||||
var (
|
var (
|
||||||
szEnd []string
|
szEnd []string // 活动结束
|
||||||
|
szStar []string // 有活动开启
|
||||||
)
|
)
|
||||||
this.module.Debugf("ticker:%d", configure.Now().Unix())
|
//this.module.Debugf("ticker:%d", configure.Now().Unix())
|
||||||
for _, v := range this.activity {
|
for _, v := range this.activity {
|
||||||
if v.Etime > configure.Now().Unix() { // 有活动结束
|
if v.Etime == configure.Now().Unix() { // 有活动结束
|
||||||
szEnd = append(szEnd, v.Id)
|
szEnd = append(szEnd, v.Id)
|
||||||
}
|
}
|
||||||
|
if v.Stime == configure.Now().Unix() { // 有活动结束
|
||||||
|
szStar = append(szStar, v.Id)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
if len(szEnd) > 0 {
|
if len(szEnd) > 0 {
|
||||||
if err := this.service.RpcCall(
|
if err := this.service.RpcCall(
|
||||||
@ -108,4 +114,18 @@ func (this *Activity) CheckActivityData() {
|
|||||||
this.module.Errorln(err)
|
this.module.Errorln(err)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if len(szStar) > 0 {
|
||||||
|
if err := this.service.RpcCall(
|
||||||
|
context.Background(),
|
||||||
|
comm.Service_Worker,
|
||||||
|
string(comm.Rpc_ActivityStar),
|
||||||
|
pb.RPCGeneralReqB1{
|
||||||
|
Param1: "starActivity",
|
||||||
|
Param2: szStar,
|
||||||
|
},
|
||||||
|
nil,
|
||||||
|
); err != nil {
|
||||||
|
this.module.Errorln(err)
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user