Blame view

service-user/README.md 14.4 KB
88e030b7   王彪总   init project
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
  # Service-User 模块技术文档
  
  ## 模块概述
  
  Service-User 是一个基于 Spring Boot 的微服务模块,主要负责社区管理系统的用户信息维护和相关服务提供。该模块采用标准的微服务架构,集成了服务发现、Feign客户端、异步处理等关键技术组件,为社区管理系统提供完整的用户管理功能。
  
  **核心设计理念:**
  - **命令驱动架构**:所有业务功能通过命令处理层(cmd)提供标准化接口
  - **分层设计**:清晰的API层、命令层、业务层、数据层分离
  - **微服务集成**:通过Feign客户端实现服务间调用
  - **事务管理**:支持分布式事务处理
  
  ## 技术架构
  
  ### 分层架构设计
  ```
  src/main/java/com/java110/user/
  ├── api/          # API接口层 - 对外提供RESTful接口
  ├── bmo/          # 业务模型对象层 - 业务逻辑处理
  ├── cmd/          # 命令处理层 - 模块核心接口实现(26个功能模块)
  ├── dao/          # 数据访问层 - 数据库操作
  ├── smo/          # 服务管理对象层 - 服务调度和管理
  └── UserServiceApplicationStart.java  # 主启动类
  ```
  
  ### 关键技术组件
  - **Spring Boot 2.x**: 微服务框架
  - **Spring Cloud**: 服务发现与注册 (`@EnableDiscoveryClient`)
  - **OpenFeign**: 微服务间调用 (`@EnableFeignClients`)
  - **异步处理**: `@EnableAsync` 支持异步任务处理
  - **RESTful API**: 基于Spring MVC的REST接口
  - **自定义注解**: 支持命令发现、监听器发现等扩展功能
  - **事务管理**: `@Java110Transactional` 注解支持事务控制
  
  ## 命令处理层(CMD)核心接口
  
  命令处理层是本模块的核心,包含26个功能模块,每个模块提供完整的业务操作接口:
  
  ### 1. 楼栋业主管理 (buildingOwner) - 4个命令
  - **SaveBuildingOwnerCmd**: 保存业主信息
  - **UpdateBuildingOwnerCmd**: 更新业主信息  
  - **DeleteBuildingOwnerCmd**: 删除业主信息
  - **ListBuildingOwnerCmd**: 查询业主列表
  
  ### 2. 车辆管理 (car) - 1个命令
  - **QueryWaitPayFeeTempCarCmd**: 查询待缴费临时车辆
  
  ### 3. 车辆黑白名单管理 (carBlackWhite) - 4个命令
  - **SaveCarBlackWhiteCmd**: 保存车辆黑白名单
  - **UpdateCarBlackWhiteCmd**: 更新车辆黑白名单
  - **DeleteCarBlackWhiteCmd**: 删除车辆黑白名单
  - **ListCarBlackWhitesCmd**: 查询车辆黑白名单列表
  
  ### 4. 车辆进出管理 (carInout) - 3个命令
  - **SaveCarInoutCmd**: 保存车辆进出记录
  - **UpdateCarInoutCmd**: 更新车辆进出记录
  - **ListCarInoutsCmd**: 查询车辆进出记录列表
  
  ### 5. 数据权限员工管理 (dataPrivilegeStaff) - 5个命令
  - **SaveDataPrivilegeStaffCmd**: 保存数据权限员工
  - **UpdateDataPrivilegeStaffCmd**: 更新数据权限员工
  - **DeleteDataPrivilegeStaffCmd**: 删除数据权限员工
  - **ListDataPrivilegeStaffCmd**: 查询数据权限员工列表
  - **ListStaffNotInDataPrivilegeCmd**: 查询未分配数据权限的员工
  
  ### 6. 审核管理 (examine) - 15个命令
  - **SaveExamineProjectCmd**: 保存审核项目
  - **UpdateExamineProjectCmd**: 更新审核项目
  - **DeleteExamineProjectCmd**: 删除审核项目
  - **ListExamineProjectCmd**: 查询审核项目列表
  - **SaveExamineStaffCmd**: 保存审核员工
  - **UpdateExamineStaffCmd**: 更新审核员工
  - **DeleteExamineStaffCmd**: 删除审核员工
  - **ListExamineStaffCmd**: 查询审核员工列表
  - **ListExamineStaffIntroductionCmd**: 查询审核员工介绍
  - **SaveExamineStaffValueCmd**: 保存审核员工值
  - **DeleteExamineStaffValueCmd**: 删除审核员工值
  - **ListExamineStaffValueCmd**: 查询审核员工值列表
  - **SaveExamineStaffProjectCmd**: 保存审核员工项目关联
  - **DeleteExamineStaffProjectCmd**: 删除审核员工项目关联
  - **ListExamineStaffProjectCmd**: 查询审核员工项目关联列表
  
  ### 7. 垃圾需求管理 (junkRequirement) - 4个命令
  - **SaveJunkRequirementCmd**: 保存垃圾需求
  - **UpdateJunkRequirementCmd**: 更新垃圾需求
  - **DeleteJunkRequirementCmd**: 删除垃圾需求
  - **ListJunkRequirementsCmd**: 查询垃圾需求列表
  
  ### 8. 登录管理 (login) - 8个命令(核心认证模块)
  - **UserServiceLoginCmd**: 用户服务登录
  - **PcUserLoginCmd**: PC端用户登录
  - **PhoneWechatLoginCmd**: 手机微信登录
  - **AccessTokenLoginCmd**: AccessToken登录
  - **GetAccessTokenCmd**: 获取AccessToken
  - **AdminLoginPropertyCmd**: 管理员物业登录
  - **GeneratorHcCodeCmd**: 生成健康码
  - **QueryTokenForTeldCmd**: 查询Teld令牌
  
  ### 9. 菜单管理 (menu) - 3个命令
  - **ListCatalogCmd**: 查询目录列表
  - **ListCatalogMenusCmd**: 查询目录菜单列表
  - **QueryMenuInfoCmd**: 查询菜单信息
  
  ### 10. 菜单组管理 (menuGroup) - 3个命令
  - **ListMenuGroupsCmd**: 查询菜单组列表
  - **SaveMenuGroupCmd**: 保存菜单组
  - **UpdateMenuGroupCmd**: 更新菜单组
  
  ### 11. 菜单组社区关联 (menuGroupCommunity) - 4个命令
  - **DeleteMenuGroupCommunityCmd**: 删除菜单组社区关联
  - **ListMenuGroupCommunitysCmd**: 查询菜单组社区关联列表
  - **SaveMenuGroupCommunityCmd**: 保存菜单组社区关联
  - **UpdateMenuGroupCommunityCmd**: 更新菜单组社区关联
  
  ### 12. 用户菜单关联 (menuUser) - 3个命令
  - **DeleteMenuUserCmd**: 删除用户菜单关联
  - **ListMenuUsersCmd**: 查询用户菜单关联列表
  - **SaveMenuUserCmd**: 保存用户菜单关联
  
  ### 13. 记事本管理 (notepad) - 4个命令
  - **DeleteNotepadCmd**: 删除记事本
  - **ListNotepadsCmd**: 查询记事本列表
  - **SaveNotepadCmd**: 保存记事本
  - **UpdateNotepadCmd**: 更新记事本
  
  ### 14. 组织架构管理 (org) - 13个命令
  - **SaveOrgCmd**: 保存组织
  - **UpdateOrgCmd**: 更新组织
  - **DeleteOrgCmd**: 删除组织
  - **ListOrgsCmd**: 查询组织列表
  - **ListOrgCmd**: 查询组织详情
  - **ListOrgTreeCmd**: 查询组织树
  - **ListParentOrgsCmd**: 查询父组织列表
  - **QueryAdminOrgTreeCmd**: 查询管理员组织树
  - **SaveOrgCommunityCmd**: 保存组织社区关联
  - **DeleteOrgCommunityCmd**: 删除组织社区关联
  - **ListOrgCommunitysCmd**: 查询组织社区关联列表
  - **ListOrgNoCommunitysCmd**: 查询未关联社区的组织
  - **ListOrgNoShopsCmd**: 查询未关联店铺的组织
  
  ### 15. 业主管理 (owner) - 4个命令
  - **DeleteOwnerCmd**: 删除业主
  - **ListOwnersCmd**: 查询业主列表
  - **SaveOwnerCmd**: 保存业主
  - **UpdateOwnerCmd**: 更新业主
  
  ### 16. 业主车辆属性 (ownerCarAttr) - 4个命令
  - **DeleteOwnerCarAttrCmd**: 删除业主车辆属性
  - **ListOwnerCarAttrsCmd**: 查询业主车辆属性列表
  - **SaveOwnerCarAttrCmd**: 保存业主车辆属性
  - **UpdateOwnerCarAttrCmd**: 更新业主车辆属性
  
  ### 17. 业主车辆开放用户 (ownerCarOpenUser) - 4个命令
  - **DeleteOwnerCarOpenUserCmd**: 删除业主车辆开放用户
  - **ListOwnerCarOpenUsersCmd**: 查询业主车辆开放用户列表
  - **SaveOwnerCarOpenUserCmd**: 保存业主车辆开放用户
  - **UpdateOwnerCarOpenUserCmd**: 更新业主车辆开放用户
  
  ### 18. 业主委员会 (ownerCommittee) - 4个命令
  - **DeleteOwnerCommitteeCmd**: 删除业主委员会
  - **ListOwnerCommitteesCmd**: 查询业主委员会列表
  - **SaveOwnerCommitteeCmd**: 保存业主委员会
  - **UpdateOwnerCommitteeCmd**: 更新业主委员会
  
  ### 19. 业主入驻 (ownerSettled) - 4个命令
  - **DeleteOwnerSettledCmd**: 删除业主入驻信息
  - **ListOwnerSettledsCmd**: 查询业主入驻信息列表
  - **SaveOwnerSettledCmd**: 保存业主入驻信息
  - **UpdateOwnerSettledCmd**: 更新业主入驻信息
  
  ### 20. 权限管理 (privilege) - 5个命令
  - **SavePrivilegeGroupInfoCmd**: 保存权限组信息
  - **EditPrivilegeGroupInfoCmd**: 编辑权限组信息
  - **DeletePrivilegeGroupInfoCmd**: 删除权限组信息
  - **AddPrivilegePrivilegeGroupCmd**: 添加权限到权限组
  - **DeletePrivilegePrivilegeGroupCmd**: 从权限组删除权限
  
  ### 21. 问答管理 (question) - 4个命令
  - **DeleteQuestionCmd**: 删除问题
  - **ListQuestionsCmd**: 查询问题列表
  - **SaveQuestionCmd**: 保存问题
  - **UpdateQuestionCmd**: 更新问题
  
  ### 22. 注册管理 (register) - 4个命令
  - **DeleteRegisterCmd**: 删除注册信息
  - **ListRegistersCmd**: 查询注册信息列表
  - **SaveRegisterCmd**: 保存注册信息
  - **UpdateRegisterCmd**: 更新注册信息
  
  ### 23. 角色管理 (role) - 4个命令
  - **DeleteRoleCmd**: 删除角色
  - **ListRolesCmd**: 查询角色列表
  - **SaveRoleCmd**: 保存角色
  - **UpdateRoleCmd**: 更新角色
  
  ### 24. 角色社区关联 (roleCommunity) - 4个命令
  - **DeleteRoleCommunityCmd**: 删除角色社区关联
  - **ListRoleCommunitysCmd**: 查询角色社区关联列表
  - **SaveRoleCommunityCmd**: 保存角色社区关联
  - **UpdateRoleCommunityCmd**: 更新角色社区关联
  
  ### 25. 用户管理 (user) - 40个命令(核心用户模块)
  - **SaveUserCmd**: 保存用户信息
  - **UserStaffAddCmd**: 添加员工用户
  - **UserStaffModifyCmd**: 修改员工用户
  - **UserStaffDeleteCmd**: 删除员工用户
  - **UserStaffEnableCmd**: 启用员工用户
  - **UserStaffDisableCmd**: 禁用员工用户
  - **UserLoginCmd**: 用户登录
  - **OwnerUserLoginCmd**: 业主用户登录
  - **OwnerUserLoginByOpenIdCmd**: 业主OpenID登录
  - **GetUserInfoCmd**: 获取用户信息
  - **ListUsersCmd**: 查询用户列表
  - **ListSystemUsersCmd**: 查询系统用户列表
  - **ChangeStaffPwdCmd**: 修改员工密码
  - **ResetStaffPwdCmd**: 重置员工密码
  - **ResetSystemUserPwdCmd**: 重置系统用户密码
  - **ListStaffOrgsCmd**: 查询员工组织列表
  - **ListStaffRolesCmd**: 查询员工角色列表
  - **ListAdminStaffOrgsCmd**: 查询管理员员工组织列表
  - **ListAdminStaffRolesCmd**: 查询管理员员工角色列表
  - **ListStaffCommunitysCmd**: 查询员工社区列表
  - **QueryStaffInfosCmd**: 查询员工信息
  - **QueryStaffByNameCmd**: 按名称查询员工
  - **QueryAdminPropertyStaffCmd**: 查询管理员物业员工
  - **QueryAdminStaffPrivilegeCmd**: 查询管理员员工权限
  - **QueryAdminStaffAppAuthCmd**: 查询管理员员工应用权限
  - **QueryUserPrivilege**: 查询用户权限
  - **QueryUserSecretCmd**: 查询用户密钥
  - **QueryStorePrivilegeGroupCmd**: 查询店铺权限组
  - **QueryPrivilegeGroupNoAddPrivilegeCmd**: 查询未添加权限的权限组
  - **GeneratorUserQrCodeCmd**: 生成用户二维码
  - **UserSendSmsCmd**: 用户发送短信
  - **OwnerSendSmsCmd**: 业主发送短信
  - **SaveStaffOrgRelCmd**: 保存员工组织关系
  - **DeleteOrgRelStaffCmd**: 删除组织关系员工
  - **DeleteSystemUserCmd**: 删除系统用户
  - **SaveOrUpdateUserAttrCmd**: 保存或更新用户属性
  - **ListSystemUserAttrCmd**: 查询系统用户属性列表
  - **ListStaffsNoInOrgCmd**: 查询未分配组织的员工
  - **CheckServiceLoginCmd**: 检查服务登录
  - **UserLogoutServiceCmd**: 用户退出服务
  
  ### 26. 微信管理 (wechat) - 4个命令
  - **DeleteWechatCmd**: 删除微信信息
  - **ListWechatsCmd**: 查询微信信息列表
  - **SaveWechatCmd**: 保存微信信息
  - **UpdateWechatCmd**: 更新微信信息
  
  ## 命令接口规范
  
  ### 命令注解
  ```java
  @Java110Cmd(serviceCode = "module.commandName")
  ```
  - **serviceCode**: 服务编码,格式为"模块.命令名称"
  - 用于标识和路由具体的业务命令
  
  ### 命令执行流程
  1. **参数验证**: `validate()` 方法验证请求参数完整性
  2. **业务执行**: `doCmd()` 方法执行业务逻辑
  3. **事务管理**: `@Java110Transactional` 注解确保事务一致性
  4. **结果返回**: 统一的结果格式返回
  
  ### 请求格式
  ```json
  {
    "serviceCode": "user.saveUser",
    "reqData": {
      "userId": "123456",
      "name": "张三",
      // ... 其他参数
    }
  }
  ```
  
  ## API接口映射
  
  | API接口 | 对应命令模块 | 主要功能 |
  |---------|-------------|----------|
  | UserApi | user | 用户信息统一处理 |
  | UserLoginApi | login | 用户登录管理 |
  | OwnerApi | owner, buildingOwner | 业主信息管理 |
  | StaffApi | user | 员工信息管理 |
  | OrgApi | org | 组织架构管理 |
  | MenuApi | menu, menuGroup | 菜单管理 |
  
  ## 部署配置
  
  ### 环境要求
  - JDK 1.8+
  - Maven 3.6+
  - Spring Cloud 环境
  - 服务注册中心(如Eureka、Nacos)
  
  ### 启动配置
  ```java
  @SpringBootApplication(
      scanBasePackages = {
          "com.java110.service",
          "com.java110.core", 
          "com.java110.user",
          "com.java110.config.properties.code",
          "com.java110.db",
          "com.java110.doc"
      },
      excludeName = {"com.java110.intf.user"}
  )
  @EnableDiscoveryClient
  @EnableFeignClients(basePackages = {
      "com.java110.intf.community",
      "com.java110.intf.common",
      "com.java110.intf.store",
      "com.java110.intf.oa",
      "com.java110.intf.fee",
      "com.java110.intf.order",
      "com.java110.intf.mall", 
      "com.java110.intf.report",
      "com.java110.intf.acct",
      "com.java110.intf.job"
  })
  @EnableAsync
  public class UserServiceApplicationStart {
      // 主启动类
  }
  ```
  
  ### 启动命令
  ```bash
  mvn spring-boot:run
  # 或打包后运行
  java -jar service-user-1.0-SNAPSHOT.jar
  ```
  
  ## 依赖关系
  
  ### 主要依赖
  - **java110-service**: 核心服务模块依赖
  - **Spring Boot Starter Web**: Web服务支持
  - **Spring Cloud Starter**: 微服务支持
  - **OpenFeign**: 服务间调用
  - **FastJSON**: JSON处理
  
  ### 服务间依赖
  通过Feign客户端调用以下服务:
  - 社区服务 (community)
  - 通用服务 (common)
  - 店铺服务 (store)
  - OA服务 (oa)
  - 费用服务 (fee)
  - 订单服务 (order)
  - 商城服务 (mall)
  - 报表服务 (report)
  - 账户服务 (acct)
  - 任务服务 (job)
  
  ## 开发说明
  
  ### 命令开发规范
  1. **继承Cmd基类**: 所有命令类必须继承 `Cmd` 基类
  2. **注解声明**: 使用 `@Java110Cmd` 注解声明服务编码
  3. **参数验证**: 在 `validate()` 方法中验证必需参数
  4. **事务管理**: 在 `doCmd()` 方法上使用 `@Java110Transactional`
  5. **统一响应**: 使用 `ResultVo.success()` 返回成功响应
  
  ### 扩展性设计
  - **命令发现机制**: 支持动态命令注册和发现
  - **监听器机制**: 支持事件监听和发布
  - **异步处理**: 支持异步任务执行
  - **文档生成**: 集成文档自动生成功能
  
  ## 核心优势
  
  1. **标准化接口**: 所有功能通过统一的命令接口提供
  2. **事务一致性**: 支持分布式事务管理
  3. **微服务集成**: 完善的微服务间调用机制
  4. **扩展性强**: 支持自定义命令和监听器
  5. **文档完善**: 完整的接口文档和技术说明
  
  ---
  
  *文档版本: 3.0*
  *最后更新: 基于cmd目录深度分析生成*
  *重点突出命令处理层作为模块核心提供接口*
  *包含26个功能模块的完整命令接口清单*