order.go 2.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798
  1. package budget
  2. import (
  3. "errors"
  4. "fmt"
  5. "zhiyuan/pkg/db"
  6. "github.com/gin-gonic/gin"
  7. )
  8. type Order struct {
  9. ID int64 `json:"id" prop:"add:false"`
  10. Name string `json:"name" label:"名称" type:"string" prop:"edit"`
  11. QuoteId int64 `json:"quoteId" type:"int" prop:"add" search:"="`
  12. AdminId int64 `json:"adminId" type:"int" prop:"add:false" search:"="`
  13. CustomerId int64 `json:"customerId" type:"int" prop:"add" search:"="`
  14. Content []byte `json:"content" label:"内容" type:"byte" prop:"add:false"`
  15. Layout string `json:"layout" label:"内容" type:"string" prop:"add:false"`
  16. Area float64 `json:"area" label:"内容" type:"float" prop:"add:false"`
  17. State int64 `json:"state" label:"内容" type:"int" prop:"add:false"`
  18. DeletedAt int64 `json:"deleted_at" prop:"add:false select:false"`
  19. CreatedAt int64 `json:"created_at" prop:"add:false"`
  20. UpdatedAt int64 `json:"updated_at" prop:"add:false"`
  21. db.BaseModel
  22. }
  23. func (Order) TableName() string {
  24. return "zy_budget_order"
  25. }
  26. func (Order) ListPrivilege(c *gin.Context, data map[string]interface{}, s *db.Select) bool {
  27. return true
  28. }
  29. func (Order) OnePrivilege(c *gin.Context, id int64) bool {
  30. return false
  31. }
  32. func (Order) AddPrivilege(c *gin.Context, data map[string]interface{}, post map[string]interface{}) error {
  33. data["adminId"] = c.GetInt("adminID")
  34. return nil
  35. }
  36. func (Order) EditPrivilege(c *gin.Context, id int64, data map[string]interface{}, post map[string]interface{}) error {
  37. return errors.New("没有权限")
  38. }
  39. func (Order) DelPrivilege(c *gin.Context, id int64) error {
  40. return nil
  41. }
  42. func (Order) AddAfter(c *gin.Context, id int64, post map[string]interface{}, data map[string]interface{}) {
  43. /*var model Order
  44. db.GetModel(map[string]interface{}{"id": id}, &model)
  45. if model.ID == 0 {
  46. return
  47. }
  48. order, err := budget.LoadOrder(model)
  49. if err != nil {
  50. return
  51. }
  52. context := budget.NewContext(order, c)
  53. order.Save(context)*/
  54. }
  55. func (model Order) LeftJoin(data map[string]interface{}, s *db.Select) []db.JoinModel {
  56. return []db.JoinModel{}
  57. }
  58. func (Order) Page() bool {
  59. return true
  60. }
  61. func (Order) Count() bool {
  62. return true
  63. }
  64. type OrderMobile struct {
  65. Order
  66. Content string `json:"content" prop:"select:false"`
  67. CustomerOrderId string `json:"customer_order_id" type:"string" prop:"select:customer.order_id"`
  68. }
  69. func (model OrderMobile) GroupBy() string {
  70. return fmt.Sprintf("`%s`.`id`", model.TableName())
  71. }
  72. func (model OrderMobile) LeftJoin(data map[string]interface{}, s *db.Select) []db.JoinModel {
  73. return append(model.Order.LeftJoin(data, s),
  74. db.JoinModel{
  75. Model: Customer{},
  76. As: "customer",
  77. On: []string{"`customer`.`id` = " + model.TableName() + ".`customerId`"},
  78. })
  79. }