diff --git a/app/api/admin/api/service.go b/app/api/admin/api/service.go index 470e0f2..267b32e 100644 --- a/app/api/admin/api/service.go +++ b/app/api/admin/api/service.go @@ -39,6 +39,7 @@ func (*Service) InnovateDetail(c *gin.Context) { func (*Service) InnovateForm(c *gin.Context) { form := &struct { api.IDStringForm + api.TenantIDStringForm KindID string `json:"kind_id" form:"kind_id" binding:"required"` Title string `json:"title" form:"title" binding:"required"` Content string `json:"content" form:"content" binding:"required"` @@ -50,8 +51,9 @@ func (*Service) InnovateForm(c *gin.Context) { return } err := service.NewInnovate()(api.GetSession()(c).(*session.Admin)).Form(&service.InnovateParams{ - ID: form.Convert(), KindID: (&api.IDStringForm{ID: form.KindID}).Convert(), - Title: form.Title, Content: form.Content, Tags: form.Tags, Sort: form.Sort, + ID: form.IDStringForm.Convert(), TenantID: form.TenantIDStringForm.Convert(), + KindID: (&api.IDStringForm{ID: form.KindID}).Convert(), + Title: form.Title, Content: form.Content, Tags: form.Tags, Sort: form.Sort, }) api.APIResponse(err)(c) } @@ -89,6 +91,7 @@ func (*Service) InnovateKindSelect(c *gin.Context) { func (*Service) InnovateKindForm(c *gin.Context) { form := &struct { api.IDStringForm + api.TenantIDStringForm Title string `json:"title" form:"title" binding:"required"` Sort int `json:"sort" form:"sort"` }{} @@ -97,7 +100,7 @@ func (*Service) InnovateKindForm(c *gin.Context) { return } err := service.NewInnovate()(api.GetSession()(c).(*session.Admin)).KindForm(&service.InnovateKindParams{ - ID: form.Convert(), Title: form.Title, Sort: form.Sort, + ID: form.IDStringForm.Convert(), TenantID: form.TenantIDStringForm.Convert(), Title: form.Title, Sort: form.Sort, }) api.APIResponse(err)(c) } diff --git a/app/api/admin/controller/service/innovate.go b/app/api/admin/controller/service/innovate.go index b74b8a1..5cfa152 100644 --- a/app/api/admin/controller/service/innovate.go +++ b/app/api/admin/controller/service/innovate.go @@ -30,16 +30,17 @@ type ( } // InnovateParams 服务参数信息 InnovateParams struct { - ID, KindID uint64 - Title, Content string - Tags []string - Sort int + ID, TenantID, KindID uint64 + Title, Content string + Tags []string + Sort int } // InnovateKindInfo 服务分类信息 InnovateKindInfo struct { ID string `json:"id"` *model.ServiceInnovateKindInfo - Area string `json:"area"` + TenantID string `json:"tenant_id"` + Area string `json:"area"` } // InnovateKindSelectInfo 服务分类筛选信息 InnovateKindSelectInfo struct { @@ -48,9 +49,9 @@ type ( } // InnovateKindParams 服务分类参数信息 InnovateKindParams struct { - ID uint64 - Title string - Sort int + ID, TenantID uint64 + Title string + Sort int } ) @@ -134,9 +135,16 @@ func (c *Innovate) Form(params *InnovateParams) error { mServiceInnovate.Sort = params.Sort if mServiceInnovate.ID > 0 { + if c.TenantID <= 0 { + mServiceInnovate.TenantID = params.TenantID + } return model2.Updates(mServiceInnovate.ServiceInnovate, mServiceInnovate.ServiceInnovate) } - mServiceInnovate.TenantID = c.TenantID + mServiceInnovate.TenantID = params.TenantID + + if c.TenantID > 0 { + mServiceInnovate.TenantID = c.TenantID + } return model2.Create(mServiceInnovate.ServiceInnovate) } @@ -185,7 +193,7 @@ func (c *Innovate) Kind(tenantID uint64, title string, page, pageSize int) (*con for _, v := range out { list = append(list, &InnovateKindInfo{ - ID: v.GetEncodeID(), ServiceInnovateKindInfo: v, Area: v.FormatBasic(), + ID: v.GetEncodeID(), TenantID: v.GetEncodeTenantID(), ServiceInnovateKindInfo: v, Area: v.FormatBasic(), }) } return &controller.ReturnPages{Data: list, Count: count}, nil @@ -242,9 +250,16 @@ func (c *Innovate) KindForm(params *InnovateKindParams) error { mServiceInnovateKind.Sort = params.Sort if mServiceInnovateKind.ID > 0 { + if c.TenantID <= 0 { + mServiceInnovateKind.TenantID = params.TenantID + } return model2.Updates(mServiceInnovateKind.ServiceInnovateKind, mServiceInnovateKind.ServiceInnovateKind) } - mServiceInnovateKind.TenantID = c.TenantID + mServiceInnovateKind.TenantID = params.TenantID + + if c.TenantID > 0 { + mServiceInnovateKind.TenantID = c.TenantID + } return model2.Create(mServiceInnovateKind.ServiceInnovateKind) } diff --git a/app/api/admin/model/service_innovate_kind.go b/app/api/admin/model/service_innovate_kind.go index a194ecd..a17770e 100644 --- a/app/api/admin/model/service_innovate_kind.go +++ b/app/api/admin/model/service_innovate_kind.go @@ -4,6 +4,7 @@ import ( "SciencesServer/app/common/model" "SciencesServer/serve/orm" "fmt" + "time" ) type ServiceInnovateKind struct { @@ -12,14 +13,16 @@ type ServiceInnovateKind struct { type ServiceInnovateKindInfo struct { model.Model + model.ModelTenant model.Area - Title string `json:"title"` + Title string `json:"title"` + CreatedAt time.Time `json:"created_at"` } // Kind 分类信息 func (m *ServiceInnovateKind) Kind(page, pageSize int, count *int64, where ...*model.ModelWhere) ([]*ServiceInnovateKindInfo, error) { db := orm.GetDB().Table(m.TableName()+" AS k"). - Select("k.id", "i.title", "k.created_at", "t.province", "t.city"). + Select("k.id", "k.tenant_id", "k.title", "k.created_at", "t.province", "t.city"). Joins(fmt.Sprintf("LEFT JOIN %s AS t ON k.tenant_id = t.id", model.NewSysTenant().TableName())). Where("k.is_deleted = ?", model.DeleteStatusForNot)