project.go 6.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139
  1. /*
  2. * @description: 项目展示项
  3. * @Author: CP
  4. * @Date: 2020-09-23 11:01:47
  5. * @FilePath: \construction_management\web\viewmodels\project.go
  6. */
  7. package viewmodels
  8. import (
  9. "fmt"
  10. validation "github.com/go-ozzo/ozzo-validation/v3"
  11. )
  12. type Project struct {
  13. Id string `form:"id" json:"id"`
  14. Code string `form:"code" json:"code"`
  15. Name string `form:"name" json:"name"`
  16. UserId string `form:"userId" json:"userId"`
  17. UserAccount string `form:"userAccount" json:"userAccount"`
  18. CategoryId string `form:"categoryId" json:"categoryId"`
  19. Category string `form:"category" json:"category"`
  20. StaffIdEncrypted string `form:"staffIdEncrypted" json:"staffIdEncrypted"`
  21. StaffId string `form:"staffId" json:"staffId"`
  22. StaffName string `form:"staffName" json:"staffName"`
  23. StaffQq string `form:"staffQq" json:"staffQq"`
  24. StaffPhone string `form:"staffPhone" json:"staffPhone"`
  25. StaffTelephone string `form:"staffTelephone" json:"staffTelephone"`
  26. Status int `form:"status" json:"status"`
  27. CreateTime string `form:"createTime" json:"createTime"`
  28. CreateName string `form:"createName" json:"createName"`
  29. CreateCategory string `form:"createCategory" json:"createCategory"`
  30. InsideCategoryid string `form:"insideCategoryId" json:"insideCategoryId"`
  31. InsideCategory string `form:"insideCategory" json:"insideCategory"`
  32. Remark string `form:"remark" json:"remark"`
  33. }
  34. type ProjectInfo struct {
  35. ProjectName string `from:"project_name" json:"projectName"`
  36. Code string `from:"code" json:"code"`
  37. CreateTime string `from:"create_time" json:"createTime"`
  38. Mobile string `from:"mobile" json:"mobile"`
  39. Name string `from:"name" json:"name"`
  40. }
  41. type ProjectPage struct {
  42. Page int `form:"page" json:"page"`
  43. Size int `form:"size" json:"size"`
  44. PageSize int `form:"pageSize" json:"pageSize"`
  45. InsideCategoryId []string `form:"category" json:"category"`
  46. Search string `form:"search" json:"search"`
  47. }
  48. func (l ProjectPage) ValidatePage() error {
  49. return validation.ValidateStruct(&l,
  50. // 字符的4倍
  51. validation.Field(&l.Page, validation.Required.Error("当前页不能为空")),
  52. // validation.Field(&l.Size, validation.Required.Error("每页数量不能为空")),
  53. )
  54. }
  55. func (l Project) ValidateId() error {
  56. return validation.ValidateStruct(&l,
  57. // 字符的4倍
  58. validation.Field(&l.Id, validation.Required.Error("项目ID不能为空")),
  59. )
  60. }
  61. func (l Project) ValidateAdd() error {
  62. return validation.ValidateStruct(&l,
  63. validation.Field(&l.Code, validation.Required.Error("项目编号不能为空")),
  64. validation.Field(&l.Name, validation.Required.Error("项目名称不能为空")),
  65. validation.Field(&l.Category, validation.Required.Error("办事处不能为空")),
  66. // validation.Field(&l.CategoryId, validation.Required.Error("办事处ID不能为空")),
  67. validation.Field(&l.StaffName, validation.Required.Error("负责人不能为空")),
  68. // validation.Field(&l.StaffId, validation.Required.Error("负责人ID不能为空")),
  69. )
  70. }
  71. func (l Project) ValidateSync() error {
  72. return validation.ValidateStruct(&l,
  73. validation.Field(&l.Id, validation.Required.Error("项目ID不能为空")),
  74. )
  75. }
  76. func (l Project) ValidateSave() error {
  77. return validation.ValidateStruct(&l,
  78. validation.Field(&l.Id, validation.Required.Error("项目ID不能为空")),
  79. validation.Field(&l.Name, validation.Required.Error("项目名称不能为空")),
  80. // validation.Field(&l.InsideCategoryid, validation.Required.Error("所在办事处ID不能为空")),
  81. validation.Field(&l.InsideCategory, validation.Required.Error("所在办事处不能为空")),
  82. validation.Field(&l.Category, validation.Required.Error("负责人办事处不能为空")),
  83. // validation.Field(&l.CategoryId, validation.Required.Error("负责人办事处ID不能为空")),
  84. validation.Field(&l.StaffName, validation.Required.Error("负责人不能为空")),
  85. // validation.Field(&l.StaffId, validation.Required.Error("负责人ID不能为空")),
  86. )
  87. }
  88. func (l Project) Validate() error {
  89. return validation.ValidateStruct(&l,
  90. // 字符的4倍
  91. validation.Field(&l.Name, validation.Required.Error("项目名称不能为空"), validation.Length(1, 512).Error("最多 128 个字")),
  92. validation.Field(&l.Code, validation.Required.Error("项目编号不能为空"), validation.Length(12, 128).Error("不得少于 3 个字")),
  93. )
  94. }
  95. func (l Project) ValidateName() error {
  96. fmt.Println(l)
  97. return validation.ValidateStruct(&l,
  98. // 字符的4倍
  99. validation.Field(&l.Name, validation.Required.Error("项目名称不能为空"), validation.Length(1, 512).Error("最多 128 个字")),
  100. )
  101. }
  102. // EnterpriseId int `xorm:"comment('企业id') INT(11)"`
  103. // UserId int `xorm:"comment('管理员id(sso用户)') INT(11)"`
  104. // UserAccount string `xorm:"comment('管理员名字(sso用户名)') VARCHAR(32)"`
  105. // CreateTime int `xorm:"comment('创建时间') INT(11)"`
  106. // MaxUser int `xorm:"comment('最大创建用户数(删除)') TINYINT(4)"`
  107. // Creator int64 `xorm:"comment('创建者') BIGINT(20)"`
  108. // Status int `xorm:"comment('项目状态') TINYINT(1)"`
  109. // Remark string `xorm:"comment('备注') VARCHAR(128)"`
  110. // ManagerId int `xorm:"comment('销售负责人') INT(11)"`
  111. // ManagerOffice int `xorm:"comment('负责人办事处') TINYINT(4)"`
  112. // Office int `xorm:"comment('办事处id(项目所属)') TINYINT(4)"`
  113. // OfficeShare string `xorm:"comment('办事处共享(office id列表') VARCHAR(1024)"`
  114. // BillId string `xorm:"comment('工程量清单id列表') VARCHAR(128)"`
  115. // ChapterId string `xorm:"comment('项目节清单id列表') VARCHAR(128)"`
  116. // StandardId int `xorm:"comment('标准清单id') TINYINT(4)"`
  117. // Valuation string `xorm:"comment('清单规范id列表(删除)') VARCHAR(128)"`
  118. // QrcodeJson string `xorm:"comment('项目二维码信息') TEXT"`
  119. // DealpayJson string `xorm:"TEXT"`
  120. // Custom int `xorm:"comment('是否是定制项目') TINYINT(1)"`
  121. // CanApi int `xorm:"comment('定制项目接口是否可用') TINYINT(1)"`
  122. // Secret string `xorm:"comment('定制项目私钥') VARCHAR(255)"`
  123. // PageShow string `xorm:"comment('前台页面或功能展示与隐藏') VARCHAR(3072)"`
  124. // PagePath string `xorm:"VARCHAR(11)"`