活动开启结束通知
This commit is contained in:
parent
906cb85fc3
commit
e561b35f8f
@ -440,6 +440,7 @@ const ( //Rpc
|
||||
Rpc_Activity core.Rpc_Key = "Rpc_Activity"
|
||||
|
||||
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"
|
||||
"go_dreamfactory/sys/db"
|
||||
"go_dreamfactory/utils"
|
||||
|
||||
"go.mongodb.org/mongo-driver/bson"
|
||||
)
|
||||
|
||||
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_ActivityStar), this.Rpc_ActivityStar)
|
||||
|
||||
return
|
||||
}
|
||||
@ -450,6 +453,66 @@ func (this *Activity) Rpc_ActivityOver(ctx context.Context, args *pb.RPCGeneralR
|
||||
)
|
||||
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})
|
||||
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) {
|
||||
|
||||
this.TableName = comm.TableCaravan
|
||||
this.TableName = comm.TableHdInfo
|
||||
this.MCompModel.Init(service, module, comp, options)
|
||||
this.module = module.(*Timer)
|
||||
this.service = service.(base.IRPCXService)
|
||||
@ -47,9 +47,11 @@ func (this *Activity) Start() (err error) {
|
||||
if db.IsCross() {
|
||||
return
|
||||
}
|
||||
err = this.MCompModel.Start()
|
||||
if err = this.MCompModel.Start(); err != nil {
|
||||
return
|
||||
}
|
||||
timer := time.NewTicker(time.Second * 1)
|
||||
|
||||
this.LoadActivityData()
|
||||
go func() {
|
||||
locp:
|
||||
for {
|
||||
@ -86,13 +88,17 @@ func (this *Activity) LoadActivityData() {
|
||||
|
||||
func (this *Activity) CheckActivityData() {
|
||||
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 {
|
||||
if v.Etime > configure.Now().Unix() { // 有活动结束
|
||||
if v.Etime == configure.Now().Unix() { // 有活动结束
|
||||
szEnd = append(szEnd, v.Id)
|
||||
}
|
||||
if v.Stime == configure.Now().Unix() { // 有活动结束
|
||||
szStar = append(szStar, v.Id)
|
||||
}
|
||||
}
|
||||
if len(szEnd) > 0 {
|
||||
if err := this.service.RpcCall(
|
||||
@ -108,4 +114,18 @@ func (this *Activity) CheckActivityData() {
|
||||
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