From 6c3cafb8e134685137c8a37f123f6aee18d63006 Mon Sep 17 00:00:00 2001
From: wangpengfei <274878379@qq.com>
Date: 星期五, 21 七月 2023 11:06:05 +0800
Subject: [PATCH] add
---
api/v1/index.go | 2
api/v1/orderType.go | 113 ++++++++
model/request/orderType.go | 15 +
service/dataServer.go | 5
router/orderType.go | 20 +
pkg/ecode/code.go | 17
docs/swagger.yaml | 118 ++++++++
docs/docs.go | 188 +++++++++++++
docs/swagger.json | 188 +++++++++++++
model/response/response.go | 8
service/index.go | 1
model/orderType.go | 85 ++++++
service/orderType.go | 69 ++++
model/index.go | 1
router/index.go | 2
15 files changed, 826 insertions(+), 6 deletions(-)
diff --git a/api/v1/index.go b/api/v1/index.go
index 885e94f..a2f82eb 100644
--- a/api/v1/index.go
+++ b/api/v1/index.go
@@ -5,6 +5,7 @@
)
type Group struct {
+ OrderTypeApi
ReportSourceApi
IsVisitApi
SolveRateApi
@@ -108,4 +109,5 @@
solveRateService = service.ServiceGroup.SolveRateService
isVisitService = service.ServiceGroup.IsVisitService
reportSourceService = service.ServiceGroup.ReportSourceService
+ orderTypeService = service.ServiceGroup.OrderTypeService
)
\ No newline at end of file
diff --git a/api/v1/orderType.go b/api/v1/orderType.go
new file mode 100644
index 0000000..657482f
--- /dev/null
+++ b/api/v1/orderType.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 OrderTypeApi struct{}
+
+// Add
+//
+// @Tags OrderType
+// @Summary 娣诲姞宸ュ崟绫诲瀷
+// @Produce application/json
+// @Param object body request.AddOrderType true "鏌ヨ鍙傛暟"
+// @Success 200 {object} contextx.Response{}
+// @Router /api/orderType/add [post]
+func (s *OrderTypeApi) Add(c *gin.Context) {
+ var params request.AddOrderType
+ ctx, ok := contextx.NewContext(c, ¶ms)
+ if !ok {
+ return
+ }
+
+ orderType := new(model.OrderType)
+ orderType.Name = params.Name
+
+ errCode := orderTypeService.AddOrderType(orderType)
+ if errCode != ecode.OK {
+ ctx.Fail(errCode)
+ return
+ }
+
+ ctx.Ok()
+}
+
+// Delete
+//
+// @Tags OrderType
+// @Summary 鍒犻櫎宸ュ崟绫诲瀷
+// @Produce application/json
+// @Param id path int true "鏌ヨ鍙傛暟"
+// @Success 200 {object} contextx.Response{}
+// @Router /api/orderType/delete/{id} [delete]
+func (s *OrderTypeApi) Delete(c *gin.Context) {
+ ctx, ok := contextx.NewContext(c, nil)
+ if !ok {
+ return
+ }
+
+ id, _ := strconv.Atoi(c.Param("id"))
+ errCode := orderTypeService.DeleteOrderType(id)
+ if errCode != ecode.OK {
+ ctx.Fail(errCode)
+ return
+ }
+
+ ctx.Ok()
+}
+
+// Update
+//
+// @Tags OrderType
+// @Summary 鏇存柊宸ュ崟绫诲瀷
+// @Produce application/json
+// @Param object body request.UpdateOrderTypes true "鏌ヨ鍙傛暟"
+// @Success 200 {object} contextx.Response{}
+// @Router /api/orderType/update [put]
+func (s *OrderTypeApi) Update(c *gin.Context) {
+ var params request.UpdateOrderTypes
+ ctx, ok := contextx.NewContext(c, ¶ms)
+ if !ok {
+ return
+ }
+
+ errCode := orderTypeService.UpdateOrderType(params.OrderTypes)
+ if errCode != ecode.OK {
+ ctx.Fail(errCode)
+ return
+ }
+
+ ctx.Ok()
+}
+
+// List
+//
+// @Tags OrderType
+// @Summary 鑾峰彇宸ュ崟绫诲瀷鍒楄〃
+// @Produce application/json
+// @Success 200 {object} contextx.Response{data=response.OrderTypeResponse}
+// @Router /api/orderType/list [get]
+func (s *OrderTypeApi) List(c *gin.Context) {
+ ctx, ok := contextx.NewContext(c, nil)
+ if !ok {
+ return
+ }
+
+ orderTypes, errCode := orderTypeService.GetOrderTypeList()
+ if errCode != ecode.OK {
+ ctx.Fail(errCode)
+ return
+ }
+
+ ctx.OkWithDetailed(response.OrderTypeResponse{
+ List: orderTypes,
+ })
+}
diff --git a/docs/docs.go b/docs/docs.go
index 351d582..c4b1657 100644
--- a/docs/docs.go
+++ b/docs/docs.go
@@ -2430,6 +2430,125 @@
}
}
},
+ "/api/orderType/add": {
+ "post": {
+ "produces": [
+ "application/json"
+ ],
+ "tags": [
+ "OrderType"
+ ],
+ "summary": "娣诲姞宸ュ崟绫诲瀷",
+ "parameters": [
+ {
+ "description": "鏌ヨ鍙傛暟",
+ "name": "object",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/request.AddOrderType"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/contextx.Response"
+ }
+ }
+ }
+ }
+ },
+ "/api/orderType/delete/{id}": {
+ "delete": {
+ "produces": [
+ "application/json"
+ ],
+ "tags": [
+ "OrderType"
+ ],
+ "summary": "鍒犻櫎宸ュ崟绫诲瀷",
+ "parameters": [
+ {
+ "type": "integer",
+ "description": "鏌ヨ鍙傛暟",
+ "name": "id",
+ "in": "path",
+ "required": true
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/contextx.Response"
+ }
+ }
+ }
+ }
+ },
+ "/api/orderType/list": {
+ "get": {
+ "produces": [
+ "application/json"
+ ],
+ "tags": [
+ "OrderType"
+ ],
+ "summary": "鑾峰彇宸ュ崟绫诲瀷鍒楄〃",
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/contextx.Response"
+ },
+ {
+ "type": "object",
+ "properties": {
+ "data": {
+ "$ref": "#/definitions/response.OrderTypeResponse"
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+ }
+ },
+ "/api/orderType/update": {
+ "put": {
+ "produces": [
+ "application/json"
+ ],
+ "tags": [
+ "OrderType"
+ ],
+ "summary": "鏇存柊宸ュ崟绫诲瀷",
+ "parameters": [
+ {
+ "description": "鏌ヨ鍙傛暟",
+ "name": "object",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/request.UpdateOrderTypes"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/contextx.Response"
+ }
+ }
+ }
+ }
+ },
"/api/plan/add": {
"post": {
"produces": [
@@ -6289,6 +6408,17 @@
}
}
},
+ "model.OrderType": {
+ "type": "object",
+ "properties": {
+ "id": {
+ "type": "integer"
+ },
+ "name": {
+ "type": "string"
+ }
+ }
+ },
"model.Plan": {
"type": "object",
"properties": {
@@ -7467,6 +7597,17 @@
},
"sourceSheet": {
"type": "integer"
+ }
+ }
+ },
+ "request.AddOrderType": {
+ "type": "object",
+ "required": [
+ "name"
+ ],
+ "properties": {
+ "name": {
+ "type": "string"
}
}
},
@@ -9141,6 +9282,35 @@
}
}
},
+ "request.UpdateOrderType": {
+ "type": "object",
+ "required": [
+ "id",
+ "name"
+ ],
+ "properties": {
+ "id": {
+ "type": "integer"
+ },
+ "name": {
+ "type": "string"
+ }
+ }
+ },
+ "request.UpdateOrderTypes": {
+ "type": "object",
+ "required": [
+ "order_type"
+ ],
+ "properties": {
+ "order_type": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/request.UpdateOrderType"
+ }
+ }
+ }
+ },
"request.UpdatePlan": {
"type": "object",
"properties": {
@@ -10166,6 +10336,13 @@
"$ref": "#/definitions/model.User"
}
},
+ "orderType": {
+ "description": "宸ュ崟绫诲瀷",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/model.OrderType"
+ }
+ },
"province": {
"description": "鐪佷唤鏁版嵁",
"type": "array",
@@ -10347,6 +10524,17 @@
}
}
},
+ "response.OrderTypeResponse": {
+ "type": "object",
+ "properties": {
+ "list": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/model.OrderType"
+ }
+ }
+ }
+ },
"response.PageResult": {
"type": "object",
"properties": {
diff --git a/docs/swagger.json b/docs/swagger.json
index 708e402..8775d73 100644
--- a/docs/swagger.json
+++ b/docs/swagger.json
@@ -2418,6 +2418,125 @@
}
}
},
+ "/api/orderType/add": {
+ "post": {
+ "produces": [
+ "application/json"
+ ],
+ "tags": [
+ "OrderType"
+ ],
+ "summary": "娣诲姞宸ュ崟绫诲瀷",
+ "parameters": [
+ {
+ "description": "鏌ヨ鍙傛暟",
+ "name": "object",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/request.AddOrderType"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/contextx.Response"
+ }
+ }
+ }
+ }
+ },
+ "/api/orderType/delete/{id}": {
+ "delete": {
+ "produces": [
+ "application/json"
+ ],
+ "tags": [
+ "OrderType"
+ ],
+ "summary": "鍒犻櫎宸ュ崟绫诲瀷",
+ "parameters": [
+ {
+ "type": "integer",
+ "description": "鏌ヨ鍙傛暟",
+ "name": "id",
+ "in": "path",
+ "required": true
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/contextx.Response"
+ }
+ }
+ }
+ }
+ },
+ "/api/orderType/list": {
+ "get": {
+ "produces": [
+ "application/json"
+ ],
+ "tags": [
+ "OrderType"
+ ],
+ "summary": "鑾峰彇宸ュ崟绫诲瀷鍒楄〃",
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/contextx.Response"
+ },
+ {
+ "type": "object",
+ "properties": {
+ "data": {
+ "$ref": "#/definitions/response.OrderTypeResponse"
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+ }
+ },
+ "/api/orderType/update": {
+ "put": {
+ "produces": [
+ "application/json"
+ ],
+ "tags": [
+ "OrderType"
+ ],
+ "summary": "鏇存柊宸ュ崟绫诲瀷",
+ "parameters": [
+ {
+ "description": "鏌ヨ鍙傛暟",
+ "name": "object",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/request.UpdateOrderTypes"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/contextx.Response"
+ }
+ }
+ }
+ }
+ },
"/api/plan/add": {
"post": {
"produces": [
@@ -6277,6 +6396,17 @@
}
}
},
+ "model.OrderType": {
+ "type": "object",
+ "properties": {
+ "id": {
+ "type": "integer"
+ },
+ "name": {
+ "type": "string"
+ }
+ }
+ },
"model.Plan": {
"type": "object",
"properties": {
@@ -7455,6 +7585,17 @@
},
"sourceSheet": {
"type": "integer"
+ }
+ }
+ },
+ "request.AddOrderType": {
+ "type": "object",
+ "required": [
+ "name"
+ ],
+ "properties": {
+ "name": {
+ "type": "string"
}
}
},
@@ -9129,6 +9270,35 @@
}
}
},
+ "request.UpdateOrderType": {
+ "type": "object",
+ "required": [
+ "id",
+ "name"
+ ],
+ "properties": {
+ "id": {
+ "type": "integer"
+ },
+ "name": {
+ "type": "string"
+ }
+ }
+ },
+ "request.UpdateOrderTypes": {
+ "type": "object",
+ "required": [
+ "order_type"
+ ],
+ "properties": {
+ "order_type": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/request.UpdateOrderType"
+ }
+ }
+ }
+ },
"request.UpdatePlan": {
"type": "object",
"properties": {
@@ -10154,6 +10324,13 @@
"$ref": "#/definitions/model.User"
}
},
+ "orderType": {
+ "description": "宸ュ崟绫诲瀷",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/model.OrderType"
+ }
+ },
"province": {
"description": "鐪佷唤鏁版嵁",
"type": "array",
@@ -10335,6 +10512,17 @@
}
}
},
+ "response.OrderTypeResponse": {
+ "type": "object",
+ "properties": {
+ "list": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/model.OrderType"
+ }
+ }
+ }
+ },
"response.PageResult": {
"type": "object",
"properties": {
diff --git a/docs/swagger.yaml b/docs/swagger.yaml
index 4040537..44987a4 100644
--- a/docs/swagger.yaml
+++ b/docs/swagger.yaml
@@ -446,6 +446,13 @@
title:
type: string
type: object
+ model.OrderType:
+ properties:
+ id:
+ type: integer
+ name:
+ type: string
+ type: object
model.Plan:
properties:
clientId:
@@ -1231,6 +1238,13 @@
type: integer
sourceSheet:
type: integer
+ type: object
+ request.AddOrderType:
+ properties:
+ name:
+ type: string
+ required:
+ - name
type: object
request.AddPlan:
properties:
@@ -2364,6 +2378,25 @@
sourceSheet:
type: integer
type: object
+ request.UpdateOrderType:
+ properties:
+ id:
+ type: integer
+ name:
+ type: string
+ required:
+ - id
+ - name
+ type: object
+ request.UpdateOrderTypes:
+ properties:
+ order_type:
+ items:
+ $ref: '#/definitions/request.UpdateOrderType'
+ type: array
+ required:
+ - order_type
+ type: object
request.UpdatePlan:
properties:
id:
@@ -3050,6 +3083,11 @@
items:
$ref: '#/definitions/model.User'
type: array
+ orderType:
+ description: 宸ュ崟绫诲瀷
+ items:
+ $ref: '#/definitions/model.OrderType'
+ type: array
province:
description: 鐪佷唤鏁版嵁
items:
@@ -3169,6 +3207,13 @@
list:
items:
$ref: '#/definitions/model.Menu'
+ type: array
+ type: object
+ response.OrderTypeResponse:
+ properties:
+ list:
+ items:
+ $ref: '#/definitions/model.OrderType'
type: array
type: object
response.PageResult:
@@ -4818,6 +4863,79 @@
summary: 鏇存柊宸ュ崟
tags:
- OrderManage
+ /api/orderType/add:
+ post:
+ parameters:
+ - description: 鏌ヨ鍙傛暟
+ in: body
+ name: object
+ required: true
+ schema:
+ $ref: '#/definitions/request.AddOrderType'
+ produces:
+ - application/json
+ responses:
+ "200":
+ description: OK
+ schema:
+ $ref: '#/definitions/contextx.Response'
+ summary: 娣诲姞宸ュ崟绫诲瀷
+ tags:
+ - OrderType
+ /api/orderType/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:
+ - OrderType
+ /api/orderType/list:
+ get:
+ produces:
+ - application/json
+ responses:
+ "200":
+ description: OK
+ schema:
+ allOf:
+ - $ref: '#/definitions/contextx.Response'
+ - properties:
+ data:
+ $ref: '#/definitions/response.OrderTypeResponse'
+ type: object
+ summary: 鑾峰彇宸ュ崟绫诲瀷鍒楄〃
+ tags:
+ - OrderType
+ /api/orderType/update:
+ put:
+ parameters:
+ - description: 鏌ヨ鍙傛暟
+ in: body
+ name: object
+ required: true
+ schema:
+ $ref: '#/definitions/request.UpdateOrderTypes'
+ produces:
+ - application/json
+ responses:
+ "200":
+ description: OK
+ schema:
+ $ref: '#/definitions/contextx.Response'
+ summary: 鏇存柊宸ュ崟绫诲瀷
+ tags:
+ - OrderType
/api/plan/add:
post:
parameters:
diff --git a/model/index.go b/model/index.go
index 83e3377..bb92b2e 100644
--- a/model/index.go
+++ b/model/index.go
@@ -69,6 +69,7 @@
IsVisit{},
IsVisit{},
ReportSource{},
+ OrderType{},
)
return err
}
\ No newline at end of file
diff --git a/model/orderType.go b/model/orderType.go
new file mode 100644
index 0000000..1dd56d2
--- /dev/null
+++ b/model/orderType.go
@@ -0,0 +1,85 @@
+package model
+
+import (
+ "aps_crm/pkg/mysqlx"
+ "gorm.io/gorm"
+)
+
+type (
+ // OrderType 鍟嗘満闃舵
+ OrderType struct {
+ Id int `json:"id" gorm:"column:id;primary_key;AUTO_INCREMENT"`
+ Name string `json:"name" gorm:"column:name;type:varchar(255);comment:鍟嗘満闃舵鍚嶇О"`
+ }
+
+ OrderTypeSearch struct {
+ OrderType
+ Orm *gorm.DB
+ }
+)
+
+func (OrderType) TableName() string {
+ return "order_type"
+}
+
+func NewOrderTypeSearch() *OrderTypeSearch {
+ return &OrderTypeSearch{
+ Orm: mysqlx.GetDB(),
+ }
+}
+
+func (slf *OrderTypeSearch) build() *gorm.DB {
+ var db = slf.Orm.Model(&OrderType{})
+ if slf.Id != 0 {
+ db = db.Where("id = ?", slf.Id)
+ }
+ if slf.Name != "" {
+ db = db.Where("name = ?", slf.Name)
+ }
+
+ return db
+}
+
+func (slf *OrderTypeSearch) Create(record *OrderType) error {
+ var db = slf.build()
+ return db.Create(record).Error
+}
+
+func (slf *OrderTypeSearch) Delete() error {
+ var db = slf.build()
+ return db.Delete(&OrderType{}).Error
+}
+
+func (slf *OrderTypeSearch) Update(record *OrderType) error {
+ var db = slf.build()
+ return db.Updates(record).Error
+}
+
+func (slf *OrderTypeSearch) Find() (*OrderType, error) {
+ var db = slf.build()
+ var record = new(OrderType)
+ err := db.First(record).Error
+ return record, err
+}
+
+func (slf *OrderTypeSearch) FindAll() ([]*OrderType, error) {
+ var db = slf.build()
+ var records = make([]*OrderType, 0)
+ err := db.Find(&records).Error
+ return records, err
+}
+
+func (slf *OrderTypeSearch) SetId(id int) *OrderTypeSearch {
+ slf.Id = id
+ return slf
+}
+
+func (slf *OrderTypeSearch) SetName(name string) *OrderTypeSearch {
+ slf.Name = name
+ return slf
+}
+
+func (slf *OrderTypeSearch) Updates(data map[string]interface{}) error {
+ var db = slf.build()
+ return db.Updates(data).Error
+}
diff --git a/model/request/orderType.go b/model/request/orderType.go
new file mode 100644
index 0000000..418c383
--- /dev/null
+++ b/model/request/orderType.go
@@ -0,0 +1,15 @@
+
+package request
+
+type AddOrderType struct {
+ Name string ` json:"name" binding:"required"`
+}
+
+type UpdateOrderType struct {
+ Id int `json:"id" binding:"required"`
+ Name string `json:"name" binding:"required"`
+}
+
+type UpdateOrderTypes struct {
+ OrderTypes []*UpdateOrderType `json:"order_type" binding:"required"`
+}
diff --git a/model/response/response.go b/model/response/response.go
index 1831323..d24bd16 100644
--- a/model/response/response.go
+++ b/model/response/response.go
@@ -180,6 +180,10 @@
DataResponse struct {
+ // 宸ュ崟绫诲瀷
+ OrderType []*model.OrderType `json:"orderType"`
+
+
// 鎶ヨ〃鏉ユ簮
ReportSource []*model.ReportSource `json:"reportSource"`
@@ -254,4 +258,8 @@
ReportSourceResponse struct {
List []*model.ReportSource `json:"list"`
}
+
+ OrderTypeResponse struct {
+ List []*model.OrderType `json:"list"`
+ }
)
\ No newline at end of file
diff --git a/pkg/ecode/code.go b/pkg/ecode/code.go
index a59546c..a8ac5d0 100644
--- a/pkg/ecode/code.go
+++ b/pkg/ecode/code.go
@@ -316,11 +316,16 @@
IsVisitSetErr = 4500004 // 璁剧疆鏈嶅姟浜哄憳鏄惁鏉ヨ繃澶辫触
IsVisitUpdateErr = 4500005 // 鏇存柊鏈嶅姟浜哄憳鏄惁鏉ヨ繃澶辫触
+ ReportSourceExist = 4600001 // 鎶ヨ〃鏉ユ簮宸插瓨鍦�
+ ReportSourceNotExist = 4600002 // 鎶ヨ〃鏉ユ簮涓嶅瓨鍦�
+ ReportSourceListErr = 4600003 // 鑾峰彇鎶ヨ〃鏉ユ簮鍒楄〃澶辫触
+ ReportSourceSetErr = 4600004 // 璁剧疆鎶ヨ〃鏉ユ簮澶辫触
+ ReportSourceUpdateErr = 4600005 // 鏇存柊鎶ヨ〃鏉ユ簮澶辫触
- ReportSourceExist = 4400001 // 鎶ヨ〃鏉ユ簮宸插瓨鍦�
- ReportSourceNotExist = 4400002 // 鎶ヨ〃鏉ユ簮涓嶅瓨鍦�
- ReportSourceListErr = 4400003 // 鑾峰彇鎶ヨ〃鏉ユ簮鍒楄〃澶辫触
- ReportSourceSetErr = 4400004 // 璁剧疆鎶ヨ〃鏉ユ簮澶辫触
- ReportSourceUpdateErr = 4400005 // 鏇存柊鎶ヨ〃鏉ユ簮澶辫触
+ OrderTypeExist = 4700001 // 宸ュ崟绫诲瀷宸插瓨鍦�
+ OrderTypeNotExist = 4700002 // 宸ュ崟绫诲瀷涓嶅瓨鍦�
+ OrderTypeListErr = 4700003 // 鑾峰彇宸ュ崟绫诲瀷鍒楄〃澶辫触
+ OrderTypeSetErr = 4700004 // 璁剧疆宸ュ崟绫诲瀷澶辫触
+ OrderTypeUpdateErr = 4700005 // 鏇存柊宸ュ崟绫诲瀷澶辫触
-)
\ No newline at end of file
+)
diff --git a/router/index.go b/router/index.go
index 34d7365..b69c936 100644
--- a/router/index.go
+++ b/router/index.go
@@ -11,6 +11,7 @@
)
type Group struct {
+ OrderTypeRouter
ReportSourceRouter
IsVisitRouter
SolveRateRouter
@@ -137,6 +138,7 @@
routerGroup.InitSolveRateRouter(PrivateGroup)
routerGroup.InitIsVisitRouter(PrivateGroup)
routerGroup.InitReportSourceRouter(PrivateGroup)
+ routerGroup.InitOrderTypeRouter(PrivateGroup)
}
return Router
}
\ No newline at end of file
diff --git a/router/orderType.go b/router/orderType.go
new file mode 100644
index 0000000..3ff7ed1
--- /dev/null
+++ b/router/orderType.go
@@ -0,0 +1,20 @@
+
+package router
+
+import (
+ v1 "aps_crm/api/v1"
+ "github.com/gin-gonic/gin"
+)
+
+type OrderTypeRouter struct{}
+
+func (s *OrderTypeRouter) InitOrderTypeRouter(router *gin.RouterGroup) {
+ orderTypeRouter := router.Group("orderType")
+ orderTypeApi := v1.ApiGroup.OrderTypeApi
+ {
+ orderTypeRouter.POST("add", orderTypeApi.Add) // 娣诲姞$CName$
+ orderTypeRouter.DELETE("delete/:id", orderTypeApi.Delete) // 鍒犻櫎$CName$
+ orderTypeRouter.PUT("update", orderTypeApi.Update) // 鏇存柊$CName$
+ orderTypeRouter.GET("list", orderTypeApi.List) // 鑾峰彇$CName$鍒楄〃
+ }
+}
\ No newline at end of file
diff --git a/service/dataServer.go b/service/dataServer.go
index 9043420..14ca846 100644
--- a/service/dataServer.go
+++ b/service/dataServer.go
@@ -101,6 +101,11 @@
data.ReportSource = reportSourceList
+ // get OrderType list
+ orderTypeList, _ := ServiceGroup.GetOrderTypeList()
+ data.OrderType = orderTypeList
+
+
errCode = ecode.OK
return
diff --git a/service/index.go b/service/index.go
index 45468dc..e0434f8 100644
--- a/service/index.go
+++ b/service/index.go
@@ -50,6 +50,7 @@
SolveRateService
IsVisitService
ReportSourceService
+ OrderTypeService
}
var ServiceGroup = new(Group)
\ No newline at end of file
diff --git a/service/orderType.go b/service/orderType.go
new file mode 100644
index 0000000..ae3a3d4
--- /dev/null
+++ b/service/orderType.go
@@ -0,0 +1,69 @@
+
+package service
+
+import (
+ "aps_crm/model"
+ "aps_crm/model/request"
+ "aps_crm/pkg/ecode"
+)
+
+type OrderTypeService struct{}
+
+func (OrderTypeService) AddOrderType(orderType *model.OrderType) int {
+ err := model.NewOrderTypeSearch().Create(orderType)
+ if err != nil {
+ return ecode.OrderTypeExist
+ }
+
+ return ecode.OK
+}
+
+func (OrderTypeService) DeleteOrderType(id int) int {
+ _, err := model.NewOrderTypeSearch().SetId(id).Find()
+ if err != nil {
+ return ecode.OrderTypeNotExist
+ }
+
+ err = model.NewOrderTypeSearch().SetId(id).Delete()
+ if err != nil {
+ return ecode.OrderTypeNotExist
+ }
+ return ecode.OK
+}
+
+func (OrderTypeService) GetOrderTypeList() ([]*model.OrderType, int) {
+ list, err := model.NewOrderTypeSearch().FindAll()
+ if err != nil {
+ return nil, ecode.OrderTypeListErr
+ }
+
+ return list, ecode.OK
+}
+
+func (OrderTypeService) UpdateOrderType(orderTypes []*request.UpdateOrderType) int {
+ for _, v := range orderTypes {
+ // check orderType exist
+ _, err := model.NewOrderTypeSearch().SetId(v.Id).Find()
+ if err != nil {
+ return ecode.OrderTypeNotExist
+ }
+
+ err = model.NewOrderTypeSearch().SetId(v.Id).Updates(map[string]interface{}{
+ "name": v.Name,
+ })
+ if err != nil {
+ return ecode.OrderTypeSetErr
+ }
+ }
+
+ return ecode.OK
+}
+
+func (OrderTypeService) GetOrderTypeDetail(id int) (*model.OrderType, int) {
+ orderType, err := model.NewOrderTypeSearch().SetId(id).Find()
+ if err != nil {
+ return nil, ecode.OrderTypeNotExist
+ }
+
+ return orderType, ecode.OK
+}
--
Gitblit v1.8.0