2021-11-02 16:22:07 +08:00
|
|
|
package model
|
|
|
|
|
2021-11-16 11:46:44 +08:00
|
|
|
import (
|
|
|
|
"ArmedPolice/app/common/model"
|
|
|
|
"ArmedPolice/serve/orm"
|
|
|
|
"fmt"
|
|
|
|
)
|
2021-11-02 16:22:07 +08:00
|
|
|
|
|
|
|
type ManageSupplier struct {
|
|
|
|
*model.ManageSupplier
|
|
|
|
}
|
|
|
|
|
2021-11-16 11:46:44 +08:00
|
|
|
type ManageSupplierEvaluateInfo struct {
|
|
|
|
Name string `json:"name"`
|
|
|
|
Praise int `json:"praise"`
|
|
|
|
Middle int `json:"middle"`
|
|
|
|
Negative int `json:"negative"`
|
|
|
|
}
|
|
|
|
|
|
|
|
// Evaluate 评分统计
|
|
|
|
// Deprecated: Test
|
|
|
|
func (m *ManageSupplier) Evaluate(kind model.ManageSupplierKind, limit int) ([]*ManageSupplierEvaluateInfo, error) {
|
|
|
|
db := orm.GetDB().Table(m.TableName()+" AS s").
|
|
|
|
Select("s.name", "e.praise", "e.middle", "e.negative").
|
|
|
|
Joins(fmt.Sprintf("LEFT JOIN %s AS e ON s.id = e.supplier_id AND e.is_deleted = %d",
|
|
|
|
model.NewManageSupplierEvaluate().TableName(), model.DeleteStatusForNot)).
|
|
|
|
Where("s.is_deleted = ?", model.DeleteStatusForNot).
|
|
|
|
Where("s.kind = ?", kind).
|
|
|
|
Where("e.id > ?", 0)
|
|
|
|
|
|
|
|
out := make([]*ManageSupplierEvaluateInfo, 0)
|
|
|
|
|
|
|
|
err := db.Order("e.praise " + model.OrderModeToDesc).Order("e.negative " + model.OrderModeToAsc).
|
|
|
|
Limit(limit).Scan(&out).Error
|
|
|
|
|
|
|
|
return out, err
|
|
|
|
}
|
|
|
|
|
2021-11-02 16:22:07 +08:00
|
|
|
func NewManageSupplier() *ManageSupplier {
|
|
|
|
return &ManageSupplier{model.NewManageSupplier()}
|
|
|
|
}
|