feat:完善企业信息
This commit is contained in:
@ -503,6 +503,20 @@ func (*Technology) Product(c *gin.Context) {
|
||||
api.APIResponse(err, data)(c)
|
||||
}
|
||||
|
||||
func (*Technology) ProductVisit(c *gin.Context) {
|
||||
form := &struct {
|
||||
api.IDStringForm
|
||||
api.PageForm
|
||||
}{}
|
||||
if err := api.Bind(form)(c); err != nil {
|
||||
api.APIFailure(err.(error))(c)
|
||||
return
|
||||
}
|
||||
data, err := technology2.NewProduct()(api.GetSession()(c).(*session.Enterprise), api.GetLocal()(c).(string)).
|
||||
Visit(form.Convert(), form.Page, form.PageSize)
|
||||
api.APIResponse(err, data)(c)
|
||||
}
|
||||
|
||||
func (*Technology) ProductAdd(c *gin.Context) {
|
||||
form := new(productForm)
|
||||
|
||||
|
@ -23,7 +23,6 @@ type CompanyHandle func(session *session.Enterprise, local string) *Company
|
||||
type CompanyInfo struct {
|
||||
ID string `json:"id"`
|
||||
*model2.ManageCompany
|
||||
Kinds []int `json:"kinds"`
|
||||
Industry []string `json:"industrys"`
|
||||
Keywords []string `json:"keywords"`
|
||||
}
|
||||
@ -46,7 +45,6 @@ func (c *Company) Get(code string) (*CompanyInfo, error) {
|
||||
return &CompanyInfo{
|
||||
ID: mManageCompany.GetEncodeID(),
|
||||
ManageCompany: mManageCompany.ManageCompany,
|
||||
Kinds: mManageCompany.GetKindAttribute(),
|
||||
Industry: mManageCompany.GetIndustryAttribute(),
|
||||
Keywords: mManageCompany.GetKeywordAttribute(),
|
||||
}, nil
|
||||
@ -84,7 +82,7 @@ func (c *Company) Launch(params *BasicParams, inviterID uint64, other *config.Id
|
||||
}
|
||||
mManageCompany.Local.Local = c.local
|
||||
mManageCompany.InviterID = inviterID
|
||||
mManageCompany.SetKindAttribute(other.Kinds)
|
||||
mManageCompany.Kind = model2.ManageCompanyKind(other.Kind)
|
||||
mManageCompany.Name = params.Name
|
||||
mManageCompany.Code = params.Code
|
||||
mManageCompany.Image = model2.Image{Image: params.Image}
|
||||
|
@ -3,8 +3,10 @@ package technology
|
||||
import (
|
||||
"SciencesServer/app/api/enterprise/model"
|
||||
"SciencesServer/app/basic/config"
|
||||
"SciencesServer/app/basic/controller"
|
||||
model2 "SciencesServer/app/common/model"
|
||||
"SciencesServer/app/session"
|
||||
config2 "SciencesServer/config"
|
||||
"errors"
|
||||
"time"
|
||||
)
|
||||
@ -30,6 +32,12 @@ type (
|
||||
Customers []string `json:"customers"`
|
||||
Keywords []string `json:"keywords"`
|
||||
}
|
||||
// ProductVisitInfo 产品浏览信息
|
||||
ProductVisitInfo struct {
|
||||
ID string `json:"id"`
|
||||
*model.TechnologyProductVisitInfo
|
||||
CompanyKeywords []string `json:"company_keywords"`
|
||||
}
|
||||
// ProductParams 产品参数信息
|
||||
ProductParams struct {
|
||||
ID uint64
|
||||
@ -105,10 +113,36 @@ func (c *Product) Match(id uint64) {
|
||||
|
||||
}
|
||||
|
||||
func (c *Product) Visit(id uint64, page, pageSize int) {
|
||||
// Visit 访问信息
|
||||
func (c *Product) Visit(id uint64, page, pageSize int) (*controller.ReturnPages, error) {
|
||||
mTechnologyProductVisit := model.NewTechnologyProductVisit()
|
||||
|
||||
where := []*model2.ModelWhere{
|
||||
model2.NewWhere("product_id", id),
|
||||
}
|
||||
var count int64
|
||||
mTechnologyProductVisit.Visit(page, pageSize, &count)
|
||||
|
||||
out, err := mTechnologyProductVisit.Visit(page, pageSize, &count, where...)
|
||||
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
list := make([]*ProductVisitInfo, 0)
|
||||
|
||||
mManageCompany := model.NewManageCompany()
|
||||
|
||||
for _, v := range out {
|
||||
mManageCompany.Keyword = v.CompanyKeyword
|
||||
mManageCompany.Image.Image = v.CompanyImage
|
||||
v.CompanyImage = mManageCompany.Image.Analysis(config2.SettingInfo.Domain)
|
||||
|
||||
list = append(list, &ProductVisitInfo{
|
||||
ID: v.GetEncodeID(),
|
||||
TechnologyProductVisitInfo: v,
|
||||
CompanyKeywords: mManageCompany.GetKeywordAttribute(),
|
||||
})
|
||||
}
|
||||
return &controller.ReturnPages{Data: list, Count: count}, nil
|
||||
}
|
||||
|
||||
// Form 数据操作
|
||||
|
@ -4,6 +4,7 @@ import (
|
||||
"SciencesServer/app/common/model"
|
||||
"SciencesServer/serve/orm"
|
||||
"fmt"
|
||||
"time"
|
||||
)
|
||||
|
||||
type TechnologyProductVisit struct {
|
||||
@ -11,11 +12,15 @@ type TechnologyProductVisit struct {
|
||||
}
|
||||
|
||||
type TechnologyProductVisitInfo struct {
|
||||
model.Model
|
||||
VisitAt time.Time `json:"visit_at"`
|
||||
model.ManageCompanyBasic
|
||||
}
|
||||
|
||||
func (m *TechnologyProductVisit) Visit(page, pageSize int, count *int64, where ...*model.ModelWhere) ([]*TechnologyProductVisitInfo, error) {
|
||||
db := orm.GetDB().Table(m.TableName()+" AS v").
|
||||
Select("v.id").
|
||||
Select("v.id", "v.visit_at", "c.id AS company_id", "c.name AS company_name", "c.image AS company_image",
|
||||
"c.kind AS company_kind", "c.url AS company_url").
|
||||
Joins(fmt.Sprintf("LEFT JOIN %s AS c ON v.company_id = c.id", model.NewManageCompany().TableName())).
|
||||
Where("v.is_deleted = ?", model.DeleteStatusForNot)
|
||||
|
||||
|
Reference in New Issue
Block a user