fix
wangpengfei
2023-08-09 c229f8922a4142a8ae2ac161bb6c121b9c9de672
api/v1/contact.go
@@ -1,172 +1,172 @@
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 ContactApi struct{}
// Add
//
//   @Tags      Contact
//   @Summary   添加联系人
//   @Produce   application/json
//   @Param      object   body      request.AddContact   true   "查询参数"
//   @Success   200      {object}   contextx.Response{}
//   @Router      /api/contact/add [post]
func (con *ContactApi) Add(c *gin.Context) {
   var params request.AddContact
   ctx, ok := contextx.NewContext(c, &params)
   if !ok {
      return
   }
   errCode, contact := checkContactParams(params.Contact)
   if errCode != ecode.OK {
      ctx.Fail(errCode)
      return
   }
   errCode = contactService.AddContact(&contact)
   if errCode != ecode.OK {
      ctx.Fail(errCode)
      return
   }
   ctx.Ok()
}
// Delete
//
//   @Tags      Contact
//   @Summary   删除联系人
//   @Produce   application/json
//   @Param      object   body      request.DeleteContact true   "查询参数"
//   @Success   200   {object}   contextx.Response{}
//   @Router      /api/contact/delete [delete]
func (con *ContactApi) Delete(c *gin.Context) {
   var params request.DeleteContact
   ctx, ok := contextx.NewContext(c, &params)
   if !ok {
      return
   }
   errCode := contactService.DeleteContact(params.Ids)
   if errCode != ecode.OK {
      ctx.Fail(errCode)
      return
   }
   ctx.Ok()
}
// Update
//
//   @Tags      Contact
//   @Summary   更新联系人
//   @Produce   application/json
//   @Param      object   body      request.UpdateContact   true   "查询参数"
//   @Success   200      {object}   contextx.Response{}
//   @Router      /api/contact/update [put]
func (con *ContactApi) Update(c *gin.Context) {
   var params request.UpdateContact
   ctx, ok := contextx.NewContext(c, &params)
   if !ok {
      return
   }
   // check id
   if params.Id == 0 {
      ctx.Fail(ecode.InvalidParams)
      return
   }
   errCode, contact := checkContactParams(params.Contact)
   if errCode != ecode.OK {
      ctx.Fail(errCode)
      return
   }
   contact.Id = params.Id
   errCode = contactService.UpdateContact(&contact)
   if errCode != ecode.OK {
      ctx.Fail(errCode)
      return
   }
   ctx.Ok()
}
func checkContactParams(params request.Contact) (int, model.Contact) {
   var contact model.Contact
   // name not empty
   //if params.Name == "" {
   //   return ecode.InvalidParams, contact
   //}
   contact.Name = params.Name
   contact.Phone = params.Phone
   contact.Email = params.Email
   // check member id not -1
   //if params.MemberId == 0 {
   //   return ecode.InvalidParams, contact
   //}
   contact.MemberId = params.MemberId
   contact.ProvinceId = params.ProvinceId
   contact.CityId = params.CityId
   contact.CountryId = params.CountryId
   contact.RegionId = params.RegionId
   contact.Position = params.Position
   contact.ClientId = params.ClientId
   contact.Desc = params.Desc
   // check number not empty
   //if params.Number == "" {
   //   return ecode.InvalidParams, contact
   //}
   contact.Number = params.Number
   t, err := checkTimeFormat(params.Birthday)
   if err != nil {
      return ecode.InvalidParams, contact
   }
   contact.Birthday = t
   contact.Wechat = params.Wechat
   contact.IsFirst = params.IsFirst
   return ecode.OK, contact
}
// List
//
//   @Tags      Contact
//   @Summary   联系人列表
//   @Produce   application/json
//   @Param      object   body      request.GetContactList   true   "参数"
//   @Success   200      {object}   contextx.Response{data=response.ContactResponse}
//   @Router      /api/contact/list [post]
func (con *ContactApi) List(c *gin.Context) {
   var params request.GetContactList
   ctx, ok := contextx.NewContext(c, &params)
   if !ok {
      return
   }
   contacts, total, errCode := contactService.GetContactList(params.Page, params.PageSize, params.Keyword)
   if errCode != ecode.OK {
      ctx.Fail(errCode)
      return
   }
   ctx.OkWithDetailed(response.ContactResponse{
      List:  contacts,
      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 ContactApi struct{}
// Add
//
//   @Tags      Contact
//   @Summary   添加联系人
//   @Produce   application/json
//   @Param      object   body      request.AddContact   true   "查询参数"
//   @Success   200      {object}   contextx.Response{}
//   @Router      /api/contact/add [post]
func (con *ContactApi) Add(c *gin.Context) {
   var params request.AddContact
   ctx, ok := contextx.NewContext(c, &params)
   if !ok {
      return
   }
   errCode, contact := checkContactParams(params.Contact)
   if errCode != ecode.OK {
      ctx.Fail(errCode)
      return
   }
   errCode = contactService.AddContact(&contact)
   if errCode != ecode.OK {
      ctx.Fail(errCode)
      return
   }
   ctx.Ok()
}
// Delete
//
//   @Tags      Contact
//   @Summary   删除联系人
//   @Produce   application/json
//   @Param      object   body      request.DeleteContact true   "查询参数"
//   @Success   200   {object}   contextx.Response{}
//   @Router      /api/contact/delete [delete]
func (con *ContactApi) Delete(c *gin.Context) {
   var params request.DeleteContact
   ctx, ok := contextx.NewContext(c, &params)
   if !ok {
      return
   }
   errCode := contactService.DeleteContact(params.Ids)
   if errCode != ecode.OK {
      ctx.Fail(errCode)
      return
   }
   ctx.Ok()
}
// Update
//
//   @Tags      Contact
//   @Summary   更新联系人
//   @Produce   application/json
//   @Param      object   body      request.UpdateContact   true   "查询参数"
//   @Success   200      {object}   contextx.Response{}
//   @Router      /api/contact/update [put]
func (con *ContactApi) Update(c *gin.Context) {
   var params request.UpdateContact
   ctx, ok := contextx.NewContext(c, &params)
   if !ok {
      return
   }
   // check id
   if params.Id == 0 {
      ctx.Fail(ecode.InvalidParams)
      return
   }
   errCode, contact := checkContactParams(params.Contact)
   if errCode != ecode.OK {
      ctx.Fail(errCode)
      return
   }
   contact.Id = params.Id
   errCode = contactService.UpdateContact(&contact)
   if errCode != ecode.OK {
      ctx.Fail(errCode)
      return
   }
   ctx.Ok()
}
func checkContactParams(params request.Contact) (int, model.Contact) {
   var contact model.Contact
   // name not empty
   //if params.Name == "" {
   //   return ecode.InvalidParams, contact
   //}
   contact.Name = params.Name
   contact.Phone = params.Phone
   contact.Email = params.Email
   // check member id not -1
   //if params.MemberId == 0 {
   //   return ecode.InvalidParams, contact
   //}
   contact.MemberId = params.MemberId
   contact.ProvinceId = params.ProvinceId
   contact.CityId = params.CityId
   contact.CountryId = params.CountryId
   contact.RegionId = params.RegionId
   contact.Position = params.Position
   contact.ClientId = params.ClientId
   contact.Desc = params.Desc
   // check number not empty
   //if params.Number == "" {
   //   return ecode.InvalidParams, contact
   //}
   contact.Number = params.Number
   t, err := checkTimeFormat(params.Birthday)
   if err != nil {
      return ecode.InvalidParams, contact
   }
   contact.Birthday = t
   contact.Wechat = params.Wechat
   contact.IsFirst = params.IsFirst
   return ecode.OK, contact
}
// List
//
//   @Tags      Contact
//   @Summary   联系人列表
//   @Produce   application/json
//   @Param      object   body      request.GetContactList   true   "参数"
//   @Success   200      {object}   contextx.Response{data=response.ContactResponse}
//   @Router      /api/contact/list [post]
func (con *ContactApi) List(c *gin.Context) {
   var params request.GetContactList
   ctx, ok := contextx.NewContext(c, &params)
   if !ok {
      return
   }
   contacts, total, errCode := contactService.GetContactList(params.Page, params.PageSize, params.SearchMap)
   if errCode != ecode.OK {
      ctx.Fail(errCode)
      return
   }
   ctx.OkWithDetailed(response.ContactResponse{
      List:  contacts,
      Count: int(total),
   })
}