add
wangpengfei
2023-07-13 a35c7eb12dcce7c650025ba4d801d6ad6f1053c4
add

ServiceFeeManage 服务收费管理
add, Delete, update, list

Updates client information while updating serviceFeeManage through tx
5个文件已添加
14个文件已修改
1287 ■■■■■ 已修改文件
api/v1/client.go 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
api/v1/customerServiceSheet.go 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
api/v1/index.go 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
api/v1/serviceFeeManage.go 156 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
docs/docs.go 327 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
docs/swagger.json 327 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
docs/swagger.yaml 216 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
logs/aps-admin.err.log 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
model/client.go 10 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
model/index.go 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
model/request/serviceFeeManage.go 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
model/response/response.go 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
model/serviceFeeManage.go 85 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pkg/ecode/code.go 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
router/index.go 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
router/serviceFeeManage.go 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service/client.go 12 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service/index.go 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service/serviceFeeManage.go 66 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
api/v1/client.go
@@ -98,6 +98,13 @@
    client.LatestServiceTime = t
    t, err = checkTimeFormat(params.RegistrationTime)
    if err != nil {
        return ecode.InvalidParams, nil
    }
    client.RegistrationTime = t
    client.ClientTypeId = params.ClientTypeId
    client.ClientOriginId = params.ClientOriginId
    client.ClientLevelId = params.ClientLevelId
@@ -105,6 +112,16 @@
    client.Remark = params.Remark
    client.Number = params.Number
    client.ServiceMemberId = params.ServiceMemberId
    client.ProvinceId = params.ProvinceId
    client.CityId = params.CityId
    client.RegionId = params.RegionId
    client.CountryId = params.CountryId
    client.Business.BusinessScope = params.BusinessScope
    client.Business.Representative = params.Representative
    client.Business.RegisteredCapitalId = params.RegisteredCapitalId
    client.Business.IndustryId = params.IndustryId
    client.Business.EnterpriseNatureId = params.EnterpriseNatureId
    client.Business.EnterpriseScaleId = params.EnterpriseScaleId
    if params.Contact.Name != "" {
        // assign the client's member id to contact when adding
api/v1/customerServiceSheet.go
@@ -71,8 +71,8 @@
//    @Tags        CustomerServiceSheet
//    @Summary    更新客服单
//    @Produce    application/json
//    @Param        object    body        request.UpdateCustomerServiceSheet true    "查询参数"
//    @Success    200    {object}    contextx.Response{}
//    @Param        object    body        request.UpdateCustomerServiceSheet    true    "查询参数"
//    @Success    200        {object}    contextx.Response{}
//    @Router        /api/customerServiceSheet/update/{id} [put]
func (s *CustomerServiceSheetApi) Update(c *gin.Context) {
    var params request.UpdateCustomerServiceSheet
api/v1/index.go
@@ -43,6 +43,7 @@
    OrderManageApi
    ServiceFollowupApi
    CustomerServiceSheetApi
    ServiceFeeManageApi
}
var ApiGroup = new(Group)
@@ -85,4 +86,5 @@
    orderManageService          = service.ServiceGroup.OrderManageService
    serviceFollowupService      = service.ServiceGroup.FollowupService
    customerServiceSheetService = service.ServiceGroup.CustomerServiceSheetService
    serviceFeeManageService     = service.ServiceGroup.FeeManageService
)
api/v1/serviceFeeManage.go
New file
@@ -0,0 +1,156 @@
package v1
import (
    "aps_crm/model"
    "aps_crm/model/request"
    "aps_crm/model/response"
    "aps_crm/pkg/contextx"
    "aps_crm/pkg/ecode"
    "github.com/gin-gonic/gin"
    "strconv"
)
type ServiceFeeManageApi struct{}
// Add
//
//    @Tags        ServiceFeeManage
//    @Summary    添加服务费管理
//    @Produce    application/json
//    @Param        object    body        request.AddServiceFeeManage    true    "查询参数"
//    @Success    200        {object}    contextx.Response{}
//    @Router        /api/serviceFeeManage/add [post]
func (s *ServiceFeeManageApi) Add(c *gin.Context) {
    var params request.AddServiceFeeManage
    ctx, ok := contextx.NewContext(c, &params)
    if !ok {
        return
    }
    errCode, serviceFeeManage := checkServiceFeeManageParams(params.ServiceFeeManage)
    if errCode != ecode.OK {
        ctx.Fail(errCode)
        return
    }
    errCode = serviceFeeManageService.AddServiceFeeManage(&serviceFeeManage)
    if errCode != ecode.OK {
        ctx.Fail(errCode)
        return
    }
    ctx.Ok()
}
// Delete
//
//    @Tags        ServiceFeeManage
//    @Summary    删除服务费管理
//    @Produce    application/json
//    @Param        id    path        int    true    "查询参数"
//    @Success    200    {object}    contextx.Response{}
//    @Router        /api/serviceFeeManage/delete/{id} [delete]
func (s *ServiceFeeManageApi) Delete(c *gin.Context) {
    ctx, ok := contextx.NewContext(c, nil)
    if !ok {
        return
    }
    id, _ := strconv.Atoi(c.Param("id"))
    errCode := serviceFeeManageService.DeleteServiceFeeManage(id)
    if errCode != ecode.OK {
        ctx.Fail(errCode)
        return
    }
    ctx.Ok()
}
// Update
//
//    @Tags        ServiceFeeManage
//    @Summary    更新服务费管理
//    @Produce    application/json
//    @Param        object    body        request.UpdateServiceFeeManage    true    "查询参数"
//    @Success    200        {object}    contextx.Response{}
//    @Router        /api/serviceFeeManage/update [put]
func (s *ServiceFeeManageApi) Update(c *gin.Context) {
    var params request.UpdateServiceFeeManage
    ctx, ok := contextx.NewContext(c, &params)
    if !ok {
        return
    }
    errCode, serviceFeeManage := checkServiceFeeManageParams(params.ServiceFeeManage)
    if errCode != ecode.OK {
        ctx.Fail(errCode)
        return
    }
    code, client := checkClientParams(params.Client)
    if code != ecode.OK {
        ctx.Fail(code)
        return
    }
    client.Id = serviceFeeManage.ClientId
    serviceFeeManage.Client = client
    serviceFeeManage.Id = params.Id
    errCode = serviceFeeManageService.UpdateServiceFeeManage(&serviceFeeManage)
    if errCode != ecode.OK {
        ctx.Fail(errCode)
        return
    }
    ctx.Ok()
}
// List
//
//    @Tags        ServiceFeeManage
//    @Summary    服务费管理列表
//    @Produce    application/json
//    @Success    200    {object}    contextx.Response{data=response.ServiceFeeManageResponse}
//    @Router        /api/serviceFeeManage/list [get]
func (s *ServiceFeeManageApi) List(c *gin.Context) {
    ctx, ok := contextx.NewContext(c, nil)
    if !ok {
        return
    }
    list, errCode := serviceFeeManageService.GetServiceFeeManageList()
    if errCode != ecode.OK {
        ctx.Fail(errCode)
        return
    }
    ctx.OkWithDetailed(response.ServiceFeeManageResponse{
        List: list,
    })
}
// checkServiceFeeManageParams
func checkServiceFeeManageParams(serviceFeeManage request.ServiceFeeManage) (errCode int, result model.ServiceFeeManage) {
    if serviceFeeManage.ClientId == 0 {
        return ecode.InvalidParams, result
    }
    if serviceFeeManage.MemberId == 0 {
        return ecode.InvalidParams, result
    }
    t, err := checkTimeFormat(serviceFeeManage.LatestDate)
    if err != nil {
        return ecode.InvalidParams, result
    }
    result = model.ServiceFeeManage{
        ClientId:   serviceFeeManage.ClientId,
        MemberId:   serviceFeeManage.MemberId,
        Remark:     serviceFeeManage.Remark,
        LatestDate: t,
        File:       serviceFeeManage.File,
    }
    return ecode.OK, result
}
docs/docs.go
@@ -3972,6 +3972,125 @@
                }
            }
        },
        "/api/serviceFeeManage/add": {
            "post": {
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "ServiceFeeManage"
                ],
                "summary": "添加服务费管理",
                "parameters": [
                    {
                        "description": "查询参数",
                        "name": "object",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/request.AddServiceFeeManage"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/contextx.Response"
                        }
                    }
                }
            }
        },
        "/api/serviceFeeManage/delete/{id}": {
            "delete": {
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "ServiceFeeManage"
                ],
                "summary": "删除服务费管理",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "查询参数",
                        "name": "id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/contextx.Response"
                        }
                    }
                }
            }
        },
        "/api/serviceFeeManage/list": {
            "get": {
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "ServiceFeeManage"
                ],
                "summary": "服务费管理列表",
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "allOf": [
                                {
                                    "$ref": "#/definitions/contextx.Response"
                                },
                                {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/definitions/response.ServiceFeeManageResponse"
                                        }
                                    }
                                }
                            ]
                        }
                    }
                }
            }
        },
        "/api/serviceFeeManage/update": {
            "put": {
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "ServiceFeeManage"
                ],
                "summary": "更新服务费管理",
                "parameters": [
                    {
                        "description": "查询参数",
                        "name": "object",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/request.UpdateServiceFeeManage"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/contextx.Response"
                        }
                    }
                }
            }
        },
        "/api/serviceFollowup/add": {
            "post": {
                "produces": [
@@ -5008,6 +5127,32 @@
                }
            }
        },
        "model.CustomerServiceSheet": {
            "type": "object",
            "properties": {
                "handleStatus": {
                    "type": "integer"
                },
                "id": {
                    "type": "integer"
                },
                "memberId": {
                    "type": "integer"
                },
                "number": {
                    "type": "string"
                },
                "priority": {
                    "type": "integer"
                },
                "serviceFollowupId": {
                    "type": "integer"
                },
                "serviceMode": {
                    "type": "integer"
                }
            }
        },
        "model.EnterpriseNature": {
            "type": "object",
            "properties": {
@@ -5659,6 +5804,32 @@
                }
            }
        },
        "model.ServiceFeeManage": {
            "type": "object",
            "properties": {
                "client": {
                    "$ref": "#/definitions/model.Client"
                },
                "client_id": {
                    "type": "integer"
                },
                "file": {
                    "type": "string"
                },
                "id": {
                    "type": "integer"
                },
                "latest_date": {
                    "type": "string"
                },
                "member_id": {
                    "type": "integer"
                },
                "remark": {
                    "type": "string"
                }
            }
        },
        "model.ServiceFollowup": {
            "type": "object",
            "properties": {
@@ -5667,6 +5838,9 @@
                },
                "contactId": {
                    "type": "integer"
                },
                "customerServiceSheet": {
                    "$ref": "#/definitions/model.CustomerServiceSheet"
                },
                "file": {
                    "type": "string"
@@ -6506,6 +6680,26 @@
                }
            }
        },
        "request.AddServiceFeeManage": {
            "type": "object",
            "properties": {
                "client_id": {
                    "type": "integer"
                },
                "file": {
                    "type": "string"
                },
                "latest_date": {
                    "type": "string"
                },
                "member_id": {
                    "type": "integer"
                },
                "remark": {
                    "type": "string"
                }
            }
        },
        "request.AddServiceFollowup": {
            "type": "object",
            "properties": {
@@ -6608,6 +6802,102 @@
                "pos": {
                    "description": "用户岗位",
                    "type": "string"
                }
            }
        },
        "request.Client": {
            "type": "object",
            "properties": {
                "business_scope": {
                    "description": "经营范围",
                    "type": "string"
                },
                "city_id": {
                    "type": "integer"
                },
                "client_level_id": {
                    "description": "客户等级ID",
                    "type": "integer"
                },
                "client_origin_id": {
                    "description": "客户来源ID",
                    "type": "integer"
                },
                "client_status_id": {
                    "description": "客户状态ID",
                    "type": "integer"
                },
                "client_type_id": {
                    "description": "客户类型ID",
                    "type": "integer"
                },
                "contact": {
                    "$ref": "#/definitions/request.Contact"
                },
                "country_id": {
                    "type": "integer"
                },
                "detail_address": {
                    "description": "详细地址",
                    "type": "string"
                },
                "enterprise_nature_id": {
                    "description": "企业性质",
                    "type": "integer"
                },
                "enterprise_scale_id": {
                    "description": "企业规模",
                    "type": "integer"
                },
                "industry_id": {
                    "description": "所属行业",
                    "type": "integer"
                },
                "latest_service_time": {
                    "description": "最晚服务时间",
                    "type": "string"
                },
                "member_id": {
                    "description": "销售负责人ID",
                    "type": "integer"
                },
                "name": {
                    "description": "公司名称",
                    "type": "string"
                },
                "next_visit_time": {
                    "description": "下次回访时间",
                    "type": "string"
                },
                "number": {
                    "description": "公司编号",
                    "type": "string"
                },
                "province_id": {
                    "type": "integer"
                },
                "region_id": {
                    "type": "integer"
                },
                "registered_capital_id": {
                    "description": "注册资金",
                    "type": "integer"
                },
                "registration_time": {
                    "description": "注册时间",
                    "type": "string"
                },
                "remark": {
                    "description": "备注",
                    "type": "string"
                },
                "representative": {
                    "description": "法人代表",
                    "type": "string"
                },
                "service_member_id": {
                    "description": "服务负责人ID",
                    "type": "integer"
                }
            }
        },
@@ -8089,6 +8379,32 @@
                }
            }
        },
        "request.UpdateServiceFeeManage": {
            "type": "object",
            "properties": {
                "client": {
                    "$ref": "#/definitions/request.Client"
                },
                "client_id": {
                    "type": "integer"
                },
                "file": {
                    "type": "string"
                },
                "id": {
                    "type": "integer"
                },
                "latest_date": {
                    "type": "string"
                },
                "member_id": {
                    "type": "integer"
                },
                "remark": {
                    "type": "string"
                }
            }
        },
        "request.UpdateServiceFollowup": {
            "type": "object",
            "properties": {
@@ -8528,6 +8844,17 @@
                }
            }
        },
        "response.ServiceFeeManageResponse": {
            "type": "object",
            "properties": {
                "list": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/model.ServiceFeeManage"
                    }
                }
            }
        },
        "response.ServiceFollowupResponse": {
            "type": "object",
            "properties": {
docs/swagger.json
@@ -3960,6 +3960,125 @@
                }
            }
        },
        "/api/serviceFeeManage/add": {
            "post": {
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "ServiceFeeManage"
                ],
                "summary": "添加服务费管理",
                "parameters": [
                    {
                        "description": "查询参数",
                        "name": "object",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/request.AddServiceFeeManage"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/contextx.Response"
                        }
                    }
                }
            }
        },
        "/api/serviceFeeManage/delete/{id}": {
            "delete": {
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "ServiceFeeManage"
                ],
                "summary": "删除服务费管理",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "查询参数",
                        "name": "id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/contextx.Response"
                        }
                    }
                }
            }
        },
        "/api/serviceFeeManage/list": {
            "get": {
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "ServiceFeeManage"
                ],
                "summary": "服务费管理列表",
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "allOf": [
                                {
                                    "$ref": "#/definitions/contextx.Response"
                                },
                                {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/definitions/response.ServiceFeeManageResponse"
                                        }
                                    }
                                }
                            ]
                        }
                    }
                }
            }
        },
        "/api/serviceFeeManage/update": {
            "put": {
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "ServiceFeeManage"
                ],
                "summary": "更新服务费管理",
                "parameters": [
                    {
                        "description": "查询参数",
                        "name": "object",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/request.UpdateServiceFeeManage"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/contextx.Response"
                        }
                    }
                }
            }
        },
        "/api/serviceFollowup/add": {
            "post": {
                "produces": [
@@ -4996,6 +5115,32 @@
                }
            }
        },
        "model.CustomerServiceSheet": {
            "type": "object",
            "properties": {
                "handleStatus": {
                    "type": "integer"
                },
                "id": {
                    "type": "integer"
                },
                "memberId": {
                    "type": "integer"
                },
                "number": {
                    "type": "string"
                },
                "priority": {
                    "type": "integer"
                },
                "serviceFollowupId": {
                    "type": "integer"
                },
                "serviceMode": {
                    "type": "integer"
                }
            }
        },
        "model.EnterpriseNature": {
            "type": "object",
            "properties": {
@@ -5647,6 +5792,32 @@
                }
            }
        },
        "model.ServiceFeeManage": {
            "type": "object",
            "properties": {
                "client": {
                    "$ref": "#/definitions/model.Client"
                },
                "client_id": {
                    "type": "integer"
                },
                "file": {
                    "type": "string"
                },
                "id": {
                    "type": "integer"
                },
                "latest_date": {
                    "type": "string"
                },
                "member_id": {
                    "type": "integer"
                },
                "remark": {
                    "type": "string"
                }
            }
        },
        "model.ServiceFollowup": {
            "type": "object",
            "properties": {
@@ -5655,6 +5826,9 @@
                },
                "contactId": {
                    "type": "integer"
                },
                "customerServiceSheet": {
                    "$ref": "#/definitions/model.CustomerServiceSheet"
                },
                "file": {
                    "type": "string"
@@ -6494,6 +6668,26 @@
                }
            }
        },
        "request.AddServiceFeeManage": {
            "type": "object",
            "properties": {
                "client_id": {
                    "type": "integer"
                },
                "file": {
                    "type": "string"
                },
                "latest_date": {
                    "type": "string"
                },
                "member_id": {
                    "type": "integer"
                },
                "remark": {
                    "type": "string"
                }
            }
        },
        "request.AddServiceFollowup": {
            "type": "object",
            "properties": {
@@ -6596,6 +6790,102 @@
                "pos": {
                    "description": "用户岗位",
                    "type": "string"
                }
            }
        },
        "request.Client": {
            "type": "object",
            "properties": {
                "business_scope": {
                    "description": "经营范围",
                    "type": "string"
                },
                "city_id": {
                    "type": "integer"
                },
                "client_level_id": {
                    "description": "客户等级ID",
                    "type": "integer"
                },
                "client_origin_id": {
                    "description": "客户来源ID",
                    "type": "integer"
                },
                "client_status_id": {
                    "description": "客户状态ID",
                    "type": "integer"
                },
                "client_type_id": {
                    "description": "客户类型ID",
                    "type": "integer"
                },
                "contact": {
                    "$ref": "#/definitions/request.Contact"
                },
                "country_id": {
                    "type": "integer"
                },
                "detail_address": {
                    "description": "详细地址",
                    "type": "string"
                },
                "enterprise_nature_id": {
                    "description": "企业性质",
                    "type": "integer"
                },
                "enterprise_scale_id": {
                    "description": "企业规模",
                    "type": "integer"
                },
                "industry_id": {
                    "description": "所属行业",
                    "type": "integer"
                },
                "latest_service_time": {
                    "description": "最晚服务时间",
                    "type": "string"
                },
                "member_id": {
                    "description": "销售负责人ID",
                    "type": "integer"
                },
                "name": {
                    "description": "公司名称",
                    "type": "string"
                },
                "next_visit_time": {
                    "description": "下次回访时间",
                    "type": "string"
                },
                "number": {
                    "description": "公司编号",
                    "type": "string"
                },
                "province_id": {
                    "type": "integer"
                },
                "region_id": {
                    "type": "integer"
                },
                "registered_capital_id": {
                    "description": "注册资金",
                    "type": "integer"
                },
                "registration_time": {
                    "description": "注册时间",
                    "type": "string"
                },
                "remark": {
                    "description": "备注",
                    "type": "string"
                },
                "representative": {
                    "description": "法人代表",
                    "type": "string"
                },
                "service_member_id": {
                    "description": "服务负责人ID",
                    "type": "integer"
                }
            }
        },
@@ -8077,6 +8367,32 @@
                }
            }
        },
        "request.UpdateServiceFeeManage": {
            "type": "object",
            "properties": {
                "client": {
                    "$ref": "#/definitions/request.Client"
                },
                "client_id": {
                    "type": "integer"
                },
                "file": {
                    "type": "string"
                },
                "id": {
                    "type": "integer"
                },
                "latest_date": {
                    "type": "string"
                },
                "member_id": {
                    "type": "integer"
                },
                "remark": {
                    "type": "string"
                }
            }
        },
        "request.UpdateServiceFollowup": {
            "type": "object",
            "properties": {
@@ -8516,6 +8832,17 @@
                }
            }
        },
        "response.ServiceFeeManageResponse": {
            "type": "object",
            "properties": {
                "list": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/model.ServiceFeeManage"
                    }
                }
            }
        },
        "response.ServiceFollowupResponse": {
            "type": "object",
            "properties": {
docs/swagger.yaml
@@ -296,6 +296,23 @@
          $ref: '#/definitions/model.Province'
        type: array
    type: object
  model.CustomerServiceSheet:
    properties:
      handleStatus:
        type: integer
      id:
        type: integer
      memberId:
        type: integer
      number:
        type: string
      priority:
        type: integer
      serviceFollowupId:
        type: integer
      serviceMode:
        type: integer
    type: object
  model.EnterpriseNature:
    properties:
      id:
@@ -723,12 +740,31 @@
      typeId:
        type: integer
    type: object
  model.ServiceFeeManage:
    properties:
      client:
        $ref: '#/definitions/model.Client'
      client_id:
        type: integer
      file:
        type: string
      id:
        type: integer
      latest_date:
        type: string
      member_id:
        type: integer
      remark:
        type: string
    type: object
  model.ServiceFollowup:
    properties:
      clientId:
        type: integer
      contactId:
        type: integer
      customerServiceSheet:
        $ref: '#/definitions/model.CustomerServiceSheet'
      file:
        type: string
      id:
@@ -1293,6 +1329,19 @@
      typeId:
        type: integer
    type: object
  request.AddServiceFeeManage:
    properties:
      client_id:
        type: integer
      file:
        type: string
      latest_date:
        type: string
      member_id:
        type: integer
      remark:
        type: string
    type: object
  request.AddServiceFollowup:
    properties:
      clientId:
@@ -1363,6 +1412,76 @@
      pos:
        description: 用户岗位
        type: string
    type: object
  request.Client:
    properties:
      business_scope:
        description: 经营范围
        type: string
      city_id:
        type: integer
      client_level_id:
        description: 客户等级ID
        type: integer
      client_origin_id:
        description: 客户来源ID
        type: integer
      client_status_id:
        description: 客户状态ID
        type: integer
      client_type_id:
        description: 客户类型ID
        type: integer
      contact:
        $ref: '#/definitions/request.Contact'
      country_id:
        type: integer
      detail_address:
        description: 详细地址
        type: string
      enterprise_nature_id:
        description: 企业性质
        type: integer
      enterprise_scale_id:
        description: 企业规模
        type: integer
      industry_id:
        description: 所属行业
        type: integer
      latest_service_time:
        description: 最晚服务时间
        type: string
      member_id:
        description: 销售负责人ID
        type: integer
      name:
        description: 公司名称
        type: string
      next_visit_time:
        description: 下次回访时间
        type: string
      number:
        description: 公司编号
        type: string
      province_id:
        type: integer
      region_id:
        type: integer
      registered_capital_id:
        description: 注册资金
        type: integer
      registration_time:
        description: 注册时间
        type: string
      remark:
        description: 备注
        type: string
      representative:
        description: 法人代表
        type: string
      service_member_id:
        description: 服务负责人ID
        type: integer
    type: object
  request.Contact:
    properties:
@@ -2363,6 +2482,23 @@
      typeId:
        type: integer
    type: object
  request.UpdateServiceFeeManage:
    properties:
      client:
        $ref: '#/definitions/request.Client'
      client_id:
        type: integer
      file:
        type: string
      id:
        type: integer
      latest_date:
        type: string
      member_id:
        type: integer
      remark:
        type: string
    type: object
  request.UpdateServiceFollowup:
    properties:
      clientId:
@@ -2643,6 +2779,13 @@
      list:
        items:
          $ref: '#/definitions/model.ServiceContract'
        type: array
    type: object
  response.ServiceFeeManageResponse:
    properties:
      list:
        items:
          $ref: '#/definitions/model.ServiceFeeManage'
        type: array
    type: object
  response.ServiceFollowupResponse:
@@ -5099,6 +5242,79 @@
      summary: 更新服务合同
      tags:
      - ServiceContract
  /api/serviceFeeManage/add:
    post:
      parameters:
      - description: 查询参数
        in: body
        name: object
        required: true
        schema:
          $ref: '#/definitions/request.AddServiceFeeManage'
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/contextx.Response'
      summary: 添加服务费管理
      tags:
      - ServiceFeeManage
  /api/serviceFeeManage/delete/{id}:
    delete:
      parameters:
      - description: 查询参数
        in: path
        name: id
        required: true
        type: integer
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/contextx.Response'
      summary: 删除服务费管理
      tags:
      - ServiceFeeManage
  /api/serviceFeeManage/list:
    get:
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            allOf:
            - $ref: '#/definitions/contextx.Response'
            - properties:
                data:
                  $ref: '#/definitions/response.ServiceFeeManageResponse'
              type: object
      summary: 服务费管理列表
      tags:
      - ServiceFeeManage
  /api/serviceFeeManage/update:
    put:
      parameters:
      - description: 查询参数
        in: body
        name: object
        required: true
        schema:
          $ref: '#/definitions/request.UpdateServiceFeeManage'
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/contextx.Response'
      summary: 更新服务费管理
      tags:
      - ServiceFeeManage
  /api/serviceFollowup/add:
    post:
      parameters:
logs/aps-admin.err.log
@@ -350,3 +350,14 @@
[2023-07-13 10:57:45]    [error]    [aps_crm/model.(*ServiceContractSearch).FindAll:80]    trace    {"error": ": unsupported relations for schema ServiceContract", "elapsed": 0.0011591, "rows": 2, "sql": "SELECT * FROM `service_contract`"}
[2023-07-13 14:11:03]    [error]    [aps_crm/model.(*ServiceFollowupSearch).Create:53]    trace    {"error": "Error 1146 (42S02): Table 'aps_crm.service_followup' doesn't exist", "elapsed": 0.0024191, "rows": 0, "sql": "INSERT INTO `service_followup` (`client_id`,`number`,`contact_id`,`service_id`,`member_id`,`plan_id`,`satisfaction`,`timely_rate`,`solve_rate`,`is_visit`,`old_member_id`,`remark`,`file`) VALUES (0,'HF21',0,0,110,0,0,0,0,0,0,'string','string')"}
[2023-07-13 15:00:16]    [error]    [aps_crm/model.(*CustomerServiceSheetSearch).Create:46]    trace    {"error": "Error 1146 (42S02): Table 'aps_crm.customer_service_sheet' doesn't exist", "elapsed": 0.0020622, "rows": 0, "sql": "INSERT INTO `customer_service_sheet` (`member_id`,`number`,`service_mode`,`priority`,`handle_status`,`created_at`,`updated_at`,`deleted_at`) VALUES (110,'HF30',0,0,0,'2023-07-13 15:00:16.507','2023-07-13 15:00:16.507',NULL)"}
[2023-07-13 16:51:08]    [error]    [aps_crm/model.(*ServiceFeeManageSearch).Create:51]    trace    {"error": "Error 1146 (42S02): Table 'aps_crm.service_fee_manage' doesn't exist", "elapsed": 0.0153005, "rows": 0, "sql": "INSERT INTO `service_fee_manage` (`client_id`,`member_id`,`latest_date`,`remark`,`file`,`created_at`,`updated_at`,`deleted_at`) VALUES (11,11,'1970-01-01 08:00:00','string','string','2023-07-13 16:51:08.533','2023-07-13 16:51:08.533',NULL)"}
[2023-07-13 17:00:44]    [error]    [aps_crm/model.(*ServiceFeeManageSearch).Update:56]    trace    {"error": "Error 1292 (22007): Incorrect datetime value: '0000-00-00' for column 'created_at' at row 1", "elapsed": 0.0027936, "rows": 0, "sql": "UPDATE `service_fee_manage` SET `id`=1,`client_id`=11,`member_id`=11,`latest_date`='1970-01-01 08:00:00',`remark`='string',`file`='string',`created_at`='0000-00-00 00:00:00',`updated_at`='2023-07-13 17:00:44.246',`deleted_at`=NULL WHERE id = 1 AND `service_fee_manage`.`deleted_at` IS NULL"}
[2023-07-13 17:01:15]    [error]    [aps_crm/model.(*ServiceFeeManageSearch).Update:56]    trace    {"error": "Error 1292 (22007): Incorrect datetime value: '0000-00-00' for column 'created_at' at row 1", "elapsed": 0.0022256, "rows": 0, "sql": "UPDATE `service_fee_manage` SET `id`=1,`client_id`=11,`member_id`=11,`latest_date`='1970-01-01 08:00:00',`remark`='string',`file`='string',`created_at`='0000-00-00 00:00:00',`updated_at`='2023-07-13 17:01:15.183',`deleted_at`=NULL WHERE id = 1 AND `service_fee_manage`.`deleted_at` IS NULL"}
[2023-07-13 17:08:23]    [error]    [aps_crm/model.(*ServiceFeeManageSearch).Update:56]    trace    {"error": "Error 1292 (22007): Incorrect datetime value: '0000-00-00' for column 'created_at' at row 1", "elapsed": 0.0017581, "rows": 0, "sql": "UPDATE `service_fee_manage` SET `id`=1,`client_id`=11,`member_id`=11,`latest_date`='1970-01-01 08:00:00',`remark`='string',`file`='string',`created_at`='0000-00-00 00:00:00',`updated_at`='2023-07-13 17:08:23.099',`deleted_at`=NULL WHERE id = 1 AND `service_fee_manage`.`deleted_at` IS NULL"}
[2023-07-13 17:48:17]    [error]    [aps_crm/model.(*ClientSearch).Update:70]    trace    {"error": "Error 1292 (22007): Incorrect datetime value: '0000-00-00' for column 'registration_time' at row 1", "elapsed": 0.0058166, "rows": 0, "sql": "UPDATE `clients` SET `id`=11,`name`='string',`number`='string',`client_status_id`=1,`client_type_id`=0,`client_origin_id`=0,`client_level_id`=0,`member_id`=11,`service_member_id`=0,`detail_address`='string',`remark`='string',`next_visit_time`='1970-01-01 08:00:00',`latest_service_time`='1970-01-01 08:00:00',`country_id`=0,`province_id`=0,`city_id`=0,`region_id`=0,`representative`='',`registration_time`='0000-00-00 00:00:00',`registered_capital_id`=0,`industry_id`=0,`enterprise_nature_id`=0,`enterprise_scale_id`=0,`business_scope`='',`created_at`='0000-00-00 00:00:00',`updated_at`='2023-07-13 17:48:17.558',`deleted_at`=NULL WHERE id = 11 AND `clients`.`deleted_at` IS NULL"}
[2023-07-13 17:51:09]    [error]    [aps_crm/model.(*ClientSearch).Update:70]    trace    {"error": "Error 1292 (22007): Incorrect datetime value: '0000-00-00' for column 'registration_time' at row 1", "elapsed": 0.0012249, "rows": 0, "sql": "UPDATE `clients` SET `id`=11,`name`='string',`number`='string',`client_status_id`=1,`client_type_id`=0,`client_origin_id`=0,`client_level_id`=0,`member_id`=11,`service_member_id`=0,`detail_address`='string',`remark`='string',`next_visit_time`='1970-01-01 08:00:00',`latest_service_time`='1970-01-01 08:00:00',`country_id`=0,`province_id`=0,`city_id`=0,`region_id`=0,`representative`='',`registration_time`='0000-00-00 00:00:00',`registered_capital_id`=0,`industry_id`=0,`enterprise_nature_id`=0,`enterprise_scale_id`=0,`business_scope`='',`created_at`='0000-00-00 00:00:00',`updated_at`='2023-07-13 17:51:09.321',`deleted_at`=NULL WHERE id = 11 AND `clients`.`deleted_at` IS NULL"}
[2023-07-13 17:53:30]    [error]    [aps_crm/model.(*ClientSearch).Update:70]    trace    {"error": "Error 1292 (22007): Incorrect datetime value: '0000-00-00' for column 'registration_time' at row 1", "elapsed": 0.0027763, "rows": 0, "sql": "UPDATE `clients` SET `id`=11,`name`='string',`number`='string',`client_status_id`=1,`client_type_id`=0,`client_origin_id`=0,`client_level_id`=0,`member_id`=11,`service_member_id`=0,`detail_address`='string',`remark`='string',`next_visit_time`='1970-01-01 08:00:00',`latest_service_time`='1970-01-01 08:00:00',`country_id`=0,`province_id`=0,`city_id`=0,`region_id`=0,`representative`='',`registration_time`='0000-00-00 00:00:00',`registered_capital_id`=0,`industry_id`=0,`enterprise_nature_id`=0,`enterprise_scale_id`=0,`business_scope`='',`created_at`='0000-00-00 00:00:00',`updated_at`='2023-07-13 17:53:30.214',`deleted_at`=NULL WHERE id = 11 AND `clients`.`deleted_at` IS NULL"}
[2023-07-13 17:58:57]    [error]    [aps_crm/model.(*ClientSearch).Update:70]    trace    {"error": "Error 1292 (22007): Incorrect datetime value: '0000-00-00' for column 'created_at' at row 1", "elapsed": 0.0033448, "rows": 0, "sql": "UPDATE `clients` SET `id`=11,`name`='string',`number`='string',`client_status_id`=1,`client_type_id`=0,`client_origin_id`=0,`client_level_id`=0,`member_id`=11,`service_member_id`=0,`detail_address`='string',`remark`='string',`next_visit_time`='1970-01-01 08:00:00',`latest_service_time`='1970-01-01 08:00:00',`country_id`=0,`province_id`=0,`city_id`=1,`region_id`=0,`representative`='string',`registration_time`='1970-01-01 08:00:00',`registered_capital_id`=0,`industry_id`=0,`enterprise_nature_id`=0,`enterprise_scale_id`=0,`business_scope`='string',`created_at`='0000-00-00 00:00:00',`updated_at`='2023-07-13 17:58:57.549',`deleted_at`=NULL WHERE id = 11 AND `clients`.`deleted_at` IS NULL"}
[2023-07-13 17:59:36]    [error]    [aps_crm/model.(*ClientSearch).Update:70]    trace    {"error": "Error 1292 (22007): Incorrect datetime value: '0000-00-00' for column 'created_at' at row 1", "elapsed": 0.0011543, "rows": 0, "sql": "UPDATE `clients` SET `id`=11,`name`='string',`number`='string',`client_status_id`=1,`client_type_id`=0,`client_origin_id`=0,`client_level_id`=0,`member_id`=11,`service_member_id`=0,`detail_address`='string',`remark`='string',`next_visit_time`='1970-01-01 08:00:00',`latest_service_time`='1970-01-01 08:00:00',`country_id`=0,`province_id`=0,`city_id`=1,`region_id`=0,`representative`='string',`registration_time`='1970-01-01 08:00:00',`registered_capital_id`=0,`industry_id`=0,`enterprise_nature_id`=0,`enterprise_scale_id`=0,`business_scope`='string',`created_at`='0000-00-00 00:00:00',`updated_at`='2023-07-13 17:59:36.66',`deleted_at`=NULL WHERE id = 11 AND `clients`.`deleted_at` IS NULL"}
[2023-07-13 18:01:19]    [error]    [aps_crm/model.(*ClientSearch).Update:70]    trace    {"error": "Error 1292 (22007): Incorrect datetime value: '0000-00-00' for column 'created_at' at row 1", "elapsed": 0.0013602, "rows": 0, "sql": "UPDATE `clients` SET `id`=11,`name`='string',`number`='string',`client_status_id`=1,`client_type_id`=0,`client_origin_id`=0,`client_level_id`=0,`member_id`=11,`service_member_id`=0,`detail_address`='string',`remark`='string',`next_visit_time`='1970-01-01 08:00:00',`latest_service_time`='1970-01-01 08:00:00',`country_id`=0,`province_id`=0,`city_id`=1,`region_id`=0,`representative`='string',`registration_time`='1970-01-01 08:00:00',`registered_capital_id`=0,`industry_id`=0,`enterprise_nature_id`=0,`enterprise_scale_id`=0,`business_scope`='string',`created_at`='0000-00-00 00:00:00',`updated_at`='2023-07-13 18:01:19.088',`deleted_at`=NULL WHERE id = 11 AND `clients`.`deleted_at` IS NULL"}
[2023-07-13 18:01:58]    [error]    [aps_crm/model.(*ClientSearch).Update:70]    trace    {"error": "Error 1062 (23000): Duplicate entry 'string' for key 'name'", "elapsed": 0.0014261, "rows": 0, "sql": "UPDATE `clients` SET `id`=11,`name`='string',`number`='string',`client_status_id`=1,`member_id`=11,`detail_address`='string',`remark`='string',`next_visit_time`='1970-01-01 08:00:00',`latest_service_time`='1970-01-01 08:00:00',`city_id`=1,`representative`='string',`registration_time`='1970-01-01 08:00:00',`business_scope`='string',`updated_at`='2023-07-13 18:01:58.989' WHERE id = 11 AND `clients`.`deleted_at` IS NULL"}
model/client.go
@@ -38,9 +38,13 @@
    return "clients"
}
func NewClientSearch() *ClientSearch {
func NewClientSearch(db *gorm.DB) *ClientSearch {
    if db == nil {
        db = mysqlx.GetDB()
    }
    return &ClientSearch{
        Orm: mysqlx.GetDB(),
        Orm: db,
    }
}
@@ -63,7 +67,7 @@
func (slf *ClientSearch) Update(record *Client) error {
    var db = slf.build()
    return db.Save(record).Error
    return db.Updates(record).Error
}
func (slf *ClientSearch) Delete() error {
model/index.go
@@ -59,6 +59,7 @@
        OrderManage{},
        ServiceFollowup{},
        CustomerServiceSheet{},
        ServiceFeeManage{},
    )
    return err
}
model/request/serviceFeeManage.go
New file
@@ -0,0 +1,19 @@
package request
type AddServiceFeeManage struct {
    ServiceFeeManage
}
type ServiceFeeManage struct {
    ClientId   int    `json:"client_id"`
    MemberId   int    `json:"member_id"`
    LatestDate string `json:"latest_date"`
    Remark     string `json:"remark"`
    File       string `json:"file"`
}
type UpdateServiceFeeManage struct {
    Id     int    `json:"id"`
    Client Client `json:"client"`
    ServiceFeeManage
}
model/response/response.go
@@ -169,4 +169,8 @@
    CustomerServiceSheetResponse struct {
        List []*model.CustomerServiceSheet `json:"list"`
    }
    ServiceFeeManageResponse struct {
        List []*model.ServiceFeeManage `json:"list"`
    }
)
model/serviceFeeManage.go
New file
@@ -0,0 +1,85 @@
package model
import (
    "aps_crm/pkg/mysqlx"
    "gorm.io/gorm"
    "time"
)
type (
    ServiceFeeManage struct {
        Id         int       `json:"id" gorm:"column:id;primaryKey;autoIncrement;not null"`
        ClientId   int       `json:"client_id" gorm:"column:client_id;type:int(11);comment:客户ID"`
        Client     *Client   `json:"client" gorm:"foreignKey:ClientId"`
        MemberId   int       `json:"member_id" gorm:"column:member_id;type:int(11);comment:员工ID"`
        LatestDate time.Time `json:"latest_date" gorm:"column:latest_date;type:datetime;comment:最晚服务时间"`
        Remark     string    `json:"remark" gorm:"column:remark;type:varchar(255);comment:备注"`
        File       string    `json:"file" gorm:"column:file;type:varchar(255);comment:文件"`
        gorm.Model `json:"-"`
    }
    ServiceFeeManageSearch struct {
        ServiceFeeManage
        Orm *gorm.DB
    }
)
func (ServiceFeeManage) TableName() string {
    return "service_fee_manage"
}
func NewServiceFeeManageSearch(db *gorm.DB) *ServiceFeeManageSearch {
    if db == nil {
        db = mysqlx.GetDB()
    }
    return &ServiceFeeManageSearch{
        Orm: db,
    }
}
func (slf *ServiceFeeManageSearch) build() *gorm.DB {
    var db = slf.Orm.Model(&ServiceFeeManage{})
    if slf.Id != 0 {
        db.Where("id = ?", slf.Id)
    }
    if slf.ClientId != 0 {
        db.Where("client_id = ?", slf.ClientId)
    }
    return db
}
func (slf *ServiceFeeManageSearch) Create(record *ServiceFeeManage) error {
    var db = slf.build()
    return db.Create(record).Error
}
func (slf *ServiceFeeManageSearch) Update(record *ServiceFeeManage) error {
    var db = slf.build()
    return db.Updates(record).Error
}
func (slf *ServiceFeeManageSearch) Delete() error {
    var db = slf.build()
    return db.Delete(&ServiceFeeManage{}).Error
}
func (slf *ServiceFeeManageSearch) SetId(id int) *ServiceFeeManageSearch {
    slf.Id = id
    return slf
}
func (slf *ServiceFeeManageSearch) Find() (*ServiceFeeManage, error) {
    var db = slf.build()
    var record = new(ServiceFeeManage)
    err := db.First(record).Error
    return record, err
}
func (slf *ServiceFeeManageSearch) FindAll() ([]*ServiceFeeManage, error) {
    var db = slf.build()
    var records = make([]*ServiceFeeManage, 0)
    err := db.Find(&records).Error
    return records, err
}
pkg/ecode/code.go
@@ -260,4 +260,12 @@
    CustomerServiceSheetSetErr    = 3600004 // 设置客服单失败
    CustomerServiceSheetUpdateErr = 3600005 // 更新客服单失败
    CustomerServiceSheetDeleteErr = 3600006 // 删除客服单失败
    ServiceFeeManageExist     = 3700001 // 服务费管理已存在
    ServiceFeeManageNotExist  = 3700002 // 服务费管理不存在
    ServiceFeeManageListErr   = 3700003 // 获取服务费管理列表失败
    ServiceFeeManageSetErr    = 3700004 // 设置服务费管理失败
    ServiceFeeManageUpdateErr = 3700005 // 更新服务费管理失败
    ServiceFeeManageDeleteErr = 3700006 // 删除服务费管理失败
)
router/index.go
@@ -49,6 +49,7 @@
    OrderManageRouter
    ServiceFollowupRouter
    CustomerServiceSheetRouter
    ServiceFeeManageRouter
}
func InitRouter() *gin.Engine {
@@ -115,6 +116,7 @@
        routerGroup.InitOrderManageRouter(PrivateGroup)          // 注册orderManage路由
        routerGroup.InitServiceFollowupRouter(PrivateGroup)      // 注册serviceFollowup路由
        routerGroup.InitCustomerServiceSheetRouter(PrivateGroup) // 注册customerServiceSheet路由
        routerGroup.InitServiceFeeManageRouter(PrivateGroup)     // 注册serviceFeeManage路由
    }
    return Router
}
router/serviceFeeManage.go
New file
@@ -0,0 +1,19 @@
package router
import (
    v1 "aps_crm/api/v1"
    "github.com/gin-gonic/gin"
)
type ServiceFeeManageRouter struct{}
func (s *ServiceFeeManageRouter) InitServiceFeeManageRouter(router *gin.RouterGroup) {
    serviceFeeManageRouter := router.Group("serviceFeeManage")
    serviceFeeManageApi := v1.ApiGroup.ServiceFeeManageApi
    {
        serviceFeeManageRouter.POST("add", serviceFeeManageApi.Add)             // 添加服务费管理
        serviceFeeManageRouter.DELETE("delete/:id", serviceFeeManageApi.Delete) // 删除服务费管理
        serviceFeeManageRouter.PUT("update", serviceFeeManageApi.Update)        // 更新服务费管理
        serviceFeeManageRouter.GET("list", serviceFeeManageApi.List)            // 获取服务费管理列表
    }
}
service/client.go
@@ -8,7 +8,7 @@
type ClientService struct{}
func (ClientService) AddClient(client *model.Client) int {
    err := model.NewClientSearch().Create(client)
    err := model.NewClientSearch(nil).Create(client)
    if err != nil {
        return ecode.ClientExist
    }
@@ -17,13 +17,13 @@
func (ClientService) DeleteClient(id int) int {
    // check client exist
    _, err := model.NewClientSearch().SetId(id).First()
    _, err := model.NewClientSearch(nil).SetId(id).First()
    if err != nil {
        return ecode.ClientNotExist
    }
    // delete client
    err = model.NewClientSearch().SetId(id).Delete()
    err = model.NewClientSearch(nil).SetId(id).Delete()
    if err != nil {
        return ecode.ClientDeleteErr
    }
@@ -32,7 +32,7 @@
func (ClientService) GetClientList() (int, []*model.Client) {
    // get client list
    clients, err := model.NewClientSearch().Find()
    clients, err := model.NewClientSearch(nil).Find()
    if err != nil {
        return ecode.ClientListErr, nil
    }
@@ -42,7 +42,7 @@
// CheckClientExist check client exist
func CheckClientExist(id int) int {
    _, err := model.NewClientSearch().SetId(id).First()
    _, err := model.NewClientSearch(nil).SetId(id).First()
    if err != nil {
        return ecode.ClientNotExist
    }
@@ -58,7 +58,7 @@
    }
    // update client
    err := model.NewClientSearch().SetId(client.Id).Update(client)
    err := model.NewClientSearch(nil).SetId(client.Id).Update(client)
    if err != nil {
        return ecode.ClientUpdateErr
    }
service/index.go
@@ -38,6 +38,7 @@
    OrderManageService
    FollowupService
    CustomerServiceSheetService
    FeeManageService
}
var ServiceGroup = new(Group)
service/serviceFeeManage.go
New file
@@ -0,0 +1,66 @@
package service
import (
    "aps_crm/model"
    "aps_crm/pkg/ecode"
)
type FeeManageService struct{}
func (FeeManageService) AddServiceFeeManage(serviceFeeManage *model.ServiceFeeManage) int {
    err := model.NewServiceFeeManageSearch(nil).Create(serviceFeeManage)
    if err != nil {
        return ecode.ServiceFeeManageExist
    }
    return ecode.OK
}
func (FeeManageService) DeleteServiceFeeManage(id int) int {
    _, err := model.NewServiceFeeManageSearch(nil).SetId(id).Find()
    if err != nil {
        return ecode.ServiceFeeManageNotExist
    }
    err = model.NewServiceFeeManageSearch(nil).SetId(id).Delete()
    if err != nil {
        return ecode.ServiceFeeManageNotExist
    }
    return ecode.OK
}
func (FeeManageService) GetServiceFeeManageList() ([]*model.ServiceFeeManage, int) {
    list, err := model.NewServiceFeeManageSearch(nil).FindAll()
    if err != nil {
        return nil, ecode.ServiceFeeManageListErr
    }
    return list, ecode.OK
}
func (FeeManageService) UpdateServiceFeeManage(serviceFeeManage *model.ServiceFeeManage) int {
    // check serviceFeeManage exist
    _, err := model.NewServiceFeeManageSearch(nil).SetId(serviceFeeManage.Id).Find()
    if err != nil {
        return ecode.ServiceFeeManageNotExist
    }
    tx := model.NewContactSearch().Orm.Begin()
    err = model.NewServiceFeeManageSearch(tx).SetId(serviceFeeManage.Id).Update(serviceFeeManage)
    if err != nil {
        tx.Rollback()
        return ecode.ServiceFeeManageSetErr
    }
    // update client
    err = model.NewClientSearch(tx).SetId(serviceFeeManage.ClientId).Update(serviceFeeManage.Client)
    if err != nil {
        tx.Rollback()
        return ecode.ClientUpdateErr
    }
    tx.Commit()
    return ecode.OK
}