openapi_get_contact_list_logic.go 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. package openapi
  2. import (
  3. "context"
  4. "wechat-api/ent/contact"
  5. "wechat-api/internal/svc"
  6. "wechat-api/internal/types"
  7. "wechat-api/internal/utils/dberrorhandler"
  8. "github.com/suyuan32/simple-admin-common/msg/errormsg"
  9. "github.com/suyuan32/simple-admin-common/utils/pointy"
  10. "github.com/zeromicro/go-zero/core/logx"
  11. )
  12. type OpenapiGetContactListLogic struct {
  13. logx.Logger
  14. ctx context.Context
  15. svcCtx *svc.ServiceContext
  16. }
  17. func NewOpenapiGetContactListLogic(ctx context.Context, svcCtx *svc.ServiceContext) *OpenapiGetContactListLogic {
  18. return &OpenapiGetContactListLogic{
  19. Logger: logx.WithContext(ctx),
  20. ctx: ctx,
  21. svcCtx: svcCtx}
  22. }
  23. func (l *OpenapiGetContactListLogic) OpenapiGetContactList(req *types.WxidReq) (resp *types.ContactListResp, err error) {
  24. data, err := l.svcCtx.DB.Contact.Query().Where(contact.WxWxid(req.Wxid)).All(l.ctx)
  25. if err != nil {
  26. return nil, dberrorhandler.DefaultEntError(l.Logger, err, req)
  27. }
  28. resp = &types.ContactListResp{}
  29. resp.Msg = errormsg.Success
  30. resp.Data.Total = uint64(len(data))
  31. for _, v := range data {
  32. resp.Data.Data = append(resp.Data.Data,
  33. types.ContactInfo{
  34. BaseIDInfo: types.BaseIDInfo{
  35. Id: &v.ID,
  36. CreatedAt: pointy.GetPointer(v.CreatedAt.UnixMilli()),
  37. UpdatedAt: pointy.GetPointer(v.UpdatedAt.UnixMilli()),
  38. },
  39. Status: &v.Status,
  40. WxWxid: &v.WxWxid,
  41. Type: &v.Type,
  42. Wxid: &v.Wxid,
  43. Account: &v.Account,
  44. Nickname: &v.Nickname,
  45. Markname: &v.Markname,
  46. Headimg: &v.Headimg,
  47. Sex: &v.Sex,
  48. Starrole: &v.Starrole,
  49. Dontseeit: &v.Dontseeit,
  50. Dontseeme: &v.Dontseeme,
  51. Lag: &v.Lag,
  52. Gid: &v.Gid,
  53. Gname: &v.Gname,
  54. V3: &v.V3,
  55. })
  56. }
  57. return resp, nil
  58. }