sys_user.go 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335
  1. package dto
  2. import (
  3. "gas-cylinder-api/app/admin/model"
  4. dto2 "gas-cylinder-api/common/dto"
  5. model2 "gas-cylinder-api/common/model"
  6. )
  7. type SysUserGetPageReq struct {
  8. dto2.Pagination `search:"-"`
  9. Username string `form:"username" search:"type:contains;column:username;table:sys_user" comment:"用户名"`
  10. Name string `form:"name" search:"type:contains;column:nick_name;table:sys_user" comment:"昵称"`
  11. Uuid string `form:"uuid" search:"type:contains;column:uuid;table:sys_user" comment:"昵称"`
  12. RoleId int `form:"roleId" search:"type:exact;column:role_id;table:sys_user" comment:"角色ID"`
  13. DeptId int `form:"deptId" search:"type:exact;column:dept_id;table:sys_user" comment:"部门ID"`
  14. Status string `form:"status" search:"type:exact;column:status;table:sys_user" comment:"状态"`
  15. UserType int `form:"userType" search:"-"`
  16. SysUserOrder
  17. }
  18. type SysUserOrder struct {
  19. //UserIdOrder string `search:"type:order;column:id;table:sys_user" form:"userIdOrder"`
  20. //UsernameOrder string `search:"type:order;column:username;table:sys_user" form:"usernameOrder"`
  21. //StatusOrder string `search:"type:order;column:status;table:sys_user" form:"statusOrder"`
  22. CreatedAtOrder string `search:"type:order;column:created_at;table:sys_user" form:"createdAtOrder" default:"desc"`
  23. }
  24. func (m *SysUserGetPageReq) GetNeedSearch() interface{} {
  25. return *m
  26. }
  27. type SysUserGetDeliveryPageReq struct {
  28. dto2.Pagination `search:"-"`
  29. Name string `form:"name" search:"type:contains;column:nick_name;table:sys_user" comment:"昵称"`
  30. StoreId string `form:"storeId" search:"type:exact;column:dept_id;table:sys_user" comment:"门店id"`
  31. }
  32. func (m *SysUserGetDeliveryPageReq) GetNeedSearch() interface{} {
  33. return *m
  34. }
  35. type SysUserGetCountReq struct {
  36. RoleIds []int `form:"roleId" search:"type:in;column:role_id;table:sys_user" comment:"角色ID"`
  37. DeptIds []int `form:"deptId" search:"type:in;column:dept_id;table:sys_user" comment:"部门ID"`
  38. PostIds []int `form:"postId" search:"type:in;column:post_id;table:sys_user" comment:"岗位ID"`
  39. }
  40. func (m *SysUserGetCountReq) GetNeedSearch() interface{} {
  41. return *m
  42. }
  43. type ResetSysUserPwdReq struct {
  44. Id int `json:"id" example:"1" vd:"$>0"` // 用户ID
  45. Password string `json:"password" example:"123456" vd:"len($)>0"` // 密码
  46. model2.ControlBy `swaggerignore:"true"`
  47. }
  48. func (s *ResetSysUserPwdReq) GetId() interface{} {
  49. return s.Id
  50. }
  51. func (s *ResetSysUserPwdReq) Generate(userModel *model.SysUser) {
  52. if s.Id != 0 {
  53. userModel.Id = s.Id
  54. }
  55. userModel.Password = s.Password
  56. if s.ControlBy.UpdateBy != 0 {
  57. userModel.UpdateBy = s.UpdateBy
  58. }
  59. if s.ControlBy.CreateBy != 0 {
  60. userModel.CreateBy = s.CreateBy
  61. }
  62. }
  63. type UpdateSysUserStatusReq struct {
  64. Id int `json:"id" example:"1" vd:"$>0"` // 用户ID
  65. Status string `json:"status" example:"2" vd:"len($)>0"` // 状态 1-停用 2-正常
  66. model2.ControlBy `swaggerignore:"true"`
  67. }
  68. func (s *UpdateSysUserStatusReq) GetId() interface{} {
  69. return s.Id
  70. }
  71. func (s *UpdateSysUserStatusReq) Generate(userModel *model.SysUser) {
  72. if s.Id != 0 {
  73. userModel.Id = s.Id
  74. }
  75. userModel.Status = s.Status
  76. if s.ControlBy.UpdateBy != 0 {
  77. userModel.UpdateBy = s.UpdateBy
  78. }
  79. if s.ControlBy.CreateBy != 0 {
  80. userModel.CreateBy = s.CreateBy
  81. }
  82. }
  83. type SysUserInsertReq struct {
  84. Id int `json:"id" swaggerignore:"true" comment:"用户ID"` // 用户ID
  85. Username string `json:"username" example:"username" vd:"@:len($)>0;msg:'用户名不能为空'"` // 用户名
  86. Password string `json:"password" example:"123456" vd:"@:len($)>5;msg:'密码格式不正确'"` // 密码
  87. Name string `json:"name" swaggerignore:"true"` // 姓名
  88. Phone string `json:"phone" swaggerignore:"true"` // 手机号
  89. RoleId int `json:"roleId" example:"1"` // 角色id
  90. DeptId int `json:"deptId" example:"1" swaggerignore:"true"` // 机构id
  91. Status string `json:"status" example:"2" swaggerignore:"true"` // 状态
  92. ProvUser model.ProvUser `json:"provUser"` // 省平台用户信息
  93. ProvStoreUserBindCertificate model.ProvStoreUserBindCertificate `json:"provStoreUserBindCertificate"` // 送气人员绑定资质信息《燃气从业资格证》
  94. ProvTruckUserBindCertificate model.ProvTruckUserBindCertificate `json:"provTruckUserBindCertificate"` // 货车司机绑定《道路运输从业人员从业资格证》信息
  95. ProvUserId string `json:"provUserId" swaggerignore:"true"` // 省平台用户id
  96. model2.ControlBy `swaggerignore:"true"`
  97. }
  98. func (s *SysUserInsertReq) Generate(userModel *model.SysUser) {
  99. if s.Id != 0 {
  100. userModel.Id = s.Id
  101. }
  102. userModel.Username = s.Username
  103. userModel.Password = s.Password
  104. userModel.NickName = s.ProvUser.Name
  105. userModel.Phone = s.ProvUser.Phone
  106. userModel.DeptId = s.DeptId
  107. userModel.RoleId = s.RoleId
  108. userModel.Status = "2"
  109. userModel.ProvUser = s.ProvUser
  110. // 门店人员-送气员
  111. if s.ProvUser.UserType == 3 && s.ProvUser.Isorders == 0 {
  112. userModel.ProvStoreUserBindCertificate = s.ProvStoreUserBindCertificate
  113. userModel.ProvStoreUserBindCertificate.UserId = s.ProvUser.UserId
  114. }
  115. // 货车司机
  116. if s.ProvUser.UserType == 4 {
  117. userModel.ProvTruckUserBindCertificate = s.ProvTruckUserBindCertificate
  118. userModel.ProvTruckUserBindCertificate.UserId = s.ProvUser.UserId
  119. }
  120. userModel.ProvUserId = s.ProvUser.UserId
  121. if s.ControlBy.UpdateBy != 0 {
  122. userModel.UpdateBy = s.UpdateBy
  123. }
  124. if s.ControlBy.CreateBy != 0 {
  125. userModel.CreateBy = s.CreateBy
  126. }
  127. }
  128. func (s *SysUserInsertReq) GetId() interface{} {
  129. return s.Id
  130. }
  131. type SysUserUpdateReq struct {
  132. Id int `json:"id" swaggerignore:"true" comment:"用户ID"` // 用户ID
  133. Name string `json:"name" swaggerignore:"true"` // 姓名
  134. Phone string `json:"phone" swaggerignore:"true"` // 手机号
  135. RoleId int `json:"roleId" example:"1"` // 角色id
  136. DeptId int `json:"deptId" example:"1" swaggerignore:"true"` // 机构id
  137. Status string `json:"status" example:"2" swaggerignore:"true"` // 状态
  138. ProvUser model.ProvUser `json:"provUser"` // 省平台用户信息
  139. ProvStoreUserBindCertificate model.ProvStoreUserBindCertificate `json:"provStoreUserBindCertificate"` // 送气人员绑定资质信息《燃气从业资格证》
  140. ProvTruckUserBindCertificate model.ProvTruckUserBindCertificate `json:"provTruckUserBindCertificate"` // 货车司机绑定《道路运输从业人员从业资格证》信息
  141. ProvUserId string `json:"provUserId" swaggerignore:"true"` // 省平台用户id
  142. model2.ControlBy `swaggerignore:"true"`
  143. }
  144. func (s *SysUserUpdateReq) Generate(userModel *model.SysUser) {
  145. if s.Id != 0 {
  146. userModel.Id = s.Id
  147. }
  148. userModel.NickName = s.ProvUser.Name
  149. userModel.Phone = s.ProvUser.Phone
  150. userModel.DeptId = s.DeptId
  151. userModel.RoleId = s.RoleId
  152. userModel.Status = "2"
  153. if len(s.ProvUser.Name) > 0 {
  154. userModel.ProvUser.Name = s.ProvUser.Name
  155. }
  156. if len(s.ProvUser.IdCard) > 0 {
  157. userModel.ProvUser.IdCard = s.ProvUser.IdCard
  158. }
  159. if len(s.ProvUser.No) > 0 {
  160. userModel.ProvUser.No = s.ProvUser.No
  161. }
  162. if len(s.ProvUser.Phone) > 0 {
  163. userModel.ProvUser.Phone = s.ProvUser.Phone
  164. }
  165. if s.ProvUser.UserType > 0 {
  166. userModel.ProvUser.UserType = s.ProvUser.UserType
  167. }
  168. if len(s.ProvUser.Description) > 0 {
  169. userModel.ProvUser.Description = s.ProvUser.Description
  170. }
  171. if len(s.ProvUser.HireStatus) > 0 {
  172. userModel.ProvUser.HireStatus = s.ProvUser.HireStatus
  173. }
  174. if len(s.ProvUser.HireTime) > 0 {
  175. userModel.ProvUser.HireTime = s.ProvUser.HireTime
  176. }
  177. if len(s.ProvUser.Education) > 0 {
  178. userModel.ProvUser.Education = s.ProvUser.Education
  179. }
  180. if len(s.ProvUser.JobCategory) > 0 {
  181. userModel.ProvUser.JobCategory = s.ProvUser.JobCategory
  182. }
  183. if len(s.ProvUser.PersonQual) > 0 {
  184. userModel.ProvUser.PersonQual = s.ProvUser.PersonQual
  185. }
  186. if s.ProvUser.Isorders >= 0 {
  187. userModel.ProvUser.Isorders = s.ProvUser.Isorders
  188. }
  189. // 门店人员-送气员
  190. if userModel.ProvUser.UserType == 3 && userModel.ProvUser.Isorders == 0 {
  191. storeUser := s.ProvStoreUserBindCertificate
  192. userModel.ProvStoreUserBindCertificate.UserId = userModel.ProvUser.UserId
  193. if len(storeUser.CertificateNo) > 0 {
  194. userModel.ProvStoreUserBindCertificate.CertificateNo = storeUser.CertificateNo
  195. }
  196. if storeUser.Type > 0 {
  197. userModel.ProvStoreUserBindCertificate.Type = storeUser.Type
  198. }
  199. if len(storeUser.IssueAuthority) > 0 {
  200. userModel.ProvStoreUserBindCertificate.IssueAuthority = storeUser.IssueAuthority
  201. }
  202. if len(storeUser.IssueTime) > 0 {
  203. userModel.ProvStoreUserBindCertificate.IssueTime = storeUser.IssueTime
  204. }
  205. if len(storeUser.ImgUrl) > 0 {
  206. userModel.ProvStoreUserBindCertificate.ImgUrl = storeUser.ImgUrl
  207. }
  208. if len(storeUser.Remarks) > 0 {
  209. userModel.ProvStoreUserBindCertificate.Remarks = storeUser.Remarks
  210. }
  211. }
  212. // 货车司机
  213. if userModel.ProvUser.UserType == 4 {
  214. truckUser := s.ProvTruckUserBindCertificate
  215. userModel.ProvTruckUserBindCertificate.UserId = userModel.ProvUser.UserId
  216. if len(truckUser.CertificateNo) > 0 {
  217. userModel.ProvTruckUserBindCertificate.CertificateNo = truckUser.CertificateNo
  218. }
  219. if truckUser.Type > 0 {
  220. userModel.ProvTruckUserBindCertificate.Type = truckUser.Type
  221. }
  222. if len(truckUser.IssueAuthority) > 0 {
  223. userModel.ProvTruckUserBindCertificate.IssueAuthority = truckUser.IssueAuthority
  224. }
  225. if len(truckUser.IssueTime) > 0 {
  226. userModel.ProvTruckUserBindCertificate.IssueTime = truckUser.IssueTime
  227. }
  228. if len(truckUser.FirstIssueTime) > 0 {
  229. userModel.ProvTruckUserBindCertificate.FirstIssueTime = truckUser.FirstIssueTime
  230. }
  231. if len(truckUser.ExpireTime) > 0 {
  232. userModel.ProvTruckUserBindCertificate.ExpireTime = truckUser.ExpireTime
  233. }
  234. if len(truckUser.ImgUrl) > 0 {
  235. userModel.ProvTruckUserBindCertificate.ImgUrl = truckUser.ImgUrl
  236. }
  237. if len(truckUser.Remarks) > 0 {
  238. userModel.ProvTruckUserBindCertificate.Remarks = truckUser.Remarks
  239. }
  240. }
  241. if s.ControlBy.UpdateBy != 0 {
  242. userModel.UpdateBy = s.UpdateBy
  243. }
  244. if s.ControlBy.CreateBy != 0 {
  245. userModel.CreateBy = s.CreateBy
  246. }
  247. }
  248. func (s *SysUserUpdateReq) GetId() interface{} {
  249. return s.Id
  250. }
  251. type SysUserGetReq struct {
  252. Id int `uri:"id"`
  253. }
  254. func (s *SysUserGetReq) GetId() interface{} {
  255. return s.Id
  256. }
  257. type SysUserDeleteReq struct {
  258. Id int `json:"id"`
  259. model2.ControlBy `swaggerignore:"true"`
  260. }
  261. func (s *SysUserDeleteReq) GetId() interface{} {
  262. return s.Id
  263. }
  264. type SysUserById struct {
  265. dto2.ObjectById
  266. model2.ControlBy `swaggerignore:"true"`
  267. }
  268. func (s *SysUserById) GetIds() interface{} {
  269. return s.Ids
  270. }
  271. func (s *SysUserById) GetId() interface{} {
  272. if len(s.Ids) > 0 {
  273. s.Ids = append(s.Ids, s.Id)
  274. return s.Ids
  275. }
  276. return s.Id
  277. }
  278. func (s *SysUserById) GenerateM() (model2.ActiveRecord, error) {
  279. return &model.SysUser{}, nil
  280. }
  281. // PassWord 密码
  282. type PassWord struct {
  283. NewPassword string `json:"newPassword" example:"123456" vd:"len($)>0"` // 新密码
  284. OldPassword string `json:"oldPassword" example:"12345678" vd:"len($)>0"` // 旧密码
  285. }
  286. type SysUserGetSMSVerifyCodeReq struct {
  287. Phone string `form:"phone" example:"13912345678"` //手机号
  288. }
  289. type GetNewestTokenReq struct {
  290. UserId int64 `uri:"userId" example:"1"` //手机号
  291. }
  292. type SysUserGetPageByOptTypeReq struct {
  293. dto2.Pagination `search:"-"`
  294. OptType string `form:"optType" search:"-"` // 气瓶流转步骤
  295. Name string `form:"name" search:"type:contains;column:nick_name;table:sys_user" comment:"昵称"`
  296. StoreId string `form:"storeId" search:"type:exact;column:dept_id;table:sys_user" comment:"门店id"`
  297. }
  298. func (m *SysUserGetPageByOptTypeReq) GetNeedSearch() interface{} {
  299. return *m
  300. }