1.自己独自开发的案件管理项目总结
1.1如何合理的设计数据库
一、 首先数据库的设计一定是基于业务去设计的,一定要先把业务理清楚再去建表这会让我们在后期开发中减少很多麻烦:举个例子在设计表的时候要注意的:每个表都应该具备的基础字段:id,create_time,update_time,remark这些字段几乎是必备的,id可作为表的关联字段对于开发帮助巨大,而剩下字段会让数据严谨
二、其次就是个个表之间的联系,这需要我们去把业务分析清楚:举个例子一个司法案件:这个案件管理我们应该都有哪些信息?这需要我们跟项目经理沟通去确认(不要不好意思这是一个必经过程),沟通是项目完成的关键(你可能觉得我在搞笑而这是我的经历)。
三、通过沟通我们知道了一些业务信息,那么开始设计表,一个案件管理软件首先要有个主表:
我列出几个列出几个字段,数据库的字段一定要注意命名方式要是client_type这种方式就是符合阿里的要求
private Long id; private String name; /** 受理状态,0已受理默认 */ @Excel(name = "受理状态,0已受理默认") private Long state; /** 案件机构号 */ @Excel(name = "案件机构号") private String caseOrganizationNumber; /** 统一司法案件编号 */ @Excel(name = "统一司法案件编号") private String unifyNumber; /** 鉴定机构名称 */ @Excel(name = "鉴定机构名称") private String nameOfAppraisalInstitution; /** 委托人 */ @Excel(name = "委托人") private String client; private String client1; /** 委托人类型 */ @Excel(name = "委托人类型") private String clientType; /** 委托人属地 */ @Excel(name = "委托人属地") private String clientBelongingPlace;
这里说一下委托人属地吧,属地在填写的时候不会随意输入,那么我们就需要对表主表做一个属地的子表出来,还有就是委托人信息明显在主表中也是不全的也需要做一个子表,方便后期管理。
我把委托人的字段列出来可以参考
/** 主键 */ private Long id; /** 所属案件ID */ private Long caseId; /** 委托人 */ @Excel(name = "委托人") private String name; /** 委托人类型 */ @Excel(name = "委托人类型") private String type; /** $column.columnComment */ private String duties; /** 委托人给属地 */ @Excel(name = "委托人给属地") private String address; /** 省编码 */ @Excel(name = "省编码") private String province; /** 城市编码 */ @Excel(name = "城市编码") private String city; /** 区域编码 */ @Excel(name = "区域编码") private String area; /** 街道编码 */ @Excel(name = "街道编码") private String street; /** 派出所详细地址 */ @Excel(name = "派出所详细地址") private String addres;
这个表就是委托人的详情,可以看到这个表有自己的id和案件的csaeId这样就联系起来了而这个表下边是住所的一些信息可以搞个区域表去填写这些信息这样表与表有关联又各自为营方便管理
private Long id; /** 上级ID */ @Excel(name = "上级ID") private Long parentId; /** 行政区名称 */ @Excel(name = "行政区名称") private String areaName; /** 城市区域编码 */ @Excel(name = "城市区域编码") private String areaCode; /** 城市编码 */ @Excel(name = "城市编码") private String code; /** 经度 */ @Excel(name = "经度") private BigDecimal lng; /** 纬度 */ @Excel(name = "纬度") private BigDecimal lat; /** 是否已售出(1是,0否) */ @Excel(name = "是否已售出", readConverterExp = "1=是,0否") private String flag; /** 状态(0开启,1关闭) */ @Excel(name = "状态", readConverterExp = "0=开启,1关闭") private String status; /** 行政区划级别(1省2市3区4街道) */ @Excel(name = "行政区划级别", readConverterExp = "1=省2市3区4街道") private String type; /** 城市节点能量值 */ @Excel(name = "城市节点能量值") private BigDecimal csNlz;
这个是区域表可以参考
总结一句就是表设计符合业务,表设计要低耦合
2.文件的上传与下载
注意的坑就是本地开发时与服务器文件地址要提前准备两个可以写个枚举类。
3.es的基本使用,高亮,地图选点