package budget import ( "errors" "fmt" "zhiyuan/pkg/db" "github.com/gin-gonic/gin" ) type Order struct { ID int64 `json:"id" prop:"add:false"` Name string `json:"name" label:"名称" type:"string" prop:"edit"` QuoteId int64 `json:"quoteId" type:"int" prop:"add" search:"="` AdminId int64 `json:"adminId" type:"int" prop:"add:false" search:"="` CustomerId int64 `json:"customerId" type:"int" prop:"add" search:"="` Content []byte `json:"content" label:"内容" type:"byte" prop:"add:false"` Layout string `json:"layout" label:"内容" type:"string" prop:"add:false"` Area float64 `json:"area" label:"内容" type:"float" prop:"add:false"` State int64 `json:"state" label:"内容" type:"int" prop:"add:false"` DeletedAt int64 `json:"deleted_at" prop:"add:false select:false"` CreatedAt int64 `json:"created_at" prop:"add:false"` UpdatedAt int64 `json:"updated_at" prop:"add:false"` db.BaseModel } func (Order) TableName() string { return "zy_budget_order" } func (Order) ListPrivilege(c *gin.Context, data map[string]interface{}, s *db.Select) bool { return true } func (Order) OnePrivilege(c *gin.Context, id int64) bool { return false } func (Order) AddPrivilege(c *gin.Context, data map[string]interface{}, post map[string]interface{}) error { data["adminId"] = c.GetInt("adminID") return nil } func (Order) EditPrivilege(c *gin.Context, id int64, data map[string]interface{}, post map[string]interface{}) error { return errors.New("没有权限") } func (Order) DelPrivilege(c *gin.Context, id int64) error { return nil } func (Order) AddAfter(c *gin.Context, id int64, post map[string]interface{}, data map[string]interface{}) { /*var model Order db.GetModel(map[string]interface{}{"id": id}, &model) if model.ID == 0 { return } order, err := budget.LoadOrder(model) if err != nil { return } context := budget.NewContext(order, c) order.Save(context)*/ } func (model Order) LeftJoin(data map[string]interface{}, s *db.Select) []db.JoinModel { return []db.JoinModel{} } func (Order) Page() bool { return true } func (Order) Count() bool { return true } type OrderMobile struct { Order Content string `json:"content" prop:"select:false"` CustomerOrderId string `json:"customer_order_id" type:"string" prop:"select:customer.order_id"` } func (model OrderMobile) GroupBy() string { return fmt.Sprintf("`%s`.`id`", model.TableName()) } func (model OrderMobile) LeftJoin(data map[string]interface{}, s *db.Select) []db.JoinModel { return append(model.Order.LeftJoin(data, s), db.JoinModel{ Model: Customer{}, As: "customer", On: []string{"`customer`.`id` = " + model.TableName() + ".`customerId`"}, }) }