Browse Source

fix:edit api/sop_task/list

jimmyyem 4 months ago
parent
commit
c6a5eac6ba

+ 6 - 2
desc/wechat/sop_task.api

@@ -137,6 +137,11 @@ type (
         BaseDataInfo
         Data []string `json:"data"`
     }
+
+	SopApiListReq {
+		Page   uint64    `json:"page" validate:"required,number,gt=0"`
+		PageSize  uint64    `json:"pageSize" validate:"required,number,lt=2000"`
+	}
 )
 
 @server(
@@ -144,9 +149,8 @@ type (
 )
 
 service Wechat {
-	// Get sop task list | 获取SopTask列表
 	@handler getApiSopTaskList
-	post /api/sop_task/list () returns (SopTaskListResp)
+	post /api/sop_task/list (SopApiListReq) returns (SopTaskListResp)
 }
 
 @server(

+ 0 - 31
internal/handler/sop_task/get_api_sop_task_list_handler.go

@@ -1,31 +0,0 @@
-package sop_task
-
-import (
-	"net/http"
-
-	"github.com/zeromicro/go-zero/rest/httpx"
-
-	"wechat-api/internal/logic/sop_task"
-	"wechat-api/internal/svc"
-)
-
-// swagger:route post /api/sop_task/list sop_task GetApiSopTaskList
-//
-// Get sop task list | 获取SopTask列表
-//
-// Get sop task list | 获取SopTask列表
-//
-// Responses:
-//  200: SopTaskListResp
-
-func GetApiSopTaskListHandler(svcCtx *svc.ServiceContext) http.HandlerFunc {
-	return func(w http.ResponseWriter, r *http.Request) {
-		l := sop_task.NewGetApiSopTaskListLogic(r.Context(), svcCtx)
-		resp, err := l.GetApiSopTaskList(r)
-		if err != nil {
-			httpx.ErrorCtx(r.Context(), w, err)
-		} else {
-			httpx.OkJsonCtx(r.Context(), w, resp)
-		}
-	}
-}

+ 0 - 78
internal/logic/sop_task/get_api_sop_task_list_logic.go

@@ -1,78 +0,0 @@
-package sop_task
-
-import (
-	"context"
-	"github.com/suyuan32/simple-admin-common/msg/errormsg"
-	"github.com/suyuan32/simple-admin-common/utils/pointy"
-	"github.com/zeromicro/go-zero/core/errorx"
-	"net/http"
-	"wechat-api/ent/predicate"
-	"wechat-api/ent/soptask"
-	"wechat-api/ent/wx"
-	"wechat-api/hook"
-	"wechat-api/internal/utils/dberrorhandler"
-
-	"wechat-api/internal/svc"
-	"wechat-api/internal/types"
-
-	"github.com/zeromicro/go-zero/core/logx"
-)
-
-type GetApiSopTaskListLogic struct {
-	logx.Logger
-	ctx    context.Context
-	svcCtx *svc.ServiceContext
-}
-
-func NewGetApiSopTaskListLogic(ctx context.Context, svcCtx *svc.ServiceContext) *GetApiSopTaskListLogic {
-	return &GetApiSopTaskListLogic{
-		Logger: logx.WithContext(ctx),
-		ctx:    ctx,
-		svcCtx: svcCtx,
-	}
-}
-
-func (l *GetApiSopTaskListLogic) GetApiSopTaskList(r *http.Request) (*types.SopTaskListResp, error) {
-	tokenStr := r.Header.Get("Authorization")
-	token, err := hook.CheckDesktopAuth(tokenStr, l.svcCtx.DB)
-	if err != nil {
-		return nil, errorx.NewCodeInvalidArgumentError("check auth failed")
-	}
-
-	var predicates []predicate.SopTask
-	predicates = append(predicates, soptask.OrganizationIDEQ(token.OrganizationID))
-	predicates = append(predicates, soptask.StatusEQ(uint8(3)))
-	data, err := l.svcCtx.DB.SopTask.Query().Where(predicates...).Page(l.ctx, 1, 1000)
-
-	if err != nil {
-		return nil, dberrorhandler.DefaultEntError(l.Logger, err, nil)
-	}
-
-	resp := &types.SopTaskListResp{}
-	resp.Msg = errormsg.Success
-	resp.Data.Total = data.PageDetails.Total
-
-	for _, v := range data.List {
-		wxInfos, _ := l.svcCtx.DB.Wx.Query().Where(wx.WxidIn(v.BotWxidList...)).All(l.ctx)
-		var botWxidList []string
-		for _, b := range wxInfos {
-			botWxidList = append(botWxidList, b.Nickname)
-		}
-		resp.Data.Data = append(resp.Data.Data, types.SopTaskInfo{
-			BaseIDInfo: types.BaseIDInfo{
-				Id:        &v.ID,
-				CreatedAt: pointy.GetPointer(v.CreatedAt.UnixMilli()),
-				UpdatedAt: pointy.GetPointer(v.UpdatedAt.UnixMilli()),
-			},
-			Status:        &v.Status,
-			Name:          &v.Name,
-			BotWxidList:   botWxidList,
-			Type:          &v.Type,
-			PlanStartTime: pointy.GetUnixMilliPointer(v.PlanStartTime.UnixMilli()),
-			PlanEndTime:   pointy.GetUnixMilliPointer(v.PlanEndTime.UnixMilli()),
-			CreatorId:     &v.CreatorID,
-		})
-	}
-
-	return resp, nil
-}

+ 10 - 0
internal/types/types.go

@@ -1208,6 +1208,16 @@ type TestNodeResp struct {
 	Data []string `json:"data"`
 }
 
+// swagger:model SopApiListReq
+type SopApiListReq struct {
+	// required : true
+	// min : 0
+	Page uint64 `json:"page" validate:"required,number,gt=0"`
+	// required : true
+	// max : 2000
+	PageSize uint64 `json:"pageSize" validate:"required,number,lt=2000"`
+}
+
 // The response data of sop stage information | SopStage信息
 // swagger:model SopStageInfo
 type SopStageInfo struct {