# szgyss **Repository Path**: david-woo/szgyss ## Basic Information - **Project Name**: szgyss - **Description**: 深圳市检察院公益诉讼微信公众号互动服务平台 - **Primary Language**: Java - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2018-06-27 - **Last Updated**: 2026-06-13 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 深圳市检察院公益诉讼微信公众号互动服务平台 ## 脚手架基础目录结构 ```bash ├── /doc # 项目中使用到的文档和sql脚本 ├── /szgyss-common-base/ # 整个项目中的公共代码 ├── /szgyss-common-jdbc/ # 数据库的通用代码 ├── /szgyss-common-web/ # web层通用的代码提取 ├── /szgyss-module-XXXX/ # 各模块代码 ├── /szgyss-deploy/ # 项目启动的入口 └── pom.xml ``` ## 规范 - 1.数据库规范 - 1.1 使用navicat建立好物理模型(在doc中的ndm文件的技术上添加),再生成sql脚本 - 1.2 全部实体类用 t_ 开头(table的意思),如t_user - 1.3 全部中间表用 s_ 开头(ship的意思),如s_user_role - 1.4 必须全部字段都要是非空 not null 由于mysql中,如果存在空字段对检索和排序都有很大的性能影响 - 1.5 必须含有 自增加主键 *id* - 1.6 必须含有 逻辑删除字段 *is_deleted* 0-非删除 1-已删除 - 1.7 必须含有创建时间 *gmt_create* 和 最后修改时间 *gmt_modified* - 1.8 如果需要使用排序,请使用 *serial_num* - 1.9 枚举规范,只有明确知道只有正负两个相反的枚举,才可以使用0和1(如男/女,删除/非删除),否则均使用1以上的数字 - 2.代码规范 - 2.1 代码规范使用统一的工具(以后会发布)生成 *DO*和*Mapper* 代码 - 2.2 每个业务模块命名规范为 szgyss-module-XXXXX 如 szgyss-module-ucenter (用户中心) - 2.3 各模块间的依赖均不指定版本号,统一由dependencyManagement做版本控制 - 2.4 枚举规范,全部枚举必须拥有code和desc两个属性,已经searchByCode(Integer code)方法 - 2.5 Service层中的全部读方法均要使用@Transcation(readOnly=true),开启只读属性,可以有效的提高查询速度 - 2.6 重大的错误必须使用log记录,使用lambok的@Slf4j注入log对象 - 2.7 自定义的sql统一放在资源里面的mappers/{模块名称},如mapper/ucenter,代表ucenter模块里面的自定义sql。否则不同模块下的自定义sql的目前相同会存在 *被覆盖* 问题 - 3.接口规范 - 3.1 严格按照rest风格编写接口 [REST风格描述](https://blog.csdn.net/zghwaicsdn/article/details/53788535) - 3.2 当接口uri中存在复杂的多单词的时,使用-作为分格(如: /send-message),uri中禁止使用驼峰命名法和大写字母 - 3.3 控制层返回接口结果为com.hyzs.szgyss.common.web.vo.ResponseVO - 3.4 每个分页查询必须使用com.hyzs.szgyss.common.jdbc.bo.BasePageQueryBO的类或子类作为入参,以com.hyzs.szgyss.common.jdbc.vo.PageQueryResultVO作为返回值