1. 类命名规范
Controller层、Service层、Repository层等类名需要区分admin和client,
例如:XxxAdminController、XxxAdminService、XxxAdminRepository。
2. 包路径规范
所有项目顶级包路径都是: top, common, integration, core, 不允许再新增顶级包路径。
api
- client
- enums
- dto
XxxDTO
- param
- result
XxxClientApi
- admin
- enums
- vo(模型)
- param
XxxAdminApi
app
- top // 对外服务层
- client // 客户端相关接口
- controller
XxxClientController
- rpc
XxxClientApiImpl
- admin // 管理端相关接口
- controller
XxxAdminController
- rpc
XxxAdminApiImpl
- job
- message
- core // 核心层
- enums
- constants
- repository // 数据库的语义层
- client
- model(模型)
XxxModel
- impl
XxxClientRepositoryImpl
XxxClientRepository
- admin
- vo(模型)
- impl
XxxAdminRepositoryImpl
XxxAdminRepository
- service
- client
- impl
XxxClientServiceImpl
XxxClientService
- admin
- impl
XxxAdminServiceImpl
XxxAdminService
- integration // 接入层
- dal
- user
- risk
- common // 工具类
3. 代码分层结构
Controller Api
|------------|
|
Service [可选]
|
|----------------------------|
Repository(Entity->Model/VO) Facade
| |
Dao(Entity) ClientApi/AdminApi
|
Mapper
模型: Entity / VO / Model / DTO
VO(AdminController) Model->DTO(ClientController)
| |
Repository: Entity->VO Entity->Model
参数: Request / Response / Param / Result
适配查询条件
4. 模型与参数的定义规范
模型和参数的区别:模型和数据库表直接对应,参数和接口对应!
模型定义:
B端模型: XxxVO
C端模型: XxxDTO // Entity->DTO, Model->DTO(去掉前端不可见字段)
内部模型: XxxModel // 对Entity做语义化(Json数据转模型:String->VO)
内部模型: XxxEntity // 完全和数据库一对一映射
参数定义:
Rpc场景: XxxParam, XxxResult(包含若干XxxDto)
Http场景: XxxRequest, XxxResponse(包含若干XxxDto)
5. 方法命名规范(小驼峰 - 动宾短语)
注意:
a.尽量通过主键或UK查询;
b.非特殊情况,修改和删除都应该通过id进行;
c.在delete或update后加limit。
接口列表 | 方法命名 | 入参 | 返参 |
---|
单个查询 | get[Mmm][ByNnn] | Get[Mmm][ByNnn]Param | Get[Mmm][ByNnn]Result |
列表查询 | list[Mmm][ByNnn] | [Mmm]PageQueryParam | [Mmm]PageQueryResult |
计次查询 | count[Mmm][ByNnn] | [Mmm]PageQueryParam | Long |
B端-分页查询 | pageQuery[Mmm][ByNnn] | [Mmm]PageQueryParam | [Mmm]PageQueryResult |
C端-分页查询 | pageSearch[Mmm][ByNnn] | [Mmm]PageSearchParam | [Mmm]PageSearchResult |
新建 | create | XxxVO / XxxEntity | Long |
修改 | update[ById] / update[ByUk] | XxxVO / XxxEntity | Integer |
删除 | delete[ById] / delete[ByUk] | Long | Integer |
# 各级路径详情
- client
- constants
- enums
ActivityBizTypeEnum
ActivityPackageStateEnum
ActivityPackageTypeEnum
ActivityStateEnum
ActivityTypeEnum
PrizeTypeEnum
XxxEnum
- dto
ActivityBaseInfoDTO
ActivityAccessRecordDTO
BizTypeConfigDTO
PrizeBaseInfoDTO
PrizeSendRecordDTO
ShareBindDTO
ShareDTO
XxxDTO
- param
ActivityConsultParam
ActivityTriggerParam
LuckDrawQueryParam
XxxParam
- result
ActivityConsultResult
ActivityTriggerResult
LuckDrawActivityResult
XxxResult
ActivityConsultClientApi
ActivityTriggerClientApi
TaskCallbackClientApi
LuckDrawClientApi
TimedPrizeClientApi
XxxClientApi
- admin
- enums
- vo(模型)
BizTypeConfigVO
ActivityPackageVO
ActivityVO
PrizeVO
BudgetVO
CountControlConfigVO
XxxVO
- param
ActivityPackagePageQueryParam
ActivityPageQueryParam
UpdateActivityPackageStateParam
UpdateActivityStateParam
BatchCreateActivityParam
BatchUpdateActivityStateParam
XxxParam
BizTypeConfigAdminApi
ActivityPackageAdminApi
ActivityAdminApi
PrizeAdminApi
XxxAdminApi
- top
- client
- controller
- request
LuckyDrawRequest
TimedPrizeQueryRequest
XxxRequest
- response
LuckyDrawResponse
TimedPrizeQueryResponse
XxxResponse
LuckyDrawController
TimedPrizeController
VenueCouponController
XxxClientController
- rpc
ActivityConsultClientApiImpl
ActivityTriggerClientApiImpl
TaskCallbackClientApiImpl
LuckDrawClientApiImpl
TimedPrizeClientApiImpl
XxxClientApiImpl
- admin
- controller
BizTypeConfigAdminController
ActivityPackageAdminApiImpl
ActivityAdminController
XxxAdminController
- rpc
BizTypeConfigAdminApiImpl
ActivityPackageAdminApiImpl
ActivityAdminApiImpl
XxxAdminApiImpl
- job
- message
- core
- enums
- constants
- converter
AccessCountConverter
ActivityAccessRecordConverter
ActivityConverter
ActivityPackageConverter
BizTypeConfigConverter
BudgetConverter
LotteryCodeRecordConverter
LotteryCodeTemplateConverter
PrizeConverter
PrizeSendRecordConverter
ShareBindConverter
ShareBoostRecordConverter
ShareConverter
XxxConerter
- repository
- client
- model(模型)
AccessCountModel
ActivityAccessRecordModel
ActivityModel
ActivityPackageModel
BizTypeConfigModel
BudgetModel
CountControlConfigModel
CountControlItemConfigModel
LotteryCodeRecordModel
LotteryCodeTemplateModel
PrizeModel
PrizeSendRecordModel
ShareBindModel
ShareBoostRecordModel
ShareConfigModel
ShareModel
UserAddressModel
- impl
XxxClientRepositoryImpl
AccessCountClientRepository
ActivityAccessRecordClientRepository
ActivityClientRepository
ActivityPackageClientRepository
BizTypeConfigClientRepository
BudgetClientRepository
LotteryCodeRecordClientRepository
LotteryCodeTemplateClientRepository
PrizeClientRepository
PrizeSendRecordClientRepository
ShareBindClientRepository
ShareBoostRecordClientRepository
ShareClientRepository
UserAddressClientRepository
XxxClientRepository
- admin
- vo(模型)
- impl
XxxAdminRepositoryImpl
BizTypeConfigAdminRepository
ActivityPackageAdminRepository
ActivityAdminRepository
BudgetAdminRepository
XxxAdminRepository
- service
- client
- impl
XxxClientServiceImpl
ActivityConsultService
ActivityTriggerService
XxxClientService
- admin
- impl
XxxAdminServiceImpl
XxxAdminService
- integration
- dal
- promo_user
- entity(模型)
ActivityAccessRecordEntity
AccessCountEntity
PrizeSendRecordEntity
ShareBindEntity
ShareEntity
UserAddressEntity
XxxEntity
- param
AccessCountUkParam
ShareBindKeyParam
AccessCountPageQueryParam
ActivityAccessRecordPageQueryParam
SharePageQueryParam
XxxParam
- master
- impl
AccessCountMasterDaoImpl
ActivityAccessRecordMasterDaoImpl
PrizeSendRecordMasterDaoImpl
ShareBindMasterDaoImpl
ShareBoostRecordMasterDaoImpl
ShareMasterDaoImpl
UserAddressMasterDaoImpl
XxxDaoImpl
- mapper
AccessCountMasterMapper
ActivityAccessRecordMasterMapper
PrizeSendRecordMasterMapper
ShareMasterMapper
ShareBindMasterMapper
ShareBoostRecordMasterMapper
UserAddressMasterMapper
XxxMapper
AccessCountMasterDao
ActivityAccessRecordMasterDao
PrizeSendRecordMasterDao
ShareBoostRecordMasterDao
ShareBindMasterDao
ShareMasterDao
UserAddressMasterDao
XxxMasterDao
- promo_config
- param
- entity
BizTypeConfigEntity
ActivityPackageEntity
ActivityEntity
PrizeEntity
LotteryCodeTemplateEntity
ActivityLogEntity
XxxEntity
- master
- impl
XxxMasterDaoImpl
- mapper
XxxMasterMapper
ActivityLogMasterDao
ActivityMasterDao
ActivityPackageMasterDao
BizTypeConfigMasterDao
LotteryCodeTemplateMasterDao
PrizeMasterDao
XxxMasterDao
- promo_budget
- param
- entity
BudgetEntity
- master
- impl
BudgetMasterDaoImpl
- mapper
BudgetMasterMapper
BudgetMasterDao
- user
- impl
UserClientFacadeImpl
UserClientFacade
- risk
- impl
RiskClientFacadeImpl
RiskClientFacade
- abtest
- crowd
- common
- annotation
- aop
XxxAop
DateUtil
RedisUtil
IDGenerator