| | |
| | | package v1 |
| | | |
| | | import ( |
| | | "aps_crm/constvar" |
| | | "aps_crm/model" |
| | | "aps_crm/model/request" |
| | | "aps_crm/model/response" |
| | | "aps_crm/pkg/contextx" |
| | | "aps_crm/pkg/ecode" |
| | | "aps_crm/utils" |
| | | "github.com/gin-gonic/gin" |
| | | "strconv" |
| | | ) |
| | | |
| | | type ClientApi struct{} |
| | |
| | | return |
| | | } |
| | | |
| | | // check member exist |
| | | count, err := model.NewClientSearch(nil).SetNumber(client.Number).Count() |
| | | if err != nil { |
| | | ctx.FailWithMsg(ecode.UnknownErr, "编码验证失败") |
| | | return |
| | | } |
| | | if count > 0 { |
| | | ctx.FailWithMsg(ecode.UnknownErr, "编码已存在") |
| | | return |
| | | } |
| | | |
| | | errCode = clientService.AddClient(client) |
| | | errCode = clientService.AddClient(client, params.SalesLeadsId) |
| | | if errCode != ecode.OK { |
| | | ctx.Fail(errCode) |
| | | return |
| | |
| | | //if params.MemberId == 0 { |
| | | // return ecode.InvalidParams, nil |
| | | //} |
| | | client.MemberId = params.MemberId |
| | | |
| | | t, err := checkTimeFormat(params.NextVisitTime) |
| | | if err != nil { |
| | |
| | | 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.Business.IndustryId = params.IndustryId |
| | | client.Business.EnterpriseNatureId = params.EnterpriseNatureId |
| | | client.Business.EnterpriseScaleId = params.EnterpriseScaleId |
| | | client.MemberId = params.MemberId |
| | | client.CodeStandID = params.CodeStandID |
| | | |
| | | if params.Contact.Name != "" { |
| | | // assign the client's member id to contact when adding |
| | | params.Contact.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} |
| | | errCode, contact := checkContactParams(params.Contact) |
| | | if errCode != ecode.OK { |
| | | return errCode, nil |
| | | } |
| | | client.Contacts = []model.Contact{contact} |
| | | //} |
| | | |
| | | return ecode.OK, client |
| | | } |
| | |
| | | // @Tags Client |
| | | // @Summary 删除客户 |
| | | // @Produce application/json |
| | | // @Param id path int true "客户ID" |
| | | // @Param object body request.DeleteClient true "查询参数" |
| | | // @Success 200 {object} contextx.Response{} |
| | | // @Router /api/client/delete/{id} [delete] |
| | | // @Router /api/client/delete [delete] |
| | | func (cli *ClientApi) Delete(c *gin.Context) { |
| | | ctx, ok := contextx.NewContext(c, nil) |
| | | var params request.DeleteClient |
| | | ctx, ok := contextx.NewContext(c, ¶ms) |
| | | if !ok { |
| | | return |
| | | } |
| | | |
| | | id, _ := strconv.Atoi(c.Param("id")) |
| | | errCode := clientService.DeleteClient(id) |
| | | errCode := clientService.DeleteClient(params.Ids) |
| | | if errCode != ecode.OK { |
| | | ctx.Fail(errCode) |
| | | return |
| | |
| | | |
| | | client.Id = params.Id |
| | | |
| | | errCode = clientService.UpdateClient(client) |
| | | errCode = clientService.UpdateClient(client, params.ContactId) |
| | | if errCode != ecode.OK { |
| | | ctx.Fail(errCode) |
| | | return |
| | |
| | | return |
| | | } |
| | | |
| | | clients, errCode := clientService.GetClientList(params.Page, params.PageSize, params.Keyword) |
| | | var isPublic bool |
| | | if params.SearchMap != nil && params.SearchMap["is_public"] != nil { |
| | | if v, ok := params.SearchMap["is_public"].(bool); ok { |
| | | isPublic = v |
| | | } |
| | | } |
| | | if !isPublic { |
| | | userInfo := utils.GetUserInfo(c) |
| | | if userInfo.UserType == constvar.UserTypeSub { |
| | | if params.SearchMap == nil { |
| | | params.SearchMap = make(map[string]interface{}, 0) |
| | | } |
| | | params.SearchMap["member_ids"] = userInfo.SubUserIds |
| | | } |
| | | } |
| | | |
| | | 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: len(clients), |
| | | Count: int(total), |
| | | }) |
| | | } |
| | | |
| | | // CheckName |
| | | // |
| | | // @Tags Client |
| | | // @Summary 检查客户名称是否重复 |
| | | // @Produce application/json |
| | | // @Param object body request.CheckClientName true "参数" |
| | | // @Success 200 {object} contextx.Response{} |
| | | // @Router /api/client/checkName [post] |
| | | func (cli *ClientApi) CheckName(c *gin.Context) { |
| | | var params request.CheckClientName |
| | | ctx, ok := contextx.NewContext(c, ¶ms) |
| | | if !ok { |
| | | return |
| | | } |
| | | |
| | | errCode := clientService.CheckName(params.Name) |
| | | if errCode != ecode.OK { |
| | | ctx.Fail(errCode) |
| | | return |
| | | } |
| | | |
| | | ctx.Ok() |
| | | } |