feat:完善项目信息

This commit is contained in:
henry
2022-01-20 17:22:05 +08:00
parent bfa9af1654
commit 7a9c8f9e56
11 changed files with 53 additions and 24 deletions

View File

@ -10,7 +10,9 @@ func getSession(c *gin.Context) *session.Enterprise {
value := api.GetSession()(c)
if value != "" {
return session.NewEnterprise()
_session := session.NewEnterprise()
_session.UID = 2108051846374363136
return _session
}
return value.(*session.Enterprise)
}

View File

@ -10,6 +10,6 @@ type Docking struct{}
// Launch 联系客服对接
func (*Docking) Launch(c *gin.Context) {
err := controller.NewDocking()(nil).Form()
err := controller.NewDocking()(getSession(c), api.GetTenantID()(c).(uint64)).Form(c.ClientIP())
api.APIResponse(err)(c)
}

View File

@ -11,12 +11,12 @@ type User struct{}
func (*User) Collect(c *gin.Context) {
form := &struct {
Kind int `json:"kind" form:"kind" binding:"required"`
ObjectID uint64 `json:"object_id" form:"object_id" binding:"required"`
ObjectID string `json:"object_id" form:"object_id" binding:"required"`
}{}
if err := api.Bind(form)(c); err != nil {
api.APIFailure(err.(error))(c)
return
}
err := user.NewCollect()(nil).Launch(form.Kind, form.ObjectID)
api.APIResponse(err)(c)
data, err := user.NewCollect()(getSession(c)).Launch(form.Kind, (&api.IDStringForm{ID: form.ObjectID}).Convert())
api.APIResponse(err, data)(c)
}

View File

@ -8,22 +8,23 @@ import (
type Docking struct {
*session.Enterprise
tenantID uint64
}
type DockingHandle func(session *session.Enterprise) *Docking
type DockingHandle func(session *session.Enterprise, tenantID uint64) *Docking
// Form 联系客服对接
func (c *Docking) Form() error {
func (c *Docking) Form(ip string) error {
mServiceDocking := model.NewServiceDocking()
mServiceDocking.TenantID = c.tenantID
mServiceDocking.UID = c.UID
mServiceDocking.IP = ip
if c.Enterprise != nil {
mServiceDocking.UID = c.UID
}
return model2.Create(mServiceDocking.ServiceDocking)
}
func NewDocking() DockingHandle {
return func(session *session.Enterprise) *Docking {
return func(session *session.Enterprise, tenantID uint64) *Docking {
return &Docking{
Enterprise: session,
}

View File

@ -63,6 +63,7 @@ func (c *Company) Instance(id uint64) (*CompanyInstanceInfo, error) {
ID: mManageCompany.GetEncodeID(), Kind: mManageCompany.Kind, Name: mManageCompany.Name,
Image: mManageCompany.Image.Analysis(config2.SystemConfig[config2.SysImageDomain]),
Url: mManageCompany.Url,
Product: mManageCompany.Product,
Keywords: mManageCompany.GetKeywordAttribute(),
},
KindTitle: mManageCompany.KindTitle(),
@ -76,7 +77,7 @@ func (c *Company) Instance(id uint64) (*CompanyInstanceInfo, error) {
func (c *Company) Product(id uint64, page, pageSize int) (*controller.ReturnPages, error) {
mManageCompany := model.NewManageCompany()
var count int64
out, err := mManageCompany.Product(id, c.UID, page, pageSize, &count)
out, err := mManageCompany.Products(id, c.UID, page, pageSize, &count)
if err != nil {
return nil, err
@ -96,7 +97,7 @@ func (c *Company) Product(id uint64, page, pageSize int) (*controller.ReturnPage
list = append(list, &CompanyProductInfo{
ManageCompanyProduct: v,
ID: v.GetEncodeID(),
IsCollect: v.IsCollect > 0,
IsCollect: v.CollectID > 0,
LeadStandardTitle: v.GetLeadStandardTitle(),
MaturityTitle: config.GetTechnologyMaturityTitle(v.Maturity),
CooperationModeTitle: config.GetTechnologyCooperationModeTitle(v.CooperationMode),

View File

@ -13,7 +13,7 @@ type Collect struct {
type CollectHandle func(session *session.Enterprise) *Collect
// Launch 收藏发起
func (c *Collect) Launch(kind int, objectID uint64) error {
func (c *Collect) Launch(kind int, objectID uint64) (bool, error) {
mUserCollect := model.NewUserCollect()
where := []*model2.ModelWhere{
@ -24,15 +24,15 @@ func (c *Collect) Launch(kind int, objectID uint64) error {
isExist, err := model2.FirstField(mUserCollect.UserCollect, []string{"id"}, where...)
if err != nil {
return err
return false, err
}
if isExist {
return model2.Delete(mUserCollect.UserCollect)
return false, model2.Delete(mUserCollect.UserCollect)
}
mUserCollect.UID = c.UID
mUserCollect.Kind = model2.UserCollectKind(kind)
mUserCollect.ObjectID = objectID
return model2.Create(mUserCollect.UserCollect)
return true, model2.Create(mUserCollect.UserCollect)
}
func NewCollect() CollectHandle {

View File

@ -14,17 +14,17 @@ type ManageCompany struct {
type ManageCompanyProduct struct {
*model.TechnologyProduct
VisitCount int `json:"visit_count"`
IsCollect uint64 `json:"-"`
CollectID uint64 `json:"-"`
CollectCount int `json:"collect_count"`
}
// Product 产品信息
func (m *ManageCompany) Product(id, uid uint64, page, pageSize int, count *int64) ([]*ManageCompanyProduct, error) {
// Products 产品信息
func (m *ManageCompany) Products(id, uid uint64, page, pageSize int, count *int64) ([]*ManageCompanyProduct, error) {
mNewUserCollect := model.NewUserCollect()
db := orm.GetDB().Table(model.NewUserCompany().TableName()+" u_c").
Select("p.id", "p.title", "p.image", "p.industry", "p.maturity", "p.lead_standard", "p.cooperation_mode",
"p.keyword", "v.count AS visit_count", "c_u.id AS is_collect", "c.count AS collect_count").
"p.keyword", "v.count AS visit_count", "c_u.id AS collect_id", "c.count AS collect_count").
Joins(fmt.Sprintf("LEFT JOIN %s AS p ON u_c.uid = p.uid AND p.shelf_status = %d AND p.status = %d AND p.is_deleted = %d",
model.NewTechnologyProduct().TableName(), model.ShelfStatusForUp, model.TechnologyProductStatusForAgree, model.DeleteStatusForNot)).
Joins(fmt.Sprintf("LEFT JOIN (SELECT object_id, SUM(count) AS count FROM %s WHERE kind = %d AND is_deleted = %d GROUP BY object_id) AS v ON p.id = v.object_id",

View File

@ -21,7 +21,7 @@ type IModel interface {
// Model
type Model struct {
ID uint64 `gorm:"column:id;primaryKey;autoIncrement;type:int(11);comment:主键" json:"-"`
ID uint64 `gorm:"column:id;primaryKey;autoIncrement;comment:主键" json:"-" form:"id"` // 主键
Database string `json:"-" gorm:"-"`
}

View File

@ -3,7 +3,9 @@ package model
// ServiceDocking 对接信息数据模型
type ServiceDocking struct {
Model
ModelTenant
UID uint64 `gorm:"column:uid;type:int;default:0;comment:用户uuid" json:"-"`
IP string `gorm:"column:ip;type:char(16);default:'';comment:IP地址" json:"ip"`
ModelDeleted
ModelAt
}

View File

@ -4,7 +4,7 @@ package model
type UserCollect struct {
Model
UID uint64 `gorm:"column:uid;type:int;default:0;comment:用户uuid" json:"-"`
Kind UserCollectKind `gorm:"column:kind;type:tinyint(3);default:0;comment:收藏数据类型" json:"kind"`
Kind UserCollectKind `gorm:"column:kind;type:smallint(6);default:0;comment:收藏数据类型" json:"kind"`
ObjectID uint64 `gorm:"column:object_id;type:int(11);default:0;comment:收藏对象ID" json:"-"`
ModelDeleted
ModelAt
@ -14,7 +14,7 @@ type UserCollectKind int
const (
// UserCollectKindForLaboratory 实验室
UserCollectKindForLaboratory UserCollectKind = iota + 1
UserCollectKindForLaboratory UserCollectKind = iota + 1001
// UserCollectKindForExpert 专家
UserCollectKindForExpert
// UserCollectKindForCompany 公司

23
app/event/visit.go Normal file
View File

@ -0,0 +1,23 @@
package event
// Visit 浏览事件数据处理
type Visit struct{}
// Handle 操作处理
// @
func (this *Visit) Handle(arg ...interface{}) {
//&model.UserVisit{
// Model: model.Model{},
// UID: 0,
// Kind: 0,
// ObjectID: 0,
// Count: 0,
// Date: time.Time{},
// ModelDeleted: model.ModelDeleted{},
// ModelAt: model.ModelAt{},
//}
}
func NewVisit() *Visit {
return &Visit{}
}