正在显示
11 个修改的文件
包含
140 行增加
和
36 行删除
| 1 | package department | 1 | package department |
| 2 | 2 | ||
| 3 | import ( | 3 | import ( |
| 4 | + "gitlab.fjmaimaimai.com/allied-creation/sumifcc-discuss/pkg/result" | ||
| 4 | "net/http" | 5 | "net/http" |
| 5 | 6 | ||
| 6 | "github.com/zeromicro/go-zero/rest/httpx" | 7 | "github.com/zeromicro/go-zero/rest/httpx" |
| @@ -19,10 +20,6 @@ func SystemAddHandler(svcCtx *svc.ServiceContext) http.HandlerFunc { | @@ -19,10 +20,6 @@ func SystemAddHandler(svcCtx *svc.ServiceContext) http.HandlerFunc { | ||
| 19 | 20 | ||
| 20 | l := department.NewSystemAddLogic(r.Context(), svcCtx) | 21 | l := department.NewSystemAddLogic(r.Context(), svcCtx) |
| 21 | resp, err := l.SystemAdd(&req) | 22 | resp, err := l.SystemAdd(&req) |
| 22 | - if err != nil { | ||
| 23 | - httpx.ErrorCtx(r.Context(), w, err) | ||
| 24 | - } else { | ||
| 25 | - httpx.OkJsonCtx(r.Context(), w, resp) | ||
| 26 | - } | 23 | + result.HttpResult(r, w, resp, err) |
| 27 | } | 24 | } |
| 28 | } | 25 | } |
| 1 | package department | 1 | package department |
| 2 | 2 | ||
| 3 | import ( | 3 | import ( |
| 4 | + "gitlab.fjmaimaimai.com/allied-creation/sumifcc-discuss/pkg/result" | ||
| 4 | "net/http" | 5 | "net/http" |
| 5 | 6 | ||
| 6 | "github.com/zeromicro/go-zero/rest/httpx" | 7 | "github.com/zeromicro/go-zero/rest/httpx" |
| @@ -19,10 +20,6 @@ func SystemGetHandler(svcCtx *svc.ServiceContext) http.HandlerFunc { | @@ -19,10 +20,6 @@ func SystemGetHandler(svcCtx *svc.ServiceContext) http.HandlerFunc { | ||
| 19 | 20 | ||
| 20 | l := department.NewSystemGetLogic(r.Context(), svcCtx) | 21 | l := department.NewSystemGetLogic(r.Context(), svcCtx) |
| 21 | resp, err := l.SystemGet(&req) | 22 | resp, err := l.SystemGet(&req) |
| 22 | - if err != nil { | ||
| 23 | - httpx.ErrorCtx(r.Context(), w, err) | ||
| 24 | - } else { | ||
| 25 | - httpx.OkJsonCtx(r.Context(), w, resp) | ||
| 26 | - } | 23 | + result.HttpResult(r, w, resp, err) |
| 27 | } | 24 | } |
| 28 | } | 25 | } |
| 1 | package department | 1 | package department |
| 2 | 2 | ||
| 3 | import ( | 3 | import ( |
| 4 | + "gitlab.fjmaimaimai.com/allied-creation/sumifcc-discuss/pkg/result" | ||
| 4 | "net/http" | 5 | "net/http" |
| 5 | 6 | ||
| 6 | "github.com/zeromicro/go-zero/rest/httpx" | 7 | "github.com/zeromicro/go-zero/rest/httpx" |
| @@ -19,10 +20,6 @@ func SystemListHandler(svcCtx *svc.ServiceContext) http.HandlerFunc { | @@ -19,10 +20,6 @@ func SystemListHandler(svcCtx *svc.ServiceContext) http.HandlerFunc { | ||
| 19 | 20 | ||
| 20 | l := department.NewSystemListLogic(r.Context(), svcCtx) | 21 | l := department.NewSystemListLogic(r.Context(), svcCtx) |
| 21 | resp, err := l.SystemList(&req) | 22 | resp, err := l.SystemList(&req) |
| 22 | - if err != nil { | ||
| 23 | - httpx.ErrorCtx(r.Context(), w, err) | ||
| 24 | - } else { | ||
| 25 | - httpx.OkJsonCtx(r.Context(), w, resp) | ||
| 26 | - } | 23 | + result.HttpResult(r, w, resp, err) |
| 27 | } | 24 | } |
| 28 | } | 25 | } |
| 1 | package department | 1 | package department |
| 2 | 2 | ||
| 3 | import ( | 3 | import ( |
| 4 | + "gitlab.fjmaimaimai.com/allied-creation/sumifcc-discuss/pkg/result" | ||
| 4 | "net/http" | 5 | "net/http" |
| 5 | 6 | ||
| 6 | "github.com/zeromicro/go-zero/rest/httpx" | 7 | "github.com/zeromicro/go-zero/rest/httpx" |
| @@ -19,10 +20,6 @@ func SystemUpdateHandler(svcCtx *svc.ServiceContext) http.HandlerFunc { | @@ -19,10 +20,6 @@ func SystemUpdateHandler(svcCtx *svc.ServiceContext) http.HandlerFunc { | ||
| 19 | 20 | ||
| 20 | l := department.NewSystemUpdateLogic(r.Context(), svcCtx) | 21 | l := department.NewSystemUpdateLogic(r.Context(), svcCtx) |
| 21 | resp, err := l.SystemUpdate(&req) | 22 | resp, err := l.SystemUpdate(&req) |
| 22 | - if err != nil { | ||
| 23 | - httpx.ErrorCtx(r.Context(), w, err) | ||
| 24 | - } else { | ||
| 25 | - httpx.OkJsonCtx(r.Context(), w, resp) | ||
| 26 | - } | 23 | + result.HttpResult(r, w, resp, err) |
| 27 | } | 24 | } |
| 28 | } | 25 | } |
| @@ -2,6 +2,10 @@ package department | @@ -2,6 +2,10 @@ package department | ||
| 2 | 2 | ||
| 3 | import ( | 3 | import ( |
| 4 | "context" | 4 | "context" |
| 5 | + "gitlab.fjmaimaimai.com/allied-creation/sumifcc-discuss/cmd/discuss/interanl/pkg/db/transaction" | ||
| 6 | + "gitlab.fjmaimaimai.com/allied-creation/sumifcc-discuss/cmd/discuss/interanl/pkg/domain" | ||
| 7 | + "gitlab.fjmaimaimai.com/allied-creation/sumifcc-discuss/pkg/contextdata" | ||
| 8 | + "gitlab.fjmaimaimai.com/allied-creation/sumifcc-discuss/pkg/xerr" | ||
| 5 | 9 | ||
| 6 | "gitlab.fjmaimaimai.com/allied-creation/sumifcc-discuss/cmd/discuss/api/internal/svc" | 10 | "gitlab.fjmaimaimai.com/allied-creation/sumifcc-discuss/cmd/discuss/api/internal/svc" |
| 7 | "gitlab.fjmaimaimai.com/allied-creation/sumifcc-discuss/cmd/discuss/api/internal/types" | 11 | "gitlab.fjmaimaimai.com/allied-creation/sumifcc-discuss/cmd/discuss/api/internal/types" |
| @@ -24,7 +28,41 @@ func NewSystemAddLogic(ctx context.Context, svcCtx *svc.ServiceContext) *SystemA | @@ -24,7 +28,41 @@ func NewSystemAddLogic(ctx context.Context, svcCtx *svc.ServiceContext) *SystemA | ||
| 24 | } | 28 | } |
| 25 | 29 | ||
| 26 | func (l *SystemAddLogic) SystemAdd(req *types.DepartmentAddRequest) (resp *types.DepartmentGetResponse, err error) { | 30 | func (l *SystemAddLogic) SystemAdd(req *types.DepartmentAddRequest) (resp *types.DepartmentGetResponse, err error) { |
| 27 | - // todo: add your logic here and delete this line | 31 | + var userToken = contextdata.GetUserTokenFromCtx(l.ctx) |
| 32 | + var conn = l.svcCtx.DefaultDBConn() | ||
| 28 | 33 | ||
| 29 | - return | 34 | + _, list, err := l.svcCtx.DepartmentRepository.Find(l.ctx, conn, domain.NewQueryOptions(). |
| 35 | + WithOffsetLimit(1, 1).WithCountOnly(). | ||
| 36 | + WithKV("companyId", userToken.CompanyId). | ||
| 37 | + WithKV("name", req.Name)) | ||
| 38 | + if err != nil { | ||
| 39 | + return nil, err | ||
| 40 | + } | ||
| 41 | + if len(list) > 0 { | ||
| 42 | + return nil, xerr.NewErrMsg("该分组名称已存在(不能重复)") | ||
| 43 | + } | ||
| 44 | + | ||
| 45 | + insert := &domain.Department{ | ||
| 46 | + Id: 0, | ||
| 47 | + ParentId: 0, | ||
| 48 | + CompanyId: userToken.CompanyId, | ||
| 49 | + Name: req.Name, | ||
| 50 | + } | ||
| 51 | + err = transaction.UseTrans(l.ctx, conn.DB(), func(ctx context.Context, c transaction.Conn) error { | ||
| 52 | + _, err = l.svcCtx.DepartmentRepository.Insert(l.ctx, conn, insert) | ||
| 53 | + return err | ||
| 54 | + }, true) | ||
| 55 | + if err != nil { | ||
| 56 | + return nil, xerr.NewErrMsgErr("新增分组失败", err) | ||
| 57 | + } | ||
| 58 | + | ||
| 59 | + resp = &types.DepartmentGetResponse{ | ||
| 60 | + Department: types.Department{ | ||
| 61 | + Id: insert.Id, | ||
| 62 | + CompanyId: insert.CompanyId, | ||
| 63 | + ParentId: insert.ParentId, | ||
| 64 | + Name: insert.Name, | ||
| 65 | + }, | ||
| 66 | + } | ||
| 67 | + return resp, nil | ||
| 30 | } | 68 | } |
| @@ -2,7 +2,6 @@ package department | @@ -2,7 +2,6 @@ package department | ||
| 2 | 2 | ||
| 3 | import ( | 3 | import ( |
| 4 | "context" | 4 | "context" |
| 5 | - | ||
| 6 | "gitlab.fjmaimaimai.com/allied-creation/sumifcc-discuss/cmd/discuss/api/internal/svc" | 5 | "gitlab.fjmaimaimai.com/allied-creation/sumifcc-discuss/cmd/discuss/api/internal/svc" |
| 7 | "gitlab.fjmaimaimai.com/allied-creation/sumifcc-discuss/cmd/discuss/api/internal/types" | 6 | "gitlab.fjmaimaimai.com/allied-creation/sumifcc-discuss/cmd/discuss/api/internal/types" |
| 8 | 7 | ||
| @@ -24,7 +23,18 @@ func NewSystemGetLogic(ctx context.Context, svcCtx *svc.ServiceContext) *SystemG | @@ -24,7 +23,18 @@ func NewSystemGetLogic(ctx context.Context, svcCtx *svc.ServiceContext) *SystemG | ||
| 24 | } | 23 | } |
| 25 | 24 | ||
| 26 | func (l *SystemGetLogic) SystemGet(req *types.DepartmentGetRequest) (resp *types.DepartmentGetResponse, err error) { | 25 | func (l *SystemGetLogic) SystemGet(req *types.DepartmentGetRequest) (resp *types.DepartmentGetResponse, err error) { |
| 27 | - // todo: add your logic here and delete this line | ||
| 28 | - | ||
| 29 | - return | 26 | + var conn = l.svcCtx.DefaultDBConn() |
| 27 | + department, err := l.svcCtx.DepartmentRepository.FindOne(l.ctx, conn, req.Id) | ||
| 28 | + if err != nil { | ||
| 29 | + return nil, err | ||
| 30 | + } | ||
| 31 | + resp = &types.DepartmentGetResponse{ | ||
| 32 | + Department: types.Department{ | ||
| 33 | + Id: department.Id, | ||
| 34 | + CompanyId: department.CompanyId, | ||
| 35 | + ParentId: department.ParentId, | ||
| 36 | + Name: department.Name, | ||
| 37 | + }, | ||
| 38 | + } | ||
| 39 | + return resp, nil | ||
| 30 | } | 40 | } |
| @@ -2,9 +2,10 @@ package department | @@ -2,9 +2,10 @@ package department | ||
| 2 | 2 | ||
| 3 | import ( | 3 | import ( |
| 4 | "context" | 4 | "context" |
| 5 | - | ||
| 6 | "gitlab.fjmaimaimai.com/allied-creation/sumifcc-discuss/cmd/discuss/api/internal/svc" | 5 | "gitlab.fjmaimaimai.com/allied-creation/sumifcc-discuss/cmd/discuss/api/internal/svc" |
| 7 | "gitlab.fjmaimaimai.com/allied-creation/sumifcc-discuss/cmd/discuss/api/internal/types" | 6 | "gitlab.fjmaimaimai.com/allied-creation/sumifcc-discuss/cmd/discuss/api/internal/types" |
| 7 | + "gitlab.fjmaimaimai.com/allied-creation/sumifcc-discuss/cmd/discuss/interanl/pkg/domain" | ||
| 8 | + "gitlab.fjmaimaimai.com/allied-creation/sumifcc-discuss/pkg/contextdata" | ||
| 8 | 9 | ||
| 9 | "github.com/zeromicro/go-zero/core/logx" | 10 | "github.com/zeromicro/go-zero/core/logx" |
| 10 | ) | 11 | ) |
| @@ -24,7 +25,29 @@ func NewSystemListLogic(ctx context.Context, svcCtx *svc.ServiceContext) *System | @@ -24,7 +25,29 @@ func NewSystemListLogic(ctx context.Context, svcCtx *svc.ServiceContext) *System | ||
| 24 | } | 25 | } |
| 25 | 26 | ||
| 26 | func (l *SystemListLogic) SystemList(req *types.DepartmentListRequest) (resp *types.DepartmentListResponse, err error) { | 27 | func (l *SystemListLogic) SystemList(req *types.DepartmentListRequest) (resp *types.DepartmentListResponse, err error) { |
| 27 | - // todo: add your logic here and delete this line | 28 | + var userToken = contextdata.GetUserTokenFromCtx(l.ctx) |
| 29 | + var conn = l.svcCtx.DefaultDBConn() | ||
| 30 | + | ||
| 31 | + total, list, err := l.svcCtx.DepartmentRepository.Find(l.ctx, conn, domain.NewQueryOptions(). | ||
| 32 | + WithOffsetLimit(req.Page, req.Size). | ||
| 33 | + WithKV("companyId", userToken.CompanyId)) | ||
| 34 | + if err != nil { | ||
| 35 | + return nil, err | ||
| 36 | + } | ||
| 37 | + | ||
| 38 | + resp = &types.DepartmentListResponse{ | ||
| 39 | + Total: total, | ||
| 40 | + List: make([]types.Department, 0), | ||
| 41 | + } | ||
| 42 | + for _, item := range list { | ||
| 43 | + to := types.Department{ | ||
| 44 | + Id: item.Id, | ||
| 45 | + CompanyId: item.CompanyId, | ||
| 46 | + ParentId: item.ParentId, | ||
| 47 | + Name: item.Name, | ||
| 48 | + } | ||
| 49 | + resp.List = append(resp.List, to) | ||
| 50 | + } | ||
| 51 | + return resp, nil | ||
| 28 | 52 | ||
| 29 | - return | ||
| 30 | } | 53 | } |
| @@ -2,6 +2,10 @@ package department | @@ -2,6 +2,10 @@ package department | ||
| 2 | 2 | ||
| 3 | import ( | 3 | import ( |
| 4 | "context" | 4 | "context" |
| 5 | + "gitlab.fjmaimaimai.com/allied-creation/sumifcc-discuss/cmd/discuss/interanl/pkg/db/transaction" | ||
| 6 | + "gitlab.fjmaimaimai.com/allied-creation/sumifcc-discuss/cmd/discuss/interanl/pkg/domain" | ||
| 7 | + "gitlab.fjmaimaimai.com/allied-creation/sumifcc-discuss/pkg/contextdata" | ||
| 8 | + "gitlab.fjmaimaimai.com/allied-creation/sumifcc-discuss/pkg/xerr" | ||
| 5 | 9 | ||
| 6 | "gitlab.fjmaimaimai.com/allied-creation/sumifcc-discuss/cmd/discuss/api/internal/svc" | 10 | "gitlab.fjmaimaimai.com/allied-creation/sumifcc-discuss/cmd/discuss/api/internal/svc" |
| 7 | "gitlab.fjmaimaimai.com/allied-creation/sumifcc-discuss/cmd/discuss/api/internal/types" | 11 | "gitlab.fjmaimaimai.com/allied-creation/sumifcc-discuss/cmd/discuss/api/internal/types" |
| @@ -24,7 +28,42 @@ func NewSystemUpdateLogic(ctx context.Context, svcCtx *svc.ServiceContext) *Syst | @@ -24,7 +28,42 @@ func NewSystemUpdateLogic(ctx context.Context, svcCtx *svc.ServiceContext) *Syst | ||
| 24 | } | 28 | } |
| 25 | 29 | ||
| 26 | func (l *SystemUpdateLogic) SystemUpdate(req *types.DepartmentUpdateRequest) (resp *types.DepartmentGetResponse, err error) { | 30 | func (l *SystemUpdateLogic) SystemUpdate(req *types.DepartmentUpdateRequest) (resp *types.DepartmentGetResponse, err error) { |
| 27 | - // todo: add your logic here and delete this line | 31 | + var userToken = contextdata.GetUserTokenFromCtx(l.ctx) |
| 32 | + var conn = l.svcCtx.DefaultDBConn() | ||
| 28 | 33 | ||
| 29 | - return | 34 | + _, list, err := l.svcCtx.DepartmentRepository.Find(l.ctx, conn, domain.NewQueryOptions(). |
| 35 | + WithOffsetLimit(1, 1).WithCountOnly(). | ||
| 36 | + WithKV("companyId", userToken.CompanyId). | ||
| 37 | + WithKV("notId", req.Id). // 排除自己 | ||
| 38 | + WithKV("name", req.Name)) | ||
| 39 | + if err != nil { | ||
| 40 | + return nil, err | ||
| 41 | + } | ||
| 42 | + if len(list) > 0 { | ||
| 43 | + return nil, xerr.NewErrMsg("该分组名称已存在(不能重复)") | ||
| 44 | + } | ||
| 45 | + | ||
| 46 | + one, err := l.svcCtx.DepartmentRepository.FindOne(l.ctx, conn, req.Id) | ||
| 47 | + if err != nil { | ||
| 48 | + return nil, xerr.NewErrMsgErr("分组修改失败", err) | ||
| 49 | + } | ||
| 50 | + one.Name = req.Name | ||
| 51 | + | ||
| 52 | + // 更新 | ||
| 53 | + err = transaction.UseTrans(l.ctx, conn.DB(), func(ctx context.Context, c transaction.Conn) error { | ||
| 54 | + _, err = l.svcCtx.DepartmentRepository.UpdateWithVersion(l.ctx, conn, one) | ||
| 55 | + return err | ||
| 56 | + }, true) | ||
| 57 | + if err != nil { | ||
| 58 | + return nil, xerr.NewErrMsgErr("分组修改失败", err) | ||
| 59 | + } | ||
| 60 | + resp = &types.DepartmentGetResponse{ | ||
| 61 | + Department: types.Department{ | ||
| 62 | + Id: one.Id, | ||
| 63 | + CompanyId: one.CompanyId, | ||
| 64 | + ParentId: one.ParentId, | ||
| 65 | + Name: one.Name, | ||
| 66 | + }, | ||
| 67 | + } | ||
| 68 | + return resp, nil | ||
| 30 | } | 69 | } |
| @@ -34,9 +34,10 @@ func (l *MiniSystemLogic) MiniSystem(req *types.MessageSystemRequest) (resp *typ | @@ -34,9 +34,10 @@ func (l *MiniSystemLogic) MiniSystem(req *types.MessageSystemRequest) (resp *typ | ||
| 34 | if err != nil { | 34 | if err != nil { |
| 35 | return nil, err | 35 | return nil, err |
| 36 | } | 36 | } |
| 37 | - resp = &types.MessageSystemResponse{} | ||
| 38 | - resp.Total = total | ||
| 39 | - resp.List = make([]types.MessageSystemItem, 0) | 37 | + resp = &types.MessageSystemResponse{ |
| 38 | + Total: total, | ||
| 39 | + List: make([]types.MessageSystemItem, 0), | ||
| 40 | + } | ||
| 40 | for _, item := range list { | 41 | for _, item := range list { |
| 41 | to := types.MessageSystemItem{ | 42 | to := types.MessageSystemItem{ |
| 42 | Id: item.Id, | 43 | Id: item.Id, |
| @@ -120,9 +120,15 @@ func (repository *DepartmentRepository) Find(ctx context.Context, conn transacti | @@ -120,9 +120,15 @@ func (repository *DepartmentRepository) Find(ctx context.Context, conn transacti | ||
| 120 | ) | 120 | ) |
| 121 | queryFunc := func() (interface{}, error) { | 121 | queryFunc := func() (interface{}, error) { |
| 122 | tx = tx.Model(&ms).Order("id desc") | 122 | tx = tx.Model(&ms).Order("id desc") |
| 123 | + if v, ok := queryOptions["notId"]; ok { | ||
| 124 | + tx.Where("id != ?", v) | ||
| 125 | + } | ||
| 123 | if v, ok := queryOptions["companyId"]; ok { | 126 | if v, ok := queryOptions["companyId"]; ok { |
| 124 | tx.Where("company_id = ?", v) | 127 | tx.Where("company_id = ?", v) |
| 125 | } | 128 | } |
| 129 | + if v, ok := queryOptions["name"]; ok { | ||
| 130 | + tx.Where("name = ?", v) | ||
| 131 | + } | ||
| 126 | if total, tx = transaction.PaginationAndCount(ctx, tx, queryOptions, &ms); tx.Error != nil { | 132 | if total, tx = transaction.PaginationAndCount(ctx, tx, queryOptions, &ms); tx.Error != nil { |
| 127 | return dms, tx.Error | 133 | return dms, tx.Error |
| 128 | } | 134 | } |
| @@ -9,8 +9,7 @@ type Department struct { | @@ -9,8 +9,7 @@ type Department struct { | ||
| 9 | Id int64 `json:"id,omitempty"` // 部门ID | 9 | Id int64 `json:"id,omitempty"` // 部门ID |
| 10 | CompanyId int64 `json:"companyId,omitempty"` // 公司ID | 10 | CompanyId int64 `json:"companyId,omitempty"` // 公司ID |
| 11 | ParentId int64 `json:"parentId,omitempty"` // 父级ID | 11 | ParentId int64 `json:"parentId,omitempty"` // 父级ID |
| 12 | - Name string `json:"name,omitempty"` // 部门名称 | ||
| 13 | - | 12 | + Name string `json:"name,omitempty"` // 部门名称\ |
| 14 | CreatedAt int64 `json:"createdAt,omitempty"` | 13 | CreatedAt int64 `json:"createdAt,omitempty"` |
| 15 | UpdatedAt int64 `json:"updatedAt,omitempty"` | 14 | UpdatedAt int64 `json:"updatedAt,omitempty"` |
| 16 | DeletedAt int64 `json:"deletedAt,omitempty"` | 15 | DeletedAt int64 `json:"deletedAt,omitempty"` |
-
请 注册 或 登录 后发表评论