go_dreamfactory/modules/pay/api_getactivity.go
2023-07-13 14:20:22 +08:00

66 lines
1.6 KiB
Go

package pay
import (
"fmt"
"go_dreamfactory/comm"
"go_dreamfactory/pb"
)
// 参数校验
func (this *apiComp) GetActivityCheck(session comm.IUserSession, req *pb.PayGetActivityReq) (errdata *pb.ErrorData) {
return
}
// /获取系统公告
func (this *apiComp) GetActivity(session comm.IUserSession, req *pb.PayGetActivityReq) (errdata *pb.ErrorData) {
var (
activitys *pb.DBActivityGiftbag
info *pb.ActivityGiftbagItem
otime int64
err error
ok bool
)
if errdata = this.GetActivityCheck(session, req); errdata != nil {
return
}
if activitys, err = this.module.modelActivity.getUserActivitys(session.GetUserId()); err != nil {
errdata = &pb.ErrorData{
Code: pb.ErrorCode_DBError,
Title: pb.ErrorCode_DBError.ToString(),
Message: err.Error(),
}
return
}
if otime, ok = this.module.modelActivity.getopentime(req.Atype); !ok {
errdata = &pb.ErrorData{
Code: pb.ErrorCode_WarorderNoOpen,
Title: pb.ErrorCode_WarorderNoOpen.ToString(),
Message: fmt.Sprintf("Activity:%d no open", req.Atype),
}
return
}
if info, ok = activitys.Activitys[req.Atype]; !ok {
info = &pb.ActivityGiftbagItem{}
activitys.Activitys[req.Atype] = info
}
if info.Opentime != otime {
info.Opentime = otime
info.Items = make(map[int32]*pb.PayDailyItem)
if err = this.module.modelActivity.updateActivitys(session.GetUserId(), activitys); err != nil {
errdata = &pb.ErrorData{
Code: pb.ErrorCode_DBError,
Title: pb.ErrorCode_DBError.ToString(),
Message: err.Error(),
}
return
}
}
session.SendMsg(string(this.module.GetType()), "info", &pb.PayGetActivityResp{Info: info})
return
}