userhandler.go 9.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434
  1. // 模块控制接口-用户
  2. // 秒寻科技
  3. // zt 2024-01-04
  4. package userhandler
  5. import (
  6. "ipsomc/core/dao/mysql/mysqlmodel"
  7. "ipsomc/core/gin/bind"
  8. "ipsomc/core/gin/resp"
  9. "ipsomc/core/user/userapi"
  10. "ipsomc/core/user/userlogic"
  11. "ipsomc/core/user/usermodel"
  12. "github.com/gin-gonic/gin"
  13. )
  14. type UserHan struct {
  15. userApi userapi.UserApi
  16. userLgc userlogic.UserLgc
  17. bindApi bind.BindApi
  18. }
  19. // 操作员登录
  20. func (obj *UserHan) OperatorLoginHan(c *gin.Context) {
  21. dataModel := new(usermodel.Operator)
  22. respModel := new(usermodel.RspOperator)
  23. //把前端数据绑定到模型
  24. if err := obj.bindApi.Bind2Model(c, dataModel); err != nil {
  25. resp.RespFail(c, "数据错误")
  26. return
  27. }
  28. //登录
  29. if err := obj.userLgc.OperatorLogin(dataModel, respModel); err != nil {
  30. resp.RespFail(c, err.Error())
  31. return
  32. }
  33. resp.RespData(c, respModel) //返回数据
  34. }
  35. // 增加操作员
  36. func (obj *UserHan) AddOperatorHan(c *gin.Context) {
  37. dataModel := new(usermodel.Operator)
  38. //把前端数据绑定到模型
  39. if err := obj.bindApi.Bind2Model(c, dataModel); err != nil {
  40. resp.RespFail(c, "数据错误")
  41. return
  42. }
  43. //保存数据
  44. if err := obj.userApi.AddOperator(dataModel); err != nil {
  45. resp.RespFail(c, err.Error())
  46. return
  47. }
  48. //返回数据
  49. resp.RespId(c, dataModel.ID)
  50. }
  51. // 修改
  52. func (obj *UserHan) UpdateOperatorHan(c *gin.Context) {
  53. dataModel := new(usermodel.Operator)
  54. dataMap := make(map[string]interface{})
  55. //把前端数据绑定到模型
  56. if err := obj.bindApi.Bind2Map(c, dataModel, dataMap); err != nil {
  57. resp.RespFail(c, err.Error())
  58. return
  59. }
  60. //保存数据
  61. if err := obj.userApi.UpdateOperator(dataModel, dataMap); err != nil {
  62. resp.RespFail(c, err.Error())
  63. return
  64. }
  65. //返回数据
  66. resp.RespOk(c)
  67. }
  68. // 修改密码
  69. func (obj *UserHan) UpdateOperatorPwdHan(c *gin.Context) {
  70. dataModel := new(usermodel.Operator)
  71. dataMap := make(map[string]interface{})
  72. //把前端数据绑定到模型
  73. if err := obj.bindApi.Bind2Map(c, dataModel, dataMap); err != nil {
  74. resp.RespFail(c, err.Error())
  75. return
  76. }
  77. //保存数据
  78. if err := obj.userApi.UpdateOperatorPwd(dataModel, dataMap); err != nil {
  79. resp.RespFail(c, err.Error())
  80. return
  81. }
  82. //返回数据
  83. resp.RespOk(c)
  84. }
  85. // 重置密码
  86. func (obj *UserHan) ResetOperatorPwdHan(c *gin.Context) {
  87. dataModel := new(usermodel.Operator)
  88. //把前端数据绑定到模型
  89. if err := obj.bindApi.Bind2Model(c, dataModel); err != nil {
  90. resp.RespFail(c, err.Error())
  91. return
  92. }
  93. //保存数据
  94. if err := obj.userApi.ResetOperatorPwd(dataModel); err != nil {
  95. resp.RespFail(c, err.Error())
  96. return
  97. }
  98. //返回数据
  99. resp.RespData(c, dataModel)
  100. }
  101. // 删除
  102. func (obj *UserHan) DeleteOperatorHan(c *gin.Context) {
  103. dataModel := new(usermodel.Operator)
  104. //把前端数据绑定到模型
  105. if err := obj.bindApi.Bind2Model(c, dataModel); err != nil {
  106. resp.RespFail(c, "数据解析错误")
  107. return
  108. }
  109. if err := obj.userApi.DeleteOperator(dataModel); err != nil {
  110. resp.RespFail(c, err.Error())
  111. return
  112. }
  113. //返回数据
  114. resp.RespOk(c)
  115. }
  116. // 查询单条记录
  117. func (obj *UserHan) GetOperatorByIdHan(c *gin.Context) {
  118. dataModel := new(usermodel.Operator)
  119. //把前端数据绑定到模型
  120. if err := obj.bindApi.Bind2Model(c, dataModel); err != nil {
  121. resp.RespFail(c, "数据解析错误")
  122. return
  123. }
  124. if err := obj.userApi.GetOperatorById(dataModel); err != nil {
  125. resp.RespFail(c, err.Error())
  126. return
  127. }
  128. //返回数据
  129. resp.RespData(c, dataModel)
  130. }
  131. // 分页查询
  132. func (obj *UserHan) GetOperatorPageListHan(c *gin.Context) {
  133. dataModel := new(usermodel.Operator)
  134. pageListParam := new(mysqlmodel.PageListParam)
  135. dataList := []usermodel.Operator{}
  136. //把前端数据绑定到模型
  137. if err := obj.bindApi.Bind2PageQuery(c, pageListParam); err != nil {
  138. resp.RespFail(c, "数据解析错误")
  139. return
  140. }
  141. pageListData, err := obj.userApi.GetOperatorPageList(dataModel, pageListParam, &dataList)
  142. if err != nil {
  143. resp.RespFail(c, err.Error())
  144. return
  145. }
  146. //密码不返回前端
  147. for index := range dataList {
  148. dataList[index].Password = ""
  149. }
  150. pageListData.Items = dataList
  151. resp.RespList(c, pageListData)
  152. }
  153. // 获得用户访问权限,包括页面访问权限和按钮访问权限
  154. func (obj *UserHan) GetOperatorPermissionHan(c *gin.Context) {
  155. dataModel := new(usermodel.Operator)
  156. var permission usermodel.RspOperatorPermission
  157. //把前端数据绑定到模型
  158. if err := obj.bindApi.Bind2Model(c, dataModel); err != nil {
  159. resp.RespFail(c, "数据解析错误")
  160. return
  161. }
  162. permission, err := obj.userLgc.GetOperatorPermissionLgc(dataModel)
  163. if err != nil {
  164. resp.RespFail(c, err.Error())
  165. return
  166. }
  167. //返回数据
  168. resp.RespData(c, permission)
  169. }
  170. /**************************************上面是操作员接口***************************************/
  171. /**************************************下面管理角色接口***************************************/
  172. // 增加操作员
  173. func (obj *UserHan) AddRoleHan(c *gin.Context) {
  174. dataModel := new(usermodel.Role)
  175. //把前端数据绑定到模型
  176. if err := obj.bindApi.Bind2Model(c, dataModel); err != nil {
  177. resp.RespFail(c, "数据错误")
  178. return
  179. }
  180. //保存数据
  181. if err := obj.userApi.AddRole(dataModel); err != nil {
  182. resp.RespFail(c, err.Error())
  183. return
  184. }
  185. //返回数据
  186. resp.RespId(c, dataModel.ID)
  187. }
  188. // 修改
  189. func (obj *UserHan) UpdateRoleHan(c *gin.Context) {
  190. dataModel := new(usermodel.Role)
  191. dataMap := make(map[string]interface{})
  192. //把前端数据绑定到模型
  193. if err := obj.bindApi.Bind2Map(c, dataModel, dataMap); err != nil {
  194. resp.RespFail(c, err.Error())
  195. return
  196. }
  197. //保存数据
  198. if err := obj.userApi.UpdateRole(dataModel, dataMap); err != nil {
  199. resp.RespFail(c, err.Error())
  200. return
  201. }
  202. //返回数据
  203. resp.RespOk(c)
  204. }
  205. // 删除
  206. func (obj *UserHan) DeleteRoleHan(c *gin.Context) {
  207. dataModel := new(usermodel.Role)
  208. //把前端数据绑定到模型
  209. if err := obj.bindApi.Bind2Model(c, dataModel); err != nil {
  210. resp.RespFail(c, "数据解析错误")
  211. return
  212. }
  213. if err := obj.userApi.DeleteRole(dataModel); err != nil {
  214. resp.RespFail(c, err.Error())
  215. return
  216. }
  217. //返回数据
  218. resp.RespOk(c)
  219. }
  220. // 查询单条记录
  221. func (obj *UserHan) GetRoleByIdHan(c *gin.Context) {
  222. dataModel := new(usermodel.Role)
  223. //把前端数据绑定到模型
  224. if err := obj.bindApi.Bind2Model(c, dataModel); err != nil {
  225. resp.RespFail(c, "数据解析错误")
  226. return
  227. }
  228. if err := obj.userApi.GetRoleId(dataModel); err != nil {
  229. resp.RespFail(c, err.Error())
  230. return
  231. }
  232. //返回数据
  233. resp.RespData(c, dataModel)
  234. }
  235. // 分页查询
  236. func (obj *UserHan) GetRolePageListHan(c *gin.Context) {
  237. dataModel := new(usermodel.Role)
  238. pageListParam := new(mysqlmodel.PageListParam)
  239. dataList := []usermodel.Role{}
  240. //把前端数据绑定到模型
  241. if err := obj.bindApi.Bind2PageQuery(c, pageListParam); err != nil {
  242. resp.RespFail(c, "数据解析错误")
  243. return
  244. }
  245. pageListData, err := obj.userApi.GetRolePageList(dataModel, pageListParam, &dataList)
  246. if err != nil {
  247. resp.RespFail(c, err.Error())
  248. return
  249. }
  250. resp.RespList(c, pageListData)
  251. }
  252. /**************************************上面是管理角色接口***************************************/
  253. /**************************************下面管理权限接口***************************************/
  254. // 增加操作员
  255. func (obj *UserHan) AddPermissionHan(c *gin.Context) {
  256. dataModel := new(usermodel.Permission)
  257. //把前端数据绑定到模型
  258. if err := obj.bindApi.Bind2Model(c, dataModel); err != nil {
  259. resp.RespFail(c, "数据错误")
  260. return
  261. }
  262. //保存数据
  263. if err := obj.userApi.AddPermission(dataModel); err != nil {
  264. resp.RespFail(c, err.Error())
  265. return
  266. }
  267. //返回数据
  268. resp.RespId(c, dataModel.ID)
  269. }
  270. // 修改
  271. func (obj *UserHan) UpdatePermissionHan(c *gin.Context) {
  272. dataModel := new(usermodel.Permission)
  273. dataMap := make(map[string]interface{})
  274. //把前端数据绑定到模型
  275. if err := obj.bindApi.Bind2Map(c, dataModel, dataMap); err != nil {
  276. resp.RespFail(c, err.Error())
  277. return
  278. }
  279. //保存数据
  280. if err := obj.userApi.UpdatePermission(dataModel, dataMap); err != nil {
  281. resp.RespFail(c, err.Error())
  282. return
  283. }
  284. //返回数据
  285. resp.RespOk(c)
  286. }
  287. // 删除
  288. func (obj *UserHan) DeletePermissionHan(c *gin.Context) {
  289. dataModel := new(usermodel.Permission)
  290. //把前端数据绑定到模型
  291. if err := obj.bindApi.Bind2Model(c, dataModel); err != nil {
  292. resp.RespFail(c, "数据解析错误")
  293. return
  294. }
  295. if err := obj.userApi.DeletePermission(dataModel); err != nil {
  296. resp.RespFail(c, err.Error())
  297. return
  298. }
  299. //返回数据
  300. resp.RespOk(c)
  301. }
  302. // 查询单条记录
  303. func (obj *UserHan) GetPermissionByIdHan(c *gin.Context) {
  304. dataModel := new(usermodel.Permission)
  305. //把前端数据绑定到模型
  306. if err := obj.bindApi.Bind2Model(c, dataModel); err != nil {
  307. resp.RespFail(c, "数据解析错误")
  308. return
  309. }
  310. if err := obj.userApi.GetPermissionId(dataModel); err != nil {
  311. resp.RespFail(c, err.Error())
  312. return
  313. }
  314. //返回数据
  315. resp.RespData(c, dataModel)
  316. }
  317. // 查询全部
  318. func (obj *UserHan) GetPermissionListHan(c *gin.Context) {
  319. dataModel := new(usermodel.Permission)
  320. //把前端数据绑定到模型
  321. if err := obj.bindApi.Bind2Model(c, dataModel); err != nil {
  322. resp.RespFail(c, err.Error())
  323. return
  324. }
  325. dataList, err := obj.userApi.GetPermissionList(dataModel)
  326. if err != nil {
  327. resp.RespFail(c, err.Error())
  328. return
  329. }
  330. //返回数据
  331. resp.RespData(c, dataList)
  332. }
  333. // 分页查询
  334. func (obj *UserHan) GetPermissionPageListHan(c *gin.Context) {
  335. dataModel := new(usermodel.Permission)
  336. pageListParam := new(mysqlmodel.PageListParam)
  337. dataList := []usermodel.Permission{}
  338. //把前端数据绑定到模型
  339. if err := obj.bindApi.Bind2PageQuery(c, pageListParam); err != nil {
  340. resp.RespFail(c, "数据解析错误")
  341. return
  342. }
  343. pageListData, err := obj.userApi.GetPermissionPageList(dataModel, pageListParam, &dataList)
  344. if err != nil {
  345. resp.RespFail(c, err.Error())
  346. return
  347. }
  348. resp.RespList(c, pageListData)
  349. }