project.go 2.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  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 validation "github.com/go-ozzo/ozzo-validation/v3"
  9. type Project struct {
  10. Id string `form:"id" json:"id"`
  11. Code string `form:"code" json:"code"`
  12. Name string `form:"name" json:"name"`
  13. }
  14. type ProjectInfo struct {
  15. ProjectName string `from:"projectName" json:"projectName"`
  16. Code string `from:"code" json:"code"`
  17. CreateTime int `from:"create_time" json:"createTime"`
  18. Mobile string `from:"mobile" json:"mobile"`
  19. Name string `from:"name" json:"name"`
  20. }
  21. func (l Project) Validate() error {
  22. return validation.ValidateStruct(&l,
  23. // 字符的4倍
  24. validation.Field(&l.Name, validation.Required.Error("项目名称不能为空"), validation.Length(1, 512).Error("最多 128 个字")),
  25. validation.Field(&l.Code, validation.Required.Error("项目编号不能为空"), validation.Length(12, 128).Error("不得少于 3 个字")),
  26. )
  27. }
  28. func (l Project) ValidateName() error {
  29. return validation.ValidateStruct(&l,
  30. // 字符的4倍
  31. validation.Field(&l.Name, validation.Required.Error("项目名称不能为空"), validation.Length(1, 512).Error("最多 128 个字")),
  32. )
  33. }
  34. // EnterpriseId int `xorm:"comment('企业id') INT(11)"`
  35. // UserId int `xorm:"comment('管理员id(sso用户)') INT(11)"`
  36. // UserAccount string `xorm:"comment('管理员名字(sso用户名)') VARCHAR(32)"`
  37. // CreateTime int `xorm:"comment('创建时间') INT(11)"`
  38. // MaxUser int `xorm:"comment('最大创建用户数(删除)') TINYINT(4)"`
  39. // Creator int64 `xorm:"comment('创建者') BIGINT(20)"`
  40. // Status int `xorm:"comment('项目状态') TINYINT(1)"`
  41. // Remark string `xorm:"comment('备注') VARCHAR(128)"`
  42. // ManagerId int `xorm:"comment('销售负责人') INT(11)"`
  43. // ManagerOffice int `xorm:"comment('负责人办事处') TINYINT(4)"`
  44. // Office int `xorm:"comment('办事处id(项目所属)') TINYINT(4)"`
  45. // OfficeShare string `xorm:"comment('办事处共享(office id列表') VARCHAR(1024)"`
  46. // BillId string `xorm:"comment('工程量清单id列表') VARCHAR(128)"`
  47. // ChapterId string `xorm:"comment('项目节清单id列表') VARCHAR(128)"`
  48. // StandardId int `xorm:"comment('标准清单id') TINYINT(4)"`
  49. // Valuation string `xorm:"comment('清单规范id列表(删除)') VARCHAR(128)"`
  50. // QrcodeJson string `xorm:"comment('项目二维码信息') TEXT"`
  51. // DealpayJson string `xorm:"TEXT"`
  52. // Custom int `xorm:"comment('是否是定制项目') TINYINT(1)"`
  53. // CanApi int `xorm:"comment('定制项目接口是否可用') TINYINT(1)"`
  54. // Secret string `xorm:"comment('定制项目私钥') VARCHAR(255)"`
  55. // PageShow string `xorm:"comment('前台页面或功能展示与隐藏') VARCHAR(3072)"`
  56. // PagePath string `xorm:"VARCHAR(11)"`