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 | 334 ++++++++++++++++++++++++++++++------------------------- 1 files changed, 181 insertions(+), 153 deletions(-) diff --git a/api/v1/serviceFollowup.go b/api/v1/serviceFollowup.go index b657e7d..ce3bbc5 100644 --- a/api/v1/serviceFollowup.go +++ b/api/v1/serviceFollowup.go @@ -1,153 +1,181 @@ -package v1 - -import ( - "aps_crm/model" - "aps_crm/model/request" - "aps_crm/model/response" - "aps_crm/pkg/contextx" - "aps_crm/pkg/ecode" - "github.com/gin-gonic/gin" -) - -type ServiceFollowupApi struct{} - -// Add -// -// @Tags ServiceFollowup -// @Summary 娣诲姞鏈嶅姟璺熻繘 -// @Produce application/json -// @Param object body request.AddServiceFollowup true "鏌ヨ鍙傛暟" -// @Success 200 {object} contextx.Response{} -// @Router /api/serviceFollowup/add [post] -func (s *ServiceFollowupApi) Add(c *gin.Context) { - var params request.AddServiceFollowup - ctx, ok := contextx.NewContext(c, ¶ms) - if !ok { - return - } - - errCode, serviceFollowup := checkServiceFollowupParams(params.ServiceFollowup) - if errCode != ecode.OK { - ctx.Fail(errCode) - return - } - - errCode = serviceFollowupService.AddServiceFollowup(&serviceFollowup) - if errCode != ecode.OK { - ctx.Fail(errCode) - return - } - - ctx.Ok() -} - -// Delete -// -// @Tags ServiceFollowup -// @Summary 鍒犻櫎鏈嶅姟璺熻繘 -// @Produce application/json -// @Param object body request.DeleteServiceFollowup true "鏌ヨ鍙傛暟" -// @Success 200 {object} contextx.Response{} -// @Router /api/serviceFollowup/delete [delete] -func (s *ServiceFollowupApi) Delete(c *gin.Context) { - var params request.DeleteServiceFollowup - ctx, ok := contextx.NewContext(c, ¶ms) - if !ok { - return - } - - errCode := serviceFollowupService.DeleteServiceFollowup(params.Ids) - if errCode != ecode.OK { - ctx.Fail(errCode) - return - } - - ctx.Ok() -} - -// Update -// -// @Tags ServiceFollowup -// @Summary 鏇存柊鏈嶅姟璺熻繘 -// @Produce application/json -// @Param object body request.UpdateServiceFollowup true "鏌ヨ鍙傛暟" -// @Success 200 {object} contextx.Response{} -// @Router /api/serviceFollowup/update [put] -func (s *ServiceFollowupApi) Update(c *gin.Context) { - var params request.UpdateServiceFollowup - ctx, ok := contextx.NewContext(c, ¶ms) - if !ok { - return - } - - errCode, serviceFollowup := checkServiceFollowupParams(params.ServiceFollowup) - if errCode != ecode.OK { - ctx.Fail(errCode) - return - } - - serviceFollowup.Id = params.Id - - errCode = serviceFollowupService.UpdateServiceFollowup(&serviceFollowup) - if errCode != ecode.OK { - ctx.Fail(errCode) - return - } - - 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, - ServiceId: serviceFollowup.ServiceId, - 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, - } - - return ecode.OK, serviceFollowupModel -} - -// List -// -// @Tags ServiceFollowup -// @Summary 鍥炶鍗曠鐞嗗垪琛� -// @Produce application/json -// @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 - } - - serviceFollowups, total, errCode := serviceFollowupService.GetServiceFollowupList(params.Page, params.PageSize, params.KeywordType, params.Keyword) - if errCode != ecode.OK { - ctx.Fail(errCode) - return - } - - ctx.OkWithDetailed(response.ServiceFollowupResponse{ - List: serviceFollowups, - Count: int(total), - }) -} +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" +) + +type ServiceFollowupApi struct{} + +// Add +// +// @Tags ServiceFollowup +// @Summary 娣诲姞鏈嶅姟璺熻繘 +// @Produce application/json +// @Param object body request.AddServiceFollowup true "鏌ヨ鍙傛暟" +// @Success 200 {object} contextx.Response{} +// @Router /api/serviceFollowup/add [post] +func (s *ServiceFollowupApi) Add(c *gin.Context) { + var params request.AddServiceFollowup + ctx, ok := contextx.NewContext(c, ¶ms) + if !ok { + 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 + } + + errCode = serviceFollowupService.AddServiceFollowup(&serviceFollowup) + if errCode != ecode.OK { + ctx.Fail(errCode) + return + } + + ctx.Ok() +} + +// Delete +// +// @Tags ServiceFollowup +// @Summary 鍒犻櫎鏈嶅姟璺熻繘 +// @Produce application/json +// @Param object body request.DeleteServiceFollowup true "鏌ヨ鍙傛暟" +// @Success 200 {object} contextx.Response{} +// @Router /api/serviceFollowup/delete [delete] +func (s *ServiceFollowupApi) Delete(c *gin.Context) { + var params request.DeleteServiceFollowup + ctx, ok := contextx.NewContext(c, ¶ms) + if !ok { + return + } + + errCode := serviceFollowupService.DeleteServiceFollowup(params.Ids) + if errCode != ecode.OK { + ctx.Fail(errCode) + return + } + + ctx.Ok() +} + +// Update +// +// @Tags ServiceFollowup +// @Summary 鏇存柊鏈嶅姟璺熻繘 +// @Produce application/json +// @Param object body request.UpdateServiceFollowup true "鏌ヨ鍙傛暟" +// @Success 200 {object} contextx.Response{} +// @Router /api/serviceFollowup/update [put] +func (s *ServiceFollowupApi) Update(c *gin.Context) { + var params request.UpdateServiceFollowup + ctx, ok := contextx.NewContext(c, ¶ms) + if !ok { + return + } + + errCode, serviceFollowup := checkServiceFollowupParams(params.ServiceFollowup) + if errCode != ecode.OK { + ctx.Fail(errCode) + return + } + + serviceFollowup.Id = params.Id + + errCode = serviceFollowupService.UpdateServiceFollowup(&serviceFollowup) + if errCode != ecode.OK { + ctx.Fail(errCode) + return + } + + 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 鍥炶鍗曠鐞嗗垪琛� +// @Produce application/json +// @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 + } + + 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: serviceFollowups, + Count: int(total), + }) +} -- Gitblit v1.8.0