From ad7fc139fb5b3a83758f07ce46b7eeaf31da68ff Mon Sep 17 00:00:00 2001
From: zhangqian <zhangqian@123.com>
Date: 星期二, 06 二月 2024 11:51:27 +0800
Subject: [PATCH] Merge branch 'master' of http://192.168.5.5:10010/r/aps/crm

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

diff --git a/proto/crm_aps/server.go b/proto/crm_aps/server.go
index d199c7b..6f4b60e 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 {
@@ -127,7 +128,7 @@
 			MemberName:   detail.Member.Username,
 			SignTime:     detail.SignTime,
 			DeliveryDate: detail.DeliveryDate,
-			Source:       detail.Source,
+			Source:       "CRM",
 			ProductTotal: total.IntPart(),
 			ProjectId:    req.ProjectId,
 			Products:     products,
@@ -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().SetId(salesDetail.Id).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