weekly-2026-W28
周报 · 2026年第28周(07月06日-07月11日)
姓名: 邓星星(dengxingxing) 项目: hoolihome-project 分支: production 提交数: 23个(含7个功能提交)
📋 本周工作汇总
按日期统计
| 日期 | 提交数 | 主要内容 |
|---|---|---|
| 07/06 周一 | 5 | fix(data-sync): 忽略已过期租期的数据记录、feat(recommendScript): 新增推荐话术后、refactor(house): 优化房间图片标记逻辑… |
| 07/07 周二 | 4 | Merge branch 'dev_v2_crm' into、feat(crm): 优化重置用户密码接口,添加操作日志记录、fix(crm-api): 修正房源设备类型参数与日志字段调… |
| 07/08 周三 | 5 | 修改、refactor(service): move Agreem、refactor: Phase 1-5 架构优化(纯重构,零… |
| 07/09 周四 | 8 | fix(query): 修正 existsTemplate 、feat(query): 添加国家筛选的关联查询支持、修改… |
| 07/10 周五 | 1 | feat(query): 添加动态查询接口及配置支持多模块 |
| 07/11 周六 | 0 | — |
按模块统计
| 模块 | 提交数 |
|---|---|
| 其他 | 9 |
| CRM/商机管理 | 4 |
| 房源管理 | 3 |
| 查询搜索 | 3 |
| 活动促销 | 2 |
| 订单管理 | 1 |
| 房源推荐 | 1 |
🛠 详细工作内容
1. refactor(service): move AgreementService and AliYunWord2PdfService to order package ♻️ 重构
- 提交:
d1b44d9c8d8a(2026-07-08) - 改动量: +0行 / -0行
- 功能说明: (功能说明待补充)
+package com.hoolihome.crm.query.provider;
+
+import com.hoolihome.common.query.config.QueryConfigProvider;
+import com.hoolihome.common.query.config.QueryFieldConfig;
+import com.hoolihome.common.query.dto.BaseCondition;
+import com.hoolihome.common.query.dto.OptionItem;
+import com.hoolihome.common.query.dto.SortCondition;
+import com.hoolihome.common.query.enums.PermissionStrategy;
+import com.hoolihome.common.query.enums.ValueType;
+import com.hoolihome.entity.house.HouseCommission;
+import org.springframework.stereotype.Component;
+
2. refactor: Phase 1-5 架构优化(纯重构,零业务变更) ♻️ 重构
- 提交:
11fad4c19daf(2026-07-08) - 改动量: +0行 / -0行
- 功能说明: (功能说明待补充)
+# hoolihome-crm-api 架构优化方案 V2
+
+## 一、设计原则
+
+> 分层解耦而非合并膨胀 | 增强已有模式而非推倒重建 | 编译时安全优于运行时魔法
+
+本方案基于对项目代码的实际分析,在原方案基础上做出以下调整:
+1. **不追求一个 VO 打天下** — 按模块复杂度分级采用不同策略
+2. **利用已有 VoBuilder 模式** — 项目中 `HousePolicyVoBuilder`、`HouseCommissionVoBuilder` 等已是良好范式,增强而非替换
+3. **增量更新 JSON 化** — 新 V2 接口统一使用 `@RequestBody` + 自动字段追踪,老表单接口保持不动
+4. **导出作为正交关注点** — 不污染现有 VO,通过适配层桥接
+
3. fix(data-sync): 忽略已过期租期的数据记录 🐛 修复
- 提交:
a1cdef96dd6a(2026-07-06) - 改动量: +0行 / -0行
- 功能说明: (功能说明待补充)
+ if (attr.getRentTime() != null && attr.getRentTime() < System.currentTimeMillis()) {
+ continue;
+ }
4. feat(crm): 优化重置用户密码接口,添加操作日志记录 ⭐ 新增
- 提交:
d9f9d9cbaab4(2026-07-07) - 改动量: +0行 / -0行
- 功能说明: (功能说明待补充)
- public ResVo resetPassword(Integer userId, String newPassword) {
+ public ResVo resetPassword(Integer userId, String newPassword, CommonReqDTO param) {
5. fix(crm-api): 修正房源设备类型参数与日志字段调整 🐛 修复
- 提交:
6934044c8afa(2026-07-07) - 改动量: +0行 / -0行
- 功能说明: (功能说明待补充)
- @LogFieldMate(fieldName = "供应商", fieldType = LogFieldType.OBJECT, service = LandlordInfoServiceImpl.class, dataCont
- private Integer landlordId;
+ //@LogFieldMate(fieldName = "供应商", fieldType = LogFieldType.OBJECT, service = LandlordInfoServiceImpl.class, dataCo
+ //private Integer landlordId;
6. feat(crm): 新增话术分享次数统计及管理列表优化 ⭐ 新增
- 提交:
9f33421f23d5(2026-07-07) - 改动量: +0行 / -0行
- 功能说明: (功能说明待补充)
+import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
+import com.hoolihome.crm.service.ICrmRecommendScriptService;
+import com.hoolihome.entity.crm.CrmRecommendScript;
7. feat(recommendScript): 新增推荐话术后台管理列表功能 ⭐ 新增
- 提交:
7a9b411658f3(2026-07-06) - 改动量: +0行 / -0行
- 功能说明: (功能说明待补充)
+ logEntity.setScriptId(param.getScriptId());
8. refactor(house): 优化房间图片标记逻辑 ♻️ 重构
- 提交:
b614706b4874(2026-07-06) - 改动量: +0行 / -0行
- 功能说明: (功能说明待补充)
- obj.setRoomGroupList(buildRoomGroupList(roomList, dto, videoMap, roomTypeImgMap));
+ obj.setRoomGroupList(buildRoomGroupList(roomList, dto, videoMap, roomTypeImgMap, topImageUrls));
9. refactor(house): 优化图片数据转换与补充视频图片字段 ♻️ 重构
- 提交:
9b5dd756dc0d(2026-07-06) - 改动量: +0行 / -0行
- 功能说明: (功能说明待补充)
- simpleVo.setImgList(JSON.parseArray(room.getImgUrl(), ImageFileDTO.class).stream().map(image -> {
- var imageVo = BeanUtil.copyProperties(image, ImageVo.class);
- imageVo.processData(dto.getDeviceType());
- return imageVo;
- }).collect(Collectors.toList()));
+ simpleVo.setImgList(JSON.parseArray(room.getImgUrl(), ImageFileDTO.class).stream()
+ .map(image -> ImageVo.buildWithDTO(image, dto.getDeviceType()))
+ .collect(Collectors.toList()));
10. refactor(house): 优化图片处理及标记精选图片逻辑 ♻️ 重构
- 提交:
640f8727ae80(2026-07-06) - 改动量: +0行 / -0行
- 功能说明: (功能说明待补充)
+import com.hoolihome.pub.dto.ImageFileDTO;
11. feat(query): 添加动态查询接口及配置支持多模块 ⭐ 新增
- 提交:
337a5157f802(2026-07-10) - 改动量: +0行 / -0行
- 功能说明: (功能说明待补充)
+import com.hoolihome.common.query.builder.DataPermissionHelper;
+import com.hoolihome.common.query.builder.DynamicQueryBuilder;
+import com.hoolihome.common.query.dto.DynamicQueryRequest;
-import com.hoolihome.log.recorder.LogRecorder;
+import com.hoolihome.crm.query.provider.ApplicationMailTemplateQueryConfigProvider;
+import com.hoolihome.log.recorder.LogRecorder;
+import com.hoolihome.crm.service.IApplicationMailTemplateService;
12. fix(query): 修正 existsTemplate 字段的过滤路由逻辑 🐛 修复
- 提交:
f8799fddf005(2026-07-09) - 改动量: +0行 / -0行
- 功能说明: (功能说明待补充)
+ * <p>
+ * 当字段配置了 existsTemplate 时,IN/NOT_IN 自动路由到 EXISTS/NOT_EXISTS 子查询处理,
+ * 避免空 column 导致 SQL 语法错误。
+ * </p>
+ // 配置了 existsTemplate 的字段:IN/NOT_IN/EXISTS/NOT_EXISTS 均走 EXISTS 子查询
+ if (StrUtil.isNotBlank(config.getExistsTemplate())) {
+ if (filterType == FilterType.IN || filterType == FilterType.EXISTS) {
+ applyExistsFilter(wrapper, config, FilterType.EXISTS, value, values);
+ return;
+ }
+ if (filterType == FilterType.NOT_IN || filterType == FilterType.NOT_EXISTS) {
+ applyExistsFilter(wrapper, config, FilterType.NOT_EXISTS, value, values);
13. feat(query): 添加国家筛选的关联查询支持 ⭐ 新增
- 提交:
afe29d5d39db(2026-07-09) - 改动量: +0行 / -0行
- 功能说明: (功能说明待补充)
- .setOptionSource("landlord")
+ .setOptionSource("landlord"),
+
+ // ========== EXISTS 关联查询(国家筛选) ==========
+ QueryFieldConfig.relation("countryId", "国家", "")
+ .setExistsTemplate("select 1 from landlord_relation where landlord_relation.relation_type = 1 a
+ .setOptionSource("country")
+
+ // ========== EXISTS 关联查询(城市筛选,通过关联公寓的city_id) ==========
+ /*QueryFieldConfig.relation("cityId", "城市", "")
+ .setExistsTemplate("select 1 from house_info where house_info.city_id in (%s) and JSON_VALID(la
+ .setOptionSource("city")*/
14. feat(promotion): 新增供应商活动适用范围及关联管理 ⭐ 新增
- 提交:
c774360444bc(2026-07-09) - 改动量: +0行 / -0行
- 功能说明: (功能说明待补充)
+ @Deprecated
15. feat(promotion): 支持Hooli补贴活动适用范围设置与查询 ⭐ 新增
- 提交:
d06545478e9d(2026-07-09) - 改动量: +0行 / -0行
- 功能说明: (功能说明待补充)
- QueryFieldConfig.text("bdName", "BD负责人", LandlordInfo.BD_NAME),
📊 本周工作总结
【核心成果】本周完成23次代码提交,重点推进架构重构与业务功能迭代两大主线。架构层面完成Phase 1-5全面优化,完成服务类迁移重组;业务层面实现CRM话术管理、房源图片处理、动态查询配置、活动促销范围控制等多项能力升级,同时修复数据同步与查询路由问题,系统稳定性显著提升。
【技术亮点】采用架构重构先行策略,实现零业务变更的纯代码优化;动态查询引擎支持多模块配置化扩展,新增国家筛选关联查询能力;图片处理模块引入精选标记与视频字段自动补全机制;活动促销系统实现供应商补贴与适用范围的精细化配置管理。
【业务价值】架构优化为后续迭代奠定坚实基础,查询能力升级支撑全球化业务扩展,CRM话术统计功能强化销售团队协作效率,房源图片管理提升租客端展示效果。系统性重构 2026-07-20 报告生成时间:2026-07-20*