feat:完善项目
This commit is contained in:
@ -68,7 +68,8 @@ func (c *Instance) Login(account, password, captchaKey, captchaValue, ip string)
|
||||
service.Publish(config.EventForAccountLoginProduce, session.TenantID, session.UID, ip)
|
||||
|
||||
return &InstanceLoginResponse{Token: session.Token, EffectTime: config.SettingInfo.TokenEffectTime,
|
||||
WsUrl: config.SystemConfig[config.WsDomain].(string)}, nil
|
||||
//WsUrl: config.SystemConfig[config.WsDomain].(string)}, nil
|
||||
WsUrl: ""}, nil
|
||||
}
|
||||
|
||||
// Logout 退出请求
|
||||
|
@ -15,8 +15,9 @@ type InstanceHandle func(session *service.Session) *Instance
|
||||
type (
|
||||
// InstanceInfo 列表信息
|
||||
InstanceInfo struct {
|
||||
Workbench []*instanceInfoForWorkbench `json:"workbench"`
|
||||
Notice []*instanceInfoForNotice `json:"notice"`
|
||||
Workbench []*instanceInfoForWorkbench `json:"workbench"`
|
||||
Notice []*instanceInfoForNotice `json:"notice"`
|
||||
Evaluate []*model.ManageSupplierEvaluateInfo `json:"evaluate"`
|
||||
}
|
||||
// instanceInfoForWorkbench 待办事项
|
||||
instanceInfoForWorkbench struct {
|
||||
@ -33,6 +34,9 @@ type (
|
||||
Title string `json:"title"`
|
||||
CreatedAt time.Time `json:"created_at"`
|
||||
}
|
||||
// instanceInfoForEvaluate 好评信息
|
||||
instanceInfoForEvaluate struct {
|
||||
}
|
||||
)
|
||||
|
||||
var defaultDataLimit int = 10
|
||||
@ -97,6 +101,11 @@ func (c *Instance) notice(limit int) ([]*instanceInfoForNotice, error) {
|
||||
return list, nil
|
||||
}
|
||||
|
||||
func (c *Instance) evaluate(limit int) ([]*model.ManageSupplierEvaluateInfo, error) {
|
||||
mManageSupplier := model.NewManageSupplier()
|
||||
return mManageSupplier.Evaluate(model2.ManageSupplierKindForMaterial, limit)
|
||||
}
|
||||
|
||||
// Index 首页信息
|
||||
func (c *Instance) Index() (*InstanceInfo, error) {
|
||||
out := new(InstanceInfo)
|
||||
@ -108,6 +117,9 @@ func (c *Instance) Index() (*InstanceInfo, error) {
|
||||
if out.Notice, err = c.notice(defaultDataLimit); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if out.Evaluate, err = c.evaluate(defaultDataLimit); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return out, nil
|
||||
}
|
||||
|
||||
|
@ -1,7 +1,8 @@
|
||||
package dashboard
|
||||
|
||||
import (
|
||||
"ArmedPolice/app/controller/basic"
|
||||
model2 "ArmedPolice/app/common/model"
|
||||
"ArmedPolice/app/model"
|
||||
"ArmedPolice/app/service"
|
||||
)
|
||||
|
||||
@ -9,8 +10,10 @@ type Supplier struct{ *service.Session }
|
||||
|
||||
type SupplierHandle func(session *service.Session) *Supplier
|
||||
|
||||
func (c *Supplier) StaticScore() (*basic.PageDataResponse, error) {
|
||||
return &basic.PageDataResponse{Data: nil, Count: 0}, nil
|
||||
func (c *Supplier) StaticEvaluate() (interface{}, error) {
|
||||
mManageSupplier := model.NewManageSupplier()
|
||||
out, err := mManageSupplier.Evaluate(model2.ManageSupplierKindForMaterial, 10)
|
||||
return out, err
|
||||
}
|
||||
|
||||
func NewSupplier() SupplierHandle {
|
||||
|
@ -163,7 +163,7 @@ func (c *Repair) Evaluate(id uint64, score float64) error {
|
||||
mWorkRepair := model.NewWorkRepair()
|
||||
mWorkRepair.ID = id
|
||||
|
||||
isExist, err := model2.FirstField(mWorkRepair.WorkRepair, []string{"id", "status", "is_evaluate"})
|
||||
isExist, err := model2.FirstField(mWorkRepair.WorkRepair, []string{"id", "work_id", "status", "is_evaluate"})
|
||||
|
||||
if err != nil {
|
||||
return err
|
||||
@ -176,12 +176,65 @@ func (c *Repair) Evaluate(id uint64, score float64) error {
|
||||
if mWorkRepair.IsEvaluate != model2.WorkRepairStatusEvaluateForNot {
|
||||
return errors.New("操作错误,当前工单已评价,不可重复评价")
|
||||
}
|
||||
if err = model2.Updates(mWorkRepair.WorkRepair, map[string]interface{}{
|
||||
"is_evaluate": model2.WorkRepairStatusEvaluateForYes, "evaluate_score": score, "updated_at": time.Now(),
|
||||
}); err != nil {
|
||||
// 查询工单下使用的器材供应商信息
|
||||
mWorkMaterial := model.NewWorkMaterial()
|
||||
supplierIDs := make([]uint64, 0)
|
||||
|
||||
if err = model2.Pluck(mWorkMaterial.WorkMaterial, "material_supplier_id", &supplierIDs,
|
||||
model2.NewWhere("work_id", mWorkRepair.WorkID)); err != nil {
|
||||
return err
|
||||
}
|
||||
return nil
|
||||
_supplierIDs := utils.ArrayUnique(supplierIDs)
|
||||
|
||||
return orm.GetDB().Transaction(func(tx *gorm.DB) error {
|
||||
if err = model2.Updates(mWorkRepair.WorkRepair, map[string]interface{}{
|
||||
"is_evaluate": model2.WorkRepairStatusEvaluateForYes, "evaluate_score": score, "updated_at": time.Now(),
|
||||
}, tx); err != nil {
|
||||
return err
|
||||
}
|
||||
updates := map[string]interface{}{
|
||||
"updated_at": time.Now(),
|
||||
}
|
||||
if score == 1 {
|
||||
updates["praise"] = gorm.Expr("praise + ?", 1)
|
||||
} else if score == 2 {
|
||||
updates["middle"] = gorm.Expr("middle + ?", 1)
|
||||
} else {
|
||||
updates["negative"] = gorm.Expr("negative + ?", 1)
|
||||
}
|
||||
mManageSupplierEvaluate := model.NewManageSupplierEvaluate()
|
||||
|
||||
supplierEvaluates := make([]*model2.ManageSupplierEvaluate, 0)
|
||||
|
||||
for _, v := range _supplierIDs {
|
||||
// 查询是否存在
|
||||
if isExist, err = model2.FirstField(mManageSupplierEvaluate.ManageSupplierEvaluate, []string{"id"},
|
||||
model2.NewWhere("id", v)); err != nil {
|
||||
return err
|
||||
} else if !isExist {
|
||||
if err = model2.Updates(mManageSupplierEvaluate.ManageSupplierEvaluate, updates, tx); err != nil {
|
||||
return err
|
||||
}
|
||||
continue
|
||||
}
|
||||
data := &model2.ManageSupplierEvaluate{SupplierID: v.(uint64)}
|
||||
|
||||
if score == 1 {
|
||||
data.Praise = 1
|
||||
} else if score == 2 {
|
||||
data.Middle = 2
|
||||
} else {
|
||||
data.Negative = 1
|
||||
}
|
||||
supplierEvaluates = append(supplierEvaluates, data)
|
||||
}
|
||||
if len(supplierEvaluates) > 0 {
|
||||
if err = model2.Creates(mManageSupplierEvaluate.ManageSupplierEvaluate, supplierEvaluates, tx); err != nil {
|
||||
return err
|
||||
}
|
||||
}
|
||||
return nil
|
||||
})
|
||||
}
|
||||
|
||||
func NewRepair() RepairHandle {
|
||||
|
Reference in New Issue
Block a user