From bc244ad2ce2cdab4934742506334d38b14de1eea Mon Sep 17 00:00:00 2001
From: zhangqian <zhangqian@123.com>
Date: 星期一, 05 二月 2024 17:18:25 +0800
Subject: [PATCH] 增加更改和删除销售明细grpc接口

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

diff --git a/proto/crm_aps/server.go b/proto/crm_aps/server.go
index 9f58fac..1a45676 100644
--- a/proto/crm_aps/server.go
+++ b/proto/crm_aps/server.go
@@ -11,6 +11,7 @@
 	"errors"
 	"fmt"
 	"github.com/shopspring/decimal"
+	"gorm.io/gorm"
 )
 
 type Server struct {
@@ -166,3 +167,47 @@
 	}
 	return resp, nil
 }
+func (s *Server) UpdateSalesDetail(ctx context.Context, req *UpdateSalesDetailRequest) (*UpdateSalesDetailResponse, error) {
+	if req.Number == "" {
+		return nil, errors.New("閿�鍞槑缁嗙紪鍙蜂负绌�")
+	}
+	if req.Status == 0 {
+		return nil, errors.New("閿�鍞槑缁嗙姸鎬佷负绌�")
+	}
+
+	status := constvar.SalesDetailsStatus(int(req.Status))
+	if !status.Valid() {
+		return nil, errors.New("閿�鍞槑缁嗙姸鎬佷笉姝g‘")
+	}
+
+	salesDetail, err := model.NewSalesDetailsSearch().SetNumber(req.Number).First()
+	if err == gorm.ErrRecordNotFound {
+		return nil, errors.New("閿�鍞槑缁嗕笉瀛樺湪")
+	}
+
+	salesDetail.Status = status
+	err = model.NewSalesDetailsSearch().Update(salesDetail)
+	if err != nil {
+		return nil, errors.New("鏇存敼CRM閿�鍞槑缁嗗け璐�")
+	}
+
+	return &UpdateSalesDetailResponse{}, nil
+}
+
+func (s *Server) RemoveSalesDetail(ctx context.Context, req *RemoveSalesDetailRequest) (*RemoveSalesDetailRequest, error) {
+	if req.Number == "" {
+		return nil, errors.New("閿�鍞槑缁嗙紪鍙蜂负绌�")
+	}
+
+	_, err := model.NewSalesDetailsSearch().SetNumber(req.Number).First()
+	if err == gorm.ErrRecordNotFound {
+		return nil, errors.New("閿�鍞槑缁嗕笉瀛樺湪")
+	}
+
+	err = model.NewSalesDetailsSearch().SetNumber(req.Number).Delete()
+	if err == gorm.ErrRecordNotFound {
+		return nil, errors.New("閿�鍞槑缁嗗垹闄ゅけ璐�")
+	}
+
+	return &RemoveSalesDetailRequest{}, nil
+}

--
Gitblit v1.8.0