83 lines
2.3 KiB
Go
83 lines
2.3 KiB
Go
package shopcenter
|
|
|
|
import (
|
|
"go_dreamfactory/comm"
|
|
"go_dreamfactory/pb"
|
|
cfg "go_dreamfactory/sys/configure/structs"
|
|
)
|
|
|
|
// 参数校验
|
|
func (this *apiComp) InfoCheck(session comm.IUserSession, req *pb.ShopCenterInfoReq) (errdata *pb.ErrorData) {
|
|
|
|
return
|
|
}
|
|
|
|
// 获取信息请求
|
|
func (this *apiComp) Info(session comm.IUserSession, req *pb.ShopCenterInfoReq) (errdata *pb.ErrorData) {
|
|
var (
|
|
info *pb.DBShopCenter
|
|
confs []*cfg.GameShopCenterControlData
|
|
activitys map[pb.HdType]*pb.DBHuodong
|
|
activity *pb.DBShopCenterItem
|
|
ok bool
|
|
err error
|
|
)
|
|
if errdata = this.InfoCheck(session, req); errdata != nil {
|
|
return
|
|
}
|
|
activitys = this.module.modelshop.getactivity()
|
|
if info, err = this.module.modelshop.getUserShopCenter(session.GetUserId()); err != nil {
|
|
errdata = &pb.ErrorData{
|
|
Code: pb.ErrorCode_DBError,
|
|
Title: pb.ErrorCode_DBError.ToString(),
|
|
Message: err.Error(),
|
|
}
|
|
return
|
|
}
|
|
if confs, err = this.module.configure.getGameShopCenterControls(); err != nil {
|
|
errdata = &pb.ErrorData{
|
|
Code: pb.ErrorCode_ConfigNoFound,
|
|
Title: pb.ErrorCode_ConfigNoFound.ToString(),
|
|
Message: err.Error(),
|
|
}
|
|
return
|
|
}
|
|
|
|
for _, v := range confs {
|
|
if activity, ok = info.Item[v.Id]; !ok {
|
|
if v.On == 0 {
|
|
info.Item[v.Id] = &pb.DBShopCenterItem{Id: v.Id, Open: true, Record: make(map[int32]bool)}
|
|
} else {
|
|
info.Item[v.Id] = &pb.DBShopCenterItem{Id: v.Id, Open: false, Record: make(map[int32]bool)}
|
|
}
|
|
activity = info.Item[v.Id]
|
|
}
|
|
if _, ok = activitys[pb.HdType_XSFundPhysical]; ok && v.Type == 3 {
|
|
activity.Open = true
|
|
activity.Opemtime = activitys[pb.HdType_XSFundPhysical].Stime
|
|
continue
|
|
}
|
|
if _, ok = activitys[pb.HdType_XSFundRecruit]; ok && v.Type == 4 {
|
|
activity.Open = true
|
|
activity.Opemtime = activitys[pb.HdType_XSFundRecruit].Stime
|
|
continue
|
|
}
|
|
if _, ok = activitys[pb.HdType_XSFundExp]; ok && v.Type == 5 {
|
|
activity.Open = true
|
|
activity.Opemtime = activitys[pb.HdType_XSFundExp].Stime
|
|
continue
|
|
}
|
|
}
|
|
if err = this.module.modelshop.Change(session.GetUserId(), map[string]interface{}{
|
|
"item": info.Item,
|
|
}); err != nil {
|
|
errdata = &pb.ErrorData{
|
|
Code: pb.ErrorCode_DBError,
|
|
Title: pb.ErrorCode_DBError.ToString(),
|
|
Message: err.Error(),
|
|
}
|
|
}
|
|
session.SendMsg(string(this.module.GetType()), "info", &pb.ShopCenterInfoResp{Info: info})
|
|
return
|
|
}
|