From 54f4078e9462871995cf4b241df217b18cdd6e08 Mon Sep 17 00:00:00 2001
From: wangpengfei <274878379@qq.com>
Date: 星期五, 21 七月 2023 11:01:34 +0800
Subject: [PATCH] add
---
api/v1/index.go | 4
service/dataServer.go | 7
api/v1/reportSource.go | 113 +++++++
router/reportSource.go | 20 +
pkg/ecode/code.go | 9
docs/swagger.yaml | 126 ++++++++
docs/docs.go | 196 ++++++++++++
docs/swagger.json | 196 ++++++++++++
model/response/response.go | 10
model/serviceFollowup.go | 1
service/reportSource.go | 69 ++++
service/index.go | 3
model/request/reportSource.go | 15 +
model/index.go | 1
router/index.go | 4
api/v1/orderManage.go | 8
model/reportSource.go | 85 +++++
17 files changed, 844 insertions(+), 23 deletions(-)
diff --git a/api/v1/index.go b/api/v1/index.go
index 0378ded..885e94f 100644
--- a/api/v1/index.go
+++ b/api/v1/index.go
@@ -5,6 +5,7 @@
)
type Group struct {
+ ReportSourceApi
IsVisitApi
SolveRateApi
TimelyRateApi
@@ -106,4 +107,5 @@
timelyRateService = service.ServiceGroup.TimelyRateService
solveRateService = service.ServiceGroup.SolveRateService
isVisitService = service.ServiceGroup.IsVisitService
-)
+ reportSourceService = service.ServiceGroup.ReportSourceService
+)
\ No newline at end of file
diff --git a/api/v1/orderManage.go b/api/v1/orderManage.go
index 8f5856a..a295dfc 100644
--- a/api/v1/orderManage.go
+++ b/api/v1/orderManage.go
@@ -15,7 +15,7 @@
// Add
//
// @Tags OrderManage
-// @Summary 娣诲姞璁㈠崟
+// @Summary 娣诲姞宸ュ崟
// @Produce application/json
// @Param object body request.AddOrderManage true "鏌ヨ鍙傛暟"
// @Success 200 {object} contextx.Response{}
@@ -45,7 +45,7 @@
// Delete
//
// @Tags OrderManage
-// @Summary 鍒犻櫎璁㈠崟
+// @Summary 鍒犻櫎宸ュ崟
// @Produce application/json
// @Param id path int true "鏌ヨ鍙傛暟"
// @Success 200 {object} contextx.Response{}
@@ -69,7 +69,7 @@
// Update
//
// @Tags OrderManage
-// @Summary 鏇存柊璁㈠崟
+// @Summary 鏇存柊宸ュ崟
// @Produce application/json
// @Param object body request.UpdateOrderManage true "鏌ヨ鍙傛暟"
// @Success 200 {object} contextx.Response{}
@@ -101,7 +101,7 @@
// List
//
// @Tags OrderManage
-// @Summary 璁㈠崟鍒楄〃
+// @Summary 宸ュ崟鍒楄〃
// @Produce application/json
// @Success 200 {object} contextx.Response{}
// @Router /api/orderManage/list [get]
diff --git a/api/v1/reportSource.go b/api/v1/reportSource.go
new file mode 100644
index 0000000..c691e2d
--- /dev/null
+++ b/api/v1/reportSource.go
@@ -0,0 +1,113 @@
+
+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 ReportSourceApi struct{}
+
+// Add
+//
+// @Tags ReportSource
+// @Summary 娣诲姞鎶ヨ〃鏉ユ簮
+// @Produce application/json
+// @Param object body request.AddReportSource true "鏌ヨ鍙傛暟"
+// @Success 200 {object} contextx.Response{}
+// @Router /api/reportSource/add [post]
+func (s *ReportSourceApi) Add(c *gin.Context) {
+ var params request.AddReportSource
+ ctx, ok := contextx.NewContext(c, ¶ms)
+ if !ok {
+ return
+ }
+
+ reportSource := new(model.ReportSource)
+ reportSource.Name = params.Name
+
+ errCode := reportSourceService.AddReportSource(reportSource)
+ if errCode != ecode.OK {
+ ctx.Fail(errCode)
+ return
+ }
+
+ ctx.Ok()
+}
+
+// Delete
+//
+// @Tags ReportSource
+// @Summary 鍒犻櫎鎶ヨ〃鏉ユ簮
+// @Produce application/json
+// @Param id path int true "鏌ヨ鍙傛暟"
+// @Success 200 {object} contextx.Response{}
+// @Router /api/reportSource/delete/{id} [delete]
+func (s *ReportSourceApi) Delete(c *gin.Context) {
+ ctx, ok := contextx.NewContext(c, nil)
+ if !ok {
+ return
+ }
+
+ id, _ := strconv.Atoi(c.Param("id"))
+ errCode := reportSourceService.DeleteReportSource(id)
+ if errCode != ecode.OK {
+ ctx.Fail(errCode)
+ return
+ }
+
+ ctx.Ok()
+}
+
+// Update
+//
+// @Tags ReportSource
+// @Summary 鏇存柊鎶ヨ〃鏉ユ簮
+// @Produce application/json
+// @Param object body request.UpdateReportSources true "鏌ヨ鍙傛暟"
+// @Success 200 {object} contextx.Response{}
+// @Router /api/reportSource/update [put]
+func (s *ReportSourceApi) Update(c *gin.Context) {
+ var params request.UpdateReportSources
+ ctx, ok := contextx.NewContext(c, ¶ms)
+ if !ok {
+ return
+ }
+
+ errCode := reportSourceService.UpdateReportSource(params.ReportSources)
+ if errCode != ecode.OK {
+ ctx.Fail(errCode)
+ return
+ }
+
+ ctx.Ok()
+}
+
+// List
+//
+// @Tags ReportSource
+// @Summary 鑾峰彇鎶ヨ〃鏉ユ簮鍒楄〃
+// @Produce application/json
+// @Success 200 {object} contextx.Response{data=response.ReportSourceResponse}
+// @Router /api/reportSource/list [get]
+func (s *ReportSourceApi) List(c *gin.Context) {
+ ctx, ok := contextx.NewContext(c, nil)
+ if !ok {
+ return
+ }
+
+ reportSources, errCode := reportSourceService.GetReportSourceList()
+ if errCode != ecode.OK {
+ ctx.Fail(errCode)
+ return
+ }
+
+ ctx.OkWithDetailed(response.ReportSourceResponse{
+ List: reportSources,
+ })
+}
diff --git a/docs/docs.go b/docs/docs.go
index 0cb0f32..351d582 100644
--- a/docs/docs.go
+++ b/docs/docs.go
@@ -2331,7 +2331,7 @@
"tags": [
"OrderManage"
],
- "summary": "娣诲姞璁㈠崟",
+ "summary": "娣诲姞宸ュ崟",
"parameters": [
{
"description": "鏌ヨ鍙傛暟",
@@ -2361,7 +2361,7 @@
"tags": [
"OrderManage"
],
- "summary": "鍒犻櫎璁㈠崟",
+ "summary": "鍒犻櫎宸ュ崟",
"parameters": [
{
"type": "integer",
@@ -2389,7 +2389,7 @@
"tags": [
"OrderManage"
],
- "summary": "璁㈠崟鍒楄〃",
+ "summary": "宸ュ崟鍒楄〃",
"responses": {
"200": {
"description": "OK",
@@ -2408,7 +2408,7 @@
"tags": [
"OrderManage"
],
- "summary": "鏇存柊璁㈠崟",
+ "summary": "鏇存柊宸ュ崟",
"parameters": [
{
"description": "鏌ヨ鍙傛暟",
@@ -3316,6 +3316,125 @@
"required": true,
"schema": {
"$ref": "#/definitions/request.UpdateRegularCustomersList"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/contextx.Response"
+ }
+ }
+ }
+ }
+ },
+ "/api/reportSource/add": {
+ "post": {
+ "produces": [
+ "application/json"
+ ],
+ "tags": [
+ "ReportSource"
+ ],
+ "summary": "娣诲姞鎶ヨ〃鏉ユ簮",
+ "parameters": [
+ {
+ "description": "鏌ヨ鍙傛暟",
+ "name": "object",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/request.AddReportSource"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/contextx.Response"
+ }
+ }
+ }
+ }
+ },
+ "/api/reportSource/delete/{id}": {
+ "delete": {
+ "produces": [
+ "application/json"
+ ],
+ "tags": [
+ "ReportSource"
+ ],
+ "summary": "鍒犻櫎鎶ヨ〃鏉ユ簮",
+ "parameters": [
+ {
+ "type": "integer",
+ "description": "鏌ヨ鍙傛暟",
+ "name": "id",
+ "in": "path",
+ "required": true
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/contextx.Response"
+ }
+ }
+ }
+ }
+ },
+ "/api/reportSource/list": {
+ "get": {
+ "produces": [
+ "application/json"
+ ],
+ "tags": [
+ "ReportSource"
+ ],
+ "summary": "鑾峰彇鎶ヨ〃鏉ユ簮鍒楄〃",
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/contextx.Response"
+ },
+ {
+ "type": "object",
+ "properties": {
+ "data": {
+ "$ref": "#/definitions/response.ReportSourceResponse"
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+ }
+ },
+ "/api/reportSource/update": {
+ "put": {
+ "produces": [
+ "application/json"
+ ],
+ "tags": [
+ "ReportSource"
+ ],
+ "summary": "鏇存柊鎶ヨ〃鏉ユ簮",
+ "parameters": [
+ {
+ "description": "鏌ヨ鍙傛暟",
+ "name": "object",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/request.UpdateReportSources"
}
}
],
@@ -6342,6 +6461,17 @@
}
}
},
+ "model.ReportSource": {
+ "type": "object",
+ "properties": {
+ "id": {
+ "type": "integer"
+ },
+ "name": {
+ "type": "string"
+ }
+ }
+ },
"model.SaleChance": {
"type": "object",
"properties": {
@@ -7421,6 +7551,17 @@
}
},
"request.AddRegularCustomers": {
+ "type": "object",
+ "required": [
+ "name"
+ ],
+ "properties": {
+ "name": {
+ "type": "string"
+ }
+ }
+ },
+ "request.AddReportSource": {
"type": "object",
"required": [
"name"
@@ -9180,6 +9321,35 @@
}
}
},
+ "request.UpdateReportSource": {
+ "type": "object",
+ "required": [
+ "id",
+ "name"
+ ],
+ "properties": {
+ "id": {
+ "type": "integer"
+ },
+ "name": {
+ "type": "string"
+ }
+ }
+ },
+ "request.UpdateReportSources": {
+ "type": "object",
+ "required": [
+ "report_source"
+ ],
+ "properties": {
+ "report_source": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/request.UpdateReportSource"
+ }
+ }
+ }
+ },
"request.UpdateSaleChance": {
"type": "object",
"required": [
@@ -10024,6 +10194,13 @@
"$ref": "#/definitions/model.RegularCustomers"
}
},
+ "reportSource": {
+ "description": "鎶ヨ〃鏉ユ簮",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/model.ReportSource"
+ }
+ },
"sale_stage": {
"description": "閿�鍞樁娈�",
"type": "array",
@@ -10251,6 +10428,17 @@
}
}
},
+ "response.ReportSourceResponse": {
+ "type": "object",
+ "properties": {
+ "list": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/model.ReportSource"
+ }
+ }
+ }
+ },
"response.SaleChanceResponse": {
"type": "object",
"properties": {
diff --git a/docs/swagger.json b/docs/swagger.json
index 92f5a6d..708e402 100644
--- a/docs/swagger.json
+++ b/docs/swagger.json
@@ -2319,7 +2319,7 @@
"tags": [
"OrderManage"
],
- "summary": "娣诲姞璁㈠崟",
+ "summary": "娣诲姞宸ュ崟",
"parameters": [
{
"description": "鏌ヨ鍙傛暟",
@@ -2349,7 +2349,7 @@
"tags": [
"OrderManage"
],
- "summary": "鍒犻櫎璁㈠崟",
+ "summary": "鍒犻櫎宸ュ崟",
"parameters": [
{
"type": "integer",
@@ -2377,7 +2377,7 @@
"tags": [
"OrderManage"
],
- "summary": "璁㈠崟鍒楄〃",
+ "summary": "宸ュ崟鍒楄〃",
"responses": {
"200": {
"description": "OK",
@@ -2396,7 +2396,7 @@
"tags": [
"OrderManage"
],
- "summary": "鏇存柊璁㈠崟",
+ "summary": "鏇存柊宸ュ崟",
"parameters": [
{
"description": "鏌ヨ鍙傛暟",
@@ -3304,6 +3304,125 @@
"required": true,
"schema": {
"$ref": "#/definitions/request.UpdateRegularCustomersList"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/contextx.Response"
+ }
+ }
+ }
+ }
+ },
+ "/api/reportSource/add": {
+ "post": {
+ "produces": [
+ "application/json"
+ ],
+ "tags": [
+ "ReportSource"
+ ],
+ "summary": "娣诲姞鎶ヨ〃鏉ユ簮",
+ "parameters": [
+ {
+ "description": "鏌ヨ鍙傛暟",
+ "name": "object",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/request.AddReportSource"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/contextx.Response"
+ }
+ }
+ }
+ }
+ },
+ "/api/reportSource/delete/{id}": {
+ "delete": {
+ "produces": [
+ "application/json"
+ ],
+ "tags": [
+ "ReportSource"
+ ],
+ "summary": "鍒犻櫎鎶ヨ〃鏉ユ簮",
+ "parameters": [
+ {
+ "type": "integer",
+ "description": "鏌ヨ鍙傛暟",
+ "name": "id",
+ "in": "path",
+ "required": true
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/contextx.Response"
+ }
+ }
+ }
+ }
+ },
+ "/api/reportSource/list": {
+ "get": {
+ "produces": [
+ "application/json"
+ ],
+ "tags": [
+ "ReportSource"
+ ],
+ "summary": "鑾峰彇鎶ヨ〃鏉ユ簮鍒楄〃",
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/contextx.Response"
+ },
+ {
+ "type": "object",
+ "properties": {
+ "data": {
+ "$ref": "#/definitions/response.ReportSourceResponse"
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+ }
+ },
+ "/api/reportSource/update": {
+ "put": {
+ "produces": [
+ "application/json"
+ ],
+ "tags": [
+ "ReportSource"
+ ],
+ "summary": "鏇存柊鎶ヨ〃鏉ユ簮",
+ "parameters": [
+ {
+ "description": "鏌ヨ鍙傛暟",
+ "name": "object",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/request.UpdateReportSources"
}
}
],
@@ -6330,6 +6449,17 @@
}
}
},
+ "model.ReportSource": {
+ "type": "object",
+ "properties": {
+ "id": {
+ "type": "integer"
+ },
+ "name": {
+ "type": "string"
+ }
+ }
+ },
"model.SaleChance": {
"type": "object",
"properties": {
@@ -7409,6 +7539,17 @@
}
},
"request.AddRegularCustomers": {
+ "type": "object",
+ "required": [
+ "name"
+ ],
+ "properties": {
+ "name": {
+ "type": "string"
+ }
+ }
+ },
+ "request.AddReportSource": {
"type": "object",
"required": [
"name"
@@ -9168,6 +9309,35 @@
}
}
},
+ "request.UpdateReportSource": {
+ "type": "object",
+ "required": [
+ "id",
+ "name"
+ ],
+ "properties": {
+ "id": {
+ "type": "integer"
+ },
+ "name": {
+ "type": "string"
+ }
+ }
+ },
+ "request.UpdateReportSources": {
+ "type": "object",
+ "required": [
+ "report_source"
+ ],
+ "properties": {
+ "report_source": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/request.UpdateReportSource"
+ }
+ }
+ }
+ },
"request.UpdateSaleChance": {
"type": "object",
"required": [
@@ -10012,6 +10182,13 @@
"$ref": "#/definitions/model.RegularCustomers"
}
},
+ "reportSource": {
+ "description": "鎶ヨ〃鏉ユ簮",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/model.ReportSource"
+ }
+ },
"sale_stage": {
"description": "閿�鍞樁娈�",
"type": "array",
@@ -10239,6 +10416,17 @@
}
}
},
+ "response.ReportSourceResponse": {
+ "type": "object",
+ "properties": {
+ "list": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/model.ReportSource"
+ }
+ }
+ }
+ },
"response.SaleChanceResponse": {
"type": "object",
"properties": {
diff --git a/docs/swagger.yaml b/docs/swagger.yaml
index 34747d8..4040537 100644
--- a/docs/swagger.yaml
+++ b/docs/swagger.yaml
@@ -558,6 +558,13 @@
name:
type: string
type: object
+ model.ReportSource:
+ properties:
+ id:
+ type: integer
+ name:
+ type: string
+ type: object
model.SaleChance:
properties:
advantages:
@@ -1278,6 +1285,13 @@
- name
type: object
request.AddRegularCustomers:
+ properties:
+ name:
+ type: string
+ required:
+ - name
+ type: object
+ request.AddReportSource:
properties:
name:
type: string
@@ -2469,6 +2483,25 @@
required:
- regularCustomers
type: object
+ request.UpdateReportSource:
+ properties:
+ id:
+ type: integer
+ name:
+ type: string
+ required:
+ - id
+ - name
+ type: object
+ request.UpdateReportSources:
+ properties:
+ report_source:
+ items:
+ $ref: '#/definitions/request.UpdateReportSource'
+ type: array
+ required:
+ - report_source
+ type: object
request.UpdateSaleChance:
properties:
advantages:
@@ -3037,6 +3070,11 @@
items:
$ref: '#/definitions/model.RegularCustomers'
type: array
+ reportSource:
+ description: 鎶ヨ〃鏉ユ簮
+ items:
+ $ref: '#/definitions/model.ReportSource'
+ type: array
sale_stage:
description: 閿�鍞樁娈�
items:
@@ -3183,6 +3221,13 @@
list:
items:
$ref: '#/definitions/model.RegularCustomers'
+ type: array
+ type: object
+ response.ReportSourceResponse:
+ properties:
+ list:
+ items:
+ $ref: '#/definitions/model.ReportSource'
type: array
type: object
response.SaleChanceResponse:
@@ -4721,7 +4766,7 @@
description: OK
schema:
$ref: '#/definitions/contextx.Response'
- summary: 娣诲姞璁㈠崟
+ summary: 娣诲姞宸ュ崟
tags:
- OrderManage
/api/orderManage/delete/{id}:
@@ -4739,7 +4784,7 @@
description: OK
schema:
$ref: '#/definitions/contextx.Response'
- summary: 鍒犻櫎璁㈠崟
+ summary: 鍒犻櫎宸ュ崟
tags:
- OrderManage
/api/orderManage/list:
@@ -4751,7 +4796,7 @@
description: OK
schema:
$ref: '#/definitions/contextx.Response'
- summary: 璁㈠崟鍒楄〃
+ summary: 宸ュ崟鍒楄〃
tags:
- OrderManage
/api/orderManage/update:
@@ -4770,7 +4815,7 @@
description: OK
schema:
$ref: '#/definitions/contextx.Response'
- summary: 鏇存柊璁㈠崟
+ summary: 鏇存柊宸ュ崟
tags:
- OrderManage
/api/plan/add:
@@ -5329,6 +5374,79 @@
summary: 鏇存柊甯稿
tags:
- RegularCustomers
+ /api/reportSource/add:
+ post:
+ parameters:
+ - description: 鏌ヨ鍙傛暟
+ in: body
+ name: object
+ required: true
+ schema:
+ $ref: '#/definitions/request.AddReportSource'
+ produces:
+ - application/json
+ responses:
+ "200":
+ description: OK
+ schema:
+ $ref: '#/definitions/contextx.Response'
+ summary: 娣诲姞鎶ヨ〃鏉ユ簮
+ tags:
+ - ReportSource
+ /api/reportSource/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:
+ - ReportSource
+ /api/reportSource/list:
+ get:
+ produces:
+ - application/json
+ responses:
+ "200":
+ description: OK
+ schema:
+ allOf:
+ - $ref: '#/definitions/contextx.Response'
+ - properties:
+ data:
+ $ref: '#/definitions/response.ReportSourceResponse'
+ type: object
+ summary: 鑾峰彇鎶ヨ〃鏉ユ簮鍒楄〃
+ tags:
+ - ReportSource
+ /api/reportSource/update:
+ put:
+ parameters:
+ - description: 鏌ヨ鍙傛暟
+ in: body
+ name: object
+ required: true
+ schema:
+ $ref: '#/definitions/request.UpdateReportSources'
+ produces:
+ - application/json
+ responses:
+ "200":
+ description: OK
+ schema:
+ $ref: '#/definitions/contextx.Response'
+ summary: 鏇存柊鎶ヨ〃鏉ユ簮
+ tags:
+ - ReportSource
/api/saleChance/add:
post:
parameters:
diff --git a/model/index.go b/model/index.go
index c955be5..83e3377 100644
--- a/model/index.go
+++ b/model/index.go
@@ -68,6 +68,7 @@
SolveRate{},
IsVisit{},
IsVisit{},
+ ReportSource{},
)
return err
}
\ No newline at end of file
diff --git a/model/reportSource.go b/model/reportSource.go
new file mode 100644
index 0000000..5a4e15f
--- /dev/null
+++ b/model/reportSource.go
@@ -0,0 +1,85 @@
+package model
+
+import (
+ "aps_crm/pkg/mysqlx"
+ "gorm.io/gorm"
+)
+
+type (
+ // ReportSource 鍟嗘満闃舵
+ ReportSource struct {
+ Id int `json:"id" gorm:"column:id;primary_key;AUTO_INCREMENT"`
+ Name string `json:"name" gorm:"column:name;type:varchar(255);comment:鍟嗘満闃舵鍚嶇О"`
+ }
+
+ ReportSourceSearch struct {
+ ReportSource
+ Orm *gorm.DB
+ }
+)
+
+func (ReportSource) TableName() string {
+ return "report_source"
+}
+
+func NewReportSourceSearch() *ReportSourceSearch {
+ return &ReportSourceSearch{
+ Orm: mysqlx.GetDB(),
+ }
+}
+
+func (slf *ReportSourceSearch) build() *gorm.DB {
+ var db = slf.Orm.Model(&ReportSource{})
+ if slf.Id != 0 {
+ db = db.Where("id = ?", slf.Id)
+ }
+ if slf.Name != "" {
+ db = db.Where("name = ?", slf.Name)
+ }
+
+ return db
+}
+
+func (slf *ReportSourceSearch) Create(record *ReportSource) error {
+ var db = slf.build()
+ return db.Create(record).Error
+}
+
+func (slf *ReportSourceSearch) Delete() error {
+ var db = slf.build()
+ return db.Delete(&ReportSource{}).Error
+}
+
+func (slf *ReportSourceSearch) Update(record *ReportSource) error {
+ var db = slf.build()
+ return db.Updates(record).Error
+}
+
+func (slf *ReportSourceSearch) Find() (*ReportSource, error) {
+ var db = slf.build()
+ var record = new(ReportSource)
+ err := db.First(record).Error
+ return record, err
+}
+
+func (slf *ReportSourceSearch) FindAll() ([]*ReportSource, error) {
+ var db = slf.build()
+ var records = make([]*ReportSource, 0)
+ err := db.Find(&records).Error
+ return records, err
+}
+
+func (slf *ReportSourceSearch) SetId(id int) *ReportSourceSearch {
+ slf.Id = id
+ return slf
+}
+
+func (slf *ReportSourceSearch) SetName(name string) *ReportSourceSearch {
+ slf.Name = name
+ return slf
+}
+
+func (slf *ReportSourceSearch) Updates(data map[string]interface{}) error {
+ var db = slf.build()
+ return db.Updates(data).Error
+}
diff --git a/model/request/reportSource.go b/model/request/reportSource.go
new file mode 100644
index 0000000..9ebce95
--- /dev/null
+++ b/model/request/reportSource.go
@@ -0,0 +1,15 @@
+
+package request
+
+type AddReportSource struct {
+ Name string ` json:"name" binding:"required"`
+}
+
+type UpdateReportSource struct {
+ Id int `json:"id" binding:"required"`
+ Name string `json:"name" binding:"required"`
+}
+
+type UpdateReportSources struct {
+ ReportSources []*UpdateReportSource `json:"report_source" binding:"required"`
+}
diff --git a/model/response/response.go b/model/response/response.go
index 138e921..1831323 100644
--- a/model/response/response.go
+++ b/model/response/response.go
@@ -180,6 +180,10 @@
DataResponse struct {
+ // 鎶ヨ〃鏉ユ簮
+ ReportSource []*model.ReportSource `json:"reportSource"`
+
+
// 鏈嶅姟浜哄憳鏄惁鏉ヨ繃
IsVisit []*model.IsVisit `json:"isVisit"`
@@ -246,4 +250,8 @@
IsVisitResponse struct {
List []*model.IsVisit `json:"list"`
}
-)
+
+ ReportSourceResponse struct {
+ List []*model.ReportSource `json:"list"`
+ }
+)
\ No newline at end of file
diff --git a/model/serviceFollowup.go b/model/serviceFollowup.go
index c534dcf..6a3fc37 100644
--- a/model/serviceFollowup.go
+++ b/model/serviceFollowup.go
@@ -85,7 +85,6 @@
return slf
}
-// 鍙婃椂鐜� 瑙e喅鐜� 婊℃剰搴� 鏈嶅姟浜哄憳鏄惁鏉ヨ繃 锛堟湇鍔″洖璁垮崟锛�
// 宸ュ崟绫诲瀷 鎶ヤ慨鏉ユ簮锛堝伐鍗曠鐞嗭級
// 鍚堝悓绫诲瀷 鍚堝悓鐘舵�侊紙鏈嶅姟鍚堝悓锛�
// 浠樻鏂瑰紡 鏄惁寮�绁� 璐︽埛锛堥攢鍞��娆惧崟锛�
diff --git a/pkg/ecode/code.go b/pkg/ecode/code.go
index b6c7fc9..a59546c 100644
--- a/pkg/ecode/code.go
+++ b/pkg/ecode/code.go
@@ -316,4 +316,11 @@
IsVisitSetErr = 4500004 // 璁剧疆鏈嶅姟浜哄憳鏄惁鏉ヨ繃澶辫触
IsVisitUpdateErr = 4500005 // 鏇存柊鏈嶅姟浜哄憳鏄惁鏉ヨ繃澶辫触
-)
+
+ ReportSourceExist = 4400001 // 鎶ヨ〃鏉ユ簮宸插瓨鍦�
+ ReportSourceNotExist = 4400002 // 鎶ヨ〃鏉ユ簮涓嶅瓨鍦�
+ ReportSourceListErr = 4400003 // 鑾峰彇鎶ヨ〃鏉ユ簮鍒楄〃澶辫触
+ ReportSourceSetErr = 4400004 // 璁剧疆鎶ヨ〃鏉ユ簮澶辫触
+ ReportSourceUpdateErr = 4400005 // 鏇存柊鎶ヨ〃鏉ユ簮澶辫触
+
+)
\ No newline at end of file
diff --git a/router/index.go b/router/index.go
index 8a603b8..34d7365 100644
--- a/router/index.go
+++ b/router/index.go
@@ -11,6 +11,7 @@
)
type Group struct {
+ ReportSourceRouter
IsVisitRouter
SolveRateRouter
TimelyRateRouter
@@ -135,6 +136,7 @@
routerGroup.InitTimelyRateRouter(PrivateGroup)
routerGroup.InitSolveRateRouter(PrivateGroup)
routerGroup.InitIsVisitRouter(PrivateGroup)
+ routerGroup.InitReportSourceRouter(PrivateGroup)
}
return Router
-}
+}
\ No newline at end of file
diff --git a/router/reportSource.go b/router/reportSource.go
new file mode 100644
index 0000000..2ef698e
--- /dev/null
+++ b/router/reportSource.go
@@ -0,0 +1,20 @@
+
+package router
+
+import (
+ v1 "aps_crm/api/v1"
+ "github.com/gin-gonic/gin"
+)
+
+type ReportSourceRouter struct{}
+
+func (s *ReportSourceRouter) InitReportSourceRouter(router *gin.RouterGroup) {
+ reportSourceRouter := router.Group("reportSource")
+ reportSourceApi := v1.ApiGroup.ReportSourceApi
+ {
+ reportSourceRouter.POST("add", reportSourceApi.Add) // 娣诲姞$CName$
+ reportSourceRouter.DELETE("delete/:id", reportSourceApi.Delete) // 鍒犻櫎$CName$
+ reportSourceRouter.PUT("update", reportSourceApi.Update) // 鏇存柊$CName$
+ reportSourceRouter.GET("list", reportSourceApi.List) // 鑾峰彇$CName$鍒楄〃
+ }
+}
\ No newline at end of file
diff --git a/service/dataServer.go b/service/dataServer.go
index d9af969..9043420 100644
--- a/service/dataServer.go
+++ b/service/dataServer.go
@@ -96,7 +96,12 @@
isVisitList, _ := ServiceGroup.GetIsVisitList()
data.IsVisit = isVisitList
+ // get ReportSource list
+ reportSourceList, _ := ServiceGroup.GetReportSourceList()
+ data.ReportSource = reportSourceList
+
+
errCode = ecode.OK
return
-}
+}
\ No newline at end of file
diff --git a/service/index.go b/service/index.go
index e8c2d4f..45468dc 100644
--- a/service/index.go
+++ b/service/index.go
@@ -49,6 +49,7 @@
TimelyRateService
SolveRateService
IsVisitService
+ ReportSourceService
}
-var ServiceGroup = new(Group)
+var ServiceGroup = new(Group)
\ No newline at end of file
diff --git a/service/reportSource.go b/service/reportSource.go
new file mode 100644
index 0000000..ccec0aa
--- /dev/null
+++ b/service/reportSource.go
@@ -0,0 +1,69 @@
+
+package service
+
+import (
+ "aps_crm/model"
+ "aps_crm/model/request"
+ "aps_crm/pkg/ecode"
+)
+
+type ReportSourceService struct{}
+
+func (ReportSourceService) AddReportSource(reportSource *model.ReportSource) int {
+ err := model.NewReportSourceSearch().Create(reportSource)
+ if err != nil {
+ return ecode.ReportSourceExist
+ }
+
+ return ecode.OK
+}
+
+func (ReportSourceService) DeleteReportSource(id int) int {
+ _, err := model.NewReportSourceSearch().SetId(id).Find()
+ if err != nil {
+ return ecode.ReportSourceNotExist
+ }
+
+ err = model.NewReportSourceSearch().SetId(id).Delete()
+ if err != nil {
+ return ecode.ReportSourceNotExist
+ }
+ return ecode.OK
+}
+
+func (ReportSourceService) GetReportSourceList() ([]*model.ReportSource, int) {
+ list, err := model.NewReportSourceSearch().FindAll()
+ if err != nil {
+ return nil, ecode.ReportSourceListErr
+ }
+
+ return list, ecode.OK
+}
+
+func (ReportSourceService) UpdateReportSource(reportSources []*request.UpdateReportSource) int {
+ for _, v := range reportSources {
+ // check reportSource exist
+ _, err := model.NewReportSourceSearch().SetId(v.Id).Find()
+ if err != nil {
+ return ecode.ReportSourceNotExist
+ }
+
+ err = model.NewReportSourceSearch().SetId(v.Id).Updates(map[string]interface{}{
+ "name": v.Name,
+ })
+ if err != nil {
+ return ecode.ReportSourceSetErr
+ }
+ }
+
+ return ecode.OK
+}
+
+func (ReportSourceService) GetReportSourceDetail(id int) (*model.ReportSource, int) {
+ reportSource, err := model.NewReportSourceSearch().SetId(id).Find()
+ if err != nil {
+ return nil, ecode.ReportSourceNotExist
+ }
+
+ return reportSource, ecode.OK
+}
--
Gitblit v1.8.0