feat:完善项目管理,增加网站首页接口信息

This commit is contained in:
henry
2021-12-15 14:31:14 +08:00
parent 3c55143278
commit ba62a25e4b
21 changed files with 471 additions and 50 deletions

View File

@ -0,0 +1,8 @@
package model
// DataAreaDistributionInfo 数据区域分期
type DataAreaDistributionInfo struct {
Province string `json:"province"`
City string `json:"city"`
Industry string `json:"industry"`
}

View File

@ -1,11 +1,28 @@
package model
import "SciencesServer/app/common/model"
import (
"SciencesServer/app/common/model"
"SciencesServer/serve/orm"
)
type ManageExpert struct {
*model.ManageExpert
}
// Distribution 分布信息
func (m *ManageExpert) Distribution() ([]*DataAreaDistributionInfo, error) {
out := make([]*DataAreaDistributionInfo, 0)
err := orm.GetDB().Table(m.TableName()).
Select("province", "city", "GROUP_CONCAT(industry SEPARATOR '&') AS industry").
Group("province").Group("city").
Order("province "+model.OrderModeToAsc).Order("city "+model.OrderModeToAsc).
Where("examine_status = ?", model.ExamineStatusForAgree).
Scan(&out).Error
return out, err
}
func NewManageExpert() *ManageExpert {
return &ManageExpert{model.NewManageExpert()}
}

View File

@ -0,0 +1,28 @@
package model
import (
"SciencesServer/app/common/model"
"SciencesServer/serve/orm"
)
type ManageLaboratory struct {
*model.ManageLaboratory
}
// Distribution 分布信息
func (m *ManageLaboratory) Distribution() ([]*DataAreaDistributionInfo, error) {
out := make([]*DataAreaDistributionInfo, 0)
err := orm.GetDB().Table(m.TableName()).
Select("province", "city", "GROUP_CONCAT(industry SEPARATOR '&') AS industry").
Group("province").Group("city").
Order("province "+model.OrderModeToAsc).Order("city "+model.OrderModeToAsc).
Where("examine_status = ?", model.ExamineStatusForAgree).
Scan(&out).Error
return out, err
}
func NewManageLaboratory() *ManageLaboratory {
return &ManageLaboratory{model.NewManageLaboratory()}
}

View File

@ -0,0 +1,11 @@
package model
import "SciencesServer/app/common/model"
type ServiceDocking struct {
*model.ServiceDocking
}
func NewServiceDocking() *ServiceDocking {
return &ServiceDocking{model.NewServiceDocking()}
}

View File

@ -0,0 +1,34 @@
package model
import (
"SciencesServer/app/common/model"
"SciencesServer/serve/orm"
"fmt"
)
type SysPatent struct {
*model.SysPatent
}
// Distribution 分布信息
func (m *SysPatent) Distribution() ([]*DataAreaDistributionInfo, error) {
out := make([]*DataAreaDistributionInfo, 0)
err := orm.GetDB().Table(m.TableName()+" AS p").
Select("e.province", "e.city", "GROUP_CONCAT(p_c.industry_detail SEPARATOR '&') AS industry").
Joins(fmt.Sprintf("RIGHT JOIN %s AS p_c ON p.ipc_code = p_c.ipc AND p_c.is_deleted = %d",
model.NewSysPatentClassify().TableName(), model.DeleteStatusForNot)).
Joins(fmt.Sprintf("RIGHT JOIN %s AS u_p ON p.id = u_p.patent_id AND u_p.is_deleted = %d",
model.NewUserPatent().TableName(), model.DeleteStatusForNot)).
Joins(fmt.Sprintf("LEFT JOIN %s AS u_e ON u_p.uid = u_e.uid", model.NewUserExpert().TableName())).
Joins(fmt.Sprintf("LEFT JOIN %s AS e ON u_e.expert_id = e.id", model.NewManageExpert().TableName())).
Where("p.is_deleted = ?", model.DeleteStatusForNot).
Where("p.shelf_status = ?", model.ShelfStatusForUp).
Group("e.province").Group("e.city").
Order("e.province " + model.OrderModeToAsc).Order("e.city " + model.OrderModeToAsc).Scan(&out).Error
return out, err
}
func NewSysPatent() *SysPatent {
return &SysPatent{model.NewSysPatent()}
}

View File

@ -0,0 +1,11 @@
package model
import "SciencesServer/app/common/model"
type SysPatentClassify struct {
*model.SysPatentClassify
}
func NewSysPatentClassify() *SysPatentClassify {
return &SysPatentClassify{model.NewSysPatentClassify()}
}

View File

@ -0,0 +1,32 @@
package model
import (
"SciencesServer/app/common/model"
"SciencesServer/serve/orm"
"fmt"
)
type TechnologyAchievement struct {
*model.TechnologyAchievement
}
// Distribution 分布信息
func (m *TechnologyAchievement) Distribution() ([]*DataAreaDistributionInfo, error) {
out := make([]*DataAreaDistributionInfo, 0)
err := orm.GetDB().Table(m.TableName()+" AS a").
Select("e.province", "e.city", "GROUP_CONCAT(a.industry SEPARATOR '&') AS industry").
Joins(fmt.Sprintf("LEFT JOIN %s AS u_e ON a.uid = u_e.uid", model.NewUserExpert().TableName())).
Joins(fmt.Sprintf("LEFT JOIN %s AS e ON u_e.expert_id = e.id", model.NewManageExpert().TableName())).
Group("e.province").Group("e.city").
Order("e.province "+model.OrderModeToAsc).Order("e.city "+model.OrderModeToAsc).
Where("a.status = ?", model.TechnologyAchievementStatusForAgree).
Where("a.shelf_status = ?", model.ShelfStatusForUp).
Scan(&out).Error
return out, err
}
func NewTechnologyAchievement() *TechnologyAchievement {
return &TechnologyAchievement{model.NewTechnologyAchievement()}
}

View File

@ -0,0 +1,31 @@
package model
import (
"SciencesServer/app/common/model"
"SciencesServer/serve/orm"
"fmt"
)
type TechnologyDemand struct {
*model.TechnologyDemand
}
// Distribution 分布信息
func (m *TechnologyDemand) Distribution() ([]*DataAreaDistributionInfo, error) {
out := make([]*DataAreaDistributionInfo, 0)
err := orm.GetDB().Table(m.TableName()+" AS d").
Select("e.province", "e.city", "GROUP_CONCAT(d.industry SEPARATOR '&') AS industry").
Joins(fmt.Sprintf("LEFT JOIN %s AS u_e ON d.uid = u_e.uid", model.NewUserExpert().TableName())).
Joins(fmt.Sprintf("LEFT JOIN %s AS e ON u_e.expert_id = e.id", model.NewManageExpert().TableName())).
Group("e.province").Group("e.city").
Order("e.province "+model.OrderModeToAsc).Order("e.city "+model.OrderModeToAsc).
Where("d.status = ?", model.TechnologyDemandStatusForAgree).
Scan(&out).Error
return out, err
}
func NewTechnologyDemand() *TechnologyDemand {
return &TechnologyDemand{model.NewTechnologyDemand()}
}