基础组件

1.通用枚举类

类名 说明
ElectricalEnum 电参量枚举类
LanguageKeyEnum 多语言key值枚举类

详细示例

String Ua = ElectricalEnum.Ua.getCode();

2.数据库自动更新组件

框架在启动时会自动执行resources文件下upgrade.sql,通过比对版本号来执行数据库操作。

示例:


drop procedure if exists updateDB;
;;
CREATE PROCEDURE updateDB()
    BEGIN
    CREATE TABLE if not exists `t_sys_parameter` (
       `Id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',
       `CreateTime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '创建时间',
       `ParameterCode` varchar(50) DEFAULT NULL COMMENT '参数编码',
       `ParameterName` varchar(50) DEFAULT NULL COMMENT '参数名称',
       `ParameterValue` text COMMENT '参数值',
       `ParameterURL` varchar(200) DEFAULT NULL,
       PRIMARY KEY (`Id`) USING BTREE
    ) ENGINE=InnoDB AUTO_INCREMENT=12 DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC;
    if not exists(select 1 from t_sys_parameter where  ParameterCode = 'DBVersion') then
            insert into  t_sys_parameter(`CreateTime`, `ParameterCode`, `ParameterName`, `ParameterValue`, `ParameterURL`)
        VALUES ( '2021-11-05 10:19:06', 'DBVersion', 'DBVersion', '1.0.0', NULL);
        end if;
        -- 开始分割线
        -- 创建时间 2022-02-11 张彪
        If exists(select 1 from t_sys_parameter where  ParameterCode = 'DBVersion' and ParameterValue = '1.0.0') then
            ALTER TABLE `prepaid`.`sys_public_share_set`
                CHANGE COLUMN `public_room_id` `cal_type` int(10) NULL COMMENT '计费逻辑 0-按公摊表单价计算 2-按分摊表单价计算' AFTER `id`,
                ADD COLUMN `rate_type` int(0) NULL DEFAULT NULL COMMENT '付费率 0-无 1- 有  水价无付费率' FIRST,
                ADD COLUMN `step_type` int(0) NULL DEFAULT NULL COMMENT '阶梯   0-无 1-有' AFTER `rate_type`,
                ADD COLUMN `price` decimal(18, 4) NULL DEFAULT NULL COMMENT '单价' AFTER `step_type`,
                ADD COLUMN `j_price` decimal(18, 4) NULL DEFAULT NULL COMMENT '尖' AFTER `price`,
                ADD COLUMN `f_price` decimal(18, 4) NULL DEFAULT NULL COMMENT '峰' AFTER `j_price`,
                ADD COLUMN `p_price` decimal(18, 4) NULL DEFAULT NULL COMMENT '平' AFTER `f_price`,
                ADD COLUMN `g_price` decimal(18, 4) NULL DEFAULT NULL COMMENT '谷' AFTER `p_price`,
                ADD COLUMN `execute_time` datetime NULL COMMENT '执行时间' AFTER `g_price`;
            update t_sys_parameter set ParameterValue='1.0.1' where ParameterCode = 'DBVersion';
        end IF;

         -- 创建时间 2022-02-11 张彪
        If exists(select 1 from t_sys_parameter where  ParameterCode = 'DBVersion' and ParameterValue = '1.0.1') then
            CREATE TABLE `t_price_log`
            (
               `id` bigint(10) NOT NULL,
               `room_id` bigint(10) NULL,
               `old_price` decimal(18, 4) NULL DEFAULT NULL COMMENT '单价',
               `old_j_price` decimal(18, 4) NULL DEFAULT NULL COMMENT '尖',
               `old_f_price` decimal(18, 4) NULL DEFAULT NULL COMMENT '峰',
               `old_p_price` decimal(18, 4) NULL DEFAULT NULL COMMENT '平',
               `g_price` decimal(18, 4) NULL DEFAULT NULL COMMENT '谷',
               `price` decimal(18, 4) NULL DEFAULT NULL COMMENT '单价',
               `j_price` decimal(18, 4) NULL DEFAULT NULL COMMENT '尖',
               `f_price` decimal(18, 4) NULL DEFAULT NULL COMMENT '峰',
               `p_price` decimal(18, 4) NULL DEFAULT NULL COMMENT '平',
               `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间',
               `create_user_id` int(0) NULL DEFAULT NULL COMMENT '创建者id',
               `update_time` datetime(0) NULL DEFAULT NULL COMMENT '修改时间',
               `update_user_id` int(0) NULL DEFAULT NULL COMMENT '修改者id',
               PRIMARY KEY (`id`)
            );
            update t_sys_parameter set ParameterValue='1.0.2' where ParameterCode = 'DBVersion';
        end IF;
      --结束分割线
end
;;
call updateDB();
;;

详细步骤添加如下代码块即可

备注好创建时间以及责人-->修改版本号为最新的版本号-->写入执行的sql-->将版本号加1

  -- 创建时间 2022-02-11 张彪
        If exists(select 1 from t_sys_parameter where  ParameterCode = 'DBVersion' and ParameterValue = '1.0.1') then
            CREATE TABLE `t_price_log`
            (
               `id` bigint(10) NOT NULL,
               `room_id` bigint(10) NULL,
               `old_price` decimal(18, 4) NULL DEFAULT NULL COMMENT '单价',
               `old_j_price` decimal(18, 4) NULL DEFAULT NULL COMMENT '尖',
               `old_f_price` decimal(18, 4) NULL DEFAULT NULL COMMENT '峰',
               `old_p_price` decimal(18, 4) NULL DEFAULT NULL COMMENT '平',
               `g_price` decimal(18, 4) NULL DEFAULT NULL COMMENT '谷',
               `price` decimal(18, 4) NULL DEFAULT NULL COMMENT '单价',
               `j_price` decimal(18, 4) NULL DEFAULT NULL COMMENT '尖',
               `f_price` decimal(18, 4) NULL DEFAULT NULL COMMENT '峰',
               `p_price` decimal(18, 4) NULL DEFAULT NULL COMMENT '平',
               `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间',
               `create_user_id` int(0) NULL DEFAULT NULL COMMENT '创建者id',
               `update_time` datetime(0) NULL DEFAULT NULL COMMENT '修改时间',
               `update_user_id` int(0) NULL DEFAULT NULL COMMENT '修改者id',
               PRIMARY KEY (`id`)
            );
            update t_sys_parameter set ParameterValue='1.0.2' where ParameterCode = 'DBVersion';
        end IF;

2.多语言组件

服务接口

LanguageFeign : getLanguage

入参:

参数 类型 说明 示例
key String 多语言主键 event.meter.reading
params Map 需要替换的参数 {"ua":"220.1"}

返参:

参数 类型 说明 示例 备注
key String 多语言主键 event.meter.reading
context String 封装好的多语言文本 {"en-US":"Abnormal meter reading and fee deduction","zh-CN":"抄表扣费异常"} 前端根据多语言设置自动切换展示信息。

多语言存储结构(MySql数据库存储 t_language)

如需添加其他多语言,联系相关负责人

字段 类型 说明 示例
Id bigint 主键
key varchar 多语言ode event.meter.reading
zh-CN varchar 中文,支持参数替换,替换标识符${} 欠压,抄表值为:${ua}
en-US varchar 英文,支持参数替换,替换标识符${} Under voltage, reading value is ${ua}

详细示例

Language language = new Language();
language.setKey(LanguageKeyEnum.MeterReadingError.getCode());
Map<String,Object> params = new HashMap<>();
//设置需要替换的值
params.put("Ua",Ua);
language.setParams(params);
Language result = languageFeign.getLanguage(language);
//获取封装的多语言结构
String context = result.getContext()

results matching ""

    No results matching ""