From dac214fa72dc2974954a4d8ee934695f548ad155 Mon Sep 17 00:00:00 2001
From: wangpengfei <274878379@qq.com>
Date: 星期三, 02 八月 2023 14:14:30 +0800
Subject: [PATCH] fix
---
service/client.go | 156 ++--
api/v1/salesLeads.go | 6
service/followRecord.go | 128 +-
model/client.go | 298 +++---
pkg/ecode/code.go | 782 ++++++++++----------
api/v1/followRecord.go | 446 +++++-----
model/request/followRecord.go | 64
model/followRecord.go | 370 ++++----
8 files changed, 1,125 insertions(+), 1,125 deletions(-)
diff --git a/api/v1/followRecord.go b/api/v1/followRecord.go
index e6c2f4c..ca3ef2f 100644
--- a/api/v1/followRecord.go
+++ b/api/v1/followRecord.go
@@ -1,224 +1,224 @@
-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"
- "time"
-)
-
-type FollowRecordApi struct{}
-
-// Add
-//
-// @Tags FollowRecord
-// @Summary 娣诲姞璺熻繘璁板綍
-// @Produce application/json
-// @Param object body request.AddFollowRecord true "鏌ヨ鍙傛暟"
-// @Success 200 {object} contextx.Response{}
-// @Router /api/followRecord/add [post]
-func (fr *FollowRecordApi) Add(c *gin.Context) {
- var params request.AddFollowRecord
- ctx, ok := contextx.NewContext(c, ¶ms)
- if !ok {
- return
- }
-
- errCode, followRecord := checkFollowRecordParams(params.FollowRecord)
- if errCode != ecode.OK {
- ctx.Fail(errCode)
- return
- }
-
- errCode = followRecordService.AddFollowRecord(followRecord)
- if errCode != ecode.OK {
- ctx.Fail(errCode)
- return
- }
-
- ctx.Ok()
-}
-
-// Delete
-//
-// @Tags FollowRecord
-// @Summary 鍒犻櫎璺熻繘璁板綍
-// @Produce application/json
-// @Param id path string true "璺熻繘璁板綍id"
-// @Success 200 {object} contextx.Response{}
-// @Router /api/followRecord/delete/{id} [delete]
-func (fr *FollowRecordApi) Delete(c *gin.Context) {
- ctx, ok := contextx.NewContext(c, nil)
- if !ok {
- return
- }
-
- id, _ := strconv.Atoi(c.Param("id"))
- errCode := followRecordService.DeleteFollowRecord(id)
- if errCode != ecode.OK {
- ctx.Fail(errCode)
- return
- }
-
- ctx.Ok()
-}
-
-// Update
-//
-// @Tags FollowRecord
-// @Summary 鏇存柊璺熻繘璁板綍
-// @Produce application/json
-// @Param object body request.UpdateFollowRecord true "鏌ヨ鍙傛暟"
-// @Success 200 {object} contextx.Response{}
-// @Router /api/followRecord/update [put]
-func (fr *FollowRecordApi) Update(c *gin.Context) {
- var params request.UpdateFollowRecord
- ctx, ok := contextx.NewContext(c, ¶ms)
- if !ok {
- return
- }
-
- errCode, followRecord := checkFollowRecordParams(params.FollowRecord)
- if errCode != ecode.OK {
- ctx.Fail(errCode)
- return
- }
-
- followRecord.Id = params.Id
- errCode = followRecordService.UpdateFollowRecord(followRecord)
- if errCode != ecode.OK {
- ctx.Fail(errCode)
- return
- }
-
- ctx.Ok()
-}
-
-// checkFollowRecordParams
-// 妫�鏌ヨ窡杩涜褰曞弬鏁�
-func checkFollowRecordParams(followRecord request.FollowRecord) (int, *model.FollowRecord) {
- var followRecordModel model.FollowRecord
-
- //if followRecord.ClientId != 0 {
- // // check client exist
- // if service.CheckClientExist(followRecord.ClientId) != ecode.OK {
- // return ecode.ClientNotExist, &followRecordModel
- // }
- //}
- //
- //if followRecord.ContactId != 0 {
- // // check contact exist
- // if service.CheckContactExist(followRecord.ContactId) != ecode.OK {
- // return ecode.ContactNotExist, &followRecordModel
- // }
- //}
- //
- //if followRecord.SalesLeadsId != 0 {
- // // check sales leads exist
- // if service.CheckSalesLeadsExist(followRecord.SalesLeadsId) != ecode.OK {
- // return ecode.SalesLeadsNotExist, &followRecordModel
- // }
- //}
- //
- //// check member id
- //if followRecord.MemberId == 0 {
- // // todo check member exist
- // return ecode.InvalidParams, &followRecordModel
- //}
- //
- //// check number
- //if followRecord.Number == "" {
- // return ecode.InvalidParams, &followRecordModel
- //}
- //
- //// check follow content
- //if followRecord.Content == "" {
- // return ecode.InvalidParams, &followRecordModel
- //}
-
- // check follow time
- t, err := checkTimeFormat(followRecord.FollowTime)
- if err != nil {
- return ecode.InvalidParams, &followRecordModel
- }
-
- followRecordModel.FollowTime = t
-
- t, err = checkTimeFormat(followRecord.NextFollowTime)
- if err != nil {
- return ecode.InvalidParams, &followRecordModel
- }
- followRecordModel.NextFollowTime = t
-
- followRecordModel.ClientId = followRecord.ClientId
- followRecordModel.Content = followRecord.Content
- followRecordModel.MemberId = followRecord.MemberId
- followRecordModel.Number = followRecord.Number
- followRecordModel.ClientStatusId = followRecord.ClientStatusId
- followRecordModel.ContactId = followRecord.ContactId
- followRecordModel.Topic = followRecord.Topic
- followRecordModel.SalesLeadsId = followRecord.SalesLeadsId
- followRecordModel.SaleChanceId = followRecord.SaleChanceId
- followRecordModel.ContactInformationId = followRecord.ContactInformationId
- followRecordModel.Purpose = followRecord.Purpose
- followRecordModel.Content = followRecord.Content
- followRecordModel.Record = followRecord.Record
-
- return ecode.OK, &followRecordModel
-}
-
-// checkTimeFormat
-// 妫�鏌ユ椂闂存牸寮�
-func checkTimeFormat(t string) (time.Time, error) {
- if t == "" {
- t = "1900-01-01T00:00:00+08:00"
- }
-
- location, err := time.LoadLocation("Asia/Shanghai")
- if err != nil {
- return time.Time{}, err
- }
-
- tt, err := time.Parse("2006-01-02T15:04:05.000Z", t)
- if err == nil {
- return tt.In(location), nil
- }
-
- tt, err = time.Parse("2006-01-02T15:04:05-07:00", t)
- if err == nil {
- return tt.In(location), nil
- }
-
- return time.Time{}, err
-}
-
-// List
-//
-// @Tags FollowRecord
-// @Summary 鍥炶璁板綍鍒楄〃
-// @Produce application/json
-// @Param object body request.GetFollowRecordList true "鍙傛暟"
-// @Success 200 {object} contextx.Response{data=response.FollowRecordResponse}
-// @Router /api/followRecord/list [post]
-func (fr *FollowRecordApi) List(c *gin.Context) {
- var params request.GetFollowRecordList
- ctx, ok := contextx.NewContext(c, ¶ms)
- if !ok {
- return
- }
-
- followRecords, total, errCode := followRecordService.GetFollowRecordList(params.Page, params.PageSize, params.Keyword)
- if errCode != ecode.OK {
- ctx.Fail(errCode)
- return
- }
-
- ctx.OkWithDetailed(response.FollowRecordResponse{
- List: followRecords,
- Count: int(total),
- })
+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"
+ "time"
+)
+
+type FollowRecordApi struct{}
+
+// Add
+//
+// @Tags FollowRecord
+// @Summary 娣诲姞璺熻繘璁板綍
+// @Produce application/json
+// @Param object body request.AddFollowRecord true "鏌ヨ鍙傛暟"
+// @Success 200 {object} contextx.Response{}
+// @Router /api/followRecord/add [post]
+func (fr *FollowRecordApi) Add(c *gin.Context) {
+ var params request.AddFollowRecord
+ ctx, ok := contextx.NewContext(c, ¶ms)
+ if !ok {
+ return
+ }
+
+ errCode, followRecord := checkFollowRecordParams(params.FollowRecord)
+ if errCode != ecode.OK {
+ ctx.Fail(errCode)
+ return
+ }
+
+ errCode = followRecordService.AddFollowRecord(followRecord)
+ if errCode != ecode.OK {
+ ctx.Fail(errCode)
+ return
+ }
+
+ ctx.Ok()
+}
+
+// Delete
+//
+// @Tags FollowRecord
+// @Summary 鍒犻櫎璺熻繘璁板綍
+// @Produce application/json
+// @Param id path string true "璺熻繘璁板綍id"
+// @Success 200 {object} contextx.Response{}
+// @Router /api/followRecord/delete/{id} [delete]
+func (fr *FollowRecordApi) Delete(c *gin.Context) {
+ ctx, ok := contextx.NewContext(c, nil)
+ if !ok {
+ return
+ }
+
+ id, _ := strconv.Atoi(c.Param("id"))
+ errCode := followRecordService.DeleteFollowRecord(id)
+ if errCode != ecode.OK {
+ ctx.Fail(errCode)
+ return
+ }
+
+ ctx.Ok()
+}
+
+// Update
+//
+// @Tags FollowRecord
+// @Summary 鏇存柊璺熻繘璁板綍
+// @Produce application/json
+// @Param object body request.UpdateFollowRecord true "鏌ヨ鍙傛暟"
+// @Success 200 {object} contextx.Response{}
+// @Router /api/followRecord/update [put]
+func (fr *FollowRecordApi) Update(c *gin.Context) {
+ var params request.UpdateFollowRecord
+ ctx, ok := contextx.NewContext(c, ¶ms)
+ if !ok {
+ return
+ }
+
+ errCode, followRecord := checkFollowRecordParams(params.FollowRecord)
+ if errCode != ecode.OK {
+ ctx.Fail(errCode)
+ return
+ }
+
+ followRecord.Id = params.Id
+ errCode = followRecordService.UpdateFollowRecord(followRecord)
+ if errCode != ecode.OK {
+ ctx.Fail(errCode)
+ return
+ }
+
+ ctx.Ok()
+}
+
+// checkFollowRecordParams
+// 妫�鏌ヨ窡杩涜褰曞弬鏁�
+func checkFollowRecordParams(followRecord request.FollowRecord) (int, *model.FollowRecord) {
+ var followRecordModel model.FollowRecord
+
+ //if followRecord.ClientId != 0 {
+ // // check client exist
+ // if service.CheckClientExist(followRecord.ClientId) != ecode.OK {
+ // return ecode.ClientNotExist, &followRecordModel
+ // }
+ //}
+ //
+ //if followRecord.ContactId != 0 {
+ // // check contact exist
+ // if service.CheckContactExist(followRecord.ContactId) != ecode.OK {
+ // return ecode.ContactNotExist, &followRecordModel
+ // }
+ //}
+ //
+ //if followRecord.SalesLeadsId != 0 {
+ // // check sales leads exist
+ // if service.CheckSalesLeadsExist(followRecord.SalesLeadsId) != ecode.OK {
+ // return ecode.SalesLeadsNotExist, &followRecordModel
+ // }
+ //}
+ //
+ //// check member id
+ //if followRecord.MemberId == 0 {
+ // // todo check member exist
+ // return ecode.InvalidParams, &followRecordModel
+ //}
+ //
+ //// check number
+ //if followRecord.Number == "" {
+ // return ecode.InvalidParams, &followRecordModel
+ //}
+ //
+ //// check follow content
+ //if followRecord.Content == "" {
+ // return ecode.InvalidParams, &followRecordModel
+ //}
+
+ // check follow time
+ t, err := checkTimeFormat(followRecord.FollowTime)
+ if err != nil {
+ return ecode.InvalidParams, &followRecordModel
+ }
+
+ followRecordModel.FollowTime = t
+
+ t, err = checkTimeFormat(followRecord.NextFollowTime)
+ if err != nil {
+ return ecode.InvalidParams, &followRecordModel
+ }
+ followRecordModel.NextFollowTime = t
+
+ followRecordModel.ClientId = followRecord.ClientId
+ followRecordModel.Content = followRecord.Content
+ followRecordModel.MemberId = followRecord.MemberId
+ followRecordModel.Number = followRecord.Number
+ followRecordModel.ClientStatusId = followRecord.ClientStatusId
+ followRecordModel.ContactId = followRecord.ContactId
+ followRecordModel.Topic = followRecord.Topic
+ followRecordModel.SalesLeadsId = followRecord.SalesLeadsId
+ followRecordModel.SaleChanceId = followRecord.SaleChanceId
+ followRecordModel.ContactInformationId = followRecord.ContactInformationId
+ followRecordModel.Purpose = followRecord.Purpose
+ followRecordModel.Content = followRecord.Content
+ followRecordModel.Record = followRecord.Record
+
+ return ecode.OK, &followRecordModel
+}
+
+// checkTimeFormat
+// 妫�鏌ユ椂闂存牸寮�
+func checkTimeFormat(t string) (time.Time, error) {
+ if t == "" {
+ t = "1900-01-01T00:00:00+08:00"
+ }
+
+ location, err := time.LoadLocation("Asia/Shanghai")
+ if err != nil {
+ return time.Time{}, err
+ }
+
+ tt, err := time.Parse("2006-01-02T15:04:05.000Z", t)
+ if err == nil {
+ return tt.In(location), nil
+ }
+
+ tt, err = time.Parse("2006-01-02T15:04:05-07:00", t)
+ if err == nil {
+ return tt.In(location), nil
+ }
+
+ return time.Time{}, err
+}
+
+// List
+//
+// @Tags FollowRecord
+// @Summary 鍥炶璁板綍鍒楄〃
+// @Produce application/json
+// @Param object body request.GetFollowRecordList true "鍙傛暟"
+// @Success 200 {object} contextx.Response{data=response.FollowRecordResponse}
+// @Router /api/followRecord/list [post]
+func (fr *FollowRecordApi) List(c *gin.Context) {
+ var params request.GetFollowRecordList
+ ctx, ok := contextx.NewContext(c, ¶ms)
+ if !ok {
+ return
+ }
+
+ followRecords, total, errCode := followRecordService.GetFollowRecordList(params.Page, params.PageSize, params.Keyword)
+ if errCode != ecode.OK {
+ ctx.Fail(errCode)
+ return
+ }
+
+ ctx.OkWithDetailed(response.FollowRecordResponse{
+ List: followRecords,
+ Count: int(total),
+ })
}
\ No newline at end of file
diff --git a/api/v1/salesLeads.go b/api/v1/salesLeads.go
index 0a48ac5..c0b3215 100644
--- a/api/v1/salesLeads.go
+++ b/api/v1/salesLeads.go
@@ -145,7 +145,7 @@
// @Param object body request.GetSalesLeadsList true "鍙傛暟"
// @Success 200 {object} contextx.Response{data=response.SalesLeadsResponse}
// @Router /api/salesLeads/list [post]
-func (con *SalesLeadsApi) List(c *gin.Context) {
+func (s *SalesLeadsApi) List(c *gin.Context) {
var params request.GetSalesLeadsList
ctx, ok := contextx.NewContext(c, ¶ms)
if !ok {
@@ -159,7 +159,7 @@
}
ctx.OkWithDetailed(response.SalesLeadsResponse{
- List: salesLeadss,
+ List: salesLeadss,
Count: int(total),
})
-}
\ No newline at end of file
+}
diff --git a/model/client.go b/model/client.go
index d58a5c8..a1c5cf2 100644
--- a/model/client.go
+++ b/model/client.go
@@ -1,149 +1,149 @@
-package model
-
-import (
- "aps_crm/pkg/mysqlx"
- "gorm.io/gorm"
- "time"
-)
-
-type (
- Client struct {
- Id int `json:"id" gorm:"column:id;primaryKey;autoIncrement;not null"`
- Name string `json:"name" gorm:"column:name;unique;type:varchar(255);comment:瀹㈡埛鍚嶇О"`
- Number string `json:"number" gorm:"column:number;type:varchar(255);comment:瀹㈡埛缂栧彿"`
- ClientStatusId int `json:"client_status_id" gorm:"column:client_status_id;type:int(11);comment:瀹㈡埛鐘舵�両D"`
- ClientStatus ClientStatus `json:"client_status" gorm:"foreignKey:ClientStatusId"`
- ClientTypeId int `json:"client_type_id" gorm:"column:client_type_id;type:int(11);comment:瀹㈡埛绫诲瀷ID"`
- ClientType ClientType `json:"client_type" gorm:"foreignKey:ClientTypeId"`
- ClientOriginId int `json:"client_origin_id" gorm:"column:client_origin_id;type:int(11);comment:瀹㈡埛鏉ユ簮ID"`
- ClientOrigin ClientOrigin `json:"client_origin" gorm:"foreignKey:ClientOriginId"`
- ClientLevelId int `json:"client_level_id" gorm:"column:client_level_id;type:int(11);comment:瀹㈡埛绛夌骇ID"`
- ClientLevel ClientLevel `json:"client_level" gorm:"foreignKey:ClientLevelId"`
- Contacts []Contact `json:"contacts" gorm:"foreignKey:ClientId"`
- MemberId int `json:"member_id" gorm:"column:member_id;type:int(11);comment:閿�鍞礋璐d汉ID"`
- ServiceMemberId int `json:"service_member_id" gorm:"column:service_member_id;type:int(11);comment:鏈嶅姟璐熻矗浜篒D"`
- DetailAddress string `json:"detail_address" gorm:"column:detail_address;type:varchar(255);comment:璇︾粏鍦板潃"`
- Remark string `json:"remark" gorm:"column:remark;type:varchar(255);comment:澶囨敞"`
- NextVisitTime time.Time `json:"next_visit_time" gorm:"column:next_visit_time;type:datetime;comment:涓嬫鍥炶鏃堕棿"`
- LatestServiceTime time.Time `json:"latest_service_time" gorm:"column:latest_service_time;type:datetime;comment:鏈�鏅氭湇鍔℃椂闂�"`
- FollowRecord []FollowRecord `json:"follow_record" gorm:"foreignKey:ClientId"`
- Address
- Business
- gorm.Model `json:"-"`
- }
-
- ClientSearch struct {
- Client
-
- Orm *gorm.DB
- Keyword string
- OrderBy string
- PageNum int
- PageSize int
- }
-)
-
-func (Client) TableName() string {
- return "clients"
-}
-
-func NewClientSearch(db *gorm.DB) *ClientSearch {
- if db == nil {
- db = mysqlx.GetDB()
- }
-
- return &ClientSearch{
- Orm: db,
- }
-}
-
-func (slf *ClientSearch) build() *gorm.DB {
- var db = slf.Orm.Model(&Client{})
- if slf.Keyword != "" {
- db = db.Where("name LIKE ?", "%"+slf.Keyword+"%")
- }
- if slf.Id != 0 {
- db.Where("id = ?", slf.Id)
- }
- if slf.Name != "" {
- db.Where("name = ?", slf.Name)
- }
-
- return db
-}
-
-func (slf *ClientSearch) Create(record *Client) error {
- var db = slf.build()
- return db.Create(record).Error
-}
-
-func (slf *ClientSearch) Update(record *Client) error {
- var db = slf.build()
- return db.Updates(record).Error
-}
-
-func (slf *ClientSearch) Delete() error {
- var db = slf.build()
- return db.Delete(&Client{}).Error
-}
-
-func (slf *ClientSearch) SetId(id int) *ClientSearch {
- slf.Id = id
- return slf
-}
-
-func (slf *ClientSearch) SetName(name string) *ClientSearch {
- slf.Name = name
- return slf
-}
-
-func (slf *ClientSearch) SetNumber(number string) *ClientSearch {
- slf.Number = number
- return slf
-}
-
-func (slf *ClientSearch) First() (*Client, error) {
- var db = slf.build()
- var record = &Client{}
- err := db.First(record).Error
- return record, err
-}
-
-func (slf *ClientSearch) Find() ([]*Client, int64, error) {
- var db = slf.build()
- var records = make([]*Client, 0)
- var total int64
- if err := db.Count(&total).Error; err != nil {
- return records, total, err
- }
- if slf.PageNum > 0 && slf.PageSize > 0 {
- db = db.Limit(slf.PageSize).Offset((slf.PageNum - 1) * slf.PageSize)
- }
-
- err := db.Preload("ClientStatus").Preload("ClientType").Preload("ClientOrigin").Preload("ClientLevel").Preload("FollowRecord").Preload("EnterpriseNature").Preload("RegisteredCapital").Preload("Industry").Preload("EnterpriseScale").Preload("Contacts").Preload("Country").Preload("Province").Preload("City").Preload("Region").Find(&records).Error
- return records, total, err
-}
-
-func (slf *ClientSearch) UpdateByMap(data map[string]interface{}) error {
- var db = slf.build()
- return db.Updates(data).Error
-}
-
-func (slf *ClientSearch) SetKeyword(keyword string) *ClientSearch {
- slf.Keyword = keyword
- return slf
-}
-
-func (slf *ClientSearch) SetPage(page, size int) *ClientSearch {
- slf.PageNum, slf.PageSize = page, size
- return slf
-}
-
-func (slf *ClientSearch) SetOrder(order string) *ClientSearch {
- slf.OrderBy = order
- return slf
-}
-func (slf *ClientSearch) SetIds(ids []int) *ClientSearch {
- slf.Orm = slf.Orm.Where("id in (?)", ids)
- return slf
-}
+package model
+
+import (
+ "aps_crm/pkg/mysqlx"
+ "gorm.io/gorm"
+ "time"
+)
+
+type (
+ Client struct {
+ Id int `json:"id" gorm:"column:id;primaryKey;autoIncrement;not null"`
+ Name string `json:"name" gorm:"column:name;unique;type:varchar(255);comment:瀹㈡埛鍚嶇О"`
+ Number string `json:"number" gorm:"column:number;type:varchar(255);comment:瀹㈡埛缂栧彿"`
+ ClientStatusId int `json:"client_status_id" gorm:"column:client_status_id;type:int(11);comment:瀹㈡埛鐘舵�両D"`
+ ClientStatus ClientStatus `json:"client_status" gorm:"foreignKey:ClientStatusId"`
+ ClientTypeId int `json:"client_type_id" gorm:"column:client_type_id;type:int(11);comment:瀹㈡埛绫诲瀷ID"`
+ ClientType ClientType `json:"client_type" gorm:"foreignKey:ClientTypeId"`
+ ClientOriginId int `json:"client_origin_id" gorm:"column:client_origin_id;type:int(11);comment:瀹㈡埛鏉ユ簮ID"`
+ ClientOrigin ClientOrigin `json:"client_origin" gorm:"foreignKey:ClientOriginId"`
+ ClientLevelId int `json:"client_level_id" gorm:"column:client_level_id;type:int(11);comment:瀹㈡埛绛夌骇ID"`
+ ClientLevel ClientLevel `json:"client_level" gorm:"foreignKey:ClientLevelId"`
+ Contacts []Contact `json:"contacts" gorm:"foreignKey:ClientId"`
+ MemberId int `json:"member_id" gorm:"column:member_id;type:int(11);comment:閿�鍞礋璐d汉ID"`
+ ServiceMemberId int `json:"service_member_id" gorm:"column:service_member_id;type:int(11);comment:鏈嶅姟璐熻矗浜篒D"`
+ DetailAddress string `json:"detail_address" gorm:"column:detail_address;type:varchar(255);comment:璇︾粏鍦板潃"`
+ Remark string `json:"remark" gorm:"column:remark;type:varchar(255);comment:澶囨敞"`
+ NextVisitTime time.Time `json:"next_visit_time" gorm:"column:next_visit_time;type:datetime;comment:涓嬫鍥炶鏃堕棿"`
+ LatestServiceTime time.Time `json:"latest_service_time" gorm:"column:latest_service_time;type:datetime;comment:鏈�鏅氭湇鍔℃椂闂�"`
+ FollowRecord []FollowRecord `json:"follow_record" gorm:"foreignKey:ClientId"`
+ Address
+ Business
+ gorm.Model `json:"-"`
+ }
+
+ ClientSearch struct {
+ Client
+
+ Orm *gorm.DB
+ Keyword string
+ OrderBy string
+ PageNum int
+ PageSize int
+ }
+)
+
+func (Client) TableName() string {
+ return "clients"
+}
+
+func NewClientSearch(db *gorm.DB) *ClientSearch {
+ if db == nil {
+ db = mysqlx.GetDB()
+ }
+
+ return &ClientSearch{
+ Orm: db,
+ }
+}
+
+func (slf *ClientSearch) build() *gorm.DB {
+ var db = slf.Orm.Model(&Client{})
+ if slf.Keyword != "" {
+ db = db.Where("name LIKE ?", "%"+slf.Keyword+"%")
+ }
+ if slf.Id != 0 {
+ db.Where("id = ?", slf.Id)
+ }
+ if slf.Name != "" {
+ db.Where("name = ?", slf.Name)
+ }
+
+ return db
+}
+
+func (slf *ClientSearch) Create(record *Client) error {
+ var db = slf.build()
+ return db.Create(record).Error
+}
+
+func (slf *ClientSearch) Update(record *Client) error {
+ var db = slf.build()
+ return db.Updates(record).Error
+}
+
+func (slf *ClientSearch) Delete() error {
+ var db = slf.build()
+ return db.Delete(&Client{}).Error
+}
+
+func (slf *ClientSearch) SetId(id int) *ClientSearch {
+ slf.Id = id
+ return slf
+}
+
+func (slf *ClientSearch) SetName(name string) *ClientSearch {
+ slf.Name = name
+ return slf
+}
+
+func (slf *ClientSearch) SetNumber(number string) *ClientSearch {
+ slf.Number = number
+ return slf
+}
+
+func (slf *ClientSearch) First() (*Client, error) {
+ var db = slf.build()
+ var record = &Client{}
+ err := db.First(record).Error
+ return record, err
+}
+
+func (slf *ClientSearch) Find() ([]*Client, int64, error) {
+ var db = slf.build()
+ var records = make([]*Client, 0)
+ var total int64
+ if err := db.Count(&total).Error; err != nil {
+ return records, total, err
+ }
+ if slf.PageNum > 0 && slf.PageSize > 0 {
+ db = db.Limit(slf.PageSize).Offset((slf.PageNum - 1) * slf.PageSize)
+ }
+
+ err := db.Preload("ClientStatus").Preload("ClientType").Preload("ClientOrigin").Preload("ClientLevel").Preload("FollowRecord").Preload("EnterpriseNature").Preload("RegisteredCapital").Preload("Industry").Preload("EnterpriseScale").Preload("Contacts").Preload("Country").Preload("Province").Preload("City").Preload("Region").Find(&records).Error
+ return records, total, err
+}
+
+func (slf *ClientSearch) UpdateByMap(data map[string]interface{}) error {
+ var db = slf.build()
+ return db.Updates(data).Error
+}
+
+func (slf *ClientSearch) SetKeyword(keyword string) *ClientSearch {
+ slf.Keyword = keyword
+ return slf
+}
+
+func (slf *ClientSearch) SetPage(page, size int) *ClientSearch {
+ slf.PageNum, slf.PageSize = page, size
+ return slf
+}
+
+func (slf *ClientSearch) SetOrder(order string) *ClientSearch {
+ slf.OrderBy = order
+ return slf
+}
+func (slf *ClientSearch) SetIds(ids []int) *ClientSearch {
+ slf.Orm = slf.Orm.Where("id in (?)", ids)
+ return slf
+}
diff --git a/model/followRecord.go b/model/followRecord.go
index 5a2ab82..7107b14 100644
--- a/model/followRecord.go
+++ b/model/followRecord.go
@@ -1,185 +1,185 @@
-package model
-
-import (
- "aps_crm/pkg/mysqlx"
- "gorm.io/gorm"
- "time"
-)
-
-type (
- FollowRecord struct {
- Id int `json:"id" gorm:"column:id;primary_key;AUTO_INCREMENT"`
- ClientId int `json:"client_id" gorm:"column:client_id;type:int(11);comment:瀹㈡埛id"`
- ClientStatusId int `json:"client_status_id" gorm:"column:client_status_id;type:int(11);comment:瀹㈡埛鐘舵�乮d"`
- MemberId int `json:"member_id" gorm:"column:member_id;type:int(11);comment:璺熻繘浜篿d"`
- Number string `json:"number" gorm:"column:number;type:varchar(255);comment:璺熻繘缂栧彿"`
- ContactId int `json:"contact_id" gorm:"column:contact_id;type:int(11);comment:鑱旂郴浜篿d"`
- Topic string `json:"topic" gorm:"column:topic;type:varchar(255);comment:璺熻繘涓婚"`
- Record string `json:"record" gorm:"column:record;type:MEDIUMTEXT;comment:璺熻繘璁板綍"`
- SaleChanceId int `json:"sale_chance_id" gorm:"column:sale_chance_id;type:int(11);comment:閿�鍞満浼歩d"`
- SalesLeadsId int `json:"sales_leads_id" gorm:"column:sales_leads_id;type:int(11);comment:閿�鍞嚎绱d"`
- ContactInformationId int `json:"contact_information_id" gorm:"column:contact_information_id;type:int(11);comment:鑱旂郴鏂瑰紡id"`
- FollowTime time.Time `json:"follow_time" gorm:"column:follow_time;type:datetime;comment:璺熻繘鏃堕棿"`
- NextFollowTime time.Time `json:"next_follow_time" gorm:"column:next_follow_time;type:datetime;comment:涓嬫璺熻繘鏃堕棿"`
- Purpose string `json:"purpose" gorm:"column:purpose;type:varchar(255);comment:璺熻繘鐩殑"`
- Content string `json:"content" gorm:"column:content;type:MEDIUMTEXT;comment:璺熻繘鍐呭"`
- Client Client `json:"client" gorm:"foreignKey:ClientId"`
- Contact Contact `json:"contact" gorm:"foreignKey:ContactId"`
- gorm.Model `json:"-"`
- }
-
- FollowRecordSearch struct {
- FollowRecord
-
- Orm *gorm.DB
- Keyword string
- OrderBy string
- PageNum int
- PageSize int
- }
-)
-
-func (FollowRecord) TableName() string {
- return "follow_records"
-}
-
-func NewFollowRecordSearch() *FollowRecordSearch {
- return &FollowRecordSearch{
- Orm: mysqlx.GetDB(),
- }
-}
-
-func (slf *FollowRecordSearch) build() *gorm.DB {
- var db = slf.Orm.Model(&FollowRecord{})
- if slf.Keyword != "" {
- db = db.Where("name LIKE ?", "%"+slf.Keyword+"%")
- }
- if slf.Keyword != "" {
- db = db.Where("topic LIKE ?", "%"+slf.Keyword+"%")
- }
- if slf.Id != 0 {
- db = db.Where("id = ?", slf.Id)
- }
- if slf.ClientId != 0 {
- db = db.Where("client_id = ?", slf.ClientId)
- }
- if slf.ClientStatusId != 0 {
- db = db.Where("client_status_id = ?", slf.ClientStatusId)
- }
- if slf.MemberId != 0 {
- db = db.Where("member_id = ?", slf.MemberId)
- }
- if slf.Number != "" {
- db = db.Where("number = ?", slf.Number)
- }
- if slf.ContactId != 0 {
- db = db.Where("contact_id = ?", slf.ContactId)
- }
- if slf.Topic != "" {
- db = db.Where("topic = ?", slf.Topic)
- }
- if slf.Record != "" {
- db = db.Where("record = ?", slf.Record)
- }
- if slf.SaleChanceId != 0 {
- db = db.Where("sale_chance_id = ?", slf.SaleChanceId)
- }
- if slf.SalesLeadsId != 0 {
- db = db.Where("sales_leads_id = ?", slf.SalesLeadsId)
- }
- if slf.ContactInformationId != 0 {
- db = db.Where("contact_information_id = ?", slf.ContactInformationId)
- }
- if !slf.FollowTime.IsZero() {
- db = db.Where("follow_time = ?", slf.FollowTime)
- }
- if !slf.NextFollowTime.IsZero() {
- db = db.Where("next_follow_time = ?", slf.NextFollowTime)
- }
- if slf.Purpose != "" {
- db = db.Where("purpose = ?", slf.Purpose)
- }
- if slf.Content != "" {
- db = db.Where("content = ?", slf.Content)
- }
-
- return db
-}
-
-func (slf *FollowRecordSearch) First() (*FollowRecord, error) {
- var record = new(FollowRecord)
- err := slf.build().First(record).Error
- return record, err
-}
-
-func (slf *FollowRecordSearch) FindAll() ([]*FollowRecord, int64, error) {
- var db = slf.build()
- var records = make([]*FollowRecord, 0)
- var total int64
- if err := db.Count(&total).Error; err != nil {
- return records, total, err
- }
- if slf.PageNum > 0 && slf.PageSize > 0 {
- db = db.Limit(slf.PageSize).Offset((slf.PageNum - 1) * slf.PageSize)
- }
-
- err := db.Preload("Client").Preload("Contact").Find(&records).Error
- return records, total, err
-}
-
-func (slf *FollowRecordSearch) Count() (int64, error) {
- var count int64
- err := slf.build().Count(&count).Error
- return count, err
-}
-
-func (slf *FollowRecordSearch) Page(page, pageSize int) ([]*FollowRecord, int64, error) {
- var records = make([]*FollowRecord, 0)
- var count int64
- err := slf.build().Count(&count).Error
- if err != nil {
- return records, count, err
- }
- err = slf.build().Offset((page - 1) * pageSize).Limit(pageSize).Find(&records).Error
- return records, count, err
-}
-
-func (slf *FollowRecordSearch) Create(record *FollowRecord) error {
- var db = slf.build()
- return db.Create(record).Error
-}
-
-func (slf *FollowRecordSearch) Update(record *FollowRecord) error {
- var db = slf.build()
- return db.Updates(record).Error
-}
-
-func (slf *FollowRecordSearch) Delete() error {
- var db = slf.build()
- return db.Delete(&slf.FollowRecord).Error
-}
-
-func (slf *FollowRecordSearch) SetId(id int) *FollowRecordSearch {
- slf.Id = id
- return slf
-}
-
-func (slf *FollowRecordSearch) SetClientId(clientId int) *FollowRecordSearch {
- slf.ClientId = clientId
- return slf
-}
-
-func (slf *FollowRecordSearch) SetKeyword(keyword string) *FollowRecordSearch {
- slf.Keyword = keyword
- return slf
-}
-
-func (slf *FollowRecordSearch) SetPage(page, size int) *FollowRecordSearch {
- slf.PageNum, slf.PageSize = page, size
- return slf
-}
-
-func (slf *FollowRecordSearch) SetOrder(order string) *FollowRecordSearch {
- slf.OrderBy = order
- return slf
-}
+package model
+
+import (
+ "aps_crm/pkg/mysqlx"
+ "gorm.io/gorm"
+ "time"
+)
+
+type (
+ FollowRecord struct {
+ Id int `json:"id" gorm:"column:id;primary_key;AUTO_INCREMENT"`
+ ClientId int `json:"client_id" gorm:"column:client_id;type:int(11);comment:瀹㈡埛id"`
+ ClientStatusId int `json:"client_status_id" gorm:"column:client_status_id;type:int(11);comment:瀹㈡埛鐘舵�乮d"`
+ MemberId int `json:"member_id" gorm:"column:member_id;type:int(11);comment:璺熻繘浜篿d"`
+ Number string `json:"number" gorm:"column:number;type:varchar(255);comment:璺熻繘缂栧彿"`
+ ContactId int `json:"contact_id" gorm:"column:contact_id;type:int(11);comment:鑱旂郴浜篿d"`
+ Topic string `json:"topic" gorm:"column:topic;type:varchar(255);comment:璺熻繘涓婚"`
+ Record string `json:"record" gorm:"column:record;type:MEDIUMTEXT;comment:璺熻繘璁板綍"`
+ SaleChanceId int `json:"sale_chance_id" gorm:"column:sale_chance_id;type:int(11);comment:閿�鍞満浼歩d"`
+ SalesLeadsId int `json:"sales_leads_id" gorm:"column:sales_leads_id;type:int(11);comment:閿�鍞嚎绱d"`
+ ContactInformationId int `json:"contact_information_id" gorm:"column:contact_information_id;type:int(11);comment:鑱旂郴鏂瑰紡id"`
+ FollowTime time.Time `json:"follow_time" gorm:"column:follow_time;type:datetime;comment:璺熻繘鏃堕棿"`
+ NextFollowTime time.Time `json:"next_follow_time" gorm:"column:next_follow_time;type:datetime;comment:涓嬫璺熻繘鏃堕棿"`
+ Purpose string `json:"purpose" gorm:"column:purpose;type:varchar(255);comment:璺熻繘鐩殑"`
+ Content string `json:"content" gorm:"column:content;type:MEDIUMTEXT;comment:璺熻繘鍐呭"`
+ Client Client `json:"client" gorm:"foreignKey:ClientId"`
+ Contact Contact `json:"contact" gorm:"foreignKey:ContactId"`
+ gorm.Model `json:"-"`
+ }
+
+ FollowRecordSearch struct {
+ FollowRecord
+
+ Orm *gorm.DB
+ Keyword string
+ OrderBy string
+ PageNum int
+ PageSize int
+ }
+)
+
+func (FollowRecord) TableName() string {
+ return "follow_records"
+}
+
+func NewFollowRecordSearch() *FollowRecordSearch {
+ return &FollowRecordSearch{
+ Orm: mysqlx.GetDB(),
+ }
+}
+
+func (slf *FollowRecordSearch) build() *gorm.DB {
+ var db = slf.Orm.Model(&FollowRecord{})
+ if slf.Keyword != "" {
+ db = db.Where("name LIKE ?", "%"+slf.Keyword+"%")
+ }
+ if slf.Keyword != "" {
+ db = db.Where("topic LIKE ?", "%"+slf.Keyword+"%")
+ }
+ if slf.Id != 0 {
+ db = db.Where("id = ?", slf.Id)
+ }
+ if slf.ClientId != 0 {
+ db = db.Where("client_id = ?", slf.ClientId)
+ }
+ if slf.ClientStatusId != 0 {
+ db = db.Where("client_status_id = ?", slf.ClientStatusId)
+ }
+ if slf.MemberId != 0 {
+ db = db.Where("member_id = ?", slf.MemberId)
+ }
+ if slf.Number != "" {
+ db = db.Where("number = ?", slf.Number)
+ }
+ if slf.ContactId != 0 {
+ db = db.Where("contact_id = ?", slf.ContactId)
+ }
+ if slf.Topic != "" {
+ db = db.Where("topic = ?", slf.Topic)
+ }
+ if slf.Record != "" {
+ db = db.Where("record = ?", slf.Record)
+ }
+ if slf.SaleChanceId != 0 {
+ db = db.Where("sale_chance_id = ?", slf.SaleChanceId)
+ }
+ if slf.SalesLeadsId != 0 {
+ db = db.Where("sales_leads_id = ?", slf.SalesLeadsId)
+ }
+ if slf.ContactInformationId != 0 {
+ db = db.Where("contact_information_id = ?", slf.ContactInformationId)
+ }
+ if !slf.FollowTime.IsZero() {
+ db = db.Where("follow_time = ?", slf.FollowTime)
+ }
+ if !slf.NextFollowTime.IsZero() {
+ db = db.Where("next_follow_time = ?", slf.NextFollowTime)
+ }
+ if slf.Purpose != "" {
+ db = db.Where("purpose = ?", slf.Purpose)
+ }
+ if slf.Content != "" {
+ db = db.Where("content = ?", slf.Content)
+ }
+
+ return db
+}
+
+func (slf *FollowRecordSearch) First() (*FollowRecord, error) {
+ var record = new(FollowRecord)
+ err := slf.build().First(record).Error
+ return record, err
+}
+
+func (slf *FollowRecordSearch) FindAll() ([]*FollowRecord, int64, error) {
+ var db = slf.build()
+ var records = make([]*FollowRecord, 0)
+ var total int64
+ if err := db.Count(&total).Error; err != nil {
+ return records, total, err
+ }
+ if slf.PageNum > 0 && slf.PageSize > 0 {
+ db = db.Limit(slf.PageSize).Offset((slf.PageNum - 1) * slf.PageSize)
+ }
+
+ err := db.Preload("Client").Preload("Contact").Find(&records).Error
+ return records, total, err
+}
+
+func (slf *FollowRecordSearch) Count() (int64, error) {
+ var count int64
+ err := slf.build().Count(&count).Error
+ return count, err
+}
+
+func (slf *FollowRecordSearch) Page(page, pageSize int) ([]*FollowRecord, int64, error) {
+ var records = make([]*FollowRecord, 0)
+ var count int64
+ err := slf.build().Count(&count).Error
+ if err != nil {
+ return records, count, err
+ }
+ err = slf.build().Offset((page - 1) * pageSize).Limit(pageSize).Find(&records).Error
+ return records, count, err
+}
+
+func (slf *FollowRecordSearch) Create(record *FollowRecord) error {
+ var db = slf.build()
+ return db.Create(record).Error
+}
+
+func (slf *FollowRecordSearch) Update(record *FollowRecord) error {
+ var db = slf.build()
+ return db.Updates(record).Error
+}
+
+func (slf *FollowRecordSearch) Delete() error {
+ var db = slf.build()
+ return db.Delete(&slf.FollowRecord).Error
+}
+
+func (slf *FollowRecordSearch) SetId(id int) *FollowRecordSearch {
+ slf.Id = id
+ return slf
+}
+
+func (slf *FollowRecordSearch) SetClientId(clientId int) *FollowRecordSearch {
+ slf.ClientId = clientId
+ return slf
+}
+
+func (slf *FollowRecordSearch) SetKeyword(keyword string) *FollowRecordSearch {
+ slf.Keyword = keyword
+ return slf
+}
+
+func (slf *FollowRecordSearch) SetPage(page, size int) *FollowRecordSearch {
+ slf.PageNum, slf.PageSize = page, size
+ return slf
+}
+
+func (slf *FollowRecordSearch) SetOrder(order string) *FollowRecordSearch {
+ slf.OrderBy = order
+ return slf
+}
diff --git a/model/request/followRecord.go b/model/request/followRecord.go
index fb0d790..b24bda9 100644
--- a/model/request/followRecord.go
+++ b/model/request/followRecord.go
@@ -1,32 +1,32 @@
-package request
-
-type AddFollowRecord struct {
- FollowRecord FollowRecord `json:"follow_record" binding:"required"`
-}
-
-type FollowRecord struct {
- ClientId int `json:"client_id" gorm:"column:client_id;type:int(11);comment:瀹㈡埛id"`
- ClientStatusId int `json:"client_status_id" gorm:"column:client_status_id;type:int(11);comment:瀹㈡埛鐘舵�乮d"`
- MemberId int `json:"member_id" gorm:"column:member_id;type:int(11);comment:璺熻繘浜篿d"`
- Number string `json:"number" gorm:"column:number;type:varchar(255);comment:璺熻繘缂栧彿"`
- ContactId int `json:"contact_id" gorm:"column:contact_id;type:int(11);comment:鑱旂郴浜篿d"`
- Topic string `json:"topic" gorm:"column:topic;type:varchar(255);comment:璺熻繘涓婚"`
- Record string `json:"record" gorm:"column:record;type:MEDIUMTEXT;comment:璺熻繘璁板綍"`
- SaleChanceId int `json:"sale_chance_id" gorm:"column:sale_chance_id;type:int(11);comment:閿�鍞満浼歩d"`
- SalesLeadsId int `json:"sales_leads_id" gorm:"column:sales_leads_id;type:int(11);comment:閿�鍞嚎绱d"`
- ContactInformationId int `json:"contact_information_id" gorm:"column:contact_information_id;type:int(11);comment:鑱旂郴鏂瑰紡id"`
- FollowTime string `json:"follow_time" gorm:"column:follow_time;type:datetime;comment:璺熻繘鏃堕棿"`
- NextFollowTime string `json:"next_follow_time" gorm:"column:next_follow_time;type:datetime;comment:涓嬫璺熻繘鏃堕棿"`
- Purpose string `json:"purpose" gorm:"column:purpose;type:varchar(255);comment:璺熻繘鐩殑"`
- Content string `json:"content" gorm:"column:content;type:varchar(255);comment:璺熻繘鍐呭"`
-}
-
-type UpdateFollowRecord struct {
- Id int `json:"id" gorm:"column:id;primary_key;AUTO_INCREMENT"`
- FollowRecord FollowRecord `json:"follow_record" binding:"required"`
-}
-
-type GetFollowRecordList struct {
- PageInfo
- Keyword string `json:"keyword"`
-}
+package request
+
+type AddFollowRecord struct {
+ FollowRecord FollowRecord `json:"follow_record" binding:"required"`
+}
+
+type FollowRecord struct {
+ ClientId int `json:"client_id" gorm:"column:client_id;type:int(11);comment:瀹㈡埛id"`
+ ClientStatusId int `json:"client_status_id" gorm:"column:client_status_id;type:int(11);comment:瀹㈡埛鐘舵�乮d"`
+ MemberId int `json:"member_id" gorm:"column:member_id;type:int(11);comment:璺熻繘浜篿d"`
+ Number string `json:"number" gorm:"column:number;type:varchar(255);comment:璺熻繘缂栧彿"`
+ ContactId int `json:"contact_id" gorm:"column:contact_id;type:int(11);comment:鑱旂郴浜篿d"`
+ Topic string `json:"topic" gorm:"column:topic;type:varchar(255);comment:璺熻繘涓婚"`
+ Record string `json:"record" gorm:"column:record;type:MEDIUMTEXT;comment:璺熻繘璁板綍"`
+ SaleChanceId int `json:"sale_chance_id" gorm:"column:sale_chance_id;type:int(11);comment:閿�鍞満浼歩d"`
+ SalesLeadsId int `json:"sales_leads_id" gorm:"column:sales_leads_id;type:int(11);comment:閿�鍞嚎绱d"`
+ ContactInformationId int `json:"contact_information_id" gorm:"column:contact_information_id;type:int(11);comment:鑱旂郴鏂瑰紡id"`
+ FollowTime string `json:"follow_time" gorm:"column:follow_time;type:datetime;comment:璺熻繘鏃堕棿"`
+ NextFollowTime string `json:"next_follow_time" gorm:"column:next_follow_time;type:datetime;comment:涓嬫璺熻繘鏃堕棿"`
+ Purpose string `json:"purpose" gorm:"column:purpose;type:varchar(255);comment:璺熻繘鐩殑"`
+ Content string `json:"content" gorm:"column:content;type:varchar(255);comment:璺熻繘鍐呭"`
+}
+
+type UpdateFollowRecord struct {
+ Id int `json:"id" gorm:"column:id;primary_key;AUTO_INCREMENT"`
+ FollowRecord FollowRecord `json:"follow_record" binding:"required"`
+}
+
+type GetFollowRecordList struct {
+ PageInfo
+ Keyword string `json:"keyword"`
+}
diff --git a/pkg/ecode/code.go b/pkg/ecode/code.go
index 0837cb4..277052b 100644
--- a/pkg/ecode/code.go
+++ b/pkg/ecode/code.go
@@ -1,391 +1,391 @@
-package ecode
-
-const (
- OK = 200
-
- UnknownErr = 2001 // 鏈煡閿欒
- DBErr = 2002 // db閿欒
- RedisErr = 2003 // redis閿欒
- ParamsErr = 2004 // 璇锋眰鍙傛暟閿欒
- UserNotExist = 2005 // 鐢ㄦ埛涓嶅瓨鍦�
- PasswordErr = 2006 // 瀵嗙爜閿欒
- UserForbidden = 2007 // 鐢ㄦ埛琚鐢�
- CaptchaGenerateFailed = 2008 // 楠岃瘉鐮佺敓鎴愬け璐�
- CaptchaErr = 2009 // 楠岃瘉鐮侀敊璇�
- CreateTokenErr = 2010 // 鍒涘缓token澶辫触
- JWTInBlackList = 2011 // JWT鍦ㄧ櫧鍚嶅崟
- JWTDisabled = 2012 // JWT澶辨晥
- JWTEmpty = 2013 // JWT涓虹┖
- JWTExpire = 2014 // JWT杩囨湡
- JWTParseErr = 2015 // JWT瑙f瀽澶辫触
- UserNameExistErr = 2016 // 鐢ㄦ埛鍚嶅凡瀛樺湪
- ChildrenExistErr = 2017 // 瀛樺湪瀛愯彍鍗�
- MenuNotExist = 2018 // 鑿滃崟涓嶅瓨鍦�
- MenuNameExistErr = 2019 // 鑿滃崟鍚嶅凡瀛樺湪
- DeviceIPExistErr = 2020 // 璇ヨ澶嘔P宸插瓨鍦�
- DeviceInstallRancherErr = 2021 // 瀹夎rancher澶辫触
- ClusterNameExistErr = 2022 // 瑭查泦缇ゅ凡缍撳瓨鍦�
- CreateDatabaseErr = 2023 // 鍒涘缓鏁版嵁搴撻敊璇�
- CreateDatabaseUserErr = 2024 // 鍒涘缓鏁版嵁搴撶敤鎴烽敊璇�
- CreateClusterErr = 2025 // 鍒涘缓闆嗙兢澶辫触
- GetClusterErr = 2026 // 鑾峰彇闆嗙兢澶辫触
- GetClusterKubeConfigErr = 2027 // 鑾峰彇kube config澶辫触
- ClusterInstallDockerErr = 2028 // 瀹夎docker澶辫触
- ClusterInstallKubectlErr = 2029 // 瀹夎kubectl澶辫触
- ClusterDeployKubernetesRolesErr = 2030 // 閮ㄧ讲kubernetes瑙掕壊澶辫触
- ClusterGetNodeCommandErr = 2031 // 鑾峰彇node command澶辫触
- UserHasCluster = 2032 // 鍒犻櫎鐢ㄦ埛澶辫触锛岃鐢ㄦ埛涓嬪瓨鍦ㄩ泦缇�
- NoPowerErr = 2033 //銆�娌℃湁鏉冮檺
- UploadImageErr = 2034 //銆�涓婁紶鍥惧儚澶辫触
-
- InvalidParams = 100001 // 璇锋眰鍙傛暟閿欒
-
- CountryExist = 200001 // 鍥藉宸插瓨鍦�
- CountryNotExist = 200002 // 鍥藉涓嶅瓨鍦�
- CountryGetListErr = 200003 // 鑾峰彇鍥藉鍒楄〃澶辫触
-
- ProvinceExist = 300001 // 鐪佷唤宸插瓨鍦�
- ProvinceNotExist = 300002 // 鐪佷唤涓嶅瓨鍦�
- ProvinceGetListErr = 300003 // 鑾峰彇鐪佷唤鍒楄〃澶辫触
- ProvinceSetErr = 300004 // 璁剧疆鐪佷唤澶辫触
-
- CityExist = 400001 // 鍩庡競宸插瓨鍦�
- CityNotExist = 400002 // 鍩庡競涓嶅瓨鍦�
- CityListErr = 400003 // 鑾峰彇鍩庡競鍒楄〃澶辫触
- CitySetErr = 400004 // 璁剧疆鍩庡競澶辫触
- CityDeleteErr = 400005 // 鍒犻櫎鍩庡競澶辫触
-
- RegionExist = 500001 // 鍖哄幙宸插瓨鍦�
- RegionNotExist = 500002 // 鍖哄幙涓嶅瓨鍦�
- RegionListErr = 500003 // 鑾峰彇鍖哄幙鍒楄〃澶辫触
- RegionSetErr = 500004 // 璁剧疆鍖哄幙澶辫触
-
- ContactExist = 600001 // 鑱旂郴浜哄凡瀛樺湪
- ContactNotExist = 600002 // 鑱旂郴浜轰笉瀛樺湪
- ContactListErr = 600003 // 鑾峰彇鑱旂郴浜哄垪琛ㄥけ璐�
- ContactDeleteErr = 600004 // 鍒犻櫎鑱旂郴浜哄け璐�
- ContactUpdateErr = 600005 // 鏇存柊鑱旂郴浜哄け璐�
-
- ClientExist = 700001 // 瀹㈡埛宸插瓨鍦�
- ClientNotExist = 700002 // 瀹㈡埛涓嶅瓨鍦�
- ClientListErr = 700003 // 鑾峰彇瀹㈡埛鍒楄〃澶辫触
- ClientDeleteErr = 700004 // 鍒犻櫎瀹㈡埛澶辫触
- ClientUpdateErr = 700005 // 鏇存柊瀹㈡埛澶辫触
-
- ClientStatusExist = 800001 // 瀹㈡埛鐘舵�佸凡瀛樺湪
- ClientStatusNotExist = 800002 // 瀹㈡埛鐘舵�佷笉瀛樺湪
- ClientStatusListErr = 800003 // 鑾峰彇瀹㈡埛鐘舵�佸垪琛ㄥけ璐�
- ClientStatusSetErr = 800004 // 璁剧疆瀹㈡埛鐘舵�佸け璐�
-
- ClientTypeExist = 900001 // 瀹㈡埛绫诲瀷宸插瓨鍦�
- ClientTypeNotExist = 900002 // 瀹㈡埛绫诲瀷涓嶅瓨鍦�
- ClientTypeListErr = 900003 // 鑾峰彇瀹㈡埛绫诲瀷鍒楄〃澶辫触
- ClientTypeSetErr = 900004 // 璁剧疆瀹㈡埛绫诲瀷澶辫触
-
- ClientOriginExist = 1000001 // 瀹㈡埛鏉ユ簮宸插瓨鍦�
- ClientOriginNotExist = 1000002 // 瀹㈡埛鏉ユ簮涓嶅瓨鍦�
- ClientOriginListErr = 1000003 // 鑾峰彇瀹㈡埛鏉ユ簮鍒楄〃澶辫触
- ClientOriginSetErr = 1000004 // 璁剧疆瀹㈡埛鏉ユ簮澶辫触
-
- ClientLevelExist = 1100001 // 瀹㈡埛绾у埆宸插瓨鍦�
- ClientLevelNotExist = 1100002 // 瀹㈡埛绾у埆涓嶅瓨鍦�
- ClientLevelListErr = 1100003 // 鑾峰彇瀹㈡埛绾у埆鍒楄〃澶辫触
- ClientLevelSetErr = 1100004 // 璁剧疆瀹㈡埛绾у埆澶辫触
- ClientLevelUpdateErr = 1100005 // 鏇存柊瀹㈡埛绾у埆澶辫触
-
- IndustryExist = 1200001 // 琛屼笟宸插瓨鍦�
- IndustryNotExist = 1200002 // 琛屼笟涓嶅瓨鍦�
- IndustryListErr = 1200003 // 鑾峰彇琛屼笟鍒楄〃澶辫触
- IndustrySetErr = 1200004 // 璁剧疆琛屼笟澶辫触
- IndustryUpdateErr = 1200005 // 鏇存柊琛屼笟澶辫触
-
- EnterpriseNatureExist = 1300001 // 浼佷笟鎬ц川宸插瓨鍦�
- EnterpriseNatureNotExist = 1300002 // 浼佷笟鎬ц川涓嶅瓨鍦�
- EnterpriseNatureListErr = 1300003 // 鑾峰彇浼佷笟鎬ц川鍒楄〃澶辫触
- EnterpriseNatureSetErr = 1300004 // 璁剧疆浼佷笟鎬ц川澶辫触
- EnterpriseNatureUpdateErr = 1300005 // 鏇存柊浼佷笟鎬ц川澶辫触
-
- RegisteredCapitalExist = 1400001 // 娉ㄥ唽璧勬湰宸插瓨鍦�
- RegisteredCapitalNotExist = 1400002 // 娉ㄥ唽璧勬湰涓嶅瓨鍦�
- RegisteredCapitalListErr = 1400003 // 鑾峰彇娉ㄥ唽璧勬湰鍒楄〃澶辫触
- RegisteredCapitalSetErr = 1400004 // 璁剧疆娉ㄥ唽璧勬湰澶辫触
- RegisteredCapitalUpdateErr = 1400005 // 鏇存柊娉ㄥ唽璧勬湰澶辫触
-
- EnterpriseScaleExist = 1500001 // 浼佷笟瑙勬ā宸插瓨鍦�
- EnterpriseScaleNotExist = 1500002 // 浼佷笟瑙勬ā涓嶅瓨鍦�
- EnterpriseScaleListErr = 1500003 // 鑾峰彇浼佷笟瑙勬ā鍒楄〃澶辫触
- EnterpriseScaleSetErr = 1500004 // 璁剧疆浼佷笟瑙勬ā澶辫触
- EnterpriseScaleUpdateErr = 1500005 // 鏇存柊浼佷笟瑙勬ā澶辫触
-
- SalesLeadsExist = 1600001 // 閿�鍞嚎绱㈠凡瀛樺湪
- SalesLeadsNotExist = 1600002 // 閿�鍞嚎绱笉瀛樺湪
- SalesLeadsListErr = 1600003 // 鑾峰彇閿�鍞嚎绱㈠垪琛ㄥけ璐�
- SalesLeadsSetErr = 1600004 // 璁剧疆閿�鍞嚎绱㈠け璐�
- SalesLeadsUpdateErr = 1600005 // 鏇存柊閿�鍞嚎绱㈠け璐�
- SalesLeadsDeleteErr = 1600006 // 鍒犻櫎閿�鍞嚎绱㈠け璐�
-
- SalesSourceExist = 1700001 // 閿�鍞嚎绱㈡潵婧愬凡瀛樺湪
- SalesSourceNotExist = 1700002 // 閿�鍞嚎绱㈡潵婧愪笉瀛樺湪
- SalesSourceListErr = 1700003 // 鑾峰彇閿�鍞嚎绱㈡潵婧愬垪琛ㄥけ璐�
- SalesSourceSetErr = 1700004 // 璁剧疆閿�鍞嚎绱㈡潵婧愬け璐�
- SalesSourceUpdateErr = 1700005 // 鏇存柊閿�鍞嚎绱㈡潵婧愬け璐�
-
- FollowRecordExist = 1800001 // 璺熻繘璁板綍宸插瓨鍦�
- FollowRecordNotExist = 1800002 // 璺熻繘璁板綍涓嶅瓨鍦�
- FollowRecordListErr = 1800003 // 鑾峰彇璺熻繘璁板綍鍒楄〃澶辫触
- FollowRecordSetErr = 1800004 // 璁剧疆璺熻繘璁板綍澶辫触
- FollowRecordUpdateErr = 1800005 // 鏇存柊璺熻繘璁板綍澶辫触
- FollowRecordDeleteErr = 1800006 // 鍒犻櫎璺熻繘璁板綍澶辫触
-
- SaleChanceExist = 1900001 // 閿�鍞満浼氬凡瀛樺湪
- SaleChanceNotExist = 1900002 // 閿�鍞満浼氫笉瀛樺湪
- SaleChanceListErr = 1900003 // 鑾峰彇閿�鍞満浼氬垪琛ㄥけ璐�
- SaleChanceSetErr = 1900004 // 璁剧疆閿�鍞満浼氬け璐�
- SaleChanceUpdateErr = 1900005 // 鏇存柊閿�鍞満浼氬け璐�
- SaleChanceDeleteErr = 1900006 // 鍒犻櫎閿�鍞満浼氬け璐�
-
- SaleStageExist = 2000001 // 閿�鍞樁娈靛凡瀛樺湪
- SaleStageNotExist = 2000002 // 閿�鍞樁娈典笉瀛樺湪
- SaleStageListErr = 2000003 // 鑾峰彇閿�鍞樁娈靛垪琛ㄥけ璐�
- SaleStageSetErr = 2000004 // 璁剧疆閿�鍞樁娈靛け璐�
-
- SaleTypeExist = 2100001 // 閿�鍞被鍨嬪凡瀛樺湪
- SaleTypeNotExist = 2100002 // 閿�鍞被鍨嬩笉瀛樺湪
- SaleTypeListErr = 2100003 // 鑾峰彇閿�鍞被鍨嬪垪琛ㄥけ璐�
- SaleTypeSetErr = 2100004 // 璁剧疆閿�鍞被鍨嬪け璐�
- SaleTypeUpdateErr = 2100005 // 鏇存柊閿�鍞被鍨嬪け璐�
- SaleTypeDeleteErr = 2100006 // 鍒犻櫎閿�鍞被鍨嬪け璐�
-
- RegularCustomersExist = 2200001 // 鍥哄畾瀹㈡埛宸插瓨鍦�
- RegularCustomersNotExist = 2200002 // 鍥哄畾瀹㈡埛涓嶅瓨鍦�
- RegularCustomersListErr = 2200003 // 鑾峰彇鍥哄畾瀹㈡埛鍒楄〃澶辫触
- RegularCustomersSetErr = 2200004 // 璁剧疆鍥哄畾瀹㈡埛澶辫触
- RegularCustomersUpdateErr = 2200005 // 鏇存柊鍥哄畾瀹㈡埛澶辫触
- RegularCustomersDeleteErr = 2200006 // 鍒犻櫎鍥哄畾瀹㈡埛澶辫触
-
- PossibilityExist = 2300001 // 閿�鍞満浼氬彲鑳芥�у凡瀛樺湪
- PossibilityNotExist = 2300002 // 閿�鍞満浼氬彲鑳芥�т笉瀛樺湪
- PossibilityListErr = 2300003 // 鑾峰彇閿�鍞満浼氬彲鑳芥�у垪琛ㄥけ璐�
- PossibilitySetErr = 2300004 // 璁剧疆閿�鍞満浼氬彲鑳芥�уけ璐�
- PossibilityUpdateErr = 2300005 // 鏇存柊閿�鍞満浼氬彲鑳芥�уけ璐�
- PossibilityDeleteErr = 2300006 // 鍒犻櫎閿�鍞満浼氬彲鑳芥�уけ璐�
-
- StatusExist = 2400001 // 閿�鍞満浼氱姸鎬佸凡瀛樺湪
- StatusNotExist = 2400002 // 閿�鍞満浼氱姸鎬佷笉瀛樺湪
- StatusListErr = 2400003 // 鑾峰彇閿�鍞満浼氱姸鎬佸垪琛ㄥけ璐�
- StatusSetErr = 2400004 // 璁剧疆閿�鍞満浼氱姸鎬佸け璐�
- StatusUpdateErr = 2400005 // 鏇存柊閿�鍞満浼氱姸鎬佸け璐�
- StatusDeleteErr = 2400006 // 鍒犻櫎閿�鍞満浼氱姸鎬佸け璐�
-
- QuotationExist = 2500001 // 鎶ヤ环鍗曞凡瀛樺湪
- QuotationNotExist = 2500002 // 鎶ヤ环鍗曚笉瀛樺湪
- QuotationListErr = 2500003 // 鑾峰彇鎶ヤ环鍗曞垪琛ㄥけ璐�
- QuotationSetErr = 2500004 // 璁剧疆鎶ヤ环鍗曞け璐�
- QuotationUpdateErr = 2500005 // 鏇存柊鎶ヤ环鍗曞け璐�
- QuotationDeleteErr = 2500006 // 鍒犻櫎鎶ヤ环鍗曞け璐�
-
- MasterOrderExist = 2600001 // 涓昏鍗曞凡瀛樺湪
- MasterOrderNotExist = 2600002 // 涓昏鍗曚笉瀛樺湪
- MasterOrderListErr = 2600003 // 鑾峰彇涓昏鍗曞垪琛ㄥけ璐�
- MasterOrderSetErr = 2600004 // 璁剧疆涓昏鍗曞け璐�
- MasterOrderUpdateErr = 2600005 // 鏇存柊涓昏鍗曞け璐�
- MasterOrderDeleteErr = 2600006 // 鍒犻櫎涓昏鍗曞け璐�
-
- SubOrderExist = 2700001 // 瀛愯鍗曞凡瀛樺湪
- SubOrderNotExist = 2700002 // 瀛愯鍗曚笉瀛樺湪
- SubOrderListErr = 2700003 // 鑾峰彇瀛愯鍗曞垪琛ㄥけ璐�
- SubOrderSetErr = 2700004 // 璁剧疆瀛愯鍗曞け璐�
- SubOrderUpdateErr = 2700005 // 鏇存柊瀛愯鍗曞け璐�
- SubOrderDeleteErr = 2700006 // 鍒犻櫎瀛愯鍗曞け璐�
-
- SalesDetailsExist = 2800001 // 閿�鍞槑缁嗗凡瀛樺湪
- SalesDetailsNotExist = 2800002 // 閿�鍞槑缁嗕笉瀛樺湪
- SalesDetailsListErr = 2800003 // 鑾峰彇閿�鍞槑缁嗗垪琛ㄥけ璐�
- SalesDetailsSetErr = 2800004 // 璁剧疆閿�鍞槑缁嗗け璐�
- SalesDetailsUpdateErr = 2800005 // 鏇存柊閿�鍞槑缁嗗け璐�
- SalesDetailsDeleteErr = 2800006 // 鍒犻櫎閿�鍞槑缁嗗け璐�
-
- SalesReturnExist = 2900001 // 閿�鍞��璐у崟宸插瓨鍦�
- SalesReturnNotExist = 2900002 // 閿�鍞��璐у崟涓嶅瓨鍦�
- SalesReturnListErr = 2900003 // 鑾峰彇閿�鍞��璐у崟鍒楄〃澶辫触
- SalesReturnSetErr = 2900004 // 璁剧疆閿�鍞��璐у崟澶辫触
- SalesReturnUpdateErr = 2900005 // 鏇存柊閿�鍞��璐у崟澶辫触
- SalesReturnDeleteErr = 2900006 // 鍒犻櫎閿�鍞��璐у崟澶辫触
-
- SalesRefundExist = 3000001 // 閿�鍞��娆惧崟宸插瓨鍦�
- SalesRefundNotExist = 3000002 // 閿�鍞��娆惧崟涓嶅瓨鍦�
- SalesRefundListErr = 3000003 // 鑾峰彇閿�鍞��娆惧崟鍒楄〃澶辫触
- SalesRefundSetErr = 3000004 // 璁剧疆閿�鍞��娆惧崟澶辫触
- SalesRefundUpdateErr = 3000005 // 鏇存柊閿�鍞��娆惧崟澶辫触
- SalesRefundDeleteErr = 3000006 // 鍒犻櫎閿�鍞��娆惧崟澶辫触
-
- ContractExist = 3100001 // 鍚堝悓宸插瓨鍦�
- ContractNotExist = 3100002 // 鍚堝悓涓嶅瓨鍦�
- ContractListErr = 3100003 // 鑾峰彇鍚堝悓鍒楄〃澶辫触
- ContractSetErr = 3100004 // 璁剧疆鍚堝悓澶辫触
- ContractUpdateErr = 3100005 // 鏇存柊鍚堝悓澶辫触
- ContractDeleteErr = 3100006 // 鍒犻櫎鍚堝悓澶辫触
-
- PlanExist = 3200001 // 璁″垝宸插瓨鍦�
- PlanNotExist = 3200002 // 璁″垝涓嶅瓨鍦�
- PlanListErr = 3200003 // 鑾峰彇璁″垝鍒楄〃澶辫触
- PlanSetErr = 3200004 // 璁剧疆璁″垝澶辫触
- PlanUpdateErr = 3200005 // 鏇存柊璁″垝澶辫触
- PlanDeleteErr = 3200006 // 鍒犻櫎璁″垝澶辫触
-
- SContractExist = 3300001 // 鏈嶅姟鍚堝悓宸插瓨鍦�
- SContractNotExist = 3300002 // 鏈嶅姟鍚堝悓涓嶅瓨鍦�
- SContractListErr = 3300003 // 鑾峰彇鏈嶅姟鍚堝悓鍒楄〃澶辫触
- SContractSetErr = 3300004 // 璁剧疆鏈嶅姟鍚堝悓澶辫触
- SContractUpdateErr = 3300005 // 鏇存柊鏈嶅姟鍚堝悓澶辫触
- SContractDeleteErr = 3300006 // 鍒犻櫎鏈嶅姟鍚堝悓澶辫触
-
- OrderManageExist = 3400001 // 璁㈠崟绠$悊宸插瓨鍦�
- OrderManageNotExist = 3400002 // 璁㈠崟绠$悊涓嶅瓨鍦�
- OrderManageListErr = 3400003 // 鑾峰彇璁㈠崟绠$悊鍒楄〃澶辫触
- OrderManageSetErr = 3400004 // 璁剧疆璁㈠崟绠$悊澶辫触
- OrderManageUpdateErr = 3400005 // 鏇存柊璁㈠崟绠$悊澶辫触
- OrderManageDeleteErr = 3400006 // 鍒犻櫎璁㈠崟绠$悊澶辫触
-
- ServiceFollowupExist = 3500001 // 鏈嶅姟璺熻繘宸插瓨鍦�
- ServiceFollowupNotExist = 3500002 // 鏈嶅姟璺熻繘涓嶅瓨鍦�
- ServiceFollowupListErr = 3500003 // 鑾峰彇鏈嶅姟璺熻繘鍒楄〃澶辫触
- ServiceFollowupSetErr = 3500004 // 璁剧疆鏈嶅姟璺熻繘澶辫触
- ServiceFollowupUpdateErr = 3500005 // 鏇存柊鏈嶅姟璺熻繘澶辫触
- ServiceFollowupDeleteErr = 3500006 // 鍒犻櫎鏈嶅姟璺熻繘澶辫触
-
- CustomerServiceSheetExist = 3600001 // 瀹㈡湇鍗曞凡瀛樺湪
- CustomerServiceSheetNotExist = 3600002 // 瀹㈡湇鍗曚笉瀛樺湪
- CustomerServiceSheetListErr = 3600003 // 鑾峰彇瀹㈡湇鍗曞垪琛ㄥけ璐�
- CustomerServiceSheetSetErr = 3600004 // 璁剧疆瀹㈡湇鍗曞け璐�
- CustomerServiceSheetUpdateErr = 3600005 // 鏇存柊瀹㈡湇鍗曞け璐�
- CustomerServiceSheetDeleteErr = 3600006 // 鍒犻櫎瀹㈡湇鍗曞け璐�
-
- ServiceFeeManageExist = 3700001 // 鏈嶅姟璐圭鐞嗗凡瀛樺湪
- ServiceFeeManageNotExist = 3700002 // 鏈嶅姟璐圭鐞嗕笉瀛樺湪
- ServiceFeeManageListErr = 3700003 // 鑾峰彇鏈嶅姟璐圭鐞嗗垪琛ㄥけ璐�
- ServiceFeeManageSetErr = 3700004 // 璁剧疆鏈嶅姟璐圭鐞嗗け璐�
- ServiceFeeManageUpdateErr = 3700005 // 鏇存柊鏈嶅姟璐圭鐞嗗け璐�
- ServiceFeeManageDeleteErr = 3700006 // 鍒犻櫎鏈嶅姟璐圭鐞嗗け璐�
-
- RoleExist = 3800001 // 瑙掕壊宸插瓨鍦�
- RoleNotExist = 3800002 // 瑙掕壊涓嶅瓨鍦�
- RoleListErr = 3800003 // 鑾峰彇瑙掕壊鍒楄〃澶辫触
- RoleSetErr = 3800004 // 璁剧疆瑙掕壊澶辫触
- RoleUpdateErr = 3800005 // 鏇存柊瑙掕壊澶辫触
- RoleDeleteErr = 3800006 // 鍒犻櫎瑙掕壊澶辫触
- RoleDeleteErr1 = 3800007 // 璇ヨ鑹蹭笅瀛樺湪鐢ㄦ埛锛屾棤娉曞垹闄�
-
- MenuListErr = 3900001 // 鑾峰彇鑿滃崟鍒楄〃澶辫触
- SetMenuAuthorityErr = 3900002 // 璁剧疆鑿滃崟鏉冮檺澶辫触
-
- DepartmentExist = 4000001 // 閮ㄩ棬宸插瓨鍦�
- DepartmentNotExist = 4000002 // 閮ㄩ棬涓嶅瓨鍦�
- DepartmentListErr = 4000003 // 鑾峰彇閮ㄩ棬鍒楄〃澶辫触
- DepartmentSetErr = 4000004 // 璁剧疆閮ㄩ棬澶辫触
- DepartmentUpdateErr = 4000005 // 鏇存柊閮ㄩ棬澶辫触
- DepartmentDeleteErr = 4000006 // 鍒犻櫎閮ㄩ棬澶辫触
- DepartmentDeleteErr1 = 4000007 // 璇ラ儴闂ㄤ笅瀛樺湪鐢ㄦ埛锛屾棤娉曞垹闄�
-
- VettingExist = 4100001 // 瀹℃壒宸插瓨鍦�
- VettingNotExist = 4100002 // 瀹℃壒涓嶅瓨鍦�
- VettingListErr = 4100003 // 鑾峰彇瀹℃壒鍒楄〃澶辫触
- VettingSetErr = 4100004 // 璁剧疆瀹℃壒澶辫触
- VettingNotBelongToUser = 4100005 // 瀹℃壒涓嶅睘浜庡綋鍓嶇敤鎴�
-
- SatisfactionExist = 4200001 // 婊℃剰搴﹀凡瀛樺湪
- SatisfactionNotExist = 4200002 // 婊℃剰搴︿笉瀛樺湪
- SatisfactionListErr = 4200003 // 鑾峰彇婊℃剰搴﹀垪琛ㄥけ璐�
- SatisfactionSetErr = 4200004 // 璁剧疆婊℃剰搴﹀け璐�
- SatisfactionUpdateErr = 4200005 // 鏇存柊婊℃剰搴﹀け璐�
-
- TimelyRateExist = 4300001 // 鍙婃椂鐜囧凡瀛樺湪
- TimelyRateNotExist = 4300002 // 鍙婃椂鐜囦笉瀛樺湪
- TimelyRateListErr = 4300003 // 鑾峰彇鍙婃椂鐜囧垪琛ㄥけ璐�
- TimelyRateSetErr = 4300004 // 璁剧疆鍙婃椂鐜囧け璐�
- TimelyRateUpdateErr = 4300005 // 鏇存柊鍙婃椂鐜囧け璐�
-
- SolveRateExist = 4400001 // 瑙e喅鐜囧凡瀛樺湪
- SolveRateNotExist = 4400002 // 瑙e喅鐜囦笉瀛樺湪
- SolveRateListErr = 4400003 // 鑾峰彇瑙e喅鐜囧垪琛ㄥけ璐�
- SolveRateSetErr = 4400004 // 璁剧疆瑙e喅鐜囧け璐�
- SolveRateUpdateErr = 4400005 // 鏇存柊瑙e喅鐜囧け璐�
-
- IsVisitExist = 4500001 // 鏈嶅姟浜哄憳鏄惁鏉ヨ繃宸插瓨鍦�
- IsVisitNotExist = 4500002 // 鏈嶅姟浜哄憳鏄惁鏉ヨ繃涓嶅瓨鍦�
- IsVisitListErr = 4500003 // 鑾峰彇鏈嶅姟浜哄憳鏄惁鏉ヨ繃鍒楄〃澶辫触
- IsVisitSetErr = 4500004 // 璁剧疆鏈嶅姟浜哄憳鏄惁鏉ヨ繃澶辫触
- IsVisitUpdateErr = 4500005 // 鏇存柊鏈嶅姟浜哄憳鏄惁鏉ヨ繃澶辫触
-
- ReportSourceExist = 4600001 // 鎶ヨ〃鏉ユ簮宸插瓨鍦�
- ReportSourceNotExist = 4600002 // 鎶ヨ〃鏉ユ簮涓嶅瓨鍦�
- ReportSourceListErr = 4600003 // 鑾峰彇鎶ヨ〃鏉ユ簮鍒楄〃澶辫触
- ReportSourceSetErr = 4600004 // 璁剧疆鎶ヨ〃鏉ユ簮澶辫触
- ReportSourceUpdateErr = 4600005 // 鏇存柊鎶ヨ〃鏉ユ簮澶辫触
-
- OrderTypeExist = 4700001 // 宸ュ崟绫诲瀷宸插瓨鍦�
- OrderTypeNotExist = 4700002 // 宸ュ崟绫诲瀷涓嶅瓨鍦�
- OrderTypeListErr = 4700003 // 鑾峰彇宸ュ崟绫诲瀷鍒楄〃澶辫触
- OrderTypeSetErr = 4700004 // 璁剧疆宸ュ崟绫诲瀷澶辫触
- OrderTypeUpdateErr = 4700005 // 鏇存柊宸ュ崟绫诲瀷澶辫触
-
- ServiceContractStatusExist = 4800001 // 鏈嶅姟鍚堝悓鐘舵�佸凡瀛樺湪
- ServiceContractStatusNotExist = 4400002 // 鏈嶅姟鍚堝悓鐘舵�佷笉瀛樺湪
- ServiceContractStatusListErr = 4800003 // 鑾峰彇鏈嶅姟鍚堝悓鐘舵�佸垪琛ㄥけ璐�
- ServiceContractStatusSetErr = 4800004 // 璁剧疆鏈嶅姟鍚堝悓鐘舵�佸け璐�
- ServiceContractStatusUpdateErr = 4800005 // 鏇存柊鏈嶅姟鍚堝悓鐘舵�佸け璐�
-
- ServiceContractTypeExist = 4900001 // 鏈嶅姟鍚堝悓绫诲瀷宸插瓨鍦�
- ServiceContractTypeNotExist = 4900002 // 鏈嶅姟鍚堝悓绫诲瀷涓嶅瓨鍦�
- ServiceContractTypeListErr = 4900003 // 鑾峰彇鏈嶅姟鍚堝悓绫诲瀷鍒楄〃澶辫触
- ServiceContractTypeSetErr = 4900004 // 璁剧疆鏈嶅姟鍚堝悓绫诲瀷澶辫触
- ServiceContractTypeUpdateErr = 4900005 // 鏇存柊鏈嶅姟鍚堝悓绫诲瀷澶辫触
-
- RefundMethodExist = 5000001 // 閫�娆炬柟寮忓凡瀛樺湪
- RefundMethodNotExist = 5000002 // 閫�娆炬柟寮忎笉瀛樺湪
- RefundMethodListErr = 5000003 // 鑾峰彇閫�娆炬柟寮忓垪琛ㄥけ璐�
- RefundMethodSetErr = 5000004 // 璁剧疆閫�娆炬柟寮忓け璐�
- RefundMethodUpdateErr = 5000005 // 鏇存柊閫�娆炬柟寮忓け璐�
-
- IsInvoiceExist = 5100001 // 鏄惁寮�绁ㄥ凡瀛樺湪
- IsInvoiceNotExist = 5100002 // 鏄惁寮�绁ㄤ笉瀛樺湪
- IsInvoiceListErr = 5100003 // 鑾峰彇鏄惁寮�绁ㄥ垪琛ㄥけ璐�
- IsInvoiceSetErr = 5100004 // 璁剧疆鏄惁寮�绁ㄥけ璐�
- IsInvoiceUpdateErr = 5100005 // 鏇存柊鏄惁寮�绁ㄥけ璐�
-
- AccountIdExist = 5200001 // 璐︽埛宸插瓨鍦�
- AccountIdNotExist = 5200002 // 璐︽埛涓嶅瓨鍦�
- AccountIdListErr = 5200003 // 鑾峰彇璐︽埛鍒楄〃澶辫触
- AccountIdSetErr = 5200004 // 璁剧疆璐︽埛澶辫触
- AccountIdUpdateErr = 5200005 // 鏇存柊璐︽埛澶辫触
-
- SalesReturnStatusExist = 5300001 // 閫�璐у崟鐘舵�佸凡瀛樺湪
- SalesReturnStatusNotExist = 5300002 // 閫�璐у崟鐘舵�佷笉瀛樺湪
- SalesReturnStatusListErr = 5300003 // 鑾峰彇閫�璐у崟鐘舵�佸垪琛ㄥけ璐�
- SalesReturnStatusSetErr = 5300004 // 璁剧疆閫�璐у崟鐘舵�佸け璐�
- SalesReturnStatusUpdateErr = 5300005 // 鏇存柊閫�璐у崟鐘舵�佸け璐�
-
- RepositoryExist = 5400001 // 閫�璐т粨搴撳凡瀛樺湪
- RepositoryNotExist = 5400002 // 閫�璐т粨搴撲笉瀛樺湪
- RepositoryListErr = 5400003 // 鑾峰彇閫�璐т粨搴撳垪琛ㄥけ璐�
- RepositorySetErr = 5400004 // 璁剧疆閫�璐т粨搴撳け璐�
- RepositoryUpdateErr = 5400005 // 鏇存柊閫�璐т粨搴撳け璐�
-
- QuotationStatusExist = 5500001 // 鎶ヤ环鍗曠姸鎬佸凡瀛樺湪
- QuotationStatusNotExist = 5500002 // 鎶ヤ环鍗曠姸鎬佷笉瀛樺湪
- QuotationStatusListErr = 5500003 // 鑾峰彇鎶ヤ环鍗曠姸鎬佸垪琛ㄥけ璐�
- QuotationStatusSetErr = 5500004 // 璁剧疆鎶ヤ环鍗曠姸鎬佸け璐�
- QuotationStatusUpdateErr = 5500005 // 鏇存柊鎶ヤ环鍗曠姸鎬佸け璐�
-
- CurrencyExist = 5600001 // 甯佺宸插瓨鍦�
- CurrencyNotExist = 5600002 // 甯佺涓嶅瓨鍦�
- CurrencyListErr = 5600003 // 鑾峰彇甯佺鍒楄〃澶辫触
- CurrencySetErr = 5600004 // 璁剧疆甯佺澶辫触
- CurrencyUpdateErr = 5600005 // 鏇存柊甯佺澶辫触
-
- AssignErr = 5700001 // 鍒嗛厤澶辫触
- AssignWrongMemberId = 5700002 // 鍒嗛厤澶辫触锛屽垎閰嶄汉涓虹┖
- AssignWrongId = 5700003 // 鍒嗛厤澶辫触锛屽垎閰嶅璞′负绌�
- AssignWrongModelType = 5700004 // 鍒嗛厤澶辫触锛屽垎閰嶅璞$被鍨嬩负绌�
-
-)
+package ecode
+
+const (
+ OK = 200
+
+ UnknownErr = 2001 // 鏈煡閿欒
+ DBErr = 2002 // db閿欒
+ RedisErr = 2003 // redis閿欒
+ ParamsErr = 2004 // 璇锋眰鍙傛暟閿欒
+ UserNotExist = 2005 // 鐢ㄦ埛涓嶅瓨鍦�
+ PasswordErr = 2006 // 瀵嗙爜閿欒
+ UserForbidden = 2007 // 鐢ㄦ埛琚鐢�
+ CaptchaGenerateFailed = 2008 // 楠岃瘉鐮佺敓鎴愬け璐�
+ CaptchaErr = 2009 // 楠岃瘉鐮侀敊璇�
+ CreateTokenErr = 2010 // 鍒涘缓token澶辫触
+ JWTInBlackList = 2011 // JWT鍦ㄧ櫧鍚嶅崟
+ JWTDisabled = 2012 // JWT澶辨晥
+ JWTEmpty = 2013 // JWT涓虹┖
+ JWTExpire = 2014 // JWT杩囨湡
+ JWTParseErr = 2015 // JWT瑙f瀽澶辫触
+ UserNameExistErr = 2016 // 鐢ㄦ埛鍚嶅凡瀛樺湪
+ ChildrenExistErr = 2017 // 瀛樺湪瀛愯彍鍗�
+ MenuNotExist = 2018 // 鑿滃崟涓嶅瓨鍦�
+ MenuNameExistErr = 2019 // 鑿滃崟鍚嶅凡瀛樺湪
+ DeviceIPExistErr = 2020 // 璇ヨ澶嘔P宸插瓨鍦�
+ DeviceInstallRancherErr = 2021 // 瀹夎rancher澶辫触
+ ClusterNameExistErr = 2022 // 瑭查泦缇ゅ凡缍撳瓨鍦�
+ CreateDatabaseErr = 2023 // 鍒涘缓鏁版嵁搴撻敊璇�
+ CreateDatabaseUserErr = 2024 // 鍒涘缓鏁版嵁搴撶敤鎴烽敊璇�
+ CreateClusterErr = 2025 // 鍒涘缓闆嗙兢澶辫触
+ GetClusterErr = 2026 // 鑾峰彇闆嗙兢澶辫触
+ GetClusterKubeConfigErr = 2027 // 鑾峰彇kube config澶辫触
+ ClusterInstallDockerErr = 2028 // 瀹夎docker澶辫触
+ ClusterInstallKubectlErr = 2029 // 瀹夎kubectl澶辫触
+ ClusterDeployKubernetesRolesErr = 2030 // 閮ㄧ讲kubernetes瑙掕壊澶辫触
+ ClusterGetNodeCommandErr = 2031 // 鑾峰彇node command澶辫触
+ UserHasCluster = 2032 // 鍒犻櫎鐢ㄦ埛澶辫触锛岃鐢ㄦ埛涓嬪瓨鍦ㄩ泦缇�
+ NoPowerErr = 2033 //銆�娌℃湁鏉冮檺
+ UploadImageErr = 2034 //銆�涓婁紶鍥惧儚澶辫触
+
+ InvalidParams = 100001 // 璇锋眰鍙傛暟閿欒
+
+ CountryExist = 200001 // 鍥藉宸插瓨鍦�
+ CountryNotExist = 200002 // 鍥藉涓嶅瓨鍦�
+ CountryGetListErr = 200003 // 鑾峰彇鍥藉鍒楄〃澶辫触
+
+ ProvinceExist = 300001 // 鐪佷唤宸插瓨鍦�
+ ProvinceNotExist = 300002 // 鐪佷唤涓嶅瓨鍦�
+ ProvinceGetListErr = 300003 // 鑾峰彇鐪佷唤鍒楄〃澶辫触
+ ProvinceSetErr = 300004 // 璁剧疆鐪佷唤澶辫触
+
+ CityExist = 400001 // 鍩庡競宸插瓨鍦�
+ CityNotExist = 400002 // 鍩庡競涓嶅瓨鍦�
+ CityListErr = 400003 // 鑾峰彇鍩庡競鍒楄〃澶辫触
+ CitySetErr = 400004 // 璁剧疆鍩庡競澶辫触
+ CityDeleteErr = 400005 // 鍒犻櫎鍩庡競澶辫触
+
+ RegionExist = 500001 // 鍖哄幙宸插瓨鍦�
+ RegionNotExist = 500002 // 鍖哄幙涓嶅瓨鍦�
+ RegionListErr = 500003 // 鑾峰彇鍖哄幙鍒楄〃澶辫触
+ RegionSetErr = 500004 // 璁剧疆鍖哄幙澶辫触
+
+ ContactExist = 600001 // 鑱旂郴浜哄凡瀛樺湪
+ ContactNotExist = 600002 // 鑱旂郴浜轰笉瀛樺湪
+ ContactListErr = 600003 // 鑾峰彇鑱旂郴浜哄垪琛ㄥけ璐�
+ ContactDeleteErr = 600004 // 鍒犻櫎鑱旂郴浜哄け璐�
+ ContactUpdateErr = 600005 // 鏇存柊鑱旂郴浜哄け璐�
+
+ ClientExist = 700001 // 瀹㈡埛宸插瓨鍦�
+ ClientNotExist = 700002 // 瀹㈡埛涓嶅瓨鍦�
+ ClientListErr = 700003 // 鑾峰彇瀹㈡埛鍒楄〃澶辫触
+ ClientDeleteErr = 700004 // 鍒犻櫎瀹㈡埛澶辫触
+ ClientUpdateErr = 700005 // 鏇存柊瀹㈡埛澶辫触
+
+ ClientStatusExist = 800001 // 瀹㈡埛鐘舵�佸凡瀛樺湪
+ ClientStatusNotExist = 800002 // 瀹㈡埛鐘舵�佷笉瀛樺湪
+ ClientStatusListErr = 800003 // 鑾峰彇瀹㈡埛鐘舵�佸垪琛ㄥけ璐�
+ ClientStatusSetErr = 800004 // 璁剧疆瀹㈡埛鐘舵�佸け璐�
+
+ ClientTypeExist = 900001 // 瀹㈡埛绫诲瀷宸插瓨鍦�
+ ClientTypeNotExist = 900002 // 瀹㈡埛绫诲瀷涓嶅瓨鍦�
+ ClientTypeListErr = 900003 // 鑾峰彇瀹㈡埛绫诲瀷鍒楄〃澶辫触
+ ClientTypeSetErr = 900004 // 璁剧疆瀹㈡埛绫诲瀷澶辫触
+
+ ClientOriginExist = 1000001 // 瀹㈡埛鏉ユ簮宸插瓨鍦�
+ ClientOriginNotExist = 1000002 // 瀹㈡埛鏉ユ簮涓嶅瓨鍦�
+ ClientOriginListErr = 1000003 // 鑾峰彇瀹㈡埛鏉ユ簮鍒楄〃澶辫触
+ ClientOriginSetErr = 1000004 // 璁剧疆瀹㈡埛鏉ユ簮澶辫触
+
+ ClientLevelExist = 1100001 // 瀹㈡埛绾у埆宸插瓨鍦�
+ ClientLevelNotExist = 1100002 // 瀹㈡埛绾у埆涓嶅瓨鍦�
+ ClientLevelListErr = 1100003 // 鑾峰彇瀹㈡埛绾у埆鍒楄〃澶辫触
+ ClientLevelSetErr = 1100004 // 璁剧疆瀹㈡埛绾у埆澶辫触
+ ClientLevelUpdateErr = 1100005 // 鏇存柊瀹㈡埛绾у埆澶辫触
+
+ IndustryExist = 1200001 // 琛屼笟宸插瓨鍦�
+ IndustryNotExist = 1200002 // 琛屼笟涓嶅瓨鍦�
+ IndustryListErr = 1200003 // 鑾峰彇琛屼笟鍒楄〃澶辫触
+ IndustrySetErr = 1200004 // 璁剧疆琛屼笟澶辫触
+ IndustryUpdateErr = 1200005 // 鏇存柊琛屼笟澶辫触
+
+ EnterpriseNatureExist = 1300001 // 浼佷笟鎬ц川宸插瓨鍦�
+ EnterpriseNatureNotExist = 1300002 // 浼佷笟鎬ц川涓嶅瓨鍦�
+ EnterpriseNatureListErr = 1300003 // 鑾峰彇浼佷笟鎬ц川鍒楄〃澶辫触
+ EnterpriseNatureSetErr = 1300004 // 璁剧疆浼佷笟鎬ц川澶辫触
+ EnterpriseNatureUpdateErr = 1300005 // 鏇存柊浼佷笟鎬ц川澶辫触
+
+ RegisteredCapitalExist = 1400001 // 娉ㄥ唽璧勬湰宸插瓨鍦�
+ RegisteredCapitalNotExist = 1400002 // 娉ㄥ唽璧勬湰涓嶅瓨鍦�
+ RegisteredCapitalListErr = 1400003 // 鑾峰彇娉ㄥ唽璧勬湰鍒楄〃澶辫触
+ RegisteredCapitalSetErr = 1400004 // 璁剧疆娉ㄥ唽璧勬湰澶辫触
+ RegisteredCapitalUpdateErr = 1400005 // 鏇存柊娉ㄥ唽璧勬湰澶辫触
+
+ EnterpriseScaleExist = 1500001 // 浼佷笟瑙勬ā宸插瓨鍦�
+ EnterpriseScaleNotExist = 1500002 // 浼佷笟瑙勬ā涓嶅瓨鍦�
+ EnterpriseScaleListErr = 1500003 // 鑾峰彇浼佷笟瑙勬ā鍒楄〃澶辫触
+ EnterpriseScaleSetErr = 1500004 // 璁剧疆浼佷笟瑙勬ā澶辫触
+ EnterpriseScaleUpdateErr = 1500005 // 鏇存柊浼佷笟瑙勬ā澶辫触
+
+ SalesLeadsExist = 1600001 // 閿�鍞嚎绱㈠凡瀛樺湪
+ SalesLeadsNotExist = 1600002 // 閿�鍞嚎绱笉瀛樺湪
+ SalesLeadsListErr = 1600003 // 鑾峰彇閿�鍞嚎绱㈠垪琛ㄥけ璐�
+ SalesLeadsSetErr = 1600004 // 璁剧疆閿�鍞嚎绱㈠け璐�
+ SalesLeadsUpdateErr = 1600005 // 鏇存柊閿�鍞嚎绱㈠け璐�
+ SalesLeadsDeleteErr = 1600006 // 鍒犻櫎閿�鍞嚎绱㈠け璐�
+
+ SalesSourceExist = 1700001 // 閿�鍞嚎绱㈡潵婧愬凡瀛樺湪
+ SalesSourceNotExist = 1700002 // 閿�鍞嚎绱㈡潵婧愪笉瀛樺湪
+ SalesSourceListErr = 1700003 // 鑾峰彇閿�鍞嚎绱㈡潵婧愬垪琛ㄥけ璐�
+ SalesSourceSetErr = 1700004 // 璁剧疆閿�鍞嚎绱㈡潵婧愬け璐�
+ SalesSourceUpdateErr = 1700005 // 鏇存柊閿�鍞嚎绱㈡潵婧愬け璐�
+
+ FollowRecordExist = 1800001 // 璺熻繘璁板綍宸插瓨鍦�
+ FollowRecordNotExist = 1800002 // 璺熻繘璁板綍涓嶅瓨鍦�
+ FollowRecordListErr = 1800003 // 鑾峰彇璺熻繘璁板綍鍒楄〃澶辫触
+ FollowRecordSetErr = 1800004 // 璁剧疆璺熻繘璁板綍澶辫触
+ FollowRecordUpdateErr = 1800005 // 鏇存柊璺熻繘璁板綍澶辫触
+ FollowRecordDeleteErr = 1800006 // 鍒犻櫎璺熻繘璁板綍澶辫触
+
+ SaleChanceExist = 1900001 // 閿�鍞満浼氬凡瀛樺湪
+ SaleChanceNotExist = 1900002 // 閿�鍞満浼氫笉瀛樺湪
+ SaleChanceListErr = 1900003 // 鑾峰彇閿�鍞満浼氬垪琛ㄥけ璐�
+ SaleChanceSetErr = 1900004 // 璁剧疆閿�鍞満浼氬け璐�
+ SaleChanceUpdateErr = 1900005 // 鏇存柊閿�鍞満浼氬け璐�
+ SaleChanceDeleteErr = 1900006 // 鍒犻櫎閿�鍞満浼氬け璐�
+
+ SaleStageExist = 2000001 // 閿�鍞樁娈靛凡瀛樺湪
+ SaleStageNotExist = 2000002 // 閿�鍞樁娈典笉瀛樺湪
+ SaleStageListErr = 2000003 // 鑾峰彇閿�鍞樁娈靛垪琛ㄥけ璐�
+ SaleStageSetErr = 2000004 // 璁剧疆閿�鍞樁娈靛け璐�
+
+ SaleTypeExist = 2100001 // 閿�鍞被鍨嬪凡瀛樺湪
+ SaleTypeNotExist = 2100002 // 閿�鍞被鍨嬩笉瀛樺湪
+ SaleTypeListErr = 2100003 // 鑾峰彇閿�鍞被鍨嬪垪琛ㄥけ璐�
+ SaleTypeSetErr = 2100004 // 璁剧疆閿�鍞被鍨嬪け璐�
+ SaleTypeUpdateErr = 2100005 // 鏇存柊閿�鍞被鍨嬪け璐�
+ SaleTypeDeleteErr = 2100006 // 鍒犻櫎閿�鍞被鍨嬪け璐�
+
+ RegularCustomersExist = 2200001 // 鍥哄畾瀹㈡埛宸插瓨鍦�
+ RegularCustomersNotExist = 2200002 // 鍥哄畾瀹㈡埛涓嶅瓨鍦�
+ RegularCustomersListErr = 2200003 // 鑾峰彇鍥哄畾瀹㈡埛鍒楄〃澶辫触
+ RegularCustomersSetErr = 2200004 // 璁剧疆鍥哄畾瀹㈡埛澶辫触
+ RegularCustomersUpdateErr = 2200005 // 鏇存柊鍥哄畾瀹㈡埛澶辫触
+ RegularCustomersDeleteErr = 2200006 // 鍒犻櫎鍥哄畾瀹㈡埛澶辫触
+
+ PossibilityExist = 2300001 // 閿�鍞満浼氬彲鑳芥�у凡瀛樺湪
+ PossibilityNotExist = 2300002 // 閿�鍞満浼氬彲鑳芥�т笉瀛樺湪
+ PossibilityListErr = 2300003 // 鑾峰彇閿�鍞満浼氬彲鑳芥�у垪琛ㄥけ璐�
+ PossibilitySetErr = 2300004 // 璁剧疆閿�鍞満浼氬彲鑳芥�уけ璐�
+ PossibilityUpdateErr = 2300005 // 鏇存柊閿�鍞満浼氬彲鑳芥�уけ璐�
+ PossibilityDeleteErr = 2300006 // 鍒犻櫎閿�鍞満浼氬彲鑳芥�уけ璐�
+
+ StatusExist = 2400001 // 閿�鍞満浼氱姸鎬佸凡瀛樺湪
+ StatusNotExist = 2400002 // 閿�鍞満浼氱姸鎬佷笉瀛樺湪
+ StatusListErr = 2400003 // 鑾峰彇閿�鍞満浼氱姸鎬佸垪琛ㄥけ璐�
+ StatusSetErr = 2400004 // 璁剧疆閿�鍞満浼氱姸鎬佸け璐�
+ StatusUpdateErr = 2400005 // 鏇存柊閿�鍞満浼氱姸鎬佸け璐�
+ StatusDeleteErr = 2400006 // 鍒犻櫎閿�鍞満浼氱姸鎬佸け璐�
+
+ QuotationExist = 2500001 // 鎶ヤ环鍗曞凡瀛樺湪
+ QuotationNotExist = 2500002 // 鎶ヤ环鍗曚笉瀛樺湪
+ QuotationListErr = 2500003 // 鑾峰彇鎶ヤ环鍗曞垪琛ㄥけ璐�
+ QuotationSetErr = 2500004 // 璁剧疆鎶ヤ环鍗曞け璐�
+ QuotationUpdateErr = 2500005 // 鏇存柊鎶ヤ环鍗曞け璐�
+ QuotationDeleteErr = 2500006 // 鍒犻櫎鎶ヤ环鍗曞け璐�
+
+ MasterOrderExist = 2600001 // 涓昏鍗曞凡瀛樺湪
+ MasterOrderNotExist = 2600002 // 涓昏鍗曚笉瀛樺湪
+ MasterOrderListErr = 2600003 // 鑾峰彇涓昏鍗曞垪琛ㄥけ璐�
+ MasterOrderSetErr = 2600004 // 璁剧疆涓昏鍗曞け璐�
+ MasterOrderUpdateErr = 2600005 // 鏇存柊涓昏鍗曞け璐�
+ MasterOrderDeleteErr = 2600006 // 鍒犻櫎涓昏鍗曞け璐�
+
+ SubOrderExist = 2700001 // 瀛愯鍗曞凡瀛樺湪
+ SubOrderNotExist = 2700002 // 瀛愯鍗曚笉瀛樺湪
+ SubOrderListErr = 2700003 // 鑾峰彇瀛愯鍗曞垪琛ㄥけ璐�
+ SubOrderSetErr = 2700004 // 璁剧疆瀛愯鍗曞け璐�
+ SubOrderUpdateErr = 2700005 // 鏇存柊瀛愯鍗曞け璐�
+ SubOrderDeleteErr = 2700006 // 鍒犻櫎瀛愯鍗曞け璐�
+
+ SalesDetailsExist = 2800001 // 閿�鍞槑缁嗗凡瀛樺湪
+ SalesDetailsNotExist = 2800002 // 閿�鍞槑缁嗕笉瀛樺湪
+ SalesDetailsListErr = 2800003 // 鑾峰彇閿�鍞槑缁嗗垪琛ㄥけ璐�
+ SalesDetailsSetErr = 2800004 // 璁剧疆閿�鍞槑缁嗗け璐�
+ SalesDetailsUpdateErr = 2800005 // 鏇存柊閿�鍞槑缁嗗け璐�
+ SalesDetailsDeleteErr = 2800006 // 鍒犻櫎閿�鍞槑缁嗗け璐�
+
+ SalesReturnExist = 2900001 // 閿�鍞��璐у崟宸插瓨鍦�
+ SalesReturnNotExist = 2900002 // 閿�鍞��璐у崟涓嶅瓨鍦�
+ SalesReturnListErr = 2900003 // 鑾峰彇閿�鍞��璐у崟鍒楄〃澶辫触
+ SalesReturnSetErr = 2900004 // 璁剧疆閿�鍞��璐у崟澶辫触
+ SalesReturnUpdateErr = 2900005 // 鏇存柊閿�鍞��璐у崟澶辫触
+ SalesReturnDeleteErr = 2900006 // 鍒犻櫎閿�鍞��璐у崟澶辫触
+
+ SalesRefundExist = 3000001 // 閿�鍞��娆惧崟宸插瓨鍦�
+ SalesRefundNotExist = 3000002 // 閿�鍞��娆惧崟涓嶅瓨鍦�
+ SalesRefundListErr = 3000003 // 鑾峰彇閿�鍞��娆惧崟鍒楄〃澶辫触
+ SalesRefundSetErr = 3000004 // 璁剧疆閿�鍞��娆惧崟澶辫触
+ SalesRefundUpdateErr = 3000005 // 鏇存柊閿�鍞��娆惧崟澶辫触
+ SalesRefundDeleteErr = 3000006 // 鍒犻櫎閿�鍞��娆惧崟澶辫触
+
+ ContractExist = 3100001 // 鍚堝悓宸插瓨鍦�
+ ContractNotExist = 3100002 // 鍚堝悓涓嶅瓨鍦�
+ ContractListErr = 3100003 // 鑾峰彇鍚堝悓鍒楄〃澶辫触
+ ContractSetErr = 3100004 // 璁剧疆鍚堝悓澶辫触
+ ContractUpdateErr = 3100005 // 鏇存柊鍚堝悓澶辫触
+ ContractDeleteErr = 3100006 // 鍒犻櫎鍚堝悓澶辫触
+
+ PlanExist = 3200001 // 璁″垝宸插瓨鍦�
+ PlanNotExist = 3200002 // 璁″垝涓嶅瓨鍦�
+ PlanListErr = 3200003 // 鑾峰彇璁″垝鍒楄〃澶辫触
+ PlanSetErr = 3200004 // 璁剧疆璁″垝澶辫触
+ PlanUpdateErr = 3200005 // 鏇存柊璁″垝澶辫触
+ PlanDeleteErr = 3200006 // 鍒犻櫎璁″垝澶辫触
+
+ SContractExist = 3300001 // 鏈嶅姟鍚堝悓宸插瓨鍦�
+ SContractNotExist = 3300002 // 鏈嶅姟鍚堝悓涓嶅瓨鍦�
+ SContractListErr = 3300003 // 鑾峰彇鏈嶅姟鍚堝悓鍒楄〃澶辫触
+ SContractSetErr = 3300004 // 璁剧疆鏈嶅姟鍚堝悓澶辫触
+ SContractUpdateErr = 3300005 // 鏇存柊鏈嶅姟鍚堝悓澶辫触
+ SContractDeleteErr = 3300006 // 鍒犻櫎鏈嶅姟鍚堝悓澶辫触
+
+ OrderManageExist = 3400001 // 璁㈠崟绠$悊宸插瓨鍦�
+ OrderManageNotExist = 3400002 // 璁㈠崟绠$悊涓嶅瓨鍦�
+ OrderManageListErr = 3400003 // 鑾峰彇璁㈠崟绠$悊鍒楄〃澶辫触
+ OrderManageSetErr = 3400004 // 璁剧疆璁㈠崟绠$悊澶辫触
+ OrderManageUpdateErr = 3400005 // 鏇存柊璁㈠崟绠$悊澶辫触
+ OrderManageDeleteErr = 3400006 // 鍒犻櫎璁㈠崟绠$悊澶辫触
+
+ ServiceFollowupExist = 3500001 // 鏈嶅姟璺熻繘宸插瓨鍦�
+ ServiceFollowupNotExist = 3500002 // 鏈嶅姟璺熻繘涓嶅瓨鍦�
+ ServiceFollowupListErr = 3500003 // 鑾峰彇鏈嶅姟璺熻繘鍒楄〃澶辫触
+ ServiceFollowupSetErr = 3500004 // 璁剧疆鏈嶅姟璺熻繘澶辫触
+ ServiceFollowupUpdateErr = 3500005 // 鏇存柊鏈嶅姟璺熻繘澶辫触
+ ServiceFollowupDeleteErr = 3500006 // 鍒犻櫎鏈嶅姟璺熻繘澶辫触
+
+ CustomerServiceSheetExist = 3600001 // 瀹㈡湇鍗曞凡瀛樺湪
+ CustomerServiceSheetNotExist = 3600002 // 瀹㈡湇鍗曚笉瀛樺湪
+ CustomerServiceSheetListErr = 3600003 // 鑾峰彇瀹㈡湇鍗曞垪琛ㄥけ璐�
+ CustomerServiceSheetSetErr = 3600004 // 璁剧疆瀹㈡湇鍗曞け璐�
+ CustomerServiceSheetUpdateErr = 3600005 // 鏇存柊瀹㈡湇鍗曞け璐�
+ CustomerServiceSheetDeleteErr = 3600006 // 鍒犻櫎瀹㈡湇鍗曞け璐�
+
+ ServiceFeeManageExist = 3700001 // 鏈嶅姟璐圭鐞嗗凡瀛樺湪
+ ServiceFeeManageNotExist = 3700002 // 鏈嶅姟璐圭鐞嗕笉瀛樺湪
+ ServiceFeeManageListErr = 3700003 // 鑾峰彇鏈嶅姟璐圭鐞嗗垪琛ㄥけ璐�
+ ServiceFeeManageSetErr = 3700004 // 璁剧疆鏈嶅姟璐圭鐞嗗け璐�
+ ServiceFeeManageUpdateErr = 3700005 // 鏇存柊鏈嶅姟璐圭鐞嗗け璐�
+ ServiceFeeManageDeleteErr = 3700006 // 鍒犻櫎鏈嶅姟璐圭鐞嗗け璐�
+
+ RoleExist = 3800001 // 瑙掕壊宸插瓨鍦�
+ RoleNotExist = 3800002 // 瑙掕壊涓嶅瓨鍦�
+ RoleListErr = 3800003 // 鑾峰彇瑙掕壊鍒楄〃澶辫触
+ RoleSetErr = 3800004 // 璁剧疆瑙掕壊澶辫触
+ RoleUpdateErr = 3800005 // 鏇存柊瑙掕壊澶辫触
+ RoleDeleteErr = 3800006 // 鍒犻櫎瑙掕壊澶辫触
+ RoleDeleteErr1 = 3800007 // 璇ヨ鑹蹭笅瀛樺湪鐢ㄦ埛锛屾棤娉曞垹闄�
+
+ MenuListErr = 3900001 // 鑾峰彇鑿滃崟鍒楄〃澶辫触
+ SetMenuAuthorityErr = 3900002 // 璁剧疆鑿滃崟鏉冮檺澶辫触
+
+ DepartmentExist = 4000001 // 閮ㄩ棬宸插瓨鍦�
+ DepartmentNotExist = 4000002 // 閮ㄩ棬涓嶅瓨鍦�
+ DepartmentListErr = 4000003 // 鑾峰彇閮ㄩ棬鍒楄〃澶辫触
+ DepartmentSetErr = 4000004 // 璁剧疆閮ㄩ棬澶辫触
+ DepartmentUpdateErr = 4000005 // 鏇存柊閮ㄩ棬澶辫触
+ DepartmentDeleteErr = 4000006 // 鍒犻櫎閮ㄩ棬澶辫触
+ DepartmentDeleteErr1 = 4000007 // 璇ラ儴闂ㄤ笅瀛樺湪鐢ㄦ埛锛屾棤娉曞垹闄�
+
+ VettingExist = 4100001 // 瀹℃壒宸插瓨鍦�
+ VettingNotExist = 4100002 // 瀹℃壒涓嶅瓨鍦�
+ VettingListErr = 4100003 // 鑾峰彇瀹℃壒鍒楄〃澶辫触
+ VettingSetErr = 4100004 // 璁剧疆瀹℃壒澶辫触
+ VettingNotBelongToUser = 4100005 // 瀹℃壒涓嶅睘浜庡綋鍓嶇敤鎴�
+
+ SatisfactionExist = 4200001 // 婊℃剰搴﹀凡瀛樺湪
+ SatisfactionNotExist = 4200002 // 婊℃剰搴︿笉瀛樺湪
+ SatisfactionListErr = 4200003 // 鑾峰彇婊℃剰搴﹀垪琛ㄥけ璐�
+ SatisfactionSetErr = 4200004 // 璁剧疆婊℃剰搴﹀け璐�
+ SatisfactionUpdateErr = 4200005 // 鏇存柊婊℃剰搴﹀け璐�
+
+ TimelyRateExist = 4300001 // 鍙婃椂鐜囧凡瀛樺湪
+ TimelyRateNotExist = 4300002 // 鍙婃椂鐜囦笉瀛樺湪
+ TimelyRateListErr = 4300003 // 鑾峰彇鍙婃椂鐜囧垪琛ㄥけ璐�
+ TimelyRateSetErr = 4300004 // 璁剧疆鍙婃椂鐜囧け璐�
+ TimelyRateUpdateErr = 4300005 // 鏇存柊鍙婃椂鐜囧け璐�
+
+ SolveRateExist = 4400001 // 瑙e喅鐜囧凡瀛樺湪
+ SolveRateNotExist = 4400002 // 瑙e喅鐜囦笉瀛樺湪
+ SolveRateListErr = 4400003 // 鑾峰彇瑙e喅鐜囧垪琛ㄥけ璐�
+ SolveRateSetErr = 4400004 // 璁剧疆瑙e喅鐜囧け璐�
+ SolveRateUpdateErr = 4400005 // 鏇存柊瑙e喅鐜囧け璐�
+
+ IsVisitExist = 4500001 // 鏈嶅姟浜哄憳鏄惁鏉ヨ繃宸插瓨鍦�
+ IsVisitNotExist = 4500002 // 鏈嶅姟浜哄憳鏄惁鏉ヨ繃涓嶅瓨鍦�
+ IsVisitListErr = 4500003 // 鑾峰彇鏈嶅姟浜哄憳鏄惁鏉ヨ繃鍒楄〃澶辫触
+ IsVisitSetErr = 4500004 // 璁剧疆鏈嶅姟浜哄憳鏄惁鏉ヨ繃澶辫触
+ IsVisitUpdateErr = 4500005 // 鏇存柊鏈嶅姟浜哄憳鏄惁鏉ヨ繃澶辫触
+
+ ReportSourceExist = 4600001 // 鎶ヨ〃鏉ユ簮宸插瓨鍦�
+ ReportSourceNotExist = 4600002 // 鎶ヨ〃鏉ユ簮涓嶅瓨鍦�
+ ReportSourceListErr = 4600003 // 鑾峰彇鎶ヨ〃鏉ユ簮鍒楄〃澶辫触
+ ReportSourceSetErr = 4600004 // 璁剧疆鎶ヨ〃鏉ユ簮澶辫触
+ ReportSourceUpdateErr = 4600005 // 鏇存柊鎶ヨ〃鏉ユ簮澶辫触
+
+ OrderTypeExist = 4700001 // 宸ュ崟绫诲瀷宸插瓨鍦�
+ OrderTypeNotExist = 4700002 // 宸ュ崟绫诲瀷涓嶅瓨鍦�
+ OrderTypeListErr = 4700003 // 鑾峰彇宸ュ崟绫诲瀷鍒楄〃澶辫触
+ OrderTypeSetErr = 4700004 // 璁剧疆宸ュ崟绫诲瀷澶辫触
+ OrderTypeUpdateErr = 4700005 // 鏇存柊宸ュ崟绫诲瀷澶辫触
+
+ ServiceContractStatusExist = 4800001 // 鏈嶅姟鍚堝悓鐘舵�佸凡瀛樺湪
+ ServiceContractStatusNotExist = 4400002 // 鏈嶅姟鍚堝悓鐘舵�佷笉瀛樺湪
+ ServiceContractStatusListErr = 4800003 // 鑾峰彇鏈嶅姟鍚堝悓鐘舵�佸垪琛ㄥけ璐�
+ ServiceContractStatusSetErr = 4800004 // 璁剧疆鏈嶅姟鍚堝悓鐘舵�佸け璐�
+ ServiceContractStatusUpdateErr = 4800005 // 鏇存柊鏈嶅姟鍚堝悓鐘舵�佸け璐�
+
+ ServiceContractTypeExist = 4900001 // 鏈嶅姟鍚堝悓绫诲瀷宸插瓨鍦�
+ ServiceContractTypeNotExist = 4900002 // 鏈嶅姟鍚堝悓绫诲瀷涓嶅瓨鍦�
+ ServiceContractTypeListErr = 4900003 // 鑾峰彇鏈嶅姟鍚堝悓绫诲瀷鍒楄〃澶辫触
+ ServiceContractTypeSetErr = 4900004 // 璁剧疆鏈嶅姟鍚堝悓绫诲瀷澶辫触
+ ServiceContractTypeUpdateErr = 4900005 // 鏇存柊鏈嶅姟鍚堝悓绫诲瀷澶辫触
+
+ RefundMethodExist = 5000001 // 閫�娆炬柟寮忓凡瀛樺湪
+ RefundMethodNotExist = 5000002 // 閫�娆炬柟寮忎笉瀛樺湪
+ RefundMethodListErr = 5000003 // 鑾峰彇閫�娆炬柟寮忓垪琛ㄥけ璐�
+ RefundMethodSetErr = 5000004 // 璁剧疆閫�娆炬柟寮忓け璐�
+ RefundMethodUpdateErr = 5000005 // 鏇存柊閫�娆炬柟寮忓け璐�
+
+ IsInvoiceExist = 5100001 // 鏄惁寮�绁ㄥ凡瀛樺湪
+ IsInvoiceNotExist = 5100002 // 鏄惁寮�绁ㄤ笉瀛樺湪
+ IsInvoiceListErr = 5100003 // 鑾峰彇鏄惁寮�绁ㄥ垪琛ㄥけ璐�
+ IsInvoiceSetErr = 5100004 // 璁剧疆鏄惁寮�绁ㄥけ璐�
+ IsInvoiceUpdateErr = 5100005 // 鏇存柊鏄惁寮�绁ㄥけ璐�
+
+ AccountIdExist = 5200001 // 璐︽埛宸插瓨鍦�
+ AccountIdNotExist = 5200002 // 璐︽埛涓嶅瓨鍦�
+ AccountIdListErr = 5200003 // 鑾峰彇璐︽埛鍒楄〃澶辫触
+ AccountIdSetErr = 5200004 // 璁剧疆璐︽埛澶辫触
+ AccountIdUpdateErr = 5200005 // 鏇存柊璐︽埛澶辫触
+
+ SalesReturnStatusExist = 5300001 // 閫�璐у崟鐘舵�佸凡瀛樺湪
+ SalesReturnStatusNotExist = 5300002 // 閫�璐у崟鐘舵�佷笉瀛樺湪
+ SalesReturnStatusListErr = 5300003 // 鑾峰彇閫�璐у崟鐘舵�佸垪琛ㄥけ璐�
+ SalesReturnStatusSetErr = 5300004 // 璁剧疆閫�璐у崟鐘舵�佸け璐�
+ SalesReturnStatusUpdateErr = 5300005 // 鏇存柊閫�璐у崟鐘舵�佸け璐�
+
+ RepositoryExist = 5400001 // 閫�璐т粨搴撳凡瀛樺湪
+ RepositoryNotExist = 5400002 // 閫�璐т粨搴撲笉瀛樺湪
+ RepositoryListErr = 5400003 // 鑾峰彇閫�璐т粨搴撳垪琛ㄥけ璐�
+ RepositorySetErr = 5400004 // 璁剧疆閫�璐т粨搴撳け璐�
+ RepositoryUpdateErr = 5400005 // 鏇存柊閫�璐т粨搴撳け璐�
+
+ QuotationStatusExist = 5500001 // 鎶ヤ环鍗曠姸鎬佸凡瀛樺湪
+ QuotationStatusNotExist = 5500002 // 鎶ヤ环鍗曠姸鎬佷笉瀛樺湪
+ QuotationStatusListErr = 5500003 // 鑾峰彇鎶ヤ环鍗曠姸鎬佸垪琛ㄥけ璐�
+ QuotationStatusSetErr = 5500004 // 璁剧疆鎶ヤ环鍗曠姸鎬佸け璐�
+ QuotationStatusUpdateErr = 5500005 // 鏇存柊鎶ヤ环鍗曠姸鎬佸け璐�
+
+ CurrencyExist = 5600001 // 甯佺宸插瓨鍦�
+ CurrencyNotExist = 5600002 // 甯佺涓嶅瓨鍦�
+ CurrencyListErr = 5600003 // 鑾峰彇甯佺鍒楄〃澶辫触
+ CurrencySetErr = 5600004 // 璁剧疆甯佺澶辫触
+ CurrencyUpdateErr = 5600005 // 鏇存柊甯佺澶辫触
+
+ AssignErr = 5700001 // 鍒嗛厤澶辫触
+ AssignWrongMemberId = 5700002 // 鍒嗛厤澶辫触锛屽垎閰嶄汉涓虹┖
+ AssignWrongId = 5700003 // 鍒嗛厤澶辫触锛屽垎閰嶅璞′负绌�
+ AssignWrongModelType = 5700004 // 鍒嗛厤澶辫触锛屽垎閰嶅璞$被鍨嬩负绌�
+
+)
diff --git a/service/client.go b/service/client.go
index 49c8bb7..ada1710 100644
--- a/service/client.go
+++ b/service/client.go
@@ -1,79 +1,79 @@
-package service
-
-import (
- "aps_crm/model"
- "aps_crm/pkg/ecode"
-)
-
-type ClientService struct{}
-
-func (ClientService) AddClient(client *model.Client) int {
- err := model.NewClientSearch(nil).Create(client)
- if err != nil {
- return ecode.ClientExist
- }
- return ecode.OK
-}
-
-
-// CheckClientExist check client exist
-func CheckClientExist(id int) int {
- _, err := model.NewClientSearch(nil).SetId(id).First()
- if err != nil {
- return ecode.ClientNotExist
- }
-
- return ecode.OK
-}
-
-func (ClientService) UpdateClient(client *model.Client) int {
- // check client exist
- errCode := CheckClientExist(client.Id)
- if errCode != ecode.OK {
- return errCode
- }
-
- // update client
- err := model.NewClientSearch(nil).SetId(client.Id).Update(client)
- if err != nil {
- return ecode.ClientUpdateErr
- }
-
- return ecode.OK
-}
-
-func (ClientService) GetClientList(page, pageSize int, keyword string) ([]*model.Client, int64, int) {
- // get contact list
- contacts, total, err := model.NewClientSearch(nil).SetKeyword(keyword).SetPage(page, pageSize).Find()
- if err != nil {
- return nil, 0, ecode.ClientListErr
- }
- return contacts, total, ecode.OK
-}
-
-func (ClientService) Assign(id, memberId int) int {
- // check client exist
- errCode := CheckClientExist(id)
- if errCode != ecode.OK {
- return errCode
- }
-
- // assign client
- err := model.NewClientSearch(nil).SetId(id).UpdateByMap(map[string]interface{}{
- "member_id": memberId,
- })
- if err != nil {
- return ecode.AssignErr
- }
-
- return ecode.OK
-}
-
-func (ClientService) DeleteClient (ids []int) int {
- // delete client
- err := model.NewClientSearch(nil).SetIds(ids).Delete()
- if err != nil {
- return ecode.ClientDeleteErr
- }
- return ecode.OK
+package service
+
+import (
+ "aps_crm/model"
+ "aps_crm/pkg/ecode"
+)
+
+type ClientService struct{}
+
+func (ClientService) AddClient(client *model.Client) int {
+ err := model.NewClientSearch(nil).Create(client)
+ if err != nil {
+ return ecode.ClientExist
+ }
+ return ecode.OK
+}
+
+
+// CheckClientExist check client exist
+func CheckClientExist(id int) int {
+ _, err := model.NewClientSearch(nil).SetId(id).First()
+ if err != nil {
+ return ecode.ClientNotExist
+ }
+
+ return ecode.OK
+}
+
+func (ClientService) UpdateClient(client *model.Client) int {
+ // check client exist
+ errCode := CheckClientExist(client.Id)
+ if errCode != ecode.OK {
+ return errCode
+ }
+
+ // update client
+ err := model.NewClientSearch(nil).SetId(client.Id).Update(client)
+ if err != nil {
+ return ecode.ClientUpdateErr
+ }
+
+ return ecode.OK
+}
+
+func (ClientService) GetClientList(page, pageSize int, keyword string) ([]*model.Client, int64, int) {
+ // get contact list
+ contacts, total, err := model.NewClientSearch(nil).SetKeyword(keyword).SetPage(page, pageSize).Find()
+ if err != nil {
+ return nil, 0, ecode.ClientListErr
+ }
+ return contacts, total, ecode.OK
+}
+
+func (ClientService) Assign(id, memberId int) int {
+ // check client exist
+ errCode := CheckClientExist(id)
+ if errCode != ecode.OK {
+ return errCode
+ }
+
+ // assign client
+ err := model.NewClientSearch(nil).SetId(id).UpdateByMap(map[string]interface{}{
+ "member_id": memberId,
+ })
+ if err != nil {
+ return ecode.AssignErr
+ }
+
+ return ecode.OK
+}
+
+func (ClientService) DeleteClient (ids []int) int {
+ // delete client
+ err := model.NewClientSearch(nil).SetIds(ids).Delete()
+ if err != nil {
+ return ecode.ClientDeleteErr
+ }
+ return ecode.OK
}
\ No newline at end of file
diff --git a/service/followRecord.go b/service/followRecord.go
index 0fcc278..e765804 100644
--- a/service/followRecord.go
+++ b/service/followRecord.go
@@ -1,65 +1,65 @@
-package service
-
-import (
- "aps_crm/model"
- "aps_crm/pkg/ecode"
-)
-
-type FollowRecordService struct{}
-
-func (FollowRecordService) AddFollowRecord(followRecord *model.FollowRecord) int {
- err := model.NewFollowRecordSearch().Create(followRecord)
- if err != nil {
- return ecode.FollowRecordExist
- }
- return ecode.OK
-}
-
-func (FollowRecordService) DeleteFollowRecord(id int) int {
- // check followRecord exist
- _, err := model.NewFollowRecordSearch().SetId(id).First()
- if err != nil {
- return ecode.FollowRecordNotExist
- }
-
- // delete followRecord
- err = model.NewFollowRecordSearch().SetId(id).Delete()
- if err != nil {
- return ecode.FollowRecordDeleteErr
- }
- return ecode.OK
-}
-
-// check followRecord exist
-func checkFollowRecordExist(id int) int {
- _, err := model.NewFollowRecordSearch().SetId(id).First()
- if err != nil {
- return ecode.FollowRecordNotExist
- }
-
- return ecode.OK
-}
-
-func (FollowRecordService) UpdateFollowRecord(followRecord *model.FollowRecord) int {
- // check followRecord exist
- errCode := checkFollowRecordExist(followRecord.Id)
- if errCode != ecode.OK {
- return errCode
- }
-
- // update followRecord
- err := model.NewFollowRecordSearch().SetId(followRecord.Id).Update(followRecord)
- if err != nil {
- return ecode.FollowRecordUpdateErr
- }
- return ecode.OK
-}
-
-func (FollowRecordService) GetFollowRecordList(page, pageSize int, keyword string) ([]*model.FollowRecord, int64, int) {
- // get contact list
- contacts, total, err := model.NewFollowRecordSearch().SetKeyword(keyword).SetPage(page, pageSize).FindAll()
- if err != nil {
- return nil, 0, ecode.FollowRecordListErr
- }
- return contacts, total, ecode.OK
+package service
+
+import (
+ "aps_crm/model"
+ "aps_crm/pkg/ecode"
+)
+
+type FollowRecordService struct{}
+
+func (FollowRecordService) AddFollowRecord(followRecord *model.FollowRecord) int {
+ err := model.NewFollowRecordSearch().Create(followRecord)
+ if err != nil {
+ return ecode.FollowRecordExist
+ }
+ return ecode.OK
+}
+
+func (FollowRecordService) DeleteFollowRecord(id int) int {
+ // check followRecord exist
+ _, err := model.NewFollowRecordSearch().SetId(id).First()
+ if err != nil {
+ return ecode.FollowRecordNotExist
+ }
+
+ // delete followRecord
+ err = model.NewFollowRecordSearch().SetId(id).Delete()
+ if err != nil {
+ return ecode.FollowRecordDeleteErr
+ }
+ return ecode.OK
+}
+
+// check followRecord exist
+func checkFollowRecordExist(id int) int {
+ _, err := model.NewFollowRecordSearch().SetId(id).First()
+ if err != nil {
+ return ecode.FollowRecordNotExist
+ }
+
+ return ecode.OK
+}
+
+func (FollowRecordService) UpdateFollowRecord(followRecord *model.FollowRecord) int {
+ // check followRecord exist
+ errCode := checkFollowRecordExist(followRecord.Id)
+ if errCode != ecode.OK {
+ return errCode
+ }
+
+ // update followRecord
+ err := model.NewFollowRecordSearch().SetId(followRecord.Id).Update(followRecord)
+ if err != nil {
+ return ecode.FollowRecordUpdateErr
+ }
+ return ecode.OK
+}
+
+func (FollowRecordService) GetFollowRecordList(page, pageSize int, keyword string) ([]*model.FollowRecord, int64, int) {
+ // get contact list
+ contacts, total, err := model.NewFollowRecordSearch().SetKeyword(keyword).SetPage(page, pageSize).FindAll()
+ if err != nil {
+ return nil, 0, ecode.FollowRecordListErr
+ }
+ return contacts, total, ecode.OK
}
\ No newline at end of file
--
Gitblit v1.8.0