1 设计日志
- create table exection_log(
- id bigint(20) 主键,
- biz_uuid, varchar(128) '业务标识',
- ip, varchar(128) '',
- url, varchar(128) '请求url',
- line, varchar(128) 错误代码行数,
- param mediument 请求参数,
- main_message mediument 主要异常信息,
- message mediument 全部异常信息,
- create_time datetime, 创建时间
- );
-
- create table oper_log{
- id bigint(20) 主键,
- oper_module varchar 模块标题,
- oper_no varchar 模块编码,
- oper_type varchar 模块类型,
- url, varchar 请求url,
- oper_desc mediument 操作描述,
- delete_status int(2) 删除状态0:有效,1:无效,
- creator int 操作人,
- updator int 更新人,
- create_time datetime, 创建时间,
- update_time datetime, 更新时间
- }
-
- create table message_record_consume{
- id bigint(20) 主键,
- message_data_json mediument,消息内容,
- exception_data_json mediument,异常消息,
- message_type varchar,消息类型,
- consume_time,消息结束时间,
- consume_source varchar, 消息来源,
- ip varchar, ip,
- biz_uuid varchar ,业务消息uuid,
- create_time datetime, 创建时间,
- update_time datetime, 更新时间
- }
-
- create table message_record_producer{
- id bigint(20) 主键,
- message_data_json mediument,消息内容,
- exception_data_json mediument,异常消息,
- sending_time datetime 消息发送时间,
- sent_time datetime 消息最后一次发送的时间,
- ack_time datetime 收到消息ack的时间,
- retry_count int 发送消息重试次数,
- message_status varchar 消息状态,sending sent acked,
- message_type 消息类型,
- message_target varchar 消息发送目标,
- biz_uuid,varchar 消息业务记录uuid,
- biz_type varchar 消息业务类型,
- producer_key varchar 消息生产者key,
- message_source varchar 消息来源,
- create_time datetime, 创建时间,
- update_time datetime, 更新时间
- }
-
- create table file{
- id bigint(20) 主键,
- type tinyint(2) 类型,
- function_code varchar 功能编码,
- function_name varchar 功能名称,
- biz_id bigint 单据id,
- status tinyint 状态,
- start_time datetime 开始时间,
- end_time datetime 结束时间,
- row_number int 导出记录数,
- file_name varchar 文件名称,
- file_size bigint 文件大小,
- path varchar(500) 文件路径,
- create_id int 创建人,
- create_name varchar 创建人名称;
- }
-
- create table serial_number{
- id bigint(20) 主键,
- fix varchar 前缀,
- date_format varchar 时间格式,
- serial_number varchar 流水号;
- }
-
- create table dict{
- id bigint(20) 主键,
- value varchar 数据值,
- lable varchar 标签名,
- type tinyint 类型,
- description varchar 描述,
- is_default tinyint 是否默认,
- sort int 排序,
- remarks varchar 备注信息,
- delete_status tinyint 删除标识,
- create 创建人,
- update 修改人,
- c_time, 创建时间,
- u_time, 更新时间;
- }
-
-
- create table reqlog{
- id bigint(20) 主键,
- type int 接口类型,
- business_no varchar 业务编号,
- sender varchar 发送方,
- receiver varchar 接收方,
- send_content mediumtext 发送内容,
- receive_content mediumtext 响应内容,
- status tinyint 请求成功与否(状态),
- delete_status tinyint 删除状态,
- c_time datetime 创建时间;
- }
-
-
-
-
-
-
-
-
2 一个接口有多个业务实现的初始化设计
-
- private ConcurrentHashMap(String,FormOperation) opreationMap = new ConcurrentHashMap<>();
-
- @Resource
- protected void setForeOperation(FormOperation[] operations){
- //p.getProcDefKey() 实现标识
- for(ForeOperation p : operations){
- operationMap.put(p.getProcDefKey(),p)
- }
- }
3 发送rabbitMq消息时,在接收者消费端,接收到的消息会多出双引号,解决办法是,将json串,转换成JSONArray类型。
如:JSONArray array = JSONUtil.parseArray(json);
4 读取properties文件经常在windows可以,但部署linux不行,使用此工具方法。
- import org.springframework.core.io.DefaultResourceLoader;
- import org.springframework.core.io.ResourceLoader;
- import org.springframework.core.io.Resource;
- import java.io.InputStreamReader;
- import java.util.Properties;
-
- public class ConfigInfo{
-
- private static Properties cache = new Properties();
-
- static{
-
- try{
- ResourceLoader resourceLoader = new DefaultResourceLoader();
- Resource resource = resourceLoader.getResource("classpath:file.properties");
- InputStreamReader isr = new InputStreamReader(resource.getInputerStream(),"utf-8");
- cache.load(isr);
- }catch(){
- }
- }
-
- public static String getValue(String key){
- return cache.getProperty(key);
- }
-
- }
5 创建枚举
-
- @Getter
- @AllArgsConstructor
- public enum Enum{
-
- TYPE_1(1,"111"),
- TYPE_2(2,"222"),
- TYPE_3(3,"333");
-
- private int code;
- private String desc;
-
- /**
- * 自己定义一个静态方法,通过code返回枚举常量对象
- */
- public static Enum getValue(int code){
-
- for (Enum enum: Enum.values()) {
- if(enum.getCode() == code){
- return enum;
- }
- }
- return null;
- }
- }