feat:完善项目信息

This commit is contained in:
henry
2022-01-11 17:40:08 +08:00
parent 58dc5fd6c9
commit 0d49575e06
3 changed files with 37 additions and 16 deletions

View File

@ -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)
}

View File

@ -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)
}

View File

@ -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)