123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141 |
- package system
- import (
- "github.com/gin-gonic/gin"
- "go.uber.org/zap"
- "server/global"
- "server/model/common/request"
- "server/model/common/response"
- "server/model/system"
- request2 "server/model/system/request"
- "server/utils"
- )
- type DeptApi struct{}
- func (a *DeptApi) GetDeptList(c *gin.Context) {
- var pageInfo request.PageInfo
- err := c.ShouldBindJSON(&pageInfo)
- if err != nil {
- response.FailWithMessage(err.Error(), c)
- return
- }
- err = utils.Verify(pageInfo, utils.PageInfoVerify)
- if err != nil {
- response.FailWithMessage(err.Error(), c)
- return
- }
- list, total, err := deptService.GetAppRootDept(pageInfo)
- if err != nil {
- global.GVA_LOG.Error("获取失败!", zap.Error(err))
- response.FailWithMessage("获取失败", c)
- return
- }
- response.OkWithDetailed(response.PageResult{
- List: list,
- Total: total,
- Page: pageInfo.Page,
- PageSize: pageInfo.PageSize,
- }, "获取成功", c)
- }
- // 创建部门
- func (a *DeptApi) Establish(c *gin.Context) {
- var r request2.ReqDept
- err := c.ShouldBindJSON(&r)
- if err != nil {
- response.FailWithMessage(err.Error(), c)
- return
- }
- dept := &system.Dept{DeptName: r.DeptName, Responsible: r.Responsible, ParentId: r.ParentId, Phone: r.Phone, Remark: r.Remark}
- err = deptService.Establish(*dept)
- if err != nil {
- global.GVA_LOG.Error("新增失败!", zap.Error(err))
- response.FailWithMessage(err.Error(), c)
- return
- }
- response.OkWithMessage("新增成功", c)
- }
- // 修改部门信息
- func (a *DeptApi) SetDeptInfo(c *gin.Context) {
- var dept request2.ChangeDeptInfo
- err := c.ShouldBindJSON(&dept)
- if err != nil {
- response.FailWithMessage(err.Error(), c)
- return
- }
- err = utils.Verify(dept, utils.IdVerify)
- if err != nil {
- response.FailWithMessage(err.Error(), c)
- return
- }
- err = deptService.SetDeptInfo(system.Dept{
- ID: dept.ID,
- DeptName: dept.DeptName,
- ParentId: dept.ParentId,
- Remark: dept.Remark,
- Responsible: dept.Responsible,
- Phone: dept.Phone,
- })
- if err != nil {
- global.GVA_LOG.Error("设置失败!", zap.Error(err))
- response.FailWithMessage("设置失败", c)
- return
- }
- response.OkWithMessage("设置成功", c)
- }
- // 删除部门
- func (a *DeptApi) DeleteDept(c *gin.Context) {
- var reqId request.GetById
- err := c.ShouldBindJSON(&reqId)
- if err != nil {
- response.FailWithMessage(err.Error(), c)
- return
- }
- err = utils.Verify(reqId, utils.IdVerify)
- if err != nil {
- response.FailWithMessage(err.Error(), c)
- return
- }
- err = deptService.DeleteDept(reqId.ID)
- if err != nil {
- global.GVA_LOG.Error("删除失败!", zap.Error(err))
- response.FailWithMessage(err.Error(), c)
- return
- }
- response.OkWithMessage("删除成功", c)
- }
- func (a *DeptApi) GetDepts(c *gin.Context) {
- depts, err := deptService.GetChildDepts()
- if err != nil {
- response.FailWithMessage(err.Error(), c)
- return
- }
- users, err := deptService.GetAllUsers()
- if err != nil {
- response.FailWithMessage(err.Error(), c)
- return
- }
- deptSysUsersMap := make(map[int][]system.SysUser)
- for _, user := range users {
- deptSysUsersMap[user.DeptId] = append(deptSysUsersMap[user.DeptId], user)
- }
- var deptSysUsers []system.Dept
- for _, dept := range depts {
- users := deptSysUsersMap[dept.ID]
- if users != nil {
- deptSysUsers = append(deptSysUsers, system.Dept{
- ID: dept.ID,
- DeptName: dept.DeptName,
- Users: users,
- })
- }
- }
- response.OkWithData(deptSysUsers, c)
- }
|