From 530fed8ec225453572d57b15c200ab062c335457 Mon Sep 17 00:00:00 2001 From: zhangqian <zhangqian@123.com> Date: 星期三, 01 十一月 2023 19:20:21 +0800 Subject: [PATCH] 公海member_id使用0 --- api/v1/serviceFollowup.go | 115 ++++++++++++++++++++++++++++++++++++--------------------- 1 files changed, 73 insertions(+), 42 deletions(-) diff --git a/api/v1/serviceFollowup.go b/api/v1/serviceFollowup.go index c1a50fe..ce3bbc5 100644 --- a/api/v1/serviceFollowup.go +++ b/api/v1/serviceFollowup.go @@ -1,13 +1,14 @@ package v1 import ( + "aps_crm/constvar" "aps_crm/model" "aps_crm/model/request" "aps_crm/model/response" "aps_crm/pkg/contextx" "aps_crm/pkg/ecode" + "aps_crm/utils" "github.com/gin-gonic/gin" - "strconv" ) type ServiceFollowupApi struct{} @@ -27,9 +28,25 @@ return } + if params.MemberId == 0 { + userInfo := utils.GetUserInfo(c) + if userInfo.UserType == constvar.UserTypeSub { + params.MemberId = userInfo.CrmUserId + } + } errCode, serviceFollowup := checkServiceFollowupParams(params.ServiceFollowup) if errCode != ecode.OK { ctx.Fail(errCode) + return + } + + count, err := model.NewServiceFollowupSearch().SetNumber(serviceFollowup.Number).Count() + if err != nil { + ctx.FailWithMsg(ecode.UnknownErr, "缂栫爜楠岃瘉澶辫触") + return + } + if count > 0 { + ctx.FailWithMsg(ecode.UnknownErr, "缂栫爜宸插瓨鍦�") return } @@ -47,17 +64,17 @@ // @Tags ServiceFollowup // @Summary 鍒犻櫎鏈嶅姟璺熻繘 // @Produce application/json -// @Param id path int true "鏌ヨ鍙傛暟" +// @Param object body request.DeleteServiceFollowup true "鏌ヨ鍙傛暟" // @Success 200 {object} contextx.Response{} -// @Router /api/serviceFollowup/delete/{id} [delete] +// @Router /api/serviceFollowup/delete [delete] func (s *ServiceFollowupApi) Delete(c *gin.Context) { - ctx, ok := contextx.NewContext(c, nil) + var params request.DeleteServiceFollowup + ctx, ok := contextx.NewContext(c, ¶ms) if !ok { return } - id, _ := strconv.Atoi(c.Param("id")) - errCode := serviceFollowupService.DeleteServiceFollowup(id) + errCode := serviceFollowupService.DeleteServiceFollowup(params.Ids) if errCode != ecode.OK { ctx.Fail(errCode) return @@ -87,6 +104,8 @@ return } + serviceFollowup.Id = params.Id + errCode = serviceFollowupService.UpdateServiceFollowup(&serviceFollowup) if errCode != ecode.OK { ctx.Fail(errCode) @@ -96,55 +115,67 @@ ctx.Ok() } +// checkServiceFollowupParams +func checkServiceFollowupParams(serviceFollowup request.ServiceFollowup) (errCode int, serviceFollowupModel model.ServiceFollowup) { + //if serviceFollowup.Number == "" { + // return ecode.InvalidParams, serviceFollowupModel + //} + // + //if serviceFollowup.MemberId == 0 { + // return ecode.InvalidParams, serviceFollowupModel + //} + + serviceFollowupModel = model.ServiceFollowup{ + ClientId: serviceFollowup.ClientId, + Number: serviceFollowup.Number, + ContactId: serviceFollowup.ContactId, + ServiceOrderId: serviceFollowup.ServiceOrderId, + MemberId: serviceFollowup.MemberId, + PlanId: serviceFollowup.PlanId, + SatisfactionId: serviceFollowup.Satisfaction, + TimelyRateId: serviceFollowup.TimelyRate, + SolveRateId: serviceFollowup.SolveRate, + IsVisitId: serviceFollowup.IsVisit, + OldMemberId: serviceFollowup.OldMemberId, + Remark: serviceFollowup.Remark, + File: serviceFollowup.File, + CodeStandID: serviceFollowup.CodeStandID, + } + + return ecode.OK, serviceFollowupModel +} + // List // // @Tags ServiceFollowup -// @Summary 鏈嶅姟璺熻繘鍒楄〃 +// @Summary 鍥炶鍗曠鐞嗗垪琛� // @Produce application/json -// @Success 200 {object} contextx.Response{data=response.ServiceFollowupResponse} -// @Router /api/serviceFollowup/list [get] -func (s *ServiceFollowupApi) List(c *gin.Context) { - ctx, ok := contextx.NewContext(c, nil) +// @Param object body request.GetServiceFollowupList true "鍙傛暟" +// +// @Success 200 {object} contextx.Response{data=response.ServiceFollowupResponse} +// +// @Router /api/serviceFollowup/list [post] +func (con *ServiceFollowupApi) List(c *gin.Context) { + var params request.GetServiceFollowupList + ctx, ok := contextx.NewContext(c, ¶ms) if !ok { return } - list, errCode := serviceFollowupService.GetServiceFollowupList() + var memberIds []int + userInfo := utils.GetUserInfo(c) + if userInfo.UserType == constvar.UserTypeSub { + memberIds = userInfo.SubUserIds + } + + serviceFollowups, total, errCode := serviceFollowupService.GetServiceFollowupList(params.Page, params.PageSize, params.KeywordType, params.Keyword, params.ServiceOrderId, memberIds) if errCode != ecode.OK { ctx.Fail(errCode) return } ctx.OkWithDetailed(response.ServiceFollowupResponse{ - List: list, + List: serviceFollowups, + Count: int(total), }) -} - -// checkServiceFollowupParams -func checkServiceFollowupParams(serviceFollowup request.ServiceFollowup) (errCode int, serviceFollowupModel model.ServiceFollowup) { - if serviceFollowup.Number == "" { - return ecode.InvalidParams, serviceFollowupModel - } - - if serviceFollowup.MemberId == 0 { - return ecode.InvalidParams, serviceFollowupModel - } - - serviceFollowupModel = model.ServiceFollowup{ - ClientId: serviceFollowup.ClientId, - Number: serviceFollowup.Number, - ContactId: serviceFollowup.ContactId, - ServiceId: serviceFollowup.ServiceId, - MemberId: serviceFollowup.MemberId, - PlanId: serviceFollowup.PlanId, - Satisfaction: serviceFollowup.Satisfaction, - TimelyRate: serviceFollowup.TimelyRate, - SolveRate: serviceFollowup.SolveRate, - IsVisit: serviceFollowup.IsVisit, - OldMemberId: serviceFollowup.OldMemberId, - Remark: serviceFollowup.Remark, - File: serviceFollowup.File, - } - - return ecode.OK, serviceFollowupModel } -- Gitblit v1.8.0