user_controller.go 6.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201
  1. package controllers
  2. import (
  3. "github.com/kataras/iris/v12/mvc"
  4. "xps/service/system"
  5. "xps/viewmodels"
  6. )
  7. type UserController struct {
  8. Base
  9. Service system.UserService
  10. }
  11. func (c *UserController) BeforeActivation(b mvc.BeforeActivation) {
  12. b.Handle("GET", "/page", "GetPage" )
  13. b.Handle("GET", "/", "GetList" )
  14. b.Handle("GET", "/{groupId:int64}/{accountId:int64}", "GetById" )
  15. b.Handle("POST", "/add", "Create" )
  16. b.Handle("PUT", "/update", "Update" )
  17. b.Handle("PUT", "/updatePassword/{pwd: string}", "UpdatePassword" )
  18. b.Handle("PUT", "/resetPassword/{userId:int64}", "ResetPassword" )
  19. b.Handle("PUT", "/updateStatus/{userId:int64}/{status:int64}", "UpdateStatus" )
  20. b.Handle("DELETE", "/{accountId:int64}", "DeleteById" )
  21. b.Handle("GET", "/IsUserNameExist/{userName: string}", "IsUserNameExist" )
  22. b.Handle("GET", "/IsUserPhoneExist/{userPhone: string}", "IsUserPhoneExist")
  23. b.Handle("GET", "/IsStaffNoExist/{staffNo: string}", "IsStaffNoExist" )
  24. b.Handle("GET", "/IsEmailExist/{email: string}", "IsEmailExist" )
  25. b.Handle("GET", "/select", "SelectUser" )
  26. }
  27. func (c *UserController) GetPage()*JsonResult {
  28. params := c.buildParams()
  29. data, err := c.Service.GetPage(params)
  30. if err != nil {
  31. return ResultErr(err.Error(), nil)
  32. } else {
  33. return ResultOk("获取成功", data)
  34. }
  35. }
  36. func (c *UserController) GetList() *JsonResult {
  37. params := c.buildParams()
  38. data, err := c.Service.GetList(params)
  39. if err != nil {
  40. return ResultErr(err.Error(), nil)
  41. } else {
  42. return ResultOk("获取成功", data)
  43. }
  44. }
  45. func (c *UserController) GetById(groupId, accountId int64)*JsonResult {
  46. ocId := c.GetCurOcId()
  47. data, err := c.Service.GetById(ocId, groupId, accountId)
  48. if err != nil {
  49. return ResultErr(err.Error(), nil)
  50. } else {
  51. return ResultOk("获取成功", data)
  52. }
  53. }
  54. func (c *UserController) Create() *JsonResult {
  55. ocId := c.GetCurOcId()
  56. ocTypeId := c.GetOcTypeId()
  57. user := &viewmodels.UserInfo{}
  58. err := c.Ctx.ReadJSON(user)
  59. if err != nil {
  60. return ResultErr("读取数据失败", nil)
  61. }
  62. user.OcId = ocId
  63. err = c.Service.Create(ocTypeId, user)
  64. if err != nil {
  65. return ResultErr(err.Error(), nil)
  66. } else {
  67. return ResultOk("新增成功", nil)
  68. }
  69. }
  70. func (c *UserController) Update() *JsonResult {
  71. user := &viewmodels.UserInfo{}
  72. err := c.Ctx.ReadJSON(user)
  73. if err != nil {
  74. return ResultErr("读取数据失败", nil)
  75. }
  76. err = c.Service.Update(user)
  77. if err != nil {
  78. return ResultErr(err.Error(), nil)
  79. } else {
  80. return ResultOk("更新成功", nil)
  81. }
  82. }
  83. func (c *UserController) UpdatePassword(psw string)*JsonResult{
  84. ocId := c.GetCurOcId()
  85. userId := c.GetCurUserId()
  86. err := c.Service.UpdatePassword(ocId, userId, psw)
  87. if err != nil {
  88. return ResultErr(err.Error(), nil)
  89. } else {
  90. return ResultOk("密码更新成功", nil)
  91. }
  92. }
  93. func (c *UserController) ResetPassword(userId int64)*JsonResult{
  94. ocId := c.GetCurOcId()
  95. err := c.Service.ResetPassword(ocId, userId)
  96. if err != nil {
  97. return ResultErr(err.Error(), nil)
  98. } else {
  99. return ResultOk("密码重置成功", nil)
  100. }
  101. }
  102. func (c *UserController) UpdateStatus(userId, status int64)*JsonResult{
  103. ocId := c.GetCurOcId()
  104. err := c.Service.ChangeStatus(ocId, userId, status)
  105. if err != nil {
  106. return ResultErr(err.Error(), nil)
  107. } else {
  108. return ResultOk("状态变更成功", nil)
  109. }
  110. }
  111. func (c *UserController) DeleteById(accountId int64)*JsonResult {
  112. ocId := c.GetCurOcId()
  113. userId := c.GetCurUserId()
  114. m := make(map[string]interface{})
  115. m["ocId"] = ocId
  116. m["accountId"] = accountId
  117. m["deletedBy"] = userId
  118. err := c.Service.Delete(m)
  119. if err != nil {
  120. return ResultErr(err.Error(), nil)
  121. } else {
  122. return ResultOk("删除成功", nil)
  123. }
  124. }
  125. func (c *UserController) IsUserNameExist(userName string) *JsonResult {
  126. ocId := c.GetCurOcId()
  127. bExist, err := c.Service.IsUserNameExist(ocId, userName)
  128. if err != nil {
  129. return ResultErr(err.Error(), nil)
  130. }
  131. if bExist {
  132. return ResultErr("帐号名称已存在", nil)
  133. } else {
  134. return ResultOk("帐号名称不重复", nil)
  135. }
  136. }
  137. func (c *UserController) IsUserPhoneExist(userPhone string) *JsonResult {
  138. ocId := c.GetCurOcId()
  139. bExist, err := c.Service.IsUserPhoneExist(ocId, userPhone)
  140. if err != nil {
  141. return ResultErr(err.Error(), nil)
  142. }
  143. if bExist {
  144. return ResultErr("电话号码已注册", nil)
  145. } else {
  146. return ResultOk("电话号码无重复", nil)
  147. }
  148. }
  149. func (c *UserController) IsStaffNoExist(staffNo string) *JsonResult {
  150. ocId := c.GetCurOcId()
  151. bExist, err := c.Service.IsStaffNoExist(ocId, staffNo)
  152. if err != nil {
  153. return ResultErr(err.Error(), nil)
  154. }
  155. if bExist {
  156. return ResultErr("工号已存在", nil)
  157. } else {
  158. return ResultOk("工号无重复", nil)
  159. }
  160. }
  161. func (c *UserController) IsEmailExist(email string) *JsonResult {
  162. ocId := c.GetCurOcId()
  163. bExist, err := c.Service.IsEmailExist(ocId, email)
  164. if err != nil {
  165. return ResultErr(err.Error(), nil)
  166. }
  167. if bExist {
  168. return ResultErr("email已存在", nil)
  169. } else {
  170. return ResultOk("email无重复", nil)
  171. }
  172. }
  173. func (c *UserController) SelectUser() *JsonResult {
  174. ocId := c.GetCurOcId()
  175. data, err := c.Service.SelectUser(ocId)
  176. if err != nil {
  177. return ResultErr(err.Error(), nil)
  178. } else {
  179. return ResultOk("获取成功", data)
  180. }
  181. }