feat:完善项目信息

This commit is contained in:
henry
2022-01-13 10:14:02 +08:00
parent a15f0fff2b
commit e3909112ce
9 changed files with 40 additions and 36 deletions

View File

@ -18,7 +18,7 @@ func (a *Config) Index(c *gin.Context) {
return return
} }
data, err := controller.NewConfig()().Config(form.Kind, form.Page, form.PageSize) data, err := controller.NewConfig()().Config(form.Kind, form.Page, form.PageSize)
api.APIResponse(err, data) api.APIResponse(err, data)(c)
} }
func (a *Config) Add(c *gin.Context) { func (a *Config) Add(c *gin.Context) {
@ -33,7 +33,7 @@ func (a *Config) Add(c *gin.Context) {
return return
} }
err := controller.NewConfig()().Add(form.Kind, form.Name, form.Key, form.Value) err := controller.NewConfig()().Add(form.Kind, form.Name, form.Key, form.Value)
api.APIResponse(err) api.APIResponse(err)(c)
} }
func (a *Config) Edit(c *gin.Context) { func (a *Config) Edit(c *gin.Context) {
@ -45,5 +45,5 @@ func (a *Config) Edit(c *gin.Context) {
return return
} }
err := controller.NewConfig()().Form(form.Params) err := controller.NewConfig()().Form(form.Params)
api.APIResponse(err) api.APIResponse(err)(c)
} }

View File

@ -25,8 +25,7 @@ func (*Sys) IndustryForm(c *gin.Context) {
return return
} }
err := sys.NewIndustry()(api.GetSession()(c).(*session.Admin)).Form(&sys.IndustryParams{ err := sys.NewIndustry()(api.GetSession()(c).(*session.Admin)).Form(&sys.IndustryParams{
ID: form.IDStringForm.Convert(), PatentID: (&api.IDStringForm{ID: form.ParentID}).Convert(), ID: form.IDStringForm.Convert(), PatentID: (&api.IDStringForm{ID: form.ParentID}).Convert(), Name: form.Name,
Name: form.Name,
}) })
api.APIResponse(err)(c) api.APIResponse(err)(c)
} }
@ -58,11 +57,11 @@ func (*Sys) NavigationForm(c *gin.Context) {
api.IDStringForm api.IDStringForm
api.TenantIDStringForm api.TenantIDStringForm
ParentID string `json:"parent_id" form:"parent_id"` ParentID string `json:"parent_id" form:"parent_id"`
Title string `json:"title" form:"title"` Title string `json:"title" form:"title" binding:"required"`
Link string `json:"link" form:"link"` Link string `json:"link" form:"link" binding:"required"`
IsTarget int `json:"is_target" form:"is_target"` IsTarget int `json:"is_target" form:"is_target"`
Sort int `json:"sort" form:"sort"` Sort int `json:"sort" form:"sort"`
Status int `json:"status" form:"status"` Status int `json:"status" form:"status" binding:"required"`
}{} }{}
if err := api.Bind(form)(c); err != nil { if err := api.Bind(form)(c); err != nil {
api.APIFailure(err.(error))(c) api.APIFailure(err.(error))(c)

View File

@ -10,6 +10,7 @@ import (
"SciencesServer/utils" "SciencesServer/utils"
"errors" "errors"
"gorm.io/gorm" "gorm.io/gorm"
"strings"
"time" "time"
) )
@ -24,14 +25,15 @@ type (
InstanceInfo struct { InstanceInfo struct {
ID string `json:"id"` ID string `json:"id"`
*model.ActivityInstanceInfo *model.ActivityInstanceInfo
Area string `json:"area"` Area string `json:"area"`
Industrys []string `json:"industrys"` Industry string `json:"industry"`
} }
// InstanceDetailInfo 活动详细信息 // InstanceDetailInfo 活动详细信息
InstanceDetailInfo struct { InstanceDetailInfo struct {
ID string `json:"id"` ID string `json:"id"`
TenantID string `json:"tenant_id"` TenantID string `json:"tenant_id"`
*model2.ActivityInstance *model2.ActivityInstance
Industrys []string `json:"industrys"`
} }
// InstanceParams 活动参数信息 // InstanceParams 活动参数信息
InstanceParams struct { InstanceParams struct {
@ -86,11 +88,16 @@ func (c *Instance) Index(tenantID uint64, title, contact, contactMobile string,
list := make([]*InstanceInfo, 0) list := make([]*InstanceInfo, 0)
for _, v := range out { for _, v := range out {
_industry := make([]string, 0)
for _, v := range v.GetIndustryAttribute() {
_industry = append(_industry, config.GetIndustryInfo(v, "-"))
}
list = append(list, &InstanceInfo{ list = append(list, &InstanceInfo{
ID: v.GetEncodeID(), ID: v.GetEncodeID(),
ActivityInstanceInfo: v, ActivityInstanceInfo: v,
Area: v.FormatBasic(), Area: v.FormatBasic(),
Industrys: v.GetIndustryAttribute(), Industry: strings.Join(_industry, ""),
}) })
} }
return &controller.ReturnPages{Data: list, Count: count}, nil return &controller.ReturnPages{Data: list, Count: count}, nil
@ -112,6 +119,7 @@ func (c *Instance) Detail(id uint64) (*InstanceDetailInfo, error) {
ID: mActivityInstance.GetEncodeID(), ID: mActivityInstance.GetEncodeID(),
TenantID: mActivityInstance.GetEncodeTenantID(), TenantID: mActivityInstance.GetEncodeTenantID(),
ActivityInstance: mActivityInstance.ActivityInstance, ActivityInstance: mActivityInstance.ActivityInstance,
Industrys: mActivityInstance.GetIndustryAttribute(),
}, nil }, nil
} }
@ -135,6 +143,7 @@ func (c *Instance) Form(params *InstanceParams) error {
} }
mActivityInstance.Title = params.Title mActivityInstance.Title = params.Title
mActivityInstance.Contact = params.Contact mActivityInstance.Contact = params.Contact
mActivityInstance.ContactMobile = params.ContactMobile
mActivityInstance.BeginAt = utils.DateTimeToTime(params.BeginAt) mActivityInstance.BeginAt = utils.DateTimeToTime(params.BeginAt)
mActivityInstance.FinishAt = utils.DateTimeToTime(params.FinishAt) mActivityInstance.FinishAt = utils.DateTimeToTime(params.FinishAt)
mActivityInstance.JoinDeadline = utils.DateTimeToTime(params.JoinDeadline) mActivityInstance.JoinDeadline = utils.DateTimeToTime(params.JoinDeadline)
@ -148,6 +157,7 @@ func (c *Instance) Form(params *InstanceParams) error {
mActivityInstance.NotifyCrowd = params.NotifyCrowd mActivityInstance.NotifyCrowd = params.NotifyCrowd
mActivityInstance.IsHome = params.IsHome mActivityInstance.IsHome = params.IsHome
mActivityInstance.Sort = params.Sort mActivityInstance.Sort = params.Sort
mActivityInstance.Content = params.Content
mActivityInstance.Status = model2.ActivityInstanceStatus(params.Status) mActivityInstance.Status = model2.ActivityInstanceStatus(params.Status)
if mActivityInstance.ID > 0 { if mActivityInstance.ID > 0 {

View File

@ -46,10 +46,10 @@ func (c *Industry) tree(src []*model2.SysIndustry, parentID uint64) []*IndustryI
// Instance 首页信息 // Instance 首页信息
func (c *Industry) Instance() ([]*IndustryInfo, error) { func (c *Industry) Instance() ([]*IndustryInfo, error) {
mSysIndustry := new(model.SysIndustry) mSysIndustry := model.NewSysIndustry()
out := make([]*model2.SysIndustry, 0) out := make([]*model2.SysIndustry, 0)
if err := model2.ScanFields(mSysIndustry.SysIndustry, out, []string{"id", "parent_id", "name"}); err != nil { if err := model2.ScanFields(mSysIndustry.SysIndustry, &out, []string{"id", "parent_id", "name"}); err != nil {
return nil, err return nil, err
} }
return c.tree(out, 0), nil return c.tree(out, 0), nil

View File

@ -19,7 +19,7 @@ type ActivityInstanceInfo struct {
// Activity 活动信息 // Activity 活动信息
func (m *ActivityInstance) Activity(page, pageSize int, count *int64, where ...*model.ModelWhere) ([]*ActivityInstanceInfo, error) { func (m *ActivityInstance) Activity(page, pageSize int, count *int64, where ...*model.ModelWhere) ([]*ActivityInstanceInfo, error) {
db := orm.GetDB().Table(m.TableName()+" AS a"). db := orm.GetDB().Table(m.TableName()+" AS a").
Select("a.id", "a.tenant_id", "a.image", "a.title", "a.contact", "a.contact_mobile", "a.begin_at", Select("a.id", "a.tenant_id", "a.image", "a.title", "a.contact", "a.industry", "a.contact_mobile", "a.begin_at",
"a.finish_at", "a.join_deadline", "a.amount", "a.max_number", "a.status", "a.created_at", "j.count AS join_count", "a.finish_at", "a.join_deadline", "a.amount", "a.max_number", "a.status", "a.created_at", "j.count AS join_count",
"t.province", "t.city"). "t.province", "t.city").
Joins(fmt.Sprintf("LEFT JOIN (SELECT activity_id, COUNT(id) AS count FROM %s WHERE is_deleted = %d AND status = %d GROUP BY activity_id) AS j ON a.id = j.activity_id", Joins(fmt.Sprintf("LEFT JOIN (SELECT activity_id, COUNT(id) AS count FROM %s WHERE is_deleted = %d AND status = %d GROUP BY activity_id) AS j ON a.id = j.activity_id",

View File

@ -24,7 +24,12 @@ func GetIndustryInfo(industry, mark string) string {
out := make([]string, 0) out := make([]string, 0)
for _, v := range obj { for _, v := range obj {
out = append(out, MemoryForIndustryInfo[v]) data, has := MemoryForIndustryInfo[v]
if !has {
data = "未知"
}
out = append(out, data)
} }
return strings.Join(out, "-") return strings.Join(out, "-")
} }

View File

@ -1,23 +1,9 @@
package config package config
import ( import (
"SciencesServer/utils"
"testing" "testing"
) )
func TestMemory(t *testing.T) { func TestMemory(t *testing.T) {
MemoryForIndustryInfo["01"] = &MemoryForIndustry{
Name: "01",
Children: map[string]*MemoryForIndustry{
"001": &MemoryForIndustry{
Name: "001",
Children: nil,
},
"002": &MemoryForIndustry{
Name: "002",
Children: nil,
},
},
}
t.Logf(utils.AnyToJSON(MemoryForIndustryInfo))
} }

View File

@ -5,8 +5,8 @@ type SysConfig struct {
Model Model
Kind SysConfigKind `gorm:"column:kind;type:tinyint(3);default:0;comment:类型" json:"kind"` Kind SysConfigKind `gorm:"column:kind;type:tinyint(3);default:0;comment:类型" json:"kind"`
Name string `gorm:"column:name;type:varchar(30);default:'';comment:名称" json:"name"` Name string `gorm:"column:name;type:varchar(30);default:'';comment:名称" json:"name"`
Key string `gorm:"column:key;type:varchar(30);default:'';comment:标识" json:"key"` Key string `gorm:"column:key;type:varchar(100);default:'';comment:标识" json:"key"`
Value string `gorm:"column:value;type:varchar(255);default:'';comment:内容" json:"value"` Value string `gorm:"column:value;type:text;comment:内容" json:"value"`
ModelDeleted ModelDeleted
ModelAt ModelAt
} }
@ -17,6 +17,10 @@ type SysConfigKind int
const ( const (
// SysConfigKindForBasic 基本配置 // SysConfigKindForBasic 基本配置
SysConfigKindForBasic SysConfigKind = iota + 1 SysConfigKindForBasic SysConfigKind = iota + 1
// SysConfigKindForWebsite 网站配置
SysConfigKindForWebsite
// SysConfigKindForUpload 上传配置
SysConfigKindForUpload
// SysConfigKindForWeChat 微信配置 // SysConfigKindForWeChat 微信配置
SysConfigKindForWeChat SysConfigKindForWeChat
// SysConfigKindForAliPay 支付宝配置 // SysConfigKindForAliPay 支付宝配置

View File

@ -177,10 +177,10 @@ func registerAdminAPI(app *gin.Engine) {
_api := new(api1.Sys) _api := new(api1.Sys)
// 导航信息 // 导航信息
sys.GET("/industry", _api.Industry) sys.GET("/industry", _api.Industry)
sys.GET("/industry/add", _api.NavigationForm) sys.POST("/industry/add", _api.NavigationForm)
sys.GET("/industry/edit", _api.NavigationForm) sys.POST("/industry/edit", _api.NavigationForm)
sys.GET("/industry/delete", _api.NavigationDelete) sys.POST("/industry/delete", _api.NavigationDelete)
sys.GET("/navigation", _api.Navigation) sys.POST("/navigation", _api.Navigation)
sys.POST("/navigation/add", _api.NavigationForm) sys.POST("/navigation/add", _api.NavigationForm)
sys.POST("/navigation/edit", _api.NavigationForm) sys.POST("/navigation/edit", _api.NavigationForm)
sys.POST("/navigation/delete", _api.NavigationDelete) sys.POST("/navigation/delete", _api.NavigationDelete)