package models import ( "zhiyuan/pkg/db" "github.com/gin-gonic/gin" ) type WorkReturnVisit struct { ID int64 `json:"id" prop:"add:false"` Name string `json:"name" label:"回访名称" type:"string" prop:"add edit" search:"like"` 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"` Items []WorkReturnVisitItem `json:"items" prop:"ignore"` db.BaseModel } func (WorkReturnVisit) TableName() string { return "zy_work_return_visit" } func (WorkReturnVisit) ListPrivilege(c *gin.Context, data map[string]interface{}, s *db.Select) bool { return true } func (WorkReturnVisit) OnePrivilege(c *gin.Context, id int64) bool { return true } func (WorkReturnVisit) AddPrivilege(c *gin.Context, data map[string]interface{}, post map[string]interface{}) error { return nil } func (WorkReturnVisit) EditPrivilege(c *gin.Context, id int64, data map[string]interface{}, post map[string]interface{}) error { return nil } func (WorkReturnVisit) DelPrivilege(c *gin.Context, id int64) error { return nil } func (WorkReturnVisit) OrderField() string { return "order_at" } func (WorkReturnVisit) Page() bool { return false } func (WorkReturnVisit) Count() bool { return true } func GetWorkReturnVisitModel(id int64, showAll bool) *WorkReturnVisit { var visit *WorkReturnVisit db.GetModel(map[string]interface{}{"id": id}, &visit) if visit != nil { var items []WorkReturnVisitItem where := map[string]interface{}{"return_visit_id": id, "deleted_at": 0} if !showAll { where["state"] = 1 } db.GetModel(where, &items) visit.Items = items } return visit } func (model WorkReturnVisit) Copy(name string, order int64) (int64, error) { id, err := db.InsertModel(db.Type(model), map[string]interface{}{ "name": name, "state": model.State, "order_at": order, }) if err != nil { return 0, err } err = CopyWorkReturnVisitItems(model.Items, id, order) if err != nil { return id, err } return id, nil }