基础组件
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()