/* * @description: 项目展示项 * @Author: CP * @Date: 2020-09-23 11:01:47 * @FilePath: \construction_management\web\viewmodels\project.go */ package viewmodels import ( "fmt" validation "github.com/go-ozzo/ozzo-validation/v3" ) type Project struct { Id string `form:"id" json:"id"` Code string `form:"code" json:"code"` Name string `form:"name" json:"name"` UserId string `form:"userId" json:"userId"` UserAccount string `form:"userAccount" json:"userAccount"` CategoryId string `form:"categoryId" json:"categoryId"` Category string `form:"category" json:"category"` StaffId string `form:"staffId" json:"staffId"` StaffName string `form:"staffName" json:"staffName"` CreateTime string `form:"createTime" json:"createTime"` CreateName string `form:"createName" json:"createName"` CreateCategory string `form:"createCategory" json:"createCategory"` InsideCategoryId string `form:"insideCategoryId" json:"insideCategoryId"` InsideCategory string `form:"insideCategory" json:"insideCategory"` Remark string `form:"remark" json:"remark"` } type ProjectInfo struct { ProjectName string `from:"project_name" json:"projectName"` Code string `from:"code" json:"code"` CreateTime string `from:"create_time" json:"createTime"` Mobile string `from:"mobile" json:"mobile"` Name string `from:"name" json:"name"` } type ProjectPage struct { Page int `form:"page" json:"page"` Size int `form:"size" json:"size"` } func (l ProjectPage) ValidatePage() error { return validation.ValidateStruct(&l, // 字符的4倍 validation.Field(&l.Page, validation.Required.Error("当前页不能为空")), validation.Field(&l.Size, validation.Required.Error("每页数量不能为空")), ) } func (l Project) ValidateId() error { return validation.ValidateStruct(&l, // 字符的4倍 validation.Field(&l.Id, validation.Required.Error("项目ID不能为空")), ) } func (l Project) ValidateAdd() error { return validation.ValidateStruct(&l, validation.Field(&l.Code, validation.Required.Error("项目编号不能为空")), validation.Field(&l.Name, validation.Required.Error("项目名称不能为空")), validation.Field(&l.Category, validation.Required.Error("办事处不能为空")), validation.Field(&l.CategoryId, validation.Required.Error("办事处ID不能为空")), validation.Field(&l.StaffName, validation.Required.Error("负责人不能为空")), validation.Field(&l.StaffId, validation.Required.Error("负责人ID不能为空")), ) } func (l Project) ValidateSave() error { return validation.ValidateStruct(&l, validation.Field(&l.Id, validation.Required.Error("项目ID不能为空")), validation.Field(&l.Name, validation.Required.Error("项目名称不能为空")), validation.Field(&l.InsideCategoryId, validation.Required.Error("所在办事处ID不能为空")), validation.Field(&l.InsideCategory, validation.Required.Error("所在办事处不能为空")), validation.Field(&l.Category, validation.Required.Error("负责人办事处不能为空")), validation.Field(&l.CategoryId, validation.Required.Error("负责人办事处ID不能为空")), validation.Field(&l.StaffName, validation.Required.Error("负责人不能为空")), validation.Field(&l.StaffId, validation.Required.Error("负责人ID不能为空")), ) } func (l Project) Validate() error { return validation.ValidateStruct(&l, // 字符的4倍 validation.Field(&l.Name, validation.Required.Error("项目名称不能为空"), validation.Length(1, 512).Error("最多 128 个字")), validation.Field(&l.Code, validation.Required.Error("项目编号不能为空"), validation.Length(12, 128).Error("不得少于 3 个字")), ) } func (l Project) ValidateName() error { fmt.Println(l) return validation.ValidateStruct(&l, // 字符的4倍 validation.Field(&l.Name, validation.Required.Error("项目名称不能为空"), validation.Length(1, 512).Error("最多 128 个字")), ) } // EnterpriseId int `xorm:"comment('企业id') INT(11)"` // UserId int `xorm:"comment('管理员id(sso用户)') INT(11)"` // UserAccount string `xorm:"comment('管理员名字(sso用户名)') VARCHAR(32)"` // CreateTime int `xorm:"comment('创建时间') INT(11)"` // MaxUser int `xorm:"comment('最大创建用户数(删除)') TINYINT(4)"` // Creator int64 `xorm:"comment('创建者') BIGINT(20)"` // Status int `xorm:"comment('项目状态') TINYINT(1)"` // Remark string `xorm:"comment('备注') VARCHAR(128)"` // ManagerId int `xorm:"comment('销售负责人') INT(11)"` // ManagerOffice int `xorm:"comment('负责人办事处') TINYINT(4)"` // Office int `xorm:"comment('办事处id(项目所属)') TINYINT(4)"` // OfficeShare string `xorm:"comment('办事处共享(office id列表') VARCHAR(1024)"` // BillId string `xorm:"comment('工程量清单id列表') VARCHAR(128)"` // ChapterId string `xorm:"comment('项目节清单id列表') VARCHAR(128)"` // StandardId int `xorm:"comment('标准清单id') TINYINT(4)"` // Valuation string `xorm:"comment('清单规范id列表(删除)') VARCHAR(128)"` // QrcodeJson string `xorm:"comment('项目二维码信息') TEXT"` // DealpayJson string `xorm:"TEXT"` // Custom int `xorm:"comment('是否是定制项目') TINYINT(1)"` // CanApi int `xorm:"comment('定制项目接口是否可用') TINYINT(1)"` // Secret string `xorm:"comment('定制项目私钥') VARCHAR(255)"` // PageShow string `xorm:"comment('前台页面或功能展示与隐藏') VARCHAR(3072)"` // PagePath string `xorm:"VARCHAR(11)"`