package models import ( "zhiyuan/pkg/db" "github.com/gin-gonic/gin" ) type WorkPkg struct { ID int64 `json:"id" prop:"add:false"` Name string `json:"name" label:"套餐名称" type:"string" prop:"add edit" search:"like"` Days int64 `json:"days" label:"工期" type:"int" prop:"add edit" default:"0"` ReturnVisitID int64 `json:"return_visit_id" label:"客服回访" type:"int" prop:"edit" default:"0"` State int64 `json:"state" label:"状态" type:"int" prop:"edit" default:"0"` OrderAt int64 `json:"order_at" prop:"add:false select:false"` DeletedAt int64 `json:"deleted_at" prop:"add:false select:false"` CreatedAt int64 `json:"created_at" prop:"add:false select:false"` UpdatedAt int64 `json:"updated_at" prop:"add:false select:false"` Nodes []WorkPkgNode `json:"nodes" prop:"ignore"` db.BaseModel } func (WorkPkg) TableName() string { return "zy_work_pkg" } func (WorkPkg) ListPrivilege(c *gin.Context, data map[string]interface{}, s *db.Select) bool { return true } func (WorkPkg) OnePrivilege(c *gin.Context, id int64) bool { return true } func (WorkPkg) AddPrivilege(c *gin.Context, data map[string]interface{}, post map[string]interface{}) error { return nil } func (WorkPkg) EditPrivilege(c *gin.Context, id int64, data map[string]interface{}, post map[string]interface{}) error { return nil } func (WorkPkg) DelPrivilege(c *gin.Context, id int64) error { return nil } func (WorkPkg) OrderField() string { return "order_at" } func (WorkPkg) Page() bool { return false } func (WorkPkg) Count() bool { return true } func GetWorkPkgModel(id int64, showAll bool) *WorkPkg { var pkg *WorkPkg db.GetModel(map[string]interface{}{"id": id}, &pkg) if pkg != nil { var nodes []WorkPkgNode where := map[string]interface{}{"pkg_id": id, "deleted_at": 0} if !showAll { where["state"] = 1 } db.GetModel(where, &nodes) pkg.Nodes = nodes } return pkg } func (model WorkPkg) Copy(name string, order int64) (int64, error) { id, err := db.InsertModel(db.Type(model), map[string]interface{}{ "name": name, "days": model.Days, "state": model.State, "order_at": order, }) if err != nil { return 0, err } err = CopyWorkPkgNodes(model.Nodes, id, order) if err != nil { return id, err } return id, nil }