diff --git a/internal/controller/house/transaction.go b/internal/controller/house/transaction.go new file mode 100644 index 0000000..155cb82 --- /dev/null +++ b/internal/controller/house/transaction.go @@ -0,0 +1,26 @@ +package house + +import ( + "context" + + transactionv1 "service.xpcool.com/api/house/transaction" + transaction "service.xpcool.com/internal/service/house/transaction" +) + +// TransactionList 分页查询成交记录。 +func (c *Controller) TransactionList(ctx context.Context, req *transactionv1.TransactionListReq) (res *transactionv1.TransactionListRes, err error) { + list, total, err := transaction.Transaction().List(ctx, req.Page, req.Size, req.Region, req.Keyword) + if err != nil { + return nil, err + } + out := make([]*transactionv1.TransactionItem, 0, len(list)) + for i := range list { + v := &list[i] + out = append(out, &transactionv1.TransactionItem{ + Id: v.Id, CommunityId: v.CommunityId, CommunityName: v.CommunityName, + Layout: v.Layout, Area: v.Area, DealPrice: v.DealPrice, DealUnitPrice: v.DealUnitPrice, + ListDays: v.ListDays, DealDate: v.DealDate, Source: v.Source, + }) + } + return &transactionv1.TransactionListRes{List: out, Total: total}, nil +}