From a35c7eb12dcce7c650025ba4d801d6ad6f1053c4 Mon Sep 17 00:00:00 2001
From: wangpengfei <274878379@qq.com>
Date: 星期四, 13 七月 2023 18:07:06 +0800
Subject: [PATCH] add
---
api/v1/index.go | 2
api/v1/client.go | 17
service/client.go | 12
api/v1/serviceFeeManage.go | 156 +++++++
model/request/serviceFeeManage.go | 19
pkg/ecode/code.go | 8
docs/swagger.yaml | 216 +++++++++
docs/docs.go | 327 ++++++++++++++
docs/swagger.json | 327 ++++++++++++++
model/response/response.go | 4
service/serviceFeeManage.go | 66 +++
api/v1/customerServiceSheet.go | 4
model/serviceFeeManage.go | 85 +++
service/index.go | 1
router/serviceFeeManage.go | 19
model/client.go | 10
model/index.go | 1
logs/aps-admin.err.log | 11
router/index.go | 2
19 files changed, 1,276 insertions(+), 11 deletions(-)
diff --git a/api/v1/client.go b/api/v1/client.go
index 8d47ac9..2e3d7ee 100644
--- a/api/v1/client.go
+++ b/api/v1/client.go
@@ -98,6 +98,13 @@
client.LatestServiceTime = t
+ t, err = checkTimeFormat(params.RegistrationTime)
+ if err != nil {
+ return ecode.InvalidParams, nil
+ }
+
+ client.RegistrationTime = t
+
client.ClientTypeId = params.ClientTypeId
client.ClientOriginId = params.ClientOriginId
client.ClientLevelId = params.ClientLevelId
@@ -105,6 +112,16 @@
client.Remark = params.Remark
client.Number = params.Number
client.ServiceMemberId = params.ServiceMemberId
+ client.ProvinceId = params.ProvinceId
+ client.CityId = params.CityId
+ client.RegionId = params.RegionId
+ client.CountryId = params.CountryId
+ client.Business.BusinessScope = params.BusinessScope
+ client.Business.Representative = params.Representative
+ client.Business.RegisteredCapitalId = params.RegisteredCapitalId
+ client.Business.IndustryId = params.IndustryId
+ client.Business.EnterpriseNatureId = params.EnterpriseNatureId
+ client.Business.EnterpriseScaleId = params.EnterpriseScaleId
if params.Contact.Name != "" {
// assign the client's member id to contact when adding
diff --git a/api/v1/customerServiceSheet.go b/api/v1/customerServiceSheet.go
index 730f157..cc79739 100644
--- a/api/v1/customerServiceSheet.go
+++ b/api/v1/customerServiceSheet.go
@@ -71,8 +71,8 @@
// @Tags CustomerServiceSheet
// @Summary 鏇存柊瀹㈡湇鍗�
// @Produce application/json
-// @Param object body request.UpdateCustomerServiceSheet true "鏌ヨ鍙傛暟"
-// @Success 200 {object} contextx.Response{}
+// @Param object body request.UpdateCustomerServiceSheet true "鏌ヨ鍙傛暟"
+// @Success 200 {object} contextx.Response{}
// @Router /api/customerServiceSheet/update/{id} [put]
func (s *CustomerServiceSheetApi) Update(c *gin.Context) {
var params request.UpdateCustomerServiceSheet
diff --git a/api/v1/index.go b/api/v1/index.go
index a79e9fd..f8911cf 100644
--- a/api/v1/index.go
+++ b/api/v1/index.go
@@ -43,6 +43,7 @@
OrderManageApi
ServiceFollowupApi
CustomerServiceSheetApi
+ ServiceFeeManageApi
}
var ApiGroup = new(Group)
@@ -85,4 +86,5 @@
orderManageService = service.ServiceGroup.OrderManageService
serviceFollowupService = service.ServiceGroup.FollowupService
customerServiceSheetService = service.ServiceGroup.CustomerServiceSheetService
+ serviceFeeManageService = service.ServiceGroup.FeeManageService
)
diff --git a/api/v1/serviceFeeManage.go b/api/v1/serviceFeeManage.go
new file mode 100644
index 0000000..afa4313
--- /dev/null
+++ b/api/v1/serviceFeeManage.go
@@ -0,0 +1,156 @@
+package v1
+
+import (
+ "aps_crm/model"
+ "aps_crm/model/request"
+ "aps_crm/model/response"
+ "aps_crm/pkg/contextx"
+ "aps_crm/pkg/ecode"
+ "github.com/gin-gonic/gin"
+ "strconv"
+)
+
+type ServiceFeeManageApi struct{}
+
+// Add
+//
+// @Tags ServiceFeeManage
+// @Summary 娣诲姞鏈嶅姟璐圭鐞�
+// @Produce application/json
+// @Param object body request.AddServiceFeeManage true "鏌ヨ鍙傛暟"
+// @Success 200 {object} contextx.Response{}
+// @Router /api/serviceFeeManage/add [post]
+func (s *ServiceFeeManageApi) Add(c *gin.Context) {
+ var params request.AddServiceFeeManage
+ ctx, ok := contextx.NewContext(c, ¶ms)
+ if !ok {
+ return
+ }
+
+ errCode, serviceFeeManage := checkServiceFeeManageParams(params.ServiceFeeManage)
+ if errCode != ecode.OK {
+ ctx.Fail(errCode)
+ return
+ }
+
+ errCode = serviceFeeManageService.AddServiceFeeManage(&serviceFeeManage)
+ if errCode != ecode.OK {
+ ctx.Fail(errCode)
+ return
+ }
+
+ ctx.Ok()
+}
+
+// Delete
+//
+// @Tags ServiceFeeManage
+// @Summary 鍒犻櫎鏈嶅姟璐圭鐞�
+// @Produce application/json
+// @Param id path int true "鏌ヨ鍙傛暟"
+// @Success 200 {object} contextx.Response{}
+// @Router /api/serviceFeeManage/delete/{id} [delete]
+func (s *ServiceFeeManageApi) Delete(c *gin.Context) {
+ ctx, ok := contextx.NewContext(c, nil)
+ if !ok {
+ return
+ }
+
+ id, _ := strconv.Atoi(c.Param("id"))
+ errCode := serviceFeeManageService.DeleteServiceFeeManage(id)
+ if errCode != ecode.OK {
+ ctx.Fail(errCode)
+ return
+ }
+
+ ctx.Ok()
+}
+
+// Update
+//
+// @Tags ServiceFeeManage
+// @Summary 鏇存柊鏈嶅姟璐圭鐞�
+// @Produce application/json
+// @Param object body request.UpdateServiceFeeManage true "鏌ヨ鍙傛暟"
+// @Success 200 {object} contextx.Response{}
+// @Router /api/serviceFeeManage/update [put]
+func (s *ServiceFeeManageApi) Update(c *gin.Context) {
+ var params request.UpdateServiceFeeManage
+ ctx, ok := contextx.NewContext(c, ¶ms)
+ if !ok {
+ return
+ }
+
+ errCode, serviceFeeManage := checkServiceFeeManageParams(params.ServiceFeeManage)
+ if errCode != ecode.OK {
+ ctx.Fail(errCode)
+ return
+ }
+
+ code, client := checkClientParams(params.Client)
+ if code != ecode.OK {
+ ctx.Fail(code)
+ return
+ }
+ client.Id = serviceFeeManage.ClientId
+ serviceFeeManage.Client = client
+ serviceFeeManage.Id = params.Id
+
+ errCode = serviceFeeManageService.UpdateServiceFeeManage(&serviceFeeManage)
+ if errCode != ecode.OK {
+ ctx.Fail(errCode)
+ return
+ }
+
+ ctx.Ok()
+}
+
+// List
+//
+// @Tags ServiceFeeManage
+// @Summary 鏈嶅姟璐圭鐞嗗垪琛�
+// @Produce application/json
+// @Success 200 {object} contextx.Response{data=response.ServiceFeeManageResponse}
+// @Router /api/serviceFeeManage/list [get]
+func (s *ServiceFeeManageApi) List(c *gin.Context) {
+ ctx, ok := contextx.NewContext(c, nil)
+ if !ok {
+ return
+ }
+
+ list, errCode := serviceFeeManageService.GetServiceFeeManageList()
+ if errCode != ecode.OK {
+ ctx.Fail(errCode)
+ return
+ }
+
+ ctx.OkWithDetailed(response.ServiceFeeManageResponse{
+ List: list,
+ })
+}
+
+// checkServiceFeeManageParams
+func checkServiceFeeManageParams(serviceFeeManage request.ServiceFeeManage) (errCode int, result model.ServiceFeeManage) {
+ if serviceFeeManage.ClientId == 0 {
+ return ecode.InvalidParams, result
+ }
+
+ if serviceFeeManage.MemberId == 0 {
+ return ecode.InvalidParams, result
+ }
+
+ t, err := checkTimeFormat(serviceFeeManage.LatestDate)
+ if err != nil {
+ return ecode.InvalidParams, result
+ }
+
+ result = model.ServiceFeeManage{
+ ClientId: serviceFeeManage.ClientId,
+ MemberId: serviceFeeManage.MemberId,
+ Remark: serviceFeeManage.Remark,
+ LatestDate: t,
+ File: serviceFeeManage.File,
+ }
+
+ return ecode.OK, result
+}
diff --git a/docs/docs.go b/docs/docs.go
index efd3896..9ead6a7 100644
--- a/docs/docs.go
+++ b/docs/docs.go
@@ -3972,6 +3972,125 @@
}
}
},
+ "/api/serviceFeeManage/add": {
+ "post": {
+ "produces": [
+ "application/json"
+ ],
+ "tags": [
+ "ServiceFeeManage"
+ ],
+ "summary": "娣诲姞鏈嶅姟璐圭鐞�",
+ "parameters": [
+ {
+ "description": "鏌ヨ鍙傛暟",
+ "name": "object",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/request.AddServiceFeeManage"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/contextx.Response"
+ }
+ }
+ }
+ }
+ },
+ "/api/serviceFeeManage/delete/{id}": {
+ "delete": {
+ "produces": [
+ "application/json"
+ ],
+ "tags": [
+ "ServiceFeeManage"
+ ],
+ "summary": "鍒犻櫎鏈嶅姟璐圭鐞�",
+ "parameters": [
+ {
+ "type": "integer",
+ "description": "鏌ヨ鍙傛暟",
+ "name": "id",
+ "in": "path",
+ "required": true
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/contextx.Response"
+ }
+ }
+ }
+ }
+ },
+ "/api/serviceFeeManage/list": {
+ "get": {
+ "produces": [
+ "application/json"
+ ],
+ "tags": [
+ "ServiceFeeManage"
+ ],
+ "summary": "鏈嶅姟璐圭鐞嗗垪琛�",
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/contextx.Response"
+ },
+ {
+ "type": "object",
+ "properties": {
+ "data": {
+ "$ref": "#/definitions/response.ServiceFeeManageResponse"
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+ }
+ },
+ "/api/serviceFeeManage/update": {
+ "put": {
+ "produces": [
+ "application/json"
+ ],
+ "tags": [
+ "ServiceFeeManage"
+ ],
+ "summary": "鏇存柊鏈嶅姟璐圭鐞�",
+ "parameters": [
+ {
+ "description": "鏌ヨ鍙傛暟",
+ "name": "object",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/request.UpdateServiceFeeManage"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/contextx.Response"
+ }
+ }
+ }
+ }
+ },
"/api/serviceFollowup/add": {
"post": {
"produces": [
@@ -5008,6 +5127,32 @@
}
}
},
+ "model.CustomerServiceSheet": {
+ "type": "object",
+ "properties": {
+ "handleStatus": {
+ "type": "integer"
+ },
+ "id": {
+ "type": "integer"
+ },
+ "memberId": {
+ "type": "integer"
+ },
+ "number": {
+ "type": "string"
+ },
+ "priority": {
+ "type": "integer"
+ },
+ "serviceFollowupId": {
+ "type": "integer"
+ },
+ "serviceMode": {
+ "type": "integer"
+ }
+ }
+ },
"model.EnterpriseNature": {
"type": "object",
"properties": {
@@ -5659,6 +5804,32 @@
}
}
},
+ "model.ServiceFeeManage": {
+ "type": "object",
+ "properties": {
+ "client": {
+ "$ref": "#/definitions/model.Client"
+ },
+ "client_id": {
+ "type": "integer"
+ },
+ "file": {
+ "type": "string"
+ },
+ "id": {
+ "type": "integer"
+ },
+ "latest_date": {
+ "type": "string"
+ },
+ "member_id": {
+ "type": "integer"
+ },
+ "remark": {
+ "type": "string"
+ }
+ }
+ },
"model.ServiceFollowup": {
"type": "object",
"properties": {
@@ -5667,6 +5838,9 @@
},
"contactId": {
"type": "integer"
+ },
+ "customerServiceSheet": {
+ "$ref": "#/definitions/model.CustomerServiceSheet"
},
"file": {
"type": "string"
@@ -6506,6 +6680,26 @@
}
}
},
+ "request.AddServiceFeeManage": {
+ "type": "object",
+ "properties": {
+ "client_id": {
+ "type": "integer"
+ },
+ "file": {
+ "type": "string"
+ },
+ "latest_date": {
+ "type": "string"
+ },
+ "member_id": {
+ "type": "integer"
+ },
+ "remark": {
+ "type": "string"
+ }
+ }
+ },
"request.AddServiceFollowup": {
"type": "object",
"properties": {
@@ -6608,6 +6802,102 @@
"pos": {
"description": "鐢ㄦ埛宀椾綅",
"type": "string"
+ }
+ }
+ },
+ "request.Client": {
+ "type": "object",
+ "properties": {
+ "business_scope": {
+ "description": "缁忚惀鑼冨洿",
+ "type": "string"
+ },
+ "city_id": {
+ "type": "integer"
+ },
+ "client_level_id": {
+ "description": "瀹㈡埛绛夌骇ID",
+ "type": "integer"
+ },
+ "client_origin_id": {
+ "description": "瀹㈡埛鏉ユ簮ID",
+ "type": "integer"
+ },
+ "client_status_id": {
+ "description": "瀹㈡埛鐘舵�両D",
+ "type": "integer"
+ },
+ "client_type_id": {
+ "description": "瀹㈡埛绫诲瀷ID",
+ "type": "integer"
+ },
+ "contact": {
+ "$ref": "#/definitions/request.Contact"
+ },
+ "country_id": {
+ "type": "integer"
+ },
+ "detail_address": {
+ "description": "璇︾粏鍦板潃",
+ "type": "string"
+ },
+ "enterprise_nature_id": {
+ "description": "浼佷笟鎬ц川",
+ "type": "integer"
+ },
+ "enterprise_scale_id": {
+ "description": "浼佷笟瑙勬ā",
+ "type": "integer"
+ },
+ "industry_id": {
+ "description": "鎵�灞炶涓�",
+ "type": "integer"
+ },
+ "latest_service_time": {
+ "description": "鏈�鏅氭湇鍔℃椂闂�",
+ "type": "string"
+ },
+ "member_id": {
+ "description": "閿�鍞礋璐d汉ID",
+ "type": "integer"
+ },
+ "name": {
+ "description": "鍏徃鍚嶇О",
+ "type": "string"
+ },
+ "next_visit_time": {
+ "description": "涓嬫鍥炶鏃堕棿",
+ "type": "string"
+ },
+ "number": {
+ "description": "鍏徃缂栧彿",
+ "type": "string"
+ },
+ "province_id": {
+ "type": "integer"
+ },
+ "region_id": {
+ "type": "integer"
+ },
+ "registered_capital_id": {
+ "description": "娉ㄥ唽璧勯噾",
+ "type": "integer"
+ },
+ "registration_time": {
+ "description": "娉ㄥ唽鏃堕棿",
+ "type": "string"
+ },
+ "remark": {
+ "description": "澶囨敞",
+ "type": "string"
+ },
+ "representative": {
+ "description": "娉曚汉浠h〃",
+ "type": "string"
+ },
+ "service_member_id": {
+ "description": "鏈嶅姟璐熻矗浜篒D",
+ "type": "integer"
}
}
},
@@ -8089,6 +8379,32 @@
}
}
},
+ "request.UpdateServiceFeeManage": {
+ "type": "object",
+ "properties": {
+ "client": {
+ "$ref": "#/definitions/request.Client"
+ },
+ "client_id": {
+ "type": "integer"
+ },
+ "file": {
+ "type": "string"
+ },
+ "id": {
+ "type": "integer"
+ },
+ "latest_date": {
+ "type": "string"
+ },
+ "member_id": {
+ "type": "integer"
+ },
+ "remark": {
+ "type": "string"
+ }
+ }
+ },
"request.UpdateServiceFollowup": {
"type": "object",
"properties": {
@@ -8528,6 +8844,17 @@
}
}
},
+ "response.ServiceFeeManageResponse": {
+ "type": "object",
+ "properties": {
+ "list": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/model.ServiceFeeManage"
+ }
+ }
+ }
+ },
"response.ServiceFollowupResponse": {
"type": "object",
"properties": {
diff --git a/docs/swagger.json b/docs/swagger.json
index 9ec5ed2..7ced27c 100644
--- a/docs/swagger.json
+++ b/docs/swagger.json
@@ -3960,6 +3960,125 @@
}
}
},
+ "/api/serviceFeeManage/add": {
+ "post": {
+ "produces": [
+ "application/json"
+ ],
+ "tags": [
+ "ServiceFeeManage"
+ ],
+ "summary": "娣诲姞鏈嶅姟璐圭鐞�",
+ "parameters": [
+ {
+ "description": "鏌ヨ鍙傛暟",
+ "name": "object",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/request.AddServiceFeeManage"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/contextx.Response"
+ }
+ }
+ }
+ }
+ },
+ "/api/serviceFeeManage/delete/{id}": {
+ "delete": {
+ "produces": [
+ "application/json"
+ ],
+ "tags": [
+ "ServiceFeeManage"
+ ],
+ "summary": "鍒犻櫎鏈嶅姟璐圭鐞�",
+ "parameters": [
+ {
+ "type": "integer",
+ "description": "鏌ヨ鍙傛暟",
+ "name": "id",
+ "in": "path",
+ "required": true
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/contextx.Response"
+ }
+ }
+ }
+ }
+ },
+ "/api/serviceFeeManage/list": {
+ "get": {
+ "produces": [
+ "application/json"
+ ],
+ "tags": [
+ "ServiceFeeManage"
+ ],
+ "summary": "鏈嶅姟璐圭鐞嗗垪琛�",
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/contextx.Response"
+ },
+ {
+ "type": "object",
+ "properties": {
+ "data": {
+ "$ref": "#/definitions/response.ServiceFeeManageResponse"
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+ }
+ },
+ "/api/serviceFeeManage/update": {
+ "put": {
+ "produces": [
+ "application/json"
+ ],
+ "tags": [
+ "ServiceFeeManage"
+ ],
+ "summary": "鏇存柊鏈嶅姟璐圭鐞�",
+ "parameters": [
+ {
+ "description": "鏌ヨ鍙傛暟",
+ "name": "object",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/request.UpdateServiceFeeManage"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/contextx.Response"
+ }
+ }
+ }
+ }
+ },
"/api/serviceFollowup/add": {
"post": {
"produces": [
@@ -4996,6 +5115,32 @@
}
}
},
+ "model.CustomerServiceSheet": {
+ "type": "object",
+ "properties": {
+ "handleStatus": {
+ "type": "integer"
+ },
+ "id": {
+ "type": "integer"
+ },
+ "memberId": {
+ "type": "integer"
+ },
+ "number": {
+ "type": "string"
+ },
+ "priority": {
+ "type": "integer"
+ },
+ "serviceFollowupId": {
+ "type": "integer"
+ },
+ "serviceMode": {
+ "type": "integer"
+ }
+ }
+ },
"model.EnterpriseNature": {
"type": "object",
"properties": {
@@ -5647,6 +5792,32 @@
}
}
},
+ "model.ServiceFeeManage": {
+ "type": "object",
+ "properties": {
+ "client": {
+ "$ref": "#/definitions/model.Client"
+ },
+ "client_id": {
+ "type": "integer"
+ },
+ "file": {
+ "type": "string"
+ },
+ "id": {
+ "type": "integer"
+ },
+ "latest_date": {
+ "type": "string"
+ },
+ "member_id": {
+ "type": "integer"
+ },
+ "remark": {
+ "type": "string"
+ }
+ }
+ },
"model.ServiceFollowup": {
"type": "object",
"properties": {
@@ -5655,6 +5826,9 @@
},
"contactId": {
"type": "integer"
+ },
+ "customerServiceSheet": {
+ "$ref": "#/definitions/model.CustomerServiceSheet"
},
"file": {
"type": "string"
@@ -6494,6 +6668,26 @@
}
}
},
+ "request.AddServiceFeeManage": {
+ "type": "object",
+ "properties": {
+ "client_id": {
+ "type": "integer"
+ },
+ "file": {
+ "type": "string"
+ },
+ "latest_date": {
+ "type": "string"
+ },
+ "member_id": {
+ "type": "integer"
+ },
+ "remark": {
+ "type": "string"
+ }
+ }
+ },
"request.AddServiceFollowup": {
"type": "object",
"properties": {
@@ -6596,6 +6790,102 @@
"pos": {
"description": "鐢ㄦ埛宀椾綅",
"type": "string"
+ }
+ }
+ },
+ "request.Client": {
+ "type": "object",
+ "properties": {
+ "business_scope": {
+ "description": "缁忚惀鑼冨洿",
+ "type": "string"
+ },
+ "city_id": {
+ "type": "integer"
+ },
+ "client_level_id": {
+ "description": "瀹㈡埛绛夌骇ID",
+ "type": "integer"
+ },
+ "client_origin_id": {
+ "description": "瀹㈡埛鏉ユ簮ID",
+ "type": "integer"
+ },
+ "client_status_id": {
+ "description": "瀹㈡埛鐘舵�両D",
+ "type": "integer"
+ },
+ "client_type_id": {
+ "description": "瀹㈡埛绫诲瀷ID",
+ "type": "integer"
+ },
+ "contact": {
+ "$ref": "#/definitions/request.Contact"
+ },
+ "country_id": {
+ "type": "integer"
+ },
+ "detail_address": {
+ "description": "璇︾粏鍦板潃",
+ "type": "string"
+ },
+ "enterprise_nature_id": {
+ "description": "浼佷笟鎬ц川",
+ "type": "integer"
+ },
+ "enterprise_scale_id": {
+ "description": "浼佷笟瑙勬ā",
+ "type": "integer"
+ },
+ "industry_id": {
+ "description": "鎵�灞炶涓�",
+ "type": "integer"
+ },
+ "latest_service_time": {
+ "description": "鏈�鏅氭湇鍔℃椂闂�",
+ "type": "string"
+ },
+ "member_id": {
+ "description": "閿�鍞礋璐d汉ID",
+ "type": "integer"
+ },
+ "name": {
+ "description": "鍏徃鍚嶇О",
+ "type": "string"
+ },
+ "next_visit_time": {
+ "description": "涓嬫鍥炶鏃堕棿",
+ "type": "string"
+ },
+ "number": {
+ "description": "鍏徃缂栧彿",
+ "type": "string"
+ },
+ "province_id": {
+ "type": "integer"
+ },
+ "region_id": {
+ "type": "integer"
+ },
+ "registered_capital_id": {
+ "description": "娉ㄥ唽璧勯噾",
+ "type": "integer"
+ },
+ "registration_time": {
+ "description": "娉ㄥ唽鏃堕棿",
+ "type": "string"
+ },
+ "remark": {
+ "description": "澶囨敞",
+ "type": "string"
+ },
+ "representative": {
+ "description": "娉曚汉浠h〃",
+ "type": "string"
+ },
+ "service_member_id": {
+ "description": "鏈嶅姟璐熻矗浜篒D",
+ "type": "integer"
}
}
},
@@ -8077,6 +8367,32 @@
}
}
},
+ "request.UpdateServiceFeeManage": {
+ "type": "object",
+ "properties": {
+ "client": {
+ "$ref": "#/definitions/request.Client"
+ },
+ "client_id": {
+ "type": "integer"
+ },
+ "file": {
+ "type": "string"
+ },
+ "id": {
+ "type": "integer"
+ },
+ "latest_date": {
+ "type": "string"
+ },
+ "member_id": {
+ "type": "integer"
+ },
+ "remark": {
+ "type": "string"
+ }
+ }
+ },
"request.UpdateServiceFollowup": {
"type": "object",
"properties": {
@@ -8516,6 +8832,17 @@
}
}
},
+ "response.ServiceFeeManageResponse": {
+ "type": "object",
+ "properties": {
+ "list": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/model.ServiceFeeManage"
+ }
+ }
+ }
+ },
"response.ServiceFollowupResponse": {
"type": "object",
"properties": {
diff --git a/docs/swagger.yaml b/docs/swagger.yaml
index 3f09b42..1a9724c 100644
--- a/docs/swagger.yaml
+++ b/docs/swagger.yaml
@@ -296,6 +296,23 @@
$ref: '#/definitions/model.Province'
type: array
type: object
+ model.CustomerServiceSheet:
+ properties:
+ handleStatus:
+ type: integer
+ id:
+ type: integer
+ memberId:
+ type: integer
+ number:
+ type: string
+ priority:
+ type: integer
+ serviceFollowupId:
+ type: integer
+ serviceMode:
+ type: integer
+ type: object
model.EnterpriseNature:
properties:
id:
@@ -723,12 +740,31 @@
typeId:
type: integer
type: object
+ model.ServiceFeeManage:
+ properties:
+ client:
+ $ref: '#/definitions/model.Client'
+ client_id:
+ type: integer
+ file:
+ type: string
+ id:
+ type: integer
+ latest_date:
+ type: string
+ member_id:
+ type: integer
+ remark:
+ type: string
+ type: object
model.ServiceFollowup:
properties:
clientId:
type: integer
contactId:
type: integer
+ customerServiceSheet:
+ $ref: '#/definitions/model.CustomerServiceSheet'
file:
type: string
id:
@@ -1293,6 +1329,19 @@
typeId:
type: integer
type: object
+ request.AddServiceFeeManage:
+ properties:
+ client_id:
+ type: integer
+ file:
+ type: string
+ latest_date:
+ type: string
+ member_id:
+ type: integer
+ remark:
+ type: string
+ type: object
request.AddServiceFollowup:
properties:
clientId:
@@ -1363,6 +1412,76 @@
pos:
description: 鐢ㄦ埛宀椾綅
type: string
+ type: object
+ request.Client:
+ properties:
+ business_scope:
+ description: 缁忚惀鑼冨洿
+ type: string
+ city_id:
+ type: integer
+ client_level_id:
+ description: 瀹㈡埛绛夌骇ID
+ type: integer
+ client_origin_id:
+ description: 瀹㈡埛鏉ユ簮ID
+ type: integer
+ client_status_id:
+ description: 瀹㈡埛鐘舵�両D
+ type: integer
+ client_type_id:
+ description: 瀹㈡埛绫诲瀷ID
+ type: integer
+ contact:
+ $ref: '#/definitions/request.Contact'
+ country_id:
+ type: integer
+ detail_address:
+ description: 璇︾粏鍦板潃
+ type: string
+ enterprise_nature_id:
+ description: 浼佷笟鎬ц川
+ type: integer
+ enterprise_scale_id:
+ description: 浼佷笟瑙勬ā
+ type: integer
+ industry_id:
+ description: 鎵�灞炶涓�
+ type: integer
+ latest_service_time:
+ description: 鏈�鏅氭湇鍔℃椂闂�
+ type: string
+ member_id:
+ description: 閿�鍞礋璐d汉ID
+ type: integer
+ name:
+ description: 鍏徃鍚嶇О
+ type: string
+ next_visit_time:
+ description: 涓嬫鍥炶鏃堕棿
+ type: string
+ number:
+ description: 鍏徃缂栧彿
+ type: string
+ province_id:
+ type: integer
+ region_id:
+ type: integer
+ registered_capital_id:
+ description: 娉ㄥ唽璧勯噾
+ type: integer
+ registration_time:
+ description: 娉ㄥ唽鏃堕棿
+ type: string
+ remark:
+ description: 澶囨敞
+ type: string
+ representative:
+ description: 娉曚汉浠h〃
+ type: string
+ service_member_id:
+ description: 鏈嶅姟璐熻矗浜篒D
+ type: integer
type: object
request.Contact:
properties:
@@ -2363,6 +2482,23 @@
typeId:
type: integer
type: object
+ request.UpdateServiceFeeManage:
+ properties:
+ client:
+ $ref: '#/definitions/request.Client'
+ client_id:
+ type: integer
+ file:
+ type: string
+ id:
+ type: integer
+ latest_date:
+ type: string
+ member_id:
+ type: integer
+ remark:
+ type: string
+ type: object
request.UpdateServiceFollowup:
properties:
clientId:
@@ -2643,6 +2779,13 @@
list:
items:
$ref: '#/definitions/model.ServiceContract'
+ type: array
+ type: object
+ response.ServiceFeeManageResponse:
+ properties:
+ list:
+ items:
+ $ref: '#/definitions/model.ServiceFeeManage'
type: array
type: object
response.ServiceFollowupResponse:
@@ -5099,6 +5242,79 @@
summary: 鏇存柊鏈嶅姟鍚堝悓
tags:
- ServiceContract
+ /api/serviceFeeManage/add:
+ post:
+ parameters:
+ - description: 鏌ヨ鍙傛暟
+ in: body
+ name: object
+ required: true
+ schema:
+ $ref: '#/definitions/request.AddServiceFeeManage'
+ produces:
+ - application/json
+ responses:
+ "200":
+ description: OK
+ schema:
+ $ref: '#/definitions/contextx.Response'
+ summary: 娣诲姞鏈嶅姟璐圭鐞�
+ tags:
+ - ServiceFeeManage
+ /api/serviceFeeManage/delete/{id}:
+ delete:
+ parameters:
+ - description: 鏌ヨ鍙傛暟
+ in: path
+ name: id
+ required: true
+ type: integer
+ produces:
+ - application/json
+ responses:
+ "200":
+ description: OK
+ schema:
+ $ref: '#/definitions/contextx.Response'
+ summary: 鍒犻櫎鏈嶅姟璐圭鐞�
+ tags:
+ - ServiceFeeManage
+ /api/serviceFeeManage/list:
+ get:
+ produces:
+ - application/json
+ responses:
+ "200":
+ description: OK
+ schema:
+ allOf:
+ - $ref: '#/definitions/contextx.Response'
+ - properties:
+ data:
+ $ref: '#/definitions/response.ServiceFeeManageResponse'
+ type: object
+ summary: 鏈嶅姟璐圭鐞嗗垪琛�
+ tags:
+ - ServiceFeeManage
+ /api/serviceFeeManage/update:
+ put:
+ parameters:
+ - description: 鏌ヨ鍙傛暟
+ in: body
+ name: object
+ required: true
+ schema:
+ $ref: '#/definitions/request.UpdateServiceFeeManage'
+ produces:
+ - application/json
+ responses:
+ "200":
+ description: OK
+ schema:
+ $ref: '#/definitions/contextx.Response'
+ summary: 鏇存柊鏈嶅姟璐圭鐞�
+ tags:
+ - ServiceFeeManage
/api/serviceFollowup/add:
post:
parameters:
diff --git a/logs/aps-admin.err.log b/logs/aps-admin.err.log
index aba294a..8baf3e6 100644
--- a/logs/aps-admin.err.log
+++ b/logs/aps-admin.err.log
@@ -350,3 +350,14 @@
[2023-07-13 10:57:45] [error] [aps_crm/model.(*ServiceContractSearch).FindAll:80] trace {"error": ": unsupported relations for schema ServiceContract", "elapsed": 0.0011591, "rows": 2, "sql": "SELECT * FROM `service_contract`"}
[2023-07-13 14:11:03] [error] [aps_crm/model.(*ServiceFollowupSearch).Create:53] trace {"error": "Error 1146 (42S02): Table 'aps_crm.service_followup' doesn't exist", "elapsed": 0.0024191, "rows": 0, "sql": "INSERT INTO `service_followup` (`client_id`,`number`,`contact_id`,`service_id`,`member_id`,`plan_id`,`satisfaction`,`timely_rate`,`solve_rate`,`is_visit`,`old_member_id`,`remark`,`file`) VALUES (0,'HF21',0,0,110,0,0,0,0,0,0,'string','string')"}
[2023-07-13 15:00:16] [error] [aps_crm/model.(*CustomerServiceSheetSearch).Create:46] trace {"error": "Error 1146 (42S02): Table 'aps_crm.customer_service_sheet' doesn't exist", "elapsed": 0.0020622, "rows": 0, "sql": "INSERT INTO `customer_service_sheet` (`member_id`,`number`,`service_mode`,`priority`,`handle_status`,`created_at`,`updated_at`,`deleted_at`) VALUES (110,'HF30',0,0,0,'2023-07-13 15:00:16.507','2023-07-13 15:00:16.507',NULL)"}
+[2023-07-13 16:51:08] [error] [aps_crm/model.(*ServiceFeeManageSearch).Create:51] trace {"error": "Error 1146 (42S02): Table 'aps_crm.service_fee_manage' doesn't exist", "elapsed": 0.0153005, "rows": 0, "sql": "INSERT INTO `service_fee_manage` (`client_id`,`member_id`,`latest_date`,`remark`,`file`,`created_at`,`updated_at`,`deleted_at`) VALUES (11,11,'1970-01-01 08:00:00','string','string','2023-07-13 16:51:08.533','2023-07-13 16:51:08.533',NULL)"}
+[2023-07-13 17:00:44] [error] [aps_crm/model.(*ServiceFeeManageSearch).Update:56] trace {"error": "Error 1292 (22007): Incorrect datetime value: '0000-00-00' for column 'created_at' at row 1", "elapsed": 0.0027936, "rows": 0, "sql": "UPDATE `service_fee_manage` SET `id`=1,`client_id`=11,`member_id`=11,`latest_date`='1970-01-01 08:00:00',`remark`='string',`file`='string',`created_at`='0000-00-00 00:00:00',`updated_at`='2023-07-13 17:00:44.246',`deleted_at`=NULL WHERE id = 1 AND `service_fee_manage`.`deleted_at` IS NULL"}
+[2023-07-13 17:01:15] [error] [aps_crm/model.(*ServiceFeeManageSearch).Update:56] trace {"error": "Error 1292 (22007): Incorrect datetime value: '0000-00-00' for column 'created_at' at row 1", "elapsed": 0.0022256, "rows": 0, "sql": "UPDATE `service_fee_manage` SET `id`=1,`client_id`=11,`member_id`=11,`latest_date`='1970-01-01 08:00:00',`remark`='string',`file`='string',`created_at`='0000-00-00 00:00:00',`updated_at`='2023-07-13 17:01:15.183',`deleted_at`=NULL WHERE id = 1 AND `service_fee_manage`.`deleted_at` IS NULL"}
+[2023-07-13 17:08:23] [error] [aps_crm/model.(*ServiceFeeManageSearch).Update:56] trace {"error": "Error 1292 (22007): Incorrect datetime value: '0000-00-00' for column 'created_at' at row 1", "elapsed": 0.0017581, "rows": 0, "sql": "UPDATE `service_fee_manage` SET `id`=1,`client_id`=11,`member_id`=11,`latest_date`='1970-01-01 08:00:00',`remark`='string',`file`='string',`created_at`='0000-00-00 00:00:00',`updated_at`='2023-07-13 17:08:23.099',`deleted_at`=NULL WHERE id = 1 AND `service_fee_manage`.`deleted_at` IS NULL"}
+[2023-07-13 17:48:17] [error] [aps_crm/model.(*ClientSearch).Update:70] trace {"error": "Error 1292 (22007): Incorrect datetime value: '0000-00-00' for column 'registration_time' at row 1", "elapsed": 0.0058166, "rows": 0, "sql": "UPDATE `clients` SET `id`=11,`name`='string',`number`='string',`client_status_id`=1,`client_type_id`=0,`client_origin_id`=0,`client_level_id`=0,`member_id`=11,`service_member_id`=0,`detail_address`='string',`remark`='string',`next_visit_time`='1970-01-01 08:00:00',`latest_service_time`='1970-01-01 08:00:00',`country_id`=0,`province_id`=0,`city_id`=0,`region_id`=0,`representative`='',`registration_time`='0000-00-00 00:00:00',`registered_capital_id`=0,`industry_id`=0,`enterprise_nature_id`=0,`enterprise_scale_id`=0,`business_scope`='',`created_at`='0000-00-00 00:00:00',`updated_at`='2023-07-13 17:48:17.558',`deleted_at`=NULL WHERE id = 11 AND `clients`.`deleted_at` IS NULL"}
+[2023-07-13 17:51:09] [error] [aps_crm/model.(*ClientSearch).Update:70] trace {"error": "Error 1292 (22007): Incorrect datetime value: '0000-00-00' for column 'registration_time' at row 1", "elapsed": 0.0012249, "rows": 0, "sql": "UPDATE `clients` SET `id`=11,`name`='string',`number`='string',`client_status_id`=1,`client_type_id`=0,`client_origin_id`=0,`client_level_id`=0,`member_id`=11,`service_member_id`=0,`detail_address`='string',`remark`='string',`next_visit_time`='1970-01-01 08:00:00',`latest_service_time`='1970-01-01 08:00:00',`country_id`=0,`province_id`=0,`city_id`=0,`region_id`=0,`representative`='',`registration_time`='0000-00-00 00:00:00',`registered_capital_id`=0,`industry_id`=0,`enterprise_nature_id`=0,`enterprise_scale_id`=0,`business_scope`='',`created_at`='0000-00-00 00:00:00',`updated_at`='2023-07-13 17:51:09.321',`deleted_at`=NULL WHERE id = 11 AND `clients`.`deleted_at` IS NULL"}
+[2023-07-13 17:53:30] [error] [aps_crm/model.(*ClientSearch).Update:70] trace {"error": "Error 1292 (22007): Incorrect datetime value: '0000-00-00' for column 'registration_time' at row 1", "elapsed": 0.0027763, "rows": 0, "sql": "UPDATE `clients` SET `id`=11,`name`='string',`number`='string',`client_status_id`=1,`client_type_id`=0,`client_origin_id`=0,`client_level_id`=0,`member_id`=11,`service_member_id`=0,`detail_address`='string',`remark`='string',`next_visit_time`='1970-01-01 08:00:00',`latest_service_time`='1970-01-01 08:00:00',`country_id`=0,`province_id`=0,`city_id`=0,`region_id`=0,`representative`='',`registration_time`='0000-00-00 00:00:00',`registered_capital_id`=0,`industry_id`=0,`enterprise_nature_id`=0,`enterprise_scale_id`=0,`business_scope`='',`created_at`='0000-00-00 00:00:00',`updated_at`='2023-07-13 17:53:30.214',`deleted_at`=NULL WHERE id = 11 AND `clients`.`deleted_at` IS NULL"}
+[2023-07-13 17:58:57] [error] [aps_crm/model.(*ClientSearch).Update:70] trace {"error": "Error 1292 (22007): Incorrect datetime value: '0000-00-00' for column 'created_at' at row 1", "elapsed": 0.0033448, "rows": 0, "sql": "UPDATE `clients` SET `id`=11,`name`='string',`number`='string',`client_status_id`=1,`client_type_id`=0,`client_origin_id`=0,`client_level_id`=0,`member_id`=11,`service_member_id`=0,`detail_address`='string',`remark`='string',`next_visit_time`='1970-01-01 08:00:00',`latest_service_time`='1970-01-01 08:00:00',`country_id`=0,`province_id`=0,`city_id`=1,`region_id`=0,`representative`='string',`registration_time`='1970-01-01 08:00:00',`registered_capital_id`=0,`industry_id`=0,`enterprise_nature_id`=0,`enterprise_scale_id`=0,`business_scope`='string',`created_at`='0000-00-00 00:00:00',`updated_at`='2023-07-13 17:58:57.549',`deleted_at`=NULL WHERE id = 11 AND `clients`.`deleted_at` IS NULL"}
+[2023-07-13 17:59:36] [error] [aps_crm/model.(*ClientSearch).Update:70] trace {"error": "Error 1292 (22007): Incorrect datetime value: '0000-00-00' for column 'created_at' at row 1", "elapsed": 0.0011543, "rows": 0, "sql": "UPDATE `clients` SET `id`=11,`name`='string',`number`='string',`client_status_id`=1,`client_type_id`=0,`client_origin_id`=0,`client_level_id`=0,`member_id`=11,`service_member_id`=0,`detail_address`='string',`remark`='string',`next_visit_time`='1970-01-01 08:00:00',`latest_service_time`='1970-01-01 08:00:00',`country_id`=0,`province_id`=0,`city_id`=1,`region_id`=0,`representative`='string',`registration_time`='1970-01-01 08:00:00',`registered_capital_id`=0,`industry_id`=0,`enterprise_nature_id`=0,`enterprise_scale_id`=0,`business_scope`='string',`created_at`='0000-00-00 00:00:00',`updated_at`='2023-07-13 17:59:36.66',`deleted_at`=NULL WHERE id = 11 AND `clients`.`deleted_at` IS NULL"}
+[2023-07-13 18:01:19] [error] [aps_crm/model.(*ClientSearch).Update:70] trace {"error": "Error 1292 (22007): Incorrect datetime value: '0000-00-00' for column 'created_at' at row 1", "elapsed": 0.0013602, "rows": 0, "sql": "UPDATE `clients` SET `id`=11,`name`='string',`number`='string',`client_status_id`=1,`client_type_id`=0,`client_origin_id`=0,`client_level_id`=0,`member_id`=11,`service_member_id`=0,`detail_address`='string',`remark`='string',`next_visit_time`='1970-01-01 08:00:00',`latest_service_time`='1970-01-01 08:00:00',`country_id`=0,`province_id`=0,`city_id`=1,`region_id`=0,`representative`='string',`registration_time`='1970-01-01 08:00:00',`registered_capital_id`=0,`industry_id`=0,`enterprise_nature_id`=0,`enterprise_scale_id`=0,`business_scope`='string',`created_at`='0000-00-00 00:00:00',`updated_at`='2023-07-13 18:01:19.088',`deleted_at`=NULL WHERE id = 11 AND `clients`.`deleted_at` IS NULL"}
+[2023-07-13 18:01:58] [error] [aps_crm/model.(*ClientSearch).Update:70] trace {"error": "Error 1062 (23000): Duplicate entry 'string' for key 'name'", "elapsed": 0.0014261, "rows": 0, "sql": "UPDATE `clients` SET `id`=11,`name`='string',`number`='string',`client_status_id`=1,`member_id`=11,`detail_address`='string',`remark`='string',`next_visit_time`='1970-01-01 08:00:00',`latest_service_time`='1970-01-01 08:00:00',`city_id`=1,`representative`='string',`registration_time`='1970-01-01 08:00:00',`business_scope`='string',`updated_at`='2023-07-13 18:01:58.989' WHERE id = 11 AND `clients`.`deleted_at` IS NULL"}
diff --git a/model/client.go b/model/client.go
index 931337c..c9b994f 100644
--- a/model/client.go
+++ b/model/client.go
@@ -38,9 +38,13 @@
return "clients"
}
-func NewClientSearch() *ClientSearch {
+func NewClientSearch(db *gorm.DB) *ClientSearch {
+ if db == nil {
+ db = mysqlx.GetDB()
+ }
+
return &ClientSearch{
- Orm: mysqlx.GetDB(),
+ Orm: db,
}
}
@@ -63,7 +67,7 @@
func (slf *ClientSearch) Update(record *Client) error {
var db = slf.build()
- return db.Save(record).Error
+ return db.Updates(record).Error
}
func (slf *ClientSearch) Delete() error {
diff --git a/model/index.go b/model/index.go
index bedc358..e1495ff 100644
--- a/model/index.go
+++ b/model/index.go
@@ -59,6 +59,7 @@
OrderManage{},
ServiceFollowup{},
CustomerServiceSheet{},
+ ServiceFeeManage{},
)
return err
}
diff --git a/model/request/serviceFeeManage.go b/model/request/serviceFeeManage.go
new file mode 100644
index 0000000..2972640
--- /dev/null
+++ b/model/request/serviceFeeManage.go
@@ -0,0 +1,19 @@
+package request
+
+type AddServiceFeeManage struct {
+ ServiceFeeManage
+}
+
+type ServiceFeeManage struct {
+ ClientId int `json:"client_id"`
+ MemberId int `json:"member_id"`
+ LatestDate string `json:"latest_date"`
+ Remark string `json:"remark"`
+ File string `json:"file"`
+}
+
+type UpdateServiceFeeManage struct {
+ Id int `json:"id"`
+ Client Client `json:"client"`
+ ServiceFeeManage
+}
diff --git a/model/response/response.go b/model/response/response.go
index 0665063..b22ccdf 100644
--- a/model/response/response.go
+++ b/model/response/response.go
@@ -169,4 +169,8 @@
CustomerServiceSheetResponse struct {
List []*model.CustomerServiceSheet `json:"list"`
}
+
+ ServiceFeeManageResponse struct {
+ List []*model.ServiceFeeManage `json:"list"`
+ }
)
diff --git a/model/serviceFeeManage.go b/model/serviceFeeManage.go
new file mode 100644
index 0000000..5905d04
--- /dev/null
+++ b/model/serviceFeeManage.go
@@ -0,0 +1,85 @@
+package model
+
+import (
+ "aps_crm/pkg/mysqlx"
+ "gorm.io/gorm"
+ "time"
+)
+
+type (
+ ServiceFeeManage struct {
+ Id int `json:"id" gorm:"column:id;primaryKey;autoIncrement;not null"`
+ ClientId int `json:"client_id" gorm:"column:client_id;type:int(11);comment:瀹㈡埛ID"`
+ Client *Client `json:"client" gorm:"foreignKey:ClientId"`
+ MemberId int `json:"member_id" gorm:"column:member_id;type:int(11);comment:鍛樺伐ID"`
+ LatestDate time.Time `json:"latest_date" gorm:"column:latest_date;type:datetime;comment:鏈�鏅氭湇鍔℃椂闂�"`
+ Remark string `json:"remark" gorm:"column:remark;type:varchar(255);comment:澶囨敞"`
+ File string `json:"file" gorm:"column:file;type:varchar(255);comment:鏂囦欢"`
+ gorm.Model `json:"-"`
+ }
+
+ ServiceFeeManageSearch struct {
+ ServiceFeeManage
+ Orm *gorm.DB
+ }
+)
+
+func (ServiceFeeManage) TableName() string {
+ return "service_fee_manage"
+}
+
+func NewServiceFeeManageSearch(db *gorm.DB) *ServiceFeeManageSearch {
+ if db == nil {
+ db = mysqlx.GetDB()
+ }
+
+ return &ServiceFeeManageSearch{
+ Orm: db,
+ }
+}
+
+func (slf *ServiceFeeManageSearch) build() *gorm.DB {
+ var db = slf.Orm.Model(&ServiceFeeManage{})
+ if slf.Id != 0 {
+ db.Where("id = ?", slf.Id)
+ }
+ if slf.ClientId != 0 {
+ db.Where("client_id = ?", slf.ClientId)
+ }
+
+ return db
+}
+
+func (slf *ServiceFeeManageSearch) Create(record *ServiceFeeManage) error {
+ var db = slf.build()
+ return db.Create(record).Error
+}
+
+func (slf *ServiceFeeManageSearch) Update(record *ServiceFeeManage) error {
+ var db = slf.build()
+ return db.Updates(record).Error
+}
+
+func (slf *ServiceFeeManageSearch) Delete() error {
+ var db = slf.build()
+ return db.Delete(&ServiceFeeManage{}).Error
+}
+
+func (slf *ServiceFeeManageSearch) SetId(id int) *ServiceFeeManageSearch {
+ slf.Id = id
+ return slf
+}
+
+func (slf *ServiceFeeManageSearch) Find() (*ServiceFeeManage, error) {
+ var db = slf.build()
+ var record = new(ServiceFeeManage)
+ err := db.First(record).Error
+ return record, err
+}
+
+func (slf *ServiceFeeManageSearch) FindAll() ([]*ServiceFeeManage, error) {
+ var db = slf.build()
+ var records = make([]*ServiceFeeManage, 0)
+ err := db.Find(&records).Error
+ return records, err
+}
diff --git a/pkg/ecode/code.go b/pkg/ecode/code.go
index a62d3a9..f6ebb8a 100644
--- a/pkg/ecode/code.go
+++ b/pkg/ecode/code.go
@@ -260,4 +260,12 @@
CustomerServiceSheetSetErr = 3600004 // 璁剧疆瀹㈡湇鍗曞け璐�
CustomerServiceSheetUpdateErr = 3600005 // 鏇存柊瀹㈡湇鍗曞け璐�
CustomerServiceSheetDeleteErr = 3600006 // 鍒犻櫎瀹㈡湇鍗曞け璐�
+
+ ServiceFeeManageExist = 3700001 // 鏈嶅姟璐圭鐞嗗凡瀛樺湪
+ ServiceFeeManageNotExist = 3700002 // 鏈嶅姟璐圭鐞嗕笉瀛樺湪
+ ServiceFeeManageListErr = 3700003 // 鑾峰彇鏈嶅姟璐圭鐞嗗垪琛ㄥけ璐�
+ ServiceFeeManageSetErr = 3700004 // 璁剧疆鏈嶅姟璐圭鐞嗗け璐�
+ ServiceFeeManageUpdateErr = 3700005 // 鏇存柊鏈嶅姟璐圭鐞嗗け璐�
+ ServiceFeeManageDeleteErr = 3700006 // 鍒犻櫎鏈嶅姟璐圭鐞嗗け璐�
+
)
diff --git a/router/index.go b/router/index.go
index f0fe7b7..f4bf5a5 100644
--- a/router/index.go
+++ b/router/index.go
@@ -49,6 +49,7 @@
OrderManageRouter
ServiceFollowupRouter
CustomerServiceSheetRouter
+ ServiceFeeManageRouter
}
func InitRouter() *gin.Engine {
@@ -115,6 +116,7 @@
routerGroup.InitOrderManageRouter(PrivateGroup) // 娉ㄥ唽orderManage璺敱
routerGroup.InitServiceFollowupRouter(PrivateGroup) // 娉ㄥ唽serviceFollowup璺敱
routerGroup.InitCustomerServiceSheetRouter(PrivateGroup) // 娉ㄥ唽customerServiceSheet璺敱
+ routerGroup.InitServiceFeeManageRouter(PrivateGroup) // 娉ㄥ唽serviceFeeManage璺敱
}
return Router
}
diff --git a/router/serviceFeeManage.go b/router/serviceFeeManage.go
new file mode 100644
index 0000000..92fd410
--- /dev/null
+++ b/router/serviceFeeManage.go
@@ -0,0 +1,19 @@
+package router
+
+import (
+ v1 "aps_crm/api/v1"
+ "github.com/gin-gonic/gin"
+)
+
+type ServiceFeeManageRouter struct{}
+
+func (s *ServiceFeeManageRouter) InitServiceFeeManageRouter(router *gin.RouterGroup) {
+ serviceFeeManageRouter := router.Group("serviceFeeManage")
+ serviceFeeManageApi := v1.ApiGroup.ServiceFeeManageApi
+ {
+ serviceFeeManageRouter.POST("add", serviceFeeManageApi.Add) // 娣诲姞鏈嶅姟璐圭鐞�
+ serviceFeeManageRouter.DELETE("delete/:id", serviceFeeManageApi.Delete) // 鍒犻櫎鏈嶅姟璐圭鐞�
+ serviceFeeManageRouter.PUT("update", serviceFeeManageApi.Update) // 鏇存柊鏈嶅姟璐圭鐞�
+ serviceFeeManageRouter.GET("list", serviceFeeManageApi.List) // 鑾峰彇鏈嶅姟璐圭鐞嗗垪琛�
+ }
+}
diff --git a/service/client.go b/service/client.go
index 8ec562a..260ef66 100644
--- a/service/client.go
+++ b/service/client.go
@@ -8,7 +8,7 @@
type ClientService struct{}
func (ClientService) AddClient(client *model.Client) int {
- err := model.NewClientSearch().Create(client)
+ err := model.NewClientSearch(nil).Create(client)
if err != nil {
return ecode.ClientExist
}
@@ -17,13 +17,13 @@
func (ClientService) DeleteClient(id int) int {
// check client exist
- _, err := model.NewClientSearch().SetId(id).First()
+ _, err := model.NewClientSearch(nil).SetId(id).First()
if err != nil {
return ecode.ClientNotExist
}
// delete client
- err = model.NewClientSearch().SetId(id).Delete()
+ err = model.NewClientSearch(nil).SetId(id).Delete()
if err != nil {
return ecode.ClientDeleteErr
}
@@ -32,7 +32,7 @@
func (ClientService) GetClientList() (int, []*model.Client) {
// get client list
- clients, err := model.NewClientSearch().Find()
+ clients, err := model.NewClientSearch(nil).Find()
if err != nil {
return ecode.ClientListErr, nil
}
@@ -42,7 +42,7 @@
// CheckClientExist check client exist
func CheckClientExist(id int) int {
- _, err := model.NewClientSearch().SetId(id).First()
+ _, err := model.NewClientSearch(nil).SetId(id).First()
if err != nil {
return ecode.ClientNotExist
}
@@ -58,7 +58,7 @@
}
// update client
- err := model.NewClientSearch().SetId(client.Id).Update(client)
+ err := model.NewClientSearch(nil).SetId(client.Id).Update(client)
if err != nil {
return ecode.ClientUpdateErr
}
diff --git a/service/index.go b/service/index.go
index 4c2e03e..bd133db 100644
--- a/service/index.go
+++ b/service/index.go
@@ -38,6 +38,7 @@
OrderManageService
FollowupService
CustomerServiceSheetService
+ FeeManageService
}
var ServiceGroup = new(Group)
diff --git a/service/serviceFeeManage.go b/service/serviceFeeManage.go
new file mode 100644
index 0000000..a52e8c6
--- /dev/null
+++ b/service/serviceFeeManage.go
@@ -0,0 +1,66 @@
+package service
+
+import (
+ "aps_crm/model"
+ "aps_crm/pkg/ecode"
+)
+
+type FeeManageService struct{}
+
+func (FeeManageService) AddServiceFeeManage(serviceFeeManage *model.ServiceFeeManage) int {
+ err := model.NewServiceFeeManageSearch(nil).Create(serviceFeeManage)
+ if err != nil {
+ return ecode.ServiceFeeManageExist
+ }
+
+ return ecode.OK
+}
+
+func (FeeManageService) DeleteServiceFeeManage(id int) int {
+ _, err := model.NewServiceFeeManageSearch(nil).SetId(id).Find()
+ if err != nil {
+ return ecode.ServiceFeeManageNotExist
+ }
+
+ err = model.NewServiceFeeManageSearch(nil).SetId(id).Delete()
+ if err != nil {
+ return ecode.ServiceFeeManageNotExist
+ }
+ return ecode.OK
+}
+
+func (FeeManageService) GetServiceFeeManageList() ([]*model.ServiceFeeManage, int) {
+ list, err := model.NewServiceFeeManageSearch(nil).FindAll()
+ if err != nil {
+ return nil, ecode.ServiceFeeManageListErr
+ }
+
+ return list, ecode.OK
+}
+
+func (FeeManageService) UpdateServiceFeeManage(serviceFeeManage *model.ServiceFeeManage) int {
+ // check serviceFeeManage exist
+ _, err := model.NewServiceFeeManageSearch(nil).SetId(serviceFeeManage.Id).Find()
+ if err != nil {
+ return ecode.ServiceFeeManageNotExist
+ }
+
+ tx := model.NewContactSearch().Orm.Begin()
+
+ err = model.NewServiceFeeManageSearch(tx).SetId(serviceFeeManage.Id).Update(serviceFeeManage)
+ if err != nil {
+ tx.Rollback()
+ return ecode.ServiceFeeManageSetErr
+ }
+
+ // update client
+ err = model.NewClientSearch(tx).SetId(serviceFeeManage.ClientId).Update(serviceFeeManage.Client)
+ if err != nil {
+ tx.Rollback()
+ return ecode.ClientUpdateErr
+ }
+
+ tx.Commit()
+
+ return ecode.OK
+}
--
Gitblit v1.8.0