From 9cd9b44d7727437add866faf74ed7785ecb1d6e8 Mon Sep 17 00:00:00 2001
From: wangpengfei <274878379@qq.com>
Date: 星期五, 07 七月 2023 15:24:45 +0800
Subject: [PATCH] add
---
api/v1/index.go | 2
service/regularCustomers.go | 59 ++++
pkg/ecode/code.go | 7
docs/swagger.yaml | 113 ++++++++
docs/docs.go | 181 ++++++++++++
docs/swagger.json | 181 ++++++++++++
model/response/response.go | 4
model/request/regularCustomers.go | 14 +
model/RegularCustomers.go | 86 ++++++
service/index.go | 1
router/regularCustomers.go | 19 +
model/index.go | 1
router/index.go | 2
api/v1/regularCustomers.go | 112 ++++++++
14 files changed, 782 insertions(+), 0 deletions(-)
diff --git a/api/v1/index.go b/api/v1/index.go
index d14c159..febef50 100644
--- a/api/v1/index.go
+++ b/api/v1/index.go
@@ -28,6 +28,7 @@
SaleChanceApi
SaleStageApi
SaleTypeApi
+ RegularCustomersApi
}
var ApiGroup = new(Group)
@@ -55,4 +56,5 @@
saleChanceService = service.ServiceGroup.SaleChanceService
saleStageService = service.ServiceGroup.SaleStageService
saleTypeService = service.ServiceGroup.SaleTypeService
+ regularCustomersService = service.ServiceGroup.RegularCustomersService
)
diff --git a/api/v1/regularCustomers.go b/api/v1/regularCustomers.go
new file mode 100644
index 0000000..b2fa48d
--- /dev/null
+++ b/api/v1/regularCustomers.go
@@ -0,0 +1,112 @@
+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 RegularCustomersApi struct{}
+
+// Add
+//
+// @Tags RegularCustomers
+// @Summary 娣诲姞甯稿
+// @Produce application/json
+// @Param object body request.AddRegularCustomers true "鏌ヨ鍙傛暟"
+// @Success 200 {object} contextx.Response{}
+// @Router /api/regularCustomers/add [post]
+func (s *RegularCustomersApi) Add(c *gin.Context) {
+ var params request.AddRegularCustomers
+ ctx, ok := contextx.NewContext(c, ¶ms)
+ if !ok {
+ return
+ }
+
+ regularCustomers := new(model.RegularCustomers)
+ regularCustomers.Name = params.Name
+
+ errCode := regularCustomersService.AddRegularCustomers(regularCustomers)
+ if errCode != ecode.OK {
+ ctx.Fail(errCode)
+ return
+ }
+
+ ctx.Ok()
+}
+
+// Delete
+//
+// @Tags RegularCustomers
+// @Summary 鍒犻櫎甯稿
+// @Produce application/json
+// @Param id path int true "鏌ヨ鍙傛暟"
+// @Success 200 {object} contextx.Response{}
+// @Router /api/regularCustomers/delete/{id} [delete]
+func (s *RegularCustomersApi) Delete(c *gin.Context) {
+ ctx, ok := contextx.NewContext(c, nil)
+ if !ok {
+ return
+ }
+
+ id, _ := strconv.Atoi(c.Param("id"))
+ errCode := regularCustomersService.DeleteRegularCustomers(id)
+ if errCode != ecode.OK {
+ ctx.Fail(errCode)
+ return
+ }
+
+ ctx.Ok()
+}
+
+// Update
+//
+// @Tags RegularCustomers
+// @Summary 鏇存柊甯稿
+// @Produce application/json
+// @Param object body request.UpdateRegularCustomersList true "鏌ヨ鍙傛暟"
+// @Success 200 {object} contextx.Response{}
+// @Router /api/regularCustomers/update [put]
+func (s *RegularCustomersApi) Update(c *gin.Context) {
+ var params request.UpdateRegularCustomersList
+ ctx, ok := contextx.NewContext(c, ¶ms)
+ if !ok {
+ return
+ }
+
+ errCode := regularCustomersService.UpdateRegularCustomers(params.RegularCustomers)
+ if errCode != ecode.OK {
+ ctx.Fail(errCode)
+ return
+ }
+
+ ctx.Ok()
+}
+
+// List
+//
+// @Tags RegularCustomers
+// @Summary 甯稿鍒楄〃
+// @Produce application/json
+// @Success 200 {object} contextx.Response{data=response.RegularCustomersResponse}
+// @Router /api/regularCustomers/list [get]
+func (s *RegularCustomersApi) List(c *gin.Context) {
+ ctx, ok := contextx.NewContext(c, nil)
+ if !ok {
+ return
+ }
+
+ regularCustomers, errCode := regularCustomersService.GetRegularCustomersList()
+ if errCode != ecode.OK {
+ ctx.Fail(errCode)
+ return
+ }
+
+ ctx.OkWithDetailed(response.RegularCustomersResponse{
+ List: regularCustomers,
+ })
+}
diff --git a/docs/docs.go b/docs/docs.go
index f8d51cf..4200359 100644
--- a/docs/docs.go
+++ b/docs/docs.go
@@ -1985,6 +1985,125 @@
}
}
},
+ "/api/regularCustomers/add": {
+ "post": {
+ "produces": [
+ "application/json"
+ ],
+ "tags": [
+ "RegularCustomers"
+ ],
+ "summary": "娣诲姞甯稿",
+ "parameters": [
+ {
+ "description": "鏌ヨ鍙傛暟",
+ "name": "object",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/request.AddRegularCustomers"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/contextx.Response"
+ }
+ }
+ }
+ }
+ },
+ "/api/regularCustomers/delete/{id}": {
+ "delete": {
+ "produces": [
+ "application/json"
+ ],
+ "tags": [
+ "RegularCustomers"
+ ],
+ "summary": "鍒犻櫎甯稿",
+ "parameters": [
+ {
+ "type": "integer",
+ "description": "鏌ヨ鍙傛暟",
+ "name": "id",
+ "in": "path",
+ "required": true
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/contextx.Response"
+ }
+ }
+ }
+ }
+ },
+ "/api/regularCustomers/list": {
+ "get": {
+ "produces": [
+ "application/json"
+ ],
+ "tags": [
+ "RegularCustomers"
+ ],
+ "summary": "甯稿鍒楄〃",
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/contextx.Response"
+ },
+ {
+ "type": "object",
+ "properties": {
+ "data": {
+ "$ref": "#/definitions/response.RegularCustomersResponse"
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+ }
+ },
+ "/api/regularCustomers/update": {
+ "put": {
+ "produces": [
+ "application/json"
+ ],
+ "tags": [
+ "RegularCustomers"
+ ],
+ "summary": "鏇存柊甯稿",
+ "parameters": [
+ {
+ "description": "鏌ヨ鍙傛暟",
+ "name": "object",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/request.UpdateRegularCustomersList"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/contextx.Response"
+ }
+ }
+ }
+ }
+ },
"/api/saleChance/add": {
"post": {
"produces": [
@@ -3364,6 +3483,17 @@
}
}
},
+ "model.RegularCustomers": {
+ "type": "object",
+ "properties": {
+ "id": {
+ "type": "integer"
+ },
+ "name": {
+ "type": "string"
+ }
+ }
+ },
"model.SaleChance": {
"type": "object",
"properties": {
@@ -3928,6 +4058,17 @@
}
},
"request.AddRegisteredCapital": {
+ "type": "object",
+ "required": [
+ "name"
+ ],
+ "properties": {
+ "name": {
+ "type": "string"
+ }
+ }
+ },
+ "request.AddRegularCustomers": {
"type": "object",
"required": [
"name"
@@ -4896,6 +5037,35 @@
}
}
},
+ "request.UpdateRegularCustomers": {
+ "type": "object",
+ "required": [
+ "id",
+ "name"
+ ],
+ "properties": {
+ "id": {
+ "type": "integer"
+ },
+ "name": {
+ "type": "string"
+ }
+ }
+ },
+ "request.UpdateRegularCustomersList": {
+ "type": "object",
+ "required": [
+ "regularCustomers"
+ ],
+ "properties": {
+ "regularCustomers": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/request.UpdateRegularCustomers"
+ }
+ }
+ }
+ },
"request.UpdateSaleChance": {
"type": "object",
"required": [
@@ -5319,6 +5489,17 @@
}
}
},
+ "response.RegularCustomersResponse": {
+ "type": "object",
+ "properties": {
+ "list": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/model.RegularCustomers"
+ }
+ }
+ }
+ },
"response.SaleChanceResponse": {
"type": "object",
"properties": {
diff --git a/docs/swagger.json b/docs/swagger.json
index 6e7d691..16de0c0 100644
--- a/docs/swagger.json
+++ b/docs/swagger.json
@@ -1973,6 +1973,125 @@
}
}
},
+ "/api/regularCustomers/add": {
+ "post": {
+ "produces": [
+ "application/json"
+ ],
+ "tags": [
+ "RegularCustomers"
+ ],
+ "summary": "娣诲姞甯稿",
+ "parameters": [
+ {
+ "description": "鏌ヨ鍙傛暟",
+ "name": "object",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/request.AddRegularCustomers"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/contextx.Response"
+ }
+ }
+ }
+ }
+ },
+ "/api/regularCustomers/delete/{id}": {
+ "delete": {
+ "produces": [
+ "application/json"
+ ],
+ "tags": [
+ "RegularCustomers"
+ ],
+ "summary": "鍒犻櫎甯稿",
+ "parameters": [
+ {
+ "type": "integer",
+ "description": "鏌ヨ鍙傛暟",
+ "name": "id",
+ "in": "path",
+ "required": true
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/contextx.Response"
+ }
+ }
+ }
+ }
+ },
+ "/api/regularCustomers/list": {
+ "get": {
+ "produces": [
+ "application/json"
+ ],
+ "tags": [
+ "RegularCustomers"
+ ],
+ "summary": "甯稿鍒楄〃",
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/contextx.Response"
+ },
+ {
+ "type": "object",
+ "properties": {
+ "data": {
+ "$ref": "#/definitions/response.RegularCustomersResponse"
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+ }
+ },
+ "/api/regularCustomers/update": {
+ "put": {
+ "produces": [
+ "application/json"
+ ],
+ "tags": [
+ "RegularCustomers"
+ ],
+ "summary": "鏇存柊甯稿",
+ "parameters": [
+ {
+ "description": "鏌ヨ鍙傛暟",
+ "name": "object",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/request.UpdateRegularCustomersList"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/contextx.Response"
+ }
+ }
+ }
+ }
+ },
"/api/saleChance/add": {
"post": {
"produces": [
@@ -3352,6 +3471,17 @@
}
}
},
+ "model.RegularCustomers": {
+ "type": "object",
+ "properties": {
+ "id": {
+ "type": "integer"
+ },
+ "name": {
+ "type": "string"
+ }
+ }
+ },
"model.SaleChance": {
"type": "object",
"properties": {
@@ -3916,6 +4046,17 @@
}
},
"request.AddRegisteredCapital": {
+ "type": "object",
+ "required": [
+ "name"
+ ],
+ "properties": {
+ "name": {
+ "type": "string"
+ }
+ }
+ },
+ "request.AddRegularCustomers": {
"type": "object",
"required": [
"name"
@@ -4884,6 +5025,35 @@
}
}
},
+ "request.UpdateRegularCustomers": {
+ "type": "object",
+ "required": [
+ "id",
+ "name"
+ ],
+ "properties": {
+ "id": {
+ "type": "integer"
+ },
+ "name": {
+ "type": "string"
+ }
+ }
+ },
+ "request.UpdateRegularCustomersList": {
+ "type": "object",
+ "required": [
+ "regularCustomers"
+ ],
+ "properties": {
+ "regularCustomers": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/request.UpdateRegularCustomers"
+ }
+ }
+ }
+ },
"request.UpdateSaleChance": {
"type": "object",
"required": [
@@ -5307,6 +5477,17 @@
}
}
},
+ "response.RegularCustomersResponse": {
+ "type": "object",
+ "properties": {
+ "list": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/model.RegularCustomers"
+ }
+ }
+ }
+ },
"response.SaleChanceResponse": {
"type": "object",
"properties": {
diff --git a/docs/swagger.yaml b/docs/swagger.yaml
index 030a27f..55dbd57 100644
--- a/docs/swagger.yaml
+++ b/docs/swagger.yaml
@@ -356,6 +356,13 @@
name:
type: string
type: object
+ model.RegularCustomers:
+ properties:
+ id:
+ type: integer
+ name:
+ type: string
+ type: object
model.SaleChance:
properties:
advantages:
@@ -740,6 +747,13 @@
type: string
type: object
request.AddRegisteredCapital:
+ properties:
+ name:
+ type: string
+ required:
+ - name
+ type: object
+ request.AddRegularCustomers:
properties:
name:
type: string
@@ -1406,6 +1420,25 @@
$ref: '#/definitions/request.UpdateRegisteredCapital'
type: array
type: object
+ request.UpdateRegularCustomers:
+ properties:
+ id:
+ type: integer
+ name:
+ type: string
+ required:
+ - id
+ - name
+ type: object
+ request.UpdateRegularCustomersList:
+ properties:
+ regularCustomers:
+ items:
+ $ref: '#/definitions/request.UpdateRegularCustomers'
+ type: array
+ required:
+ - regularCustomers
+ type: object
request.UpdateSaleChance:
properties:
advantages:
@@ -1682,6 +1715,13 @@
list:
items:
$ref: '#/definitions/model.RegisteredCapital'
+ type: array
+ type: object
+ response.RegularCustomersResponse:
+ properties:
+ list:
+ items:
+ $ref: '#/definitions/model.RegularCustomers'
type: array
type: object
response.SaleChanceResponse:
@@ -2933,6 +2973,79 @@
summary: 鏇存柊娉ㄥ唽璧勬湰
tags:
- RegisteredCapital
+ /api/regularCustomers/add:
+ post:
+ parameters:
+ - description: 鏌ヨ鍙傛暟
+ in: body
+ name: object
+ required: true
+ schema:
+ $ref: '#/definitions/request.AddRegularCustomers'
+ produces:
+ - application/json
+ responses:
+ "200":
+ description: OK
+ schema:
+ $ref: '#/definitions/contextx.Response'
+ summary: 娣诲姞甯稿
+ tags:
+ - RegularCustomers
+ /api/regularCustomers/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:
+ - RegularCustomers
+ /api/regularCustomers/list:
+ get:
+ produces:
+ - application/json
+ responses:
+ "200":
+ description: OK
+ schema:
+ allOf:
+ - $ref: '#/definitions/contextx.Response'
+ - properties:
+ data:
+ $ref: '#/definitions/response.RegularCustomersResponse'
+ type: object
+ summary: 甯稿鍒楄〃
+ tags:
+ - RegularCustomers
+ /api/regularCustomers/update:
+ put:
+ parameters:
+ - description: 鏌ヨ鍙傛暟
+ in: body
+ name: object
+ required: true
+ schema:
+ $ref: '#/definitions/request.UpdateRegularCustomersList'
+ produces:
+ - application/json
+ responses:
+ "200":
+ description: OK
+ schema:
+ $ref: '#/definitions/contextx.Response'
+ summary: 鏇存柊甯稿
+ tags:
+ - RegularCustomers
/api/saleChance/add:
post:
parameters:
diff --git a/model/RegularCustomers.go b/model/RegularCustomers.go
new file mode 100644
index 0000000..32b427a
--- /dev/null
+++ b/model/RegularCustomers.go
@@ -0,0 +1,86 @@
+package model
+
+import (
+ "aps_crm/pkg/mysqlx"
+ "gorm.io/gorm"
+)
+
+type (
+ // RegularCustomers 鑰佸鎴�
+ RegularCustomers struct {
+ Id int `json:"id" gorm:"column:id;primary_key;AUTO_INCREMENT"`
+ Name string `json:"name" gorm:"column:name;type:varchar(255);comment:瀹㈡埛鍚嶇О"`
+ }
+
+ // RegularCustomersSearch 鑰佸鎴锋悳绱㈡潯浠�
+ RegularCustomersSearch struct {
+ RegularCustomers
+ Orm *gorm.DB
+ }
+)
+
+func (RegularCustomers) TableName() string {
+ return "regular_customers"
+}
+
+func NewRegularCustomersSearch() *RegularCustomersSearch {
+ return &RegularCustomersSearch{
+ Orm: mysqlx.GetDB(),
+ }
+}
+
+func (slf *RegularCustomersSearch) build() *gorm.DB {
+ var db = slf.Orm.Model(&RegularCustomers{})
+ if slf.Id != 0 {
+ db = db.Where("id = ?", slf.Id)
+ }
+ if slf.Name != "" {
+ db = db.Where("name = ?", slf.Name)
+ }
+
+ return db
+}
+
+func (slf *RegularCustomersSearch) Create(record *RegularCustomers) error {
+ var db = slf.build()
+ return db.Create(record).Error
+}
+
+func (slf *RegularCustomersSearch) Delete() error {
+ var db = slf.build()
+ return db.Delete(&RegularCustomers{}).Error
+}
+
+func (slf *RegularCustomersSearch) Update(record *RegularCustomers) error {
+ var db = slf.build()
+ return db.Updates(record).Error
+}
+
+func (slf *RegularCustomersSearch) Find() (*RegularCustomers, error) {
+ var db = slf.build()
+ var record = &RegularCustomers{}
+ err := db.First(record).Error
+ return record, err
+}
+
+func (slf *RegularCustomersSearch) FindAll() ([]*RegularCustomers, error) {
+ var db = slf.build()
+ var records = make([]*RegularCustomers, 0)
+ err := db.Find(&records).Error
+ return records, err
+}
+
+func (slf *RegularCustomersSearch) SetId(id int) *RegularCustomersSearch {
+ slf.Id = id
+ return slf
+}
+
+func (slf *RegularCustomersSearch) SetName(name string) *RegularCustomersSearch {
+ slf.Name = name
+ return slf
+}
+
+func (slf *RegularCustomersSearch) Updates(data map[string]interface{}) error {
+ var db = slf.build()
+ return db.Updates(data).Error
+}
diff --git a/model/index.go b/model/index.go
index b94d2bf..7f7b1bc 100644
--- a/model/index.go
+++ b/model/index.go
@@ -43,6 +43,7 @@
SalesSources{},
SaleStage{},
SaleType{},
+ RegularCustomers{},
)
return err
}
diff --git a/model/request/regularCustomers.go b/model/request/regularCustomers.go
new file mode 100644
index 0000000..db6ed8c
--- /dev/null
+++ b/model/request/regularCustomers.go
@@ -0,0 +1,14 @@
+package request
+
+type AddRegularCustomers struct {
+ Name string `json:"name" binding:"required"`
+}
+
+type UpdateRegularCustomers struct {
+ Id int `json:"id" binding:"required"`
+ Name string `json:"name" binding:"required"`
+}
+
+type UpdateRegularCustomersList struct {
+ RegularCustomers []*UpdateRegularCustomers `json:"regularCustomers" binding:"required"`
+}
diff --git a/model/response/response.go b/model/response/response.go
index f1ee34f..d298bb2 100644
--- a/model/response/response.go
+++ b/model/response/response.go
@@ -109,4 +109,8 @@
SaleTypeResponse struct {
List []*model.SaleType `json:"list"`
}
+
+ RegularCustomersResponse struct {
+ List []*model.RegularCustomers `json:"list"`
+ }
)
diff --git a/pkg/ecode/code.go b/pkg/ecode/code.go
index 519dbc2..4fefc1f 100644
--- a/pkg/ecode/code.go
+++ b/pkg/ecode/code.go
@@ -156,4 +156,11 @@
SaleTypeUpdateErr = 2100005 // 鏇存柊閿�鍞被鍨嬪け璐�
SaleTypeDeleteErr = 2100006 // 鍒犻櫎閿�鍞被鍨嬪け璐�
+ RegularCustomersExist = 2200001 // 鍥哄畾瀹㈡埛宸插瓨鍦�
+ RegularCustomersNotExist = 2200002 // 鍥哄畾瀹㈡埛涓嶅瓨鍦�
+ RegularCustomersListErr = 2200003 // 鑾峰彇鍥哄畾瀹㈡埛鍒楄〃澶辫触
+ RegularCustomersSetErr = 2200004 // 璁剧疆鍥哄畾瀹㈡埛澶辫触
+ RegularCustomersUpdateErr = 2200005 // 鏇存柊鍥哄畾瀹㈡埛澶辫触
+ RegularCustomersDeleteErr = 2200006 // 鍒犻櫎鍥哄畾瀹㈡埛澶辫触
+
)
diff --git a/router/index.go b/router/index.go
index 71d997c..8787204 100644
--- a/router/index.go
+++ b/router/index.go
@@ -34,6 +34,7 @@
SaleChanceRouter
SaleStageRouter
SaleTypeRouter
+ RegularCustomersRouter
}
func InitRouter() *gin.Engine {
@@ -85,6 +86,7 @@
routerGroup.InitSaleChanceRouter(PrivateGroup) // 娉ㄥ唽saleChance璺敱
routerGroup.InitSaleStageRouter(PrivateGroup) // 娉ㄥ唽saleStage璺敱
routerGroup.InitSaleTypeRouter(PrivateGroup) // 娉ㄥ唽saleType璺敱
+ routerGroup.InitRegularCustomersRouter(PrivateGroup) // 娉ㄥ唽regularCustomers璺敱
}
return Router
}
diff --git a/router/regularCustomers.go b/router/regularCustomers.go
new file mode 100644
index 0000000..3fc31a0
--- /dev/null
+++ b/router/regularCustomers.go
@@ -0,0 +1,19 @@
+package router
+
+import (
+ v1 "aps_crm/api/v1"
+ "github.com/gin-gonic/gin"
+)
+
+type RegularCustomersRouter struct{}
+
+func (r *RegularCustomersRouter) InitRegularCustomersRouter(router *gin.RouterGroup) {
+ regularCustomersRouter := router.Group("regularCustomers")
+ regularCustomersApi := v1.ApiGroup.RegularCustomersApi
+ {
+ regularCustomersRouter.POST("add", regularCustomersApi.Add) // 娣诲姞甯稿
+ regularCustomersRouter.DELETE("delete/:id", regularCustomersApi.Delete) // 鍒犻櫎甯稿
+ regularCustomersRouter.PUT("update", regularCustomersApi.Update) // 鏇存柊甯稿
+ regularCustomersRouter.GET("list", regularCustomersApi.List) // 鑾峰彇甯稿鍒楄〃
+ }
+}
diff --git a/service/index.go b/service/index.go
index 4e61453..c5091d2 100644
--- a/service/index.go
+++ b/service/index.go
@@ -23,6 +23,7 @@
SaleChanceService
SaleStageService
SaleTypeService
+ RegularCustomersService
}
var ServiceGroup = new(Group)
diff --git a/service/regularCustomers.go b/service/regularCustomers.go
new file mode 100644
index 0000000..527e80c
--- /dev/null
+++ b/service/regularCustomers.go
@@ -0,0 +1,59 @@
+package service
+
+import (
+ "aps_crm/model"
+ "aps_crm/model/request"
+ "aps_crm/pkg/ecode"
+)
+
+type RegularCustomersService struct{}
+
+func (RegularCustomersService) AddRegularCustomers(regularCustomers *model.RegularCustomers) int {
+ err := model.NewRegularCustomersSearch().Create(regularCustomers)
+ if err != nil {
+ return ecode.RegularCustomersExist
+ }
+
+ return ecode.OK
+}
+
+func (RegularCustomersService) DeleteRegularCustomers(id int) int {
+ _, err := model.NewRegularCustomersSearch().SetId(id).Find()
+ if err != nil {
+ return ecode.RegularCustomersNotExist
+ }
+
+ err = model.NewRegularCustomersSearch().SetId(id).Delete()
+ if err != nil {
+ return ecode.RegularCustomersNotExist
+ }
+ return ecode.OK
+}
+
+func (RegularCustomersService) GetRegularCustomersList() ([]*model.RegularCustomers, int) {
+ list, err := model.NewRegularCustomersSearch().FindAll()
+ if err != nil {
+ return nil, ecode.RegularCustomersListErr
+ }
+
+ return list, ecode.OK
+}
+
+func (RegularCustomersService) UpdateRegularCustomers(regularCustomers []*request.UpdateRegularCustomers) int {
+ for _, v := range regularCustomers {
+ // check regularCustomers exist
+ _, err := model.NewRegularCustomersSearch().SetId(v.Id).Find()
+ if err != nil {
+ return ecode.RegularCustomersNotExist
+ }
+
+ err = model.NewRegularCustomersSearch().SetId(v.Id).Updates(map[string]interface{}{
+ "name": v.Name,
+ })
+ if err != nil {
+ return ecode.RegularCustomersSetErr
+ }
+ }
+
+ return ecode.OK
+}
--
Gitblit v1.8.0