From 5421f9d925a15eddfcaf356839ee1a180b36689a Mon Sep 17 00:00:00 2001
From: zhangqian <zhangqian@123.com>
Date: 星期五, 25 八月 2023 14:01:35 +0800
Subject: [PATCH] Merge branch 'hotfix'

---
 service/serviceCollectionPlan.go       |    5 +
 api/v1/serviceCollectionPlan.go        |    2 
 model/request/serviceCollectionPlan.go |    4 +
 docs/swagger.yaml                      |   27 ++++++++-
 docs/docs.go                           |   40 ++++++++++++-
 docs/swagger.json                      |   40 ++++++++++++-
 model/serviceCollectionPlan.go         |   11 +++
 model/receipt.go                       |    2 
 8 files changed, 117 insertions(+), 14 deletions(-)

diff --git a/api/v1/serviceCollectionPlan.go b/api/v1/serviceCollectionPlan.go
index 46525a4..134a633 100644
--- a/api/v1/serviceCollectionPlan.go
+++ b/api/v1/serviceCollectionPlan.go
@@ -115,7 +115,7 @@
 		return
 	}
 
-	serviceCollectionPlan, total, errCode := service.NewServiceCollectionPlanService().GetServiceCollectionPlanList(params.ServiceContractId)
+	serviceCollectionPlan, total, errCode := service.NewServiceCollectionPlanService().GetServiceCollectionPlanList(params.SourceType, params.SourceId)
 	if errCode != ecode.OK {
 		ctx.Fail(errCode)
 		return
diff --git a/docs/docs.go b/docs/docs.go
index 1337cad..ac70ed6 100644
--- a/docs/docs.go
+++ b/docs/docs.go
@@ -7840,9 +7840,27 @@
                 "parameters": [
                     {
                         "type": "integer",
-                        "description": "鏈嶅姟鍚堝悓id",
-                        "name": "serviceContractId",
-                        "in": "query"
+                        "name": "sourceId",
+                        "in": "query",
+                        "required": true
+                    },
+                    {
+                        "enum": [
+                            1,
+                            2
+                        ],
+                        "type": "integer",
+                        "x-enum-comments": {
+                            "CollectionSourceTypeSaleDetails": "閿�鍞槑缁�",
+                            "CollectionSourceTypeServiceContract": "鏈嶅姟鍚堝悓"
+                        },
+                        "x-enum-varnames": [
+                            "CollectionSourceTypeSaleDetails",
+                            "CollectionSourceTypeServiceContract"
+                        ],
+                        "name": "sourceType",
+                        "in": "query",
+                        "required": true
                     }
                 ],
                 "responses": {
@@ -12567,6 +12585,14 @@
                 "percent": {
                     "description": "姣斾緥",
                     "type": "number"
+                },
+                "principal": {
+                    "description": "鏀舵璐熻矗浜篒D",
+                    "allOf": [
+                        {
+                            "$ref": "#/definitions/model.User"
+                        }
+                    ]
                 },
                 "principalId": {
                     "description": "鏀舵璐熻矗浜篒D",
@@ -17614,6 +17640,14 @@
                     "description": "姣斾緥",
                     "type": "number"
                 },
+                "principal": {
+                    "description": "鏀舵璐熻矗浜篒D",
+                    "allOf": [
+                        {
+                            "$ref": "#/definitions/model.User"
+                        }
+                    ]
+                },
                 "principalId": {
                     "description": "鏀舵璐熻矗浜篒D",
                     "type": "integer"
diff --git a/docs/swagger.json b/docs/swagger.json
index 2729e72..89fac39 100644
--- a/docs/swagger.json
+++ b/docs/swagger.json
@@ -7828,9 +7828,27 @@
                 "parameters": [
                     {
                         "type": "integer",
-                        "description": "鏈嶅姟鍚堝悓id",
-                        "name": "serviceContractId",
-                        "in": "query"
+                        "name": "sourceId",
+                        "in": "query",
+                        "required": true
+                    },
+                    {
+                        "enum": [
+                            1,
+                            2
+                        ],
+                        "type": "integer",
+                        "x-enum-comments": {
+                            "CollectionSourceTypeSaleDetails": "閿�鍞槑缁�",
+                            "CollectionSourceTypeServiceContract": "鏈嶅姟鍚堝悓"
+                        },
+                        "x-enum-varnames": [
+                            "CollectionSourceTypeSaleDetails",
+                            "CollectionSourceTypeServiceContract"
+                        ],
+                        "name": "sourceType",
+                        "in": "query",
+                        "required": true
                     }
                 ],
                 "responses": {
@@ -12555,6 +12573,14 @@
                 "percent": {
                     "description": "姣斾緥",
                     "type": "number"
+                },
+                "principal": {
+                    "description": "鏀舵璐熻矗浜篒D",
+                    "allOf": [
+                        {
+                            "$ref": "#/definitions/model.User"
+                        }
+                    ]
                 },
                 "principalId": {
                     "description": "鏀舵璐熻矗浜篒D",
@@ -17602,6 +17628,14 @@
                     "description": "姣斾緥",
                     "type": "number"
                 },
+                "principal": {
+                    "description": "鏀舵璐熻矗浜篒D",
+                    "allOf": [
+                        {
+                            "$ref": "#/definitions/model.User"
+                        }
+                    ]
+                },
                 "principalId": {
                     "description": "鏀舵璐熻矗浜篒D",
                     "type": "integer"
diff --git a/docs/swagger.yaml b/docs/swagger.yaml
index fbb345d..88c777f 100644
--- a/docs/swagger.yaml
+++ b/docs/swagger.yaml
@@ -1628,6 +1628,10 @@
       percent:
         description: 姣斾緥
         type: number
+      principal:
+        allOf:
+        - $ref: '#/definitions/model.User'
+        description: 鏀舵璐熻矗浜篒D
       principalId:
         description: 鏀舵璐熻矗浜篒D
         type: integer
@@ -5059,6 +5063,10 @@
       percent:
         description: 姣斾緥
         type: number
+      principal:
+        allOf:
+        - $ref: '#/definitions/model.User'
+        description: 鏀舵璐熻矗浜篒D
       principalId:
         description: 鏀舵璐熻矗浜篒D
         type: integer
@@ -10877,10 +10885,23 @@
   /api/serviceCollectionPlan/list:
     get:
       parameters:
-      - description: 鏈嶅姟鍚堝悓id
-        in: query
-        name: serviceContractId
+      - in: query
+        name: sourceId
+        required: true
         type: integer
+      - enum:
+        - 1
+        - 2
+        in: query
+        name: sourceType
+        required: true
+        type: integer
+        x-enum-comments:
+          CollectionSourceTypeSaleDetails: 閿�鍞槑缁�
+          CollectionSourceTypeServiceContract: 鏈嶅姟鍚堝悓
+        x-enum-varnames:
+        - CollectionSourceTypeSaleDetails
+        - CollectionSourceTypeServiceContract
       produces:
       - application/json
       responses:
diff --git a/model/receipt.go b/model/receipt.go
index 5eb54df..50945d3 100644
--- a/model/receipt.go
+++ b/model/receipt.go
@@ -156,7 +156,7 @@
 		db = db.Limit(slf.PageSize).Offset((slf.PageNum - 1) * slf.PageSize)
 	}
 
-	err := db.Preload("Principal").Preload("Client").Find(&records).Error
+	err := db.Preload("Principal").Preload("Client").Preload("PaymentType").Preload("BankAccount").Find(&records).Error
 	return records, total, err
 }
 
diff --git a/model/request/serviceCollectionPlan.go b/model/request/serviceCollectionPlan.go
index a1a9a11..b8e9639 100644
--- a/model/request/serviceCollectionPlan.go
+++ b/model/request/serviceCollectionPlan.go
@@ -1,6 +1,7 @@
 package request
 
 import (
+	"aps_crm/constvar"
 	"aps_crm/model"
 )
 
@@ -14,5 +15,6 @@
 }
 
 type GetServiceCollectionPlanList struct {
-	ServiceContractId int `gorm:"service_contract_id" form:"serviceContractId"` // 鏈嶅姟鍚堝悓id
+	SourceType constvar.CollectionSourceType `json:"sourceType" form:"sourceType" binding:"required"`
+	SourceId   int                           `json:"sourceId" form:"sourceId" binding:"required"`
 }
diff --git a/model/serviceCollectionPlan.go b/model/serviceCollectionPlan.go
index cd72dee..3ffcf2e 100644
--- a/model/serviceCollectionPlan.go
+++ b/model/serviceCollectionPlan.go
@@ -17,6 +17,7 @@
 		SourceType       constvar.CollectionSourceType `gorm:"column:source_type;type:tinyint;not null;default 0;comment:婧愬崟绫诲瀷锛�1閿�鍞槑缁�2鏈嶅姟鍚堝悓3閿�鍞彂绁級" json:"sourceType"`       // 婧愬崟绫诲瀷锛�1閿�鍞槑缁�2鏈嶅姟鍚堝悓3閿�鍞彂绁級
 		SourceId         int                           `gorm:"column:source_id;type:int;not null;default 0;comment:婧愬崟id" json:"sourceId"`                                // 婧愬崟id
 		PrincipalId      int                           `gorm:"column:principal_id;type:int;not null;default 0;comment:鏀舵璐熻矗浜篒D" json:"principalId"`                       // 鏀舵璐熻矗浜篒D
+		Principal        User                          `gorm:"foreignKey:PrincipalId" json:"principal"`                                                                  // 鏀舵璐熻矗浜篒D
 		Term             int                           `gorm:"column:term;type:tinyint;not null;default 0;comment:鏈熸" json:"term"`                                       // 鏈熸
 		Percent          decimal.Decimal               `gorm:"column:percent;type:decimal(5,2);not null;default 0.00;comment:鏀舵姣斾緥" gorm:"" json:"percent"`               // 姣斾緥
 		Amount           decimal.Decimal               `gorm:"column:amount;type:decimal(12,2);not null;default '0.00';comment:閲戦" gorm:"" json:"amount"`                // 閲戦
@@ -62,6 +63,11 @@
 		db = db.Where("source_id = ?", slf.SourceId)
 	}
 
+	if slf.SourceType != 0 {
+		db = db.Where("source_type = ?", slf.SourceType)
+	}
+
+	db = db.Preload("Client").Preload("Principal")
 	return db
 }
 
@@ -107,6 +113,11 @@
 	return slf
 }
 
+func (slf *ServiceCollectionPlanSearch) SetSourceType(sourceType constvar.CollectionSourceType) *ServiceCollectionPlanSearch {
+	slf.SourceType = sourceType
+	return slf
+}
+
 func (slf *ServiceCollectionPlanSearch) First() (*ServiceCollectionPlan, error) {
 	var db = slf.build()
 	var record = new(ServiceCollectionPlan)
diff --git a/service/serviceCollectionPlan.go b/service/serviceCollectionPlan.go
index f87f5a4..c1f1af7 100644
--- a/service/serviceCollectionPlan.go
+++ b/service/serviceCollectionPlan.go
@@ -1,6 +1,7 @@
 package service
 
 import (
+	"aps_crm/constvar"
 	"aps_crm/model"
 	"aps_crm/model/request"
 	"aps_crm/pkg/ecode"
@@ -45,8 +46,8 @@
 	return ecode.OK
 }
 
-func (ServiceCollectionPlanService) GetServiceCollectionPlanList(sourceId int) ([]*model.ServiceCollectionPlan, int64, int) {
-	list, total, err := model.NewServiceCollectionPlanSearch().SetSourceId(sourceId).Find()
+func (ServiceCollectionPlanService) GetServiceCollectionPlanList(sourceType constvar.CollectionSourceType, sourceId int) ([]*model.ServiceCollectionPlan, int64, int) {
+	list, total, err := model.NewServiceCollectionPlanSearch().SetSourceType(sourceType).SetSourceId(sourceId).Find()
 	if err != nil {
 		return nil, 0, ecode.DBErr
 	}

--
Gitblit v1.8.0