From 90ebefc0ce4306bdc96f34ea9503ca986a59bbe7 Mon Sep 17 00:00:00 2001
From: zhangqian <zhangqian@123.com>
Date: 星期三, 31 一月 2024 14:12:00 +0800
Subject: [PATCH] 客户列表grpc接口
---
api/v1/serviceFollowup.go | 119 +++++++++++++++++++++++++++++++++++++----------------------
1 files changed, 75 insertions(+), 44 deletions(-)
diff --git a/api/v1/serviceFollowup.go b/api/v1/serviceFollowup.go
index 65f8f53..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
@@ -71,8 +88,8 @@
// @Tags ServiceFollowup
// @Summary 鏇存柊鏈嶅姟璺熻繘
// @Produce application/json
-// @Param object body request.UpdateServiceFollowup true "鏌ヨ鍙傛暟"
-// @Success 200 {object} contextx.Response{}
+// @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
@@ -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