From 2030ec81f18f4ec9ea1800f13046acafff6d50f7 Mon Sep 17 00:00:00 2001
From: yinbentan <yinbentan@live.com>
Date: 星期四, 26 九月 2024 00:48:59 +0800
Subject: [PATCH] 添加grpc方法:客户信息维护

---
 proto/crm_aps/server.go |   36 ++++++++++++++++++++++++++++++++++++
 1 files changed, 36 insertions(+), 0 deletions(-)

diff --git a/proto/crm_aps/server.go b/proto/crm_aps/server.go
index 4105d00..abf619c 100644
--- a/proto/crm_aps/server.go
+++ b/proto/crm_aps/server.go
@@ -11,6 +11,7 @@
 	"fmt"
 	"github.com/shopspring/decimal"
 	"gorm.io/gorm"
+	"strconv"
 )
 
 type Server struct {
@@ -163,10 +164,45 @@
 		resp.List = append(resp.List, &Client{
 			Number: client.Number,
 			Name:   client.Name,
+			Id:     int64(client.Id),
 		})
 	}
 	return resp, nil
 }
+
+func (s *Server) GetClientMaxId(ctx context.Context, req *ClientMaxIdRequest) (*ClientMaxIdResponse, error) {
+	clientService := new(service.ClientService)
+	id, err := clientService.GetClientMaxId()
+	return &ClientMaxIdResponse{Id: int64(id)}, err
+}
+func (s *Server) AddClient(ctx context.Context, req *AddClientRequest) (*ClientMsgResponse, error) {
+	clientService := new(service.ClientService)
+	client := &model.Client{Id: int(req.Id), Number: req.Number, Name: req.Name, DetailAddress: req.DetailAddress, Remark: req.Remark, CreatorId: int(req.CreatorId)}
+	code := clientService.AddClient(client, 0)
+	if code != ecode.OK {
+		return &ClientMsgResponse{Code: int64(code), Msg: "娣诲姞澶辫触", Id: strconv.Itoa(client.Id)}, nil
+	}
+	return &ClientMsgResponse{Code: int64(code), Msg: "娣诲姞鎴愬姛", Id: strconv.Itoa(client.Id)}, nil
+}
+func (s *Server) EditClient(ctx context.Context, req *EditClientRequest) (*ClientMsgResponse, error) {
+	clientService := new(service.ClientService)
+	client := &model.Client{Id: int(req.Id), Number: req.Number, Name: req.Name, DetailAddress: req.DetailAddress, Remark: req.Remark, CreatorId: int(req.CreatorId)}
+	code := clientService.UpdateClient(client, 0)
+	if code != ecode.OK {
+		return &ClientMsgResponse{Code: int64(code), Msg: "娣诲姞澶辫触", Id: strconv.Itoa(client.Id)}, nil
+	}
+	return &ClientMsgResponse{Code: int64(code), Msg: "娣诲姞鎴愬姛", Id: strconv.Itoa(client.Id)}, nil
+}
+func (s *Server) DelClient(ctx context.Context, req *DelClientRequest) (*ClientMsgResponse, error) {
+	clientService := new(service.ClientService)
+
+	code := clientService.DeleteClient([]int{int(req.Id)})
+	if code != ecode.OK {
+		return &ClientMsgResponse{Code: int64(code), Msg: "鍒犻櫎澶辫触", Id: strconv.FormatInt(req.Id, 10)}, nil
+	}
+	return &ClientMsgResponse{Code: int64(code), Msg: "鍒犻櫎鎴愬姛", Id: strconv.FormatInt(req.Id, 10)}, nil
+}
+
 func (s *Server) UpdateSalesDetail(ctx context.Context, req *UpdateSalesDetailRequest) (*UpdateSalesDetailResponse, error) {
 	if req.Number == "" {
 		return nil, errors.New("閿�鍞槑缁嗙紪鍙蜂负绌�")

--
Gitblit v1.8.0