| | |
| | | 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"
|
| | | )
|
| | |
|
| | | type ClientApi struct{}
|
| | |
|
| | | // Add
|
| | | //
|
| | | // @Tags Client
|
| | | // @Summary 添加客户
|
| | | // @Produce application/json
|
| | | // @Param object body request.AddClient true "查询参数"
|
| | | // @Success 200 {object} contextx.Response{}
|
| | | // @Router /api/client/add [post]
|
| | | func (cli *ClientApi) Add(c *gin.Context) {
|
| | | var params request.AddClient
|
| | | ctx, ok := contextx.NewContext(c, ¶ms)
|
| | | if !ok {
|
| | | return
|
| | | }
|
| | |
|
| | | errCode, client := checkClientParams(params.Client)
|
| | | if errCode != ecode.OK {
|
| | | ctx.Fail(errCode)
|
| | | return
|
| | | }
|
| | |
|
| | | errCode = clientService.AddClient(client, params.SalesLeadsId)
|
| | | if errCode != ecode.OK {
|
| | | ctx.Fail(errCode)
|
| | | return
|
| | | }
|
| | |
|
| | | ctx.Ok()
|
| | | }
|
| | |
|
| | | func checkClientParams(params request.Client) (int, *model.Client) {
|
| | | client := new(model.Client)
|
| | | //if params.Name == "" {
|
| | | // return ecode.InvalidParams, nil
|
| | | //}
|
| | |
|
| | | client.Name = params.Name
|
| | |
|
| | | //if params.ClientStatusId == 0 {
|
| | | // return ecode.InvalidParams, nil
|
| | | //}
|
| | | //client.ClientStatusId = params.ClientStatusId
|
| | | //
|
| | | //if params.MemberId == 0 {
|
| | | // return ecode.InvalidParams, nil
|
| | | //}
|
| | | client.MemberId = params.MemberId
|
| | |
|
| | | t, err := checkTimeFormat(params.NextVisitTime)
|
| | | if err != nil {
|
| | | return ecode.InvalidParams, nil
|
| | | }
|
| | |
|
| | | client.NextVisitTime = t
|
| | |
|
| | | t, err = checkTimeFormat(params.LatestServiceTime)
|
| | | if err != nil {
|
| | | return ecode.InvalidParams, nil
|
| | | }
|
| | |
|
| | | 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.DetailAddress = params.DetailAddress
|
| | | 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
|
| | | params.Contact.MemberId = params.MemberId
|
| | |
|
| | | errCode, contact := checkContactParams(params.Contact)
|
| | | if errCode != ecode.OK {
|
| | | return errCode, nil
|
| | | }
|
| | | client.Contacts = []model.Contact{contact}
|
| | | }
|
| | |
|
| | | return ecode.OK, client
|
| | | }
|
| | |
|
| | | // Delete
|
| | | //
|
| | | // @Tags Client
|
| | | // @Summary 删除客户
|
| | | // @Produce application/json
|
| | | // @Param object body request.DeleteClient true "查询参数"
|
| | | // @Success 200 {object} contextx.Response{}
|
| | | // @Router /api/client/delete [delete]
|
| | | func (cli *ClientApi) Delete(c *gin.Context) {
|
| | | var params request.DeleteClient
|
| | | ctx, ok := contextx.NewContext(c, ¶ms)
|
| | | if !ok {
|
| | | return
|
| | | }
|
| | |
|
| | | errCode := clientService.DeleteClient(params.Ids)
|
| | | if errCode != ecode.OK {
|
| | | ctx.Fail(errCode)
|
| | | return
|
| | | }
|
| | |
|
| | | ctx.Ok()
|
| | | }
|
| | |
|
| | | // Update
|
| | | //
|
| | | // @Tags Client
|
| | | // @Summary 更新客户
|
| | | // @Produce application/json
|
| | | // @Param object body request.UpdateClient true "查询参数"
|
| | | // @Success 200 {object} contextx.Response{}
|
| | | // @Router /api/client/update [put]
|
| | | func (cli *ClientApi) Update(c *gin.Context) {
|
| | | var params request.UpdateClient
|
| | | ctx, ok := contextx.NewContext(c, ¶ms)
|
| | | if !ok {
|
| | | return
|
| | | }
|
| | |
|
| | | errCode, client := checkClientParams(params.Client)
|
| | | if errCode != ecode.OK {
|
| | | ctx.Fail(errCode)
|
| | | return
|
| | | }
|
| | |
|
| | | // check id
|
| | | if params.Id == 0 {
|
| | | ctx.Fail(ecode.InvalidParams)
|
| | | return
|
| | | }
|
| | |
|
| | | client.Id = params.Id
|
| | |
|
| | | errCode = clientService.UpdateClient(client)
|
| | | if errCode != ecode.OK {
|
| | | ctx.Fail(errCode)
|
| | | return
|
| | | }
|
| | |
|
| | | ctx.Ok()
|
| | | }
|
| | |
|
| | | // List
|
| | | //
|
| | | // @Tags Client
|
| | | // @Summary 客户列表
|
| | | // @Produce application/json
|
| | | // @Param object body request.GetClientList true "参数"
|
| | | // @Success 200 {object} contextx.Response{data=response.ClientResponse}
|
| | | // @Router /api/client/list [post]
|
| | | func (cli *ClientApi) List(c *gin.Context) {
|
| | | var params request.GetClientList
|
| | | ctx, ok := contextx.NewContext(c, ¶ms)
|
| | | if !ok {
|
| | | return
|
| | | }
|
| | |
|
| | | clients, total, errCode := clientService.GetClientList(params.Page, params.PageSize, params.SearchMap)
|
| | | if errCode != ecode.OK {
|
| | | ctx.Fail(errCode)
|
| | | return
|
| | | }
|
| | |
|
| | | ctx.OkWithDetailed(response.ClientResponse{
|
| | | List: clients,
|
| | | Count: int(total),
|
| | | })
|
| | | }
|
| | | package v1 |
| | | |
| | | import ( |
| | | "aps_crm/model" |
| | | "aps_crm/model/request" |
| | | "aps_crm/model/response" |
| | | "aps_crm/pkg/contextx" |
| | | "aps_crm/pkg/ecode" |
| | | "github.com/gin-gonic/gin" |
| | | ) |
| | | |
| | | type ClientApi struct{} |
| | | |
| | | // Add |
| | | // |
| | | // @Tags Client |
| | | // @Summary 添加客户 |
| | | // @Produce application/json |
| | | // @Param object body request.AddClient true "查询参数" |
| | | // @Success 200 {object} contextx.Response{} |
| | | // @Router /api/client/add [post] |
| | | func (cli *ClientApi) Add(c *gin.Context) { |
| | | var params request.AddClient |
| | | ctx, ok := contextx.NewContext(c, ¶ms) |
| | | if !ok { |
| | | return |
| | | } |
| | | |
| | | errCode, client := checkClientParams(params.Client) |
| | | if errCode != ecode.OK { |
| | | ctx.Fail(errCode) |
| | | return |
| | | } |
| | | |
| | | errCode = clientService.AddClient(client, params.SalesLeadsId) |
| | | if errCode != ecode.OK { |
| | | ctx.Fail(errCode) |
| | | return |
| | | } |
| | | |
| | | ctx.Ok() |
| | | } |
| | | |
| | | func checkClientParams(params request.Client) (int, *model.Client) { |
| | | client := new(model.Client) |
| | | //if params.Name == "" { |
| | | // return ecode.InvalidParams, nil |
| | | //} |
| | | |
| | | client.Name = params.Name |
| | | |
| | | //if params.ClientStatusId == 0 { |
| | | // return ecode.InvalidParams, nil |
| | | //} |
| | | //client.ClientStatusId = params.ClientStatusId |
| | | // |
| | | //if params.MemberId == 0 { |
| | | // return ecode.InvalidParams, nil |
| | | //} |
| | | |
| | | t, err := checkTimeFormat(params.NextVisitTime) |
| | | if err != nil { |
| | | return ecode.InvalidParams, nil |
| | | } |
| | | |
| | | client.NextVisitTime = t |
| | | |
| | | t, err = checkTimeFormat(params.LatestServiceTime) |
| | | if err != nil { |
| | | return ecode.InvalidParams, nil |
| | | } |
| | | |
| | | 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.DetailAddress = params.DetailAddress |
| | | client.ClientStatusId = params.ClientStatusId |
| | | 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 |
| | | client.MemberId = params.MemberId |
| | | |
| | | if params.Contact.Name != "" { |
| | | // assign the client's member id to contact when adding |
| | | params.Contact.MemberId = params.MemberId |
| | | |
| | | errCode, contact := checkContactParams(params.Contact) |
| | | if errCode != ecode.OK { |
| | | return errCode, nil |
| | | } |
| | | client.Contacts = []model.Contact{contact} |
| | | } |
| | | |
| | | return ecode.OK, client |
| | | } |
| | | |
| | | // Delete |
| | | // |
| | | // @Tags Client |
| | | // @Summary 删除客户 |
| | | // @Produce application/json |
| | | // @Param object body request.DeleteClient true "查询参数" |
| | | // @Success 200 {object} contextx.Response{} |
| | | // @Router /api/client/delete [delete] |
| | | func (cli *ClientApi) Delete(c *gin.Context) { |
| | | var params request.DeleteClient |
| | | ctx, ok := contextx.NewContext(c, ¶ms) |
| | | if !ok { |
| | | return |
| | | } |
| | | |
| | | errCode := clientService.DeleteClient(params.Ids) |
| | | if errCode != ecode.OK { |
| | | ctx.Fail(errCode) |
| | | return |
| | | } |
| | | |
| | | ctx.Ok() |
| | | } |
| | | |
| | | // Update |
| | | // |
| | | // @Tags Client |
| | | // @Summary 更新客户 |
| | | // @Produce application/json |
| | | // @Param object body request.UpdateClient true "查询参数" |
| | | // @Success 200 {object} contextx.Response{} |
| | | // @Router /api/client/update [put] |
| | | func (cli *ClientApi) Update(c *gin.Context) { |
| | | var params request.UpdateClient |
| | | ctx, ok := contextx.NewContext(c, ¶ms) |
| | | if !ok { |
| | | return |
| | | } |
| | | |
| | | errCode, client := checkClientParams(params.Client) |
| | | if errCode != ecode.OK { |
| | | ctx.Fail(errCode) |
| | | return |
| | | } |
| | | |
| | | // check id |
| | | if params.Id == 0 { |
| | | ctx.Fail(ecode.InvalidParams) |
| | | return |
| | | } |
| | | |
| | | client.Id = params.Id |
| | | |
| | | errCode = clientService.UpdateClient(client) |
| | | if errCode != ecode.OK { |
| | | ctx.Fail(errCode) |
| | | return |
| | | } |
| | | |
| | | ctx.Ok() |
| | | } |
| | | |
| | | // List |
| | | // |
| | | // @Tags Client |
| | | // @Summary 客户列表 |
| | | // @Produce application/json |
| | | // @Param object body request.GetClientList true "参数" |
| | | // @Success 200 {object} contextx.Response{data=response.ClientResponse} |
| | | // @Router /api/client/list [post] |
| | | func (cli *ClientApi) List(c *gin.Context) { |
| | | var params request.GetClientList |
| | | ctx, ok := contextx.NewContext(c, ¶ms) |
| | | if !ok { |
| | | return |
| | | } |
| | | |
| | | clients, total, errCode := clientService.GetClientList(params.Page, params.PageSize, params.SearchMap) |
| | | if errCode != ecode.OK { |
| | | ctx.Fail(errCode) |
| | | return |
| | | } |
| | | |
| | | ctx.OkWithDetailed(response.ClientResponse{ |
| | | List: clients, |
| | | Count: int(total), |
| | | }) |
| | | } |