• 设计数据库表


    1 设计日志
     

    1. create table exection_log(
    2.     id bigint(20) 主键,
    3.     biz_uuid, varchar(128) '业务标识',
    4.     ip, varchar(128) '',
    5.     url, varchar(128) '请求url',
    6.     line, varchar(128) 错误代码行数,
    7.     param mediument 请求参数,
    8.     main_message mediument 主要异常信息,
    9.     message mediument 全部异常信息,
    10. create_time datetime, 创建时间
    11. );
    12. create table oper_log{
    13. id bigint(20) 主键,
    14. oper_module varchar 模块标题,
    15. oper_no varchar 模块编码,
    16. oper_type varchar 模块类型,
    17. url, varchar 请求url,
    18. oper_desc mediument 操作描述,
    19. delete_status int(2) 删除状态0:有效,1:无效,
    20. creator int 操作人,
    21. updator int 更新人,
    22. create_time datetime, 创建时间,
    23. update_time datetime, 更新时间
    24. }
    25. create table message_record_consume{
    26. id bigint(20) 主键,
    27. message_data_json mediument,消息内容,
    28. exception_data_json mediument,异常消息,
    29. message_type varchar,消息类型,
    30. consume_time,消息结束时间,
    31. consume_source varchar, 消息来源,
    32. ip varchar, ip,
    33. biz_uuid varchar ,业务消息uuid,
    34. create_time datetime, 创建时间,
    35. update_time datetime, 更新时间
    36. }
    37. create table message_record_producer{
    38. id bigint(20) 主键,
    39. message_data_json mediument,消息内容,
    40. exception_data_json mediument,异常消息,
    41. sending_time datetime 消息发送时间,
    42. sent_time datetime 消息最后一次发送的时间,
    43. ack_time datetime 收到消息ack的时间,
    44. retry_count int 发送消息重试次数,
    45. message_status varchar 消息状态,sending sent acked,
    46. message_type 消息类型,
    47. message_target varchar 消息发送目标,
    48. biz_uuid,varchar 消息业务记录uuid,
    49. biz_type varchar 消息业务类型,
    50. producer_key varchar 消息生产者key,
    51. message_source varchar 消息来源,
    52. create_time datetime, 创建时间,
    53. update_time datetime, 更新时间
    54. }
    55. create table file{
    56. id bigint(20) 主键,
    57. type tinyint(2) 类型,
    58. function_code varchar 功能编码,
    59. function_name varchar 功能名称,
    60. biz_id bigint 单据id,
    61. status tinyint 状态,
    62. start_time datetime 开始时间,
    63. end_time datetime 结束时间,
    64. row_number int 导出记录数,
    65. file_name varchar 文件名称,
    66. file_size bigint 文件大小,
    67. path varchar(500) 文件路径,
    68. create_id int 创建人,
    69. create_name varchar 创建人名称;
    70. }
    71. create table serial_number{
    72. id bigint(20) 主键,
    73. fix varchar 前缀,
    74. date_format varchar 时间格式,
    75. serial_number varchar 流水号;
    76. }
    77. create table dict{
    78. id bigint(20) 主键,
    79. value varchar 数据值,
    80. lable varchar 标签名,
    81. type tinyint 类型,
    82. description varchar 描述,
    83. is_default tinyint 是否默认,
    84. sort int 排序,
    85. remarks varchar 备注信息,
    86. delete_status tinyint 删除标识,
    87. create 创建人,
    88. update 修改人,
    89. c_time, 创建时间,
    90. u_time, 更新时间;
    91. }
    92. create table reqlog{
    93. id bigint(20) 主键,
    94. type int 接口类型,
    95. business_no varchar 业务编号,
    96. sender varchar 发送方,
    97. receiver varchar 接收方,
    98. send_content mediumtext 发送内容,
    99. receive_content mediumtext 响应内容,
    100. status tinyint 请求成功与否(状态),
    101. delete_status tinyint 删除状态,
    102. c_time datetime 创建时间;
    103. }

    2  一个接口有多个业务实现的初始化设计
     

    1. private ConcurrentHashMap(String,FormOperation) opreationMap = new ConcurrentHashMap<>();
    2. @Resource
    3. protected void setForeOperation(FormOperation[] operations){
    4.         //p.getProcDefKey()   实现标识
    5.         for(ForeOperation p : operations){
    6.                 operationMap.put(p.getProcDefKey(),p)
    7.         }
    8. }


    3 发送rabbitMq消息时,在接收者消费端,接收到的消息会多出双引号,解决办法是,将json串,转换成JSONArray类型。

    如:JSONArray array = JSONUtil.parseArray(json);

    4 读取properties文件经常在windows可以,但部署linux不行,使用此工具方法。

    1. import org.springframework.core.io.DefaultResourceLoader;
    2. import org.springframework.core.io.ResourceLoader;
    3. import org.springframework.core.io.Resource;
    4. import java.io.InputStreamReader;
    5. import java.util.Properties;
    6. public class ConfigInfo{
    7. private static Properties cache = new Properties();
    8. static{
    9. try{
    10. ResourceLoader resourceLoader = new DefaultResourceLoader();
    11. Resource resource = resourceLoader.getResource("classpath:file.properties");
    12. InputStreamReader isr = new InputStreamReader(resource.getInputerStream(),"utf-8");
    13. cache.load(isr);
    14. }catch(){
    15. }
    16. }
    17. public static String getValue(String key){
    18. return cache.getProperty(key);
    19. }
    20. }

    5 创建枚举

    1. @Getter
    2. @AllArgsConstructor
    3. public enum Enum{
    4. TYPE_1(1,"111"),
    5. TYPE_2(2,"222"),
    6. TYPE_3(3,"333");
    7. private int code;
    8. private String desc;
    9. /**
    10. * 自己定义一个静态方法,通过code返回枚举常量对象
    11. */
    12. public static Enum getValue(int code){
    13. for (Enum enum: Enum.values()) {
    14. if(enum.getCode() == code){
    15. return enum;
    16. }
    17. }
    18. return null;
    19. }
    20. }

  • 相关阅读:
    CNN-generated images are surprisingly easy to spot... for now
    《嵌入式虚拟化技术与应用》:深入浅出阐述嵌入式虚拟机原理,实现“小而能”嵌入式虚拟机!
    一文带您了解云渲染
    2022,云大厂“猛砸”合作伙伴生态
    Python多重高斯分布数据可视化
    论文笔记:E(n) Equivariant Graph Neural Networks
    47. UE5 RPG 实现角色死亡效果
    Springboot知识点梳理(一)
    论文阅读笔记:Instance-Aware Dynamic Neural Network Quantization
    Spring Cloud(八):Spring Cloud Alibaba Seata 2PC、AT、XA、TCC
  • 原文地址:https://blog.csdn.net/weixin_41500775/article/details/128152051