fix: align admin behavior and Kratos integrations

This commit is contained in:
2026-08-14 14:14:51 +08:00
parent 8c4c6ba661
commit e0b0e1d8c8
123 changed files with 4334 additions and 1877 deletions
+41 -19
View File
@@ -28,27 +28,35 @@ func (h *Organization) ListDepartments(c *gin.Context) {
}
func (h *Organization) CreateDepartment(c *gin.Context) {
var req dto.DepartmentRequest
if c.ShouldBindJSON(&req) != nil {
httpx.Fail(c, "参数错误")
if err := c.ShouldBindJSON(&req); err != nil {
httpx.Fail(c, err.Error())
return
}
if req.Name == "" {
httpx.Fail(c, "部门名称不能为空")
return
}
if err := h.service.CreateDepartment(c.Request.Context(), &req); err != nil {
httpx.Fail(c, "创建失败")
httpx.Fail(c, "创建失败:"+err.Error())
return
}
httpx.OK(c)
httpx.Write(c, httpx.CodeSuccess, nil, "创建成功")
}
func (h *Organization) UpdateDepartment(c *gin.Context) {
var req dto.DepartmentRequest
if c.ShouldBindJSON(&req) != nil {
httpx.Fail(c, "参数错误")
if err := c.ShouldBindJSON(&req); err != nil {
httpx.Fail(c, err.Error())
return
}
if req.ID == 0 {
httpx.Fail(c, "部门ID不能为空")
return
}
if err := h.service.UpdateDepartment(c.Request.Context(), &req); err != nil {
httpx.Fail(c, "更新失败")
httpx.Fail(c, "更新失败:"+err.Error())
return
}
httpx.OK(c)
httpx.Write(c, httpx.CodeSuccess, nil, "更新成功")
}
func (h *Organization) DeleteDepartment(c *gin.Context) {
var req dto.DeleteDepartmentRequest
@@ -60,7 +68,7 @@ func (h *Organization) DeleteDepartment(c *gin.Context) {
httpx.Fail(c, err.Error())
return
}
httpx.OK(c)
httpx.Write(c, httpx.CodeSuccess, nil, "删除成功")
}
func (h *Organization) FindDepartment(c *gin.Context) {
id, _ := strconv.ParseUint(c.Query("id"), 10, 64)
@@ -78,6 +86,9 @@ func (h *Organization) DepartmentUsers(c *gin.Context) {
httpx.Fail(c, "获取失败")
return
}
if ids == nil {
ids = []uint{}
}
httpx.Write(c, httpx.CodeSuccess, ids, "获取成功")
}
func (h *Organization) SetDepartmentUsers(c *gin.Context) {
@@ -120,27 +131,35 @@ func (h *Organization) ListPositions(c *gin.Context) {
}
func (h *Organization) CreatePosition(c *gin.Context) {
var req dto.PositionRequest
if c.ShouldBindJSON(&req) != nil {
httpx.Fail(c, "参数错误")
if err := c.ShouldBindJSON(&req); err != nil {
httpx.Fail(c, err.Error())
return
}
if req.Name == "" {
httpx.Fail(c, "岗位名称不能为空")
return
}
if err := h.service.CreatePosition(c.Request.Context(), &req); err != nil {
httpx.Fail(c, "创建失败")
httpx.Fail(c, "创建失败:"+err.Error())
return
}
httpx.OK(c)
httpx.Write(c, httpx.CodeSuccess, nil, "创建成功")
}
func (h *Organization) UpdatePosition(c *gin.Context) {
var req dto.PositionRequest
if c.ShouldBindJSON(&req) != nil {
httpx.Fail(c, "参数错误")
if err := c.ShouldBindJSON(&req); err != nil {
httpx.Fail(c, err.Error())
return
}
if req.ID == 0 {
httpx.Fail(c, "岗位ID不能为空")
return
}
if err := h.service.UpdatePosition(c.Request.Context(), &req); err != nil {
httpx.Fail(c, "更新失败")
httpx.Fail(c, "更新失败:"+err.Error())
return
}
httpx.OK(c)
httpx.Write(c, httpx.CodeSuccess, nil, "更新成功")
}
func (h *Organization) DeletePosition(c *gin.Context) {
var req dto.DeletePositionRequest
@@ -149,10 +168,10 @@ func (h *Organization) DeletePosition(c *gin.Context) {
return
}
if err := h.service.DeletePosition(c.Request.Context(), req.ID); err != nil {
httpx.Fail(c, "删除失败")
httpx.Fail(c, "删除失败:"+err.Error())
return
}
httpx.OK(c)
httpx.Write(c, httpx.CodeSuccess, nil, "删除成功")
}
func (h *Organization) FindPosition(c *gin.Context) {
id, _ := strconv.ParseUint(c.Query("id"), 10, 64)
@@ -170,6 +189,9 @@ func (h *Organization) PositionUsers(c *gin.Context) {
httpx.Fail(c, "获取失败")
return
}
if ids == nil {
ids = []uint{}
}
httpx.Write(c, httpx.CodeSuccess, ids, "获取成功")
}
func (h *Organization) SetPositionUsers(c *gin.Context) {