readme.md
9.54 KB
Service-Acct 账户服务模块
模块概述
Service-Acct 是微社区系统中的核心账户服务模块,采用命令驱动架构设计,专注于账户管理、支付处理、优惠券管理、积分系统和发票管理等核心财务功能。该模块通过20个核心命令接口目录,为系统提供完整的账户和财务处理能力。
技术架构
命令驱动架构
- 架构模式: 基于命令模式的设计,每个业务操作对应一个具体的命令类
- 服务标识: 使用
@Java110Cmd(serviceCode = "xxx")注解标识服务接口 - 统一处理: 所有命令继承自
Cmd基类,实现统一的参数验证和执行流程
核心组件
- Cmd: 命令基类,提供统一的验证和执行框架
- BMO: 业务模型对象,处理具体业务逻辑
- SMO: 服务模型对象,提供数据访问服务
- DTO/PO: 数据传输对象和持久化对象
核心命令接口说明
1. 账户管理模块 (account)
功能: 负责业主账户的创建、预存、查询和管理 核心接口:
OwnerPrestoreAccountCmd: 业主账户预存,支持账户创建和金额预存QueryOwnerAccountCmd: 业主账户查询QueryAdminOwnerAccountCmd: 管理员账户查询QueryAdminAccountDetailCmd: 管理员账户明细查询QueryCommunityOwnerAccountCmd: 社区业主账户查询CancelAccountDetailCmd: 账户明细取消CustomSendAcctCmd: 自定义发送账户操作DeleteAccountCmd: 账户删除
2. 支付处理模块 (payment)
功能: 统一支付处理,支持多种支付方式和支付场景 核心接口:
UnifiedPaymentCmd: 统一支付接口,支持微信支付等多种支付方式CashierCmd: 收银台支付QrCodePaymentCmd: 二维码支付NativeQrcodePaymentCmd: 原生二维码支付GetNativeQrcodePaymentCmd: 获取原生二维码支付CheckPayFinishCmd: 支付完成检查ListPaymentPoolCmd: 支付池列表查询ListAdminPaymentCmd: 管理员支付查询ListPaymentAdaptCmd: 支付适配器列表ListPaymentKeyCmd: 支付密钥列表ListPaymentPoolConfigCmd: 支付池配置列表ListPaymentPoolValueCmd: 支付池值列表SavePaymentPoolCmd: 保存支付池SaveAdminPaymentPoolCmd: 保存管理员支付池UpdatePaymentPoolCmd: 更新支付池UpdateAdminPaymentPoolCmd: 更新管理员支付池DeletePaymentPoolCmd: 删除支付池DeleteAdminPaymentPoolCmd: 删除管理员支付池
3. 积分管理模块 (integral)
功能: 积分规则配置、积分计算、积分使用和积分礼品管理 核心接口:
UseIntegralCmd: 积分使用ComputePayFeeIntegralCmd: 费用支付积分计算SaveIntegralRuleCmd: 积分规则保存SaveIntegralConfigCmd: 积分配置保存SaveIntegralRuleConfigCmd: 积分规则配置保存SaveIntegralRuleFeeCmd: 积分规则费用保存SaveIntegralSettingCmd: 积分设置保存UpdateIntegralRuleCmd: 积分规则更新UpdateIntegralConfigCmd: 积分配置更新UpdateIntegralRuleFeeCmd: 积分规则费用更新UpdateIntegralSettingCmd: 积分设置更新DeleteIntegralRuleCmd: 积分规则删除DeleteIntegralConfigCmd: 积分配置删除DeleteIntegralRuleConfigCmd: 积分规则配置删除DeleteIntegralRuleFeeCmd: 积分规则费用删除DeleteIntegralSettingCmd: 积分设置删除ListIntegralRuleCmd: 积分规则列表查询ListIntegralConfigCmd: 积分配置列表查询ListIntegralRuleConfigCmd: 积分规则配置列表查询ListIntegralRuleFeeCmd: 积分规则费用列表查询ListIntegralSettingCmd: 积分设置列表查询ListIntegralUserDetailCmd: 用户积分明细查询ListIntegralGiftDetailCmd: 积分礼品明细查询QueryAppUserIntegralCmd: 应用用户积分查询
4. 优惠券管理模块 (coupon相关)
功能: 优惠券全生命周期管理,包括创建、发放、使用和统计
4.1 优惠券池管理 (couponPool)
SaveCouponPoolCmd: 创建优惠券池ListCouponPoolCmd: 优惠券池列表查询UpdateCouponPoolCmd: 优惠券池更新DeleteCouponPoolCmd: 优惠券池删除
4.2 优惠券规则管理 (couponRule)
- 优惠券使用规则配置和管理
4.3 用户优惠券管理 (couponUser)
SaveCouponUserCmd: 用户优惠券发放ListCouponUserCmd: 用户优惠券列表查询UpdateCouponUserCmd: 用户优惠券更新DeleteCouponUserCmd: 用户优惠券删除
4.4 优惠券计算 (coupon)
ComputePayFeeCouponCmd: 费用支付优惠券计算
5. 发票管理模块 (invoice)
功能: 发票申请、审核、上传和管理 核心接口:
SaveInvoiceApplyCmd: 发票申请保存SaveInvoiceApplyItemCmd: 发票申请项保存SaveOwnerInvoiceCmd: 业主发票保存AuditInvoiceApplyCmd: 发票申请审核UploadInvoicePhotoCmd: 发票照片上传WriteInvoiceApplyCmd: 发票申请写入UpdateInvoiceApplyItemCmd: 发票申请项更新UpdateOwnerInvoiceCmd: 业主发票更新DeleteInvoiceApplyCmd: 发票申请删除DeleteInvoiceApplyItemCmd: 发票申请项删除DeleteOwnerInvoiceCmd: 业主发票删除ListInvoiceApplyCmd: 发票申请列表查询ListInvoiceApplyItemCmd: 发票申请项列表查询ListOwnerInvoiceCmd: 业主发票列表查询ListInvoiceEventCmd: 发票事件列表查询
6. 支付宝支付模块 (alipay)
功能: 支付宝支付接口集成 核心接口: 支付宝支付相关命令接口
7. 在线支付模块 (onlinePay)
功能: 在线支付处理 核心接口: 在线支付相关命令接口
8. 停车优惠券模块 (parkingCoupon)
功能: 停车优惠券管理 核心接口: 停车优惠券的创建、发放和使用
9. 供应商优惠券模块 (supplierCoupon)
功能: 供应商优惠券管理 核心接口: 供应商优惠券的相关操作
业务领域分类
账户与支付领域
- 账户管理: 业主账户创建、预存、查询
- 支付处理: 统一支付、多种支付方式支持
- 支付池管理: 支付配置和策略管理
营销与促销领域
- 积分系统: 积分规则、积分使用、积分礼品
- 优惠券系统: 优惠券池、优惠券规则、用户优惠券
- 停车优惠: 停车场景优惠券管理
财务与票据领域
- 发票管理: 发票申请、审核、上传
- 账户明细: 交易记录和明细管理
使用示例
账户预存示例
// 请求参数
{
"communityId": "123456",
"ownerId": "user001",
"amount": "100.00",
"acctType": "property_fee",
"primeRate": "wechat",
"remark": "业主账户预存",
"roomId": "room001" // 当账户类型为property_fee或meter时需要房屋ID
}
// 调用服务
serviceCode: "account.ownerPrestoreAccount"
统一支付示例
// 请求参数(以费用支付为例)
{
"business": "payFee", // 支付场景:费用支付
"communityId": "123456", // 小区ID
"tradeType": "JSAPI", // 支付类型:JSAPI(小程序支付)
"feeId": "fee001", // 费用ID
"payAdapt": "wechatPaymentFactory" // 支付适配器(可选,默认微信支付)
}
// 调用服务
serviceCode: "payment.unifiedPayment"
// 注意:不同业务类型需要传递不同的参数,具体参考各业务接口文档
积分使用示例
// 请求参数
{
"communityId": "123456",
"userId": "user001",
"integralAmount": "100",
"businessType": "shopping"
}
// 调用服务
serviceCode: "integral.useIntegral"
部署配置
依赖配置
<!-- 核心依赖 -->
<dependency>
<groupId>com.java110</groupId>
<artifactId>service-acct</artifactId>
<version>1.0.0</version>
</dependency>
<!-- 支付相关依赖 -->
<!-- 微信支付SDK -->
<!-- 支付宝支付SDK -->
环境配置
# 支付配置
payment.wechat.appid=your_appid
payment.wechat.mchid=your_mchid
payment.wechat.key=your_key
# 积分配置
integral.enabled=true
integral.ratio=1.0
核心特性
1. 命令驱动设计
- 每个业务操作对应一个独立的命令类
- 统一的参数验证和执行流程
- 易于扩展和维护
2. 多支付方式支持
- 微信支付、支付宝支付等主流支付方式
- 统一的支付接口,简化接入流程
- 支付池配置,支持不同业务场景
3. 完整的账户体系
- 业主账户管理
- 交易明细记录
- 账户余额管理
4. 灵活的营销工具
- 积分系统配置
- 优惠券管理
- 多种促销场景支持
开发指南
新增命令接口
- 在对应业务目录下创建命令类
- 继承
Cmd基类并实现validate和doCmd方法 - 使用
@Java110Cmd注解注册服务 - 在对应的 BMO 中实现业务逻辑
支付业务扩展
- 实现
IPaymentBusiness接口 - 在
payment目录下添加支付命令 - 配置支付适配器工厂
积分规则配置
- 使用
SaveIntegralRuleCmd创建积分规则 - 配置积分计算规则
- 设置积分使用条件
注意事项
- 支付安全: 所有支付操作必须经过严格的参数验证
- 事务管理: 账户操作需要保证事务一致性
- 性能优化: 高频交易场景需要考虑性能优化
- 日志记录: 重要财务操作需要完整的日志记录
版本历史
- v1.0.0: 初始版本,包含基础账户和支付功能
- v1.1.0: 新增积分系统和优惠券管理
- v1.2.0: 完善发票管理和支付池配置
- v1.3.0: 文档审核通过,修正接口清单准确性,完善命令驱动架构说明