service.xpcool.com/internal/controller/house/presale.go
夏犀麟 ea50261cb8
Some checks failed
Build and Deploy (service.xpcool.com) / build-and-deploy (push) Failing after 35s
feat(house): 扩充看房数据并增强服务器日志功能
- 新增新房预售证表 house_presale 存储预售许可信息
- 为 house_community 表添加 avg_price 字段存储小区参考均价
- 增强服务器操作审计日志功能,新增管理员账号、IP归属地、错误信息、UA等字段
- 实现纯Go版IP归属地离线解析器,无外部依赖,支持二分查找
- 优化看房列表查询逻辑,修复Fields设置位置导致的SQL语法错误
- 集成招聘模块,添加独立数据库配置和Bark推送服务支持
- 重构日志查询接口,支持多维度筛选和综合分页列表展示
- 更新DAO实体结构同步数据库表结构调整
2026-08-27 01:47:32 +08:00

36 lines
1.0 KiB
Go

package house
import (
"context"
presalev1 "service.xpcool.com/api/house/presale"
presale "service.xpcool.com/internal/service/house/presale"
)
// PresaleList 分页查询新房预售证。
func (c *Controller) PresaleList(ctx context.Context, req *presalev1.PresaleListReq) (res *presalev1.PresaleListRes, err error) {
list, total, err := presale.Presale().List(ctx, req.Page, req.Size, req.Region, req.Keyword, req.Purpose)
if err != nil {
return nil, err
}
out := make([]*presalev1.PresaleItem, 0, len(list))
for i := range list {
v := &list[i]
out = append(out, &presalev1.PresaleItem{
Id: v.Id,
PresaleNo: v.PresaleNo,
CommunityName: v.CommunityName,
Developer: v.Developer,
Region: v.Region,
Address: v.Address,
BuildingNo: v.BuildingNo,
HouseCount: v.HouseCount,
Area: v.Area,
Purpose: v.Purpose,
IssueDate: v.IssueDate,
Source: v.Source,
})
}
return &presalev1.PresaleListRes{List: out, Total: total}, nil
}