From e027ac6cb0705ab4eda2a162fb70f4532f24af93 Mon Sep 17 00:00:00 2001
From: zhangqian <zhangqian@123.com>
Date: 星期五, 11 八月 2023 17:43:34 +0800
Subject: [PATCH] update

---
 model/serviceOrder.go            |   23 +++++
 model/request/serviceFollowup.go |    5 
 service/serviceOrder.go          |    4 
 api/v1/serviceOrder.go           |    2 
 docs/swagger.yaml                |   47 +++++++----
 service/serviceFollowup.go       |    3 
 docs/docs.go                     |   65 +++++++++------
 api/v1/serviceFollowup.go        |    3 
 docs/swagger.json                |   65 +++++++++------
 model/request/serviceOrder.go    |    8 +
 model/serviceFollowup.go         |    7 +
 11 files changed, 148 insertions(+), 84 deletions(-)

diff --git a/api/v1/serviceFollowup.go b/api/v1/serviceFollowup.go
index b657e7d..f3b5982 100644
--- a/api/v1/serviceFollowup.go
+++ b/api/v1/serviceFollowup.go
@@ -96,6 +96,7 @@
 
 	ctx.Ok()
 }
+
 // checkServiceFollowupParams
 func checkServiceFollowupParams(serviceFollowup request.ServiceFollowup) (errCode int, serviceFollowupModel model.ServiceFollowup) {
 	//if serviceFollowup.Number == "" {
@@ -140,7 +141,7 @@
 		return
 	}
 
-	serviceFollowups, total, errCode := serviceFollowupService.GetServiceFollowupList(params.Page, params.PageSize, params.KeywordType, params.Keyword)
+	serviceFollowups, total, errCode := serviceFollowupService.GetServiceFollowupList(params.Page, params.PageSize, params.KeywordType, params.Keyword, params.ServiceOrderId)
 	if errCode != ecode.OK {
 		ctx.Fail(errCode)
 		return
diff --git a/api/v1/serviceOrder.go b/api/v1/serviceOrder.go
index 1eec84f..f76babe 100644
--- a/api/v1/serviceOrder.go
+++ b/api/v1/serviceOrder.go
@@ -109,7 +109,7 @@
 		return
 	}
 
-	serviceOrder, total, errCode := service.NewServiceOrderService().GetServiceOrderList(params.Page, params.PageSize, params.QueryClass, params.KeywordType, params.Keyword)
+	serviceOrder, total, errCode := service.NewServiceOrderService().GetServiceOrderList(params.Page, params.PageSize, params.QueryClass, params.KeywordType, params.Keyword, params.ServiceContractId, params.SalesDetailsId)
 	if errCode != ecode.OK {
 		ctx.Fail(errCode)
 		return
diff --git a/docs/docs.go b/docs/docs.go
index 3927227..373da68 100644
--- a/docs/docs.go
+++ b/docs/docs.go
@@ -12213,11 +12213,11 @@
                 "satisfactionId": {
                     "type": "integer"
                 },
-                "serviceId": {
-                    "type": "integer"
-                },
                 "serviceOrder": {
                     "$ref": "#/definitions/model.ServiceOrder"
+                },
+                "serviceOrderId": {
+                    "type": "integer"
                 },
                 "solveRate": {
                     "$ref": "#/definitions/model.SolveRate"
@@ -12266,13 +12266,6 @@
                     "description": "鑱旂郴浜篿d",
                     "type": "integer"
                 },
-                "contract": {
-                    "$ref": "#/definitions/model.Contract"
-                },
-                "contractId": {
-                    "description": "鍚堝悓id",
-                    "type": "integer"
-                },
                 "expectTime": {
                     "description": "甯屾湜澶勭悊鏃堕棿",
                     "type": "string"
@@ -12292,10 +12285,6 @@
                     "type": "integer"
                 },
                 "id": {
-                    "type": "integer"
-                },
-                "orderId": {
-                    "description": "閿�鍞鍗昳d",
                     "type": "integer"
                 },
                 "orderManage": {
@@ -12334,6 +12323,20 @@
                     "description": "閿�鍞満浼歩d",
                     "type": "integer"
                 },
+                "salesDetails": {
+                    "$ref": "#/definitions/model.SalesDetails"
+                },
+                "salesDetailsId": {
+                    "description": "閿�鍞槑缁唅d",
+                    "type": "integer"
+                },
+                "serviceContract": {
+                    "$ref": "#/definitions/model.ServiceContract"
+                },
+                "serviceContractId": {
+                    "description": "鏈嶅姟鍚堝悓id",
+                    "type": "integer"
+                },
                 "serviceManId": {
                     "description": "鏈嶅姟浜哄憳",
                     "type": "integer"
@@ -12344,6 +12347,10 @@
                 },
                 "serviceOrderStatus": {
                     "$ref": "#/definitions/model.ServiceOrderStatus"
+                },
+                "serviceOrderStatusId": {
+                    "description": "澶勭悊鐘舵��",
+                    "type": "integer"
                 },
                 "serviceType": {
                     "$ref": "#/definitions/model.ServiceType"
@@ -12362,10 +12369,6 @@
                 "solutionRemark": {
                     "description": "鍐呴儴澶囨敞",
                     "type": "string"
-                },
-                "status": {
-                    "description": "澶勭悊鐘舵��",
-                    "type": "integer"
                 },
                 "subject": {
                     "description": "涓婚",
@@ -13994,6 +13997,10 @@
                     "description": "鏈嶅姟鍗曠紪鍙�",
                     "type": "string"
                 },
+                "serviceOrderStatusId": {
+                    "description": "澶勭悊鐘舵��",
+                    "type": "integer"
+                },
                 "serviceTypeId": {
                     "description": "鏈嶅姟鏂瑰紡id",
                     "type": "integer"
@@ -14009,10 +14016,6 @@
                 "solutionRemark": {
                     "description": "鍐呴儴澶囨敞",
                     "type": "string"
-                },
-                "status": {
-                    "description": "澶勭悊鐘舵��",
-                    "type": "integer"
                 },
                 "subject": {
                     "description": "涓婚",
@@ -14786,6 +14789,10 @@
                 "pageSize": {
                     "description": "姣忛〉澶у皬",
                     "type": "integer"
+                },
+                "serviceOrderId": {
+                    "description": "鏈嶅姟鍥炶鍗昳d",
+                    "type": "integer"
                 }
             }
         },
@@ -14808,6 +14815,12 @@
                 },
                 "queryClass": {
                     "$ref": "#/definitions/constvar.ServiceOrderQueryClass"
+                },
+                "salesDetailsId": {
+                    "type": "integer"
+                },
+                "serviceContractId": {
+                    "type": "integer"
                 }
             }
         },
@@ -17140,6 +17153,10 @@
                     "description": "鏈嶅姟鍗曠紪鍙�",
                     "type": "string"
                 },
+                "serviceOrderStatusId": {
+                    "description": "澶勭悊鐘舵��",
+                    "type": "integer"
+                },
                 "serviceTypeId": {
                     "description": "鏈嶅姟鏂瑰紡id",
                     "type": "integer"
@@ -17155,10 +17172,6 @@
                 "solutionRemark": {
                     "description": "鍐呴儴澶囨敞",
                     "type": "string"
-                },
-                "status": {
-                    "description": "澶勭悊鐘舵��",
-                    "type": "integer"
                 },
                 "subject": {
                     "description": "涓婚",
diff --git a/docs/swagger.json b/docs/swagger.json
index f142c53..2f50976 100644
--- a/docs/swagger.json
+++ b/docs/swagger.json
@@ -12201,11 +12201,11 @@
                 "satisfactionId": {
                     "type": "integer"
                 },
-                "serviceId": {
-                    "type": "integer"
-                },
                 "serviceOrder": {
                     "$ref": "#/definitions/model.ServiceOrder"
+                },
+                "serviceOrderId": {
+                    "type": "integer"
                 },
                 "solveRate": {
                     "$ref": "#/definitions/model.SolveRate"
@@ -12254,13 +12254,6 @@
                     "description": "鑱旂郴浜篿d",
                     "type": "integer"
                 },
-                "contract": {
-                    "$ref": "#/definitions/model.Contract"
-                },
-                "contractId": {
-                    "description": "鍚堝悓id",
-                    "type": "integer"
-                },
                 "expectTime": {
                     "description": "甯屾湜澶勭悊鏃堕棿",
                     "type": "string"
@@ -12280,10 +12273,6 @@
                     "type": "integer"
                 },
                 "id": {
-                    "type": "integer"
-                },
-                "orderId": {
-                    "description": "閿�鍞鍗昳d",
                     "type": "integer"
                 },
                 "orderManage": {
@@ -12322,6 +12311,20 @@
                     "description": "閿�鍞満浼歩d",
                     "type": "integer"
                 },
+                "salesDetails": {
+                    "$ref": "#/definitions/model.SalesDetails"
+                },
+                "salesDetailsId": {
+                    "description": "閿�鍞槑缁唅d",
+                    "type": "integer"
+                },
+                "serviceContract": {
+                    "$ref": "#/definitions/model.ServiceContract"
+                },
+                "serviceContractId": {
+                    "description": "鏈嶅姟鍚堝悓id",
+                    "type": "integer"
+                },
                 "serviceManId": {
                     "description": "鏈嶅姟浜哄憳",
                     "type": "integer"
@@ -12332,6 +12335,10 @@
                 },
                 "serviceOrderStatus": {
                     "$ref": "#/definitions/model.ServiceOrderStatus"
+                },
+                "serviceOrderStatusId": {
+                    "description": "澶勭悊鐘舵��",
+                    "type": "integer"
                 },
                 "serviceType": {
                     "$ref": "#/definitions/model.ServiceType"
@@ -12350,10 +12357,6 @@
                 "solutionRemark": {
                     "description": "鍐呴儴澶囨敞",
                     "type": "string"
-                },
-                "status": {
-                    "description": "澶勭悊鐘舵��",
-                    "type": "integer"
                 },
                 "subject": {
                     "description": "涓婚",
@@ -13982,6 +13985,10 @@
                     "description": "鏈嶅姟鍗曠紪鍙�",
                     "type": "string"
                 },
+                "serviceOrderStatusId": {
+                    "description": "澶勭悊鐘舵��",
+                    "type": "integer"
+                },
                 "serviceTypeId": {
                     "description": "鏈嶅姟鏂瑰紡id",
                     "type": "integer"
@@ -13997,10 +14004,6 @@
                 "solutionRemark": {
                     "description": "鍐呴儴澶囨敞",
                     "type": "string"
-                },
-                "status": {
-                    "description": "澶勭悊鐘舵��",
-                    "type": "integer"
                 },
                 "subject": {
                     "description": "涓婚",
@@ -14774,6 +14777,10 @@
                 "pageSize": {
                     "description": "姣忛〉澶у皬",
                     "type": "integer"
+                },
+                "serviceOrderId": {
+                    "description": "鏈嶅姟鍥炶鍗昳d",
+                    "type": "integer"
                 }
             }
         },
@@ -14796,6 +14803,12 @@
                 },
                 "queryClass": {
                     "$ref": "#/definitions/constvar.ServiceOrderQueryClass"
+                },
+                "salesDetailsId": {
+                    "type": "integer"
+                },
+                "serviceContractId": {
+                    "type": "integer"
                 }
             }
         },
@@ -17128,6 +17141,10 @@
                     "description": "鏈嶅姟鍗曠紪鍙�",
                     "type": "string"
                 },
+                "serviceOrderStatusId": {
+                    "description": "澶勭悊鐘舵��",
+                    "type": "integer"
+                },
                 "serviceTypeId": {
                     "description": "鏈嶅姟鏂瑰紡id",
                     "type": "integer"
@@ -17143,10 +17160,6 @@
                 "solutionRemark": {
                     "description": "鍐呴儴澶囨敞",
                     "type": "string"
-                },
-                "status": {
-                    "description": "澶勭悊鐘舵��",
-                    "type": "integer"
                 },
                 "subject": {
                     "description": "涓婚",
diff --git a/docs/swagger.yaml b/docs/swagger.yaml
index 8934514..73ca838 100644
--- a/docs/swagger.yaml
+++ b/docs/swagger.yaml
@@ -1527,10 +1527,10 @@
         $ref: '#/definitions/model.Satisfaction'
       satisfactionId:
         type: integer
-      serviceId:
-        type: integer
       serviceOrder:
         $ref: '#/definitions/model.ServiceOrder'
+      serviceOrderId:
+        type: integer
       solveRate:
         $ref: '#/definitions/model.SolveRate'
       solveRateId:
@@ -1566,11 +1566,6 @@
       contactId:
         description: 鑱旂郴浜篿d
         type: integer
-      contract:
-        $ref: '#/definitions/model.Contract'
-      contractId:
-        description: 鍚堝悓id
-        type: integer
       expectTime:
         description: 甯屾湜澶勭悊鏃堕棿
         type: string
@@ -1585,9 +1580,6 @@
         description: 鏁呴殰绫诲埆id
         type: integer
       id:
-        type: integer
-      orderId:
-        description: 閿�鍞鍗昳d
         type: integer
       orderManage:
         $ref: '#/definitions/model.OrderManage'
@@ -1615,6 +1607,16 @@
       saleChanceId:
         description: 閿�鍞満浼歩d
         type: integer
+      salesDetails:
+        $ref: '#/definitions/model.SalesDetails'
+      salesDetailsId:
+        description: 閿�鍞槑缁唅d
+        type: integer
+      serviceContract:
+        $ref: '#/definitions/model.ServiceContract'
+      serviceContractId:
+        description: 鏈嶅姟鍚堝悓id
+        type: integer
       serviceManId:
         description: 鏈嶅姟浜哄憳
         type: integer
@@ -1623,6 +1625,9 @@
         type: string
       serviceOrderStatus:
         $ref: '#/definitions/model.ServiceOrderStatus'
+      serviceOrderStatusId:
+        description: 澶勭悊鐘舵��
+        type: integer
       serviceType:
         $ref: '#/definitions/model.ServiceType'
       serviceTypeId:
@@ -1636,9 +1641,6 @@
       solutionRemark:
         description: 鍐呴儴澶囨敞
         type: string
-      status:
-        description: 澶勭悊鐘舵��
-        type: integer
       subject:
         description: 涓婚
         type: string
@@ -2739,6 +2741,9 @@
       serviceNumber:
         description: 鏈嶅姟鍗曠紪鍙�
         type: string
+      serviceOrderStatusId:
+        description: 澶勭悊鐘舵��
+        type: integer
       serviceTypeId:
         description: 鏈嶅姟鏂瑰紡id
         type: integer
@@ -2751,9 +2756,6 @@
       solutionRemark:
         description: 鍐呴儴澶囨敞
         type: string
-      status:
-        description: 澶勭悊鐘舵��
-        type: integer
       subject:
         description: 涓婚
         type: string
@@ -3298,6 +3300,9 @@
       pageSize:
         description: 姣忛〉澶у皬
         type: integer
+      serviceOrderId:
+        description: 鏈嶅姟鍥炶鍗昳d
+        type: integer
     type: object
   request.GetServiceOrderList:
     properties:
@@ -3313,6 +3318,10 @@
         type: integer
       queryClass:
         $ref: '#/definitions/constvar.ServiceOrderQueryClass'
+      salesDetailsId:
+        type: integer
+      serviceContractId:
+        type: integer
     type: object
   request.GetSubOrderList:
     properties:
@@ -4887,6 +4896,9 @@
       serviceNumber:
         description: 鏈嶅姟鍗曠紪鍙�
         type: string
+      serviceOrderStatusId:
+        description: 澶勭悊鐘舵��
+        type: integer
       serviceTypeId:
         description: 鏈嶅姟鏂瑰紡id
         type: integer
@@ -4899,9 +4911,6 @@
       solutionRemark:
         description: 鍐呴儴澶囨敞
         type: string
-      status:
-        description: 澶勭悊鐘舵��
-        type: integer
       subject:
         description: 涓婚
         type: string
diff --git a/model/request/serviceFollowup.go b/model/request/serviceFollowup.go
index e1b5764..72f2891 100644
--- a/model/request/serviceFollowup.go
+++ b/model/request/serviceFollowup.go
@@ -29,8 +29,9 @@
 
 type GetServiceFollowupList struct {
 	PageInfo
-	KeywordType constvar.ServiceFollowupKeywordType `json:"keywordType"`
-	Keyword     string                              `json:"keyword"`
+	KeywordType    constvar.ServiceFollowupKeywordType `json:"keywordType"`
+	Keyword        string                              `json:"keyword"`
+	ServiceOrderId int                                 `json:"serviceOrderId"` //鏈嶅姟鍥炶鍗昳d
 }
 
 type DeleteServiceFollowup struct {
diff --git a/model/request/serviceOrder.go b/model/request/serviceOrder.go
index 434121a..7312c61 100644
--- a/model/request/serviceOrder.go
+++ b/model/request/serviceOrder.go
@@ -40,7 +40,9 @@
 
 type GetServiceOrderList struct {
 	PageInfo
-	QueryClass  constvar.ServiceOrderQueryClass  `json:"queryClass" form:"queryClass"`
-	KeywordType constvar.ServiceOrderKeywordType `json:"keywordType" form:"keywordType"`
-	Keyword     string                           `json:"keyword" form:"keyword"`
+	QueryClass        constvar.ServiceOrderQueryClass  `json:"queryClass" form:"queryClass"`
+	KeywordType       constvar.ServiceOrderKeywordType `json:"keywordType" form:"keywordType"`
+	Keyword           string                           `json:"keyword" form:"keyword"`
+	ServiceContractId int                              `json:"serviceContractId" form:"serviceContractId"`
+	SalesDetailsId    int                              `json:"salesDetailsId" form:"salesDetailsId"`
 }
diff --git a/model/serviceFollowup.go b/model/serviceFollowup.go
index be9255b..787c48e 100644
--- a/model/serviceFollowup.go
+++ b/model/serviceFollowup.go
@@ -16,7 +16,7 @@
 		Number               string               `json:"number" gorm:"column:number;type:varchar(255);comment:鍚堝悓缂栧彿"`
 		ContactId            int                  `json:"contactId" gorm:"column:contact_id;type:int;comment:鑱旂郴浜篿d"`
 		Contact              Contact              `json:"contact"  gorm:"foreignKey:ContactId"`
-		ServiceId            int                  `json:"serviceId" gorm:"column:service_id;type:int;comment:瀹㈡埛鏈嶅姟鍗昳d"`
+		ServiceOrderId       int                  `json:"serviceOrderId" gorm:"column:service_order_id;type:int;comment:瀹㈡埛鏈嶅姟鍗昳d"`
 		ServiceOrder         ServiceOrder         `gorm:"foreignKey:ServiceId"`
 		CustomerServiceSheet CustomerServiceSheet `json:"customerServiceSheet" gorm:"foreignKey:ServiceId"`
 		MemberId             int                  `json:"memberId" gorm:"column:member_id;type:int;comment:鏈嶅姟浜哄憳id"`
@@ -144,6 +144,11 @@
 	return slf
 }
 
+func (slf *ServiceFollowupSearch) SetServiceOrderId(id int) *ServiceFollowupSearch {
+	slf.ServiceOrderId = id
+	return slf
+}
+
 func (slf *ServiceFollowupSearch) SetPreload(preload bool) *ServiceFollowupSearch {
 	slf.Preload = preload
 	return slf
diff --git a/model/serviceOrder.go b/model/serviceOrder.go
index f6ef036..e249844 100644
--- a/model/serviceOrder.go
+++ b/model/serviceOrder.go
@@ -17,9 +17,10 @@
 		ServiceNumber        string             `gorm:"column:service_number;type:varchar(255);not null;default:'';comment:鏈嶅姟鍗曠紪鍙�" json:"serviceNumber"` // 鏈嶅姟鍗曠紪鍙�
 		ClientId             int                `gorm:"column:client_id;type:int;not null;default:0;comment:瀹㈡埛id" json:"clientId"`                      // 瀹㈡埛id
 		Client               Client             `gorm:"foreignKey:ClientId"`
-		ContractId           int                `gorm:"column:contract_id;type:int;not null;default:0;comment:鍚堝悓id" json:"contractId"` // 鍚堝悓id
-		Contract             Contract           `gorm:"foreignKey:ContractId"`
-		OrderId              int                `gorm:"column:order_id;type:int;not null;default:0;comment:閿�鍞鍗昳d" json:"orderId"` // 閿�鍞鍗昳d
+		ServiceContractId    int                `gorm:"column:contract_id;type:int;not null;default:0;comment:鏈嶅姟鍚堝悓id" json:"serviceContractId"` // 鏈嶅姟鍚堝悓id
+		ServiceContract      ServiceContract    `gorm:"foreignKey:ServiceContractId"`
+		SalesDetailsId       int                `gorm:"column:order_id;type:int;not null;default:0;comment:閿�鍞鍗昳d" json:"salesDetailsId"` // 閿�鍞槑缁唅d
+		SalesDetails         SalesDetails       `gorm:"foreignKey:SalesDetailsId"`
 		OrderManage          OrderManage        `gorm:"foreignKey:OrderId"`
 		Subject              string             `gorm:"column:subject;type:varchar(255);not null;default:'';comment:涓婚" json:"subject"` // 涓婚
 		ProductId            int                `gorm:"column:product_id;type:int;not null;default:0;comment:浜у搧id" json:"productId"`    // 浜у搧id
@@ -83,6 +84,12 @@
 	if slf.Id != 0 {
 		db = db.Where("id = ?", slf.Id)
 	}
+	if slf.ServiceContractId != 0 {
+		db = db.Where("service_contract_id = ?", slf.ServiceContractId)
+	}
+	if slf.SalesDetailsId != 0 {
+		db = db.Where("sales_details_id = ?", slf.SalesDetailsId)
+	}
 	if slf.Preload {
 		db = db.
 			Preload("Client").
@@ -143,6 +150,16 @@
 	return slf
 }
 
+func (slf *ServiceOrderSearch) SetServiceContractId(id int) *ServiceOrderSearch {
+	slf.ServiceContractId = id
+	return slf
+}
+
+func (slf *ServiceOrderSearch) SetSalesDetailsId(id int) *ServiceOrderSearch {
+	slf.SalesDetailsId = id
+	return slf
+}
+
 func (slf *ServiceOrderSearch) SetPage(page, size int) *ServiceOrderSearch {
 	slf.PageNum, slf.PageSize = page, size
 	return slf
diff --git a/service/serviceFollowup.go b/service/serviceFollowup.go
index 1ae3722..46c52c9 100644
--- a/service/serviceFollowup.go
+++ b/service/serviceFollowup.go
@@ -41,13 +41,14 @@
 	return ecode.OK
 }
 
-func (FollowupService) GetServiceFollowupList(page, pageSize int, keywordType constvar.ServiceFollowupKeywordType, keyword string) ([]*model.ServiceFollowup, int64, int) {
+func (FollowupService) GetServiceFollowupList(page, pageSize int, keywordType constvar.ServiceFollowupKeywordType, keyword string, serviceOrderId int) ([]*model.ServiceFollowup, int64, int) {
 	// get contact list
 	contacts, total, err := model.NewServiceFollowupSearch().
 		SetKeywordType(keywordType).
 		SetKeyword(keyword).
 		SetPage(page, pageSize).
 		SetPreload(true).
+		SetServiceOrderId(serviceOrderId).
 		FindAll()
 	if err != nil {
 		return nil, 0, ecode.ServiceFollowupListErr
diff --git a/service/serviceOrder.go b/service/serviceOrder.go
index cdfe5d9..8de6e57 100644
--- a/service/serviceOrder.go
+++ b/service/serviceOrder.go
@@ -30,13 +30,15 @@
 	return ecode.OK
 }
 
-func (ServiceOrderService) GetServiceOrderList(page, pageSize int, queryClass constvar.ServiceOrderQueryClass, keywordType constvar.ServiceOrderKeywordType, keyword string) ([]*model.ServiceOrder, int64, int) {
+func (ServiceOrderService) GetServiceOrderList(page, pageSize int, queryClass constvar.ServiceOrderQueryClass, keywordType constvar.ServiceOrderKeywordType, keyword string, serviceContractId, salesDetailsId int) ([]*model.ServiceOrder, int64, int) {
 	list, total, err := model.NewServiceOrderSearch().
 		SetPage(page, pageSize).
 		SetKeyword(keyword).
 		SetKeywordType(keywordType).
 		SetQueryClass(queryClass).
 		SetPreload(true).
+		SetServiceContractId(serviceContractId).
+		SetSalesDetailsId(salesDetailsId).
 		Find()
 	if err != nil {
 		return nil, 0, ecode.DBErr

--
Gitblit v1.8.0