add
ServiceFeeManage 服务收费管理
add, Delete, update, list
Updates client information while updating serviceFeeManage through tx
| | |
| | | |
| | | 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 |
| | |
| | | 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 |
| | |
| | | // @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 |
| | |
| | | OrderManageApi |
| | | ServiceFollowupApi |
| | | CustomerServiceSheetApi |
| | | ServiceFeeManageApi |
| | | } |
| | | |
| | | var ApiGroup = new(Group) |
| | |
| | | orderManageService = service.ServiceGroup.OrderManageService |
| | | serviceFollowupService = service.ServiceGroup.FollowupService |
| | | customerServiceSheetService = service.ServiceGroup.CustomerServiceSheetService |
| | | serviceFeeManageService = service.ServiceGroup.FeeManageService |
| | | ) |
New file |
| | |
| | | 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, ¶ms) |
| | | 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, ¶ms) |
| | | 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 |
| | | } |
| | |
| | | } |
| | | } |
| | | }, |
| | | "/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": [ |
| | |
| | | } |
| | | } |
| | | }, |
| | | "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": { |
| | |
| | | } |
| | | } |
| | | }, |
| | | "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": { |
| | |
| | | }, |
| | | "contactId": { |
| | | "type": "integer" |
| | | }, |
| | | "customerServiceSheet": { |
| | | "$ref": "#/definitions/model.CustomerServiceSheet" |
| | | }, |
| | | "file": { |
| | | "type": "string" |
| | |
| | | } |
| | | } |
| | | }, |
| | | "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": { |
| | |
| | | "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" |
| | | } |
| | | } |
| | | }, |
| | |
| | | } |
| | | } |
| | | }, |
| | | "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": { |
| | |
| | | } |
| | | } |
| | | }, |
| | | "response.ServiceFeeManageResponse": { |
| | | "type": "object", |
| | | "properties": { |
| | | "list": { |
| | | "type": "array", |
| | | "items": { |
| | | "$ref": "#/definitions/model.ServiceFeeManage" |
| | | } |
| | | } |
| | | } |
| | | }, |
| | | "response.ServiceFollowupResponse": { |
| | | "type": "object", |
| | | "properties": { |
| | |
| | | } |
| | | } |
| | | }, |
| | | "/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": [ |
| | |
| | | } |
| | | } |
| | | }, |
| | | "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": { |
| | |
| | | } |
| | | } |
| | | }, |
| | | "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": { |
| | |
| | | }, |
| | | "contactId": { |
| | | "type": "integer" |
| | | }, |
| | | "customerServiceSheet": { |
| | | "$ref": "#/definitions/model.CustomerServiceSheet" |
| | | }, |
| | | "file": { |
| | | "type": "string" |
| | |
| | | } |
| | | } |
| | | }, |
| | | "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": { |
| | |
| | | "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" |
| | | } |
| | | } |
| | | }, |
| | |
| | | } |
| | | } |
| | | }, |
| | | "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": { |
| | |
| | | } |
| | | } |
| | | }, |
| | | "response.ServiceFeeManageResponse": { |
| | | "type": "object", |
| | | "properties": { |
| | | "list": { |
| | | "type": "array", |
| | | "items": { |
| | | "$ref": "#/definitions/model.ServiceFeeManage" |
| | | } |
| | | } |
| | | } |
| | | }, |
| | | "response.ServiceFollowupResponse": { |
| | | "type": "object", |
| | | "properties": { |
| | |
| | | $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: |
| | |
| | | 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: |
| | |
| | | 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: |
| | |
| | | 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: |
| | |
| | | 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: |
| | |
| | | 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: |
| | |
| | | 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: |
| | |
| | | [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"} |
| | |
| | | return "clients" |
| | | } |
| | | |
| | | func NewClientSearch() *ClientSearch { |
| | | func NewClientSearch(db *gorm.DB) *ClientSearch { |
| | | if db == nil { |
| | | db = mysqlx.GetDB() |
| | | } |
| | | |
| | | return &ClientSearch{ |
| | | Orm: mysqlx.GetDB(), |
| | | Orm: db, |
| | | } |
| | | } |
| | | |
| | |
| | | |
| | | 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 { |
| | |
| | | OrderManage{}, |
| | | ServiceFollowup{}, |
| | | CustomerServiceSheet{}, |
| | | ServiceFeeManage{}, |
| | | ) |
| | | return err |
| | | } |
New file |
| | |
| | | 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 |
| | | } |
| | |
| | | CustomerServiceSheetResponse struct { |
| | | List []*model.CustomerServiceSheet `json:"list"` |
| | | } |
| | | |
| | | ServiceFeeManageResponse struct { |
| | | List []*model.ServiceFeeManage `json:"list"` |
| | | } |
| | | ) |
New file |
| | |
| | | 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 |
| | | } |
| | |
| | | CustomerServiceSheetSetErr = 3600004 // 设置客服单失败 |
| | | CustomerServiceSheetUpdateErr = 3600005 // 更新客服单失败 |
| | | CustomerServiceSheetDeleteErr = 3600006 // 删除客服单失败 |
| | | |
| | | ServiceFeeManageExist = 3700001 // 服务费管理已存在 |
| | | ServiceFeeManageNotExist = 3700002 // 服务费管理不存在 |
| | | ServiceFeeManageListErr = 3700003 // 获取服务费管理列表失败 |
| | | ServiceFeeManageSetErr = 3700004 // 设置服务费管理失败 |
| | | ServiceFeeManageUpdateErr = 3700005 // 更新服务费管理失败 |
| | | ServiceFeeManageDeleteErr = 3700006 // 删除服务费管理失败 |
| | | |
| | | ) |
| | |
| | | OrderManageRouter |
| | | ServiceFollowupRouter |
| | | CustomerServiceSheetRouter |
| | | ServiceFeeManageRouter |
| | | } |
| | | |
| | | func InitRouter() *gin.Engine { |
| | |
| | | routerGroup.InitOrderManageRouter(PrivateGroup) // 注册orderManage路由 |
| | | routerGroup.InitServiceFollowupRouter(PrivateGroup) // 注册serviceFollowup路由 |
| | | routerGroup.InitCustomerServiceSheetRouter(PrivateGroup) // 注册customerServiceSheet路由 |
| | | routerGroup.InitServiceFeeManageRouter(PrivateGroup) // 注册serviceFeeManage路由 |
| | | } |
| | | return Router |
| | | } |
New file |
| | |
| | | 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) // 获取服务费管理列表 |
| | | } |
| | | } |
| | |
| | | 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 |
| | | } |
| | |
| | | |
| | | 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 |
| | | } |
| | |
| | | |
| | | 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 |
| | | } |
| | |
| | | |
| | | // 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 |
| | | } |
| | |
| | | } |
| | | |
| | | // 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 |
| | | } |
| | |
| | | OrderManageService |
| | | FollowupService |
| | | CustomerServiceSheetService |
| | | FeeManageService |
| | | } |
| | | |
| | | var ServiceGroup = new(Group) |
New file |
| | |
| | | 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 |
| | | } |