// 模块控制接口-用户 // 秒寻科技 // zt 2024-01-04 package userhandler import ( "ipsomc/core/dao/mysql/mysqlmodel" "ipsomc/core/gin/bind" "ipsomc/core/gin/resp" "ipsomc/core/user/userapi" "ipsomc/core/user/userlogic" "ipsomc/core/user/usermodel" "github.com/gin-gonic/gin" ) type UserHan struct { userApi userapi.UserApi userLgc userlogic.UserLgc bindApi bind.BindApi } // 操作员登录 func (obj *UserHan) OperatorLoginHan(c *gin.Context) { dataModel := new(usermodel.Operator) respModel := new(usermodel.RspOperator) //把前端数据绑定到模型 if err := obj.bindApi.Bind2Model(c, dataModel); err != nil { resp.RespFail(c, "数据错误") return } //登录 if err := obj.userLgc.OperatorLogin(dataModel, respModel); err != nil { resp.RespFail(c, err.Error()) return } resp.RespData(c, respModel) //返回数据 } // 增加操作员 func (obj *UserHan) AddOperatorHan(c *gin.Context) { dataModel := new(usermodel.Operator) //把前端数据绑定到模型 if err := obj.bindApi.Bind2Model(c, dataModel); err != nil { resp.RespFail(c, "数据错误") return } if dataModel.CompanyID == 0 { dataModel.CompanyID = dataModel.BelongingCompanyID } //保存数据 if err := obj.userApi.AddOperator(dataModel); err != nil { resp.RespFail(c, err.Error()) return } //返回数据 resp.RespId(c, dataModel.ID) } // 修改 func (obj *UserHan) UpdateOperatorHan(c *gin.Context) { dataModel := new(usermodel.Operator) dataMap := make(map[string]interface{}) //把前端数据绑定到模型 if err := obj.bindApi.Bind2Map(c, dataModel, dataMap); err != nil { resp.RespFail(c, err.Error()) return } //保存数据 if err := obj.userApi.UpdateOperator(dataModel, dataMap); err != nil { resp.RespFail(c, err.Error()) return } //返回数据 resp.RespOk(c) } // 修改密码 func (obj *UserHan) UpdateOperatorPwdHan(c *gin.Context) { dataModel := new(usermodel.Operator) dataMap := make(map[string]interface{}) //把前端数据绑定到模型 if err := obj.bindApi.Bind2Map(c, dataModel, dataMap); err != nil { resp.RespFail(c, err.Error()) return } //保存数据 if err := obj.userApi.UpdateOperatorPwd(dataModel, dataMap); err != nil { resp.RespFail(c, err.Error()) return } //返回数据 resp.RespOk(c) } // 重置密码 func (obj *UserHan) ResetOperatorPwdHan(c *gin.Context) { dataModel := new(usermodel.Operator) //把前端数据绑定到模型 if err := obj.bindApi.Bind2Model(c, dataModel); err != nil { resp.RespFail(c, err.Error()) return } //保存数据 if err := obj.userApi.ResetOperatorPwd(dataModel); err != nil { resp.RespFail(c, err.Error()) return } //返回数据 resp.RespData(c, dataModel) } // 删除 func (obj *UserHan) DeleteOperatorHan(c *gin.Context) { dataModel := new(usermodel.Operator) //把前端数据绑定到模型 if err := obj.bindApi.Bind2Model(c, dataModel); err != nil { resp.RespFail(c, "数据解析错误") return } if err := obj.userApi.DeleteOperator(dataModel); err != nil { resp.RespFail(c, err.Error()) return } //返回数据 resp.RespOk(c) } // 查询单条记录 func (obj *UserHan) GetOperatorByIdHan(c *gin.Context) { dataModel := new(usermodel.Operator) //把前端数据绑定到模型 if err := obj.bindApi.Bind2Model(c, dataModel); err != nil { resp.RespFail(c, "数据解析错误") return } if err := obj.userApi.GetOperatorById(dataModel); err != nil { resp.RespFail(c, err.Error()) return } //返回数据 resp.RespData(c, dataModel) } // 分页查询 func (obj *UserHan) GetOperatorPageListHan(c *gin.Context) { dataModel := new(usermodel.Operator) pageListParam := new(mysqlmodel.PageListParam) dataList := []usermodel.Operator{} //把前端数据绑定到模型 if err := obj.bindApi.Bind2PageQuery(c, pageListParam); err != nil { resp.RespFail(c, "数据解析错误") return } pageListData, err := obj.userApi.GetOperatorPageList(dataModel, pageListParam, &dataList) if err != nil { resp.RespFail(c, err.Error()) return } //密码脱敏 for index := range dataList { dataList[index].Password = "******" } pageListData.Items = dataList resp.RespList(c, pageListData) } // 获得用户访问权限,包括页面访问权限和按钮访问权限 func (obj *UserHan) GetOperatorPermissionHan(c *gin.Context) { dataModel := new(usermodel.Operator) var permission usermodel.RspOperatorPermission //把前端数据绑定到模型 if err := obj.bindApi.Bind2Model(c, dataModel); err != nil { resp.RespFail(c, "数据解析错误") return } permission, err := obj.userLgc.GetOperatorPermissionLgc(dataModel) if err != nil { resp.RespFail(c, err.Error()) return } //返回数据 resp.RespData(c, permission) } // 获得公司系统管理员,每家公司只有一个系统管理员 func (obj *UserHan) GetSysOperatorByCompanyIdHan(c *gin.Context) { dataModel := new(usermodel.Operator) //把前端数据绑定到模型 if err := obj.bindApi.Bind2Model(c, dataModel); err != nil { resp.RespFail(c, "数据解析错误") return } sysOperator, err := obj.userApi.GetSysOperatorByCompanyId(dataModel.BelongingCompanyID) if err != nil { resp.RespFail(c, err.Error()) return } //返回数据 resp.RespData(c, sysOperator) } /**************************************上面是操作员接口***************************************/ /**************************************下面管理角色接口***************************************/ // 增加操作员 func (obj *UserHan) AddRoleHan(c *gin.Context) { dataModel := new(usermodel.Role) //把前端数据绑定到模型 if err := obj.bindApi.Bind2Model(c, dataModel); err != nil { resp.RespFail(c, "数据错误") return } //保存数据 if err := obj.userApi.AddRole(dataModel); err != nil { resp.RespFail(c, err.Error()) return } //返回数据 resp.RespId(c, dataModel.ID) } // 修改 func (obj *UserHan) UpdateRoleHan(c *gin.Context) { dataModel := new(usermodel.Role) dataMap := make(map[string]interface{}) //把前端数据绑定到模型 if err := obj.bindApi.Bind2Map(c, dataModel, dataMap); err != nil { resp.RespFail(c, err.Error()) return } //保存数据 if err := obj.userApi.UpdateRole(dataModel, dataMap); err != nil { resp.RespFail(c, err.Error()) return } //返回数据 resp.RespOk(c) } // 删除 func (obj *UserHan) DeleteRoleHan(c *gin.Context) { dataModel := new(usermodel.Role) //把前端数据绑定到模型 if err := obj.bindApi.Bind2Model(c, dataModel); err != nil { resp.RespFail(c, "数据解析错误") return } if err := obj.userApi.DeleteRole(dataModel); err != nil { resp.RespFail(c, err.Error()) return } //返回数据 resp.RespOk(c) } // 查询单条记录 func (obj *UserHan) GetRoleByIdHan(c *gin.Context) { dataModel := new(usermodel.Role) //把前端数据绑定到模型 if err := obj.bindApi.Bind2Model(c, dataModel); err != nil { resp.RespFail(c, "数据解析错误") return } if err := obj.userApi.GetRoleId(dataModel); err != nil { resp.RespFail(c, err.Error()) return } //返回数据 resp.RespData(c, dataModel) } // 分页查询 func (obj *UserHan) GetRolePageListHan(c *gin.Context) { dataModel := new(usermodel.Role) pageListParam := new(mysqlmodel.PageListParam) dataList := []usermodel.Role{} //把前端数据绑定到模型 if err := obj.bindApi.Bind2PageQuery(c, pageListParam); err != nil { resp.RespFail(c, "数据解析错误") return } pageListData, err := obj.userApi.GetRolePageList(dataModel, pageListParam, &dataList) if err != nil { resp.RespFail(c, err.Error()) return } resp.RespList(c, pageListData) } /**************************************上面是管理角色接口***************************************/ /**************************************下面管理权限接口***************************************/ // 增加操作员 func (obj *UserHan) AddPermissionHan(c *gin.Context) { dataModel := new(usermodel.Permission) //把前端数据绑定到模型 if err := obj.bindApi.Bind2Model(c, dataModel); err != nil { resp.RespFail(c, "数据错误") return } //保存数据 if err := obj.userApi.AddPermission(dataModel); err != nil { resp.RespFail(c, err.Error()) return } //返回数据 resp.RespId(c, dataModel.ID) } // 修改 func (obj *UserHan) UpdatePermissionHan(c *gin.Context) { dataModel := new(usermodel.Permission) dataMap := make(map[string]interface{}) //把前端数据绑定到模型 if err := obj.bindApi.Bind2Map(c, dataModel, dataMap); err != nil { resp.RespFail(c, err.Error()) return } //保存数据 if err := obj.userApi.UpdatePermission(dataModel, dataMap); err != nil { resp.RespFail(c, err.Error()) return } //返回数据 resp.RespOk(c) } // 删除 func (obj *UserHan) DeletePermissionHan(c *gin.Context) { dataModel := new(usermodel.Permission) //把前端数据绑定到模型 if err := obj.bindApi.Bind2Model(c, dataModel); err != nil { resp.RespFail(c, "数据解析错误") return } if err := obj.userApi.DeletePermission(dataModel); err != nil { resp.RespFail(c, err.Error()) return } //返回数据 resp.RespOk(c) } // 查询单条记录 func (obj *UserHan) GetPermissionByIdHan(c *gin.Context) { dataModel := new(usermodel.Permission) //把前端数据绑定到模型 if err := obj.bindApi.Bind2Model(c, dataModel); err != nil { resp.RespFail(c, "数据解析错误") return } if err := obj.userApi.GetPermissionId(dataModel); err != nil { resp.RespFail(c, err.Error()) return } //返回数据 resp.RespData(c, dataModel) } // 查询全部 func (obj *UserHan) GetPermissionListHan(c *gin.Context) { dataModel := new(usermodel.Permission) //把前端数据绑定到模型 if err := obj.bindApi.Bind2Model(c, dataModel); err != nil { resp.RespFail(c, err.Error()) return } dataList, err := obj.userApi.GetPermissionList(dataModel) if err != nil { resp.RespFail(c, err.Error()) return } //返回数据 resp.RespData(c, dataList) } // 分页查询 func (obj *UserHan) GetPermissionPageListHan(c *gin.Context) { dataModel := new(usermodel.Permission) pageListParam := new(mysqlmodel.PageListParam) dataList := []usermodel.Permission{} //把前端数据绑定到模型 if err := obj.bindApi.Bind2PageQuery(c, pageListParam); err != nil { resp.RespFail(c, "数据解析错误") return } pageListData, err := obj.userApi.GetPermissionPageList(dataModel, pageListParam, &dataList) if err != nil { resp.RespFail(c, err.Error()) return } resp.RespList(c, pageListData) }