feat(国际化): 新增国际化

This commit is contained in:
gx_ma
2026-03-24 11:41:41 +08:00
parent abe46baf18
commit e70c198071
97 changed files with 10802 additions and 5302 deletions

View File

@@ -5,6 +5,7 @@ import java.util.List;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.fastbee.common.utils.MessageUtils;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.slf4j.Logger;
@@ -55,7 +56,7 @@ public class CommonController
{
if (!FileUtils.checkAllowDownload(fileName))
{
throw new Exception(StringUtils.format("文件名称({})非法,不允许下载。 ", fileName));
throw new Exception(StringUtils.format(MessageUtils.message("download.filename.not.valid"), fileName));
}
String realFileName = System.currentTimeMillis() + fileName.substring(fileName.indexOf("_") + 1);
String filePath = RuoYiConfig.getDownloadPath() + fileName;
@@ -151,7 +152,7 @@ public class CommonController
{
if (!FileUtils.checkAllowDownload(resource))
{
throw new Exception(StringUtils.format("资源文件({})非法,不允许下载。 ", resource));
throw new Exception(StringUtils.format(MessageUtils.message("download.resource.not.valid"), resource));
}
// 本地资源路径
String localPath = RuoYiConfig.getProfile();

View File

@@ -1,8 +1,11 @@
package com.fastbee.web.controller.system;
import java.util.List;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletResponse;
import com.fastbee.common.utils.MessageUtils;
import com.fastbee.common.utils.StringUtils;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
@@ -36,7 +39,7 @@ import com.fastbee.system.service.ISysConfigService;
@RequestMapping("/system/config")
public class SysConfigController extends BaseController
{
@Autowired
@Resource
private ISysConfigService configService;
/**
@@ -95,7 +98,7 @@ public class SysConfigController extends BaseController
{
if (!configService.checkConfigKeyUnique(config))
{
return error("新增参数'" + config.getConfigName() + "'失败,参数键名已存在");
return error(StringUtils.format(MessageUtils.message("sysConfig.add.param.fail.name.exist"), config.getConfigName()));
}
config.setCreateBy(getUsername());
return toAjax(configService.insertConfig(config));
@@ -112,7 +115,7 @@ public class SysConfigController extends BaseController
{
if (!configService.checkConfigKeyUnique(config))
{
return error("修改参数'" + config.getConfigName() + "'失败,参数键名已存在");
return error(StringUtils.format(MessageUtils.message("sysConfig.update.param.fail.name.exist"), config.getConfigName()));
}
config.setUpdateBy(getUsername());
return toAjax(configService.updateConfig(config));

View File

@@ -5,6 +5,7 @@ import java.util.stream.Collectors;
import com.fastbee.common.core.domain.model.LoginUser;
import com.fastbee.common.exception.ServiceException;
import com.fastbee.common.utils.MessageUtils;
import com.fastbee.common.utils.SecurityUtils;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
@@ -29,6 +30,8 @@ import com.fastbee.common.enums.BusinessType;
import com.fastbee.common.utils.StringUtils;
import com.fastbee.system.service.ISysDeptService;
import javax.servlet.http.HttpServletRequest;
/**
* 部门信息
*
@@ -98,11 +101,11 @@ public class SysDeptController extends BaseController
@PreAuthorize("@ss.hasPermi('system:dept:add')")
@Log(title = "部门管理", businessType = BusinessType.INSERT)
@PostMapping
public AjaxResult add(@Validated @RequestBody SysDept dept)
public AjaxResult add(HttpServletRequest request, @Validated @RequestBody SysDept dept)
{
if (!deptService.checkDeptNameUnique(dept))
{
return error("新增部门'" + dept.getDeptName() + "'失败,部门名称已存在");
return error(StringUtils.format(MessageUtils.message("dept.add.failed.name.exists"), dept.getDeptName()));
}
dept.setCreateBy(getUsername());
return toAjax(deptService.insertDept(dept));
@@ -121,15 +124,15 @@ public class SysDeptController extends BaseController
deptService.checkDeptDataScope(deptId);
if (!deptService.checkDeptNameUnique(dept))
{
return error("修改部门'" + dept.getDeptName() + "'失败,部门名称已存在");
return error(StringUtils.format(MessageUtils.message("dept.update.failed.name.exists"), dept.getDeptName()));
}
else if (dept.getParentId().equals(deptId))
{
return error("修改部门'" + dept.getDeptName() + "'失败,上级部门不能是自己");
return error(StringUtils.format(MessageUtils.message("dept.update.failed.parent.not.valid"), dept.getDeptName()));
}
else if (StringUtils.equals(UserConstants.DEPT_DISABLE, dept.getStatus()) && deptService.selectNormalChildrenDeptById(deptId) > 0)
{
return error("该部门包含未停用的子部门!");
return error(MessageUtils.message("dept.update.failed.child.not.valid"));
}
dept.setUpdateBy(getUsername());
return toAjax(deptService.updateDept(dept));
@@ -146,11 +149,11 @@ public class SysDeptController extends BaseController
{
if (deptService.hasChildByDeptId(deptId))
{
return warn("存在下级部门,不允许删除");
return warn(MessageUtils.message("dept.delete.failed.child.exists"));
}
if (deptService.checkDeptExistUser(deptId))
{
return warn("部门存在用户,不允许删除");
return warn(MessageUtils.message("dept.delete.failed.user.exists"));
}
deptService.checkDeptDataScope(deptId);
return toAjax(deptService.deleteDeptById(deptId));

View File

@@ -78,7 +78,7 @@ public class SysDictDataController extends BaseController
List<SysDictData> data = dictTypeService.selectDictDataByType(dictType);
if (StringUtils.isNull(data))
{
data = new ArrayList<SysDictData>();
data = new ArrayList<>();
}
return success(data);
}

View File

@@ -3,6 +3,8 @@ package com.fastbee.web.controller.system;
import java.util.List;
import javax.servlet.http.HttpServletResponse;
import com.fastbee.common.utils.MessageUtils;
import com.fastbee.common.utils.StringUtils;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
@@ -82,7 +84,7 @@ public class SysDictTypeController extends BaseController
{
if (!dictTypeService.checkDictTypeUnique(dict))
{
return error("新增字典'" + dict.getDictName() + "'失败,字典类型已存在");
return error(StringUtils.format(MessageUtils.message("dict.add.failed.type.exists"), dict.getDictName()));
}
dict.setCreateBy(getUsername());
return toAjax(dictTypeService.insertDictType(dict));
@@ -99,7 +101,7 @@ public class SysDictTypeController extends BaseController
{
if (!dictTypeService.checkDictTypeUnique(dict))
{
return error("修改字典'" + dict.getDictName() + "'失败,字典类型已存在");
return error(StringUtils.format(MessageUtils.message("dict.update.failed.type.exists"), dict.getDictName()));
}
dict.setUpdateBy(getUsername());
return toAjax(dictTypeService.updateDictType(dict));

View File

@@ -1,5 +1,6 @@
package com.fastbee.web.controller.system;
import com.fastbee.common.utils.MessageUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@@ -24,6 +25,6 @@ public class SysIndexController
@RequestMapping("/")
public String index()
{
return StringUtils.format("欢迎使用{}后台管理框架当前版本v{},请通过前端地址访问。", ruoyiConfig.getName(), ruoyiConfig.getVersion());
return StringUtils.format(MessageUtils.message("index.welcome.message"), ruoyiConfig.getName(), ruoyiConfig.getVersion());
}
}

View File

@@ -17,9 +17,12 @@ import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RestController;
import javax.servlet.http.HttpServletRequest;
import java.util.List;
import java.util.Set;
import static com.fastbee.common.constant.Constants.LANGUAGE;
/**
* 登录验证
*
@@ -47,12 +50,12 @@ public class SysLoginController
* @return 结果
*/
@PostMapping("/login")
public AjaxResult login(@RequestBody LoginBody loginBody)
public AjaxResult login(HttpServletRequest request, @RequestBody LoginBody loginBody)
{
AjaxResult ajax = AjaxResult.success();
// 生成令牌
String token = loginService.login(loginBody.getUsername(), loginBody.getPassword(), loginBody.getCode(),
loginBody.getUuid());
loginBody.getUuid(), request.getHeader(LANGUAGE));
ajax.put(Constants.TOKEN, token);
return ajax;
}
@@ -89,10 +92,10 @@ public class SysLoginController
* @return 路由信息
*/
@GetMapping("getRouters")
public AjaxResult getRouters()
public AjaxResult getRouters(HttpServletRequest request)
{
Long userId = SecurityUtils.getUserId();
List<SysMenu> menus = menuService.selectMenuTreeByUserId(userId);
List<SysMenu> menus = menuService.selectMenuTreeByUserId(userId, request.getHeader(LANGUAGE));
return AjaxResult.success(menuService.buildMenus(menus));
}
}

View File

@@ -2,6 +2,7 @@ package com.fastbee.web.controller.system;
import java.util.List;
import com.fastbee.common.utils.MessageUtils;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
@@ -96,11 +97,11 @@ public class SysMenuController extends BaseController
{
if (!menuService.checkMenuNameUnique(menu))
{
return error("新增菜单'" + menu.getMenuName() + "'失败,菜单名称已存在");
return error(StringUtils.format(MessageUtils.message("menu.add.failed.name.exists"), menu.getMenuName()));
}
else if (UserConstants.YES_FRAME.equals(menu.getIsFrame()) && !StringUtils.ishttp(menu.getPath()))
{
return error("新增菜单'" + menu.getMenuName() + "'失败地址必须以http(s)://开头");
return error(StringUtils.format(MessageUtils.message("menu.add.failed.path.not.valid"), menu.getMenuName()));
}
menu.setCreateBy(getUsername());
return toAjax(menuService.insertMenu(menu));
@@ -117,15 +118,15 @@ public class SysMenuController extends BaseController
{
if (!menuService.checkMenuNameUnique(menu))
{
return error("修改菜单'" + menu.getMenuName() + "'失败,菜单名称已存在");
return error(StringUtils.format(MessageUtils.message("menu.update.failed.name.exists"), menu.getMenuName()));
}
else if (UserConstants.YES_FRAME.equals(menu.getIsFrame()) && !StringUtils.ishttp(menu.getPath()))
{
return error("修改菜单'" + menu.getMenuName() + "'失败地址必须以http(s)://开头");
return error(StringUtils.format(MessageUtils.message("menu.update.failed.path.not.valid"), menu.getMenuName()));
}
else if (menu.getMenuId().equals(menu.getParentId()))
{
return error("修改菜单'" + menu.getMenuName() + "'失败,上级菜单不能选择自己");
return error(StringUtils.format(MessageUtils.message("menu.update.failed.parent.not.valid"), menu.getMenuName()));
}
menu.setUpdateBy(getUsername());
return toAjax(menuService.updateMenu(menu));
@@ -142,11 +143,11 @@ public class SysMenuController extends BaseController
{
if (menuService.hasChildByMenuId(menuId))
{
return warn("存在子菜单,不允许删除");
return warn(MessageUtils.message("menu.delete.failed.child.exists"));
}
if (menuService.checkMenuExistRole(menuId))
{
return warn("菜单已分配,不允许删除");
return warn(MessageUtils.message("menu.delete.failed.role.exists"));
}
return toAjax(menuService.deleteMenuById(menuId));
}

View File

@@ -3,6 +3,8 @@ package com.fastbee.web.controller.system;
import java.util.List;
import javax.servlet.http.HttpServletResponse;
import com.fastbee.common.utils.MessageUtils;
import com.fastbee.common.utils.StringUtils;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
@@ -85,11 +87,11 @@ public class SysPostController extends BaseController
{
if (!postService.checkPostNameUnique(post))
{
return error("新增岗位'" + post.getPostName() + "'失败,岗位名称已存在");
return error(StringUtils.format(MessageUtils.message("post.add.failed.name.exists"), post.getPostName()));
}
else if (!postService.checkPostCodeUnique(post))
{
return error("新增岗位'" + post.getPostName() + "'失败,岗位编码已存在");
return error(StringUtils.format(MessageUtils.message("post.add.failed.code.exists"), post.getPostName()));
}
post.setCreateBy(getUsername());
return toAjax(postService.insertPost(post));
@@ -106,11 +108,11 @@ public class SysPostController extends BaseController
{
if (!postService.checkPostNameUnique(post))
{
return error("修改岗位'" + post.getPostName() + "'失败,岗位名称已存在");
return error(StringUtils.format(MessageUtils.message("post.update.failed.name.exists"), post.getPostName()));
}
else if (!postService.checkPostCodeUnique(post))
{
return error("修改岗位'" + post.getPostName() + "'失败,岗位编码已存在");
return error(StringUtils.format(MessageUtils.message("post.update.failed.code.exists"), post.getPostName()));
}
post.setUpdateBy(getUsername());
return toAjax(postService.updatePost(post));

View File

@@ -9,6 +9,7 @@ import com.fastbee.common.core.domain.entity.SysUser;
import com.fastbee.common.core.domain.model.LoginUser;
import com.fastbee.common.enums.BusinessType;
import com.fastbee.common.enums.SocialPlatformType;
import com.fastbee.common.utils.MessageUtils;
import com.fastbee.common.utils.SecurityUtils;
import com.fastbee.common.utils.StringUtils;
import com.fastbee.common.utils.file.FileUploadUtils;
@@ -86,11 +87,11 @@ public class SysProfileController extends BaseController
currentUser.setSex(user.getSex());
if (StringUtils.isNotEmpty(user.getPhonenumber()) && !userService.checkPhoneUnique(currentUser))
{
return error("修改用户'" + user.getUserName() + "'失败,手机号码已存在");
return error(StringUtils.format(MessageUtils.message("user.update.failed.phone.exists"), user.getUserName()));
}
if (StringUtils.isNotEmpty(user.getEmail()) && !userService.checkEmailUnique(currentUser))
{
return error("修改用户'" + loginUser.getUsername() + "'失败,邮箱账号已存在");
return error(StringUtils.format(MessageUtils.message("user.update.failed.email.exists"), user.getUserName()));
}
if (userService.updateUserProfile(currentUser) > 0)
{
@@ -98,7 +99,7 @@ public class SysProfileController extends BaseController
tokenService.setLoginUser(loginUser);
return success();
}
return error("修改个人信息异常,请联系管理员");
return error(MessageUtils.message("user.update.failed"));
}
/**
@@ -116,11 +117,11 @@ public class SysProfileController extends BaseController
String password = loginUser.getPassword();
if (!SecurityUtils.matchesPassword(oldPassword, password))
{
return error("修改密码失败,旧密码错误");
return error(MessageUtils.message("user.update.failed.password.wrong"));
}
if (SecurityUtils.matchesPassword(newPassword, password))
{
return error("新密码不能与旧密码相同");
return error(MessageUtils.message("user.update.failed.password.same"));
}
newPassword = SecurityUtils.encryptPassword(newPassword);
if (userService.resetUserPwd(userName, newPassword) > 0)
@@ -130,7 +131,7 @@ public class SysProfileController extends BaseController
tokenService.setLoginUser(loginUser);
return success();
}
return error("修改密码异常,请联系管理员");
return error(MessageUtils.message("user.update.password.failed"));
}
/**
@@ -155,6 +156,6 @@ public class SysProfileController extends BaseController
return ajax;
}
}
return error("上传图片异常,请联系管理员");
return error(MessageUtils.message("user.upload.avatar.failed"));
}
}

View File

@@ -1,5 +1,6 @@
package com.fastbee.web.controller.system;
import com.fastbee.common.utils.MessageUtils;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
@@ -13,6 +14,8 @@ import com.fastbee.common.utils.StringUtils;
import com.fastbee.framework.web.service.SysRegisterService;
import com.fastbee.system.service.ISysConfigService;
import javax.annotation.Resource;
/**
* 注册验证
*
@@ -22,10 +25,10 @@ import com.fastbee.system.service.ISysConfigService;
@RestController
public class SysRegisterController extends BaseController
{
@Autowired
@Resource
private SysRegisterService registerService;
@Autowired
@Resource
private ISysConfigService configService;
@ApiOperation("注册账号")
@@ -34,7 +37,7 @@ public class SysRegisterController extends BaseController
{
if (!("true".equals(configService.selectConfigByKey("sys.account.registerUser"))))
{
return error("当前系统没有开启注册功能!");
return error(MessageUtils.message("sysRegister.fail.not.enable.register"));
}
String msg = registerService.register(user);
return StringUtils.isEmpty(msg) ? success() : error(msg);

View File

@@ -3,6 +3,7 @@ package com.fastbee.web.controller.system;
import java.util.List;
import javax.servlet.http.HttpServletResponse;
import com.fastbee.common.utils.MessageUtils;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
@@ -104,11 +105,11 @@ public class SysRoleController extends BaseController
{
if (!roleService.checkRoleNameUnique(role))
{
return error("新增角色'" + role.getRoleName() + "'失败,角色名称已存在");
return error(StringUtils.format(MessageUtils.message("role.add.failed.name.exists"), role.getRoleName()));
}
else if (!roleService.checkRoleKeyUnique(role))
{
return error("新增角色'" + role.getRoleName() + "'失败,角色权限已存在");
return error(StringUtils.format(MessageUtils.message("role.add.failed.key.exists"), role.getRoleName()));
}
role.setCreateBy(getUsername());
return toAjax(roleService.insertRole(role));
@@ -128,11 +129,11 @@ public class SysRoleController extends BaseController
roleService.checkRoleDataScope(role.getRoleId());
if (!roleService.checkRoleNameUnique(role))
{
return error("修改角色'" + role.getRoleName() + "'失败,角色名称已存在");
return error(StringUtils.format(MessageUtils.message("role.update.failed.name.exists"), role.getRoleName()));
}
else if (!roleService.checkRoleKeyUnique(role))
{
return error("修改角色'" + role.getRoleName() + "'失败,角色权限已存在");
return error(StringUtils.format(MessageUtils.message("role.update.failed.key.exists"), role.getRoleName()));
}
role.setUpdateBy(getUsername());
@@ -148,7 +149,7 @@ public class SysRoleController extends BaseController
}
return success();
}
return error("修改角色'" + role.getRoleName() + "'失败,请联系管理员");
return error(StringUtils.format(MessageUtils.message("role.update.failed"), role.getRoleName()));
}
/**

View File

@@ -0,0 +1,80 @@
package com.fastbee.web.controller.system;
import com.fastbee.common.core.domain.AjaxResult;
import com.fastbee.common.core.controller.BaseController;
import com.fastbee.common.utils.poi.ExcelUtil;
import com.fastbee.common.utils.MessageUtils;
import com.fastbee.common.utils.StringUtils;
import com.fastbee.system.domain.SysTranslate;
import com.fastbee.system.service.ISysTranslateService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.apache.commons.collections4.CollectionUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.multipart.MultipartFile;
import javax.servlet.http.HttpServletResponse;
import java.util.List;
/**
* 翻译表管理
*
* @author ruoyi
*/
@Api(tags = "翻译表管理")
@RestController
@RequestMapping("/system/translate")
public class SysTranslateController extends BaseController
{
@Autowired
private ISysTranslateService sysTranslateService;
/**
* 导入翻译列表
*/
@ApiOperation("导入翻译列表")
@PreAuthorize("@ss.hasPermi('system:translate:import')")
@PostMapping("/import")
public AjaxResult importSysTranslate(MultipartFile file, String type, Long productId) throws Exception {
if (null == file) {
return error(MessageUtils.message("import.failed.file.null"));
}
if (StringUtils.isEmpty(type)) {
return error();
}
ExcelUtil<SysTranslate> util = new ExcelUtil<>(SysTranslate.class);
List<SysTranslate> list = util.importExcel(file.getInputStream());
if (CollectionUtils.isEmpty(list)) {
return error(MessageUtils.message("import.failed.data.null"));
}
sysTranslateService.importSysTranslate(list, type, productId);
return success(MessageUtils.message("import.success"));
}
/**
* 导出翻译列表
*/
@ApiOperation("导出翻译列表")
@PreAuthorize("@ss.hasPermi('system:translate:export')")
@PostMapping("/export")
public void export(HttpServletResponse response, SysTranslate sysTranslate, String type, @RequestParam(name = "isSource", required = false, defaultValue = "0") Boolean isSource)
{
if (StringUtils.isEmpty(type)) {
return;
}
List<SysTranslate> list;
if (isSource) {
list = sysTranslateService.selectSourceList(type, sysTranslate.getProductId());
} else {
list = sysTranslateService.selectSysTranslateList(sysTranslate, type);
}
ExcelUtil<SysTranslate> util = new ExcelUtil<>(SysTranslate.class);
util.exportExcel(response, list, "翻译列表");
}
}

View File

@@ -10,6 +10,7 @@ import com.fastbee.common.core.domain.model.LoginUser;
import com.fastbee.common.core.page.TableDataInfo;
import com.fastbee.common.enums.BusinessType;
import com.fastbee.common.exception.ServiceException;
import com.fastbee.common.utils.MessageUtils;
import com.fastbee.common.utils.SecurityUtils;
import com.fastbee.common.utils.StringUtils;
import com.fastbee.common.utils.poi.ExcelUtil;
@@ -160,15 +161,15 @@ public class SysUserController extends BaseController
roleService.checkRoleDataScope(user.getRoleIds());
if (!userService.checkUserNameUnique(user))
{
return error("新增用户'" + user.getUserName() + "'失败,登录账号已存在");
return error(StringUtils.format(MessageUtils.message("user.add.failed.name.exists"), user.getUserName()));
}
else if (StringUtils.isNotEmpty(user.getPhonenumber()) && !userService.checkPhoneUnique(user))
{
return error("新增用户'" + user.getUserName() + "'失败,手机号码已存在");
return error(StringUtils.format(MessageUtils.message("user.add.failed.phone.exists"), user.getUserName()));
}
else if (StringUtils.isNotEmpty(user.getEmail()) && !userService.checkEmailUnique(user))
{
return error("新增用户'" + user.getUserName() + "'失败,邮箱账号已存在");
return error(StringUtils.format(MessageUtils.message("user.add.failed.email.exists"), user.getUserName()));
}
user.setCreateBy(getUsername());
user.setPassword(SecurityUtils.encryptPassword(user.getPassword()));
@@ -189,15 +190,15 @@ public class SysUserController extends BaseController
roleService.checkRoleDataScope(user.getRoleIds());
if (!userService.checkUserNameUnique(user))
{
return error("修改用户'" + user.getUserName() + "'失败,登录账号已存在");
return error(StringUtils.format(MessageUtils.message("user.update.failed.name.exists"), user.getUserName()));
}
else if (StringUtils.isNotEmpty(user.getPhonenumber()) && !userService.checkPhoneUnique(user))
{
return error("修改用户'" + user.getUserName() + "'失败,手机号码已存在");
return error(StringUtils.format(MessageUtils.message("user.update.failed.phone.exists"), user.getUserName()));
}
else if (StringUtils.isNotEmpty(user.getEmail()) && !userService.checkEmailUnique(user))
{
return error("修改用户'" + user.getUserName() + "'失败,邮箱账号已存在");
return error(StringUtils.format(MessageUtils.message("user.update.failed.email.exists"), user.getUserName()));
}
user.setUpdateBy(getUsername());
return toAjax(userService.updateUser(user));
@@ -213,7 +214,7 @@ public class SysUserController extends BaseController
{
if (ArrayUtils.contains(userIds, getUserId()))
{
return error("当前用户不能删除");
return error(MessageUtils.message("user.delete.failed"));
}
return toAjax(userService.deleteUserByIds(userIds));
}

View File

@@ -1,38 +1,429 @@
#错误消息
not.null=* 必须填写
user.jcaptcha.error=验证码错误
user.jcaptcha.expire=验证码已失效
user.not.exists=用户不存在/密码错误
user.password.not.match=用户不存在/密码错误
user.password.retry.limit.count=密码输入错误{0}次
user.password.retry.limit.exceed=密码输入错误{0}次,帐户锁定{1}分钟
user.password.delete=对不起,您的账号已被删除
user.blocked=用户已封禁,请联系管理员
role.blocked=角色已封禁,请联系管理员
login.blocked=很遗憾访问IP已被列入系统黑名单
user.logout.success=退出成功
#\u9519\u8BEF\u6D88\u606F
not.null=\u5FC5\u987B\u586B\u5199
user.jcaptcha.error=\u9A8C\u8BC1\u7801\u9519\u8BEF
user.jcaptcha.expire=\u9A8C\u8BC1\u7801\u5DF2\u5931\u6548
user.not.exists=\u7528\u6237\u4E0D\u5B58\u5728/\u5BC6\u7801\u9519\u8BEF
user.password.not.match=\u7528\u6237\u4E0D\u5B58\u5728/\u5BC6\u7801\u9519\u8BEF
user.password.retry.limit.count=\u5BC6\u7801\u8F93\u5165\u9519\u8BEF{0}\u6B21
user.password.retry.limit.exceed=\u5BC6\u7801\u8F93\u5165\u9519\u8BEF{0}\u6B21\uFF0C\u5E10\u6237\u9501\u5B9A{1}\u5206\u949F
user.password.delete=\u5BF9\u4E0D\u8D77\uFF0C\u60A8\u7684\u8D26\u53F7\u5DF2\u88AB\u5220\u9664
user.blocked=\u7528\u6237\u5DF2\u5C01\u7981\uFF0C\u8BF7\u8054\u7CFB\u7BA1\u7406\u5458
role.blocked=\u89D2\u8272\u5DF2\u5C01\u7981\uFF0C\u8BF7\u8054\u7CFB\u7BA1\u7406\u5458
user.logout.success=\u9000\u51FA\u6210\u529F
length.not.valid=长度必须在{min}到{max}个字符之间
length.not.valid=\u957F\u5EA6\u5FC5\u987B\u5728{min}\u5230{max}\u4E2A\u5B57\u7B26\u4E4B\u95F4
user.username.not.valid=* 2到20个汉字、字母、数字或下划线组成且必须以非数字开头
user.password.not.valid=* 5-50个字符
user.username.not.valid=2\u523020\u4E2A\u6C49\u5B57\u3001\u5B57\u6BCD\u3001\u6570\u5B57\u6216\u4E0B\u5212\u7EBF\u7EC4\u6210\uFF0C\u4E14\u5FC5\u987B\u4EE5\u975E\u6570\u5B57\u5F00\u5934
user.password.not.valid=5-50\u4E2A\u5B57\u7B26
user.email.not.valid=邮箱格式错误
user.mobile.phone.number.not.valid=手机号格式错误
user.login.success=登录成功
user.register.success=注册成功
user.notfound=请重新登录
user.forcelogout=管理员强制退出,请重新登录
user.unknown.error=未知错误,请重新登录
user.email.not.valid=\u90AE\u7BB1\u683C\u5F0F\u9519\u8BEF
user.mobile.phone.number.not.valid=\u624B\u673A\u53F7\u683C\u5F0F\u9519\u8BEF
user.login.success=\u767B\u5F55\u6210\u529F
user.register.success=\u6CE8\u518C\u6210\u529F
user.notfound=\u8BF7\u91CD\u65B0\u767B\u5F55
user.forcelogout=\u7BA1\u7406\u5458\u5F3A\u5236\u9000\u51FA\uFF0C\u8BF7\u91CD\u65B0\u767B\u5F55
user.unknown.error=\u672A\u77E5\u9519\u8BEF\uFF0C\u8BF7\u91CD\u65B0\u767B\u5F55
##文件上传消息
upload.exceed.maxSize=上传的文件大小超出限制的文件大小!<br/>允许的文件最大大小是:{0}MB
upload.filename.exceed.length=上传的文件名最长{0}个字符
##\u6743\u9650
no.permission=\u60A8\u6CA1\u6709\u6570\u636E\u7684\u6743\u9650\uFF0C\u8BF7\u8054\u7CFB\u7BA1\u7406\u5458\u6DFB\u52A0\u6743\u9650 [{0}]
no.create.permission=\u60A8\u6CA1\u6709\u521B\u5EFA\u6570\u636E\u7684\u6743\u9650\uFF0C\u8BF7\u8054\u7CFB\u7BA1\u7406\u5458\u6DFB\u52A0\u6743\u9650 [{0}]
no.update.permission=\u60A8\u6CA1\u6709\u4FEE\u6539\u6570\u636E\u7684\u6743\u9650\uFF0C\u8BF7\u8054\u7CFB\u7BA1\u7406\u5458\u6DFB\u52A0\u6743\u9650 [{0}]
no.delete.permission=\u60A8\u6CA1\u6709\u5220\u9664\u6570\u636E\u7684\u6743\u9650\uFF0C\u8BF7\u8054\u7CFB\u7BA1\u7406\u5458\u6DFB\u52A0\u6743\u9650 [{0}]
no.export.permission=\u60A8\u6CA1\u6709\u5BFC\u51FA\u6570\u636E\u7684\u6743\u9650\uFF0C\u8BF7\u8054\u7CFB\u7BA1\u7406\u5458\u6DFB\u52A0\u6743\u9650 [{0}]
no.view.permission=\u60A8\u6CA1\u6709\u67E5\u770B\u6570\u636E\u7684\u6743\u9650\uFF0C\u8BF7\u8054\u7CFB\u7BA1\u7406\u5458\u6DFB\u52A0\u6743\u9650 [{0}]
no.operate.permission=\u6682\u65e0\u6743\u9650\u64cd\u4f5c\uff01
##权限
no.permission=您没有数据的权限,请联系管理员添加权限 [{0}]
no.create.permission=您没有创建数据的权限,请联系管理员添加权限 [{0}]
no.update.permission=您没有修改数据的权限,请联系管理员添加权限 [{0}]
no.delete.permission=您没有删除数据的权限,请联系管理员添加权限 [{0}]
no.export.permission=您没有导出数据的权限,请联系管理员添加权限 [{0}]
no.view.permission=您没有查看数据的权限,请联系管理员添加权限 [{0}]
##\u6587\u4EF6\u4E0A\u4F20\u6D88\u606F
upload.exceed.maxSize=\u4E0A\u4F20\u7684\u6587\u4EF6\u5927\u5C0F\u8D85\u51FA\u9650\u5236\u7684\u6587\u4EF6\u5927\u5C0F\uFF01<br/>\u5141\u8BB8\u7684\u6587\u4EF6\u6700\u5927\u5927\u5C0F\u662F\uFF1A{0}MB\uFF01
upload.filename.exceed.length=\u4E0A\u4F20\u7684\u6587\u4EF6\u540D\u6700\u957F{0}\u4E2A\u5B57\u7B26
upload.success=\u4E0A\u4F20\u6210\u529F
##\u6587\u4EF6\u4E0B\u8F7D\u6D88\u606F
download.filename.not.valid=\u6587\u4EF6\u540D\u79F0[{}]\u975E\u6CD5\uFF0C\u4E0D\u5141\u8BB8\u4E0B\u8F7D
download.file.failed=\u4E0B\u8F7D\u6587\u4EF6\u5931\u8D25
download.resource.not.valid=\u8D44\u6E90\u6587\u4EF6[{}]\u975E\u6CD5\uFF0C\u4E0D\u5141\u8BB8\u4E0B\u8F7D
##Dept
dept.add.failed.name.exists=\u65B0\u589E\u673A\u6784[{}]\u5931\u8D25\uFF0C\u673A\u6784\u540D\u79F0\u5DF2\u5B58\u5728
dept.update.failed.name.exists=\u4FEE\u6539\u673A\u6784[{}]\u5931\u8D25\uFF0C\u673A\u6784\u540D\u79F0\u5DF2\u5B58\u5728
dept.update.failed.parent.not.valid=\u4FEE\u6539\u673A\u6784[{}]\u5931\u8D25\uFF0C\u4E0A\u7EA7\u673A\u6784\u4E0D\u80FD\u662F\u81EA\u5DF1
dept.update.failed.child.not.valid=\u8BE5\u673A\u6784\u5305\u542B\u672A\u505C\u7528\u7684\u5B50\u673A\u6784\uFF01
dept.delete.failed.child.exists=\u5B58\u5728\u4E0B\u7EA7\u673A\u6784\uFF0C\u4E0D\u5141\u8BB8\u5220\u9664
dept.delete.failed.user.exists=\u673A\u6784\u5B58\u5728\u7528\u6237\uFF0C\u4E0D\u5141\u8BB8\u5220\u9664
dept.invitationCode.is.exists=\u9080\u8bf7\u7801\u5df2\u7ecf\u5b58\u5728\uff0c\u8bf7\u91cd\u65b0\u8f93\u5165
##Dict
dict.add.failed.type.exists=\u65B0\u589E\u5B57\u5178[{}]\u5931\u8D25\uFF0C\u5B57\u5178\u7C7B\u578B\u5DF2\u5B58\u5728
dict.update.failed.type.exists=\u65B0\u589E\u5B57\u5178[{}]\u5931\u8D25\uFF0C\u5B57\u5178\u7C7B\u578B\u5DF2\u5B58\u5728
##Index
index.welcome.message=\u6B22\u8FCE\u4F7F\u7528{}\u540E\u53F0\u7BA1\u7406\u6846\u67B6\uFF0C\u5F53\u524D\u7248\u672C\uFF1Av{}\uFF0C\u8BF7\u901A\u8FC7\u524D\u7AEF\u5730\u5740\u8BBF\u95EE\u3002
##Menu
menu.add.failed.name.exists=\u65B0\u589E\u83DC\u5355[{}]\u5931\u8D25\uFF0C\u83DC\u5355\u540D\u79F0\u5DF2\u5B58\u5728
menu.add.failed.path.not.valid=\u65B0\u589E\u83DC\u5355[{}]\u5931\u8D25\uFF0C\u5730\u5740\u5FC5\u987B\u4EE5http(s)://\u5F00\u5934
menu.update.failed.name.exists=\u4FEE\u6539\u83DC\u5355[{}]\u5931\u8D25\uFF0C\u83DC\u5355\u540D\u79F0\u5DF2\u5B58\u5728
menu.update.failed.path.not.valid=\u4FEE\u6539\u83DC\u5355[{}]\u5931\u8D25\uFF0C\u5730\u5740\u5FC5\u987B\u4EE5http(s)://\u5F00\u5934
menu.update.failed.parent.not.valid=\u4FEE\u6539\u83DC\u5355[{}]\u5931\u8D25\uFF0C\u4E0A\u7EA7\u83DC\u5355\u4E0D\u80FD\u9009\u62E9\u81EA\u5DF1
menu.delete.failed.child.exists=\u5B58\u5728\u5B50\u83DC\u5355,\u4E0D\u5141\u8BB8\u5220\u9664
menu.delete.failed.role.exists=\u83DC\u5355\u5DF2\u5206\u914D,\u4E0D\u5141\u8BB8\u5220\u9664
##Post
post.add.failed.name.exists=\u65B0\u589E\u5C97\u4F4D[{}]\u5931\u8D25\uFF0C\u5C97\u4F4D\u540D\u79F0\u5DF2\u5B58\u5728
post.add.failed.code.exists=\u65B0\u589E\u5C97\u4F4D[{}]\u5931\u8D25\uFF0C\u5C97\u4F4D\u7F16\u7801\u5DF2\u5B58\u5728
post.update.failed.name.exists=\u4FEE\u6539\u5C97\u4F4D[{}]\u5931\u8D25\uFF0C\u5C97\u4F4D\u540D\u79F0\u5DF2\u5B58\u5728
post.update.failed.code.exists=\u4FEE\u6539\u5C97\u4F4D[{}]\u5931\u8D25\uFF0C\u5C97\u4F4D\u7F16\u7801\u5DF2\u5B58\u5728
##User
user.username.exists=\u7CFB\u7EDF\u8D26\u53F7\u540D\u79F0\u5DF2\u5B58\u5728\uFF0C\u8BF7\u4FEE\u6539\u540E\u91CD\u8BD5
user.password.differ=\u4E24\u6B21\u5BC6\u7801\u4E0D\u4E00\u81F4\uFF0C\u8BF7\u91CD\u65B0\u8F93\u5165
user.add.failed.name.exists=\u65B0\u589E\u7528\u6237[{}]\u5931\u8D25\uFF0C\u767B\u5F55\u8D26\u53F7\u5DF2\u5B58\u5728
user.add.failed.phone.exists=\u65B0\u589E\u7528\u6237[{}]\u5931\u8D25\uFF0C\u624B\u673A\u53F7\u7801\u5DF2\u5B58\u5728
user.add.failed.email.exists=\u65B0\u589E\u7528\u6237[{}]\u5931\u8D25\uFF0C\u90AE\u7BB1\u8D26\u53F7\u5DF2\u5B58\u5728
user.update.failed.password.wrong=\u4FEE\u6539\u5BC6\u7801\u5931\u8D25\uFF0C\u65E7\u5BC6\u7801\u9519\u8BEF
user.update.failed.password.repeat=\u65B0\u5BC6\u7801\u4E0D\u80FD\u4E0E\u65E7\u5BC6\u7801\u76F8\u540C
user.update.password.failed=\u4FEE\u6539\u5BC6\u7801\u5F02\u5E38\uFF0C\u8BF7\u8054\u7CFB\u7BA1\u7406\u5458
user.update.failed.name.exists=\u65B0\u589E\u7528\u6237[{}]\u5931\u8D25\uFF0C\u767B\u5F55\u8D26\u53F7\u5DF2\u5B58\u5728
user.update.failed.phone.exists=\u4FEE\u6539\u7528\u6237[{}]\u5931\u8D25\uFF0C\u624B\u673A\u53F7\u7801\u5DF2\u5B58\u5728
user.update.failed.email.exists=\u4FEE\u6539\u7528\u6237[{}]\u5931\u8D25\uFF0C\u90AE\u7BB1\u8D26\u53F7\u5DF2\u5B58\u5728
user.update.failed=\u4FEE\u6539\u4E2A\u4EBA\u4FE1\u606F\u5F02\u5E38\uFF0C\u8BF7\u8054\u7CFB\u7BA1\u7406\u5458
user.delete.failed=\u5F53\u524D\u7528\u6237\u4E0D\u80FD\u5220\u9664
user.upload.avatar.failed=\u4E0A\u4F20\u56FE\u7247\u5F02\u5E38\uFF0C\u8BF7\u8054\u7CFB\u7BA1\u7406\u5458
user.not.login=\u8BF7\u767B\u5F55\u540E\u91CD\u8BD5
user.access.denied=\u7528\u6237\u62D2\u7EDD\u8BBF\u95EE
##Role
role.add.manager.failed=\u4E0D\u5141\u8BB8\u8BBE\u7F6E\u7BA1\u7406\u5458\u89D2\u8272\u6807\u8BC6
role.add.failed.name.exists=\u65B0\u589E\u89D2\u8272[{}]\u5931\u8D25\uFF0C\u89D2\u8272\u540D\u79F0\u5DF2\u5B58\u5728
role.add.failed.key.exists=\u65B0\u589E\u89D2\u8272[{}]\u5931\u8D25\uFF0C\u89D2\u8272\u6743\u9650\u5DF2\u5B58\u5728
role.update.failed.name.exists=\u4FEE\u6539\u89D2\u8272[{}]\u5931\u8D25\uFF0C\u89D2\u8272\u540D\u79F0\u5DF2\u5B58\u5728
role.update.failed.key.exists=\u4FEE\u6539\u89D2\u8272[{}]\u5931\u8D25\uFF0C\u89D2\u8272\u6743\u9650\u5DF2\u5B58\u5728
role.update.failed=\u4FEE\u6539\u89D2\u8272[{}]\u5931\u8D25\uFF0C\u8BF7\u8054\u7CFB\u7BA1\u7406\u5458
##Import
import.failed.file.null=\u5BFC\u5165\u5931\u8D25\uFF0C\u8BF7\u5148\u4E0A\u4F20\u6587\u4EF6\uFF01
import.failed.data.null=\u5BFC\u5165\u5931\u8D25\uFF0C\u5BFC\u5165\u6570\u636E\u4E3A\u7A7A\uFF01
import.failed.device.name.null=\u5BFC\u5165\u5931\u8D25\uFF0C\u6A21\u677F\u91CC\u8BBE\u5907\u540D\u79F0\u4E0D\u80FD\u4E3A\u7A7A\uFF01
import.success=\u5BFC\u5165\u6210\u529F
import.fail=\u5bfc\u5165\u5931\u8d25
##General
success=\u6210\u529F
fail=\u5931\u8D25
query.success=\u67E5\u8BE2\u6210\u529F
operate.success=\u64CD\u4F5C\u6210\u529F
operate.fail=\u64cd\u4f5c\u5931\u8d25
create.success=\u521B\u5EFA\u6210\u529F
create.failed=\u521B\u5EFA\u5931\u8D25
save.success=\u4FDD\u5B58\u6210\u529F
save.failed=\u4FDD\u5B58\u5931\u8D25
authorization.success=\u6388\u6743\u6210\u529F
delete.success=\u5220\u9664\u6210\u529f
delete.fail=\u5220\u9664\u5931\u8d25
bind.success=\u7ed1\u5b9a\u6210\u529f
bind.fail=\u7ed1\u5b9a\u5931\u8d25
unbind.success=\u89e3\u7ed1\u6210\u529f
unbind.fail=\u89e3\u7ed1\u5931\u8d25
captcha.fail=\u9a8c\u8bc1\u7801\u9519\u8bef
import.fail.[{}]=\u5bfc\u5165\u5931\u8d25\uff1a[{}]
only.allow.tenant.config=\u53ea\u5141\u8bb8\u79df\u6237\u914d\u7f6e
password.fail=\u5bc6\u7801\u9519\u8bef
login.success=\u767b\u5f55\u6210\u529f
##Email
email.format.error=\u90AE\u7BB1\u683C\u5F0F\u9519\u8BEF
email.verification.code.send=\u90AE\u7BB1\u9A8C\u8BC1\u7801\u5DF2\u53D1\u9001
##Firmware
firmware.task.upgrade.failed.time.not.valid=\u9884\u5B9A\u5347\u7EA7\u65F6\u95F4\u5E94\u5927\u4E8E\u5F53\u524D\u65F6\u95F4
##Media
media.record.query.failed=\u8FDE\u63A5\u8D85\u65F6\u6216\u53D1\u751F\u9519\u8BEF\uFF0C\u672A\u83B7\u53D6\u5230\u6570\u636E
##Modbus
modbus.type.null=\u7C7B\u578B\u4E3A\u7A7A
modbus.crc.check.abnormal=crc\u6821\u9a8c\u5f02\u5e38
##Netty
netty.client.not.exists=\u5BA2\u6237\u7AEF\u4E0D\u5B58\u5728
##Runtime
runtime.message.id.null=\u6D88\u606Fid\u4E3A\u7A7A
##Wechat
wechat.verify.type.null=\u8BF7\u4F20\u5165\u9A8C\u8BC1\u65B9\u5F0F
wechat.bind.message.id.null=\u8BF7\u4F20\u5165\u7ED1\u5B9A\u4FE1\u606FID
wechat.please.config.open.platform=\u8bf7\u5148\u914d\u7f6e\u5fae\u4fe1\u5f00\u653e\u5e73\u53f0\u79fb\u52a8\u5e94\u7528\u4fe1\u606f
wechat.user.certificate.gain.fail=\u7528\u6237\u51ed\u8bc1\u83b7\u53d6\u5931\u8d25\uff0c\u8bf7\u91cd\u65b0\u767b\u5f55\uff01
wechat.please.config.open.platform.mini=\u8bf7\u5148\u914d\u7f6e\u5fae\u4fe1\u516c\u4f17\u5e73\u53f0\u5c0f\u7a0b\u5e8f\u4fe1\u606f\uff01
wechat.user.phone.certificate.gain.fail=\u7528\u6237\u624b\u673a\u53f7\u51ed\u8bc1\u83b7\u53d6\u5931\u8d25\uff0c\u8bf7\u91cd\u65b0\u767b\u5f55\uff01
wechat.gain.user.call.certificate.fail=\u83b7\u53d6\u7528\u6237\u8c03\u7528\u51ed\u636e\u5931\u8d25\uff0c\u8bf7\u91cd\u65b0\u767b\u5f55\uff01
wechat.gain.user.phone.fail=\u83b7\u53d6\u7528\u6237\u624b\u673a\u53f7\u5931\u8d25\uff0c\u8bf7\u91cd\u65b0\u767b\u5f55\uff01
wechat.please.login=\u8bf7\u5148\u767b\u5f55\u540e\u91cd\u8bd5
wechat.please.enter.user.password=\u8bf7\u4f20\u5165\u7528\u6237\u5bc6\u7801
wechat.cancelBind.password.fail=\u5bc6\u7801\u9519\u8bef\uff0c\u8bf7\u91cd\u65b0\u8f93\u5165
wechat.please.enter.wechat.user.info=\u8bf7\u4f20\u5165\u5fae\u4fe1\u7528\u6237\u4fe1\u606f
wechat.please.enter.user.certificate=\u8bf7\u4f20\u5165\u7528\u6237\u51ed\u8bc1
wechat.gain.wechat.info.fail=\u83b7\u53d6\u5fae\u4fe1\u4fe1\u606f\u5931\u8d25\uff0c\u8bf7\u91cd\u8bd5\uff01
wechat.your.wechat.already.bind.other.account=\u60a8\u7684\u5fae\u4fe1\u5df2\u7ed1\u5b9a\u5176\u4ed6\u8d26\u53f7\uff0c\u8bf7\u5148\u4f7f\u7528\u5fae\u4fe1\u767b\u5f55\u89e3\u7ed1\u540e\u91cd\u8bd5
wechat.this.wechat.already.bind.other.account=\u8be5\u5fae\u4fe1\u5df2\u7ed1\u5b9a\u5176\u4ed6\u8d26\u53f7\uff0c\u8bf7\u5148\u4f7f\u7528\u5fae\u4fe1\u767b\u5f55\u89e3\u7ed1\u540e\u91cd\u8bd5\uff01
wechat.please.config.open.platform.web.application.personal.bind.info=\u8bf7\u5148\u914d\u7f6e\u5fae\u4fe1\u5f00\u653e\u5e73\u53f0\u7f51\u7ad9\u5e94\u7528\u4e2a\u4eba\u4e2d\u5fc3\u7ed1\u5b9a\u4fe1\u606f
wechat.you.cancel.or.not.gain.authorization.info=\u60a8\u5df2\u53d6\u6d88\u6388\u6743\u6216\u672a\u83b7\u53d6\u5230\u6388\u6743\u4fe1\u606f
wechat.the.qr.code.has.expired=\u4e8c\u7ef4\u7801\u5df2\u5931\u6548\uff0c\u8bf7\u91cd\u65b0\u70b9\u51fb\u7ed1\u5b9a
wechat.your.account.already.bind.wechat=\u60a8\u7684\u8d26\u53f7\u5df2\u7ed1\u5b9a\u5fae\u4fe1\uff0c\u8bf7\u5148\u89e3\u7ed1
##AuthResource
auth.resource.product.query.success=\u67E5\u8BE2\u4EA7\u54C1\u5217\u8868\u6210\u529F
##Device
device.user.id.null=\u7528\u6237ID\u4E0D\u80FD\u4E3A\u7A7A
device.product.id.null=\u8BBE\u5907\u7F16\u53F7\u548C\u4EA7\u54C1ID\u4E0D\u80FD\u4E3A\u7A7A
device.dept.id.null=\u8BF7\u9009\u62E9\u5206\u914D\u673A\u6784
device.id.null=\u8BF7\u9009\u62E9\u8BBE\u5907
device.not.select=\u8bf7\u9009\u62e9\u8bbe\u5907
device.serialNumber.not.empty=\u8bbe\u5907\u7f16\u53f7\u4e0d\u80fd\u4e3a\u7a7a
device.delete.fail.please.delete.device.scene=\u8bbe\u5907\u7f16\u53f7\u4e3a[{}]\u7684\u5220\u9664\u5931\u8d25\uff0c\u8bf7\u5148\u5220\u9664\u5bf9\u5e94\u8bbe\u5907\u4e0b\u7684\u573a\u666f\u8054\u52a8
delete.fail.please.delete.scene.model=\u8bbe\u5907\u7f16\u53f7\u4e3a[{}]\u7684\u5220\u9664\u5931\u8d25\uff0c\u8bf7\u5148\u5220\u9664\u5bf9\u5e94\u8bbe\u5907\u4e0b\u7684\u573a\u666f\u7ba1\u7406
device.tenant.can.not.bind.exist.device=\u79df\u6237\u4e0d\u5141\u8bb8\u7ed1\u5b9a\u5df2\u5b58\u5728\u7684\u8bbe\u5907\uff0c\u8bbe\u5907\u7f16\u53f7\uff1a[{}]
now.user.belong.device.can.not.repeat.share=\u5f53\u524d\u7528\u6237\u5df2\u62e5\u6709\u8be5\u8bbe\u5907\uff0c\u65e0\u6cd5\u91cd\u590d\u5206\u914d\uff0c\u8bbe\u5907\u7f16\u53f7\uff1a[{}]
device.share.other.user.can.not.share=\u8be5\u8bbe\u5907\u5df2\u88ab\u5206\u914d\u5230\u5176\u4ed6\u7528\u6237\uff0c\u65e0\u6cd5\u91cd\u590d\u5206\u914d\uff0c\u8bbe\u5907\u7f16\u53f7\uff1a[{}]
device.not.exist.add.fail.please.check.product.id.is.correct=\u8bbe\u5907\u4e0d\u5b58\u5728\uff0c\u81ea\u52a8\u6dfb\u52a0\u8bbe\u5907\u65f6\u5931\u8d25\uff0c\u8bf7\u68c0\u67e5\u4ea7\u54c1\u7f16\u53f7\u662f\u5426\u6b63\u786e
device.add.success=\u6dfb\u52a0\u8bbe\u5907\u6210\u529f
device.assignment.fail.dept.not.exist=\u673a\u6784\u4e0d\u5b58\u5728\u6216\u672a\u7ed1\u5b9a\u7ba1\u7406\u5458\uff0c\u8bf7\u8c03\u6574\u540e\u91cd\u8bd5\uff01
device.assignment.fail.dept.admin.not.exist=\u673a\u6784\u7ba1\u7406\u5458\u4e0d\u5b58\u5728
device.assignment.success=\u5206\u914d\u8bbe\u5907\u6210\u529f
device.assignment.fail=\u5206\u914d\u8bbe\u5907\u5931\u8d25
device.recovery.fail.dept.not.exist=\u673a\u6784\u4e0d\u5b58\u5728\u6216\u672a\u7ed1\u5b9a\u7ba1\u7406\u5458\uff0c\u8bf7\u8c03\u6574\u540e\u91cd\u8bd5\uff01
device.recovery.fail.dept.admin.not.exist=\u673a\u6784\u7ba1\u7406\u5458\u4e0d\u5b58\u5728
device.recovery.success=\u56de\u6536\u8bbe\u5907\u6210\u529f
device.recovery.fail=\u56de\u6536\u8bbe\u5907\u5931\u8d25
device.not.exist=\u8bbe\u5907\u4e0d\u5b58\u5728
device.serialNumber.allow.generate.max.number=\u6700\u591a\u53ea\u80fd\u751f\u6210200\u4e2a\uff01
device.insert.fail.device.number.already.exist=\u8bbe\u5907\u7f16\u53f7\uff1a[{}] \u5df2\u7ecf\u5b58\u5728\uff0c\u65b0\u589e\u5931\u8d25
device.insert.fail.device.ip.already.exist=\u8be5\u4e3b\u673aip\u548c\u7aef\u53e3\u5df2\u7ecf\u5b58\u5728\uff0c\u8bbe\u5907\u7f16\u53f7\u4e3a\uff1a[{}]
device.get.mqtt.connection.param.fail=\u83b7\u53d6\u8bbe\u5907mqtt\u8fde\u63a5\u53c2\u6570\u5931\u8d25
device.get.authorization.fail.please.config=\u4ea7\u54c1\u5df2\u542f\u7528\u6388\u6743\uff0c\u83b7\u53d6\u8bbe\u5907\u6388\u6743\u7801\u5931\u8d25\uff0c\u8bf7\u5148\u914d\u7f6e\u6388\u6743\u7801
device.unsupported.authentication.method=\u4f20\u8f93\u534f\u8bae\u4e3aHTTP\uff0c\u8ba4\u8bc1\u65b9\u5f0f\u4ec5\u652f\u6301 Basic \u548c Digest\uff0c\u8bf7\u524d\u5f80\u4ea7\u54c1\u4fee\u6539\u534f\u8bae
device.not.found.by.serial.number=\u6570\u636e\u5e93\u4e2d\u4e0d\u5b58\u5728\u8be5\u8bbe\u5907
device.duplicate.by.serial.number=\u5df2\u5b58\u5728\u76f8\u540c\u8bbe\u5907\u7f16\u53f7\u7684\u6570\u636e
device.restore.success=\u8bbe\u5907\u8fd8\u539f\u6210\u529f
device.restore.fail=\u8bbe\u5907\u8fd8\u539f\u5931\u8d25
product.not.found.by.product.id=\u8bbe\u5907\u6240\u5c5e\u4ea7\u54c1\u5df2\u5220\u9664\uff0c\u8bf7\u5148\u5c06\u4ea7\u54c1\u6062\u590d
device.import.assignment.fail.product.information.is.empty=\u5bfc\u5165\u5931\u8d25\uff0c\u4ea7\u54c1\u4fe1\u606f\u4e3a\u7a7a
device.import.assignment.fail.serialNumber.already.exists=\u4ee5\u4e0b\u8bbe\u5907\u7f16\u53f7[{}]\u5df2\u5b58\u5728\uff0c\u8bf7\u4fee\u6539\u540e\u91cd\u8bd5
device.import.assignment.fail.dept.not.exists=\u673a\u6784\u4e0d\u5b58\u5728\uff0c\u8bf7\u91cd\u65b0\u9009\u62e9\u673a\u6784\uff01
device.import.assignment.fail.dept.admin.not.exists=\u673a\u6784\u7ba1\u7406\u5458\u4fe1\u606f\u4e0d\u5b58\u5728\uff0c\u8bf7\u91cd\u65b0\u9009\u62e9\u673a\u6784\uff01
device.import.serialNumber.not.comply.national.standard.protocol=\u8bbe\u5907\u7f16\u53f7[{}]\u4e0d\u7b26\u5408\u56fd\u6807\u534f\u8bae\u683c\u5f0f\u8981\u6c42
##DeviceJob
job.add.failed.cron.not.valid=\u65B0\u589E\u4EFB\u52A1[{}]\u5931\u8D25\uFF0CCron\u8868\u8FBE\u5F0F\u4E0D\u6B63\u786E
job.add.failed.rmi.not.valid=\u65B0\u589E\u4EFB\u52A1[{}]\u5931\u8D25\uFF0C\u76EE\u6807\u5B57\u7B26\u4E32\u4E0D\u5141\u8BB8'rmi'\u8C03\u7528
job.add.failed.ldap.not.valid=\u65B0\u589E\u4EFB\u52A1[{}]\u5931\u8D25\uFF0C\u76EE\u6807\u5B57\u7B26\u4E32\u4E0D\u5141\u8BB8'ldap(s)'\u8C03\u7528
job.add.failed.http.not.valid=\u65B0\u589E\u4EFB\u52A1[{}]\u5931\u8D25\uFF0C\u76EE\u6807\u5B57\u7B26\u4E32\u4E0D\u5141\u8BB8'http(s)'\u8C03\u7528
job.add.failed.string.error=\u65B0\u589E\u4EFB\u52A1[{}]\u5931\u8D25\uFF0C\u76EE\u6807\u5B57\u7B26\u4E32\u5B58\u5728\u8FDD\u89C4
job.add.failed.string.not.valid=\u65B0\u589E\u4EFB\u52A1[{}]\u5931\u8D25\uFF0C\u76EE\u6807\u5B57\u7B26\u4E32\u4E0D\u5728\u767D\u540D\u5355\u5185
job.add.failed.product.not.modbus.config=\u65b0\u589e\u4efb\u52a1[{}]\u5931\u8d25\uff0c\u8bf7\u5148\u53bb\u4ea7\u54c1\u8fdb\u884cmodbus\u914d\u7f6e
job.update.failed.cron.not.valid=\u4FEE\u6539\u4EFB\u52A1[{}]\u5931\u8D25\uFF0CCron\u8868\u8FBE\u5F0F\u4E0D\u6B63\u786E
job.update.failed.rmi.not.valid=\u4FEE\u6539\u4EFB\u52A1[{}]\u5931\u8D25\uFF0C\u76EE\u6807\u5B57\u7B26\u4E32\u4E0D\u5141\u8BB8'rmi'\u8C03\u7528
job.update.failed.ldap.not.valid=\u4FEE\u6539\u4EFB\u52A1[{}]\u5931\u8D25\uFF0C\u76EE\u6807\u5B57\u7B26\u4E32\u4E0D\u5141\u8BB8'ldap(s)'\u8C03\u7528
job.update.failed.http.not.valid=\u4FEE\u6539\u4EFB\u52A1[{}]\u5931\u8D25\uFF0C\u76EE\u6807\u5B57\u7B26\u4E32\u4E0D\u5141\u8BB8'http(s)'\u8C03\u7528
job.update.failed.string.error=\u4FEE\u6539\u4EFB\u52A1[{}]\u5931\u8D25\uFF0C\u76EE\u6807\u5B57\u7B26\u4E32\u5B58\u5728\u8FDD\u89C4
job.update.failed.string.not.valid=\u4FEE\u6539\u4EFB\u52A1[{}]\u5931\u8D25\uFF0C\u76EE\u6807\u5B57\u7B26\u4E32\u4E0D\u5728\u767D\u540D\u5355\u5185
job.update.failed.product.not.modbus.config=\u66f4\u65b0\u4efb\u52a1[{}]\u5931\u8d25\uff0c\u8bf7\u5148\u53bb\u4ea7\u54c1\u8fdb\u884cmodbus\u914d\u7f6e
job.not.exists=\u4EFB\u52A1\u4E0D\u5B58\u5728\u6216\u5DF2\u8FC7\u671F
##DeviceUser
device.user.delete.failed.user.not.valid=\u8BBE\u5907\u6240\u6709\u8005\u4E0D\u80FD\u5220\u9664
##GoviewProject
goview.project.data.save.failed.id.null=\u6CA1\u6709\u8BE5\u9879\u76EEID
goview.project.data.execute.sql.failed=\u8BF7\u7F16\u5199sql\u8BED\u53E5
##ThingsModel
things.model.identifier.repeat=\u4EA7\u54C1\u4E0B\u7684\u6807\u8BC6\u7B26\u4E0D\u80FD\u91CD\u590D
things.model.import.failed.identifier.repeat=[{}]\u6761\u6570\u636E\u672A\u5BFC\u5165\uFF0C\u6807\u8BC6\u7B26\u91CD\u590D
things.model.update.fail.quote.the.scene.variable.formula.please.delete=\u5f53\u524d\u7269\u6a21\u578b\u88ab\u5f15\u7528\u5230\u573a\u666f\u8fd0\u7b97\u578b\u53d8\u91cf\u7684\u8ba1\u7b97\u516c\u5f0f\u4e2d\uff0c\u65e0\u6cd5\u4fee\u6539\uff0c\u8bf7\u5148\u5220\u9664\u5f15\u7528\u5173\u7cfb\u540e\u518d\u6267\u884c\u4fee\u6539\u64cd\u4f5c\uff01
things.model.delete.fail.quote.the.scene.variable.formula.please.delete=\u5f53\u524d\u7269\u6a21\u578b\u88ab\u5f15\u7528\u5230\u573a\u666f\u8fd0\u7b97\u578b\u53d8\u91cf\u7684\u8ba1\u7b97\u516c\u5f0f\u4e2d\uff0c\u65e0\u6cd5\u5220\u9664\uff0c\u8bf7\u5148\u5220\u9664\u5f15\u7528\u5173\u7cfb\u540e\u518d\u6267\u884c\u5220\u9664\u64cd\u4f5c\uff01
things.model.import.data.exception=\u5bfc\u5165\u6570\u636e\u5f02\u5e38
things.model.register.address.repeat=\u540c\u4e00\u4e2a\u91c7\u96c6\u70b9\u6a21\u677f\u4e0b,\u5bc4\u5b58\u5668\u5730\u5740\u91cd\u590d,\u8bf7\u68c0\u67e5\u5bfc\u5165\u53d8\u91cf\u5bc4\u5b58\u5668\u5730\u5740
##MQTT
mqtt.unauthorized=mqtt\u8D26\u53F7\u548C\u5BC6\u7801\u4E0E\u8BA4\u8BC1\u670D\u52A1\u5668\u914D\u7F6E\u4E0D\u5339\u914D
##Oauth
oauth.response.type.not.valid=response_type\u53C2\u6570\u503C\u53EA\u5141\u8BB8code\u548Ctoken
oauth.grant.type.null=\u672A\u77E5\u6388\u6743\u7C7B\u578B
oauth.grant.type.implicit.not.support=Token\u63A5\u53E3\u4E0D\u652F\u6301implicit\u6388\u6743\u6A21\u5F0F
oauth.access.token.null=\u8BBF\u95EE\u4EE4\u724C\u4E0D\u80FD\u4E3A\u7A7A
obtain.basic.authorization.failed=client_id\u6216client_secret\u672A\u6B63\u786E\u4F20\u9012
##Record
record.app.null=app\u4E0D\u80FD\u4E3A\u7A7A
record.stream.null=stream\u4E0D\u80FD\u4E3A\u7A7A
record.time.not.valid=\u9519\u8BEF\u7684\u5F00\u59CB\u65F6\u95F4\u6216\u7ED3\u675F\u65F6\u95F4
record.file.null=\u672A\u627E\u5230\u89C6\u9891\u6587\u4EF6
##ErrorCodeConstants
app.not.found=App \u4E0D\u5B58\u5728
app.is.disable=App \u5DF2\u7ECF\u88AB\u7981\u7528
app.exist.order.cant.delete=\u652F\u4ED8\u5E94\u7528\u5B58\u5728\u652F\u4ED8\u8BA2\u5355\uFF0C\u65E0\u6CD5\u5220\u9664
app.exist.refund.cant.delete=\u652F\u4ED8\u5E94\u7528\u5B58\u5728\u9000\u6B3E\u8BA2\u5355\uFF0C\u65E0\u6CD5\u5220\u9664
channel.not.found=\u652F\u4ED8\u6E20\u9053\u7684\u914D\u7F6E\u4E0D\u5B58\u5728
channel.is.disable=\u652F\u4ED8\u6E20\u9053\u5DF2\u7ECF\u7981\u7528
channel.exists.same.channel.error=\u5DF2\u5B58\u5728\u76F8\u540C\u7684\u6E20\u9053
order.not.found=\u652F\u4ED8\u8BA2\u5355\u4E0D\u5B58\u5728
order.status.is.not.waiting=\u652F\u4ED8\u8BA2\u5355\u4E0D\u5904\u4E8E\u5F85\u652F\u4ED8
order.status.is.success=\u8BA2\u5355\u5DF2\u652F\u4ED8\uFF0C\u8BF7\u5237\u65B0\u9875\u9762
order.is.expired=\u652F\u4ED8\u8BA2\u5355\u5DF2\u7ECF\u8FC7\u671F
order.submit.channel.error=\u53D1\u8D77\u652F\u4ED8\u62A5\u9519\uFF0C\u9519\u8BEF\u7801\uFF1A{}\uFF0C\u9519\u8BEF\u63D0\u793A\uFF1A{}
order.refund.fail.status.error=\u652F\u4ED8\u8BA2\u5355\u9000\u6B3E\u5931\u8D25\uFF0C\u539F\u56E0\uFF1A\u72B6\u6001\u4E0D\u662F\u5DF2\u652F\u4ED8\u6216\u5DF2\u9000\u6B3E
order.extension.not.found=\u652F\u4ED8\u4EA4\u6613\u62D3\u5C55\u5355\u4E0D\u5B58\u5728
order.extension.status.is.not.waiting=\u652F\u4ED8\u4EA4\u6613\u62D3\u5C55\u5355\u4E0D\u5904\u4E8E\u5F85\u652F\u4ED8
order.extension.is.paid=\u8BA2\u5355\u5DF2\u652F\u4ED8\uFF0C\u8BF7\u7B49\u5F85\u652F\u4ED8\u7ED3\u679C
refund.price.exceed=\u9000\u6B3E\u91D1\u989D\u8D85\u8FC7\u8BA2\u5355\u53EF\u9000\u6B3E\u91D1\u989D
refund.has.refunding=\u5DF2\u7ECF\u6709\u9000\u6B3E\u5728\u5904\u7406\u4E2D
refund.exists=\u5DF2\u7ECF\u5B58\u5728\u9000\u6B3E\u5355
refund.not.found=\u652F\u4ED8\u9000\u6B3E\u5355\u4E0D\u5B58\u5728
refund.statue.is.not.waiting=\u652F\u4ED8\u9000\u6B3E\u5355\u4E0D\u5904\u4E8E\u5F85\u9000\u6B3E
demo.order.not.found=\u793A\u4F8B\u8BA2\u5355\u4E0D\u5B58\u5728
demo.order.update.paid.status.not.unpaid=\u793A\u4F8B\u8BA2\u5355\u66F4\u65B0\u652F\u4ED8\u72B6\u6001\u5931\u8D25\uFF0C\u8BA2\u5355\u4E0D\u662F\u3010\u672A\u652F\u4ED8\u3011\u72B6\u6001
demo.order.update.paid.fail.pay.order.id.error=\u793A\u4F8B\u8BA2\u5355\u66F4\u65B0\u652F\u4ED8\u72B6\u6001\u5931\u8D25\uFF0C\u652F\u4ED8\u5355\u7F16\u53F7\u4E0D\u5339\u914D
demo.order.update.paid.fail.pay.order.status.not.success=\u793A\u4F8B\u8BA2\u5355\u66F4\u65B0\u652F\u4ED8\u72B6\u6001\u5931\u8D25\uFF0C\u652F\u4ED8\u5355\u72B6\u6001\u4E0D\u662F\u3010\u652F\u4ED8\u6210\u529F\u3011\u72B6\u6001
demo.order.update.paid.fail.pay.price.not.match=\u793A\u4F8B\u8BA2\u5355\u66F4\u65B0\u652F\u4ED8\u72B6\u6001\u5931\u8D25\uFF0C\u652F\u4ED8\u5355\u91D1\u989D\u4E0D\u5339\u914D
demo.order.refund.fail.not.paid=\u53D1\u8D77\u9000\u6B3E\u5931\u8D25\uFF0C\u793A\u4F8B\u8BA2\u5355\u672A\u652F\u4ED8
demo.order.refund.fail.refunded=\u53D1\u8D77\u9000\u6B3E\u5931\u8D25\uFF0C\u793A\u4F8B\u8BA2\u5355\u5DF2\u9000\u6B3E
demo.order.refund.fail.refund.not.found=\u53D1\u8D77\u9000\u6B3E\u5931\u8D25\uFF0C\u9000\u6B3E\u8BA2\u5355\u4E0D\u5B58\u5728
demo.order.refund.fail.refund.not.success=\u53D1\u8D77\u9000\u6B3E\u5931\u8D25\uFF0C\u9000\u6B3E\u8BA2\u5355\u672A\u9000\u6B3E\u6210\u529F
demo.order.refund.fail.refund.order.id.error=\u53D1\u8D77\u9000\u6B3E\u5931\u8D25\uFF0C\u9000\u6B3E\u5355\u7F16\u53F7\u4E0D\u5339\u914D
demo.order.refund.fail.refund.price.not.match=\u53D1\u8D77\u9000\u6B3E\u5931\u8D25\uFF0C\u9000\u6B3E\u5355\u91D1\u989D\u4E0D\u5339\u914D
device.order.control.no.permission=\u6682\u65e0\u6743\u9650\u64cd\u4f5c\uff0c\u8bf7\u8054\u7cfb\u7ba1\u7406\u5458\u5206\u914d\u6307\u4ee4\u6743\u9650\uff01
##sysConfig
sysConfig.add.param.fail.name.exist=\u65b0\u589e\u53c2\u6570[{}]\u5931\u8d25\uff0c\u53c2\u6570\u952e\u540d\u5df2\u5b58\u5728
sysConfig.update.param.fail.name.exist=\u4fee\u6539\u53c2\u6570[{}]\u5931\u8d25\uff0c\u53c2\u6570\u952e\u540d\u5df2\u5b58\u5728
##sysRegister
sysRegister.fail.not.enable.register=\u5f53\u524d\u7cfb\u7edf\u6ca1\u6709\u5f00\u542f\u6ce8\u518c\u529f\u80fd\uff01
##ossDetail
ossDetail.fail.file.not.empty=\u4e0a\u4f20\u6587\u4ef6\u4e0d\u80fd\u4e3a\u7a7a
##notify
sms.send.fail.contact.admin=\u77ed\u4fe1\u53d1\u9001\u5931\u8d25\uff0c\u8bf7\u8054\u7cfb\u7ba1\u7406\u5458\uff01
captcha.has.sent.please.try.again.later=\u9a8c\u8bc1\u7801\u5df2\u53d1\u9001\uff0c\u8bf7\u7a0d\u540e\u91cd\u8bd5\uff01
not.find.enable.notify.template=\u67e5\u8be2\u4e0d\u5230\u542f\u7528\u7684\u901a\u77e5\u6a21\u677f
not.find.notify.channel=\u67e5\u8be2\u4e0d\u5230\u901a\u77e5\u6e20\u9053
only.can.config.alert.and.not.wechat.mini.notify=\u975e\u7ba1\u7406\u5458\u53ea\u5141\u8bb8\u6dfb\u52a0\u8bbe\u5907\u544a\u8b66\u4e1a\u52a1\u5e76\u4e14\u975e\u5fae\u4fe1\u5c0f\u7a0b\u5e8f\u7684\u6a21\u677f\uff01
notify.can.not.not.alert.and.wechat.mini.status=\u975e\u7ba1\u7406\u5458\u53ea\u80fd\u66f4\u6539\u8bbe\u5907\u544a\u8b66\u4e1a\u52a1\u5e76\u4e14\u975e\u5fae\u4fe1\u5c0f\u7a0b\u5e8f\u7684\u6a21\u677f\u72b6\u6001\uff01
##dataCenter
please.select.device=\u8bf7\u9009\u62e9\u8bbe\u5907
please.incoming.serialNumber=\u8bf7\u4f20\u5165\u8bbe\u5907\u7f16\u53f7
##license
certificate.install.success=\u8bc1\u4e66\u5b89\u88c5\u6210\u529f
certificate.install.fail=\u8bc1\u4e66\u5b89\u88c5\u5931\u8d25:[{}]
certificate.incoming.success=\u8bc1\u4e66\u4e0a\u4f20\u6210\u529f
certificate.incoming.fail=\u8bc1\u4e66\u4e0a\u4f20\u5931\u8d25
certificate.upload.success=\u8bc1\u4e66\u4e0a\u4f20\u6210\u529f
certificate.upload.fail=\u8bc1\u4e66\u4e0a\u4f20\u5931\u8d25:[{}]
##sceneModel
please.incoming.scene.id=\u8bf7\u4f20\u5165\u573a\u666fid
please.incoming.device.config.number=\u8bf7\u4f20\u5165\u5173\u8054\u8bbe\u5907\u914d\u7f6e\u7684\u5e8f\u53f7
sceneModel.please.introduced.id=\u8bf7\u4f20\u5165\u573a\u666f\u7ba1\u7406id
sceneModel.current.variable.quote.operate.variable.formula.please.delete=\u5f53\u524d\u53d8\u91cf\u88ab\u5f15\u7528\u5230\u573a\u666f\u8fd0\u7b97\u578b\u53d8\u91cf\u7684\u8ba1\u7b97\u516c\u5f0f\u4e2d\uff0c\u65e0\u6cd5\u5220\u9664\uff0c\u8bf7\u5148\u5220\u9664\u5f15\u7528\u5173\u7cfb\u540e\u518d\u6267\u884c\u5220\u9664\u64cd\u4f5c\uff01
sceneModel.scene.already.bind.device=\u573a\u666f\u5df2\u7ed1\u5b9a\u8be5\u8bbe\u5907\uff0c\u8bf7\u91cd\u65b0\u9009\u62e9\uff01
sceneModel.update.fail.device.variable.has.quote.scene.variable.please.delete=\u5f53\u524d\u8bbe\u5907\u4e0b\u5b58\u5728\u53d8\u91cf\u88ab\u5f15\u7528\u5230\u8fd0\u7b97\u578b\u53d8\u91cf\u8ba1\u7b97\u516c\u5f0f\u4e2d\uff0c\u65e0\u6cd5\u4fee\u6539\uff0c\u8bf7\u5220\u9664\u5f15\u7528\u5173\u7cfb\u540e\u518d\u6267\u884c\u4fee\u6539\u64cd\u4f5c\uff01
sceneModel.delete.fail.device.variable.has.quote.scene.variable.please.delete=\u5f53\u524d\u8bbe\u5907\u4e0b\u5b58\u5728\u53d8\u91cf\u88ab\u5f15\u7528\u5230\u8fd0\u7b97\u578b\u53d8\u91cf\u8ba1\u7b97\u516c\u5f0f\u4e2d\uff0c\u65e0\u6cd5\u5220\u9664\uff0c\u8bf7\u5220\u9664\u5f15\u7528\u5173\u7cfb\u540e\u518d\u6267\u884c\u5220\u9664\u64cd\u4f5c\uff01
sceneModel.formula.cannot.empty=\u8ba1\u7b97\u516c\u5f0f\u4e0d\u80fd\u4e3a\u7a7a\uff01
sceneModel.variable.cannot.empty=\u53d8\u91cf\u4e0d\u80fd\u4e3a\u7a7a\uff01
sceneModel.formula.and.variable.number.inconsistent=\u8ba1\u7b97\u516c\u5f0f\u548c\u53d8\u91cf\u4e2a\u6570\u4e0d\u4e00\u81f4\uff0c\u8bf7\u68c0\u67e5\u540e\u91cd\u8bd5
sceneModel.update.fail.variable.name.exist=\u53d8\u91cf\u540d\u79f0\u5df2\u5b58\u5728\uff0c\u8bf7\u4fee\u6539\u540e\u91cd\u8bd5\uff01
sceneModel.device.not.belong.current.tenant=\u8bf7\u5148\u628a\u8bbe\u5907\u914d\u7f6e\u7684\u6240\u6709\u8bbe\u5907\u5206\u914d\u7ed9\u5f53\u524d\u573a\u666f\u914d\u7f6e\u7684\u6240\u5c5e\u673a\u6784\uff0c\u624d\u53ef\u8fdb\u884c\u64cd\u4f5c\uff01
##oauthClientDetail
add.fail.same.client.can.config.one=\u540c\u4e00\u4e2a\u6388\u6743\u5e73\u53f0\u53ea\u80fd\u914d\u7f6e\u4e00\u6761\u4fe1\u606f\uff0c\u8bf7\u52ff\u91cd\u590d\u914d\u7f6e
client.id.is.exist=\u5ba2\u6237\u7aefid\uff1a[{}]\u5df2\u5b58\u5728\u6216\u5df2\u88ab\u5176\u4ed6\u79df\u6237\u4f7f\u7528
oauthClientDetail.client.not.exist=oauth2 \u5ba2\u6237\u7aef\u4e0d\u5b58\u5728
oauthClientDetail.client.disabled=oauth2 \u5ba2\u6237\u7aef\u5df2\u7981\u7528
oauthClientDetail.invalid.client.set=\u65e0\u6548 client_secret
oauthClientDetail.invalid.redirects=\u65e0\u6548 redirect_uri\uff1a[{}]
##category
delete.fail.please.delete.category.product=\u5220\u9664\u5931\u8d25\uff0c\u8bf7\u5148\u5220\u9664\u5bf9\u5e94\u5206\u7c7b\u4e0b\u7684\u4ea7\u54c1
##goviewProjectData
only.allow.select.operate=\u53ea\u5141\u8bb8select\u64cd\u4f5c\uff0c\u7981\u6b62update\u3001delete\u3001insert\u64cd\u4f5c
##newsCategory
newsCategory.delete.fail.please.delete.category.info=\u5220\u9664\u5931\u8d25\uff0c\u8bf7\u5148\u5220\u9664\u5bf9\u5e94\u5206\u7c7b\u4e0b\u7684\u65b0\u95fb\u8d44\u8baf
##product
delete.fail.please.delete.firmware=\u5220\u9664\u5931\u8d25\uff0c\u8bf7\u5148\u5220\u9664\u5bf9\u5e94\u4ea7\u54c1\u4e0b\u7684\u56fa\u4ef6
delete.fail.please.delete.product.device=\u5220\u9664\u5931\u8d25\uff0c\u8bf7\u5148\u5220\u9664\u5bf9\u5e94\u4ea7\u54c1\u4e0b\u7684\u8bbe\u5907
delete.fail.please.delete.product.scene=\u5220\u9664\u5931\u8d25\uff0c\u8bf7\u5148\u4fee\u6539\u6216\u5220\u9664\u5bf9\u5e94\u4ea7\u54c1\u4e0b\u7684\u573a\u666f\u8054\u52a8\uff1a[{}]
product.status.update.fail.value.fail=\u72b6\u6001\u66f4\u65b0\u5931\u8d25,\u72b6\u6001\u503c\u6709\u8bef
product.status.update.fail=\u72b6\u6001\u66f4\u65b0\u5931\u8d25
restore.product.fail=\u5f53\u524d\u4ea7\u54c1\u672a\u67e5\u8be2\u5230
product.name.is.not.empty=\u8bf7\u8f93\u5165\u4ea7\u54c1\u540d\u79f0
product.import.categoryId.is.fail=\u8bf7\u8f93\u5165\u6b63\u786e\u7684\u4ea7\u54c1\u5206\u7c7b\u7f16\u53f7categoryid
##socialLogin
bind.account.not.exist=\u7ed1\u5b9a\u8d26\u6237\u4e0d\u5b58\u5728
socialLogin.verify.has.expired=\u9a8c\u8bc1\u7801\u5df2\u5931\u6548\uff0c\u8bf7\u91cd\u65b0\u83b7\u53d6
socialLogin.platform.type.fail=\u9519\u8bef\u5e73\u53f0\u7c7b\u578b
user.account.and.bind.account.not.match=\u7528\u6237\u8d26\u6237\u548c\u7ed1\u5b9a\u8d26\u6237\u4e0d\u5339\u914d
socialLogin.user.not.exist=\u7528\u6237\u4e0d\u5b58\u5728
socialLogin.bind.end.user.cannot.login.web=\u8bf7\u52ff\u7ed1\u5b9a\u7ec8\u7aef\u7528\u6237\uff0c\u7ed1\u5b9a\u7ec8\u7aef\u7528\u6237\u540e\u4e0d\u53ef\u767b\u5f55web\u7aef
socialLogin.account.already.bind.other.wechat.please.unbind=\u8be5\u8d26\u53f7\u5df2\u7ecf\u7ed1\u5b9a\u5176\u4ed6\u5fae\u4fe1\uff0c\u8bf7\u5148\u89e3\u7ed1\u540e\u91cd\u8bd5\uff01
socialLogin.register.fail.please.check.role.exist=\u6ce8\u518c\u5931\u8d25,\u8bf7\u8054\u7cfb\u7ba1\u7406\u4eba\u5458\u68c0\u67e5\u673a\u6784\u89d2\u8272\u662f\u5426\u5b58\u5728
socialLogin.web.not.allow.end.user.login=web\u7aef\u4e0d\u5141\u8bb8\u7ec8\u7aef\u7528\u6237\u767b\u5f55
socialLogin.register.fail.please.check.invitationCode.exist=\u9080\u8bf7\u7801\u9519\u8bef\uff0c\u8bf7\u8054\u7cfb\u673a\u6784\u7ba1\u7406\u5458\u6838\u5bf9
The.organization.to.which.your.account.belongs.has.been.suspended.Please.contact.the.administrator=\u4f60\u7684\u8d26\u53f7\u6240\u5c5e\u673a\u6784\u5df2\u88ab\u505c\u7528\uff0c\u8bf7\u8054\u7cfb\u7ba1\u7406\u5458\uff01
default.institution.has.been.deactivated.contact.administrator=\u9ed8\u8ba4\u673a\u6784\u5df2\u88ab\u505c\u7528\uff0c\u8bf7\u8054\u7cfb\u7ba1\u7406\u5458\uff01
##alert
alert.push.fail.device.not.exist=\u544a\u8b66\u63a8\u9001\uff0c\u8bbe\u5907\u4e0d\u5b58\u5728\uff1a[{}]
##modbus
not.modbus.protocol.please.config.collect.protocol=\u975emodbus\u534f\u8bae\u8bf7\u5148\u914d\u7f6e\u4e3b\u52a8\u91c7\u96c6\u534f\u8bae
modbus.point.not.config=\u672a\u914d\u7f6emodbus\u70b9\u4f4d
##ota
firmwareTask.add.fail.FirmwareTask.exist=\u4efb\u52a1\uff1a[{}]\u5df2\u5b58\u5728
firmware.version.not.exist=\u56fa\u4ef6\u7248\u672c\u4e0d\u5b58\u5728%21
##mqttMessage
mqtt.service.send.device.not.exist=\u670d\u52a1\u4e0b\u53d1\u7684\u8bbe\u5907\uff1a[{}]\u4e0d\u5b58\u5728
mqtt.disconnect.occur.fail=\u65ad\u5f00mqtt\u8fde\u63a5\u53d1\u751f\u9519\u8bef\uff1a[{}]
##genTable
genTable.template.rendering.fail=\u5bfc\u5165\u5931\u8d25\uff1a[{}]
genTable.data.sync.fail.original.table.not.exist=\u540c\u6b65\u6570\u636e\u5931\u8d25\uff0c\u539f\u8868\u7ed3\u6784\u4e0d\u5b58\u5728
genTable.tree.code.field.cannot.empty=\u6811\u7f16\u7801\u5b57\u6bb5\u4e0d\u80fd\u4e3a\u7a7a
genTable.tree.parent.code.field.cannot.empty=\u6811\u7236\u7f16\u7801\u5b57\u6bb5\u4e0d\u80fd\u4e3a\u7a7a
genTable.tree.name.field.cannot.empty=\u6811\u540d\u79f0\u5b57\u6bb5\u4e0d\u80fd\u4e3a\u7a7a
genTable.relate.child.table.name.cannot.empty=\u5173\u8054\u5b50\u8868\u7684\u8868\u540d\u4e0d\u80fd\u4e3a\u7a7a
genTable.child.table.relate.foreign.key.name.cannot.empty=\u5b50\u8868\u5173\u8054\u7684\u5916\u952e\u540d\u4e0d\u80fd\u4e3a\u7a7a
##oauthCode
oauthCode.code.not.exist=code \u4e0d\u5b58\u5728
##protocol
protocol.input.content.is.empty=\u8f93\u5165\u5185\u5bb9\u4e3a\u7a7a
protocol.data.parse.error=\u6570\u636e\u89e3\u6790\u51fa\u9519[{}]
protocol.data.parse.exception=\u6570\u636e\u89e3\u6790\u5f02\u5e38[{}]
protocol.instruction.number.exception=\u6307\u4ee4\u7f16\u53f7\u5f02\u5e38\uff1a[{}]
##modbusJob
modbusJob.add.fail.please.bind.gateway=\u8bf7\u5148\u7ed1\u5b9a\u7f51\u5173
thingsModel.array.or.object.no.need.update=\u6682\u65e0\u9700\u8981\u66f4\u65b0\u7684\u6570\u7ec4\u3001\u5bf9\u8c61\u7c7b\u7269\u6a21\u578b
sync.fail.please.try.again=\u540c\u6b65\u5931\u8d25\uff0c\u8bf7\u91cd\u8bd5\uff01
sync.success=\u540c\u6b65\u6210\u529f
## scada
scada.product.id.is.null=\u4ea7\u54c1id\u4e3a\u7a7a
scada.scene.id.is.null=\u573a\u666fid\u4e3a\u7a7a
scada.guid.cannot.empty=guid\u4e0d\u80fd\u4e3a\u7a7a
scada.base64.change.image.exception=\u7ec4\u6001base64\u8f6c\u56fe\u7247\u5f02\u5e38:[{}]
scada.please.select.device=\u8bf7\u9009\u62e9\u8bbe\u5907
scada.please.enter.password=\u8bf7\u8f93\u5165\u5bc6\u7801\uff01
scada.please.login=\u672a\u767b\u5f55\uff0c\u8bf7\u767b\u5f55\u540e\u91cd\u8bd5
scada.password.fail.please.reload.enter=\u5bc6\u7801\u9519\u8bef\uff0c\u8bf7\u91cd\u65b0\u8f93\u5165\uff01
scada.product.has.relate.please.select.again=\u8be5\u4ea7\u54c1\u5df2\u7ecf\u5173\u8054\u7ec4\u6001\uff0c\u8bf7\u91cd\u65b0\u9009\u62e9\uff01
scada.scene.has.relate.please.select.again=\u8be5\u573a\u666f\u5df2\u7ecf\u5173\u8054\u7ec4\u6001\uff0c\u8bf7\u91cd\u65b0\u9009\u62e9\uff01
scada.not.allow.view.other.tenant.config=\u4e0d\u5141\u8bb8\u67e5\u770b\u5176\u4ed6\u79df\u6237\u7684\u7ec4\u6001\uff01
scada.upload.gallery.file.fail=\u4e0a\u4f20\u56fe\u5e93\u6587\u4ef6\u5f02\u5e38\uff0c[{}]
scada.upload.fail=\u4e0a\u4f20\u5931\u8d25\uff0c\u8bf7\u91cd\u8bd5\uff01
scada.invalid.profile=\u65e0\u6548\u7684\u914d\u7f6e\u6587\u4ef6
scada.import.success.need.replace.variable=\u5bfc\u5165\u6210\u529f\uff0c\u5f53\u524d\u9875\u9762\u9700\u8981\u91cd\u65b0\u66ff\u6362\u7ed1\u5b9a\u7ec4\u4ef6\u7684\u53d8\u91cf\uff01
## speaker
speaker.product.has.relate=\u8be5\u4ea7\u54c1\u5df2\u5173\u8054\uff0c\u8bf7\u52ff\u91cd\u590d\u5173\u8054
speaker.product.relate.add.fail=\u65b0\u589e\u5931\u8d25
speaker.not.found.product.relate=\u672a\u67e5\u8be2\u5230\u4ea7\u54c1\u5173\u8054\u4fe1\u606f
##file
file.content.is.empty=\u6587\u4ef6\u5185\u5bb9\u4e3a\u7a7a
file.is.invalid=\u65e0\u6548\u7684\u6587\u4ef6
## workOrder
workOrder.please.select.user=\u8bf7\u6307\u5b9a\u8054\u7cfb\u4eba
workOrder.please.fill.result.info=\u8bf7\u586b\u5199\u7ed3\u5355\u4fe1\u606f
## subGateway
subGateway.subDeviceAddress.is.repeat=\u5b58\u5728\u76f8\u540c\u7684\u5b50\u8bbe\u5907\u5730\u5740\uff0c\u8bf7\u4fee\u6539\u540e\u91cd\u8bd5\uff01

View File

@@ -0,0 +1,429 @@
#\u9519\u8BEF\u6D88\u606F
not.null=Required
user.jcaptcha.error=The verification code is incorrect
user.jcaptcha.expire=The verification code has expired
user.not.exists=User does not exist/password is incorrect
user.password.not.match=User does not exist/password is incorrect
user.password.retry.limit.count=The password was entered incorrectly {0} times
user.password.retry.limit.exceed=The password was entered incorrectly {0} times and the account was locked for {1} minutes
user.password.delete=Sorry, your account has been deleted
user.blocked=The user has been blocked, please contact the administrator
role.blocked=The role has been banned, contact the administrator
user.logout.success=The exit was successful
length.not.valid=The length must be between {min} and {max} characters
user.username.not.valid=Consists of 2 to 20 characters, letters, numbers, or underscores and must start with a non-number
user.password.not.valid=5-50 characters
user.email.not.valid=The mailbox is malformed
user.mobile.phone.number.not.valid=The phone number is in the wrong format
user.login.success=Login successful
user.register.success=Registration is successful
user.notfound=Please log in again
user.forcelogout=The administrator forcibly logs out, please log back in
user.unknown.error=Unknown error, please log back in
##\u6743\u9650
no.permission=You don't have permissions for data, contact your administrator to add permissions [{0}]
no.create.permission=You do not have permission to create data, please contact your administrator to add permission [{0}]
no.update.permission=You do not have permission to modify the data, please contact the administrator to add permission [{0}]
no.delete.permission=You do not have permission to delete data, please contact your administrator to add permission [{0}]
no.export.permission=You do not have permission to export data, please contact your administrator to add permission [{0}]
no.view.permission=You do not have permission to view the data, please contact your administrator to add permission [{0}]
no.operate.permission=You do not have the permission to perform this operation!
##\u6587\u4EF6\u4E0A\u4F20\u6D88\u606F
upload.exceed.maxSize=The uploaded file size exceeds the limit file size! <br/>The maximum file size allowed is: {0}MB!
upload.filename.exceed.length=The uploaded file name can be up to {0} characters
upload.success=The upload is successful
##\u6587\u4EF6\u4E0B\u8F7D\u6D88\u606F
download.filename.not.valid=The file name [{}] is illegal and is not allowed to be downloaded
download.file.failed=Failed to download the file
download.resource.not.valid=The resource file [{}] is illegal and is not allowed to be downloaded
##Dept
dept.add.failed.name.exists=Failed to add organization [{}], and the organization name already exists
dept.update.failed.name.exists=Failed to modify organization [{}], and the organization name already exists
dept.update.failed.parent.not.valid=If the modification of the organization [{}] fails, the parent organization cannot be itself
dept.update.failed.child.not.valid=The agency contains sub-institutions that are not deactivated!
dept.delete.failed.child.exists=There are subordinate organizations and deletion is not allowed
dept.delete.failed.user.exists=If there are users in the organization, you cannot delete them
dept.invitationCode.is.exists=The invitation code already exists, please re-enter it
##Dict
dict.add.failed.type.exists=Failed to add dictionary [{}], the dictionary type already exists
dict.update.failed.type.exists=Failed to modify dictionary [{}], the dictionary type already exists
##Index
index.welcome.message=Welcome to the {} backend management framework, the current version: v{}, please access it through the front-end address.
##Menu
menu.add.failed.name.exists=Failed to add a new menu [{}], the menu name already exists
menu.add.failed.path.not.valid=Failed to add a new menu [{}] with an address starting with http(s)://
menu.update.failed.name.exists=Failed to modify menu [{}], menu name already exists
menu.update.failed.path.not.valid=Failed to modify menu [{}] with address starting with http(s)://
menu.update.failed.parent.not.valid=Failed to modify the menu [{}], the parent menu cannot select itself
menu.delete.failed.child.exists=A submenu exists and cannot be deleted
menu.delete.failed.role.exists=Menu is assigned and is not allowed to be deleted
##Post
post.add.failed.name.exists=Failed to add a new post [{}], and the job name already exists
post.add.failed.code.exists=Failed to add a new post [{}], and the post code already exists
post.update.failed.name.exists=Failed to modify the post [{}], the post name already exists
post.update.failed.code.exists=Failed to modify post [{}], the post code already exists
##User
user.username.exists=The system account name already exists, please modify it and try again
user.password.differ=The password is inconsistent twice, please re-enter it
user.add.failed.name.exists=The new user [{}] failed, and the login account already exists
user.add.failed.phone.exists=Failed to add user [{}], and the mobile phone number already exists
user.add.failed.email.exists=Failed to add user [{}], the email account already exists
user.update.failed.password.wrong=Failed to change the password, the old password is incorrect
user.update.failed.password.repeat=The new password cannot be the same as the old password
user.update.password.failed=If the password is abnormal, contact the administrator
user.update.failed.name.exists=The new user [{}] failed, and the login account already exists
user.update.failed.phone.exists=Failed to modify user [{}], mobile phone number already exists
user.update.failed.email.exists=Failed to modify user [{}], and the email account already exists
user.update.failed=If the personal information is abnormal, contact the administrator
user.delete.failed=The current user cannot be deleted
user.upload.avatar.failed=If the uploaded image is abnormal, contact the administrator
user.not.login=Please log in and try again
user.access.denied=Access denied by the user
##Role
role.add.manager.failed=Administrator role identity is not allowed
role.add.failed.name.exists=Failed to add a role [{}], the name of the role already exists
role.add.failed.key.exists=Failed to add a role [{}], and the role permissions already exist
role.update.failed.name.exists=Failed to modify the role [{}], the role name already exists
role.update.failed.key.exists=Failed to modify the role [{}], and the role permissions already exist
role.update.failed=Failed to modify the role [{}], contact the administrator
##Import
import.failed.file.null=Failed to import, please upload the file first!
import.failed.data.null=Failed to import, imported data is empty!
import.failed.device.name.null=Failed to import, the device name in the template cannot be empty!
import.success=The import is successful
import.fail=The import failed
##General
success=success
fail=failed
query.success=The query succeeds
operate.success=The operation succeeded
operate.fail=The operation failed
create.success=The creation is successful
create.failed=Failed to create
save.success=Save successfully
save.failed=Failed to save
authorization.success=Authorization succeeded
delete.success=Delete successfully
delete.fail=Delete failed
bind.success=Binding successful
bind.fail=Binding failed
unbind.success=Unbind successfully
unbind.fail=Unbinding failed
captcha.fail=Verification code error
import.fail.[{}]=Import failed: [{}]
only.allow.tenant.config=Only allow tenant configuration
password.fail=Password error
login.success=Login succeeded
##Email
email.format.error=The email address is malformed
email.verification.code.send=Email verification code sent
##Firmware
firmware.task.upgrade.failed.time.not.valid=The scheduled upgrade time should be greater than the current time
##Media
media.record.query.failed=The connection timed out or an error occurred and no data was obtained
##Modbus
modbus.type.null=type is empty
modbus.crc.check.abnormal=CRC check abnormal
##Netty
netty.client.not.exists=The client does not exist
##Runtime
runtime.message.id.null=The message id is empty
##Wechat
wechat.verify.type.null=Please specify the verification method
wechat.bind.message.id.null=Please pass in the binding information ID
wechat.please.config.open.platform=Please configure WeChat Open Platform mobile application information first
wechat.user.certificate.gain.fail=Failed to obtain user credentials, please log in again!
wechat.please.config.open.platform.mini=Please configure WeChat public platform mini program information first!
wechat.user.phone.certificate.gain.fail=Failed to obtain user's mobile phone number credentials, please log in again!
wechat.gain.user.call.certificate.fail=Failed to obtain user call credentials, please log in again!
wechat.gain.user.phone.fail=Failed to obtain user phone number, please log in again!
wechat.please.login=Please log in first and try again
wechat.please.enter.user.password=Please enter the user password
wechat.cancelBind.password.fail=Password error, please re-enter
wechat.please.enter.wechat.user.info=Please provide WeChat user information
wechat.please.enter.user.certificate=Please provide user credentials
wechat.gain.wechat.info.fail=Failed to obtain WeChat information, please try again!
wechat.your.wechat.already.bind.other.account=Your WeChat account has already been linked to another account. Please log in and unbind it using WeChat first, and then try again
wechat.this.wechat.already.bind.other.account=This WeChat account has already been linked to another account. Please log in and unbind it using WeChat first, and then try again!
wechat.please.config.open.platform.web.application.personal.bind.info=Please first configure the WeChat Open Platform website application personal center binding information
wechat.you.cancel.or.not.gain.authorization.info=You have cancelled authorization or have not obtained authorization information
wechat.the.qr.code.has.expired=The QR code has expired, please click bind again
wechat.your.account.already.bind.wechat=Your account has been linked to WeChat, please unbind it first
##AuthResource
auth.resource.product.query.success=The product list was queried
##Device
device.user.id.null=User ID cannot be empty
device.product.id.null=Device number and product ID cannot be empty
device.dept.id.null=Select Allocation Authority
device.id.null=Select a device
device.not.select=Please select a device
device.serialNumber.not.empty=The device number cannot be empty
device.delete.fail.please.delete.device.scene=If the device ID [{}] fails, delete the scene linkage under the corresponding device
delete.fail.please.delete.scene.model=If the device ID [{}] fails, delete the sceneModel linkage under the corresponding device
device.tenant.can.not.bind.exist.device=Tenants are not allowed to bind existing devices, device number: [{}]
now.user.belong.device.can.not.repeat.share=The current user already owns the device and cannot be reassigned. Device ID: [{}]
device.share.other.user.can.not.share=This device has already been assigned to another user and cannot be duplicated. Device ID: [{}]
device.not.exist.add.fail.please.check.product.id.is.correct=The device does not exist, automatic device addition failed, please check if the product number is correct
device.add.success=Device added successfully
device.assignment.fail.dept.not.exist=The institution does not exist or is not bound to an administrator. Please adjust and try again!
device.assignment.fail.dept.admin.not.exist=Institution administrator does not exist
device.assignment.success=Equipment allocation successful
device.assignment.fail=Equipment allocation failed
device.recovery.fail.dept.not.exist=The institution does not exist or is not bound to an administrator. Please adjust and try again!
device.recovery.fail.dept.admin.not.exist=Institution administrator does not exist
device.recovery.success=Successful recycling of equipment
device.recovery.fail=Recycling device failed
device.not.exist=The device does not exist
device.serialNumber.allow.generate.max.number=Only up to 200 can be generated!
device.insert.fail.device.number.already.exist=Device number: [{}] already exists, adding failed
device.insert.fail.device.ip.already.exist=The host IP and port already exist, and the device number is: [{}]
device.get.mqtt.connection.param.fail=Failed to retrieve device MQTT connection parameters
device.get.authorization.fail.please.config=The product has enabled authorization, but obtaining the device authorization code has failed. Please configure the authorization code first
device.unsupported.authentication.method=Device authentication method not supported
device.not.found.by.serial.number=Device not found
device.duplicate.by.serial.number=Device already exists
device.restore.success=Device restored successfully
device.restore.fail=Device restoration failed
product.not.found.by.product.id=Product not found
device.import.assignment.fail.product.information.is.empty=Import failed, product information is empty
device.import.assignment.fail.serialNumber.already.exists=The following device number [{}] already exists. Please modify it and try again
device.import.assignment.fail.dept.not.exists=The institution does not exist. Please select another institution!
device.import.assignment.fail.dept.admin.not.exists=The institution administrator information does not exist. Please select an institution again!
device.import.serialNumber.not.comply.national.standard.protocol=The device number [{}] does not comply with the format requirements of the national standard protocol
##DeviceJob
job.add.failed.cron.not.valid=Failed to add task [{}] with incorrect Cron expression
job.add.failed.rmi.not.valid=The new task [{}] failed, and 'rmi' is not allowed to be called on the target string
job.add.failed.ldap.not.valid=The new task [{}] failed, and 'ldap(s)' cannot be called as the target string
job.add.failed.http.not.valid=The new task [{}] failed, and the target string does not allow 'http(s)' to be called
job.add.failed.string.error=The new task [{}] has failed, and the target string has been violated
job.add.failed.string.not.valid=The new task [{}] failed, and the destination string is not in the whitelist
job.add.failed.product.not.modbus.config=Failed to add task [{}], please go to the product to configure modbus first
job.update.failed.cron.not.valid=Task [{}] failed to be modified, and the Cron expression is incorrect
job.update.failed.rmi.not.valid=Task [{}] failed, and 'rmi' is not allowed to be called by the target string
job.update.failed.ldap.not.valid=Modify task [{}] failed, and 'ldap(s)' is not allowed to be called as the target string
job.update.failed.http.not.valid=Modify task [{}] failed, and 'http(s)' is not allowed to be called to the target string
job.update.failed.string.error=Task [{}] has failed to be modified, and the target string has been violated
job.update.failed.string.not.valid=Task [{}] has failed to be modified, and the destination string is not in the whitelist
job.update.failed.product.not.modbus.config=Update task [{}] failed, please go to the product to configure modbus
job.not.exists=The task does not exist or has expired
##DeviceUser
device.user.delete.failed.user.not.valid=Device owner cannot be deleted
##GoviewProject
goview.project.data.save.failed.id.null=There is no project ID
goview.project.data.execute.sql.failed=Write an SQL statement
##ThingsModel
things.model.identifier.repeat=The identifier under the product cannot be repeated
things.model.import.failed.identifier.repeat=[{}] data is not imported, and the identifier is duplicated
things.model.update.fail.quote.the.scene.variable.formula.please.delete=The current object model is referenced to the calculation formula of the scene operation variable and cannot be modified. Please delete the reference relationship before performing the modification operation!
things.model.delete.fail.quote.the.scene.variable.formula.please.delete=The current object model is referenced to the calculation formula of the scene operation variable and cannot be deleted. Please delete the reference relationship before performing the deletion operation!
things.model.import.data.exception=Import data exception
things.model.register.address.repeat=Under the same collection point template, there are duplicate register addresses. Please check the imported variable register addresses
##MQTT
mqtt.unauthorized=mqtt account and password do not match the configuration of the authentication server
##Oauth
oauth.response.type.not.valid=response_type parameter values allow only code and token
oauth.grant.type.null=Unknown grant type
The oauth.grant.type.implicit.not.support=Token operation does not support implicit authorization mode
oauth.access.token.null=Access token cannot be empty
obtain.basic.authorization.failed=client_id or client_secret is not delivered correctly
##Record
record.app.null=app cannot be empty
record.stream.null=stream cannot be empty
record.time.not.valid=Wrong start time or end time
record.file.null=No video file found
##ErrorCodeConstants
app.not.found=App does not exist
app.is.disable=App has been disabled
app.exist.order.cant.delete=A payment order exists in the payment application and cannot be deleted
app.exist.refund.cant.delete=A refund order exists in the payment app and cannot be deleted
channel.not.found=The configuration of the payment channel does not exist
channel.is.disable=Payment channel is disabled
channel.exists.same.channel.error=The same channel already exists
order.not.found=The payment order does not exist
order.status.is.not.waiting=The paid order is not pending payment
order.status.is.success=Order has been paid, please refresh the page
order.is.expired=The payment order has expired
order.submit.channel.error=Error message is reported for initiating payment, error code: {}, error message: {}
order.refund.fail.status.error=Failed to refund the paid order due to the fact that the status is not Paid or Refunded
order.extension.not.found=The payment transaction extension does not exist
order.extension.status.is.not.waiting=The payment transaction extension order is not pending payment
order.extension.is.paid=The order has been paid, please wait for the payment result
refund.price.exceed=The amount refunded exceeds the amount of the order that can be refunded
refund.has.refunding=A refund is already being processed
refund.exists=A refund ticket already exists
refund.not.found=Payment Refund Form Does Not Exist
refund.statue.is.not.waiting=Payment of a refund receipt is not pending refund
demo.order.not.found=The sample order does not exist
demo.order.update.paid.status.not.unpaid=Example: Failed to update payment status of order, order is not in unpaid status
demo.order.update.paid.fail.pay.order.id.error=Failed to update the payment status of the sample order, and the payment slip number does not match
demo.order.update.paid.fail.pay.order.status.not.success=Example: Failed to update the payment status of the order, and the status of the payment slip is not [Payment Successful].
demo.order.update.paid.fail.pay.price.not.match=Failed to update the payment status of the sample order, and the payment order amount does not match
demo.order.refund.fail.not.paid=Failed to initiate a refund, but the sample order has not been paid
demo.order.refund.fail.refunded=Failed to initiate a refund, the sample order has been refunded
demo.order.refund.fail.refund.not.found=Failed to initiate a refund, but the refund order does not exist
demo.order.refund.fail.refund.not.success=Failed to initiate a refund, but the order was not refunded
demo.order.refund.fail.refund.order.id.error=Failed to initiate a refund, and the refund order number does not match
demo.order.refund.fail.refund.price.not.match=Failed to initiate a refund, and the amount of the refund order does not match
device.order.control.no.permission=There is no permission to operate, please contact the administrator to assign command permissions!
##sysConfig
sysConfig.add.param.fail.name.exist=Failed to add parameter [{}], the parameter key name already exists
sysConfig.update.param.fail.name.exist=Parameter [{}] failed, and the parameter key name already exists
##sysRegister
sysRegister.fail.not.enable.register=The current system does not have the registration function enabled!
##ossDetail
ossDetail.fail.file.not.empty=The uploaded file cannot be empty
##notify
sms.send.fail.contact.admin=SMS sending failed, please contact the administrator!
captcha.has.sent.please.try.again.later=The verification code has been sent, please try again later!
not.find.enable.notify.template=Unable to find enabled notification templates
not.find.notify.channel=Unable to find notification channel
only.can.config.alert.and.not.wechat.mini.notify=Non-administrators are only allowed to add device alarm services and templates that are not WeChat Mini Programs!
notify.can.not.not.alert.and.wechat.mini.status=Non-administrators can only change the template status of the device alarm service and non-WeChat Mini Program!
##dataCenter
please.select.device=Please select a device
please.incoming.serialNumber=Please pass in the device number
##license
certificate.install.success=The certificate is successfully installed
certificate.install.fail=Certificate installation failed:[{}]
certificate.incoming.success=The certificate is successfully uploaded
certificate.incoming.fail=The certificate upload failed
certificate.upload.success=The certificate is successfully uploaded
certificate.upload.fail=Certificate upload failed:[{}]
##sceneModel
please.incoming.scene.id=Please pass in the scene ID
please.incoming.device.config.number=Enter the serial number of the associated device configuration
sceneModel.please.introduced.id=Please enter the scene management ID
sceneModel.current.variable.quote.operate.variable.formula.please.delete=The current variable is referenced to the calculation formula of the scene operation variable and cannot be deleted. Please delete the reference relationship before performing the deletion operation!
sceneModel.scene.already.bind.device=The scene has already been bound to this device, please select again!
sceneModel.update.fail.device.variable.has.quote.scene.variable.please.delete=There are variables in the current device that are referenced to the calculation formula of operational variables and cannot be modified. Please delete the reference relationship before performing the modification operation!
sceneModel.delete.fail.device.variable.has.quote.scene.variable.please.delete=There are variables under the current device that are referenced to the calculation formula of operational variables and cannot be deleted. Please delete the reference relationship before performing the deletion operation!
sceneModel.formula.cannot.empty=The calculation formula cannot be empty!
sceneModel.variable.cannot.empty=The variable cannot be empty!
sceneModel.formula.and.variable.number.inconsistent=The calculation formula and the number of variables are inconsistent. Please check and try again
sceneModel.update.fail.variable.name.exist=The variable name already exists, please modify it and try again!
sceneModel.device.not.belong.current.tenant=Please allocate all devices configured in the device configuration to the organization specified in the current scene configuration before proceeding with the operation!
##oauthClientDetail
add.fail.same.client.can.config.one=Only one piece of information can be configured on the same authorization platform, please do not configure it again
client.id.is.exist=Client ID: [{}] Already exists or is already in use by another tenant
oauthClientDetail.client.not.exist=OAuth2 client does not exist
oauthClientDetail.client.disabled=OAuth2 client disabled
oauthClientDetail.invalid.client.set=Invalid client set
oauthClientDetail.invalid.redirects=Invalid redirects: [{}]
##category
delete.fail.please.delete.category.product=Delete failed, please delete the products under the corresponding category first
##goviewProjectData
only.allow.select.operate=Only allow select operation, prohibit update, delete, insert operation
##newsCategory
newsCategory.delete.fail.please.delete.category.info=Delete failed, please delete the news information under the corresponding category first
##product
delete.fail.please.delete.firmware=Delete failed, please delete the firmware under the corresponding product first
delete.fail.please.delete.product.device=Delete failed, please delete the device under the corresponding product first
delete.fail.please.delete.product.scene=Delete failed, please modify or delete the scene linkage under the corresponding product first: [{}]
product.status.update.fail.value.fail=Status update failed, incorrect status value
product.status.update.fail=Status update failed
restore.product.fail=Product restore failed not exist
product.name.is.not.empty=Please enter a product name
product.import.categoryId.is.fail=Please enter the correct product classification number categoryId
##socialLogin
bind.account.not.exist=The bound account does not exist
socialLogin.verify.has.expired=The verification code has expired, please obtain it again
socialLogin.platform.type.fail=Wrong platform type
user.account.and.bind.account.not.match=User account and bound account do not match
socialLogin.user.not.exist=user does not exist
socialLogin.bind.end.user.cannot.login.web=Do not bind end users, after binding end users, you cannot log in to the web end
socialLogin.account.already.bind.other.wechat.please.unbind=This account has already been linked to another WeChat account. Please unbind it first and try again!
socialLogin.register.fail.please.check.role.exist=Registration failed, please contact the management personnel to check if the institutional role exists
socialLogin.web.not.allow.end.user.login=The web end does not allow end users to log in
socialLogin.register.fail.please.check.invitationCode.exist=If the invitation code is incorrect, contact your organization administrator to check it
The.organization.to.which.your.account.belongs.has.been.suspended.Please.contact.the.administrator=The organization to which your account belongs has been suspended. Please contact the administrator!
default.institution.has.been.deactivated.contact.administrator=The default institution has been deactivated. Please contact the administrator!
##alert
alert.push.fail.device.not.exist=Alarm push, device does not exist: [{}]
##modbus
not.modbus.protocol.please.config.collect.protocol=Please configure the active collection protocol first for non Modbus protocols
modbus.point.not.config=Modbus point not configured
##ota
firmwareTask.add.fail.FirmwareTask.exist=Task: [{}] already exists
firmware.version.not.exist=The firmware version does not exist!
##mqttMessage
mqtt.service.send.device.not.exist=The device issued by the service: [{}] does not exist
mqtt.disconnect.occur.fail=Error occurred while disconnecting MQTT connection: [{}]
##genTable
genTable.template.rendering.fail=Template rendering failed, table name: [{}]
genTable.data.sync.fail.original.table.not.exist=Data synchronization failed, original table structure does not exist
genTable.tree.code.field.cannot.empty=The tree code field cannot be empty
genTable.tree.parent.code.field.cannot.empty=The tree parent code field cannot be empty
genTable.tree.name.field.cannot.empty=The tree name field cannot be empty
genTable.relate.child.table.name.cannot.empty=The table name of the associated sub table cannot be empty
genTable.child.table.relate.foreign.key.name.cannot.empty=The foreign key name associated with a sub table cannot be empty
##oauthCode
oauthCode.code.not.exist=Code does not exist
##protocol
protocol.input.content.is.empty=The input content is empty
protocol.data.parse.error=Data parsing error [{}]
protocol.data.parse.exception=Data parsing exception [{}]
protocol.instruction.number.exception=Instruction number exception: [{}]
##modbusJob
modbusJob.add.fail.please.bind.gateway=Please bind the gateway first
thingsModel.array.or.object.no.need.update=There are no arrays or objects that need to be updated
sync.fail.please.try.again=Sync failed, please try again!
sync.success=Synchronization succeeded
## scada
scada.product.id.is.null=The product ID is empty
scada.scene.id.is.null=The scene ID is empty
scada.guid.cannot.empty=The guid cannot be empty
scada.base64.change.image.exception=Configuration base64 to image abnormal:[{}]
scada.please.select.device=Please select a device
scada.please.enter.password=Please enter your password!
scada.please.login=If you are not logged in, please log in and try again
scada.password.fail.please.reload.enter=The password is incorrect, please re-enter it!
scada.product.has.relate.please.select.again=The product has been associated with the configuration, please select it again!
scada.scene.has.relate.please.select.again=This scene has been associated with the configuration, please select it again!
scada.not.allow.view.other.tenant.config=It is not allowed to view the configuration of other tenants!
scada.upload.gallery.file.fail=The upload of the gallery file is abnormal,[{}]
scada.upload.fail=Upload failed, please try again!
scada.invalid.profile=Invalid profile
scada.import.success.need.replace.variable=The import is successful, and the current page needs to replace the variables of the bound component again!
## speaker
speaker.product.has.relate=The product is already linked, please do not associate it repeatedly
speaker.product.relate.add.fail=Failed to add a new feature
speaker.not.found.product.relate=No product related information was found
##file
file.content.is.empty=The file content is empty
file.is.invalid=Invalid file
## workOrder
workOrder.please.select.user=Please specify the contact person
workOrder.please.fill.result.info=Please fill in the statement information
## subGateway
subGateway.subDeviceAddress.is.repeat=There is a duplicate sub-device address. Please modify it and try again!

View File

@@ -0,0 +1,429 @@
#\u9519\u8BEF\u6D88\u606F
not.null=\u5FC5\u987B\u586B\u5199
user.jcaptcha.error=\u9A8C\u8BC1\u7801\u9519\u8BEF
user.jcaptcha.expire=\u9A8C\u8BC1\u7801\u5DF2\u5931\u6548
user.not.exists=\u7528\u6237\u4E0D\u5B58\u5728/\u5BC6\u7801\u9519\u8BEF
user.password.not.match=\u7528\u6237\u4E0D\u5B58\u5728/\u5BC6\u7801\u9519\u8BEF
user.password.retry.limit.count=\u5BC6\u7801\u8F93\u5165\u9519\u8BEF{0}\u6B21
user.password.retry.limit.exceed=\u5BC6\u7801\u8F93\u5165\u9519\u8BEF{0}\u6B21\uFF0C\u5E10\u6237\u9501\u5B9A{1}\u5206\u949F
user.password.delete=\u5BF9\u4E0D\u8D77\uFF0C\u60A8\u7684\u8D26\u53F7\u5DF2\u88AB\u5220\u9664
user.blocked=\u7528\u6237\u5DF2\u5C01\u7981\uFF0C\u8BF7\u8054\u7CFB\u7BA1\u7406\u5458
role.blocked=\u89D2\u8272\u5DF2\u5C01\u7981\uFF0C\u8BF7\u8054\u7CFB\u7BA1\u7406\u5458
user.logout.success=\u9000\u51FA\u6210\u529F
length.not.valid=\u957F\u5EA6\u5FC5\u987B\u5728{min}\u5230{max}\u4E2A\u5B57\u7B26\u4E4B\u95F4
user.username.not.valid=2\u523020\u4E2A\u6C49\u5B57\u3001\u5B57\u6BCD\u3001\u6570\u5B57\u6216\u4E0B\u5212\u7EBF\u7EC4\u6210\uFF0C\u4E14\u5FC5\u987B\u4EE5\u975E\u6570\u5B57\u5F00\u5934
user.password.not.valid=5-50\u4E2A\u5B57\u7B26
user.email.not.valid=\u90AE\u7BB1\u683C\u5F0F\u9519\u8BEF
user.mobile.phone.number.not.valid=\u624B\u673A\u53F7\u683C\u5F0F\u9519\u8BEF
user.login.success=\u767B\u5F55\u6210\u529F
user.register.success=\u6CE8\u518C\u6210\u529F
user.notfound=\u8BF7\u91CD\u65B0\u767B\u5F55
user.forcelogout=\u7BA1\u7406\u5458\u5F3A\u5236\u9000\u51FA\uFF0C\u8BF7\u91CD\u65B0\u767B\u5F55
user.unknown.error=\u672A\u77E5\u9519\u8BEF\uFF0C\u8BF7\u91CD\u65B0\u767B\u5F55
##\u6743\u9650
no.permission=\u60A8\u6CA1\u6709\u6570\u636E\u7684\u6743\u9650\uFF0C\u8BF7\u8054\u7CFB\u7BA1\u7406\u5458\u6DFB\u52A0\u6743\u9650 [{0}]
no.create.permission=\u60A8\u6CA1\u6709\u521B\u5EFA\u6570\u636E\u7684\u6743\u9650\uFF0C\u8BF7\u8054\u7CFB\u7BA1\u7406\u5458\u6DFB\u52A0\u6743\u9650 [{0}]
no.update.permission=\u60A8\u6CA1\u6709\u4FEE\u6539\u6570\u636E\u7684\u6743\u9650\uFF0C\u8BF7\u8054\u7CFB\u7BA1\u7406\u5458\u6DFB\u52A0\u6743\u9650 [{0}]
no.delete.permission=\u60A8\u6CA1\u6709\u5220\u9664\u6570\u636E\u7684\u6743\u9650\uFF0C\u8BF7\u8054\u7CFB\u7BA1\u7406\u5458\u6DFB\u52A0\u6743\u9650 [{0}]
no.export.permission=\u60A8\u6CA1\u6709\u5BFC\u51FA\u6570\u636E\u7684\u6743\u9650\uFF0C\u8BF7\u8054\u7CFB\u7BA1\u7406\u5458\u6DFB\u52A0\u6743\u9650 [{0}]
no.view.permission=\u60A8\u6CA1\u6709\u67E5\u770B\u6570\u636E\u7684\u6743\u9650\uFF0C\u8BF7\u8054\u7CFB\u7BA1\u7406\u5458\u6DFB\u52A0\u6743\u9650 [{0}]
no.operate.permission=\u6682\u65e0\u6743\u9650\u64cd\u4f5c\uff01
##\u6587\u4EF6\u4E0A\u4F20\u6D88\u606F
upload.exceed.maxSize=\u4E0A\u4F20\u7684\u6587\u4EF6\u5927\u5C0F\u8D85\u51FA\u9650\u5236\u7684\u6587\u4EF6\u5927\u5C0F\uFF01<br/>\u5141\u8BB8\u7684\u6587\u4EF6\u6700\u5927\u5927\u5C0F\u662F\uFF1A{0}MB\uFF01
upload.filename.exceed.length=\u4E0A\u4F20\u7684\u6587\u4EF6\u540D\u6700\u957F{0}\u4E2A\u5B57\u7B26
upload.success=\u4E0A\u4F20\u6210\u529F
##\u6587\u4EF6\u4E0B\u8F7D\u6D88\u606F
download.filename.not.valid=\u6587\u4EF6\u540D\u79F0[{}]\u975E\u6CD5\uFF0C\u4E0D\u5141\u8BB8\u4E0B\u8F7D
download.file.failed=\u4E0B\u8F7D\u6587\u4EF6\u5931\u8D25
download.resource.not.valid=\u8D44\u6E90\u6587\u4EF6[{}]\u975E\u6CD5\uFF0C\u4E0D\u5141\u8BB8\u4E0B\u8F7D
##Dept
dept.add.failed.name.exists=\u65B0\u589E\u673A\u6784[{}]\u5931\u8D25\uFF0C\u673A\u6784\u540D\u79F0\u5DF2\u5B58\u5728
dept.update.failed.name.exists=\u4FEE\u6539\u673A\u6784[{}]\u5931\u8D25\uFF0C\u673A\u6784\u540D\u79F0\u5DF2\u5B58\u5728
dept.update.failed.parent.not.valid=\u4FEE\u6539\u673A\u6784[{}]\u5931\u8D25\uFF0C\u4E0A\u7EA7\u673A\u6784\u4E0D\u80FD\u662F\u81EA\u5DF1
dept.update.failed.child.not.valid=\u8BE5\u673A\u6784\u5305\u542B\u672A\u505C\u7528\u7684\u5B50\u673A\u6784\uFF01
dept.delete.failed.child.exists=\u5B58\u5728\u4E0B\u7EA7\u673A\u6784\uFF0C\u4E0D\u5141\u8BB8\u5220\u9664
dept.delete.failed.user.exists=\u673A\u6784\u5B58\u5728\u7528\u6237\uFF0C\u4E0D\u5141\u8BB8\u5220\u9664
dept.invitationCode.is.exists=\u9080\u8bf7\u7801\u5df2\u7ecf\u5b58\u5728\uff0c\u8bf7\u91cd\u65b0\u8f93\u5165
##Dict
dict.add.failed.type.exists=\u65B0\u589E\u5B57\u5178[{}]\u5931\u8D25\uFF0C\u5B57\u5178\u7C7B\u578B\u5DF2\u5B58\u5728
dict.update.failed.type.exists=\u4fee\u6539\u5b57\u5178[{}]\u5931\u8d25\uff0c\u5b57\u5178\u7c7b\u578b\u5df2\u5b58\u5728
##Index
index.welcome.message=\u6B22\u8FCE\u4F7F\u7528{}\u540E\u53F0\u7BA1\u7406\u6846\u67B6\uFF0C\u5F53\u524D\u7248\u672C\uFF1Av{}\uFF0C\u8BF7\u901A\u8FC7\u524D\u7AEF\u5730\u5740\u8BBF\u95EE\u3002
##Menu
menu.add.failed.name.exists=\u65B0\u589E\u83DC\u5355[{}]\u5931\u8D25\uFF0C\u83DC\u5355\u540D\u79F0\u5DF2\u5B58\u5728
menu.add.failed.path.not.valid=\u65B0\u589E\u83DC\u5355[{}]\u5931\u8D25\uFF0C\u5730\u5740\u5FC5\u987B\u4EE5http(s)://\u5F00\u5934
menu.update.failed.name.exists=\u4FEE\u6539\u83DC\u5355[{}]\u5931\u8D25\uFF0C\u83DC\u5355\u540D\u79F0\u5DF2\u5B58\u5728
menu.update.failed.path.not.valid=\u4FEE\u6539\u83DC\u5355[{}]\u5931\u8D25\uFF0C\u5730\u5740\u5FC5\u987B\u4EE5http(s)://\u5F00\u5934
menu.update.failed.parent.not.valid=\u4FEE\u6539\u83DC\u5355[{}]\u5931\u8D25\uFF0C\u4E0A\u7EA7\u83DC\u5355\u4E0D\u80FD\u9009\u62E9\u81EA\u5DF1
menu.delete.failed.child.exists=\u5B58\u5728\u5B50\u83DC\u5355,\u4E0D\u5141\u8BB8\u5220\u9664
menu.delete.failed.role.exists=\u83DC\u5355\u5DF2\u5206\u914D,\u4E0D\u5141\u8BB8\u5220\u9664
##Post
post.add.failed.name.exists=\u65B0\u589E\u5C97\u4F4D[{}]\u5931\u8D25\uFF0C\u5C97\u4F4D\u540D\u79F0\u5DF2\u5B58\u5728
post.add.failed.code.exists=\u65B0\u589E\u5C97\u4F4D[{}]\u5931\u8D25\uFF0C\u5C97\u4F4D\u7F16\u7801\u5DF2\u5B58\u5728
post.update.failed.name.exists=\u4FEE\u6539\u5C97\u4F4D[{}]\u5931\u8D25\uFF0C\u5C97\u4F4D\u540D\u79F0\u5DF2\u5B58\u5728
post.update.failed.code.exists=\u4FEE\u6539\u5C97\u4F4D[{}]\u5931\u8D25\uFF0C\u5C97\u4F4D\u7F16\u7801\u5DF2\u5B58\u5728
##User
user.username.exists=\u7CFB\u7EDF\u8D26\u53F7\u540D\u79F0\u5DF2\u5B58\u5728\uFF0C\u8BF7\u4FEE\u6539\u540E\u91CD\u8BD5
user.password.differ=\u4E24\u6B21\u5BC6\u7801\u4E0D\u4E00\u81F4\uFF0C\u8BF7\u91CD\u65B0\u8F93\u5165
user.add.failed.name.exists=\u65B0\u589E\u7528\u6237[{}]\u5931\u8D25\uFF0C\u767B\u5F55\u8D26\u53F7\u5DF2\u5B58\u5728
user.add.failed.phone.exists=\u65B0\u589E\u7528\u6237[{}]\u5931\u8D25\uFF0C\u624B\u673A\u53F7\u7801\u5DF2\u5B58\u5728
user.add.failed.email.exists=\u65B0\u589E\u7528\u6237[{}]\u5931\u8D25\uFF0C\u90AE\u7BB1\u8D26\u53F7\u5DF2\u5B58\u5728
user.update.failed.password.wrong=\u4FEE\u6539\u5BC6\u7801\u5931\u8D25\uFF0C\u65E7\u5BC6\u7801\u9519\u8BEF
user.update.failed.password.repeat=\u65B0\u5BC6\u7801\u4E0D\u80FD\u4E0E\u65E7\u5BC6\u7801\u76F8\u540C
user.update.password.failed=\u4FEE\u6539\u5BC6\u7801\u5F02\u5E38\uFF0C\u8BF7\u8054\u7CFB\u7BA1\u7406\u5458
user.update.failed.name.exists=\u65B0\u589E\u7528\u6237[{}]\u5931\u8D25\uFF0C\u767B\u5F55\u8D26\u53F7\u5DF2\u5B58\u5728
user.update.failed.phone.exists=\u4FEE\u6539\u7528\u6237[{}]\u5931\u8D25\uFF0C\u624B\u673A\u53F7\u7801\u5DF2\u5B58\u5728
user.update.failed.email.exists=\u4FEE\u6539\u7528\u6237[{}]\u5931\u8D25\uFF0C\u90AE\u7BB1\u8D26\u53F7\u5DF2\u5B58\u5728
user.update.failed=\u4FEE\u6539\u4E2A\u4EBA\u4FE1\u606F\u5F02\u5E38\uFF0C\u8BF7\u8054\u7CFB\u7BA1\u7406\u5458
user.delete.failed=\u5F53\u524D\u7528\u6237\u4E0D\u80FD\u5220\u9664
user.upload.avatar.failed=\u4E0A\u4F20\u56FE\u7247\u5F02\u5E38\uFF0C\u8BF7\u8054\u7CFB\u7BA1\u7406\u5458
user.not.login=\u8BF7\u767B\u5F55\u540E\u91CD\u8BD5
user.access.denied=\u7528\u6237\u62D2\u7EDD\u8BBF\u95EE
##Role
role.add.manager.failed=\u4E0D\u5141\u8BB8\u8BBE\u7F6E\u7BA1\u7406\u5458\u89D2\u8272\u6807\u8BC6
role.add.failed.name.exists=\u65B0\u589E\u89D2\u8272[{}]\u5931\u8D25\uFF0C\u89D2\u8272\u540D\u79F0\u5DF2\u5B58\u5728
role.add.failed.key.exists=\u65B0\u589E\u89D2\u8272[{}]\u5931\u8D25\uFF0C\u89D2\u8272\u6743\u9650\u5DF2\u5B58\u5728
role.update.failed.name.exists=\u4FEE\u6539\u89D2\u8272[{}]\u5931\u8D25\uFF0C\u89D2\u8272\u540D\u79F0\u5DF2\u5B58\u5728
role.update.failed.key.exists=\u4FEE\u6539\u89D2\u8272[{}]\u5931\u8D25\uFF0C\u89D2\u8272\u6743\u9650\u5DF2\u5B58\u5728
role.update.failed=\u4FEE\u6539\u89D2\u8272[{}]\u5931\u8D25\uFF0C\u8BF7\u8054\u7CFB\u7BA1\u7406\u5458
##Import
import.failed.file.null=\u5BFC\u5165\u5931\u8D25\uFF0C\u8BF7\u5148\u4E0A\u4F20\u6587\u4EF6\uFF01
import.failed.data.null=\u5BFC\u5165\u5931\u8D25\uFF0C\u5BFC\u5165\u6570\u636E\u4E3A\u7A7A\uFF01
import.failed.device.name.null=\u5BFC\u5165\u5931\u8D25\uFF0C\u6A21\u677F\u91CC\u8BBE\u5907\u540D\u79F0\u4E0D\u80FD\u4E3A\u7A7A\uFF01
import.success=\u5BFC\u5165\u6210\u529F
import.fail=\u5bfc\u5165\u5931\u8d25
##General
success=\u6210\u529F
fail=\u5931\u8D25
query.success=\u67E5\u8BE2\u6210\u529F
operate.success=\u64CD\u4F5C\u6210\u529F
operate.fail=\u64cd\u4f5c\u5931\u8d25
create.success=\u521B\u5EFA\u6210\u529F
create.failed=\u521B\u5EFA\u5931\u8D25
save.success=\u4FDD\u5B58\u6210\u529F
save.failed=\u4FDD\u5B58\u5931\u8D25
authorization.success=\u6388\u6743\u6210\u529F
delete.success=\u5220\u9664\u6210\u529f
delete.fail=\u5220\u9664\u5931\u8d25
bind.success=\u7ed1\u5b9a\u6210\u529f
bind.fail=\u7ed1\u5b9a\u5931\u8d25
unbind.success=\u89e3\u7ed1\u6210\u529f
unbind.fail=\u89e3\u7ed1\u5931\u8d25
captcha.fail=\u9a8c\u8bc1\u7801\u9519\u8bef
import.fail.[{}]=\u5bfc\u5165\u5931\u8d25\uff1a[{}]
only.allow.tenant.config=\u53ea\u5141\u8bb8\u79df\u6237\u914d\u7f6e
password.fail=\u5bc6\u7801\u9519\u8bef
login.success=\u767b\u5f55\u6210\u529f
##Email
email.format.error=\u90AE\u7BB1\u683C\u5F0F\u9519\u8BEF
email.verification.code.send=\u90AE\u7BB1\u9A8C\u8BC1\u7801\u5DF2\u53D1\u9001
##Firmware
firmware.task.upgrade.failed.time.not.valid=\u9884\u5B9A\u5347\u7EA7\u65F6\u95F4\u5E94\u5927\u4E8E\u5F53\u524D\u65F6\u95F4
##Media
media.record.query.failed=\u8FDE\u63A5\u8D85\u65F6\u6216\u53D1\u751F\u9519\u8BEF\uFF0C\u672A\u83B7\u53D6\u5230\u6570\u636E
##Modbus
modbus.type.null=\u7C7B\u578B\u4E3A\u7A7A
modbus.crc.check.abnormal=crc\u6821\u9a8c\u5f02\u5e38
##Netty
netty.client.not.exists=\u5BA2\u6237\u7AEF\u4E0D\u5B58\u5728
##Runtime
runtime.message.id.null=\u6D88\u606Fid\u4E3A\u7A7A
##Wechat
wechat.verify.type.null=\u8BF7\u4F20\u5165\u9A8C\u8BC1\u65B9\u5F0F
wechat.bind.message.id.null=\u8BF7\u4F20\u5165\u7ED1\u5B9A\u4FE1\u606FID
wechat.please.config.open.platform=\u8bf7\u5148\u914d\u7f6e\u5fae\u4fe1\u5f00\u653e\u5e73\u53f0\u79fb\u52a8\u5e94\u7528\u4fe1\u606f
wechat.user.certificate.gain.fail=\u7528\u6237\u51ed\u8bc1\u83b7\u53d6\u5931\u8d25\uff0c\u8bf7\u91cd\u65b0\u767b\u5f55\uff01
wechat.please.config.open.platform.mini=\u8bf7\u5148\u914d\u7f6e\u5fae\u4fe1\u516c\u4f17\u5e73\u53f0\u5c0f\u7a0b\u5e8f\u4fe1\u606f\uff01
wechat.user.phone.certificate.gain.fail=\u7528\u6237\u624b\u673a\u53f7\u51ed\u8bc1\u83b7\u53d6\u5931\u8d25\uff0c\u8bf7\u91cd\u65b0\u767b\u5f55\uff01
wechat.gain.user.call.certificate.fail=\u83b7\u53d6\u7528\u6237\u8c03\u7528\u51ed\u636e\u5931\u8d25\uff0c\u8bf7\u91cd\u65b0\u767b\u5f55\uff01
wechat.gain.user.phone.fail=\u83b7\u53d6\u7528\u6237\u624b\u673a\u53f7\u5931\u8d25\uff0c\u8bf7\u91cd\u65b0\u767b\u5f55\uff01
wechat.please.login=\u8bf7\u5148\u767b\u5f55\u540e\u91cd\u8bd5
wechat.please.enter.user.password=\u8bf7\u4f20\u5165\u7528\u6237\u5bc6\u7801
wechat.cancelBind.password.fail=\u5bc6\u7801\u9519\u8bef\uff0c\u8bf7\u91cd\u65b0\u8f93\u5165
wechat.please.enter.wechat.user.info=\u8bf7\u4f20\u5165\u5fae\u4fe1\u7528\u6237\u4fe1\u606f
wechat.please.enter.user.certificate=\u8bf7\u4f20\u5165\u7528\u6237\u51ed\u8bc1
wechat.gain.wechat.info.fail=\u83b7\u53d6\u5fae\u4fe1\u4fe1\u606f\u5931\u8d25\uff0c\u8bf7\u91cd\u8bd5\uff01
wechat.your.wechat.already.bind.other.account=\u60a8\u7684\u5fae\u4fe1\u5df2\u7ed1\u5b9a\u5176\u4ed6\u8d26\u53f7\uff0c\u8bf7\u5148\u4f7f\u7528\u5fae\u4fe1\u767b\u5f55\u89e3\u7ed1\u540e\u91cd\u8bd5
wechat.this.wechat.already.bind.other.account=\u8be5\u5fae\u4fe1\u5df2\u7ed1\u5b9a\u5176\u4ed6\u8d26\u53f7\uff0c\u8bf7\u5148\u4f7f\u7528\u5fae\u4fe1\u767b\u5f55\u89e3\u7ed1\u540e\u91cd\u8bd5\uff01
wechat.please.config.open.platform.web.application.personal.bind.info=\u8bf7\u5148\u914d\u7f6e\u5fae\u4fe1\u5f00\u653e\u5e73\u53f0\u7f51\u7ad9\u5e94\u7528\u4e2a\u4eba\u4e2d\u5fc3\u7ed1\u5b9a\u4fe1\u606f
wechat.you.cancel.or.not.gain.authorization.info=\u60a8\u5df2\u53d6\u6d88\u6388\u6743\u6216\u672a\u83b7\u53d6\u5230\u6388\u6743\u4fe1\u606f
wechat.the.qr.code.has.expired=\u4e8c\u7ef4\u7801\u5df2\u5931\u6548\uff0c\u8bf7\u91cd\u65b0\u70b9\u51fb\u7ed1\u5b9a
wechat.your.account.already.bind.wechat=\u60a8\u7684\u8d26\u53f7\u5df2\u7ed1\u5b9a\u5fae\u4fe1\uff0c\u8bf7\u5148\u89e3\u7ed1
##AuthResource
auth.resource.product.query.success=\u67E5\u8BE2\u4EA7\u54C1\u5217\u8868\u6210\u529F
##Device
device.user.id.null=\u7528\u6237ID\u4E0D\u80FD\u4E3A\u7A7A
device.product.id.null=\u8BBE\u5907\u7F16\u53F7\u548C\u4EA7\u54C1ID\u4E0D\u80FD\u4E3A\u7A7A
device.dept.id.null=\u8BF7\u9009\u62E9\u5206\u914D\u673A\u6784
device.id.null=\u8BF7\u9009\u62E9\u8BBE\u5907
device.not.select=\u8bf7\u9009\u62e9\u8bbe\u5907
device.serialNumber.not.empty=\u8bbe\u5907\u7f16\u53f7\u4e0d\u80fd\u4e3a\u7a7a
device.delete.fail.please.delete.device.scene=\u8bbe\u5907\u7f16\u53f7\u4e3a[{}]\u7684\u5220\u9664\u5931\u8d25\uff0c\u8bf7\u5148\u5220\u9664\u5bf9\u5e94\u8bbe\u5907\u4e0b\u7684\u573a\u666f\u8054\u52a8
delete.fail.please.delete.scene.model=\u8bbe\u5907\u7f16\u53f7\u4e3a[{}]\u7684\u5220\u9664\u5931\u8d25\uff0c\u8bf7\u5148\u5220\u9664\u5bf9\u5e94\u8bbe\u5907\u4e0b\u7684\u573a\u666f\u7ba1\u7406
device.tenant.can.not.bind.exist.device=\u79df\u6237\u4e0d\u5141\u8bb8\u7ed1\u5b9a\u5df2\u5b58\u5728\u7684\u8bbe\u5907\uff0c\u8bbe\u5907\u7f16\u53f7\uff1a[{}]
now.user.belong.device.can.not.repeat.share=\u5f53\u524d\u7528\u6237\u5df2\u62e5\u6709\u8be5\u8bbe\u5907\uff0c\u65e0\u6cd5\u91cd\u590d\u5206\u914d\uff0c\u8bbe\u5907\u7f16\u53f7\uff1a[{}]
device.share.other.user.can.not.share=\u8be5\u8bbe\u5907\u5df2\u88ab\u5206\u914d\u5230\u5176\u4ed6\u7528\u6237\uff0c\u65e0\u6cd5\u91cd\u590d\u5206\u914d\uff0c\u8bbe\u5907\u7f16\u53f7\uff1a[{}]
device.not.exist.add.fail.please.check.product.id.is.correct=\u8bbe\u5907\u4e0d\u5b58\u5728\uff0c\u81ea\u52a8\u6dfb\u52a0\u8bbe\u5907\u65f6\u5931\u8d25\uff0c\u8bf7\u68c0\u67e5\u4ea7\u54c1\u7f16\u53f7\u662f\u5426\u6b63\u786e
device.add.success=\u6dfb\u52a0\u8bbe\u5907\u6210\u529f
device.assignment.fail.dept.not.exist=\u673a\u6784\u4e0d\u5b58\u5728\u6216\u672a\u7ed1\u5b9a\u7ba1\u7406\u5458\uff0c\u8bf7\u8c03\u6574\u540e\u91cd\u8bd5\uff01
device.assignment.fail.dept.admin.not.exist=\u673a\u6784\u7ba1\u7406\u5458\u4e0d\u5b58\u5728
device.assignment.success=\u5206\u914d\u8bbe\u5907\u6210\u529f
device.assignment.fail=\u5206\u914d\u8bbe\u5907\u5931\u8d25
device.recovery.fail.dept.not.exist=\u673a\u6784\u4e0d\u5b58\u5728\u6216\u672a\u7ed1\u5b9a\u7ba1\u7406\u5458\uff0c\u8bf7\u8c03\u6574\u540e\u91cd\u8bd5\uff01
device.recovery.fail.dept.admin.not.exist=\u673a\u6784\u7ba1\u7406\u5458\u4e0d\u5b58\u5728
device.recovery.success=\u56de\u6536\u8bbe\u5907\u6210\u529f
device.recovery.fail=\u56de\u6536\u8bbe\u5907\u5931\u8d25
device.not.exist=\u8bbe\u5907\u4e0d\u5b58\u5728
device.serialNumber.allow.generate.max.number=\u6700\u591a\u53ea\u80fd\u751f\u6210200\u4e2a\uff01
device.insert.fail.device.number.already.exist=\u8bbe\u5907\u7f16\u53f7\uff1a[{}] \u5df2\u7ecf\u5b58\u5728\uff0c\u65b0\u589e\u5931\u8d25
device.insert.fail.device.ip.already.exist=\u8be5\u4e3b\u673aip\u548c\u7aef\u53e3\u5df2\u7ecf\u5b58\u5728\uff0c\u8bbe\u5907\u7f16\u53f7\u4e3a\uff1a[{}]
device.get.mqtt.connection.param.fail=\u83b7\u53d6\u8bbe\u5907mqtt\u8fde\u63a5\u53c2\u6570\u5931\u8d25
device.get.authorization.fail.please.config=\u4ea7\u54c1\u5df2\u542f\u7528\u6388\u6743\uff0c\u83b7\u53d6\u8bbe\u5907\u6388\u6743\u7801\u5931\u8d25\uff0c\u8bf7\u5148\u914d\u7f6e\u6388\u6743\u7801
device.unsupported.authentication.method=\u4f20\u8f93\u534f\u8bae\u4e3aHTTP\uff0c\u8ba4\u8bc1\u65b9\u5f0f\u4ec5\u652f\u6301 Basic \u548c Digest\uff0c\u8bf7\u524d\u5f80\u4ea7\u54c1\u4fee\u6539\u534f\u8bae
device.not.found.by.serial.number=\u6570\u636e\u5e93\u4e2d\u4e0d\u5b58\u5728\u8be5\u8bbe\u5907
device.duplicate.by.serial.number=\u5df2\u5b58\u5728\u76f8\u540c\u8bbe\u5907\u7f16\u53f7\u7684\u6570\u636e
device.restore.success=\u8bbe\u5907\u8fd8\u539f\u6210\u529f
device.restore.fail=\u8bbe\u5907\u8fd8\u539f\u5931\u8d25
product.not.found.by.product.id=\u8bbe\u5907\u6240\u5c5e\u4ea7\u54c1\u5df2\u5220\u9664\uff0c\u8bf7\u5148\u5c06\u4ea7\u54c1\u6062\u590d
device.import.assignment.fail.product.information.is.empty=\u5bfc\u5165\u5931\u8d25\uff0c\u4ea7\u54c1\u4fe1\u606f\u4e3a\u7a7a
device.import.assignment.fail.serialNumber.already.exists=\u4ee5\u4e0b\u8bbe\u5907\u7f16\u53f7[{}]\u5df2\u5b58\u5728\uff0c\u8bf7\u4fee\u6539\u540e\u91cd\u8bd5
device.import.assignment.fail.dept.not.exists=\u673a\u6784\u4e0d\u5b58\u5728\uff0c\u8bf7\u91cd\u65b0\u9009\u62e9\u673a\u6784\uff01
device.import.assignment.fail.dept.admin.not.exists=\u673a\u6784\u7ba1\u7406\u5458\u4fe1\u606f\u4e0d\u5b58\u5728\uff0c\u8bf7\u91cd\u65b0\u9009\u62e9\u673a\u6784\uff01
device.import.serialNumber.not.comply.national.standard.protocol=\u8bbe\u5907\u7f16\u53f7[{}]\u4e0d\u7b26\u5408\u56fd\u6807\u534f\u8bae\u683c\u5f0f\u8981\u6c42
##DeviceJob
job.add.failed.cron.not.valid=\u65B0\u589E\u4EFB\u52A1[{}]\u5931\u8D25\uFF0CCron\u8868\u8FBE\u5F0F\u4E0D\u6B63\u786E
job.add.failed.rmi.not.valid=\u65B0\u589E\u4EFB\u52A1[{}]\u5931\u8D25\uFF0C\u76EE\u6807\u5B57\u7B26\u4E32\u4E0D\u5141\u8BB8'rmi'\u8C03\u7528
job.add.failed.ldap.not.valid=\u65B0\u589E\u4EFB\u52A1[{}]\u5931\u8D25\uFF0C\u76EE\u6807\u5B57\u7B26\u4E32\u4E0D\u5141\u8BB8'ldap(s)'\u8C03\u7528
job.add.failed.http.not.valid=\u65B0\u589E\u4EFB\u52A1[{}]\u5931\u8D25\uFF0C\u76EE\u6807\u5B57\u7B26\u4E32\u4E0D\u5141\u8BB8'http(s)'\u8C03\u7528
job.add.failed.string.error=\u65B0\u589E\u4EFB\u52A1[{}]\u5931\u8D25\uFF0C\u76EE\u6807\u5B57\u7B26\u4E32\u5B58\u5728\u8FDD\u89C4
job.add.failed.string.not.valid=\u65B0\u589E\u4EFB\u52A1[{}]\u5931\u8D25\uFF0C\u76EE\u6807\u5B57\u7B26\u4E32\u4E0D\u5728\u767D\u540D\u5355\u5185
job.add.failed.product.not.modbus.config=\u65b0\u589e\u4efb\u52a1[{}]\u5931\u8d25\uff0c\u8bf7\u5148\u53bb\u4ea7\u54c1\u8fdb\u884cmodbus\u914d\u7f6e
job.update.failed.cron.not.valid=\u4FEE\u6539\u4EFB\u52A1[{}]\u5931\u8D25\uFF0CCron\u8868\u8FBE\u5F0F\u4E0D\u6B63\u786E
job.update.failed.rmi.not.valid=\u4FEE\u6539\u4EFB\u52A1[{}]\u5931\u8D25\uFF0C\u76EE\u6807\u5B57\u7B26\u4E32\u4E0D\u5141\u8BB8'rmi'\u8C03\u7528
job.update.failed.ldap.not.valid=\u4FEE\u6539\u4EFB\u52A1[{}]\u5931\u8D25\uFF0C\u76EE\u6807\u5B57\u7B26\u4E32\u4E0D\u5141\u8BB8'ldap(s)'\u8C03\u7528
job.update.failed.http.not.valid=\u4FEE\u6539\u4EFB\u52A1[{}]\u5931\u8D25\uFF0C\u76EE\u6807\u5B57\u7B26\u4E32\u4E0D\u5141\u8BB8'http(s)'\u8C03\u7528
job.update.failed.string.error=\u4FEE\u6539\u4EFB\u52A1[{}]\u5931\u8D25\uFF0C\u76EE\u6807\u5B57\u7B26\u4E32\u5B58\u5728\u8FDD\u89C4
job.update.failed.string.not.valid=\u4FEE\u6539\u4EFB\u52A1[{}]\u5931\u8D25\uFF0C\u76EE\u6807\u5B57\u7B26\u4E32\u4E0D\u5728\u767D\u540D\u5355\u5185
job.update.failed.product.not.modbus.config=\u66f4\u65b0\u4efb\u52a1[{}]\u5931\u8d25\uff0c\u8bf7\u5148\u53bb\u4ea7\u54c1\u8fdb\u884cmodbus\u914d\u7f6e
job.not.exists=\u4EFB\u52A1\u4E0D\u5B58\u5728\u6216\u5DF2\u8FC7\u671F
##DeviceUser
device.user.delete.failed.user.not.valid=\u8BBE\u5907\u6240\u6709\u8005\u4E0D\u80FD\u5220\u9664
##GoviewProject
goview.project.data.save.failed.id.null=\u6CA1\u6709\u8BE5\u9879\u76EEID
goview.project.data.execute.sql.failed=\u8BF7\u7F16\u5199sql\u8BED\u53E5
##ThingsModel
things.model.identifier.repeat=\u4EA7\u54C1\u4E0B\u7684\u6807\u8BC6\u7B26\u4E0D\u80FD\u91CD\u590D
things.model.import.failed.identifier.repeat=[{}]\u6761\u6570\u636E\u672A\u5BFC\u5165\uFF0C\u6807\u8BC6\u7B26\u91CD\u590D
things.model.update.fail.quote.the.scene.variable.formula.please.delete=\u5f53\u524d\u7269\u6a21\u578b\u88ab\u5f15\u7528\u5230\u573a\u666f\u8fd0\u7b97\u578b\u53d8\u91cf\u7684\u8ba1\u7b97\u516c\u5f0f\u4e2d\uff0c\u65e0\u6cd5\u4fee\u6539\uff0c\u8bf7\u5148\u5220\u9664\u5f15\u7528\u5173\u7cfb\u540e\u518d\u6267\u884c\u4fee\u6539\u64cd\u4f5c\uff01
things.model.delete.fail.quote.the.scene.variable.formula.please.delete=\u5f53\u524d\u7269\u6a21\u578b\u88ab\u5f15\u7528\u5230\u573a\u666f\u8fd0\u7b97\u578b\u53d8\u91cf\u7684\u8ba1\u7b97\u516c\u5f0f\u4e2d\uff0c\u65e0\u6cd5\u5220\u9664\uff0c\u8bf7\u5148\u5220\u9664\u5f15\u7528\u5173\u7cfb\u540e\u518d\u6267\u884c\u5220\u9664\u64cd\u4f5c\uff01
things.model.import.data.exception=\u5bfc\u5165\u6570\u636e\u5f02\u5e38
things.model.register.address.repeat=\u540c\u4e00\u4e2a\u91c7\u96c6\u70b9\u6a21\u677f\u4e0b,\u5bc4\u5b58\u5668\u5730\u5740\u91cd\u590d,\u8bf7\u68c0\u67e5\u5bfc\u5165\u53d8\u91cf\u5bc4\u5b58\u5668\u5730\u5740
##MQTT
mqtt.unauthorized=mqtt\u8D26\u53F7\u548C\u5BC6\u7801\u4E0E\u8BA4\u8BC1\u670D\u52A1\u5668\u914D\u7F6E\u4E0D\u5339\u914D
##Oauth
oauth.response.type.not.valid=response_type\u53C2\u6570\u503C\u53EA\u5141\u8BB8code\u548Ctoken
oauth.grant.type.null=\u672A\u77E5\u6388\u6743\u7C7B\u578B
oauth.grant.type.implicit.not.support=Token\u63A5\u53E3\u4E0D\u652F\u6301implicit\u6388\u6743\u6A21\u5F0F
oauth.access.token.null=\u8BBF\u95EE\u4EE4\u724C\u4E0D\u80FD\u4E3A\u7A7A
obtain.basic.authorization.failed=client_id\u6216client_secret\u672A\u6B63\u786E\u4F20\u9012
##Record
record.app.null=app\u4E0D\u80FD\u4E3A\u7A7A
record.stream.null=stream\u4E0D\u80FD\u4E3A\u7A7A
record.time.not.valid=\u9519\u8BEF\u7684\u5F00\u59CB\u65F6\u95F4\u6216\u7ED3\u675F\u65F6\u95F4
record.file.null=\u672A\u627E\u5230\u89C6\u9891\u6587\u4EF6
##ErrorCodeConstants
app.not.found=App \u4E0D\u5B58\u5728
app.is.disable=App \u5DF2\u7ECF\u88AB\u7981\u7528
app.exist.order.cant.delete=\u652F\u4ED8\u5E94\u7528\u5B58\u5728\u652F\u4ED8\u8BA2\u5355\uFF0C\u65E0\u6CD5\u5220\u9664
app.exist.refund.cant.delete=\u652F\u4ED8\u5E94\u7528\u5B58\u5728\u9000\u6B3E\u8BA2\u5355\uFF0C\u65E0\u6CD5\u5220\u9664
channel.not.found=\u652F\u4ED8\u6E20\u9053\u7684\u914D\u7F6E\u4E0D\u5B58\u5728
channel.is.disable=\u652F\u4ED8\u6E20\u9053\u5DF2\u7ECF\u7981\u7528
channel.exists.same.channel.error=\u5DF2\u5B58\u5728\u76F8\u540C\u7684\u6E20\u9053
order.not.found=\u652F\u4ED8\u8BA2\u5355\u4E0D\u5B58\u5728
order.status.is.not.waiting=\u652F\u4ED8\u8BA2\u5355\u4E0D\u5904\u4E8E\u5F85\u652F\u4ED8
order.status.is.success=\u8BA2\u5355\u5DF2\u652F\u4ED8\uFF0C\u8BF7\u5237\u65B0\u9875\u9762
order.is.expired=\u652F\u4ED8\u8BA2\u5355\u5DF2\u7ECF\u8FC7\u671F
order.submit.channel.error=\u53D1\u8D77\u652F\u4ED8\u62A5\u9519\uFF0C\u9519\u8BEF\u7801\uFF1A{}\uFF0C\u9519\u8BEF\u63D0\u793A\uFF1A{}
order.refund.fail.status.error=\u652F\u4ED8\u8BA2\u5355\u9000\u6B3E\u5931\u8D25\uFF0C\u539F\u56E0\uFF1A\u72B6\u6001\u4E0D\u662F\u5DF2\u652F\u4ED8\u6216\u5DF2\u9000\u6B3E
order.extension.not.found=\u652F\u4ED8\u4EA4\u6613\u62D3\u5C55\u5355\u4E0D\u5B58\u5728
order.extension.status.is.not.waiting=\u652F\u4ED8\u4EA4\u6613\u62D3\u5C55\u5355\u4E0D\u5904\u4E8E\u5F85\u652F\u4ED8
order.extension.is.paid=\u8BA2\u5355\u5DF2\u652F\u4ED8\uFF0C\u8BF7\u7B49\u5F85\u652F\u4ED8\u7ED3\u679C
refund.price.exceed=\u9000\u6B3E\u91D1\u989D\u8D85\u8FC7\u8BA2\u5355\u53EF\u9000\u6B3E\u91D1\u989D
refund.has.refunding=\u5DF2\u7ECF\u6709\u9000\u6B3E\u5728\u5904\u7406\u4E2D
refund.exists=\u5DF2\u7ECF\u5B58\u5728\u9000\u6B3E\u5355
refund.not.found=\u652F\u4ED8\u9000\u6B3E\u5355\u4E0D\u5B58\u5728
refund.statue.is.not.waiting=\u652F\u4ED8\u9000\u6B3E\u5355\u4E0D\u5904\u4E8E\u5F85\u9000\u6B3E
demo.order.not.found=\u793A\u4F8B\u8BA2\u5355\u4E0D\u5B58\u5728
demo.order.update.paid.status.not.unpaid=\u793A\u4F8B\u8BA2\u5355\u66F4\u65B0\u652F\u4ED8\u72B6\u6001\u5931\u8D25\uFF0C\u8BA2\u5355\u4E0D\u662F\u3010\u672A\u652F\u4ED8\u3011\u72B6\u6001
demo.order.update.paid.fail.pay.order.id.error=\u793A\u4F8B\u8BA2\u5355\u66F4\u65B0\u652F\u4ED8\u72B6\u6001\u5931\u8D25\uFF0C\u652F\u4ED8\u5355\u7F16\u53F7\u4E0D\u5339\u914D
demo.order.update.paid.fail.pay.order.status.not.success=\u793A\u4F8B\u8BA2\u5355\u66F4\u65B0\u652F\u4ED8\u72B6\u6001\u5931\u8D25\uFF0C\u652F\u4ED8\u5355\u72B6\u6001\u4E0D\u662F\u3010\u652F\u4ED8\u6210\u529F\u3011\u72B6\u6001
demo.order.update.paid.fail.pay.price.not.match=\u793A\u4F8B\u8BA2\u5355\u66F4\u65B0\u652F\u4ED8\u72B6\u6001\u5931\u8D25\uFF0C\u652F\u4ED8\u5355\u91D1\u989D\u4E0D\u5339\u914D
demo.order.refund.fail.not.paid=\u53D1\u8D77\u9000\u6B3E\u5931\u8D25\uFF0C\u793A\u4F8B\u8BA2\u5355\u672A\u652F\u4ED8
demo.order.refund.fail.refunded=\u53D1\u8D77\u9000\u6B3E\u5931\u8D25\uFF0C\u793A\u4F8B\u8BA2\u5355\u5DF2\u9000\u6B3E
demo.order.refund.fail.refund.not.found=\u53D1\u8D77\u9000\u6B3E\u5931\u8D25\uFF0C\u9000\u6B3E\u8BA2\u5355\u4E0D\u5B58\u5728
demo.order.refund.fail.refund.not.success=\u53D1\u8D77\u9000\u6B3E\u5931\u8D25\uFF0C\u9000\u6B3E\u8BA2\u5355\u672A\u9000\u6B3E\u6210\u529F
demo.order.refund.fail.refund.order.id.error=\u53D1\u8D77\u9000\u6B3E\u5931\u8D25\uFF0C\u9000\u6B3E\u5355\u7F16\u53F7\u4E0D\u5339\u914D
demo.order.refund.fail.refund.price.not.match=\u53D1\u8D77\u9000\u6B3E\u5931\u8D25\uFF0C\u9000\u6B3E\u5355\u91D1\u989D\u4E0D\u5339\u914D
device.order.control.no.permission=\u6682\u65e0\u6743\u9650\u64cd\u4f5c\uff0c\u8bf7\u8054\u7cfb\u7ba1\u7406\u5458\u5206\u914d\u6307\u4ee4\u6743\u9650\uff01
##sysConfig
sysConfig.add.param.fail.name.exist=\u65b0\u589e\u53c2\u6570[{}]\u5931\u8d25\uff0c\u53c2\u6570\u952e\u540d\u5df2\u5b58\u5728
sysConfig.update.param.fail.name.exist=\u4fee\u6539\u53c2\u6570[{}]\u5931\u8d25\uff0c\u53c2\u6570\u952e\u540d\u5df2\u5b58\u5728
##sysRegister
sysRegister.fail.not.enable.register=\u5f53\u524d\u7cfb\u7edf\u6ca1\u6709\u5f00\u542f\u6ce8\u518c\u529f\u80fd\uff01
##ossDetail
ossDetail.fail.file.not.empty=\u4e0a\u4f20\u6587\u4ef6\u4e0d\u80fd\u4e3a\u7a7a
##notify
sms.send.fail.contact.admin=\u77ed\u4fe1\u53d1\u9001\u5931\u8d25\uff0c\u8bf7\u8054\u7cfb\u7ba1\u7406\u5458\uff01
captcha.has.sent.please.try.again.later=\u9a8c\u8bc1\u7801\u5df2\u53d1\u9001\uff0c\u8bf7\u7a0d\u540e\u91cd\u8bd5\uff01
not.find.enable.notify.template=\u67e5\u8be2\u4e0d\u5230\u542f\u7528\u7684\u901a\u77e5\u6a21\u677f
not.find.notify.channel=\u67e5\u8be2\u4e0d\u5230\u901a\u77e5\u6e20\u9053
only.can.config.alert.and.not.wechat.mini.notify=\u975e\u7ba1\u7406\u5458\u53ea\u5141\u8bb8\u6dfb\u52a0\u8bbe\u5907\u544a\u8b66\u4e1a\u52a1\u5e76\u4e14\u975e\u5fae\u4fe1\u5c0f\u7a0b\u5e8f\u7684\u6a21\u677f\uff01
notify.can.not.not.alert.and.wechat.mini.status=\u975e\u7ba1\u7406\u5458\u53ea\u80fd\u66f4\u6539\u8bbe\u5907\u544a\u8b66\u4e1a\u52a1\u5e76\u4e14\u975e\u5fae\u4fe1\u5c0f\u7a0b\u5e8f\u7684\u6a21\u677f\u72b6\u6001\uff01
##dataCenter
please.select.device=\u8bf7\u9009\u62e9\u8bbe\u5907
please.incoming.serialNumber=\u8bf7\u4f20\u5165\u8bbe\u5907\u7f16\u53f7
##license
certificate.install.success=\u8bc1\u4e66\u5b89\u88c5\u6210\u529f
certificate.install.fail=\u8bc1\u4e66\u5b89\u88c5\u5931\u8d25:[{}]
certificate.incoming.success=\u8bc1\u4e66\u4e0a\u4f20\u6210\u529f
certificate.incoming.fail=\u8bc1\u4e66\u4e0a\u4f20\u5931\u8d25
certificate.upload.success=\u8bc1\u4e66\u4e0a\u4f20\u6210\u529f
certificate.upload.fail=\u8bc1\u4e66\u4e0a\u4f20\u5931\u8d25:[{}]
##sceneModel
please.incoming.scene.id=\u8bf7\u4f20\u5165\u573a\u666fid
please.incoming.device.config.number=\u8bf7\u4f20\u5165\u5173\u8054\u8bbe\u5907\u914d\u7f6e\u7684\u5e8f\u53f7
sceneModel.please.introduced.id=\u8bf7\u4f20\u5165\u573a\u666f\u7ba1\u7406id
sceneModel.current.variable.quote.operate.variable.formula.please.delete=\u5f53\u524d\u53d8\u91cf\u88ab\u5f15\u7528\u5230\u573a\u666f\u8fd0\u7b97\u578b\u53d8\u91cf\u7684\u8ba1\u7b97\u516c\u5f0f\u4e2d\uff0c\u65e0\u6cd5\u5220\u9664\uff0c\u8bf7\u5148\u5220\u9664\u5f15\u7528\u5173\u7cfb\u540e\u518d\u6267\u884c\u5220\u9664\u64cd\u4f5c\uff01
sceneModel.scene.already.bind.device=\u573a\u666f\u5df2\u7ed1\u5b9a\u8be5\u8bbe\u5907\uff0c\u8bf7\u91cd\u65b0\u9009\u62e9\uff01
sceneModel.update.fail.device.variable.has.quote.scene.variable.please.delete=\u5f53\u524d\u8bbe\u5907\u4e0b\u5b58\u5728\u53d8\u91cf\u88ab\u5f15\u7528\u5230\u8fd0\u7b97\u578b\u53d8\u91cf\u8ba1\u7b97\u516c\u5f0f\u4e2d\uff0c\u65e0\u6cd5\u4fee\u6539\uff0c\u8bf7\u5220\u9664\u5f15\u7528\u5173\u7cfb\u540e\u518d\u6267\u884c\u4fee\u6539\u64cd\u4f5c\uff01
sceneModel.delete.fail.device.variable.has.quote.scene.variable.please.delete=\u5f53\u524d\u8bbe\u5907\u4e0b\u5b58\u5728\u53d8\u91cf\u88ab\u5f15\u7528\u5230\u8fd0\u7b97\u578b\u53d8\u91cf\u8ba1\u7b97\u516c\u5f0f\u4e2d\uff0c\u65e0\u6cd5\u5220\u9664\uff0c\u8bf7\u5220\u9664\u5f15\u7528\u5173\u7cfb\u540e\u518d\u6267\u884c\u5220\u9664\u64cd\u4f5c\uff01
sceneModel.formula.cannot.empty=\u8ba1\u7b97\u516c\u5f0f\u4e0d\u80fd\u4e3a\u7a7a\uff01
sceneModel.variable.cannot.empty=\u53d8\u91cf\u4e0d\u80fd\u4e3a\u7a7a\uff01
sceneModel.formula.and.variable.number.inconsistent=\u8ba1\u7b97\u516c\u5f0f\u548c\u53d8\u91cf\u4e2a\u6570\u4e0d\u4e00\u81f4\uff0c\u8bf7\u68c0\u67e5\u540e\u91cd\u8bd5
sceneModel.update.fail.variable.name.exist=\u53d8\u91cf\u540d\u79f0\u5df2\u5b58\u5728\uff0c\u8bf7\u4fee\u6539\u540e\u91cd\u8bd5\uff01
sceneModel.device.not.belong.current.tenant=\u8bf7\u5148\u628a\u8bbe\u5907\u914d\u7f6e\u7684\u6240\u6709\u8bbe\u5907\u5206\u914d\u7ed9\u5f53\u524d\u573a\u666f\u914d\u7f6e\u7684\u6240\u5c5e\u673a\u6784\uff0c\u624d\u53ef\u8fdb\u884c\u64cd\u4f5c\uff01
##oauthClientDetail
add.fail.same.client.can.config.one=\u540c\u4e00\u4e2a\u6388\u6743\u5e73\u53f0\u53ea\u80fd\u914d\u7f6e\u4e00\u6761\u4fe1\u606f\uff0c\u8bf7\u52ff\u91cd\u590d\u914d\u7f6e
client.id.is.exist=\u5ba2\u6237\u7aefid\uff1a[{}]\u5df2\u5b58\u5728\u6216\u5df2\u88ab\u5176\u4ed6\u79df\u6237\u4f7f\u7528
oauthClientDetail.client.not.exist=oauth2 \u5ba2\u6237\u7aef\u4e0d\u5b58\u5728
oauthClientDetail.client.disabled=oauth2 \u5ba2\u6237\u7aef\u5df2\u7981\u7528
oauthClientDetail.invalid.client.set=\u65e0\u6548 client_secret
oauthClientDetail.invalid.redirects=\u65e0\u6548 redirect_uri\uff1a[{}]
##category
delete.fail.please.delete.category.product=\u5220\u9664\u5931\u8d25\uff0c\u8bf7\u5148\u5220\u9664\u5bf9\u5e94\u5206\u7c7b\u4e0b\u7684\u4ea7\u54c1
##goviewProjectData
only.allow.select.operate=\u53ea\u5141\u8bb8select\u64cd\u4f5c\uff0c\u7981\u6b62update\u3001delete\u3001insert\u64cd\u4f5c
##newsCategory
newsCategory.delete.fail.please.delete.category.info=\u5220\u9664\u5931\u8d25\uff0c\u8bf7\u5148\u5220\u9664\u5bf9\u5e94\u5206\u7c7b\u4e0b\u7684\u65b0\u95fb\u8d44\u8baf
##product
delete.fail.please.delete.firmware=\u5220\u9664\u5931\u8d25\uff0c\u8bf7\u5148\u5220\u9664\u5bf9\u5e94\u4ea7\u54c1\u4e0b\u7684\u56fa\u4ef6
delete.fail.please.delete.product.device=\u5220\u9664\u5931\u8d25\uff0c\u8bf7\u5148\u5220\u9664\u5bf9\u5e94\u4ea7\u54c1\u4e0b\u7684\u8bbe\u5907
delete.fail.please.delete.product.scene=\u5220\u9664\u5931\u8d25\uff0c\u8bf7\u5148\u4fee\u6539\u6216\u5220\u9664\u5bf9\u5e94\u4ea7\u54c1\u4e0b\u7684\u573a\u666f\u8054\u52a8\uff1a[{}]
product.status.update.fail.value.fail=\u72b6\u6001\u66f4\u65b0\u5931\u8d25,\u72b6\u6001\u503c\u6709\u8bef
product.status.update.fail=\u72b6\u6001\u66f4\u65b0\u5931\u8d25
restore.product.fail=\u5f53\u524d\u4ea7\u54c1\u672a\u67e5\u8be2\u5230
product.name.is.not.empty=\u8bf7\u8f93\u5165\u4ea7\u54c1\u540d\u79f0
product.import.categoryId.is.fail=\u8bf7\u8f93\u5165\u6b63\u786e\u7684\u4ea7\u54c1\u5206\u7c7b\u7f16\u53f7categoryid
##socialLogin
bind.account.not.exist=\u7ed1\u5b9a\u8d26\u6237\u4e0d\u5b58\u5728
socialLogin.verify.has.expired=\u9a8c\u8bc1\u7801\u5df2\u5931\u6548\uff0c\u8bf7\u91cd\u65b0\u83b7\u53d6
socialLogin.platform.type.fail=\u9519\u8bef\u5e73\u53f0\u7c7b\u578b
user.account.and.bind.account.not.match=\u7528\u6237\u8d26\u6237\u548c\u7ed1\u5b9a\u8d26\u6237\u4e0d\u5339\u914d
socialLogin.user.not.exist=\u7528\u6237\u4e0d\u5b58\u5728
socialLogin.bind.end.user.cannot.login.web=\u8bf7\u52ff\u7ed1\u5b9a\u7ec8\u7aef\u7528\u6237\uff0c\u7ed1\u5b9a\u7ec8\u7aef\u7528\u6237\u540e\u4e0d\u53ef\u767b\u5f55web\u7aef
socialLogin.account.already.bind.other.wechat.please.unbind=\u8be5\u8d26\u53f7\u5df2\u7ecf\u7ed1\u5b9a\u5176\u4ed6\u5fae\u4fe1\uff0c\u8bf7\u5148\u89e3\u7ed1\u540e\u91cd\u8bd5\uff01
socialLogin.register.fail.please.check.role.exist=\u6ce8\u518c\u5931\u8d25,\u8bf7\u8054\u7cfb\u7ba1\u7406\u4eba\u5458\u68c0\u67e5\u673a\u6784\u89d2\u8272\u662f\u5426\u5b58\u5728
socialLogin.web.not.allow.end.user.login=web\u7aef\u4e0d\u5141\u8bb8\u7ec8\u7aef\u7528\u6237\u767b\u5f55
socialLogin.register.fail.please.check.invitationCode.exist=\u9080\u8bf7\u7801\u9519\u8bef\uff0c\u8bf7\u8054\u7cfb\u673a\u6784\u7ba1\u7406\u5458\u6838\u5bf9
The.organization.to.which.your.account.belongs.has.been.suspended.Please.contact.the.administrator=\u4f60\u7684\u8d26\u53f7\u6240\u5c5e\u673a\u6784\u5df2\u88ab\u505c\u7528\uff0c\u8bf7\u8054\u7cfb\u7ba1\u7406\u5458\uff01
default.institution.has.been.deactivated.contact.administrator=\u9ed8\u8ba4\u673a\u6784\u5df2\u88ab\u505c\u7528\uff0c\u8bf7\u8054\u7cfb\u7ba1\u7406\u5458\uff01
##alert
alert.push.fail.device.not.exist=\u544a\u8b66\u63a8\u9001\uff0c\u8bbe\u5907\u4e0d\u5b58\u5728\uff1a[{}]
##modbus
not.modbus.protocol.please.config.collect.protocol=\u975emodbus\u534f\u8bae\u8bf7\u5148\u914d\u7f6e\u4e3b\u52a8\u91c7\u96c6\u534f\u8bae
modbus.point.not.config=\u672a\u914d\u7f6emodbus\u70b9\u4f4d
##ota
firmwareTask.add.fail.FirmwareTask.exist=\u4efb\u52a1\uff1a[{}]\u5df2\u5b58\u5728
firmware.version.not.exist=\u56fa\u4ef6\u7248\u672c\u4e0d\u5b58\u5728%21
##mqttMessage
mqtt.service.send.device.not.exist=\u670d\u52a1\u4e0b\u53d1\u7684\u8bbe\u5907\uff1a[{}]\u4e0d\u5b58\u5728
mqtt.disconnect.occur.fail=\u65ad\u5f00mqtt\u8fde\u63a5\u53d1\u751f\u9519\u8bef\uff1a[{}]
##genTable
genTable.template.rendering.fail=\u5bfc\u5165\u5931\u8d25\uff1a[{}]
genTable.data.sync.fail.original.table.not.exist=\u540c\u6b65\u6570\u636e\u5931\u8d25\uff0c\u539f\u8868\u7ed3\u6784\u4e0d\u5b58\u5728
genTable.tree.code.field.cannot.empty=\u6811\u7f16\u7801\u5b57\u6bb5\u4e0d\u80fd\u4e3a\u7a7a
genTable.tree.parent.code.field.cannot.empty=\u6811\u7236\u7f16\u7801\u5b57\u6bb5\u4e0d\u80fd\u4e3a\u7a7a
genTable.tree.name.field.cannot.empty=\u6811\u540d\u79f0\u5b57\u6bb5\u4e0d\u80fd\u4e3a\u7a7a
genTable.relate.child.table.name.cannot.empty=\u5173\u8054\u5b50\u8868\u7684\u8868\u540d\u4e0d\u80fd\u4e3a\u7a7a
genTable.child.table.relate.foreign.key.name.cannot.empty=\u5b50\u8868\u5173\u8054\u7684\u5916\u952e\u540d\u4e0d\u80fd\u4e3a\u7a7a
##oauthCode
oauthCode.code.not.exist=code \u4e0d\u5b58\u5728
##protocol
protocol.input.content.is.empty=\u8f93\u5165\u5185\u5bb9\u4e3a\u7a7a
protocol.data.parse.error=\u6570\u636e\u89e3\u6790\u51fa\u9519[{}]
protocol.data.parse.exception=\u6570\u636e\u89e3\u6790\u5f02\u5e38[{}]
protocol.instruction.number.exception=\u6307\u4ee4\u7f16\u53f7\u5f02\u5e38\uff1a[{}]
##modbusJob
modbusJob.add.fail.please.bind.gateway=\u8bf7\u5148\u7ed1\u5b9a\u7f51\u5173
thingsModel.array.or.object.no.need.update=\u6682\u65e0\u9700\u8981\u66f4\u65b0\u7684\u6570\u7ec4\u3001\u5bf9\u8c61\u7c7b\u7269\u6a21\u578b
sync.fail.please.try.again=\u540c\u6b65\u5931\u8d25\uff0c\u8bf7\u91cd\u8bd5\uff01
sync.success=\u540c\u6b65\u6210\u529f
## scada
scada.product.id.is.null=\u4ea7\u54c1id\u4e3a\u7a7a
scada.scene.id.is.null=\u573a\u666fid\u4e3a\u7a7a
scada.guid.cannot.empty=guid\u4e0d\u80fd\u4e3a\u7a7a
scada.base64.change.image.exception=\u7ec4\u6001base64\u8f6c\u56fe\u7247\u5f02\u5e38:[{}]
scada.please.select.device=\u8bf7\u9009\u62e9\u8bbe\u5907
scada.please.enter.password=\u8bf7\u8f93\u5165\u5bc6\u7801\uff01
scada.please.login=\u672a\u767b\u5f55\uff0c\u8bf7\u767b\u5f55\u540e\u91cd\u8bd5
scada.password.fail.please.reload.enter=\u5bc6\u7801\u9519\u8bef\uff0c\u8bf7\u91cd\u65b0\u8f93\u5165\uff01
scada.product.has.relate.please.select.again=\u8be5\u4ea7\u54c1\u5df2\u7ecf\u5173\u8054\u7ec4\u6001\uff0c\u8bf7\u91cd\u65b0\u9009\u62e9\uff01
scada.scene.has.relate.please.select.again=\u8be5\u573a\u666f\u5df2\u7ecf\u5173\u8054\u7ec4\u6001\uff0c\u8bf7\u91cd\u65b0\u9009\u62e9\uff01
scada.not.allow.view.other.tenant.config=\u4e0d\u5141\u8bb8\u67e5\u770b\u5176\u4ed6\u79df\u6237\u7684\u7ec4\u6001\uff01
scada.upload.gallery.file.fail=\u4e0a\u4f20\u56fe\u5e93\u6587\u4ef6\u5f02\u5e38\uff0c[{}]
scada.upload.fail=\u4e0a\u4f20\u5931\u8d25\uff0c\u8bf7\u91cd\u8bd5\uff01
scada.invalid.profile=\u65e0\u6548\u7684\u914d\u7f6e\u6587\u4ef6
scada.import.success.need.replace.variable=\u5bfc\u5165\u6210\u529f\uff0c\u5f53\u524d\u9875\u9762\u9700\u8981\u91cd\u65b0\u66ff\u6362\u7ed1\u5b9a\u7ec4\u4ef6\u7684\u53d8\u91cf\uff01
## speaker
speaker.product.has.relate=\u8be5\u4ea7\u54c1\u5df2\u5173\u8054\uff0c\u8bf7\u52ff\u91cd\u590d\u5173\u8054
speaker.product.relate.add.fail=\u65b0\u589e\u5931\u8d25
speaker.not.found.product.relate=\u672a\u67e5\u8be2\u5230\u4ea7\u54c1\u5173\u8054\u4fe1\u606f
##file
file.content.is.empty=\u6587\u4ef6\u5185\u5bb9\u4e3a\u7a7a
file.is.invalid=\u65e0\u6548\u7684\u6587\u4ef6
## workOrder
workOrder.please.select.user=\u8bf7\u6307\u5b9a\u8054\u7cfb\u4eba
workOrder.please.fill.result.info=\u8bf7\u586b\u5199\u7ed3\u5355\u4fe1\u606f
## subGateway
subGateway.subDeviceAddress.is.repeat=\u5b58\u5728\u76f8\u540c\u7684\u5b50\u8bbe\u5907\u5730\u5740\uff0c\u8bf7\u4fee\u6539\u540e\u91cd\u8bd5\uff01

View File

@@ -183,6 +183,19 @@
<artifactId>easyexcel-core</artifactId>
</dependency>
<dependency>
<groupId>org.mapstruct</groupId>
<artifactId>mapstruct</artifactId>
</dependency>
<dependency>
<groupId>org.mapstruct</groupId>
<artifactId>mapstruct-jdk8</artifactId>
</dependency>
<dependency>
<groupId>org.mapstruct</groupId>
<artifactId>mapstruct-processor</artifactId>
</dependency>
</dependencies>
</project>

View File

@@ -171,4 +171,20 @@ public class Constants
*/
public static final String[] JOB_ERROR_STR = { "java.net.URL", "javax.naming.InitialContext", "org.yaml.snakeyaml",
"org.springframework", "org.apache", "com.ruoyi.common.utils.file", "com.ruoyi.common.config", "com.ruoyi.generator" };
/**
* 语言类型
*/
public static final String LANGUAGE = "language";
public static final String ZH_CN = "zh-CN";
public static final String EN_US = "en-US";
/**
* 翻译数据类型
*/
public static final String MENU = "menu";
public static final String DICT_DATA = "dict_data";
public static final String DICT_TYPE = "dict_type";
public static final String THINGS_MODEL = "things_model";
public static final String THINGS_MODEL_TEMPLATE = "things_model_template";
}

View File

@@ -8,10 +8,7 @@ import com.fastbee.common.core.page.PageDomain;
import com.fastbee.common.core.page.TableDataInfo;
import com.fastbee.common.core.page.TableSupport;
import com.fastbee.common.core.redis.RedisCache;
import com.fastbee.common.utils.DateUtils;
import com.fastbee.common.utils.PageUtils;
import com.fastbee.common.utils.SecurityUtils;
import com.fastbee.common.utils.StringUtils;
import com.fastbee.common.utils.*;
import com.fastbee.common.utils.sql.SqlUtil;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
@@ -91,12 +88,22 @@ public class BaseController
{
TableDataInfo rspData = new TableDataInfo();
rspData.setCode(HttpStatus.SUCCESS);
rspData.setMsg("查询成功");
rspData.setMsg(MessageUtils.message("query.success"));
rspData.setRows(list);
rspData.setTotal(new PageInfo(list).getTotal());
return rspData;
}
protected TableDataInfo getDataTable(List<?> list, Long total)
{
TableDataInfo rspData = new TableDataInfo();
rspData.setCode(HttpStatus.SUCCESS);
rspData.setMsg(MessageUtils.message("query.success"));
rspData.setRows(list);
rspData.setTotal(total);
return rspData;
}
/**
* 返回成功
*/

View File

@@ -3,8 +3,11 @@ package com.fastbee.common.core.domain.entity;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.Size;
import com.baomidou.mybatisplus.annotation.TableField;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.fastbee.common.annotation.Excel;
@@ -17,6 +20,8 @@ import com.fastbee.common.core.domain.BaseEntity;
*
* @author ruoyi
*/
@EqualsAndHashCode(callSuper = true)
@Data
@ApiModel(value = "SysDictData", description = "字典数据表 sys_dict_data")
public class SysDictData extends BaseEntity
{
@@ -65,125 +70,18 @@ public class SysDictData extends BaseEntity
@Excel(name = "状态", readConverterExp = "0=正常,1=停用")
private String status;
public Long getDictCode()
{
return dictCode;
}
/** 字典标签 */
@TableField(exist = false)
@ApiModelProperty("中文字典标签")
private String dictLabel_zh_CN;
public void setDictCode(Long dictCode)
{
this.dictCode = dictCode;
}
/** 字典标签 */
@TableField(exist = false)
@ApiModelProperty("英文字典标签")
private String dictLabel_en_US;
public Long getDictSort()
{
return dictSort;
}
@TableField(exist = false)
@Deprecated
private String language;
public void setDictSort(Long dictSort)
{
this.dictSort = dictSort;
}
@NotBlank(message = "字典标签不能为空")
@Size(min = 0, max = 100, message = "字典标签长度不能超过100个字符")
public String getDictLabel()
{
return dictLabel;
}
public void setDictLabel(String dictLabel)
{
this.dictLabel = dictLabel;
}
@NotBlank(message = "字典键值不能为空")
@Size(min = 0, max = 100, message = "字典键值长度不能超过100个字符")
public String getDictValue()
{
return dictValue;
}
public void setDictValue(String dictValue)
{
this.dictValue = dictValue;
}
@NotBlank(message = "字典类型不能为空")
@Size(min = 0, max = 100, message = "字典类型长度不能超过100个字符")
public String getDictType()
{
return dictType;
}
public void setDictType(String dictType)
{
this.dictType = dictType;
}
@Size(min = 0, max = 100, message = "样式属性长度不能超过100个字符")
public String getCssClass()
{
return cssClass;
}
public void setCssClass(String cssClass)
{
this.cssClass = cssClass;
}
public String getListClass()
{
return listClass;
}
public void setListClass(String listClass)
{
this.listClass = listClass;
}
public boolean getDefault()
{
return UserConstants.YES.equals(this.isDefault);
}
public String getIsDefault()
{
return isDefault;
}
public void setIsDefault(String isDefault)
{
this.isDefault = isDefault;
}
public String getStatus()
{
return status;
}
public void setStatus(String status)
{
this.status = status;
}
@Override
public String toString() {
return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
.append("dictCode", getDictCode())
.append("dictSort", getDictSort())
.append("dictLabel", getDictLabel())
.append("dictValue", getDictValue())
.append("dictType", getDictType())
.append("cssClass", getCssClass())
.append("listClass", getListClass())
.append("isDefault", getIsDefault())
.append("status", getStatus())
.append("createBy", getCreateBy())
.append("createTime", getCreateTime())
.append("updateBy", getUpdateBy())
.append("updateTime", getUpdateTime())
.append("remark", getRemark())
.toString();
}
}

View File

@@ -4,8 +4,11 @@ import javax.validation.constraints.NotBlank;
import javax.validation.constraints.Pattern;
import javax.validation.constraints.Size;
import com.baomidou.mybatisplus.annotation.TableField;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.fastbee.common.annotation.Excel;
@@ -17,6 +20,8 @@ import com.fastbee.common.core.domain.BaseEntity;
*
* @author ruoyi
*/
@EqualsAndHashCode(callSuper = true)
@Data
@ApiModel(value = "SysDictType", description = "字典类型表 sys_dict_type")
public class SysDictType extends BaseEntity
{
@@ -42,63 +47,18 @@ public class SysDictType extends BaseEntity
@Excel(name = "状态", readConverterExp = "0=正常,1=停用")
private String status;
public Long getDictId()
{
return dictId;
}
/** 字典类型标签 */
@ApiModelProperty("中文字典标签")
@TableField(exist = false)
private String dictName_zh_CN;
public void setDictId(Long dictId)
{
this.dictId = dictId;
}
/** 字典类型标签 */
@ApiModelProperty("英文字典标签")
@TableField(exist = false)
private String dictName_en_US;
@NotBlank(message = "字典名称不能为空")
@Size(min = 0, max = 100, message = "字典类型名称长度不能超过100个字符")
public String getDictName()
{
return dictName;
}
@TableField(exist = false)
@Deprecated
private String language;
public void setDictName(String dictName)
{
this.dictName = dictName;
}
@NotBlank(message = "字典类型不能为空")
@Size(min = 0, max = 100, message = "字典类型类型长度不能超过100个字符")
@Pattern(regexp = "^[a-z][a-z0-9_]*$", message = "字典类型必须以字母开头,且只能为(小写字母,数字,下滑线)")
public String getDictType()
{
return dictType;
}
public void setDictType(String dictType)
{
this.dictType = dictType;
}
public String getStatus()
{
return status;
}
public void setStatus(String status)
{
this.status = status;
}
@Override
public String toString() {
return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
.append("dictId", getDictId())
.append("dictName", getDictName())
.append("dictType", getDictType())
.append("status", getStatus())
.append("createBy", getCreateBy())
.append("createTime", getCreateTime())
.append("updateBy", getUpdateBy())
.append("updateTime", getUpdateTime())
.append("remark", getRemark())
.toString();
}
}

View File

@@ -6,8 +6,11 @@ import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;
import com.baomidou.mybatisplus.annotation.TableField;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.fastbee.common.core.domain.BaseEntity;
@@ -17,6 +20,8 @@ import com.fastbee.common.core.domain.BaseEntity;
*
* @author ruoyi
*/
@EqualsAndHashCode(callSuper = true)
@Data
@ApiModel(value = "SysMenu", description = "菜单权限表 sys_menu")
public class SysMenu extends BaseEntity
{
@@ -89,206 +94,18 @@ public class SysMenu extends BaseEntity
@ApiModelProperty("子菜单")
private List<SysMenu> children = new ArrayList<SysMenu>();
public Long getMenuId()
{
return menuId;
}
@Deprecated
@TableField(exist = false)
private String language;
public void setMenuId(Long menuId)
{
this.menuId = menuId;
}
/** 菜单名称 */
@TableField(exist = false)
@ApiModelProperty("中文菜单名称")
private String menuName_zh_CN;
@NotBlank(message = "菜单名称不能为空")
@Size(min = 0, max = 50, message = "菜单名称长度不能超过50个字符")
public String getMenuName()
{
return menuName;
}
/** 菜单名称 */
@TableField(exist = false)
@ApiModelProperty("英文菜单名称")
private String menuName_en_US;
public void setMenuName(String menuName)
{
this.menuName = menuName;
}
public String getParentName()
{
return parentName;
}
public void setParentName(String parentName)
{
this.parentName = parentName;
}
public Long getParentId()
{
return parentId;
}
public void setParentId(Long parentId)
{
this.parentId = parentId;
}
@NotNull(message = "显示顺序不能为空")
public Integer getOrderNum()
{
return orderNum;
}
public void setOrderNum(Integer orderNum)
{
this.orderNum = orderNum;
}
@Size(min = 0, max = 200, message = "路由地址不能超过200个字符")
public String getPath()
{
return path;
}
public void setPath(String path)
{
this.path = path;
}
@Size(min = 0, max = 200, message = "组件路径不能超过255个字符")
public String getComponent()
{
return component;
}
public void setComponent(String component)
{
this.component = component;
}
public String getQuery()
{
return query;
}
public void setQuery(String query)
{
this.query = query;
}
public String getRouteName()
{
return routeName;
}
public void setRouteName(String routeName)
{
this.routeName = routeName;
}
public String getIsFrame()
{
return isFrame;
}
public void setIsFrame(String isFrame)
{
this.isFrame = isFrame;
}
public String getIsCache()
{
return isCache;
}
public void setIsCache(String isCache)
{
this.isCache = isCache;
}
@NotBlank(message = "菜单类型不能为空")
public String getMenuType()
{
return menuType;
}
public void setMenuType(String menuType)
{
this.menuType = menuType;
}
public String getVisible()
{
return visible;
}
public void setVisible(String visible)
{
this.visible = visible;
}
public String getStatus()
{
return status;
}
public void setStatus(String status)
{
this.status = status;
}
@Size(min = 0, max = 100, message = "权限标识长度不能超过100个字符")
public String getPerms()
{
return perms;
}
public void setPerms(String perms)
{
this.perms = perms;
}
public String getIcon()
{
return icon;
}
public void setIcon(String icon)
{
this.icon = icon;
}
public List<SysMenu> getChildren()
{
return children;
}
public void setChildren(List<SysMenu> children)
{
this.children = children;
}
@Override
public String toString() {
return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
.append("menuId", getMenuId())
.append("menuName", getMenuName())
.append("parentId", getParentId())
.append("orderNum", getOrderNum())
.append("path", getPath())
.append("component", getComponent())
.append("query", getQuery())
.append("routeName", getRouteName())
.append("isFrame", getIsFrame())
.append("IsCache", getIsCache())
.append("menuType", getMenuType())
.append("visible", getVisible())
.append("status ", getStatus())
.append("perms", getPerms())
.append("icon", getIcon())
.append("createBy", getCreateBy())
.append("createTime", getCreateTime())
.append("updateBy", getUpdateBy())
.append("updateTime", getUpdateTime())
.append("remark", getRemark())
.toString();
}
}

View File

@@ -4,8 +4,11 @@ import java.util.Date;
import java.util.List;
import javax.validation.constraints.*;
import com.baomidou.mybatisplus.annotation.TableField;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.fastbee.common.annotation.Excel;
@@ -20,6 +23,8 @@ import com.fastbee.common.xss.Xss;
*
* @author ruoyi
*/
@EqualsAndHashCode(callSuper = true)
@Data
@ApiModel(value = "SysUser", description = "用户对象 sys_user")
public class SysUser extends BaseEntity
{
@@ -111,236 +116,26 @@ public class SysUser extends BaseEntity
@ApiModelProperty("角色ID")
private Long roleId;
public SysUser()
{
@TableField(exist = false)
private String language;
@TableField(exist = false)
private String timeZone;
public SysUser() {
}
public SysUser(Long userId)
{
public SysUser(Long userId) {
this.userId = userId;
}
public Long getUserId()
{
return userId;
}
public void setUserId(Long userId)
{
this.userId = userId;
}
public boolean isAdmin()
{
public boolean isAdmin() {
return isAdmin(this.userId);
}
public static boolean isAdmin(Long userId)
{
public static boolean isAdmin(Long userId) {
return userId != null && 1L == userId;
}
public Long getDeptId()
{
return deptId;
}
public void setDeptId(Long deptId)
{
this.deptId = deptId;
}
@Xss(message = "用户昵称不能包含脚本字符")
@Size(min = 0, max = 30, message = "用户昵称长度不能超过30个字符")
public String getNickName()
{
return nickName;
}
public void setNickName(String nickName)
{
this.nickName = nickName;
}
@Xss(message = "用户账号不能包含脚本字符")
@NotBlank(message = "用户账号不能为空")
@Size(min = 0, max = 30, message = "用户账号长度不能超过30个字符")
public String getUserName()
{
return userName;
}
public void setUserName(String userName)
{
this.userName = userName;
}
@Email(message = "邮箱格式不正确")
@Size(min = 0, max = 50, message = "邮箱长度不能超过50个字符")
public String getEmail()
{
return email;
}
public void setEmail(String email)
{
this.email = email;
}
@Size(min = 0, max = 11, message = "手机号码长度不能超过11个字符")
public String getPhonenumber()
{
return phonenumber;
}
public void setPhonenumber(String phonenumber)
{
this.phonenumber = phonenumber;
}
public String getSex()
{
return sex;
}
public void setSex(String sex)
{
this.sex = sex;
}
public String getAvatar()
{
return avatar;
}
public void setAvatar(String avatar)
{
this.avatar = avatar;
}
public String getPassword()
{
return password;
}
public void setPassword(String password)
{
this.password = password;
}
public String getStatus()
{
return status;
}
public void setStatus(String status)
{
this.status = status;
}
public String getDelFlag()
{
return delFlag;
}
public void setDelFlag(String delFlag)
{
this.delFlag = delFlag;
}
public String getLoginIp()
{
return loginIp;
}
public void setLoginIp(String loginIp)
{
this.loginIp = loginIp;
}
public Date getLoginDate()
{
return loginDate;
}
public void setLoginDate(Date loginDate)
{
this.loginDate = loginDate;
}
public SysDept getDept()
{
return dept;
}
public void setDept(SysDept dept)
{
this.dept = dept;
}
public List<SysRole> getRoles()
{
return roles;
}
public void setRoles(List<SysRole> roles)
{
this.roles = roles;
}
public Long[] getRoleIds()
{
return roleIds;
}
public void setRoleIds(Long[] roleIds)
{
this.roleIds = roleIds;
}
public Long[] getPostIds()
{
return postIds;
}
public void setPostIds(Long[] postIds)
{
this.postIds = postIds;
}
public Long getRoleId()
{
return roleId;
}
public void setRoleId(Long roleId)
{
this.roleId = roleId;
}
@Override
public String toString() {
return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
.append("userId", getUserId())
.append("deptId", getDeptId())
.append("userName", getUserName())
.append("nickName", getNickName())
.append("email", getEmail())
.append("phonenumber", getPhonenumber())
.append("sex", getSex())
.append("avatar", getAvatar())
.append("password", getPassword())
.append("status", getStatus())
.append("delFlag", getDelFlag())
.append("loginIp", getLoginIp())
.append("loginDate", getLoginDate())
.append("createBy", getCreateBy())
.append("createTime", getCreateTime())
.append("updateBy", getUpdateBy())
.append("updateTime", getUpdateTime())
.append("remark", getRemark())
.append("dept", getDept())
.toString();
}
}

View File

@@ -0,0 +1,25 @@
package com.fastbee.common.enums;
public enum Language {
ZH_CN("zh-CN"),
EN("en-US"),
DEFAULT("default");
private String value;
Language(String value) {
this.value = value;
}
public String getValue() {
return value;
}
public static String matches(String language) {
if(language.equals("zh")){
return Language.ZH_CN.value;
}else {
return Language.EN.value;
}
}
}

View File

@@ -0,0 +1,24 @@
package com.fastbee.common.enums;
import lombok.AllArgsConstructor;
import lombok.Getter;
import static com.fastbee.common.constant.Constants.*;
@Getter
@AllArgsConstructor
public enum TranslateType {
MENU_TYPE(MENU, "sys_menu_translate", "sys_menu", "menu_id", "menu_name"),
DICT_DATA_TYPE(DICT_DATA, "sys_dict_data_translate", "sys_dict_data", "dict_code", "dict_label"),
DICT_TYPE_TYPE(DICT_TYPE, "sys_dict_type_translate", "sys_dict_type", "dict_id", "dict_name"),
THINGS_MODEL_TYPE(THINGS_MODEL, "iot_things_model_translate", "iot_things_model", "model_id", "model_name"),
THINGS_MODEL_TEMPLATE_TYPE(THINGS_MODEL_TEMPLATE, "iot_things_model_template_translate", "iot_things_model_template", "template_id", "template_name");
String value;
String translateTable;
String sourceTable;
String idColumn;
String nameColumn;
}

View File

@@ -9,6 +9,9 @@ import com.fastbee.common.utils.spring.SpringUtils;
import java.util.Collection;
import java.util.List;
import static com.fastbee.common.constant.Constants.EN_US;
import static com.fastbee.common.constant.Constants.ZH_CN;
/**
* 字典工具类
*
@@ -53,15 +56,16 @@ public class DictUtils
*
* @param dictType 字典类型
* @param dictValue 字典值
* @param language 语言
* @return 字典标签
*/
public static String getDictLabel(String dictType, String dictValue)
public static String getDictLabel(String dictType, String dictValue, String language)
{
if (StringUtils.isEmpty(dictValue))
{
return StringUtils.EMPTY;
}
return getDictLabel(dictType, dictValue, SEPARATOR);
return getDictLabel(dictType, dictValue, SEPARATOR, language);
}
/**
@@ -86,9 +90,10 @@ public class DictUtils
* @param dictType 字典类型
* @param dictValue 字典值
* @param separator 分隔符
* @param language 语言
* @return 字典标签
*/
public static String getDictLabel(String dictType, String dictValue, String separator)
public static String getDictLabel(String dictType, String dictValue, String separator, String language)
{
StringBuilder propertyString = new StringBuilder();
List<SysDictData> datas = getDictCache(dictType);
@@ -116,10 +121,16 @@ public class DictUtils
{
if (dictValue.equals(dict.getDictValue()))
{
if (ZH_CN.equals(language)) {
return dict.getDictLabel_zh_CN();
} else if (EN_US.equals(language)) {
return dict.getDictLabel_en_US();
} else {
return dict.getDictLabel();
}
}
}
}
return StringUtils.stripEnd(propertyString.toString(), separator);
}

View File

@@ -176,4 +176,23 @@ public class SecurityUtils
.anyMatch(x -> Constants.SUPER_ADMIN.equals(x) || PatternMatchUtils.simpleMatch(x, role));
}
/**
* 获取语言
* @return
*/
public static String getLanguage(){
try
{
String language = getLoginUser().getLanguage();
if (StringUtils.isEmpty(language)){
return "en-US";
}
return language;
}
catch (Exception e)
{
return "en-US";
}
}
}

View File

@@ -70,6 +70,22 @@
<version>${dynamic-datasource.version}</version>
</dependency>
<dependency>
<groupId>org.mapstruct</groupId>
<artifactId>mapstruct</artifactId> <!-- use mapstruct-jdk8 for Java 8 or higher -->
<version>${mapstruct.version}</version>
</dependency>
<dependency>
<groupId>org.mapstruct</groupId>
<artifactId>mapstruct-jdk8</artifactId>
<version>${mapstruct.version}</version>
</dependency>
<dependency>
<groupId>org.mapstruct</groupId>
<artifactId>mapstruct-processor</artifactId>
<version>${mapstruct.version}</version>
</dependency>
</dependencies>
</project>

View File

@@ -1,6 +1,8 @@
package com.fastbee.framework.config;
import java.util.concurrent.TimeUnit;
import com.fastbee.framework.interceptor.LanguageInterceptor;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
@@ -15,6 +17,8 @@ import com.fastbee.common.config.RuoYiConfig;
import com.fastbee.common.constant.Constants;
import com.fastbee.framework.interceptor.RepeatSubmitInterceptor;
import javax.annotation.Resource;
/**
* 通用配置
*
@@ -25,6 +29,8 @@ public class ResourcesConfig implements WebMvcConfigurer
{
@Autowired
private RepeatSubmitInterceptor repeatSubmitInterceptor;
@Resource
private LanguageInterceptor languageInterceptor;
@Override
public void addResourceHandlers(ResourceHandlerRegistry registry)
@@ -46,6 +52,9 @@ public class ResourcesConfig implements WebMvcConfigurer
public void addInterceptors(InterceptorRegistry registry)
{
registry.addInterceptor(repeatSubmitInterceptor).addPathPatterns("/**");
//这里配置国际化拦截器的白名单
registry.addInterceptor(languageInterceptor).addPathPatterns("/**").excludePathPatterns("/v2/api-docs",
"/tool/gen/**");
}
/**

View File

@@ -119,6 +119,7 @@ public class SecurityConfig
"/wechat/mobileLogin", "/wechat/miniLogin", "/wechat/wxBind/callback").permitAll()
.antMatchers("/zlmhook/**").permitAll()
.antMatchers("/goview/sys/login","/goview/project/getData").permitAll()
.antMatchers("/app/language/list").permitAll()
// 静态资源,可匿名访问
.antMatchers(HttpMethod.GET, "/", "/*.html", "/**/*.html", "/**/*.css", "/**/*.js", "/profile/**").permitAll()
.antMatchers("/swagger-ui.html", "/swagger-resources/**", "/webjars/**", "/druid/**").permitAll()

View File

@@ -0,0 +1,58 @@
package com.fastbee.framework.interceptor;
import com.fastbee.common.enums.Language;
import com.fastbee.common.utils.SecurityUtils;
import com.fastbee.common.utils.StringUtils;
import lombok.extern.slf4j.Slf4j;
import org.springframework.context.i18n.LocaleContextHolder;
import org.springframework.stereotype.Component;
import org.springframework.web.servlet.HandlerInterceptor;
import org.springframework.web.servlet.ModelAndView;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.util.Locale;
import static com.fastbee.common.constant.Constants.LANGUAGE;
/**
* 国际化语言拦截器
*/
@Component
@Slf4j
public class LanguageInterceptor implements HandlerInterceptor {
@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
String language = request.getHeader(LANGUAGE);
if (StringUtils.isEmpty(language) || language.equals("undefined")
|| language.equals("")|| language.equals("null")){
//针对有些接口没有增加语言字段先去token获取
language = SecurityUtils.getLanguage();
}else if (!language.contains("-")){
language = Language.matches(language);
}
// 前端传递的language必须是zh-CN格式的中间的-必须要完整不能只传递zh或en
Locale locale = new Locale(language.split("-")[0],language.split("-")[1]);
// 这样赋值以后MessageUtils.message方法就不用修改了
LocaleContextHolder.setLocale(locale);
return true;
}
/**
* 请求处理之后进行调用但是在视图被渲染之前Controller方法调用之后
*/
@Override
public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) {
}
/**
* 在整个请求结束之后被调用也就是在DispatcherServlet 渲染了对应的视图之后执行(主要是用于进行资源清理工作)
*/
@Override
public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) {
}
}

View File

@@ -66,7 +66,7 @@ public class SysLoginService
* @param uuid 唯一标识
* @return 结果
*/
public String login(String username, String password, String code, String uuid)
public String login(String username, String password, String code, String uuid, String language)
{
// 验证码校验
validateCaptcha(username, code, uuid);
@@ -100,6 +100,7 @@ public class SysLoginService
}
AsyncManager.me().execute(AsyncFactory.recordLogininfor(username, Constants.LOGIN_SUCCESS, MessageUtils.message("user.login.success")));
LoginUser loginUser = (LoginUser) authentication.getPrincipal();
loginUser.setLanguage(language);
recordLoginInfo(loginUser.getUserId());
// 生成token
return tokenService.createToken(loginUser);
@@ -111,7 +112,7 @@ public class SysLoginService
* @param password 密码
* @return token
*/
public String socialLogin(String username, String password){
public String socialLogin(String username, String password, String language){
// 用户验证
Authentication authentication = null;
try
@@ -136,6 +137,7 @@ public class SysLoginService
AsyncManager.me().execute(AsyncFactory.recordLogininfor(username, Constants.LOGIN_SUCCESS, MessageUtils.message("user.login.success")));
LoginUser loginUser = (LoginUser) authentication.getPrincipal();
recordLoginInfo(loginUser.getUserId());
loginUser.setLanguage(language);
// 生成token
return tokenService.createToken(loginUser);
}
@@ -146,7 +148,7 @@ public class SysLoginService
* @param encodePwd 系统用户密码
* @return
*/
public String redirectLogin(String username,String encodePwd){
public String redirectLogin(String username,String encodePwd,String language){
// UserDetails userDetails=userDetailsServiceImpl.loadUserByUsername(username);
SysUser user = userService.selectUserByUserName(username);
if (StringUtils.isNull(user))
@@ -167,6 +169,8 @@ public class SysLoginService
UserDetails userDetails = userDetailsServiceImpl.createLoginUser(user);
LoginUser loginUser = (LoginUser) userDetails;
recordLoginInfo(loginUser.getUserId());
loginUser.setLanguage(language);
// 生成token
return tokenService.createToken(loginUser);

View File

@@ -61,6 +61,6 @@ public class UserDetailsServiceImpl implements UserDetailsService
public UserDetails createLoginUser(SysUser user)
{
return new LoginUser(user.getUserId(), user.getDeptId(), user, permissionService.getMenuPermission(user));
return new LoginUser(user.getUserId(), user.getDeptId(), user.getLanguage(), user, permissionService.getMenuPermission(user));
}
}

View File

@@ -355,7 +355,7 @@ public class SceneContext {
for (SceneThingsModelItem sceneThingsModelItem : sceneThingsModelItems) {
// 查询设备信息
Device device = deviceService.selectDeviceBySerialNumber(sceneThingsModelItem.getDeviceNumber());
Optional.ofNullable(device).orElseThrow(() -> new ServiceException("告警推送,设备不存在" + "[{" + sceneThingsModelItem.getDeviceNumber() + "}]"));
Optional.ofNullable(device).orElseThrow(() -> new ServiceException(MessageUtils.message("alert.push.fail.device.not.exist", sceneThingsModelItem.getDeviceNumber())));
// 获取场景相关的告警参数,告警必须要是启动状态
List<AlertSceneSendVO> sceneSendVOList = alertService.listByAlertIds(sceneId);
if (CollectionUtils.isEmpty(sceneSendVOList)) {

View File

@@ -1,6 +1,7 @@
package com.fastbee.data.controller;
import com.fastbee.common.core.controller.BaseController;
import com.fastbee.common.utils.MessageUtils;
import org.springframework.web.bind.annotation.*;
/**
@@ -18,7 +19,7 @@ public class AuthResourceController extends BaseController
*/
@GetMapping("/product")
public String findAll() {
return "查询产品列表成功!";
return MessageUtils.message("auth.resource.product.query.success");
}

View File

@@ -6,6 +6,7 @@ import com.fastbee.common.core.controller.BaseController;
import com.fastbee.common.core.domain.AjaxResult;
import com.fastbee.common.core.page.TableDataInfo;
import com.fastbee.common.enums.BusinessType;
import com.fastbee.common.utils.MessageUtils;
import com.fastbee.common.utils.StringUtils;
import com.fastbee.common.utils.poi.ExcelUtil;
import com.fastbee.iot.domain.Device;
@@ -199,10 +200,10 @@ public class DeviceController extends BaseController
public AjaxResult relateUser(@RequestBody DeviceRelateUserInput deviceRelateUserInput)
{
if(deviceRelateUserInput.getUserId()==0 || deviceRelateUserInput.getUserId()==null){
return AjaxResult.error("用户ID不能为空");
return AjaxResult.error(MessageUtils.message("device.user.id.null"));
}
if(deviceRelateUserInput.getDeviceNumberAndProductIds()==null || deviceRelateUserInput.getDeviceNumberAndProductIds().size()==0){
return AjaxResult.error("设备编号和产品ID不能为空");
return AjaxResult.error(MessageUtils.message("device.product.id.null"));
}
return deviceService.deviceRelateUser(deviceRelateUserInput);
}

View File

@@ -6,6 +6,8 @@ import com.fastbee.common.core.domain.AjaxResult;
import com.fastbee.common.core.page.TableDataInfo;
import com.fastbee.common.enums.BusinessType;
import com.fastbee.common.exception.job.TaskException;
import com.fastbee.common.utils.MessageUtils;
import com.fastbee.common.utils.StringUtils;
import com.fastbee.common.utils.poi.ExcelUtil;
import com.fastbee.iot.domain.DeviceJob;
import com.fastbee.iot.service.IDeviceJobService;
@@ -82,7 +84,7 @@ public class DeviceJobController extends BaseController
{
if (!CronUtils.isValid(job.getCronExpression()))
{
return error("新增任务'" + job.getJobName() + "'失败Cron表达式不正确");
return error(StringUtils.format(MessageUtils.message("job.add.failed.cron.not.valid"), job.getJobName()));
}
job.setCreateBy(getUsername());
return toAjax(jobService.insertJob(job));
@@ -99,7 +101,7 @@ public class DeviceJobController extends BaseController
{
if (!CronUtils.isValid(job.getCronExpression()))
{
return error("修改任务'" + job.getJobName() + "'失败Cron表达式不正确");
return error(StringUtils.format(MessageUtils.message("job.add.failed.product.not.modbus.config"), job.getJobName()));
}
job.setUpdateBy(getUsername());
return toAjax(jobService.updateJob(job));

View File

@@ -2,6 +2,7 @@ package com.fastbee.data.controller;
import java.util.List;
import com.fastbee.common.utils.MessageUtils;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.security.access.prepost.PreAuthorize;
@@ -128,7 +129,7 @@ public class DeviceUserController extends BaseController
{
int count=deviceUserService.deleteDeviceUser(deviceUser);
if(count==0){
return AjaxResult.error("设备所有者不能删除");
return AjaxResult.error(MessageUtils.message("device.user.delete.failed.user.not.valid"));
}else{
return AjaxResult.success();
}

View File

@@ -15,6 +15,8 @@ import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import static com.fastbee.common.constant.Constants.LANGUAGE;
/**
* 第三方登录接口Controller
*
@@ -69,9 +71,9 @@ public class SocialLoginController {
@GetMapping("/login/{loginId}")
@ApiOperation("跳转登录api")
@ApiImplicitParam(name = "loginId", value = "登录Id", required = true, dataType = "String", paramType = "path", dataTypeClass = String.class)
public AjaxResult socialLogin(@PathVariable String loginId) {
public AjaxResult socialLogin(HttpServletRequest request, @PathVariable String loginId) {
// 生成授权页面
return iSocialLoginService.socialLogin(loginId);
return iSocialLoginService.socialLogin(loginId, request.getHeader(LANGUAGE));
}
/**
@@ -82,8 +84,8 @@ public class SocialLoginController {
*/
@ApiOperation("绑定登录方法")
@PostMapping("/bind/login")
public AjaxResult bindLogin(@RequestBody BindLoginBody bindLoginBody) {
return iSocialLoginService.bindLogin(bindLoginBody);
public AjaxResult bindLogin(HttpServletRequest request, @RequestBody BindLoginBody bindLoginBody) {
return iSocialLoginService.bindLogin(bindLoginBody, request.getHeader(LANGUAGE));
}
/**
@@ -94,8 +96,8 @@ public class SocialLoginController {
*/
@ApiOperation("注册绑定")
@PostMapping("/bind/register")
public AjaxResult bindRegister(@RequestBody BindRegisterBody bindRegisterBody) {
return iSocialLoginService.bindRegister(bindRegisterBody);
public AjaxResult bindRegister(HttpServletRequest request, @RequestBody BindRegisterBody bindRegisterBody) {
return iSocialLoginService.bindRegister(bindRegisterBody, request.getHeader(LANGUAGE));
}
}

View File

@@ -5,6 +5,7 @@ import com.fastbee.common.core.controller.BaseController;
import com.fastbee.common.core.domain.AjaxResult;
import com.fastbee.common.core.page.TableDataInfo;
import com.fastbee.common.enums.BusinessType;
import com.fastbee.common.utils.MessageUtils;
import com.fastbee.common.utils.StringUtils;
import com.fastbee.common.utils.poi.ExcelUtil;
import com.fastbee.iot.domain.ThingsModel;
@@ -86,7 +87,7 @@ public class ThingsModelController extends BaseController
if(result==1){
return AjaxResult.success();
}else if(result==2){
return AjaxResult.error("产品下的标识符不能重复");
return AjaxResult.error(MessageUtils.message("things.model.identifier.repeat"));
}else{
return AjaxResult.error();
}
@@ -98,9 +99,9 @@ public class ThingsModelController extends BaseController
public AjaxResult ImportByTemplateIds(@RequestBody ImportThingsModelInput input){
int repeatCount=thingsModelService.importByTemplateIds(input);
if(repeatCount==0){
return AjaxResult.success("数据导入成功");
return AjaxResult.success(MessageUtils.message("import.success"));
}else{
return AjaxResult.success(repeatCount+"条数据未导入,标识符重复");
return AjaxResult.success(StringUtils.format(MessageUtils.message("things.model.import.failed.identifier.repeat"), repeatCount));
}
}
@@ -117,7 +118,7 @@ public class ThingsModelController extends BaseController
if(result==1){
return AjaxResult.success();
}else if(result==2){
return AjaxResult.error("产品下的标识符不能重复");
return AjaxResult.error(MessageUtils.message("things.model.identifier.repeat"));
}else{
return AjaxResult.error();
}
@@ -143,7 +144,7 @@ public class ThingsModelController extends BaseController
@ApiOperation("获取缓存的JSON物模型")
public AjaxResult getCacheThingsModelByProductId(@PathVariable("productId") Long productId)
{
return AjaxResult.success("操作成功",thingsModelService.getCacheThingsModelByProductId(productId));
return AjaxResult.success(MessageUtils.message("operate.success"),thingsModelService.getCacheThingsModelByProductId(productId));
}
@ApiOperation(value = "物模型导入模板")

View File

@@ -12,6 +12,7 @@ import com.fastbee.common.core.iot.response.DeCodeBo;
import com.fastbee.common.core.page.TableDataInfo;
import com.fastbee.common.enums.BusinessType;
import com.fastbee.common.exception.file.FileNameLengthLimitExceededException;
import com.fastbee.common.utils.MessageUtils;
import com.fastbee.common.utils.StringUtils;
import com.fastbee.common.utils.file.FileUploadUtils;
import com.fastbee.common.utils.file.FileUtils;
@@ -71,13 +72,13 @@ import static com.fastbee.common.utils.file.FileUploadUtils.getExtension;
public class ToolController extends BaseController {
private static final Logger log = LoggerFactory.getLogger(ToolController.class);
@Autowired
@Resource
private IDeviceService deviceService;
@Autowired
@Resource
private IMqttMessagePublish messagePublish;
@Autowired
@Resource
private MqttClientConfig mqttConfig;
@Autowired
@Resource
private IToolService toolService;
// 令牌秘钥
@Value("${token.secret}")
@@ -119,7 +120,7 @@ public class ToolController extends BaseController {
log.info("-----------服务端mqtt认证成功,clientId:" + clientid + "---------------");
return ResponseEntity.ok().body("ok");
} else {
return toolService.returnUnauthorized(new MqttAuthenticationModel(clientid, username, password), "mqtt账号和密码与认证服务器配置不匹配");
return toolService.returnUnauthorized(new MqttAuthenticationModel(clientid, username, password), MessageUtils.message("mqtt.unauthorized"));
}
} else if (clientid.startsWith("web") || clientid.startsWith("phone")) {
// web端和移动端认证token认证

View File

@@ -0,0 +1,97 @@
package com.fastbee.data.controller.translate;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.fastbee.common.core.domain.CommonResult;
import com.fastbee.common.core.page.TableDataInfo;
import com.fastbee.common.core.controller.BaseController;
import com.fastbee.common.utils.poi.ExcelUtil;
import com.fastbee.system.domain.AppLanguage;
import com.fastbee.system.domain.vo.AppLanguageVO;
import com.fastbee.system.service.IAppLanguageService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletResponse;
/**
* app语言Controller
*/
@RestController
@RequestMapping("/app/language")
@Api(tags = "APP语言")
public class AppLanguageController extends BaseController
{
@Resource
private IAppLanguageService appLanguageService;
/**
* 查询app语言列表
*/
//@PreAuthorize("@ss.hasPermi('app:language:list')")
@GetMapping("/list")
@ApiOperation("查询app语言列表")
public TableDataInfo list(AppLanguage appLanguage)
{
Page<AppLanguageVO> voPage = appLanguageService.pageAppLanguageVO(appLanguage);
return getDataTable(voPage.getRecords(), voPage.getTotal());
}
/**
* 导出app语言列表
*/
@PreAuthorize("@ss.hasPermi('app:language:export')")
@PostMapping("/export")
public void export(HttpServletResponse response, AppLanguage appLanguage)
{
Page<AppLanguageVO> voPage = appLanguageService.pageAppLanguageVO(appLanguage);
ExcelUtil<AppLanguageVO> util = new ExcelUtil<AppLanguageVO>(AppLanguageVO.class);
util.exportExcel(response, voPage.getRecords(), "app语言数据");
}
/**
* 获取app语言详细信息
*/
//@PreAuthorize("@ss.hasPermi('app:language:query')")
@GetMapping(value = "/{id}")
@ApiOperation("获取app语言详细信息")
public CommonResult getInfo(@PathVariable("id") Long id)
{
return CommonResult.success(appLanguageService.selectAppLanguageById(id));
}
/**
* 新增app语言
*/
@PreAuthorize("@ss.hasPermi('app:language:add')")
@PostMapping
public CommonResult add(@RequestBody AppLanguage appLanguage)
{
appLanguage.setCreateBy(getUsername());
return CommonResult.success(appLanguageService.insertAppLanguage(appLanguage));
}
/**
* 修改app语言
*/
@PreAuthorize("@ss.hasPermi('app:language:edit')")
@PutMapping
public CommonResult edit(@RequestBody AppLanguage appLanguage)
{
return CommonResult.success(appLanguageService.updateAppLanguage(appLanguage));
}
/**
* 删除app语言
*/
@PreAuthorize("@ss.hasPermi('app:language:remove')")
@DeleteMapping("/{ids}")
public CommonResult remove(@PathVariable Long[] ids)
{
return CommonResult.success(appLanguageService.deleteAppLanguageByIds(ids));
}
}

View File

@@ -0,0 +1,107 @@
package com.fastbee.data.controller.translate;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.fastbee.common.core.domain.CommonResult;
import com.fastbee.common.core.domain.model.LoginUser;
import com.fastbee.common.core.page.TableDataInfo;
import com.fastbee.common.core.controller.BaseController;
import com.fastbee.common.utils.SecurityUtils;
import com.fastbee.common.utils.poi.ExcelUtil;
import com.fastbee.framework.web.service.TokenService;
import com.fastbee.system.domain.AppPreferences;
import com.fastbee.system.domain.vo.AppPreferencesVO;
import com.fastbee.system.service.IAppPreferencesService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletResponse;
/**
* APP用户偏好设置Controller
*/
@RestController
@RequestMapping("/app/preferences")
@Api(tags = "APP用户偏好设置")
public class AppPreferencesController extends BaseController
{
@Resource
private IAppPreferencesService appPreferencesService;
@Resource
private TokenService tokenService;
/**
* 查询APP用户偏好设置列表
*/
@PreAuthorize("@ss.hasPermi('iot:preferences:list')")
@GetMapping("/list")
public TableDataInfo list(AppPreferences appPreferences)
{
Page<AppPreferencesVO> voPage = appPreferencesService.pageAppPreferencesVO(appPreferences);
return getDataTable(voPage.getRecords(), voPage.getTotal());
}
/**
* 导出APP用户偏好设置列表
*/
@PreAuthorize("@ss.hasPermi('iot:preferences:export')")
@PostMapping("/export")
public void export(HttpServletResponse response, AppPreferences appPreferences)
{
Page<AppPreferencesVO> voPage = appPreferencesService.pageAppPreferencesVO(appPreferences);
ExcelUtil<AppPreferencesVO> util = new ExcelUtil<AppPreferencesVO>(AppPreferencesVO.class);
util.exportExcel(response, voPage.getRecords(), "APP用户偏好设置数据");
}
/**
* 获取APP用户偏好设置详细信息
*/
@PreAuthorize("@ss.hasPermi('iot:preferences:query')")
@GetMapping(value = "/{userId}")
public CommonResult getInfo(@PathVariable("userId") Long userId)
{
if (userId == null) {
userId = SecurityUtils.getUserId();
}
return CommonResult.success(appPreferencesService.selectAppPreferencesByUserId(userId));
}
/**
* 新增APP用户偏好设置
*/
//@PreAuthorize("@ss.hasPermi('iot:preferences:add')")
@PostMapping("/addOrUpdate")
@ApiOperation("新增或者更新APP用户偏好设置")
public CommonResult add(@RequestBody AppPreferences appPreferences)
{
LoginUser loginUser = getLoginUser();
loginUser.setLanguage(appPreferences.getLanguage());
tokenService.setLoginUser(loginUser);
return CommonResult.success(appPreferencesService.addOrUpdate(appPreferences));
}
/**
* 修改APP用户偏好设置
*/
@PreAuthorize("@ss.hasPermi('iot:preferences:edit')")
@PutMapping
public CommonResult edit(@RequestBody AppPreferences appPreferences)
{
return CommonResult.success(appPreferencesService.updateAppPreferences(appPreferences));
}
/**
* 删除APP用户偏好设置
*/
@PreAuthorize("@ss.hasPermi('iot:preferences:remove')")
@DeleteMapping("/{userIds}")
public CommonResult remove(@PathVariable Long[] userIds)
{
return CommonResult.success(appPreferencesService.deleteAppPreferencesByUserIds(userIds));
}
}

View File

@@ -2,6 +2,7 @@ package com.fastbee.data.controller.wechat;
import com.fastbee.common.core.domain.AjaxResult;
import com.fastbee.common.exception.ServiceException;
import com.fastbee.common.utils.MessageUtils;
import com.fastbee.common.utils.StringUtils;
import com.fastbee.common.wechat.WeChatLoginBody;
import com.fastbee.common.wechat.WeChatLoginResult;
@@ -21,6 +22,8 @@ import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import static com.fastbee.common.constant.Constants.LANGUAGE;
/**
* 微信相关控制器
* @author fastb
@@ -41,8 +44,8 @@ public class WeChatController {
*/
@ApiOperation("移动应用微信登录")
@PostMapping("/mobileLogin")
public AjaxResult mobileLogin(@RequestBody WeChatLoginBody weChatLoginBody) {
return AjaxResult.success(weChatService.mobileLogin(weChatLoginBody));
public AjaxResult mobileLogin(HttpServletRequest request, @RequestBody WeChatLoginBody weChatLoginBody) {
return AjaxResult.success(weChatService.mobileLogin(weChatLoginBody, request.getHeader(LANGUAGE)));
}
/**
@@ -52,8 +55,8 @@ public class WeChatController {
*/
@ApiOperation("小程序微信登录")
@PostMapping("/miniLogin")
public AjaxResult miniLogin(@RequestBody WeChatLoginBody weChatLoginBody) {
WeChatLoginResult weChatLoginResult = weChatService.miniLogin(weChatLoginBody);
public AjaxResult miniLogin(HttpServletRequest request, @RequestBody WeChatLoginBody weChatLoginBody) {
WeChatLoginResult weChatLoginResult = weChatService.miniLogin(weChatLoginBody, request.getHeader(LANGUAGE));
return AjaxResult.success(weChatLoginResult);
}
@@ -66,7 +69,7 @@ public class WeChatController {
@PostMapping("/bind")
public AjaxResult bind(@RequestBody WxBindReqVO wxBindReqVO) {
if (StringUtils.isEmpty(wxBindReqVO.getSourceClient())) {
throw new ServiceException("请传入验证方式");
throw new ServiceException(MessageUtils.message("wechat.verify.type.null"));
}
return weChatService.bind(wxBindReqVO);
}
@@ -80,7 +83,7 @@ public class WeChatController {
@PostMapping("/cancelBind")
public AjaxResult cancelBind(@RequestBody WxCancelBindReqVO wxCancelBindReqVO) {
if (wxCancelBindReqVO.getVerifyType() == null) {
throw new ServiceException("请传入验证方式");
throw new ServiceException(MessageUtils.message("wechat.verify.type.null"));
}
return weChatService.cancelBind(wxCancelBindReqVO);
}
@@ -119,7 +122,7 @@ public class WeChatController {
@GetMapping("/getWxBindMsg")
public AjaxResult getWxBindMsg(String wxBindMsgId) {
if (StringUtils.isEmpty(wxBindMsgId)) {
return AjaxResult.error("请传入wxBindMsgId");
return AjaxResult.error(MessageUtils.message("wechat.bind.message.id.null"));
}
// 返回二维码信息
return weChatService.getWxBindMsg(wxBindMsgId);

View File

@@ -392,7 +392,7 @@ public class GenTableServiceImpl implements IGenTableService
}
catch (IOException e)
{
throw new ServiceException("渲染模板失败,表名:" + table.getTableName());
throw new ServiceException(MessageUtils.message("genTable.template.rendering.fail", table.getTableName()));
}
}
}
@@ -414,7 +414,7 @@ public class GenTableServiceImpl implements IGenTableService
List<GenTableColumn> dbTableColumns = genTableColumnMapper.selectDbTableColumnsByName(tableName);
if (StringUtils.isEmpty(dbTableColumns))
{
throw new ServiceException("同步数据失败,原表结构不存在");
throw new ServiceException(MessageUtils.message("genTable.data.sync.fail.original.table.not.exist"));
}
List<String> dbTableColumnNames = dbTableColumns.stream().map(GenTableColumn::getColumnName).collect(Collectors.toList());
@@ -526,25 +526,25 @@ public class GenTableServiceImpl implements IGenTableService
JSONObject paramsObj = JSON.parseObject(options);
if (StringUtils.isEmpty(paramsObj.getString(GenConstants.TREE_CODE)))
{
throw new ServiceException("树编码字段不能为空");
throw new ServiceException(MessageUtils.message("genTable.tree.code.field.cannot.empty"));
}
else if (StringUtils.isEmpty(paramsObj.getString(GenConstants.TREE_PARENT_CODE)))
{
throw new ServiceException("树父编码字段不能为空");
throw new ServiceException(MessageUtils.message("genTable.tree.parent.code.field.cannot.empty"));
}
else if (StringUtils.isEmpty(paramsObj.getString(GenConstants.TREE_NAME)))
{
throw new ServiceException("树名称字段不能为空");
throw new ServiceException(MessageUtils.message("genTable.tree.name.field.cannot.empty"));
}
else if (GenConstants.TPL_SUB.equals(genTable.getTplCategory()))
{
if (StringUtils.isEmpty(genTable.getSubTableName()))
{
throw new ServiceException("关联子表的表名不能为空");
throw new ServiceException(MessageUtils.message("genTable.relate.child.table.name.cannot.empty"));
}
else if (StringUtils.isEmpty(genTable.getSubTableFkName()))
{
throw new ServiceException("子表关联的外键名不能为空");
throw new ServiceException(MessageUtils.message("genTable.child.table.relate.foreign.key.name.cannot.empty"));
}
}
}

View File

@@ -3,6 +3,7 @@ package com.fastbee.mqttclient;
import com.fastbee.common.constant.FastBeeConstant;
import com.fastbee.common.core.redis.RedisCache;
import com.fastbee.common.exception.ServiceException;
import com.fastbee.common.utils.MessageUtils;
import lombok.Setter;
import lombok.extern.slf4j.Slf4j;
import org.eclipse.paho.client.mqttv3.*;
@@ -120,7 +121,7 @@ public class PubMqttClient {
token.waitForCompletion();
} catch (MqttException e) {
log.error("=>断开mqtt连接发生错误 message={}", e.getMessage());
throw new ServiceException("断开mqtt连接发生错误" + e.getMessage());
throw new ServiceException(MessageUtils.message("mqtt.disconnect.occur.fail", e.getMessage()));
}
}
client = null;

View File

@@ -2,6 +2,7 @@ package com.fastbee.common;
import com.fastbee.common.core.iot.response.DeCodeBo;
import com.fastbee.common.exception.ServiceException;
import com.fastbee.common.utils.MessageUtils;
import com.fastbee.common.utils.gateway.CRC16Utils;
import io.netty.buffer.ByteBufUtil;
import lombok.extern.slf4j.Slf4j;
@@ -21,7 +22,7 @@ public class ProtocolDeCodeService {
public String protocolDeCode(DeCodeBo bo) {
if (null == bo) {
throw new ServiceException("输入内容为空");
throw new ServiceException(MessageUtils.message("protocol.input.content.is.empty"));
}
String payload = bo.getPayload();
/*1-解析 2-读指令 3-写指令 4-CRC生成 5-CRC校验*/

View File

@@ -10,6 +10,7 @@ import com.fastbee.common.core.thingsModel.ThingsModelSimpleItem;
import com.fastbee.common.core.thingsModel.ThingsModelValuesInput;
import com.fastbee.common.exception.ServiceException;
import com.fastbee.common.utils.DateUtils;
import com.fastbee.common.utils.MessageUtils;
import com.fastbee.iot.model.ThingsModels.ValueItem;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Component;
@@ -45,7 +46,7 @@ public class JsonProtocolService {
reportMessage.setSerialNumber(clientId);
return reportMessage;
}catch (Exception e){
throw new ServiceException("数据解析异常"+e.getMessage());
throw new ServiceException(MessageUtils.message("protocol.data.parse.exception", e));
}
}

View File

@@ -7,6 +7,7 @@ import com.fastbee.common.enums.ServerType;
import com.fastbee.common.enums.ThingsModelType;
import com.fastbee.common.enums.TopicType;
import com.fastbee.common.exception.ServiceException;
import com.fastbee.common.utils.MessageUtils;
import com.fastbee.common.utils.gateway.mq.TopicsUtils;
import com.fastbee.iot.domain.Device;
import com.fastbee.iot.service.IDeviceService;
@@ -81,7 +82,7 @@ public class DeviceReportMessageServiceImpl implements IDeviceReportMessageServi
public Device buildReport(DeviceReportBo bo) {
String serialNumber = topicsUtils.parseSerialNumber(bo.getTopicName());
Device device = deviceService.selectDeviceBySerialNumber(serialNumber);
Optional.ofNullable(device).orElseThrow(() -> new ServiceException("设备不存在"));
Optional.ofNullable(device).orElseThrow(() -> new ServiceException(MessageUtils.message("device.not.exist")));
//设置物模型
String thingsModel = topicsUtils.getThingsModel(bo.getTopicName());
ThingsModelType thingsModelType = ThingsModelType.getType(thingsModel);

View File

@@ -5,6 +5,7 @@ import com.fastbee.common.core.domain.entity.SysRole;
import com.fastbee.common.core.domain.entity.SysUser;
import com.fastbee.common.exception.ServiceException;
import com.fastbee.common.utils.DateUtils;
import com.fastbee.common.utils.MessageUtils;
import com.fastbee.iot.domain.Device;
import com.fastbee.iot.mapper.DeviceMapper;
import com.fastbee.sip.domain.MediaServer;
@@ -143,7 +144,7 @@ public class MediaServerServiceImpl implements IMediaServerService {
// }
// }
if (null == user.getDeptId()) {
throw new ServiceException("只允许租户配置");
throw new ServiceException(MessageUtils.message("only.allow.tenant.config"));
}
if (!isAdmin(user.getUserId())) {
mediaServer.setIsSys(0);

View File

@@ -59,7 +59,7 @@ public interface ISocialLoginService {
* @param loginId 登录id
* @return
*/
AjaxResult socialLogin(String loginId);
AjaxResult socialLogin(String loginId, String language);
/**
* 绑定登录api
@@ -67,7 +67,7 @@ public interface ISocialLoginService {
* @param bindLoginBody 绑定账户参数
* @return
*/
AjaxResult bindLogin(BindLoginBody bindLoginBody);
AjaxResult bindLogin(BindLoginBody bindLoginBody, String language);
/**
* 注册绑定api
@@ -75,7 +75,7 @@ public interface ISocialLoginService {
* @param bindRegisterBody
* @return
*/
AjaxResult bindRegister(BindRegisterBody bindRegisterBody);
AjaxResult bindRegister(BindRegisterBody bindRegisterBody, String language);
String genBindId(AuthUser authUser);

View File

@@ -4,6 +4,7 @@ import com.fastbee.common.core.domain.AjaxResult;
import com.fastbee.common.core.domain.entity.SysRole;
import com.fastbee.common.core.domain.entity.SysUser;
import com.fastbee.common.utils.DateUtils;
import com.fastbee.common.utils.MessageUtils;
import com.fastbee.iot.domain.Category;
import com.fastbee.iot.mapper.CategoryMapper;
import com.fastbee.iot.model.IdAndName;
@@ -124,12 +125,12 @@ public class CategoryServiceImpl implements ICategoryService
{
int productCount=categoryMapper.productCountInCategorys(categoryIds);
if(productCount>0){
return AjaxResult.error("删除失败,请先删除对应分类下的产品");
return AjaxResult.error(MessageUtils.message("delete.fail.please.delete.category.product"));
}
if(categoryMapper.deleteCategoryByCategoryIds(categoryIds)>0){
return AjaxResult.success("删除成功");
return AjaxResult.success(MessageUtils.message("delete.success"));
}
return AjaxResult.error("删除失败");
return AjaxResult.error(MessageUtils.message("delete.fail"));
}
/**

View File

@@ -18,6 +18,7 @@ import com.fastbee.common.enums.DeviceStatus;
import com.fastbee.common.enums.ThingsModelType;
import com.fastbee.common.exception.ServiceException;
import com.fastbee.common.utils.DateUtils;
import com.fastbee.common.utils.MessageUtils;
import com.fastbee.common.utils.StringUtils;
import com.fastbee.common.utils.http.HttpUtils;
import com.fastbee.common.utils.ip.IpUtils;
@@ -678,8 +679,7 @@ public class DeviceServiceImpl implements IDeviceService {
// 设备编号唯一检查
Device existDevice = deviceMapper.selectDeviceBySerialNumber(device.getSerialNumber());
if (existDevice != null) {
log.error("设备编号:" + device.getSerialNumber() + "已经存在了,新增设备失败");
throw new ServiceException("设备编号:" + device.getSerialNumber() + " 已经存在,新增失败");
throw new ServiceException(MessageUtils.message("device.insert.fail.device.number.already.exist", device.getSerialNumber()));
}
SysUser sysUser = getLoginUser().getUser();
//添加设备
@@ -747,7 +747,7 @@ public class DeviceServiceImpl implements IDeviceService {
Device existDevice = deviceMapper.selectDeviceBySerialNumber(deviceRelateUserInput.getDeviceNumberAndProductIds().get(i).getDeviceNumber());
if (existDevice != null) {
if (existDevice.getUserId().longValue() == deviceRelateUserInput.getUserId().longValue()) {
return AjaxResult.error("用户已经拥有设备:" + existDevice.getDeviceName() + ", 设备编号:" + existDevice.getSerialNumber());
return AjaxResult.error(MessageUtils.message("now.user.belong.device.can.not.repeat.share", existDevice.getSerialNumber()));
}
// 先删除设备的所有用户
deviceUserMapper.deleteDeviceUserByDeviceId(new UserIdDeviceIdModel(null, existDevice.getDeviceId()));
@@ -774,11 +774,11 @@ public class DeviceServiceImpl implements IDeviceService {
deviceRelateUserInput.getUserId(),
deviceRelateUserInput.getDeviceNumberAndProductIds().get(i).getProductId());
if (result == 0) {
return AjaxResult.error("设备不存在,自动添加设备时失败,请检查产品编号是否正确");
return AjaxResult.error(MessageUtils.message("device.not.exist.add.fail.please.check.product.id.is.correct"));
}
}
}
return AjaxResult.success("添加设备成功");
return AjaxResult.success(MessageUtils.message("device.add.success"));
}
/**
@@ -1240,7 +1240,7 @@ public class DeviceServiceImpl implements IDeviceService {
DeviceMqttConnectVO connectVO = new DeviceMqttConnectVO();
DeviceMqttVO deviceMqttVO = deviceMapper.selectMqttConnectData(deviceId);
if (deviceMqttVO == null) {
throw new ServiceException("获取设备MQTT连接参数失败");
throw new ServiceException(MessageUtils.message("device.get.mqtt.connection.param.fail"));
}
// 不管认证方式,目前就只返回简单认证方式
String password;
@@ -1248,7 +1248,7 @@ public class DeviceServiceImpl implements IDeviceService {
// 查询产品授权码
List<ProductAuthorize> productAuthorizeList = productAuthorizeService.listByProductId(deviceMqttVO.getProductId());
if (CollectionUtils.isEmpty(productAuthorizeList)) {
throw new ServiceException("产品已启用授权,获取设备授权码失败,请先配置授权码");
throw new ServiceException(MessageUtils.message("device.get.authorization.fail.please.config"));
}
List<ProductAuthorize> collect = productAuthorizeList.stream().filter(p -> p.getProductId().equals(deviceMqttVO.getDeviceId())).collect(Collectors.toList());
ProductAuthorize productAuthorize = CollectionUtils.isEmpty(collect) ? productAuthorizeList.get(0) : collect.get(0);

View File

@@ -4,6 +4,7 @@ import java.util.List;
import com.fastbee.common.core.domain.AjaxResult;
import com.fastbee.common.utils.DateUtils;
import com.fastbee.common.utils.MessageUtils;
import com.fastbee.iot.model.IdAndName;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@@ -95,12 +96,12 @@ public class NewsCategoryServiceImpl implements INewsCategoryService
{
int productCount=newsCategoryMapper.newsCountInCategorys(categoryIds);
if(productCount>0){
return AjaxResult.error("删除失败,请先删除对应分类下的新闻资讯");
return AjaxResult.error(MessageUtils.message("newsCategory.delete.fail.please.delete.category.info"));
}
if(newsCategoryMapper.deleteNewsCategoryByCategoryIds(categoryIds)>0){
return AjaxResult.success("删除成功");
return AjaxResult.success(MessageUtils.message("delete.success"));
}
return AjaxResult.error("删除失败");
return AjaxResult.error(MessageUtils.message("delete.fail"));
}
/**

View File

@@ -6,6 +6,7 @@ import com.fastbee.common.core.domain.entity.SysUser;
import com.fastbee.common.core.redis.RedisCache;
import com.fastbee.common.core.redis.RedisKeyBuilder;
import com.fastbee.common.utils.DateUtils;
import com.fastbee.common.utils.MessageUtils;
import com.fastbee.iot.domain.Product;
import com.fastbee.iot.domain.ThingsModelTemplate;
import com.fastbee.iot.mapper.DeviceMapper;
@@ -196,7 +197,7 @@ public class ProductServiceImpl implements IProductService
public AjaxResult changeProductStatus(ChangeProductStatusModel model)
{
if(model.getStatus()!=1 && model.getStatus()!=2){
return AjaxResult.error("状态更新失败,状态值有误");
return AjaxResult.error(MessageUtils.message("product.status.update.fail.value.fail"));
}
if(model.getStatus()==2){
// 产品下必须包含物模型
@@ -214,9 +215,9 @@ public class ProductServiceImpl implements IProductService
//}
}
if(productMapper.changeProductStatus(model)>0){
return AjaxResult.success("操作成功");
return AjaxResult.success(MessageUtils.message("operate.success"));
}
return AjaxResult.error("状态更新失败");
return AjaxResult.error(MessageUtils.message("product.status.update.fail"));
}
/***
@@ -250,7 +251,7 @@ public class ProductServiceImpl implements IProductService
// 产品下不能有设备
int deviceCount=productMapper.deviceCountInProducts(productIds);
if(deviceCount>0){
return AjaxResult.error("删除失败,请先删除对应产品下的设备");
return AjaxResult.error(MessageUtils.message("delete.fail.please.delete.product.device"));
}
// 删除产品物模型
productMapper.deleteProductThingsModelByProductIds(productIds);
@@ -258,9 +259,9 @@ public class ProductServiceImpl implements IProductService
productAuthorizeMapper.deleteProductAuthorizeByProductIds(productIds);
// 删除产品
if(productMapper.deleteProductByProductIds(productIds)>0){
return AjaxResult.success("删除成功");
return AjaxResult.success(MessageUtils.message("delete.success"));
}
return AjaxResult.error("删除失败");
return AjaxResult.error(MessageUtils.message("delete.fail"));
}

View File

@@ -10,6 +10,7 @@ import com.fastbee.common.core.domain.model.LoginUser;
import com.fastbee.common.core.redis.RedisCache;
import com.fastbee.common.exception.ServiceException;
import com.fastbee.common.utils.DateUtils;
import com.fastbee.common.utils.MessageUtils;
import com.fastbee.common.utils.SecurityUtils;
import com.fastbee.common.utils.StringUtils;
import com.fastbee.common.utils.sign.Md5Utils;
@@ -220,13 +221,13 @@ public class SocialLoginServiceImpl implements ISocialLoginService {
}
@Override
public AjaxResult socialLogin(String loginId) {
public AjaxResult socialLogin(String loginId, String language) {
AjaxResult ajax = AjaxResult.success();
String loginKey = LOGIN_SOCIAL_REDIS_KEY + loginId;
LoginIdValue loginIdValue = redisCache.getCacheObject(loginKey);
if (loginIdValue != null) {
//login
String token = sysLoginService.redirectLogin(loginIdValue.getUsername(), loginIdValue.getPassword());
String token = sysLoginService.redirectLogin(loginIdValue.getUsername(), loginIdValue.getPassword(), language);
ajax.put(Constants.TOKEN, token);
} else {
log.info("loginId:{} ", loginId);
@@ -236,7 +237,7 @@ public class SocialLoginServiceImpl implements ISocialLoginService {
}
@Override
public AjaxResult bindLogin(BindLoginBody bindLoginBody) {
public AjaxResult bindLogin(BindLoginBody bindLoginBody, String language) {
BindIdValue bindValue = redisCache.getCacheObject(BIND_REDIS_KEY + bindLoginBody.getBindId());
SocialUser socialUser = findSocialUser(bindValue.getUuid(), bindValue.getSource());
AjaxResult checkAjax = checkSocialUser(socialUser, bindLoginBody.getBindId());
@@ -248,19 +249,19 @@ public class SocialLoginServiceImpl implements ISocialLoginService {
SysUser sysUser = iSysUserService.selectUserByUserName(bindLoginBody.getUsername());
if (sysUser == null) {
// 单独返回code用户不存在,给前端处理
return AjaxResult.error(HttpStatus.USER_NO_EXIST, "用户不存在");
return AjaxResult.error(HttpStatus.USER_NO_EXIST, MessageUtils.message("socialLogin.user.not.exist"));
}
// 自定义一下密码错误的提示
if(!SecurityUtils.matchesPassword(bindLoginBody.getPassword(), sysUser.getPassword())){
throw new ServiceException("密码错误");
throw new ServiceException(MessageUtils.message("password.fail"));
}
List<SocialUser> socialUserList = iSocialUserService.selectBySysUserId(sysUser.getUserId());
if (CollectionUtils.isNotEmpty(socialUserList)) {
throw new ServiceException("该账号已经绑定其他微信,请先解绑后重试!");
throw new ServiceException(MessageUtils.message("socialLogin.account.already.bind.other.wechat.please.unbind"));
}
// 生成令牌
String token = sysLoginService.login(bindLoginBody.getUsername(), bindLoginBody.getPassword(), bindLoginBody.getCode(),
bindLoginBody.getUuid());
bindLoginBody.getUuid(), language);
LoginUser loginUser = tokenService.getLoginUserByToken(token);
//绑定和更新
SocialUser updateSocialUser = new SocialUser();
@@ -274,7 +275,7 @@ public class SocialLoginServiceImpl implements ISocialLoginService {
}
@Override
public AjaxResult bindRegister(BindRegisterBody bindRegisterBody) {
public AjaxResult bindRegister(BindRegisterBody bindRegisterBody, String language) {
if (!("true".equals(iSysConfigService.selectConfigByKey("sys.account.registerUser")))) {
return error("当前系统没有开启注册功能!");
}
@@ -301,7 +302,7 @@ public class SocialLoginServiceImpl implements ISocialLoginService {
iSocialUserService.updateSocialUser(updateSocialUser);
redisCache.deleteObject(BIND_REDIS_KEY + bindRegisterBody.getBindId());
// 生成令牌
String token = sysLoginService.redirectLogin(sysUser.getUserName(), sysUser.getPassword());
String token = sysLoginService.redirectLogin(sysUser.getUserName(), sysUser.getPassword(), language);
ajax.put(Constants.TOKEN, token);
return ajax;
}
@@ -410,7 +411,7 @@ public class SocialLoginServiceImpl implements ISocialLoginService {
public AjaxResult checkSocialUser(SocialUser socialUser, String bindId) {
if (socialUser == null) {
log.info("bindId不存在, bindId: {}", bindId);
return error("绑定账户不存在");
return error(MessageUtils.message("bind.account.not.exist"));
} else {
return null;
}

View File

@@ -10,6 +10,7 @@ import com.fastbee.common.core.redis.RedisKeyBuilder;
import com.fastbee.common.enums.ThingsModelType;
import com.fastbee.common.exception.ServiceException;
import com.fastbee.common.utils.DateUtils;
import com.fastbee.common.utils.MessageUtils;
import com.fastbee.common.utils.StringUtils;
import com.fastbee.iot.domain.Product;
import com.fastbee.iot.domain.ThingsModel;
@@ -427,7 +428,7 @@ public class ThingsModelServiceImpl implements IThingsModelService {
*/
public String importData(List<ThingsModel> lists, Integer tempSlaveId) {
if (null == tempSlaveId || CollectionUtils.isEmpty(lists)) {
throw new ServiceException("导入数据异常");
throw new ServiceException(MessageUtils.message("things.model.import.data.exception"));
}
int success = 0;
int failure = 0;

View File

@@ -10,6 +10,7 @@ import com.fastbee.common.core.domain.entity.SysUser;
import com.fastbee.common.core.domain.model.LoginUser;
import com.fastbee.common.exception.ServiceException;
import com.fastbee.common.utils.DateUtils;
import com.fastbee.common.utils.MessageUtils;
import com.fastbee.common.utils.StringUtils;
import com.fastbee.iot.domain.ThingsModel;
import com.fastbee.iot.model.varTemp.EnumClass;
@@ -107,7 +108,7 @@ public class ThingsModelTemplateServiceImpl implements IThingsModelTemplateServi
return thingsModelTemplateMapper.insertThingsModelTemplate(template);
}catch (Exception e){
if (e.getMessage().contains("iot_things_modes_slaveId_reg")){
throw new ServiceException("同一个采集点模板下,寄存器地址重复,请检查导入变量寄存器地址");
throw new ServiceException(MessageUtils.message("things.model.register.address.repeat"));
}else {
throw new ServiceException(e.getMessage());
}
@@ -196,7 +197,7 @@ public class ThingsModelTemplateServiceImpl implements IThingsModelTemplateServi
*/
public String importData(List<ThingsModelTemplate> lists, String tempSlaveId) {
if (null == tempSlaveId || CollectionUtils.isEmpty(lists)) {
throw new ServiceException("导入数据异常");
throw new ServiceException(MessageUtils.message("things.model.import.data.exception"));
}
int success = 0;
int failure = 0;

View File

@@ -4,6 +4,7 @@ import com.fastbee.common.constant.HttpStatus;
import com.fastbee.common.core.domain.AjaxResult;
import com.fastbee.common.core.redis.RedisCache;
import com.fastbee.common.enums.SocialPlatformType;
import com.fastbee.common.utils.MessageUtils;
import com.fastbee.iot.domain.SocialUser;
import com.fastbee.iot.domain.UserSocialProfile;
import com.fastbee.iot.model.login.BindIdValue;
@@ -65,7 +66,7 @@ public class UserSocialProfileServiceImpl implements IUserSocialProfileService {
updateSocialUser.setSysUserId(sysUserId);
iSocialUserService.updateSocialUser(updateSocialUser);
redisCache.deleteObject(BIND_REDIS_KEY + bindId);
return AjaxResult.success("绑定成功!");
return AjaxResult.success(MessageUtils.message("bind.success"));
}
@Override
@@ -73,7 +74,7 @@ public class UserSocialProfileServiceImpl implements IUserSocialProfileService {
try {
SocialPlatformType.valueOf(platform);
} catch (Exception e) {
return AjaxResult.error("错误平台类型");
return AjaxResult.error(MessageUtils.message("socialLogin.platform.type.fail"));
}
return AjaxResult.success();
}
@@ -82,15 +83,15 @@ public class UserSocialProfileServiceImpl implements IUserSocialProfileService {
public AjaxResult unbindSocialAccount(Long socialUserId, Long sysUserId) {
SocialUser socialUser = iSocialUserService.selectSocialUserBySocialUserId(socialUserId);
if (socialUser == null) {
return AjaxResult.error("绑定账户不存在!");
return AjaxResult.error(MessageUtils.message("bind.account.not.exist"));
} else if (!socialUser.getSysUserId().equals(socialUserId)) {
return AjaxResult.error("用户账户和绑定账户不匹配!");
return AjaxResult.error(MessageUtils.message("user.account.and.bind.account.not.match"));
} else {
SocialUser updateSocialUser = new SocialUser();
updateSocialUser.setSocialUserId(socialUserId);
updateSocialUser.setSysUserId(-1L);
iSocialUserService.updateSocialUser(updateSocialUser);
return AjaxResult.success("解除绑定成功!");
return AjaxResult.success(MessageUtils.message("unbind.success"));
}
}

View File

@@ -21,14 +21,14 @@ public interface WeChatService {
* @param weChatLoginBody 微信登录参数
* @return String
*/
WeChatLoginResult mobileLogin(WeChatLoginBody weChatLoginBody);
WeChatLoginResult mobileLogin(WeChatLoginBody weChatLoginBody, String language);
/**
* 小程序微信登录
* @param weChatLoginBody 微信登录参数
* @return 登录结果
*/
WeChatLoginResult miniLogin(WeChatLoginBody weChatLoginBody);
WeChatLoginResult miniLogin(WeChatLoginBody weChatLoginBody, String language);
/**
* 取消所有相关微信绑定

View File

@@ -10,6 +10,7 @@ import com.fastbee.common.enums.SocialPlatformType;
import com.fastbee.common.enums.VerifyTypeEnum;
import com.fastbee.common.exception.ServiceException;
import com.fastbee.common.utils.DateUtils;
import com.fastbee.common.utils.MessageUtils;
import com.fastbee.common.utils.StringUtils;
import com.fastbee.common.utils.bean.BeanUtils;
import com.fastbee.common.utils.http.HttpUtils;
@@ -107,19 +108,19 @@ public class WeChatServiceImpl implements WeChatService {
* @param weChatLoginBody 微信登录参数
* @return String
*/
public WeChatLoginResult mobileLogin(WeChatLoginBody weChatLoginBody) {
public WeChatLoginResult mobileLogin(WeChatLoginBody weChatLoginBody, String language) {
WeChatLoginResult weChatLoginResult = new WeChatLoginResult();
SocialPlatformType socialPlatformType = SocialPlatformType.WECHAT_OPEN_MOBILE;
// 查询微信平台信息
SocialPlatform socialPlatform = socialPlatformService.selectSocialPlatformByPlatform(socialPlatformType.getSourceClient());
if (socialPlatform == null) {
throw new ServiceException("请先配置微信开放平台移动应用信息");
throw new ServiceException(MessageUtils.message("wechat.please.config.open.platform"));
}
// 用户凭证code只能消费一次前端调的uni.login有时会消费然后直接就把获取到的信息传过来不会消费的话就这里通过code拿
if (StringUtils.isEmpty(weChatLoginBody.getAccessToken()) || StringUtils.isEmpty(weChatLoginBody.getOpenId()) || StringUtils.isEmpty(weChatLoginBody.getUnionId())) {
WeChatAppResult weChatResult = this.getAccessTokenOpenId(weChatLoginBody.getCode(), socialPlatform);
if (weChatResult == null || weChatResult.getErrCode() != null) {
throw new ServiceException("用户凭证获取失败,请重新登录!");
throw new ServiceException(MessageUtils.message("wechat.user.certificate.gain.fail"));
}
weChatLoginBody.setAccessToken(weChatResult.getAccessToken()).setRefreshToken(weChatResult.getRefreshToken()).setExpiresIn(weChatResult.getExpiresIn()).setOpenId(weChatResult.getOpenId()).setUnionId(weChatResult.getUnionId()).setScope(weChatResult.getScope());
}
@@ -165,9 +166,9 @@ public class WeChatServiceImpl implements WeChatService {
} else {
SysUser sysUser = sysUserService.selectUserById(bindSysUserId);
if (sysUser == null) {
throw new ServiceException("用户不存在");
throw new ServiceException(MessageUtils.message("user.not.exist"));
}
String token = sysLoginService.redirectLogin(sysUser.getUserName(), sysUser.getPassword());
String token = sysLoginService.redirectLogin(sysUser.getUserName(), sysUser.getPassword(), language);
weChatLoginResult.setToken(token);
}
return weChatLoginResult;
@@ -179,26 +180,26 @@ public class WeChatServiceImpl implements WeChatService {
* @return 登录结果
*/
@Override
public WeChatLoginResult miniLogin(WeChatLoginBody weChatLoginBody) {
public WeChatLoginResult miniLogin(WeChatLoginBody weChatLoginBody, String language) {
// 使用微信手机号去登录不绑定微信,没有用户则用手机号自动注册一个登录,密码是手机号
SocialPlatformType socialPlatformType = SocialPlatformType.WECHAT_OPEN_MINI_PROGRAM;
// 查询微信平台信息
SocialPlatform socialPlatform = socialPlatformService.selectSocialPlatformByPlatform(socialPlatformType.getSourceClient());
if (socialPlatform == null) {
throw new ServiceException("请先配置微信公众平台小程序信息!");
throw new ServiceException(MessageUtils.message("wechat.please.config.open.platform.mini"));
}
if (StringUtils.isEmpty(weChatLoginBody.getPhoneCode())) {
throw new ServiceException("用户手机号凭证获取失败,请重新登录!");
throw new ServiceException(MessageUtils.message("wechat.user.phone.certificate.gain.fail"));
}
// 先获取token
WeChatAppResult result = getAccessToken(socialPlatform);
if (result == null || StringUtils.isEmpty(result.getAccessToken())) {
throw new ServiceException("获取用户调用凭据失败,请重新登录!");
throw new ServiceException(MessageUtils.message("wechat.user.certificate.gain.fail"));
}
// 根据phoneCode获取用户手机号
WeChatPhoneInfo userPhoneInfo = getWechatUserPhoneInfo(weChatLoginBody.getPhoneCode(), result.getAccessToken());
if (userPhoneInfo == null || !userPhoneInfo.getErrCode().equals("0")) {
throw new ServiceException("获取用户手机号失败,请重新登录!");
throw new ServiceException(MessageUtils.message("wechat.user.phone.certificate.gain.fail"));
}
String phoneNumber = userPhoneInfo.getPhoneInfo().getPhoneNumber();
SysUser sysUser = sysUserService.selectUserByPhoneNumber(phoneNumber);
@@ -214,9 +215,9 @@ public class WeChatServiceImpl implements WeChatService {
if (StringUtils.isNotEmpty(registerUserOutput.getMsg())) {
throw new ServiceException(registerUserOutput.getMsg());
}
token = sysLoginService.redirectLogin(phoneNumber, phoneNumber);
token = sysLoginService.redirectLogin(phoneNumber, phoneNumber, language);
} else {
token = sysLoginService.redirectLogin(sysUser.getUserName(), sysUser.getPassword());
token = sysLoginService.redirectLogin(sysUser.getUserName(), sysUser.getPassword(), language);
}
weChatLoginResult.setToken(token);
return weChatLoginResult;
@@ -252,21 +253,21 @@ public class WeChatServiceImpl implements WeChatService {
public AjaxResult cancelBind(WxCancelBindReqVO wxCancelBindReqVO) {
LoginUser loginUser = getLoginUser();
if (loginUser == null || loginUser.getUserId() == null) {
throw new ServiceException("请先登录后重试");
throw new ServiceException(MessageUtils.message("wechat.please.login"));
}
// 密码验证
if (VerifyTypeEnum.PASSWORD.getVerifyType().equals(wxCancelBindReqVO.getVerifyType())) {
if (StringUtils.isEmpty(wxCancelBindReqVO.getPassword())) {
throw new ServiceException("请传入用户密码");
throw new ServiceException(MessageUtils.message("wechat.please.enter.user.password"));
}
Boolean validateResult = sysUserService.validatePassword(loginUser.getUser().getPassword(), wxCancelBindReqVO.getPassword());
if (Boolean.FALSE.equals(validateResult)) {
throw new ServiceException("密码错误,请重新输入");
throw new ServiceException(MessageUtils.message("wechat.cancelBind.password.fail"));
}
}
// 解绑所有微信应用
int cancelBind = socialUserService.cancelBind(loginUser.getUserId(), SocialPlatformType.listWechatPlatform);
return cancelBind >= 1 ? success("解绑成功") : AjaxResult.error("解绑失败");
return cancelBind >= 1 ? success(MessageUtils.message("unbind.success")) : AjaxResult.error(MessageUtils.message("unbind.fail"));
}
/**
@@ -278,30 +279,30 @@ public class WeChatServiceImpl implements WeChatService {
public AjaxResult bind(WxBindReqVO wxBindReqVO) {
Long sysUserId = getUserId();
if (sysUserId == null) {
throw new ServiceException("请登录后重试");
throw new ServiceException(MessageUtils.message("wechat.please.login"));
}
String openId = "";
String unionId = "";
// 区分小程序绑定还是移动应用绑定
if (SocialPlatformType.WECHAT_OPEN_MOBILE.sourceClient.equals(wxBindReqVO.getSourceClient())) {
if (StringUtils.isEmpty(wxBindReqVO.getOpenId()) || StringUtils.isEmpty(wxBindReqVO.getUnionId())) {
throw new ServiceException("请传入微信用户信息");
throw new ServiceException(MessageUtils.message("wechat.please.enter.wechat.user.info"));
}
openId = wxBindReqVO.getOpenId();
unionId = wxBindReqVO.getUnionId();
} else if (SocialPlatformType.WECHAT_OPEN_MINI_PROGRAM.sourceClient.equals(wxBindReqVO.getSourceClient())) {
if (StringUtils.isEmpty(wxBindReqVO.getCode())) {
throw new ServiceException("请传入用户凭证");
throw new ServiceException(MessageUtils.message("wechat.please.enter.user.certificate"));
}
// 查询微信平台信息
SocialPlatform socialPlatform = socialPlatformService.selectSocialPlatformByPlatform(SocialPlatformType.WECHAT_OPEN_MINI_PROGRAM.sourceClient);
if (socialPlatform == null) {
throw new ServiceException("请先配置微信开放平台小程序信息!");
throw new ServiceException(MessageUtils.message("wechat.please.config.open.platform.mini"));
}
WeChatMiniProgramResult weChatMiniProgramResult = this.codeToSession(wxBindReqVO.getCode(), socialPlatform);
if (weChatMiniProgramResult == null
|| (StringUtils.isEmpty(weChatMiniProgramResult.getOpenId()) && StringUtils.isEmpty(weChatMiniProgramResult.getUnionId()))) {
throw new ServiceException("获取微信信息失败,请重试!");
throw new ServiceException(MessageUtils.message("wechat.gain.wechat.info.fail"));
}
openId = weChatMiniProgramResult.getOpenId();
unionId = weChatMiniProgramResult.getUnionId();
@@ -311,11 +312,11 @@ public class WeChatServiceImpl implements WeChatService {
int bindResult;
List<SocialUser> socialUserList = socialUserService.selectBySysUserId(sysUserId);
if (CollectionUtils.isNotEmpty(socialUserList)) {
return success("绑定成功!");
return success(MessageUtils.message("bind.success"));
}
if (socialUser != null) {
if (socialUser.getSysUserId() != null && !sysUserId.equals(socialUser.getSysUserId())) {
throw new ServiceException("该微信已绑定其他账号,请先使用微信登录解绑后重试!");
throw new ServiceException(MessageUtils.message("wechat.this.wechat.already.bind.other.account"));
}
SocialUser updateSocialUser = new SocialUser();
updateSocialUser.setSocialUserId(socialUser.getSocialUserId());
@@ -334,19 +335,19 @@ public class WeChatServiceImpl implements WeChatService {
bindResult = socialUserService.insertSocialUser(insertSocialUser);
}
// 绑定
return bindResult >= 1 ? success("绑定成功!") : AjaxResult.error("绑定失败");
return bindResult >= 1 ? success(MessageUtils.message("bind.success")) : AjaxResult.error(MessageUtils.message("bind.fail"));
}
@Override
public AjaxResult getWxBindQr(HttpServletRequest httpServletRequest) {
Long sysUserId = getUserId();
if (sysUserId == null) {
throw new ServiceException("请先登录后重试!");
throw new ServiceException(MessageUtils.message("wechat.please.login"));
}
WeChatLoginQrRes weChatLoginQrRes = new WeChatLoginQrRes();
SocialPlatform socialPlatform = socialPlatformService.selectSocialPlatformByPlatform(SocialPlatformType.WECHAT_OPEN_WEB_BIND.sourceClient);
if (socialPlatform == null) {
throw new ServiceException("请先配置微信开放平台网站应用个人中心绑定信息");
throw new ServiceException(MessageUtils.message("wechat.please.config.open.platform.web.application.personal.bind.info"));
}
weChatLoginQrRes.setAppid(socialPlatform.getClientId());
weChatLoginQrRes.setScope("snsapi_login");
@@ -362,36 +363,36 @@ public class WeChatServiceImpl implements WeChatService {
SocialPlatform socialPlatform = socialPlatformService.selectSocialPlatformByPlatform(SocialPlatformType.WECHAT_OPEN_WEB_BIND.sourceClient);
if (socialPlatform == null) {
String serverName = httpServletRequest.getServerName();
String msgId = socialLoginService.genErrorId("请先配置微信开放平台网站应用个人中心绑定信息");
String msgId = socialLoginService.genErrorId(MessageUtils.message("wechat.please.config.open.platform.web.application.personal.bind.info"));
return "https://" + serverName + "/user/profile?wxBindMsgId=" + msgId;
}
String url = socialPlatform.getRedirectLoginUri();
//获取临时票据 code
log.info("code:{}", code);
if (StringUtils.isEmpty(code)) {
String msgId = socialLoginService.genErrorId("您已取消授权或未获取到授权信息");
String msgId = socialLoginService.genErrorId(MessageUtils.message("wechat.you.cancel.or.not.gain.authorization.info"));
return url + msgId;
}
Long sysUserId = redisCache.getCacheObject(WX_BIND_REDIS_KEY + wxBindId);
if (sysUserId == null) {
String msgId = socialLoginService.genErrorId("二维码已失效,请重新点击绑定");
String msgId = socialLoginService.genErrorId(MessageUtils.message("wechat.the.qr.code.has.expired"));
return url + msgId;
}
List<SocialUser> socialUserList = socialUserService.selectBySysUserId(sysUserId);
if (CollectionUtils.isNotEmpty(socialUserList)) {
String msgId = socialLoginService.genErrorId("您的账号已绑定微信,请先解绑");
String msgId = socialLoginService.genErrorId(MessageUtils.message("wechat.your.account.already.bind.wechat"));
return url + msgId;
}
// 组装获取accessToken的url
WeChatAppResult weChatAppResult = this.getAccessTokenOpenId(code, socialPlatform);
if (weChatAppResult == null || StringUtils.isEmpty(weChatAppResult.getAccessToken())
|| StringUtils.isEmpty(weChatAppResult.getOpenId()) || StringUtils.isEmpty(weChatAppResult.getUnionId())) {
String msgId = socialLoginService.genErrorId("获取微信信息失败,请重试");
String msgId = socialLoginService.genErrorId(MessageUtils.message("wechat.gain.wechat.info.fail"));
return url + msgId;
}
Long bindUserId = socialUserService.selectSysUserIdByUnionId(weChatAppResult.getUnionId());
if (bindUserId != null && !bindUserId.equals(sysUserId)) {
String msgId = socialLoginService.genErrorId("您的微信已绑定其他账号,请先使用微信登录解绑后重试!");
String msgId = socialLoginService.genErrorId(MessageUtils.message("wechat.your.wechat.already.bind.other.account"));
return url + msgId;
}
SocialUser socialUser = socialUserService.selectOneByOpenIdAndUnionId(weChatAppResult.getOpenId(), weChatAppResult.getUnionId());

View File

@@ -0,0 +1,70 @@
package com.fastbee.system.convert;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.fastbee.system.domain.AppLanguage;
import com.fastbee.system.domain.vo.AppLanguageVO;
import org.mapstruct.Mapper;
import org.mapstruct.factory.Mappers;
import java.util.List;
/**
* app语言Convert转换类
*
* @author zhuangpeng.li
* @date 2024-11-25
*/
@Mapper
public interface AppLanguageConvert
{
AppLanguageConvert INSTANCE = Mappers.getMapper(AppLanguageConvert.class);
/**
* 实体类转换为VO类
*
* @param appLanguage
* @return app语言集合
*/
AppLanguageVO convertAppLanguageVO(AppLanguage appLanguage);
/**
* VO类转换为实体类集合
*
* @param appLanguageVO
* @return app语言集合
*/
AppLanguage convertAppLanguage(AppLanguageVO appLanguageVO);
/**
* 实体类转换为VO类集合
*
* @param appLanguageList
* @return app语言集合
*/
List<AppLanguageVO> convertAppLanguageVOList(List<AppLanguage> appLanguageList);
/**
* VO类转换为实体类
*
* @param appLanguageVOList
* @return app语言集合
*/
List<AppLanguage> convertAppLanguageList(List<AppLanguageVO> appLanguageVOList);
/**
* 实体类转换为VO类分页
*
* @param appLanguagePage
* @return app语言分页
*/
Page<AppLanguageVO> convertAppLanguageVOPage(Page<AppLanguage> appLanguagePage);
/**
* VO类转换为实体类
*
* @param appLanguageVOPage
* @return app语言分页
*/
Page<AppLanguage> convertAppLanguagePage(Page<AppLanguageVO> appLanguageVOPage);
}

View File

@@ -0,0 +1,70 @@
package com.fastbee.system.convert;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.fastbee.system.domain.AppPreferences;
import com.fastbee.system.domain.vo.AppPreferencesVO;
import org.mapstruct.Mapper;
import org.mapstruct.factory.Mappers;
import java.util.List;
/**
* APP用户偏好设置Convert转换类
*
* @author fastbee
* @date 2024-12-03
*/
@Mapper
public interface AppPreferencesConvert
{
AppPreferencesConvert INSTANCE = Mappers.getMapper(AppPreferencesConvert.class);
/**
* 实体类转换为VO类
*
* @param appPreferences
* @return APP用户偏好设置集合
*/
AppPreferencesVO convertAppPreferencesVO(AppPreferences appPreferences);
/**
* VO类转换为实体类集合
*
* @param appPreferencesVO
* @return APP用户偏好设置集合
*/
AppPreferences convertAppPreferences(AppPreferencesVO appPreferencesVO);
/**
* 实体类转换为VO类集合
*
* @param appPreferencesList
* @return APP用户偏好设置集合
*/
List<AppPreferencesVO> convertAppPreferencesVOList(List<AppPreferences> appPreferencesList);
/**
* VO类转换为实体类
*
* @param appPreferencesVOList
* @return APP用户偏好设置集合
*/
List<AppPreferences> convertAppPreferencesList(List<AppPreferencesVO> appPreferencesVOList);
/**
* 实体类转换为VO类分页
*
* @param appPreferencesPage
* @return APP用户偏好设置分页
*/
Page<AppPreferencesVO> convertAppPreferencesVOPage(Page<AppPreferences> appPreferencesPage);
/**
* VO类转换为实体类
*
* @param appPreferencesVOPage
* @return APP用户偏好设置分页
*/
Page<AppPreferences> convertAppPreferencesPage(Page<AppPreferencesVO> appPreferencesVOPage);
}

View File

@@ -0,0 +1,56 @@
package com.fastbee.system.domain;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fastbee.common.core.domain.PageEntity;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.io.Serializable;
import java.util.Date;
/**
* app语言对象 app_language
*/
@EqualsAndHashCode(callSuper = true)
@ApiModel(value = "AppLanguage", description = "app语言 app_language")
@Data
@TableName("app_language" )
public class AppLanguage extends PageEntity implements Serializable {
private static final long serialVersionUID=1L;
/** 主键ID */
@TableId(value = "id", type = IdType.AUTO)
@ApiModelProperty("主键ID")
private Long id;
/** 语言 */
@ApiModelProperty("语言")
private String language;
/** 国家 */
@ApiModelProperty("国家")
private String country;
/** 时区 */
@ApiModelProperty("时区")
private String timeZone;
/** 创建者 */
@ApiModelProperty("创建者")
private String createBy;
/** 创建时间 */
@JsonFormat(pattern = "yyyy-MM-dd")
@ApiModelProperty("创建时间")
private Date createTime;
/** 语言名称 */
@ApiModelProperty("语言名称")
private String langName;
}

View File

@@ -0,0 +1,44 @@
package com.fastbee.system.domain;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fastbee.common.core.domain.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.io.Serializable;
/**
* APP用户偏好设置对象 app_preferences
*
* @author fastbee
* @date 2024-12-03
*/
@EqualsAndHashCode(callSuper = true)
@ApiModel(value = "AppPreferences", description = "APP用户偏好设置 app_preferences")
@Data
@TableName("app_preferences" )
public class AppPreferences extends BaseEntity implements Serializable{
private static final long serialVersionUID=1L;
/** 主键id */
@TableId(value = "id", type = IdType.AUTO)
@ApiModelProperty("主键id")
private Long id;
/** 用户 */
@ApiModelProperty("用户")
private Long userId;
/** 语言 */
@ApiModelProperty("语言")
private String language;
/** 时区 */
@ApiModelProperty("时区")
private String timeZone;
}

View File

@@ -0,0 +1,34 @@
package com.fastbee.system.domain;
import com.fastbee.common.annotation.Excel;
import com.fastbee.common.core.domain.BaseEntity;
import lombok.Data;
/**
* 翻译对象 sys_translate
*
* @author ruoyi
*/
@Data
public class SysTranslate extends BaseEntity
{
private static final long serialVersionUID = 1L;
/** ID */
@Excel(name = "ID")
private Long id;
/** zh_CN */
@Excel(name = "zh-CN")
private String zh_CN;
/** en_US */
@Excel(name = "en-US")
private String en_US;
/** 物模型翻译表使用 */
private Long productId;
private String tableName;
}

View File

@@ -0,0 +1,60 @@
package com.fastbee.system.domain.vo;
import com.fastbee.common.annotation.Excel;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.Date;
/**
* app语言对象 app_language
*
* @author zhuangpeng.li
* @date 2024-11-25
*/
@ApiModel(value = "AppLanguageVO", description = "app语言 app_language")
@Data
public class AppLanguageVO {
/** 主键ID */
@Excel(name = "主键ID")
@ApiModelProperty("主键ID")
private Long id;
/** 语言 */
@Excel(name = "语言")
@ApiModelProperty("语言")
private String language;
/** 国家 */
@Excel(name = "国家")
@ApiModelProperty("国家")
private String country;
/** 时区 */
@Excel(name = "时区")
@ApiModelProperty("时区")
private String timeZone;
/** 创建者 */
@Excel(name = "创建者")
@ApiModelProperty("创建者")
private String createBy;
/** 创建时间 */
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@ApiModelProperty("创建时间")
@Excel(name = "创建时间")
private Date createTime;
/** 语言名称 */
@Excel(name = "语言名称")
@ApiModelProperty("语言名称")
private String langName;
}

View File

@@ -0,0 +1,71 @@
package com.fastbee.system.domain.vo;
import com.fastbee.common.annotation.Excel;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.Date;
/**
* APP用户偏好设置对象 app_preferences
*
* @author fastbee
* @date 2024-12-03
*/
@ApiModel(value = "AppPreferencesVO", description = "APP用户偏好设置 app_preferences")
@Data
public class AppPreferencesVO {
/** 主键id */
@Excel(name = "主键id")
@ApiModelProperty("主键id")
private Long id;
/** 用户 */
@Excel(name = "用户")
@ApiModelProperty("用户")
private Long userId;
/** 语言 */
@Excel(name = "语言")
@ApiModelProperty("语言")
private String language;
/** 时区 */
@Excel(name = "时区")
@ApiModelProperty("时区")
private String timeZone;
/** 创建者 */
@Excel(name = "创建者")
@ApiModelProperty("创建者")
private String createBy;
/** 创建时间 */
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@ApiModelProperty("创建时间")
@Excel(name = "创建时间")
private Date createTime;
/** 更新者 */
@Excel(name = "更新者")
@ApiModelProperty("更新者")
private String updateBy;
/** 更新时间 */
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@ApiModelProperty("更新时间")
@Excel(name = "更新时间")
private Date updateTime;
/** 备注 */
@Excel(name = "备注")
@ApiModelProperty("备注")
private String remark;
}

View File

@@ -0,0 +1,13 @@
package com.fastbee.system.mapper;
import com.fastbee.common.mybatis.mapper.BaseMapperX;
import com.fastbee.system.domain.AppLanguage;
/**
* app语言Mapper接口
*/
public interface AppLanguageMapper extends BaseMapperX<AppLanguage>
{
}

View File

@@ -0,0 +1,14 @@
package com.fastbee.system.mapper;
import com.fastbee.common.mybatis.mapper.BaseMapperX;
import com.fastbee.system.domain.AppPreferences;
/**
* APP用户偏好设置Mapper接口
*/
public interface AppPreferencesMapper extends BaseMapperX<AppPreferences>
{
}

View File

@@ -42,7 +42,15 @@ public interface SysDictDataMapper
* @param dictCode 字典数据ID
* @return 字典数据
*/
public SysDictData selectDictDataById(Long dictCode);
public SysDictData selectDictDataById(@Param("dictCode") Long dictCode, @Param("language") String language);
/**
* 根据条件分页查询字典数据--返回所有语言
*
* @param dictData 字典数据信息
* @return 字典数据集合信息
*/
public List<SysDictData> selectDictDataListAll(SysDictData dictData);
/**
* 查询字典数据

View File

@@ -1,7 +1,10 @@
package com.fastbee.system.mapper;
import java.util.List;
import com.fastbee.common.core.domain.entity.SysDictData;
import com.fastbee.common.core.domain.entity.SysDictType;
import org.apache.ibatis.annotations.Param;
/**
* 字典表 数据层
@@ -23,7 +26,7 @@ public interface SysDictTypeMapper
*
* @return 字典类型集合信息
*/
public List<SysDictType> selectDictTypeAll();
public List<SysDictType> selectDictTypeAll(@Param("language") String language);
/**
* 根据字典类型ID查询信息
@@ -31,7 +34,7 @@ public interface SysDictTypeMapper
* @param dictId 字典类型ID
* @return 字典类型
*/
public SysDictType selectDictTypeById(Long dictId);
public SysDictType selectDictTypeById(@Param("dictId") Long dictId, @Param("language") String language);
/**
* 根据字典类型查询信息
@@ -39,7 +42,7 @@ public interface SysDictTypeMapper
* @param dictType 字典类型
* @return 字典类型
*/
public SysDictType selectDictTypeByType(String dictType);
public SysDictType selectDictTypeByType(@Param("dictType") String dictType, @Param("language") String language);
/**
* 通过字典ID删除字典信息
@@ -79,5 +82,5 @@ public interface SysDictTypeMapper
* @param dictType 字典类型
* @return 结果
*/
public SysDictType checkDictTypeUnique(String dictType);
public List<SysDictType> checkDictTypeUnique(@Param("dictType") String dictType, @Param("language") String language);
}

View File

@@ -55,7 +55,7 @@ public interface SysMenuMapper
*
* @return 菜单列表
*/
public List<SysMenu> selectMenuTreeAll();
public List<SysMenu> selectMenuTreeAll(@Param("language") String language);
/**
* 根据用户ID查询菜单
@@ -63,7 +63,7 @@ public interface SysMenuMapper
* @param userId 用户ID
* @return 菜单列表
*/
public List<SysMenu> selectMenuTreeByUserId(Long userId);
public List<SysMenu> selectMenuTreeByUserId(@Param("userId") Long userId, @Param("language") String language);
/**
* 根据角色ID查询菜单树信息
@@ -80,7 +80,7 @@ public interface SysMenuMapper
* @param menuId 菜单ID
* @return 菜单信息
*/
public SysMenu selectMenuById(Long menuId);
public SysMenu selectMenuById(@Param("menuId") Long menuId, @Param("language") String language);
/**
* 是否存在菜单子节点

View File

@@ -0,0 +1,46 @@
package com.fastbee.system.mapper;
import com.fastbee.common.mybatis.mapper.BaseMapperX;
import com.fastbee.system.domain.SysTranslate;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* 翻译Mapper接口
*
* @author kerwincui
* @date 2024-05-29
*/
@Mapper
public interface SysTranslateMapper extends BaseMapperX<SysTranslate>
{
/**
* 新增或修改翻译
*
* @param sysTranslate 翻译
* @return 结果
*/
public int insertSysTranslate(SysTranslate sysTranslate);
/**
* 查询翻译列表
*
* @param sysTranslate 翻译
* @return 翻译集合
*/
public List<SysTranslate> selectSysTranslateList(SysTranslate sysTranslate);
/**
* 查询原表数据列表
*
* @param tableName 表名
* @param idColumn id列名
* @param nameColumn 名称列名
* @return 翻译集合
*/
public List<SysTranslate> selectSourceList(@Param("tableName") String tableName, @Param("idColumn") String idColumn, @Param("nameColumn") String nameColumn, @Param("productId") Long productId);
}

View File

@@ -0,0 +1,54 @@
package com.fastbee.system.service;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.fastbee.system.domain.AppLanguage;
import com.fastbee.system.domain.vo.AppLanguageVO;
/**
* app语言Service接口
*/
public interface IAppLanguageService extends IService<AppLanguage>
{
/**
* 查询app语言
*
* @param id app语言主键
* @return app语言
*/
public AppLanguage selectAppLanguageById(Long id);
/**
* 查询app语言列表
*
* @param appLanguage app语言
* @return app语言分页集合
*/
Page<AppLanguageVO> pageAppLanguageVO(AppLanguage appLanguage);
/**
* 新增app语言
*
* @param appLanguage app语言
* @return 结果
*/
public int insertAppLanguage(AppLanguage appLanguage);
/**
* 修改app语言
*
* @param appLanguage app语言
* @return 结果
*/
public int updateAppLanguage(AppLanguage appLanguage);
/**
* 批量删除app语言
*
* @param ids 需要删除的app语言主键集合
* @return 结果
*/
public int deleteAppLanguageByIds(Long[] ids);
}

View File

@@ -0,0 +1,86 @@
package com.fastbee.system.service;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.fastbee.system.domain.AppPreferences;
import com.fastbee.system.domain.vo.AppPreferencesVO;
import java.util.List;
/**
* APP用户偏好设置Service接口
*/
public interface IAppPreferencesService extends IService<AppPreferences>
{
/**
* 查询APP用户偏好设置列表
*
* @param appPreferences APP用户偏好设置
* @return APP用户偏好设置分页集合
*/
Page<AppPreferencesVO> pageAppPreferencesVO(AppPreferences appPreferences);
/**
* 查询APP用户偏好设置
*
* @param userId APP用户偏好设置主键
* @return APP用户偏好设置
*/
public AppPreferences selectAppPreferencesByUserId(Long userId);
/**
* 查询APP用户偏好设置列表
*
* @param appPreferences APP用户偏好设置
* @return APP用户偏好设置集合
*/
List<AppPreferencesVO> listAppPreferencesVO(AppPreferences appPreferences);
/**
* 新增APP用户偏好设置
*
* @param appPreferences APP用户偏好设置
* @return 结果
*/
public int insertAppPreferences(AppPreferences appPreferences);
/**
* 修改APP用户偏好设置
*
* @param appPreferences APP用户偏好设置
* @return 结果
*/
public int updateAppPreferences(AppPreferences appPreferences);
/**
* 批量删除APP用户偏好设置
*
* @param userIds 需要删除的APP用户偏好设置主键集合
* @return 结果
*/
public int deleteAppPreferencesByUserIds(Long[] userIds);
/**
* 删除APP用户偏好设置信息
*
* @param userId APP用户偏好设置主键
* @return 结果
*/
public int deleteAppPreferencesByUserId(Long userId);
/**
* 新增或者更新用户偏好设置
* @param appPreferences
* @return
*/
public int addOrUpdate(AppPreferences appPreferences);
/**
* 获取用户偏好语言
* @param userId
* @return
*/
public String getLanguage(Long userId);
}

View File

@@ -50,9 +50,10 @@ public interface ISysMenuService
* 根据用户ID查询菜单树信息
*
* @param userId 用户ID
* @param language 语言
* @return 菜单列表
*/
public List<SysMenu> selectMenuTreeByUserId(Long userId);
public List<SysMenu> selectMenuTreeByUserId(Long userId, String language);
/**
* 根据角色ID查询菜单树信息

View File

@@ -0,0 +1,37 @@
package com.fastbee.system.service;
import com.fastbee.system.domain.SysTranslate;
import java.util.List;
/**
* 翻译Service接口
*
* @author kerwincui
* @date 2024-05-29
*/
public interface ISysTranslateService
{
/**
* 导入翻译列表
* @param list
* @return
*/
public void importSysTranslate(List<SysTranslate> list, String type, Long productId);
/**
* 查询翻译列表
* @param sysTranslate 翻译类
* @return 翻译列表
*/
public List<SysTranslate> selectSysTranslateList(SysTranslate sysTranslate, String type);
/**
* 查询原表数据列表
* @param type
* @return
*/
public List<SysTranslate> selectSourceList(String type, Long productId);
}

View File

@@ -0,0 +1,106 @@
package com.fastbee.system.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.fastbee.common.utils.StringUtils;
import com.fastbee.system.convert.AppLanguageConvert;
import com.fastbee.system.domain.AppLanguage;
import com.fastbee.system.domain.vo.AppLanguageVO;
import com.fastbee.system.mapper.AppLanguageMapper;
import com.fastbee.system.service.IAppLanguageService;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.Arrays;
import java.util.Map;
import java.util.Objects;
/**
* app语言Service业务层处理
*/
@Service
public class AppLanguageServiceImpl extends ServiceImpl<AppLanguageMapper,AppLanguage> implements IAppLanguageService
{
@Resource
private AppLanguageMapper appLanguageMapper;
/**
* 查询app语言
*
* @param id app语言主键
* @return app语言
*/
@Override
public AppLanguage selectAppLanguageById(Long id)
{
return appLanguageMapper.selectById(id);
}
/**
* 查询app语言分页列表
*
* @param appLanguage app语言
* @return app语言
*/
@Override
public Page<AppLanguageVO> pageAppLanguageVO(AppLanguage appLanguage) {
LambdaQueryWrapper<AppLanguage> lqw = buildQueryWrapper(appLanguage);
Page<AppLanguage> appLanguagePage = baseMapper.selectPage(new Page<>(appLanguage.getPageNum(), appLanguage.getPageSize()), lqw);
return AppLanguageConvert.INSTANCE.convertAppLanguageVOPage(appLanguagePage);
}
private LambdaQueryWrapper<AppLanguage> buildQueryWrapper(AppLanguage query) {
Map<String, Object> params = query.getParams();
LambdaQueryWrapper<AppLanguage> lqw = Wrappers.lambdaQuery();
lqw.eq(StringUtils.isNotBlank(query.getLanguage()), AppLanguage::getLanguage, query.getLanguage());
lqw.eq(StringUtils.isNotBlank(query.getCountry()), AppLanguage::getCountry, query.getCountry());
lqw.eq(StringUtils.isNotBlank(query.getTimeZone()), AppLanguage::getTimeZone, query.getTimeZone());
lqw.like(StringUtils.isNotBlank(query.getLangName()), AppLanguage::getLangName, query.getLangName());
if (!Objects.isNull(params.get("beginTime")) &&
!Objects.isNull(params.get("endTime"))) {
lqw.between(AppLanguage::getCreateTime, params.get("beginTime"), params.get("endTime"));
}
return lqw;
}
/**
* 新增app语言
*
* @param appLanguage app语言
* @return 结果
*/
@Override
public int insertAppLanguage(AppLanguage appLanguage)
{
return appLanguageMapper.insert(appLanguage);
}
/**
* 修改app语言
*
* @param appLanguage app语言
* @return 结果
*/
@Override
public int updateAppLanguage(AppLanguage appLanguage)
{
return appLanguageMapper.updateById(appLanguage);
}
/**
* 批量删除app语言
*
* @param ids 需要删除的app语言主键
* @return 结果
*/
@Override
public int deleteAppLanguageByIds(Long[] ids)
{
return appLanguageMapper.deleteBatchIds(Arrays.asList(ids));
}
}

View File

@@ -0,0 +1,180 @@
package com.fastbee.system.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.fastbee.common.enums.Language;
import com.fastbee.common.utils.SecurityUtils;
import com.fastbee.common.utils.DateUtils;
import com.fastbee.common.utils.StringUtils;
import com.fastbee.system.convert.AppPreferencesConvert;
import com.fastbee.system.domain.AppPreferences;
import com.fastbee.system.domain.vo.AppPreferencesVO;
import com.fastbee.system.mapper.AppPreferencesMapper;
import com.fastbee.system.service.IAppPreferencesService;
import org.springframework.stereotype.Service;
import java.util.Arrays;
import java.util.List;
import java.util.Map;
import java.util.Objects;
/**
* APP用户偏好设置Service业务层处理
*/
@Service
public class AppPreferencesServiceImpl extends ServiceImpl<AppPreferencesMapper,AppPreferences> implements IAppPreferencesService
{
/**
* 查询APP用户偏好设置分页列表
*
* @param appPreferences APP用户偏好设置
* @return APP用户偏好设置
*/
@Override
public Page<AppPreferencesVO> pageAppPreferencesVO(AppPreferences appPreferences) {
LambdaQueryWrapper<AppPreferences> lqw = buildQueryWrapper(appPreferences);
Page<AppPreferences> appPreferencesPage = baseMapper.selectPage(new Page<>(appPreferences.getPageNum(), appPreferences.getPageSize()), lqw);
return AppPreferencesConvert.INSTANCE.convertAppPreferencesVOPage(appPreferencesPage);
}
/**
* 查询APP用户偏好设置
*
* @param userId APP用户偏好设置主键
* @return APP用户偏好设置
*/
@Override
public AppPreferences selectAppPreferencesByUserId(Long userId)
{
LambdaQueryWrapper<AppPreferences> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(AppPreferences::getUserId, userId);
AppPreferences appPreferences = baseMapper.selectOne(queryWrapper);
if (appPreferences == null){
appPreferences = new AppPreferences();
}
// 设置默认语言
if (StringUtils.isEmpty(appPreferences.getLanguage())) {
appPreferences.setLanguage(Language.DEFAULT.getValue());
}
return appPreferences;
}
/**
* 查询APP用户偏好设置列表
*
* @param appPreferences APP用户偏好设置
* @return APP用户偏好设置
*/
@Override
public List<AppPreferencesVO> listAppPreferencesVO(AppPreferences appPreferences) {
LambdaQueryWrapper<AppPreferences> lqw = buildQueryWrapper(appPreferences);
List<AppPreferences> appPreferencesList = baseMapper.selectList(lqw);
return AppPreferencesConvert.INSTANCE.convertAppPreferencesVOList(appPreferencesList);
}
/**
* 新增APP用户偏好设置
*
* @param appPreferences APP用户偏好设置
* @return 结果
*/
@Override
public int insertAppPreferences(AppPreferences appPreferences)
{
appPreferences.setCreateTime(DateUtils.getNowDate());
return baseMapper.insert(appPreferences);
}
/**
* 修改APP用户偏好设置
*
* @param appPreferences APP用户偏好设置
* @return 结果
*/
@Override
public int updateAppPreferences(AppPreferences appPreferences)
{
appPreferences.setUpdateTime(DateUtils.getNowDate());
return baseMapper.updateById(appPreferences);
}
/**
* 批量删除APP用户偏好设置
*
* @param userIds 需要删除的APP用户偏好设置主键
* @return 结果
*/
@Override
public int deleteAppPreferencesByUserIds(Long[] userIds)
{
LambdaUpdateWrapper<AppPreferences> query = new LambdaUpdateWrapper<>();
query.in(AppPreferences::getUserId, Arrays.asList(userIds));
return baseMapper.delete(query);
}
/**
* 删除APP用户偏好设置信息
*
* @param userId APP用户偏好设置主键
* @return 结果
*/
@Override
public int deleteAppPreferencesByUserId(Long userId)
{
LambdaUpdateWrapper<AppPreferences> query = new LambdaUpdateWrapper<>();
query.eq(AppPreferences::getUserId, userId);
return baseMapper.delete(query);
}
/**
* 新增或者更新用户偏好设置
* @param appPreferences
* @return
*/
@Override
public int addOrUpdate(AppPreferences appPreferences)
{
if (Objects.isNull(appPreferences.getId())){
appPreferences.setUserId(SecurityUtils.getUserId());
}
AppPreferences preferences = this.selectAppPreferencesByUserId(SecurityUtils.getUserId());
if (!Objects.isNull(preferences)){
return baseMapper.updateById(appPreferences);
} else {
return baseMapper.insert(appPreferences);
}
}
/**
* 获取用户偏好语言
* @param userId
* @return
*/
@Override
public String getLanguage(Long userId) {
AppPreferences appPreferences = selectAppPreferencesByUserId(userId);
return appPreferences.getLanguage();
}
private LambdaQueryWrapper<AppPreferences> buildQueryWrapper(AppPreferences query) {
Map<String, Object> params = query.getParams();
LambdaQueryWrapper<AppPreferences> lqw = Wrappers.lambdaQuery();
lqw.eq(query.getUserId() != null, AppPreferences::getUserId, query.getUserId());
lqw.eq(StringUtils.isNotBlank(query.getLanguage()), AppPreferences::getLanguage, query.getLanguage());
lqw.eq(StringUtils.isNotBlank(query.getTimeZone()), AppPreferences::getTimeZone, query.getTimeZone());
if (!Objects.isNull(params.get("beginTime")) &&
!Objects.isNull(params.get("endTime"))) {
lqw.between(AppPreferences::getCreateTime, params.get("beginTime"), params.get("endTime"));
}
return lqw;
}
}

View File

@@ -1,6 +1,8 @@
package com.fastbee.system.service.impl;
import java.util.List;
import com.fastbee.common.utils.SecurityUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.fastbee.common.core.domain.entity.SysDictData;
@@ -28,6 +30,7 @@ public class SysDictDataServiceImpl implements ISysDictDataService
@Override
public List<SysDictData> selectDictDataList(SysDictData dictData)
{
dictData.setLanguage(SecurityUtils.getLanguage());
return dictDataMapper.selectDictDataList(dictData);
}
@@ -53,7 +56,7 @@ public class SysDictDataServiceImpl implements ISysDictDataService
@Override
public SysDictData selectDictDataById(Long dictCode)
{
return dictDataMapper.selectDictDataById(dictCode);
return dictDataMapper.selectDictDataById(dictCode, SecurityUtils.getLanguage());
}
/**

View File

@@ -12,13 +12,16 @@ import com.fastbee.system.service.ISysDictTypeService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import com.fastbee.common.utils.SecurityUtils;
import javax.annotation.PostConstruct;
import java.util.Comparator;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
import static com.fastbee.common.constant.Constants.EN_US;
import static com.fastbee.common.constant.Constants.ZH_CN;
/**
* 字典 业务层处理
*
@@ -51,6 +54,7 @@ public class SysDictTypeServiceImpl implements ISysDictTypeService
@Override
public List<SysDictType> selectDictTypeList(SysDictType dictType)
{
dictType.setLanguage(SecurityUtils.getLanguage());
return dictTypeMapper.selectDictTypeList(dictType);
}
@@ -62,7 +66,7 @@ public class SysDictTypeServiceImpl implements ISysDictTypeService
@Override
public List<SysDictType> selectDictTypeAll()
{
return dictTypeMapper.selectDictTypeAll();
return dictTypeMapper.selectDictTypeAll(SecurityUtils.getLanguage());
}
/**
@@ -77,12 +81,14 @@ public class SysDictTypeServiceImpl implements ISysDictTypeService
List<SysDictData> dictDatas = DictUtils.getDictCache(dictType);
if (StringUtils.isNotEmpty(dictDatas))
{
convertDictLabel(dictDatas, SecurityUtils.getLanguage());
return dictDatas;
}
dictDatas = dictDataMapper.selectDictDataByType(dictType);
if (StringUtils.isNotEmpty(dictDatas))
{
DictUtils.setDictCache(dictType, dictDatas);
convertDictLabel(dictDatas, SecurityUtils.getLanguage());
return dictDatas;
}
return null;
@@ -97,7 +103,7 @@ public class SysDictTypeServiceImpl implements ISysDictTypeService
@Override
public SysDictType selectDictTypeById(Long dictId)
{
return dictTypeMapper.selectDictTypeById(dictId);
return dictTypeMapper.selectDictTypeById(dictId, SecurityUtils.getLanguage());
}
/**
@@ -109,7 +115,7 @@ public class SysDictTypeServiceImpl implements ISysDictTypeService
@Override
public SysDictType selectDictTypeByType(String dictType)
{
return dictTypeMapper.selectDictTypeByType(dictType);
return dictTypeMapper.selectDictTypeByType(dictType, SecurityUtils.getLanguage());
}
/**
@@ -140,7 +146,7 @@ public class SysDictTypeServiceImpl implements ISysDictTypeService
{
SysDictData dictData = new SysDictData();
dictData.setStatus("0");
Map<String, List<SysDictData>> dictDataMap = dictDataMapper.selectDictDataList(dictData).stream().collect(Collectors.groupingBy(SysDictData::getDictType));
Map<String, List<SysDictData>> dictDataMap = dictDataMapper.selectDictDataListAll(dictData).stream().collect(Collectors.groupingBy(SysDictData::getDictType));
for (Map.Entry<String, List<SysDictData>> entry : dictDataMap.entrySet())
{
DictUtils.setDictCache(entry.getKey(), entry.getValue().stream().sorted(Comparator.comparing(SysDictData::getDictSort)).collect(Collectors.toList()));
@@ -193,7 +199,7 @@ public class SysDictTypeServiceImpl implements ISysDictTypeService
@Transactional
public int updateDictType(SysDictType dict)
{
SysDictType oldDict = dictTypeMapper.selectDictTypeById(dict.getDictId());
SysDictType oldDict = dictTypeMapper.selectDictTypeById(dict.getDictId(), SecurityUtils.getLanguage());
dictDataMapper.updateDictDataType(oldDict.getDictType(), dict.getDictType());
int row = dictTypeMapper.updateDictType(dict);
if (row > 0)
@@ -214,11 +220,32 @@ public class SysDictTypeServiceImpl implements ISysDictTypeService
public boolean checkDictTypeUnique(SysDictType dict)
{
Long dictId = StringUtils.isNull(dict.getDictId()) ? -1L : dict.getDictId();
SysDictType dictType = dictTypeMapper.checkDictTypeUnique(dict.getDictType());
if (StringUtils.isNotNull(dictType) && dictType.getDictId().longValue() != dictId.longValue())
List<SysDictType> dictType = dictTypeMapper.checkDictTypeUnique(dict.getDictType(), SecurityUtils.getLanguage());
if (!dictType.isEmpty() && dictType.get(0).getDictId().longValue() != dictId.longValue())
{
return UserConstants.NOT_UNIQUE;
}
return UserConstants.UNIQUE;
}
/**
* 多语言转换
* @param list
* @param language
* @return
*/
public static void convertDictLabel(List<SysDictData> list, String language) {
switch (language) {
case EN_US:
for (SysDictData data : list) {
data.setDictLabel(data.getDictLabel_en_US());
}
break;
case ZH_CN:
for (SysDictData data : list) {
data.setDictLabel(data.getDictLabel_zh_CN());
}
break;
}
}
}

View File

@@ -65,6 +65,7 @@ public class SysMenuServiceImpl implements ISysMenuService
@Override
public List<SysMenu> selectMenuList(SysMenu menu, Long userId)
{
menu.setLanguage(SecurityUtils.getLanguage());
List<SysMenu> menuList = null;
// 管理员显示所有菜单信息
if (SysUser.isAdmin(userId))
@@ -128,16 +129,16 @@ public class SysMenuServiceImpl implements ISysMenuService
* @return 菜单列表
*/
@Override
public List<SysMenu> selectMenuTreeByUserId(Long userId)
public List<SysMenu> selectMenuTreeByUserId(Long userId, String language)
{
List<SysMenu> menus = null;
if (SecurityUtils.isAdmin(userId))
{
menus = menuMapper.selectMenuTreeAll();
menus = menuMapper.selectMenuTreeAll(language);
}
else
{
menus = menuMapper.selectMenuTreeByUserId(userId);
menus = menuMapper.selectMenuTreeByUserId(userId, language);
}
return getChildPerms(menus, 0);
}
@@ -263,7 +264,7 @@ public class SysMenuServiceImpl implements ISysMenuService
@Override
public SysMenu selectMenuById(Long menuId)
{
return menuMapper.selectMenuById(menuId);
return menuMapper.selectMenuById(menuId, SecurityUtils.getLanguage());
}
/**

View File

@@ -0,0 +1,95 @@
package com.fastbee.system.service.impl;
import com.fastbee.common.enums.TranslateType;
import com.fastbee.system.domain.SysTranslate;
import com.fastbee.system.mapper.SysTranslateMapper;
import com.fastbee.system.service.ISysTranslateService;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.List;
import static com.fastbee.common.constant.Constants.*;
/**
* 翻译Service业务层处理
*
* @author kerwincui
* @date 2024-05-29
*/
@Service
public class SysTranslateServiceImpl implements ISysTranslateService
{
@Resource
private SysTranslateMapper sysTranslateMapper;
/**
* 导入翻译列表
* @param list
* @return
*/
public void importSysTranslate(List<SysTranslate> list, String type, Long productId) {
TranslateType translateType = matchTranslateType(type);
if (translateType == null) {
return;
}
for (SysTranslate sysTranslate : list) {
sysTranslate.setTableName(translateType.getTranslateTable());
sysTranslate.setProductId(productId);
sysTranslateMapper.insertSysTranslate(sysTranslate);
}
}
/**
* 查询翻译列表
* @param sysTranslate 翻译类
* @return 翻译列表
*/
@Override
public List<SysTranslate> selectSysTranslateList(SysTranslate sysTranslate, String type)
{
TranslateType translateType = matchTranslateType(type);
if (translateType == null) {
return null;
}
sysTranslate.setTableName(translateType.getTranslateTable());
return sysTranslateMapper.selectSysTranslateList(sysTranslate);
}
/**
* 查询原表数据列表
* @param type
* @return
*/
@Override
public List<SysTranslate> selectSourceList(String type, Long productId) {
TranslateType translateType = matchTranslateType(type);
if (translateType == null) {
return null;
}
return sysTranslateMapper.selectSourceList(translateType.getSourceTable(), translateType.getIdColumn(), translateType.getNameColumn(), productId);
}
/**
* 根据type匹配对应的翻译类型
* @param type
* @return
*/
public TranslateType matchTranslateType(String type) {
switch (type) {
case MENU:
return TranslateType.MENU_TYPE;
case DICT_DATA:
return TranslateType.DICT_DATA_TYPE;
case DICT_TYPE:
return TranslateType.DICT_TYPE_TYPE;
case THINGS_MODEL:
return TranslateType.THINGS_MODEL_TYPE;
case THINGS_MODEL_TEMPLATE:
return TranslateType.THINGS_MODEL_TEMPLATE_TYPE;
default:
return null;
}
}
}

View File

@@ -0,0 +1,21 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.fastbee.system.mapper.AppLanguageMapper">
<resultMap type="com.fastbee.system.domain.AppLanguage" id="AppLanguageResult">
<result property="id" column="id" />
<result property="language" column="language" />
<result property="country" column="country" />
<result property="timeZone" column="time_zone" />
<result property="createBy" column="create_by" />
<result property="createTime" column="create_time" />
<result property="langName" column="lang_name" />
</resultMap>
<sql id="selectAppLanguageVo">
select id, language, country, time_zone, create_by, create_time, lang_name from app_language
</sql>
</mapper>

View File

@@ -0,0 +1,23 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.fastbee.system.mapper.AppPreferencesMapper">
<resultMap type="com.fastbee.system.domain.AppPreferences" id="AppPreferencesResult">
<result property="id" column="id" />
<result property="userId" column="user_id" />
<result property="language" column="language" />
<result property="timeZone" column="time_zone" />
<result property="createBy" column="create_by" />
<result property="createTime" column="create_time" />
<result property="updateBy" column="update_by" />
<result property="updateTime" column="update_time" />
<result property="remark" column="remark" />
</resultMap>
<sql id="selectAppPreferencesVo">
select id, user_id, language, time_zone, create_by, create_time, update_by, update_time, remark from app_preferences
</sql>
</mapper>

View File

@@ -52,8 +52,35 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
</select>
<select id="selectDictDataById" parameterType="Long" resultMap="SysDictDataResult">
<include refid="selectDictDataVo"/>
where dict_code = #{dictCode}
select d.dict_code, d.dict_sort,
case
when #{language} = 'zh-CN' then d.dict_label
when #{language} = 'en-US' then t.en_us
else d.dict_label
end as dict_label,
d.dict_value, d.dict_type, d.css_class, d.list_class, d.is_default, d.status, d.create_by, d.create_time, d.remark
from sys_dict_data d
left join sys_dict_data_translate t on d.dict_code = t.id
where d.dict_code = #{dictCode}
</select>
<select id="selectDictDataListAll" parameterType="com.fastbee.common.core.domain.entity.SysDictData" resultMap="SysDictDataResult">
select d.dict_code, d.dict_sort, d.dict_label, t.zh_cn as dict_label_zh_cn, t.en_us as dict_label_en_us,
d.dict_value, d.dict_type, d.css_class, d.list_class, d.is_default, d.status, d.create_by, d.create_time, d.remark
from sys_dict_data d
left join sys_dict_data_translate t on d.dict_code = t.id
<where>
<if test="dictType != null and dictType != ''">
AND d.dict_type = #{dictType}
</if>
<if test="dictLabel != null and dictLabel != ''">
AND d.dict_label like concat('%', #{dictLabel}, '%')
</if>
<if test="status != null">
AND d.status = #{status}
</if>
</where>
order by d.dict_sort asc
</select>
<select id="countDictDataByType" resultType="Integer">

View File

@@ -21,7 +21,15 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
</sql>
<select id="selectDictTypeList" parameterType="SysDictType" resultMap="SysDictTypeResult">
<include refid="selectDictTypeVo"/>
select d.dict_id,
case
when #{language} = 'zh-CN' then d.dict_name
when #{language} = 'en-US' then t.en_us
else d.dict_name
end as dict_name,
d.dict_type, d.status, d.create_by, d.create_time, d.remark
from sys_dict_type d
left join sys_dict_type_translate t on d.dict_id = t.id
<where>
<if test="dictName != null and dictName != ''">
AND dict_name like concat('%', #{dictName}, '%')
@@ -42,22 +50,54 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
</select>
<select id="selectDictTypeAll" resultMap="SysDictTypeResult">
<include refid="selectDictTypeVo"/>
select d.dict_id,
case
when #{language} = 'zh-CN' then d.dict_name
when #{language} = 'en-US' then t.en_us
else d.dict_name
end as dict_name,
d.dict_type, d.status, d.create_by, d.create_time, d.remark
from sys_dict_type d
left join sys_dict_type_translate t on d.dict_id = t.id
</select>
<select id="selectDictTypeById" parameterType="Long" resultMap="SysDictTypeResult">
<include refid="selectDictTypeVo"/>
where dict_id = #{dictId}
select d.dict_id,
case
when #{language} = 'zh-CN' then d.dict_name
when #{language} = 'en-US' then t.en_us
else d.dict_name
end as dict_name,
d.dict_type, d.status, d.create_by, d.create_time, d.remark
from sys_dict_type d
left join sys_dict_type_translate t on d.dict_id = t.id
where d.dict_id = #{dictId}
</select>
<select id="selectDictTypeByType" parameterType="String" resultMap="SysDictTypeResult">
<include refid="selectDictTypeVo"/>
where dict_type = #{dictType}
select d.dict_id,
case
when #{language} = 'zh-CN' then d.dict_name
when #{language} = 'en-US' then t.en_us
else d.dict_name
end as dict_name,
d.dict_type, d.status, d.create_by, d.create_time, d.remark
from sys_dict_type d
left join sys_dict_type_translate t on d.dict_id = t.id
where d.dict_type = #{dictType}
</select>
<select id="checkDictTypeUnique" parameterType="String" resultMap="SysDictTypeResult">
<include refid="selectDictTypeVo"/>
where dict_type = #{dictType} limit 1
select d.dict_id,
case
when #{language} = 'zh-CN' then d.dict_name
when #{language} = 'en-US' then t.en_us
else d.dict_name
end as dict_name,
d.dict_type, d.status, d.create_by, d.create_time, d.remark
from sys_dict_type d
left join sys_dict_type_translate t on d.dict_id = t.id
where d.dict_type = #{dictType}
</select>
<delete id="deleteDictTypeById" parameterType="Long">

View File

@@ -33,7 +33,15 @@
</sql>
<select id="selectMenuList" parameterType="SysMenu" resultMap="SysMenuResult">
<include refid="selectMenuVo"/>
select distinct m.menu_id,
case
when #{language} = 'zh-CN' then m.menu_name
when #{language} = 'en-US' then t.en_us
else m.menu_name
end as menu_name,
m.parent_id, m.order_num, m.path, m.component, m.query, m.is_frame, m.is_cache, m.menu_type, m.visible, m.status, ifnull(m.perms,'') as perms, m.icon, m.create_time
from sys_menu m
left join sys_menu_translate t on m.menu_id = t.id
<where>
<if test="menuName != null and menuName != ''">
AND menu_name like concat('%', #{menuName}, '%')
@@ -49,17 +57,33 @@
</select>
<select id="selectMenuTreeAll" resultMap="SysMenuResult">
select distinct m.menu_id, m.parent_id, m.menu_name, m.path, m.component, m.`query`, m.visible, m.status, ifnull(m.perms,'') as perms, m.is_frame, m.is_cache, m.menu_type, m.icon, m.order_num, m.create_time
from sys_menu m where m.menu_type in ('M', 'C') and m.status = 0
select distinct m.menu_id, m.parent_id,
case
when #{language} = 'zh-CN' then m.menu_name
when #{language} = 'en-US' then t.en_us
else m.menu_name
end as menu_name,
m.menu_name as zn_ch,t.en_us,
m.path, m.component, m.query, m.visible, m.status, COALESCE(m.perms,'') as perms, m.is_frame, m.is_cache, m.menu_type, m.icon, m.order_num, m.create_time
from sys_menu m
left join sys_menu_translate t on m.menu_id = t.id
where m.menu_type in ('M', 'C') and m.status = 0
order by m.parent_id, m.order_num
</select>
<select id="selectMenuListByUserId" parameterType="SysMenu" resultMap="SysMenuResult">
select distinct m.menu_id, m.parent_id, m.menu_name, m.path, m.component, m.`query`, m.visible, m.status, ifnull(m.perms,'') as perms, m.is_frame, m.is_cache, m.menu_type, m.icon, m.order_num, m.create_time
select distinct m.menu_id, m.parent_id,
case
when #{language} = 'zh-CN' then m.menu_name
when #{language} = 'en-US' then t.en_us
else m.menu_name
end as menu_name,
m.path, m.component, m.`query`, m.visible, m.status, ifnull(m.perms,'') as perms, m.is_frame, m.is_cache, m.menu_type, m.icon, m.order_num, m.create_time
from sys_menu m
left join sys_role_menu rm on m.menu_id = rm.menu_id
left join sys_user_role ur on rm.role_id = ur.role_id
left join sys_role ro on ur.role_id = ro.role_id
left join sys_menu_translate t on m.menu_id = t.id
where ur.user_id = #{params.userId}
<if test="menuName != null and menuName != ''">
AND m.menu_name like concat('%', #{menuName}, '%')
@@ -74,12 +98,20 @@
</select>
<select id="selectMenuTreeByUserId" parameterType="Long" resultMap="SysMenuResult">
select distinct m.menu_id, m.parent_id, m.menu_name, m.path, m.component, m.`query`, m.visible, m.status, ifnull(m.perms,'') as perms, m.is_frame, m.is_cache, m.menu_type, m.icon, m.order_num, m.create_time
select distinct m.menu_id, m.parent_id,
case
when #{language} = 'zh-CN' then m.menu_name
when #{language} = 'en-US' then t.en_us
else m.menu_name
end as menu_name,
m.menu_name as zn_ch,t.en_us,
m.path, m.component, m.query, m.visible, m.status, COALESCE(m.perms,'') as perms, m.is_frame, m.is_cache, m.menu_type, m.icon, m.order_num, m.create_time
from sys_menu m
left join sys_role_menu rm on m.menu_id = rm.menu_id
left join sys_user_role ur on rm.role_id = ur.role_id
left join sys_role ro on ur.role_id = ro.role_id
left join sys_user u on ur.user_id = u.user_id
left join sys_menu_translate t on m.menu_id = t.id
where u.user_id = #{userId} and m.menu_type in ('M', 'C') and m.status = 0 AND ro.status = 0
order by m.parent_id, m.order_num
</select>
@@ -119,8 +151,17 @@
</select>
<select id="selectMenuById" parameterType="Long" resultMap="SysMenuResult">
<include refid="selectMenuVo"/>
where menu_id = #{menuId}
select distinct m.menu_id,
case
when #{language} = 'zh-CN' then m.menu_name
when #{language} = 'en-US' then t.en_us
else m.menu_name
end as menu_name,
m.menu_name as zn_ch,t.en_us,
m.parent_id, m.order_num, m.path, m.component, m.query, m.is_frame, m.is_cache, m.menu_type, m.visible, m.status, COALESCE(m.perms, '') as perms, m.icon, m.create_time
from sys_menu m
left join sys_menu_translate t on m.menu_id = t.id
where m.menu_id = #{menuId}
</select>
<select id="hasChildByMenuId" resultType="Integer">
@@ -128,7 +169,8 @@
</select>
<select id="checkMenuNameUnique" parameterType="SysMenu" resultMap="SysMenuResult">
<include refid="selectMenuVo"/>
select distinct menu_id, menu_name, parent_id, order_num, path, component, query, is_frame, is_cache, menu_type, visible, status, ifnull(perms,'') as perms, icon, create_time
from sys_menu
where menu_name=#{menuName} and parent_id = #{parentId} limit 1
</select>

View File

@@ -0,0 +1,49 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.fastbee.system.mapper.SysTranslateMapper">
<resultMap type="com.fastbee.system.domain.SysTranslate" id="SysTranslateResult">
<result property="id" column="id" />
<result property="zh_CN" column="zh_cn" />
<result property="en_US" column="en_us" />
</resultMap>
<insert id="insertSysTranslate" parameterType="com.fastbee.system.domain.SysTranslate">
insert into ${tableName}
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="id != null">id,</if>
<if test="productId != null">product_id,</if>
<if test="zh_CN != null">zh_cn,</if>
<if test="en_US != null">en_us</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="id != null">#{id},</if>
<if test="productId != null">#{productId},</if>
<if test="zh_CN != null">#{zh_CN},</if>
<if test="en_US != null">#{en_US}</if>
</trim>
on duplicate key update
<if test="productId != null">product_id = #{productId},</if>
<if test="zh_CN != null">zh_cn = #{zh_CN},</if>
<if test="en_US != null">en_us = #{en_US}</if>
</insert>
<select id="selectSysTranslateList" parameterType="com.fastbee.system.domain.SysTranslate" resultMap="SysTranslateResult">
select id, zh_cn, en_us from ${tableName}
<where>
<if test="zh_CN != null and zh_CN != ''"> and zh_cn = #{zh_CN}</if>
<if test="en_US != null and en_US != ''"> and en_us = #{en_US}</if>
<if test="productId != null and productId != ''"> and product_id = #{productId}</if>
</where>
</select>
<select id="selectSourceList" resultType="com.fastbee.system.domain.SysTranslate" resultMap="SysTranslateResult">
select ${idColumn} as id, ${nameColumn} as zh_cn from ${tableName}
<where>
<if test="productId != null">product_id = #{productId}</if>
</where>
</select>
</mapper>

View File

@@ -23,6 +23,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<result property="updateBy" column="update_by" />
<result property="updateTime" column="update_time" />
<result property="remark" column="remark" />
<result property="language" column="language"/>
<result property="timeZone" column="time_zone"/>
<association property="dept" javaType="SysDept" resultMap="deptResult" />
<collection property="roles" javaType="java.util.List" resultMap="RoleResult" />
</resultMap>
@@ -49,11 +51,13 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<sql id="selectUserVo">
select u.user_id, u.dept_id, u.user_name, u.nick_name, u.email, u.avatar, u.phonenumber, u.password, u.sex, u.status, u.del_flag, u.login_ip, u.login_date, u.create_by, u.create_time, u.remark,
d.dept_id, d.parent_id, d.ancestors, d.dept_name, d.order_num, d.leader, d.status as dept_status,
r.role_id, r.role_name, r.role_key, r.role_sort, r.data_scope, r.status as role_status
r.role_id, r.role_name, r.role_key, r.role_sort, r.data_scope, r.status as role_status,
ap.language,ap.time_zone
from sys_user u
left join sys_dept d on u.dept_id = d.dept_id
left join sys_user_role ur on u.user_id = ur.user_id
left join sys_role r on r.role_id = ur.role_id
left join app_preferences ap on u.user_id = ap.user_id
</sql>
<select id="selectUserList" parameterType="SysUser" resultMap="SysUserResult">

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -15,6 +15,86 @@
*/
-- ----------------------------
-- Table structure for app_language
-- ----------------------------
DROP TABLE "app_language";
CREATE TABLE "app_language" (
"id" NUMBER(20) NOT NULL,
"language" NVARCHAR2(20),
"country" NVARCHAR2(20),
"time_zone" NVARCHAR2(20),
"create_by" NVARCHAR2(64),
"create_time" DATE,
"lang_name" NVARCHAR2(20)
)
;
COMMENT ON COLUMN "app_language"."id" IS '主键ID';
COMMENT ON COLUMN "app_language"."language" IS '语言';
COMMENT ON COLUMN "app_language"."country" IS '国家';
COMMENT ON COLUMN "app_language"."time_zone" IS '时区';
COMMENT ON COLUMN "app_language"."create_by" IS '创建者';
COMMENT ON COLUMN "app_language"."create_time" IS '创建时间';
COMMENT ON COLUMN "app_language"."lang_name" IS '语言名称';
COMMENT ON TABLE "app_language" IS 'app语言';
-- ----------------------------
-- Records of app_language
-- ----------------------------
INSERT INTO "app_language" ("id", "language", "country", "time_zone", "create_by", "create_time", "lang_name") VALUES ('2', 'zh-CN', '中国', 'UTF+8', 'admin', TO_DATE('2024-05-31 14:25:30', 'SYYYY-MM-DD HH24:MI:SS'), '简体中文');
INSERT INTO "app_language" ("id", "language", "country", "time_zone", "create_by", "create_time", "lang_name") VALUES ('3', 'en-US', '欧美', 'UTC', 'admin', TO_DATE('2024-05-31 14:25:30', 'SYYYY-MM-DD HH24:MI:SS'), 'English');
INSERT INTO "app_language" ("id", "language", "country", "time_zone", "create_by", "create_time", "lang_name") VALUES ('4', 'jp', '日本', 'utf-9', 'admin', TO_DATE('2024-05-31 14:25:30', 'SYYYY-MM-DD HH24:MI:SS'), '日语');
COMMIT;
-- ----------------------------
-- Primary Key structure for table app_language
-- ----------------------------
ALTER TABLE "app_language" ADD PRIMARY KEY ("id");
-- ----------------------------
-- Table structure for app_preferences
-- ----------------------------
DROP TABLE "app_preferences";
CREATE TABLE "app_preferences" (
"id" NUMBER(20) NOT NULL,
"user_id" NUMBER(20),
"language" NVARCHAR2(20),
"time_zone" NVARCHAR2(20),
"create_by" NVARCHAR2(64),
"create_time" DATE,
"update_by" NVARCHAR2(64),
"update_time" DATE,
"remark" NVARCHAR2(500)
)
;
COMMENT ON COLUMN "app_preferences"."id" IS '主键id';
COMMENT ON COLUMN "app_preferences"."user_id" IS '用户';
COMMENT ON COLUMN "app_preferences"."language" IS '语言';
COMMENT ON COLUMN "app_preferences"."time_zone" IS '时区';
COMMENT ON COLUMN "app_preferences"."create_by" IS '创建者';
COMMENT ON COLUMN "app_preferences"."create_time" IS '创建时间';
COMMENT ON COLUMN "app_preferences"."update_by" IS '更新者';
COMMENT ON COLUMN "app_preferences"."update_time" IS '更新时间';
COMMENT ON COLUMN "app_preferences"."remark" IS '备注';
COMMENT ON TABLE "app_preferences" IS 'APP用户偏好设置';
-- ----------------------------
-- Records of app_preferences
-- ----------------------------
INSERT INTO "app_preferences" ("id", "user_id", "language", "time_zone", "create_by", "create_time", "update_by", "update_time", "remark") VALUES ('1', '1', 'zh-CN', NULL, 'admin', TO_DATE('2024-05-31 14:25:30', 'SYYYY-MM-DD HH24:MI:SS'), NULL, NULL, NULL);
COMMIT;
-- ----------------------------
-- Primary Key structure for table app_preferences
-- ----------------------------
ALTER TABLE "app_preferences" ADD PRIMARY KEY ("id");
-- ----------------------------
-- Indexes structure for table app_preferences
-- ----------------------------
CREATE UNIQUE INDEX "PRIAMRK_USER_LANG"
ON "app_preferences" ("user_id" ASC, "language" ASC);
-- ----------------------------
-- Table structure for gen_table
-- ----------------------------
@@ -1563,6 +1643,47 @@ INSERT INTO "iot_things_model_template" ("template_id", "template_name", "tenant
INSERT INTO "iot_things_model_template" ("template_id", "template_name", "tenant_id", "tenant_name", "identifier", "type", "datatype", "specs", "is_sys", "is_chart", "is_monitor", "is_history", "is_readonly", "is_share_perm", "model_order", "del_flag", "create_by", "create_time", "update_by", "update_time", "remark", "temp_slave_id", "formula", "reverse_formula", "reg_addr", "bit_option", "value_type", "is_params", "quantity", "code", "old_identifier", "old_temp_slave_id", "parse_type") VALUES ('342', '图片', '1', 'admin', 'image', '1', 'string', '{"type": "string", "maxLength": 1024}', '1', '0', '0', '1', '1', '0', '0', '0', '', TO_DATE('2023-08-30 23:21:48', 'SYYYY-MM-DD HH24:MI:SS'), '', TO_DATE('2023-08-30 23:25:22', 'SYYYY-MM-DD HH24:MI:SS'), NULL, '2#2', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL);
INSERT INTO "iot_things_model_template" ("template_id", "template_name", "tenant_id", "tenant_name", "identifier", "type", "datatype", "specs", "is_sys", "is_chart", "is_monitor", "is_history", "is_readonly", "is_share_perm", "model_order", "del_flag", "create_by", "create_time", "update_by", "update_time", "remark", "temp_slave_id", "formula", "reverse_formula", "reg_addr", "bit_option", "value_type", "is_params", "quantity", "code", "old_identifier", "old_temp_slave_id", "parse_type") VALUES ('343', '状态', '1', 'admin', 'status', '1', 'integer', '{"max": 100, "min": 0, "step": 1, "type": "integer", "unit": ""}', '1', '0', '0', '1', '1', '0', '0', '0', '', TO_DATE('2023-08-30 23:28:00', 'SYYYY-MM-DD HH24:MI:SS'), '', TO_DATE('2023-08-30 23:28:17', 'SYYYY-MM-DD HH24:MI:SS'), NULL, '2#1', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL);
COMMIT;
-- ----------------------------
-- Table structure for iot_things_model_template_translate
-- ----------------------------
DROP TABLE "iot_things_model_template_translate";
CREATE TABLE "iot_things_model_template_translate" (
"id" NUMBER(20) NOT NULL,
"zh_cn" NVARCHAR2(200),
"en_us" NVARCHAR2(200)
)
;
COMMENT ON COLUMN "iot_things_model_template_translate"."id" IS 'ID';
COMMENT ON COLUMN "iot_things_model_template_translate"."zh_cn" IS 'zh_CN';
COMMENT ON COLUMN "iot_things_model_template_translate"."en_us" IS 'en_US';
COMMENT ON TABLE "iot_things_model_template_translate" IS '物模型模板翻译表';
-- ----------------------------
-- Records of iot_things_model_template_translate
-- ----------------------------
COMMIT;
-- ----------------------------
-- Table structure for iot_things_model_translate
-- ----------------------------
DROP TABLE "iot_things_model_translate";
CREATE TABLE "iot_things_model_translate" (
"id" NUMBER(20) NOT NULL,
"zh_cn" NVARCHAR2(200),
"en_us" NVARCHAR2(200),
"product_id" NUMBER(20)
)
;
COMMENT ON COLUMN "iot_things_model_translate"."id" IS 'ID';
COMMENT ON COLUMN "iot_things_model_translate"."zh_cn" IS 'zh_CN';
COMMENT ON COLUMN "iot_things_model_translate"."en_us" IS 'en_US';
COMMENT ON COLUMN "iot_things_model_translate"."product_id" IS '产品ID';
COMMENT ON TABLE "iot_things_model_translate" IS '物模型翻译表';
-- ----------------------------
-- Records of iot_things_model_translate
-- ----------------------------
COMMIT;
-- ----------------------------
@@ -2718,189 +2839,230 @@ INSERT INTO "sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value
INSERT INTO "sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES ('241', '4', 'GB28181', 'GB28181', 'iot_transport_type', NULL, 'success', 'N', '0', 'admin', TO_DATE('2023-05-12 14:25:39', 'SYYYY-MM-DD HH24:MI:SS'), 'admin', TO_DATE('2025-03-19 16:24:12', 'SYYYY-MM-DD HH24:MI:SS'), NULL);
INSERT INTO "sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES ('242', '1', '02(读离散量输入)', '2', 'iot_modbus_status_code', NULL, 'default', 'N', '0', 'admin', TO_DATE('2023-07-03 10:16:48', 'SYYYY-MM-DD HH24:MI:SS'), 'admin', TO_DATE('2023-07-03 10:17:35', 'SYYYY-MM-DD HH24:MI:SS'), NULL);
INSERT INTO "sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES ('243', '3', '04(读输入寄存器)', '4', 'iot_modbus_status_code', NULL, 'default', 'N', '0', 'admin', TO_DATE('2023-07-03 10:17:18', 'SYYYY-MM-DD HH24:MI:SS'), 'admin', TO_DATE('2023-07-03 10:17:58', 'SYYYY-MM-DD HH24:MI:SS'), NULL);
INSERT INTO "sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES ('247', '4', '微信开放平台网站应用', 'wechat_open_web', 'iot_social_platform', NULL, 'default', 'N', '0', 'admin', TO_DATE('2023-08-23 11:28:15', 'SYYYY-MM-DD HH24:MI:SS'), '', NULL, NULL);
INSERT INTO "sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES ('248', '5', '微信开放平台移动应用', 'wechat_open_mobile', 'iot_social_platform', NULL, 'default', 'N', '0', 'admin', TO_DATE('2023-08-23 11:29:14', 'SYYYY-MM-DD HH24:MI:SS'), '', NULL, NULL);
INSERT INTO "sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES ('249', '6', '微信开放平台小程序', 'wechat_open_mini_program', 'iot_social_platform', NULL, 'default', 'N', '0', 'admin', TO_DATE('2023-08-23 11:38:12', 'SYYYY-MM-DD HH24:MI:SS'), '', NULL, NULL);
INSERT INTO "sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES ('250', '0', '16位 无符号', 'ushort', 'iot_modbus_data_type', NULL, 'default', 'N', '0', 'admin', TO_DATE('2023-09-04 14:11:54', 'SYYYY-MM-DD HH24:MI:SS'), '', NULL, NULL);
INSERT INTO "sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES ('251', '1', '16位 符号', 'short', 'iot_modbus_data_type', NULL, 'default', 'N', '0', 'admin', TO_DATE('2023-09-04 14:12:26', 'SYYYY-MM-DD HH24:MI:SS'), '', NULL, NULL);
INSERT INTO "sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES ('252', '2', '32位 有符号(ABCD)', 'long-ABCD', 'iot_modbus_data_type', NULL, 'default', 'N', '0', 'admin', TO_DATE('2023-09-04 14:12:53', 'SYYYY-MM-DD HH24:MI:SS'), '', NULL, NULL);
INSERT INTO "sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES ('253', '3', '32位 有符号(CDAB)', 'long-CDAB', 'iot_modbus_data_type', NULL, 'default', 'N', '0', 'admin', TO_DATE('2023-09-04 14:13:21', 'SYYYY-MM-DD HH24:MI:SS'), '', NULL, NULL);
INSERT INTO "sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES ('254', '4', '32位 符号(ABCD)', 'ulong-ABCD', 'iot_modbus_data_type', NULL, 'default', 'N', '0', 'admin', TO_DATE('2023-09-04 14:13:42', 'SYYYY-MM-DD HH24:MI:SS'), '', NULL, NULL);
INSERT INTO "sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES ('255', '5', '32位 无符号(CDAB)', 'ulong-CDAB', 'iot_modbus_data_type', NULL, 'default', 'N', '0', 'admin', TO_DATE('2023-09-04 14:14:06', 'SYYYY-MM-DD HH24:MI:SS'), '', NULL, NULL);
INSERT INTO "sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES ('256', '6', '32位 浮点数(ABCD)', 'float-ABCD', 'iot_modbus_data_type', NULL, 'default', 'N', '0', 'admin', TO_DATE('2023-09-04 14:14:28', 'SYYYY-MM-DD HH24:MI:SS'), '', NULL, NULL);
INSERT INTO "sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES ('257', '7', '32位 浮点数(CDAB)', 'float-CDAB', 'iot_modbus_data_type', NULL, 'default', 'N', '0', 'admin', TO_DATE('2023-09-04 14:14:50', 'SYYYY-MM-DD HH24:MI:SS'), '', NULL, NULL);
INSERT INTO "sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES ('258', '8', '', 'bit', 'iot_modbus_data_type', NULL, 'default', 'N', '0', 'admin', TO_DATE('2023-09-04 14:15:13', 'SYYYY-MM-DD HH24:MI:SS'), '', NULL, NULL);
INSERT INTO "sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES ('259', '0', '电灯', 'LIGHT', 'dueros_related_device', NULL, 'default', 'N', '0', 'admin', TO_DATE('2023-08-23 11:28:15', 'SYYYY-MM-DD HH24:MI:SS'), '', NULL, NULL);
INSERT INTO "sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES ('260', '0', '空调', 'AIR_CONDITION', 'dueros_related_device', NULL, 'default', 'N', '0', 'admin', TO_DATE('2023-08-23 11:28:15', 'SYYYY-MM-DD HH24:MI:SS'), '', NULL, NULL);
INSERT INTO "sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES ('261', '0', '窗帘', 'CURTAIN', 'dueros_related_device', NULL, 'default', 'N', '0', 'admin', TO_DATE('2023-08-23 11:28:15', 'SYYYY-MM-DD HH24:MI:SS'), '', NULL, NULL);
INSERT INTO "sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES ('262', '0', '窗纱', 'CURT_SIMP', 'dueros_related_device', NULL, 'default', 'N', '0', 'admin', TO_DATE('2023-08-23 11:28:15', 'SYYYY-MM-DD HH24:MI:SS'), '', NULL, NULL);
INSERT INTO "sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES ('263', '0', '插座', 'SOCKET', 'dueros_related_device', NULL, 'default', 'N', '0', 'admin', TO_DATE('2023-08-23 11:28:15', 'SYYYY-MM-DD HH24:MI:SS'), '', NULL, NULL);
INSERT INTO "sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES ('264', '0', '开关', 'SWITCH', 'dueros_related_device', NULL, 'default', 'N', '0', 'admin', TO_DATE('2023-08-23 11:28:15', 'SYYYY-MM-DD HH24:MI:SS'), '', NULL, NULL);
INSERT INTO "sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES ('265', '0', '冰箱', 'FRIDGE', 'dueros_related_device', NULL, 'default', 'N', '0', 'admin', TO_DATE('2023-08-23 11:28:15', 'SYYYY-MM-DD HH24:MI:SS'), '', NULL, NULL);
INSERT INTO "sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES ('266', '0', '净水器', 'WATER_PURIFIER', 'dueros_related_device', NULL, 'default', 'N', '0', 'admin', TO_DATE('2023-08-23 11:28:15', 'SYYYY-MM-DD HH24:MI:SS'), '', NULL, NULL);
INSERT INTO "sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES ('267', '0', '加湿器', 'HUMIDIFIER', 'dueros_related_device', NULL, 'default', 'N', '0', 'admin', TO_DATE('2023-08-23 11:28:15', 'SYYYY-MM-DD HH24:MI:SS'), '', NULL, NULL);
INSERT INTO "sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES ('268', '0', '除湿器', 'DEHUMIDIFIER', 'dueros_related_device', NULL, 'default', 'N', '0', 'admin', TO_DATE('2023-08-23 11:28:15', 'SYYYY-MM-DD HH24:MI:SS'), '', NULL, NULL);
INSERT INTO "sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES ('269', '0', '电磁炉', 'INDUCTION_COOKER', 'dueros_related_device', NULL, 'default', 'N', '0', 'admin', TO_DATE('2023-08-23 11:28:15', 'SYYYY-MM-DD HH24:MI:SS'), '', NULL, NULL);
INSERT INTO "sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES ('270', '0', '空气净化器', 'AIR_PURIFIER', 'dueros_related_device', NULL, 'default', 'N', '0', 'admin', TO_DATE('2023-08-23 11:28:15', 'SYYYY-MM-DD HH24:MI:SS'), '', NULL, NULL);
INSERT INTO "sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES ('271', '0', '洗衣机', 'WASHING_MACHINE', 'dueros_related_device', NULL, 'default', 'N', '0', 'admin', TO_DATE('2023-08-23 11:28:15', 'SYYYY-MM-DD HH24:MI:SS'), '', NULL, NULL);
INSERT INTO "sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES ('272', '0', '热水器', 'WATER_HEATER', 'dueros_related_device', NULL, 'default', 'N', '0', 'admin', TO_DATE('2023-08-23 11:28:15', 'SYYYY-MM-DD HH24:MI:SS'), '', NULL, NULL);
INSERT INTO "sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES ('273', '0', '燃气灶', 'GAS_STOVE', 'dueros_related_device', NULL, 'default', 'N', '0', 'admin', TO_DATE('2023-08-23 11:28:15', 'SYYYY-MM-DD HH24:MI:SS'), '', NULL, NULL);
INSERT INTO "sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES ('274', '0', '电视机', 'TV_SET', 'dueros_related_device', NULL, 'default', 'N', '0', 'admin', TO_DATE('2023-08-23 11:28:15', 'SYYYY-MM-DD HH24:MI:SS'), '', NULL, NULL);
INSERT INTO "sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES ('275', '0', '网络盒子', 'OTT_BOX', 'dueros_related_device', NULL, 'default', 'N', '0', 'admin', TO_DATE('2023-08-23 11:28:15', 'SYYYY-MM-DD HH24:MI:SS'), '', NULL, NULL);
INSERT INTO "sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES ('276', '0', '油烟机', 'RANGE_HOOD', 'dueros_related_device', NULL, 'default', 'N', '0', 'admin', TO_DATE('2023-08-23 11:28:15', 'SYYYY-MM-DD HH24:MI:SS'), '', NULL, NULL);
INSERT INTO "sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES ('277', '0', '电风扇', 'FAN', 'dueros_related_device', NULL, 'default', 'N', '0', 'admin', TO_DATE('2023-08-23 11:28:15', 'SYYYY-MM-DD HH24:MI:SS'), '', NULL, NULL);
INSERT INTO "sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES ('278', '0', '投影仪', 'PROJECTOR', 'dueros_related_device', NULL, 'default', 'N', '0', 'admin', TO_DATE('2023-08-23 11:28:15', 'SYYYY-MM-DD HH24:MI:SS'), '', NULL, NULL);
INSERT INTO "sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES ('279', '0', '扫地机器人', 'SWEEPING_ROBOT', 'dueros_related_device', NULL, 'default', 'N', '0', 'admin', TO_DATE('2023-08-23 11:28:15', 'SYYYY-MM-DD HH24:MI:SS'), '', NULL, NULL);
INSERT INTO "sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES ('280', '0', '热水壶', 'KETTLE', 'dueros_related_device', NULL, 'default', 'N', '0', 'admin', TO_DATE('2023-08-23 11:28:15', 'SYYYY-MM-DD HH24:MI:SS'), '', NULL, NULL);
INSERT INTO "sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES ('281', '0', '微波炉', 'MICROWAVE_OVEN', 'dueros_related_device', NULL, 'default', 'N', '0', 'admin', TO_DATE('2023-08-23 11:28:15', 'SYYYY-MM-DD HH24:MI:SS'), '', NULL, NULL);
INSERT INTO "sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES ('282', '0', '压力锅', 'PRESSURE_COOKER', 'dueros_related_device', NULL, 'default', 'N', '0', 'admin', TO_DATE('2023-08-23 11:28:15', 'SYYYY-MM-DD HH24:MI:SS'), '', NULL, NULL);
INSERT INTO "sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES ('283', '0', '电饭煲', 'RICE_COOKER', 'dueros_related_device', NULL, 'default', 'N', '0', 'admin', TO_DATE('2023-08-23 11:28:15', 'SYYYY-MM-DD HH24:MI:SS'), '', NULL, NULL);
INSERT INTO "sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES ('284', '0', '破壁机', 'HIGH_SPEED_BLENDER', 'dueros_related_device', NULL, 'default', 'N', '0', 'admin', TO_DATE('2023-08-23 11:28:15', 'SYYYY-MM-DD HH24:MI:SS'), '', NULL, NULL);
INSERT INTO "sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES ('285', '0', '新风机', 'AIR_FRESHER', 'dueros_related_device', NULL, 'default', 'N', '0', 'admin', TO_DATE('2023-08-23 11:28:15', 'SYYYY-MM-DD HH24:MI:SS'), '', NULL, NULL);
INSERT INTO "sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES ('286', '0', '晾衣架', 'CLOTHES_RACK', 'dueros_related_device', NULL, 'default', 'N', '0', 'admin', TO_DATE('2023-08-23 11:28:15', 'SYYYY-MM-DD HH24:MI:SS'), '', NULL, NULL);
INSERT INTO "sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES ('287', '0', '烤箱设备', 'OVEN', 'dueros_related_device', NULL, 'default', 'N', '0', 'admin', TO_DATE('2023-08-23 11:28:15', 'SYYYY-MM-DD HH24:MI:SS'), '', NULL, NULL);
INSERT INTO "sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES ('288', '0', '蒸烤箱', 'STEAM_OVEN', 'dueros_related_device', NULL, 'default', 'N', '0', 'admin', TO_DATE('2023-08-23 11:28:15', 'SYYYY-MM-DD HH24:MI:SS'), '', NULL, NULL);
INSERT INTO "sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES ('289', '0', '蒸箱', 'STEAM_BOX', 'dueros_related_device', NULL, 'default', 'N', '0', 'admin', TO_DATE('2023-08-23 11:28:15', 'SYYYY-MM-DD HH24:MI:SS'), '', NULL, NULL);
INSERT INTO "sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES ('290', '0', '电暖器', 'HEATER', 'dueros_related_device', NULL, 'default', 'N', '0', 'admin', TO_DATE('2023-08-23 11:28:15', 'SYYYY-MM-DD HH24:MI:SS'), '', NULL, NULL);
INSERT INTO "sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES ('291', '0', '开窗器', 'WINDOW_OPENER', 'dueros_related_device', NULL, 'default', 'N', '0', 'admin', TO_DATE('2023-08-23 11:28:15', 'SYYYY-MM-DD HH24:MI:SS'), '', NULL, NULL);
INSERT INTO "sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES ('292', '0', '摄像头', 'WEBCAM', 'dueros_related_device', NULL, 'default', 'N', '0', 'admin', TO_DATE('2023-08-23 11:28:15', 'SYYYY-MM-DD HH24:MI:SS'), '', NULL, NULL);
INSERT INTO "sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES ('293', '0', '相机', 'CAMERA', 'dueros_related_device', NULL, 'default', 'N', '0', 'admin', TO_DATE('2023-08-23 11:28:15', 'SYYYY-MM-DD HH24:MI:SS'), '', NULL, NULL);
INSERT INTO "sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES ('294', '0', '机器人', 'ROBOT', 'dueros_related_device', NULL, 'default', 'N', '0', 'admin', TO_DATE('2023-08-23 11:28:15', 'SYYYY-MM-DD HH24:MI:SS'), '', NULL, NULL);
INSERT INTO "sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES ('295', '0', '打印机', 'PRINTER', 'dueros_related_device', NULL, 'default', 'N', '0', 'admin', TO_DATE('2023-08-23 11:28:15', 'SYYYY-MM-DD HH24:MI:SS'), '', NULL, NULL);
INSERT INTO "sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES ('296', '0', '饮水机', 'WATER_COOLER', 'dueros_related_device', NULL, 'default', 'N', '0', 'admin', TO_DATE('2023-08-23 11:28:15', 'SYYYY-MM-DD HH24:MI:SS'), '', NULL, NULL);
INSERT INTO "sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES ('297', '0', '鱼缸', 'FISH_TANK', 'dueros_related_device', NULL, 'default', 'N', '0', 'admin', TO_DATE('2023-08-23 11:28:15', 'SYYYY-MM-DD HH24:MI:SS'), '', NULL, NULL);
INSERT INTO "sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES ('298', '0', '浇花器', 'WATERING_DEVICE', 'dueros_related_device', NULL, 'default', 'N', '0', 'admin', TO_DATE('2023-08-23 11:28:15', 'SYYYY-MM-DD HH24:MI:SS'), '', NULL, NULL);
INSERT INTO "sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES ('299', '0', '机顶盒', 'SET_TOP_BOX', 'dueros_related_device', NULL, 'default', 'N', '0', 'admin', TO_DATE('2023-08-23 11:28:15', 'SYYYY-MM-DD HH24:MI:SS'), '', NULL, NULL);
INSERT INTO "sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES ('300', '0', '香薰机', 'AROMATHERAPY_MACHINE', 'dueros_related_device', NULL, 'default', 'N', '0', 'admin', TO_DATE('2023-08-23 11:28:15', 'SYYYY-MM-DD HH24:MI:SS'), '', NULL, NULL);
INSERT INTO "sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES ('301', '0', 'DVD', 'DVD', 'dueros_related_device', NULL, 'default', 'N', '0', 'admin', TO_DATE('2023-08-23 11:28:15', 'SYYYY-MM-DD HH24:MI:SS'), '', NULL, NULL);
INSERT INTO "sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES ('302', '0', '鞋柜', 'SHOE_CABINET', 'dueros_related_device', NULL, 'default', 'N', '0', 'admin', TO_DATE('2023-08-23 11:28:15', 'SYYYY-MM-DD HH24:MI:SS'), '', NULL, NULL);
INSERT INTO "sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES ('303', '0', '走步机', 'WALKING_MACHINE', 'dueros_related_device', NULL, 'default', 'N', '0', 'admin', TO_DATE('2023-08-23 11:28:15', 'SYYYY-MM-DD HH24:MI:SS'), '', NULL, NULL);
INSERT INTO "sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES ('304', '0', '跑步机', 'TREADMILL', 'dueros_related_device', NULL, 'default', 'N', '0', 'admin', TO_DATE('2023-08-23 11:28:15', 'SYYYY-MM-DD HH24:MI:SS'), '', NULL, NULL);
INSERT INTO "sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES ('305', '0', '', 'BED', 'dueros_related_device', NULL, 'default', 'N', '0', 'admin', TO_DATE('2023-08-23 11:28:15', 'SYYYY-MM-DD HH24:MI:SS'), '', NULL, NULL);
INSERT INTO "sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES ('306', '0', '浴霸', 'YUBA', 'dueros_related_device', NULL, 'default', 'N', '0', 'admin', TO_DATE('2023-08-23 11:28:15', 'SYYYY-MM-DD HH24:MI:SS'), '', NULL, NULL);
INSERT INTO "sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES ('307', '0', '花洒', 'SHOWER', 'dueros_related_device', NULL, 'default', 'N', '0', 'admin', TO_DATE('2023-08-23 11:28:15', 'SYYYY-MM-DD HH24:MI:SS'), '', NULL, NULL);
INSERT INTO "sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES ('308', '0', '浴缸', 'BATHTUB', 'dueros_related_device', NULL, 'default', 'N', '0', 'admin', TO_DATE('2023-08-23 11:28:15', 'SYYYY-MM-DD HH24:MI:SS'), '', NULL, NULL);
INSERT INTO "sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES ('309', '0', '消毒柜', 'DISINFECTION_CABINET', 'dueros_related_device', NULL, 'default', 'N', '0', 'admin', TO_DATE('2023-08-23 11:28:15', 'SYYYY-MM-DD HH24:MI:SS'), '', NULL, NULL);
INSERT INTO "sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES ('310', '0', '洗碗机', 'DISHWASHER', 'dueros_related_device', NULL, 'default', 'N', '0', 'admin', TO_DATE('2023-08-23 11:28:15', 'SYYYY-MM-DD HH24:MI:SS'), '', NULL, NULL);
INSERT INTO "sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES ('311', '0', '沙发品类', 'SOFA', 'dueros_related_device', NULL, 'default', 'N', '0', 'admin', TO_DATE('2023-08-23 11:28:15', 'SYYYY-MM-DD HH24:MI:SS'), '', NULL, NULL);
INSERT INTO "sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES ('312', '0', '门铃', 'DOOR_BELL', 'dueros_related_device', NULL, 'default', 'N', '0', 'admin', TO_DATE('2023-08-23 11:28:15', 'SYYYY-MM-DD HH24:MI:SS'), '', NULL, NULL);
INSERT INTO "sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES ('313', '0', '电梯', 'ELEVATOR', 'dueros_related_device', NULL, 'default', 'N', '0', 'admin', TO_DATE('2023-08-23 11:28:15', 'SYYYY-MM-DD HH24:MI:SS'), '', NULL, NULL);
INSERT INTO "sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES ('314', '0', '体重秤', 'WEIGHT_SCALE', 'dueros_related_device', NULL, 'default', 'N', '0', 'admin', TO_DATE('2023-08-23 11:28:15', 'SYYYY-MM-DD HH24:MI:SS'), '', NULL, NULL);
INSERT INTO "sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES ('315', '0', '体脂秤', 'BODY_FAT_SCALE', 'dueros_related_device', NULL, 'default', 'N', '0', 'admin', TO_DATE('2023-08-23 11:28:15', 'SYYYY-MM-DD HH24:MI:SS'), '', NULL, NULL);
INSERT INTO "sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES ('316', '0', '壁挂炉', 'WALL_HUNG_GAS_BOILER', 'dueros_related_device', NULL, 'default', 'N', '0', 'admin', TO_DATE('2023-08-23 11:28:15', 'SYYYY-MM-DD HH24:MI:SS'), '', NULL, NULL);
INSERT INTO "sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES ('317', '0', '特定设备的组合场景', 'SCENE_TRIGGER', 'dueros_related_device', NULL, 'default', 'N', '0', 'admin', TO_DATE('2023-08-23 11:28:15', 'SYYYY-MM-DD HH24:MI:SS'), '', NULL, '描述特定设备的组合场景,设备之间没有相互关联,无特定操作顺序。 例如“打开睡眠模式”包括关灯和锁上房门,但是关灯和锁上房门之间没有必然联系,可以先关灯然后锁上房门,也可以先锁上房门后关灯');
INSERT INTO "sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES ('318', '0', '特定设备的组合场景', 'ACTIVITY_TRIGGER', 'dueros_related_device', NULL, 'default', 'N', '0', 'admin', TO_DATE('2023-08-23 11:28:15', 'SYYYY-MM-DD HH24:MI:SS'), '', NULL, '描述特定设备的组合场景。场景中的设备必须以指定顺序操作。如“观看优酷视频”场景中必须先打开电视机然后打开HDMI1');
INSERT INTO "sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES ('319', '0', '打开', 'turnOn', 'dueros_operate_type', NULL, 'default', 'N', '0', 'admin', TO_DATE('2023-09-22 10:35:15', 'SYYYY-MM-DD HH24:MI:SS'), '', NULL, NULL);
INSERT INTO "sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES ('320', '0', '关闭', 'turnOff', 'dueros_operate_type', NULL, 'default', 'N', '0', 'admin', TO_DATE('2023-09-22 10:35:15', 'SYYYY-MM-DD HH24:MI:SS'), '', NULL, NULL);
INSERT INTO "sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES ('321', '0', '定时打开', 'timingTurnOn', 'dueros_operate_type', NULL, 'default', 'N', '0', 'admin', TO_DATE('2023-09-22 10:35:15', 'SYYYY-MM-DD HH24:MI:SS'), '', NULL, NULL);
INSERT INTO "sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES ('322', '0', '定时关闭', 'timingTurnOff', 'dueros_operate_type', NULL, 'default', 'N', '0', 'admin', TO_DATE('2023-09-22 10:35:15', 'SYYYY-MM-DD HH24:MI:SS'), '', NULL, NULL);
INSERT INTO "sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES ('323', '0', '暂停', 'pause', 'dueros_operate_type', NULL, 'default', 'N', '0', 'admin', TO_DATE('2023-09-22 10:35:15', 'SYYYY-MM-DD HH24:MI:SS'), '', NULL, NULL);
INSERT INTO "sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES ('324', '0', '继续', 'continue', 'dueros_operate_type', NULL, 'default', 'N', '0', 'admin', TO_DATE('2023-09-22 10:35:15', 'SYYYY-MM-DD HH24:MI:SS'), '', NULL, NULL);
INSERT INTO "sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES ('325', '0', '设置颜色', 'setColor', 'dueros_operate_type', NULL, 'default', 'N', '0', 'admin', TO_DATE('2023-09-22 10:35:15', 'SYYYY-MM-DD HH24:MI:SS'), '', NULL, NULL);
INSERT INTO "sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES ('326', '0', '设置灯光色温', 'setColorTemperature', 'dueros_operate_type', NULL, 'default', 'N', '0', 'admin', TO_DATE('2023-09-22 10:35:15', 'SYYYY-MM-DD HH24:MI:SS'), '', NULL, NULL);
INSERT INTO "sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES ('327', '0', '增高灯光色温', 'incrementColorTemperature', 'dueros_operate_type', NULL, 'default', 'N', '0', 'admin', TO_DATE('2023-09-22 10:35:15', 'SYYYY-MM-DD HH24:MI:SS'), '', NULL, NULL);
INSERT INTO "sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES ('328', '0', '降低灯光色温', 'decrementColorTemperature', 'dueros_operate_type', NULL, 'default', 'N', '0', 'admin', TO_DATE('2023-09-22 10:35:15', 'SYYYY-MM-DD HH24:MI:SS'), '', NULL, NULL);
INSERT INTO "sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES ('329', '0', '设置灯光亮度', 'setBrightnessPercentage', 'dueros_operate_type', NULL, 'default', 'N', '0', 'admin', TO_DATE('2023-09-22 10:35:15', 'SYYYY-MM-DD HH24:MI:SS'), '', NULL, NULL);
INSERT INTO "sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES ('330', '0', '调亮灯光', 'incrementBrightnessPercentage', 'dueros_operate_type', NULL, 'default', 'N', '0', 'admin', TO_DATE('2023-09-22 10:35:15', 'SYYYY-MM-DD HH24:MI:SS'), '', NULL, NULL);
INSERT INTO "sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES ('331', '0', '调暗灯光', 'decrementBrightnessPercentage', 'dueros_operate_type', NULL, 'default', 'N', '0', 'admin', TO_DATE('2023-09-22 10:35:15', 'SYYYY-MM-DD HH24:MI:SS'), '', NULL, NULL);
INSERT INTO "sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES ('332', '0', '设置功率', 'setPower', 'dueros_operate_type', NULL, 'default', 'N', '0', 'admin', TO_DATE('2023-09-22 10:35:15', 'SYYYY-MM-DD HH24:MI:SS'), '', NULL, NULL);
INSERT INTO "sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES ('333', '0', '增大功率', 'incrementPower', 'dueros_operate_type', NULL, 'default', 'N', '0', 'admin', TO_DATE('2023-09-22 10:35:15', 'SYYYY-MM-DD HH24:MI:SS'), '', NULL, NULL);
INSERT INTO "sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES ('334', '0', '减小功率', 'decrementPower', 'dueros_operate_type', NULL, 'default', 'N', '0', 'admin', TO_DATE('2023-09-22 10:35:15', 'SYYYY-MM-DD HH24:MI:SS'), '', NULL, NULL);
INSERT INTO "sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES ('335', '0', '升高温度', 'incrementTemperature', 'dueros_operate_type', NULL, 'default', 'N', '0', 'admin', TO_DATE('2023-09-22 10:35:15', 'SYYYY-MM-DD HH24:MI:SS'), '', NULL, NULL);
INSERT INTO "sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES ('336', '0', '降低温度', 'decrementTemperature', 'dueros_operate_type', NULL, 'default', 'N', '0', 'admin', TO_DATE('2023-09-22 10:35:15', 'SYYYY-MM-DD HH24:MI:SS'), '', NULL, NULL);
INSERT INTO "sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES ('337', '0', '设置温度', 'setTemperature', 'dueros_operate_type', NULL, 'default', 'N', '0', 'admin', TO_DATE('2023-09-22 10:35:15', 'SYYYY-MM-DD HH24:MI:SS'), '', NULL, NULL);
INSERT INTO "sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES ('338', '0', '增加风速', 'incrementFanSpeed', 'dueros_operate_type', NULL, 'default', 'N', '0', 'admin', TO_DATE('2023-09-22 10:35:15', 'SYYYY-MM-DD HH24:MI:SS'), '', NULL, NULL);
INSERT INTO "sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES ('339', '0', '减小风速', 'decrementFanSpeed', 'dueros_operate_type', NULL, 'default', 'N', '0', 'admin', TO_DATE('2023-09-22 10:35:15', 'SYYYY-MM-DD HH24:MI:SS'), '', NULL, NULL);
INSERT INTO "sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES ('340', '0', '设置风速', 'setFanSpeed', 'dueros_operate_type', NULL, 'default', 'N', '0', 'admin', TO_DATE('2023-09-22 10:35:15', 'SYYYY-MM-DD HH24:MI:SS'), '', NULL, NULL);
INSERT INTO "sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES ('341', '0', '设置档位', 'setGear', 'dueros_operate_type', NULL, 'default', 'N', '0', 'admin', TO_DATE('2023-09-22 10:35:15', 'SYYYY-MM-DD HH24:MI:SS'), '', NULL, NULL);
INSERT INTO "sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES ('342', '0', '设置模式', 'setMode', 'dueros_operate_type', NULL, 'default', 'N', '0', 'admin', TO_DATE('2023-09-22 10:35:15', 'SYYYY-MM-DD HH24:MI:SS'), '', NULL, NULL);
INSERT INTO "sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES ('343', '0', '取消设置的模式', 'unSetMode', 'dueros_operate_type', NULL, 'default', 'N', '0', 'admin', TO_DATE('2023-09-22 10:35:15', 'SYYYY-MM-DD HH24:MI:SS'), '', NULL, NULL);
INSERT INTO "sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES ('344', '0', '定时设置模式', 'timingSetMode', 'dueros_operate_type', NULL, 'default', 'N', '0', 'admin', TO_DATE('2023-09-22 10:35:15', 'SYYYY-MM-DD HH24:MI:SS'), '', NULL, NULL);
INSERT INTO "sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES ('345', '0', '定时取消设置的模式', 'timingUnsetMode', 'dueros_operate_type', NULL, 'default', 'N', '0', 'admin', TO_DATE('2023-09-22 10:35:15', 'SYYYY-MM-DD HH24:MI:SS'), '', NULL, NULL);
INSERT INTO "sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES ('346', '0', '调高音量', 'incrementVolume', 'dueros_operate_type', NULL, 'default', 'N', '0', 'admin', TO_DATE('2023-09-22 10:35:15', 'SYYYY-MM-DD HH24:MI:SS'), '', NULL, NULL);
INSERT INTO "sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES ('347', '0', '调低音量', 'decrementVolume', 'dueros_operate_type', NULL, 'default', 'N', '0', 'admin', TO_DATE('2023-09-22 10:35:15', 'SYYYY-MM-DD HH24:MI:SS'), '', NULL, NULL);
INSERT INTO "sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES ('348', '0', '设置音量', 'setVolume', 'dueros_operate_type', NULL, 'default', 'N', '0', 'admin', TO_DATE('2023-09-22 10:35:15', 'SYYYY-MM-DD HH24:MI:SS'), '', NULL, NULL);
INSERT INTO "sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES ('349', '0', '设置静音状态', 'setVolumeMute', 'dueros_operate_type', NULL, 'default', 'N', '0', 'admin', TO_DATE('2023-09-22 10:35:15', 'SYYYY-MM-DD HH24:MI:SS'), '', NULL, NULL);
INSERT INTO "sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES ('350', '0', '上一个频道', 'decrementTVChannel', 'dueros_operate_type', NULL, 'default', 'N', '0', 'admin', TO_DATE('2023-09-22 10:35:15', 'SYYYY-MM-DD HH24:MI:SS'), '', NULL, NULL);
INSERT INTO "sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES ('351', '0', '下一个频道', 'incrementTVChannel', 'dueros_operate_type', NULL, 'default', 'N', '0', 'admin', TO_DATE('2023-09-22 10:35:15', 'SYYYY-MM-DD HH24:MI:SS'), '', NULL, NULL);
INSERT INTO "sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES ('352', '0', '设置频道', 'setTVChannel', 'dueros_operate_type', NULL, 'default', 'N', '0', 'admin', TO_DATE('2023-09-22 10:35:15', 'SYYYY-MM-DD HH24:MI:SS'), '', NULL, NULL);
INSERT INTO "sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES ('353', '0', '返回上个频道', 'returnTVChannel', 'dueros_operate_type', NULL, 'default', 'N', '0', 'admin', TO_DATE('2023-09-22 10:35:15', 'SYYYY-MM-DD HH24:MI:SS'), '', NULL, NULL);
INSERT INTO "sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES ('354', '0', '开始充电', 'chargeTurnOn', 'dueros_operate_type', NULL, 'default', 'N', '0', 'admin', TO_DATE('2023-09-22 10:35:15', 'SYYYY-MM-DD HH24:MI:SS'), '', NULL, NULL);
INSERT INTO "sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES ('355', '0', '停止充电', 'chargeTurnOff', 'dueros_operate_type', NULL, 'default', 'N', '0', 'admin', TO_DATE('2023-09-22 10:35:15', 'SYYYY-MM-DD HH24:MI:SS'), '', NULL, NULL);
INSERT INTO "sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES ('356', '0', '查询开关状态', 'getTurnOnState', 'dueros_operate_type', NULL, 'default', 'N', '0', 'admin', TO_DATE('2023-09-22 10:35:15', 'SYYYY-MM-DD HH24:MI:SS'), '', NULL, NULL);
INSERT INTO "sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES ('357', '0', '查询油量', 'getOilCapacity', 'dueros_operate_type', NULL, 'default', 'N', '0', 'admin', TO_DATE('2023-09-22 10:35:15', 'SYYYY-MM-DD HH24:MI:SS'), '', NULL, NULL);
INSERT INTO "sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES ('358', '0', '查询电量', 'getElectricityCapacity', 'dueros_operate_type', NULL, 'default', 'N', '0', 'admin', TO_DATE('2023-09-22 10:35:15', 'SYYYY-MM-DD HH24:MI:SS'), '', NULL, NULL);
INSERT INTO "sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES ('359', '0', '上锁/解锁', 'setLockState', 'dueros_operate_type', NULL, 'default', 'N', '0', 'admin', TO_DATE('2023-09-22 10:35:15', 'SYYYY-MM-DD HH24:MI:SS'), '', NULL, NULL);
INSERT INTO "sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES ('360', '0', '查询锁状态', 'getLockState', 'dueros_operate_type', NULL, 'default', 'N', '0', 'admin', TO_DATE('2023-09-22 10:35:15', 'SYYYY-MM-DD HH24:MI:SS'), '', NULL, NULL);
INSERT INTO "sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES ('361', '0', '设置吸力', 'setSuction', 'dueros_operate_type', NULL, 'default', 'N', '0', 'admin', TO_DATE('2023-09-22 10:35:15', 'SYYYY-MM-DD HH24:MI:SS'), '', NULL, NULL);
INSERT INTO "sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES ('362', '0', '设置水量', 'setWaterLevel', 'dueros_operate_type', NULL, 'default', 'N', '0', 'admin', TO_DATE('2023-09-22 10:35:15', 'SYYYY-MM-DD HH24:MI:SS'), '', NULL, NULL);
INSERT INTO "sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES ('363', '0', '设置清扫位置', 'setCleaningLocation', 'dueros_operate_type', NULL, 'default', 'N', '0', 'admin', TO_DATE('2023-09-22 10:35:15', 'SYYYY-MM-DD HH24:MI:SS'), '', NULL, NULL);
INSERT INTO "sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES ('364', '0', '执行自定义复杂动作', 'setComplexActions', 'dueros_operate_type', NULL, 'default', 'N', '0', 'admin', TO_DATE('2023-09-22 10:35:15', 'SYYYY-MM-DD HH24:MI:SS'), '', NULL, NULL);
INSERT INTO "sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES ('365', '0', '设置移动方向', 'setDirection', 'dueros_operate_type', NULL, 'default', 'N', '0', 'admin', TO_DATE('2023-09-22 10:35:15', 'SYYYY-MM-DD HH24:MI:SS'), '', NULL, NULL);
INSERT INTO "sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES ('366', '0', '打印', 'submitPrint', 'dueros_operate_type', NULL, 'default', 'N', '0', 'admin', TO_DATE('2023-09-22 10:35:15', 'SYYYY-MM-DD HH24:MI:SS'), '', NULL, NULL);
INSERT INTO "sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES ('367', '0', '查询PM2.5', 'getAirPM25', 'dueros_operate_type', NULL, 'default', 'N', '0', 'admin', TO_DATE('2023-09-22 10:35:15', 'SYYYY-MM-DD HH24:MI:SS'), '', NULL, NULL);
INSERT INTO "sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES ('368', '0', '查询PM10', 'getAirPM10', 'dueros_operate_type', NULL, 'default', 'N', '0', 'admin', TO_DATE('2023-09-22 10:35:15', 'SYYYY-MM-DD HH24:MI:SS'), '', NULL, NULL);
INSERT INTO "sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES ('369', '0', '查询二氧化碳含量', 'getCO2Quantity', 'dueros_operate_type', NULL, 'default', 'N', '0', 'admin', TO_DATE('2023-09-22 10:35:15', 'SYYYY-MM-DD HH24:MI:SS'), '', NULL, NULL);
INSERT INTO "sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES ('370', '0', '查询空气质量', 'getAirQualityIndex', 'dueros_operate_type', NULL, 'default', 'N', '0', 'admin', TO_DATE('2023-09-22 10:35:15', 'SYYYY-MM-DD HH24:MI:SS'), '', NULL, NULL);
INSERT INTO "sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES ('371', '0', '查询温度(当前温度和目标温度)', 'getTemperature', 'dueros_operate_type', NULL, 'default', 'N', '0', 'admin', TO_DATE('2023-09-22 10:35:15', 'SYYYY-MM-DD HH24:MI:SS'), '', NULL, NULL);
INSERT INTO "sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES ('372', '0', '查询当前温度', 'getTemperatureReading', 'dueros_operate_type', NULL, 'default', 'N', '0', 'admin', TO_DATE('2023-09-22 10:35:15', 'SYYYY-MM-DD HH24:MI:SS'), '', NULL, NULL);
INSERT INTO "sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES ('373', '0', '查询目标温度', 'getTargetTemperature', 'dueros_operate_type', NULL, 'default', 'N', '0', 'admin', TO_DATE('2023-09-22 10:35:15', 'SYYYY-MM-DD HH24:MI:SS'), '', NULL, NULL);
INSERT INTO "sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES ('374', '0', '查询湿度', 'getHumidity', 'dueros_operate_type', NULL, 'default', 'N', '0', 'admin', TO_DATE('2023-09-22 10:35:15', 'SYYYY-MM-DD HH24:MI:SS'), '', NULL, NULL);
INSERT INTO "sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES ('375', '0', '查询目标湿度', 'getTargetHumidity', 'dueros_operate_type', NULL, 'default', 'N', '0', 'admin', TO_DATE('2023-09-22 10:35:15', 'SYYYY-MM-DD HH24:MI:SS'), '', NULL, NULL);
INSERT INTO "sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES ('376', '0', '查询水质', 'getWaterQuality', 'dueros_operate_type', NULL, 'default', 'N', '0', 'admin', TO_DATE('2023-09-22 10:35:15', 'SYYYY-MM-DD HH24:MI:SS'), '', NULL, NULL);
INSERT INTO "sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES ('377', '0', '查询设备所有状态', 'getState', 'dueros_operate_type', NULL, 'default', 'N', '0', 'admin', TO_DATE('2023-09-22 10:35:15', 'SYYYY-MM-DD HH24:MI:SS'), '', NULL, NULL);
INSERT INTO "sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES ('378', '0', '查询剩余时间', 'getTimeLeft', 'dueros_operate_type', NULL, 'default', 'N', '0', 'admin', TO_DATE('2023-09-22 10:35:15', 'SYYYY-MM-DD HH24:MI:SS'), '', NULL, NULL);
INSERT INTO "sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES ('379', '0', '查询运行状态', 'getRunningStatus', 'dueros_operate_type', NULL, 'default', 'N', '0', 'admin', TO_DATE('2023-09-22 10:35:15', 'SYYYY-MM-DD HH24:MI:SS'), '', NULL, NULL);
INSERT INTO "sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES ('380', '0', '查询运行时间', 'getRunningTime', 'dueros_operate_type', NULL, 'default', 'N', '0', 'admin', TO_DATE('2023-09-22 10:35:15', 'SYYYY-MM-DD HH24:MI:SS'), '', NULL, NULL);
INSERT INTO "sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES ('381', '0', '查询设备所在位置', 'getLocation', 'dueros_operate_type', NULL, 'default', 'N', '0', 'admin', TO_DATE('2023-09-22 10:35:15', 'SYYYY-MM-DD HH24:MI:SS'), '', NULL, NULL);
INSERT INTO "sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES ('382', '0', '设备定时', 'setTimer', 'dueros_operate_type', NULL, 'default', 'N', '0', 'admin', TO_DATE('2023-09-22 10:35:15', 'SYYYY-MM-DD HH24:MI:SS'), '', NULL, NULL);
INSERT INTO "sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES ('383', '0', '取消设备定时', 'timingCancel', 'dueros_operate_type', NULL, 'default', 'N', '0', 'admin', TO_DATE('2023-09-22 10:35:15', 'SYYYY-MM-DD HH24:MI:SS'), '', NULL, NULL);
INSERT INTO "sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES ('384', '0', '设备复位', 'reset', 'dueros_operate_type', NULL, 'default', 'N', '0', 'admin', TO_DATE('2023-09-22 10:35:15', 'SYYYY-MM-DD HH24:MI:SS'), '', NULL, NULL);
INSERT INTO "sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES ('385', '0', '升高高度', 'incrementHeight', 'dueros_operate_type', NULL, 'default', 'N', '0', 'admin', TO_DATE('2023-09-22 10:35:15', 'SYYYY-MM-DD HH24:MI:SS'), '', NULL, NULL);
INSERT INTO "sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES ('386', '0', '降低高度', 'decrementHeight', 'dueros_operate_type', NULL, 'default', 'N', '0', 'admin', TO_DATE('2023-09-22 10:35:15', 'SYYYY-MM-DD HH24:MI:SS'), '', NULL, NULL);
INSERT INTO "sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES ('387', '0', '设置摆风角度', 'setSwingAngle', 'dueros_operate_type', NULL, 'default', 'N', '0', 'admin', TO_DATE('2023-09-22 10:35:15', 'SYYYY-MM-DD HH24:MI:SS'), '', NULL, NULL);
INSERT INTO "sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES ('388', '0', '查询风速', 'getFanSpeed', 'dueros_operate_type', NULL, 'default', 'N', '0', 'admin', TO_DATE('2023-09-22 10:35:15', 'SYYYY-MM-DD HH24:MI:SS'), '', NULL, NULL);
INSERT INTO "sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES ('389', '0', '设置湿度模式', 'setHumidity', 'dueros_operate_type', NULL, 'default', 'N', '0', 'admin', TO_DATE('2023-09-22 10:35:15', 'SYYYY-MM-DD HH24:MI:SS'), '', NULL, NULL);
INSERT INTO "sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES ('390', '0', '增大湿度', 'incrementHumidity', 'dueros_operate_type', NULL, 'default', 'N', '0', 'admin', TO_DATE('2023-09-22 10:35:15', 'SYYYY-MM-DD HH24:MI:SS'), '', NULL, NULL);
INSERT INTO "sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES ('391', '0', '降低湿度', 'decrementHumidity', 'dueros_operate_type', NULL, 'default', 'N', '0', 'admin', TO_DATE('2023-09-22 10:35:15', 'SYYYY-MM-DD HH24:MI:SS'), '', NULL, NULL);
INSERT INTO "sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES ('392', '0', '增大雾量', 'incrementMist', 'dueros_operate_type', NULL, 'default', 'N', '0', 'admin', TO_DATE('2023-09-22 10:35:15', 'SYYYY-MM-DD HH24:MI:SS'), '', NULL, NULL);
INSERT INTO "sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES ('393', '0', '见效雾量', 'decrementMist', 'dueros_operate_type', NULL, 'default', 'N', '0', 'admin', TO_DATE('2023-09-22 10:35:15', 'SYYYY-MM-DD HH24:MI:SS'), '', NULL, NULL);
INSERT INTO "sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES ('394', '0', '设置雾量', 'setMist', 'dueros_operate_type', NULL, 'default', 'N', '0', 'admin', TO_DATE('2023-09-22 10:35:15', 'SYYYY-MM-DD HH24:MI:SS'), '', NULL, NULL);
INSERT INTO "sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES ('395', '0', '设备启动', 'startUp', 'dueros_operate_type', NULL, 'default', 'N', '0', 'admin', TO_DATE('2023-09-22 10:35:15', 'SYYYY-MM-DD HH24:MI:SS'), '', NULL, NULL);
INSERT INTO "sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES ('396', '0', '设置电梯楼层', 'setFloor', 'dueros_operate_type', NULL, 'default', 'N', '0', 'admin', TO_DATE('2023-09-22 10:35:15', 'SYYYY-MM-DD HH24:MI:SS'), '', NULL, NULL);
INSERT INTO "sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES ('397', '0', '电梯按下', 'decrementFloor', 'dueros_operate_type', NULL, 'default', 'N', '0', 'admin', TO_DATE('2023-09-22 10:35:15', 'SYYYY-MM-DD HH24:MI:SS'), '', NULL, NULL);
INSERT INTO "sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES ('398', '0', '电梯按上', 'incrementFloor', 'dueros_operate_type', NULL, 'default', 'N', '0', 'admin', TO_DATE('2023-09-22 10:35:15', 'SYYYY-MM-DD HH24:MI:SS'), '', NULL, NULL);
INSERT INTO "sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES ('399', '0', '增加速度', 'incrementSpeed', 'dueros_operate_type', NULL, 'default', 'N', '0', 'admin', TO_DATE('2023-09-22 10:35:15', 'SYYYY-MM-DD HH24:MI:SS'), '', NULL, NULL);
INSERT INTO "sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES ('400', '0', '降低速度', 'decrementSpeed', 'dueros_operate_type', NULL, 'default', 'N', '0', 'admin', TO_DATE('2023-09-22 10:35:15', 'SYYYY-MM-DD HH24:MI:SS'), '', NULL, NULL);
INSERT INTO "sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES ('401', '0', '设置速度', 'setSpeed', 'dueros_operate_type', NULL, 'default', 'N', '0', 'admin', TO_DATE('2023-09-22 10:35:15', 'SYYYY-MM-DD HH24:MI:SS'), '', NULL, NULL);
INSERT INTO "sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES ('402', '0', '获取速度', 'getSpeed', 'dueros_operate_type', NULL, 'default', 'N', '0', 'admin', TO_DATE('2023-09-22 10:35:15', 'SYYYY-MM-DD HH24:MI:SS'), '', NULL, NULL);
INSERT INTO "sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES ('403', '0', '获取跑步信息', 'getMotionInfo', 'dueros_operate_type', NULL, 'default', 'N', '0', 'admin', TO_DATE('2023-09-22 10:35:15', 'SYYYY-MM-DD HH24:MI:SS'), '', NULL, NULL);
INSERT INTO "sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES ('404', '0', '打开灶眼', 'turnOnBurner', 'dueros_operate_type', NULL, 'default', 'N', '0', 'admin', TO_DATE('2023-09-22 10:35:15', 'SYYYY-MM-DD HH24:MI:SS'), '', NULL, NULL);
INSERT INTO "sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES ('405', '0', '关闭灶眼', 'turnOffBurner', 'dueros_operate_type', NULL, 'default', 'N', '0', 'admin', TO_DATE('2023-09-22 10:35:15', 'SYYYY-MM-DD HH24:MI:SS'), '', NULL, NULL);
INSERT INTO "sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES ('406', '0', '定时打开灶眼', 'timingTurnOnBurner', 'dueros_operate_type', NULL, 'default', 'N', '0', 'admin', TO_DATE('2023-09-22 10:35:15', 'SYYYY-MM-DD HH24:MI:SS'), '', NULL, NULL);
INSERT INTO "sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES ('407', '0', '定时关闭灶眼', 'timingTurnOffBurner', 'dueros_operate_type', NULL, 'default', 'N', '0', 'admin', TO_DATE('2023-09-22 10:35:15', 'SYYYY-MM-DD HH24:MI:SS'), '', NULL, NULL);
INSERT INTO "sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES ('408', '7', '微信开放平台网站应用个人中心绑定', 'wechat_open_web_bind', 'iot_social_platform', NULL, 'default', 'N', '0', 'admin', TO_DATE('2023-10-09 11:28:15', 'SYYYY-MM-DD HH24:MI:SS'), '', NULL, NULL);
INSERT INTO "sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES ('749', '1', 'Java脚本引擎', 'java', 'rule_script_language', NULL, 'default', 'N', '0', 'admin', TO_DATE('2023-11-04 01:51:09', 'SYYYY-MM-DD HH24:MI:SS'), 'admin', TO_DATE('2023-11-04 01:51:42', 'SYYYY-MM-DD HH24:MI:SS'), NULL);
INSERT INTO "sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES ('750', '2', 'JavaScript脚本引擎', 'js', 'rule_script_language', NULL, 'default', 'N', '0', 'admin', TO_DATE('2023-11-04 01:51:36', 'SYYYY-MM-DD HH24:MI:SS'), 'admin', TO_DATE('2023-11-05 10:28:30', 'SYYYY-MM-DD HH24:MI:SS'), NULL);
INSERT INTO "sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES ('751', '1', '普通脚本节点', 'script', 'rule_script_type', NULL, 'default', 'N', '0', 'admin', TO_DATE('2023-11-04 01:53:11', 'SYYYY-MM-DD HH24:MI:SS'), '', NULL, NULL);
INSERT INTO "sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES ('752', '2', '选择脚本节点 (switch)', 'switch_script', 'rule_script_type', NULL, 'default', 'N', '0', 'admin', TO_DATE('2023-11-04 01:53:32', 'SYYYY-MM-DD HH24:MI:SS'), 'admin', TO_DATE('2023-11-04 01:56:44', 'SYYYY-MM-DD HH24:MI:SS'), NULL);
INSERT INTO "sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES ('753', '3', '条件脚本节点 (if)', 'if_script', 'rule_script_type', NULL, 'default', 'N', '0', 'admin', TO_DATE('2023-11-04 01:53:48', 'SYYYY-MM-DD HH24:MI:SS'), 'admin', TO_DATE('2023-11-04 01:56:55', 'SYYYY-MM-DD HH24:MI:SS'), NULL);
INSERT INTO "sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES ('754', '4', '数量循环节点 (for)', 'for_script', 'rule_script_type', NULL, 'default', 'N', '0', 'admin', TO_DATE('2023-11-04 01:54:11', 'SYYYY-MM-DD HH24:MI:SS'), 'admin', TO_DATE('2023-11-04 01:57:07', 'SYYYY-MM-DD HH24:MI:SS'), NULL);
INSERT INTO "sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES ('755', '5', '条件循环节点 (while)', 'while_script', 'rule_script_type', NULL, 'default', 'N', '0', 'admin', TO_DATE('2023-11-04 01:54:30', 'SYYYY-MM-DD HH24:MI:SS'), 'admin', TO_DATE('2023-11-04 01:57:16', 'SYYYY-MM-DD HH24:MI:SS'), NULL);
INSERT INTO "sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES ('756', '6', '退出循环节点 (break)', 'break_script', 'rule_script_type', NULL, 'default', 'N', '0', 'admin', TO_DATE('2023-11-04 01:54:50', 'SYYYY-MM-DD HH24:MI:SS'), 'admin', TO_DATE('2023-11-04 01:57:29', 'SYYYY-MM-DD HH24:MI:SS'), NULL);
INSERT INTO "sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES ('757', '3', 'groovy脚本引擎', 'groovy', 'rule_script_language', NULL, 'default', 'N', '0', 'admin', TO_DATE('2023-11-05 10:29:14', 'SYYYY-MM-DD HH24:MI:SS'), '', NULL, NULL);
INSERT INTO "sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES ('767', '1', '设备上报', '1', 'rule_script_event', NULL, 'primary', 'N', '0', 'admin', TO_DATE('2023-12-19 11:40:34', 'SYYYY-MM-DD HH24:MI:SS'), 'admin', TO_DATE('2023-12-20 02:23:43', 'SYYYY-MM-DD HH24:MI:SS'), NULL);
INSERT INTO "sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES ('768', '2', '平台下发', '2', 'rule_script_event', NULL, 'warning', 'N', '0', 'admin', TO_DATE('2023-12-19 11:40:46', 'SYYYY-MM-DD HH24:MI:SS'), 'admin', TO_DATE('2023-12-20 02:23:51', 'SYYYY-MM-DD HH24:MI:SS'), NULL);
INSERT INTO "sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES ('769', '3', '设备上线', '3', 'rule_script_event', NULL, 'success', 'N', '0', 'admin', TO_DATE('2023-12-19 11:40:58', 'SYYYY-MM-DD HH24:MI:SS'), 'admin', TO_DATE('2023-12-20 02:24:00', 'SYYYY-MM-DD HH24:MI:SS'), NULL);
INSERT INTO "sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES ('770', '4', '设备离线', '4', 'rule_script_event', NULL, 'info', 'N', '0', 'admin', TO_DATE('2023-12-19 11:41:09', 'SYYYY-MM-DD HH24:MI:SS'), 'admin', TO_DATE('2023-12-20 02:24:08', 'SYYYY-MM-DD HH24:MI:SS'), NULL);
INSERT INTO "sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES ('771', '1', '数据流', '1', 'rule_script_purpose', NULL, 'default', 'N', '0', 'admin', TO_DATE('2023-12-19 11:41:39', 'SYYYY-MM-DD HH24:MI:SS'), '', NULL, NULL);
INSERT INTO "sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES ('772', '2', '触发器', '2', 'rule_script_purpose', NULL, 'default', 'N', '0', 'admin', TO_DATE('2023-12-19 11:41:48', 'SYYYY-MM-DD HH24:MI:SS'), '', NULL, NULL);
INSERT INTO "sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES ('773', '3', '执行动作', '3', 'rule_script_purpose', NULL, 'default', 'N', '0', 'admin', TO_DATE('2023-12-19 11:41:59', 'SYYYY-MM-DD HH24:MI:SS'), '', NULL, NULL);
INSERT INTO "sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES ('774', '1', '消息重发', '1', 'rule_script_action', NULL, 'default', 'N', '0', 'admin', TO_DATE('2023-12-19 11:42:26', 'SYYYY-MM-DD HH24:MI:SS'), '', NULL, NULL);
INSERT INTO "sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES ('775', '2', '消息通知', '2', 'rule_script_action', NULL, 'default', 'N', '0', 'admin', TO_DATE('2023-12-19 11:43:18', 'SYYYY-MM-DD HH24:MI:SS'), 'admin', TO_DATE('2023-12-19 11:43:38', 'SYYYY-MM-DD HH24:MI:SS'), NULL);
INSERT INTO "sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES ('776', '3', 'Http推送', '3', 'rule_script_action', NULL, 'default', 'N', '0', 'admin', TO_DATE('2023-12-19 11:43:33', 'SYYYY-MM-DD HH24:MI:SS'), '', NULL, NULL);
INSERT INTO "sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES ('777', '4', 'Mqtt桥接', '4', 'rule_script_action', NULL, 'default', 'N', '0', 'admin', TO_DATE('2023-12-19 11:43:54', 'SYYYY-MM-DD HH24:MI:SS'), '', NULL, NULL);
INSERT INTO "sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES ('244', '4', '微信开放平台网站应用', 'wechat_open_web', 'iot_social_platform', NULL, 'default', 'N', '0', 'admin', TO_DATE('2023-08-23 11:28:15', 'SYYYY-MM-DD HH24:MI:SS'), '', NULL, NULL);
INSERT INTO "sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES ('245', '5', '微信开放平台移动应用', 'wechat_open_mobile', 'iot_social_platform', NULL, 'default', 'N', '0', 'admin', TO_DATE('2023-08-23 11:29:14', 'SYYYY-MM-DD HH24:MI:SS'), '', NULL, NULL);
INSERT INTO "sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES ('246', '6', '微信开放平台小程序', 'wechat_open_mini_program', 'iot_social_platform', NULL, 'default', 'N', '0', 'admin', TO_DATE('2023-08-23 11:38:12', 'SYYYY-MM-DD HH24:MI:SS'), '', NULL, NULL);
INSERT INTO "sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES ('247', '7', '微信开放平台网站应用个人中心绑定', 'wechat_open_web_bind', 'iot_social_platform', NULL, 'default', 'N', '0', 'admin', TO_DATE('2023-10-09 11:28:15', 'SYYYY-MM-DD HH24:MI:SS'), '', NULL, NULL);
INSERT INTO "sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES ('248', '0', '16位 符号', 'ushort', 'iot_modbus_data_type', NULL, 'default', 'N', '0', 'admin', TO_DATE('2023-09-04 14:11:54', 'SYYYY-MM-DD HH24:MI:SS'), '', NULL, NULL);
INSERT INTO "sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES ('249', '1', '16位 有符号', 'short', 'iot_modbus_data_type', NULL, 'default', 'N', '0', 'admin', TO_DATE('2023-09-04 14:12:26', 'SYYYY-MM-DD HH24:MI:SS'), '', NULL, NULL);
INSERT INTO "sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES ('250', '2', '32位 有符号(ABCD)', 'long-ABCD', 'iot_modbus_data_type', NULL, 'default', 'N', '0', 'admin', TO_DATE('2023-09-04 14:12:53', 'SYYYY-MM-DD HH24:MI:SS'), '', NULL, NULL);
INSERT INTO "sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES ('251', '3', '32位 符号(CDAB)', 'long-CDAB', 'iot_modbus_data_type', NULL, 'default', 'N', '0', 'admin', TO_DATE('2023-09-04 14:13:21', 'SYYYY-MM-DD HH24:MI:SS'), '', NULL, NULL);
INSERT INTO "sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES ('252', '4', '32位 无符号(ABCD)', 'ulong-ABCD', 'iot_modbus_data_type', NULL, 'default', 'N', '0', 'admin', TO_DATE('2023-09-04 14:13:42', 'SYYYY-MM-DD HH24:MI:SS'), '', NULL, NULL);
INSERT INTO "sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES ('253', '5', '32位 无符号(CDAB)', 'ulong-CDAB', 'iot_modbus_data_type', NULL, 'default', 'N', '0', 'admin', TO_DATE('2023-09-04 14:14:06', 'SYYYY-MM-DD HH24:MI:SS'), '', NULL, NULL);
INSERT INTO "sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES ('254', '6', '32位 浮点数(ABCD)', 'float-ABCD', 'iot_modbus_data_type', NULL, 'default', 'N', '0', 'admin', TO_DATE('2023-09-04 14:14:28', 'SYYYY-MM-DD HH24:MI:SS'), '', NULL, NULL);
INSERT INTO "sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES ('255', '7', '32位 浮点数(CDAB)', 'float-CDAB', 'iot_modbus_data_type', NULL, 'default', 'N', '0', 'admin', TO_DATE('2023-09-04 14:14:50', 'SYYYY-MM-DD HH24:MI:SS'), '', NULL, NULL);
INSERT INTO "sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES ('257', '1', 'Java脚本引擎', 'java', 'rule_script_language', NULL, 'default', 'N', '0', 'admin', TO_DATE('2023-11-04 01:51:09', 'SYYYY-MM-DD HH24:MI:SS'), 'admin', TO_DATE('2023-11-04 01:51:42', 'SYYYY-MM-DD HH24:MI:SS'), NULL);
INSERT INTO "sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES ('258', '2', 'JavaScript脚本引擎', 'js', 'rule_script_language', NULL, 'default', 'N', '0', 'admin', TO_DATE('2023-11-04 01:51:36', 'SYYYY-MM-DD HH24:MI:SS'), 'admin', TO_DATE('2023-11-05 10:28:30', 'SYYYY-MM-DD HH24:MI:SS'), NULL);
INSERT INTO "sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES ('259', '1', '普通脚本节点', 'script', 'rule_script_type', NULL, 'default', 'N', '0', 'admin', TO_DATE('2023-11-04 01:53:11', 'SYYYY-MM-DD HH24:MI:SS'), '', NULL, NULL);
INSERT INTO "sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES ('260', '2', '选择脚本节点 (switch)', 'switch_script', 'rule_script_type', NULL, 'default', 'N', '0', 'admin', TO_DATE('2023-11-04 01:53:32', 'SYYYY-MM-DD HH24:MI:SS'), 'admin', TO_DATE('2023-11-04 01:56:44', 'SYYYY-MM-DD HH24:MI:SS'), NULL);
INSERT INTO "sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES ('261', '3', '条件脚本节点 (if)', 'if_script', 'rule_script_type', NULL, 'default', 'N', '0', 'admin', TO_DATE('2023-11-04 01:53:48', 'SYYYY-MM-DD HH24:MI:SS'), 'admin', TO_DATE('2023-11-04 01:56:55', 'SYYYY-MM-DD HH24:MI:SS'), NULL);
INSERT INTO "sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES ('262', '4', '数量循环节点 (for)', 'for_script', 'rule_script_type', NULL, 'default', 'N', '0', 'admin', TO_DATE('2023-11-04 01:54:11', 'SYYYY-MM-DD HH24:MI:SS'), 'admin', TO_DATE('2023-11-04 01:57:07', 'SYYYY-MM-DD HH24:MI:SS'), NULL);
INSERT INTO "sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES ('263', '5', '条件循环节点 (while)', 'while_script', 'rule_script_type', NULL, 'default', 'N', '0', 'admin', TO_DATE('2023-11-04 01:54:30', 'SYYYY-MM-DD HH24:MI:SS'), 'admin', TO_DATE('2023-11-04 01:57:16', 'SYYYY-MM-DD HH24:MI:SS'), NULL);
INSERT INTO "sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES ('264', '6', '退出循环节点 (break)', 'break_script', 'rule_script_type', NULL, 'default', 'N', '0', 'admin', TO_DATE('2023-11-04 01:54:50', 'SYYYY-MM-DD HH24:MI:SS'), 'admin', TO_DATE('2023-11-04 01:57:29', 'SYYYY-MM-DD HH24:MI:SS'), NULL);
INSERT INTO "sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES ('265', '3', 'groovy脚本引擎', 'groovy', 'rule_script_language', NULL, 'default', 'N', '0', 'admin', TO_DATE('2023-11-05 10:29:14', 'SYYYY-MM-DD HH24:MI:SS'), '', NULL, NULL);
INSERT INTO "sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES ('560', '1', '设备上报', '1', 'rule_script_event', NULL, 'primary', 'N', '0', 'admin', TO_DATE('2023-12-19 11:40:34', 'SYYYY-MM-DD HH24:MI:SS'), 'admin', TO_DATE('2023-12-20 02:23:43', 'SYYYY-MM-DD HH24:MI:SS'), NULL);
INSERT INTO "sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES ('561', '2', '平台下发', '2', 'rule_script_event', NULL, 'warning', 'N', '0', 'admin', TO_DATE('2023-12-19 11:40:46', 'SYYYY-MM-DD HH24:MI:SS'), 'admin', TO_DATE('2023-12-20 02:23:51', 'SYYYY-MM-DD HH24:MI:SS'), NULL);
INSERT INTO "sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES ('562', '3', '设备上线', '3', 'rule_script_event', NULL, 'success', 'N', '0', 'admin', TO_DATE('2023-12-19 11:40:58', 'SYYYY-MM-DD HH24:MI:SS'), 'admin', TO_DATE('2023-12-20 02:24:00', 'SYYYY-MM-DD HH24:MI:SS'), NULL);
INSERT INTO "sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES ('563', '4', '设备离线', '4', 'rule_script_event', NULL, 'info', 'N', '0', 'admin', TO_DATE('2023-12-19 11:41:09', 'SYYYY-MM-DD HH24:MI:SS'), 'admin', TO_DATE('2023-12-20 02:24:08', 'SYYYY-MM-DD HH24:MI:SS'), NULL);
INSERT INTO "sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES ('564', '1', '数据流', '1', 'rule_script_purpose', NULL, 'default', 'N', '0', 'admin', TO_DATE('2023-12-19 11:41:39', 'SYYYY-MM-DD HH24:MI:SS'), '', NULL, NULL);
INSERT INTO "sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES ('565', '2', '触发器', '2', 'rule_script_purpose', NULL, 'default', 'N', '0', 'admin', TO_DATE('2023-12-19 11:41:48', 'SYYYY-MM-DD HH24:MI:SS'), '', NULL, NULL);
INSERT INTO "sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES ('566', '3', '执行动作', '3', 'rule_script_purpose', NULL, 'default', 'N', '0', 'admin', TO_DATE('2023-12-19 11:41:59', 'SYYYY-MM-DD HH24:MI:SS'), '', NULL, NULL);
INSERT INTO "sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES ('567', '1', '消息重发', '1', 'rule_script_action', NULL, 'default', 'N', '0', 'admin', TO_DATE('2023-12-19 11:42:26', 'SYYYY-MM-DD HH24:MI:SS'), '', NULL, NULL);
INSERT INTO "sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES ('568', '2', '消息通知', '2', 'rule_script_action', NULL, 'default', 'N', '0', 'admin', TO_DATE('2023-12-19 11:43:18', 'SYYYY-MM-DD HH24:MI:SS'), 'admin', TO_DATE('2023-12-19 11:43:38', 'SYYYY-MM-DD HH24:MI:SS'), NULL);
INSERT INTO "sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES ('569', '3', 'Http推送', '3', 'rule_script_action', NULL, 'default', 'N', '0', 'admin', TO_DATE('2023-12-19 11:43:33', 'SYYYY-MM-DD HH24:MI:SS'), '', NULL, NULL);
INSERT INTO "sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES ('570', '4', 'Mqtt桥接', '4', 'rule_script_action', NULL, 'default', 'N', '0', 'admin', TO_DATE('2023-12-19 11:43:54', 'SYYYY-MM-DD HH24:MI:SS'), '', NULL, NULL);
COMMIT;
-- ----------------------------
-- Table structure for sys_dict_data_translate
-- ----------------------------
DROP TABLE "sys_dict_data_translate";
CREATE TABLE "sys_dict_data_translate" (
"id" NUMBER(20) NOT NULL,
"zh_cn" NVARCHAR2(200),
"en_us" NVARCHAR2(200)
)
;
COMMENT ON COLUMN "sys_dict_data_translate"."id" IS 'ID';
COMMENT ON COLUMN "sys_dict_data_translate"."zh_cn" IS 'zh_CN';
COMMENT ON COLUMN "sys_dict_data_translate"."en_us" IS 'en_US';
COMMENT ON TABLE "sys_dict_data_translate" IS '字典数据翻译表';
-- ----------------------------
-- Records of sys_dict_data_translate
-- ----------------------------
INSERT INTO "sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES ('1', '', 'man');
INSERT INTO "sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES ('2', '', 'woman');
INSERT INTO "sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES ('3', '未知', 'Unknown');
INSERT INTO "sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES ('4', '显示', 'display');
INSERT INTO "sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES ('5', '隐藏', 'hide');
INSERT INTO "sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES ('6', '正常', 'normal');
INSERT INTO "sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES ('7', '停用', 'Deactivated');
INSERT INTO "sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES ('8', '正常', 'normal');
INSERT INTO "sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES ('9', '暂停', 'Time out');
INSERT INTO "sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES ('10', '默认', 'default');
INSERT INTO "sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES ('11', '系统', 'system');
INSERT INTO "sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES ('12', '', 'be');
INSERT INTO "sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES ('13', '', 'not');
INSERT INTO "sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES ('14', '通知', 'notice');
INSERT INTO "sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES ('15', '公告', 'announcement');
INSERT INTO "sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES ('16', '正常', 'normal');
INSERT INTO "sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES ('17', '关闭', 'Shut down');
INSERT INTO "sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES ('18', '新增', 'New');
INSERT INTO "sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES ('19', '修改', 'revise');
INSERT INTO "sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES ('20', '删除', 'Delete');
INSERT INTO "sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES ('21', '授权', 'authorization');
INSERT INTO "sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES ('22', '导出', 'Export');
INSERT INTO "sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES ('23', '导入', 'Import');
INSERT INTO "sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES ('24', '强退', 'Forced retreat');
INSERT INTO "sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES ('25', '生成代码', 'Generate code');
INSERT INTO "sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES ('26', '清空数据', 'Clear the data');
INSERT INTO "sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES ('27', '成功', 'succeed');
INSERT INTO "sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES ('28', '失败', 'fail');
INSERT INTO "sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES ('100', '属性', 'attribute');
INSERT INTO "sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES ('101', '功能', 'function');
INSERT INTO "sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES ('102', '事件', 'event');
INSERT INTO "sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES ('103', '整数', 'integer');
INSERT INTO "sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES ('104', '小数', 'decimal fraction');
INSERT INTO "sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES ('105', '布尔', 'Boolean');
INSERT INTO "sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES ('106', '枚举', 'enumerate');
INSERT INTO "sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES ('107', '字符串', 'string');
INSERT INTO "sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES ('108', '', 'be');
INSERT INTO "sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES ('109', '', 'not');
INSERT INTO "sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES ('110', '数组', 'array');
INSERT INTO "sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES ('111', '未发布', 'Unpublished');
INSERT INTO "sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES ('112', '已发布', 'Published');
INSERT INTO "sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES ('113', '直连设备', 'Directly connected devices');
INSERT INTO "sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES ('114', '网关设备', 'Gateway devices');
INSERT INTO "sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES ('116', 'WIFI', 'WIFI');
INSERT INTO "sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES ('117', '蜂窝(2G/3G/4G/5G)', 'Cellular (2G/3G/4G/5G)');
INSERT INTO "sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES ('118', '以太网', 'Ethernet');
INSERT INTO "sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES ('119', '简单认证', 'Simple authentication');
INSERT INTO "sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES ('120', '加密认证', 'Cryptographic authentication');
INSERT INTO "sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES ('122', 'ESP8266/Arduino', 'ESP8266/Arduino');
INSERT INTO "sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES ('123', 'ESP32/Arduino', 'ESP32/Arduino');
INSERT INTO "sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES ('124', 'ESP8266/RTOS', 'ESP8266/RTOS');
INSERT INTO "sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES ('127', 'ESP32/ESP-IDF', 'ESP32/ESP-IDF');
INSERT INTO "sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES ('128', '树莓派/Python', 'Raspberry Pi/Python');
INSERT INTO "sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES ('129', '未激活', 'Not activated');
INSERT INTO "sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES ('130', '禁用', 'disable');
INSERT INTO "sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES ('131', '在线', 'online');
INSERT INTO "sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES ('132', '离线', 'offline');
INSERT INTO "sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES ('133', '启用', 'enable');
INSERT INTO "sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES ('134', '禁用', 'disable');
INSERT INTO "sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES ('135', '提醒通知', 'Reminder notifications');
INSERT INTO "sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES ('136', '轻微问题', 'Minor issues');
INSERT INTO "sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES ('137', '严重警告', 'Serious warning');
INSERT INTO "sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES ('138', '不需要处理', 'No processing is required');
INSERT INTO "sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES ('139', '未处理', 'Not processed');
INSERT INTO "sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES ('140', '已处理', 'Processed');
INSERT INTO "sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES ('141', '属性上报', 'Attribute escalation');
INSERT INTO "sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES ('142', '事件上报', 'Event escalation');
INSERT INTO "sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES ('143', '功能调用', 'Function calls');
INSERT INTO "sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES ('144', '设备升级', 'Equipment upgrades');
INSERT INTO "sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES ('145', '设备上线', 'The device goes online');
INSERT INTO "sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES ('146', '设备离线', 'The device is offline');
INSERT INTO "sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES ('147', '其他', 'other');
INSERT INTO "sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES ('148', '安卓/Android', 'Android/Android');
INSERT INTO "sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES ('149', '其他', 'other');
INSERT INTO "sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES ('150', '小度平台', 'Small platform');
INSERT INTO "sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES ('151', '天猫精灵', 'Tmall Genie');
INSERT INTO "sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES ('152', '小米小爱', 'Xiaomi Xiaoai');
INSERT INTO "sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES ('153', '其他平台', 'Other platforms');
INSERT INTO "sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES ('154', '微信登录', 'WeChat login');
INSERT INTO "sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES ('155', 'QQ登录', 'QQ login');
INSERT INTO "sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES ('156', '启用', 'enable');
INSERT INTO "sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES ('157', '未启用', 'Not enabled');
INSERT INTO "sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES ('158', '支付宝', 'Alipay');
INSERT INTO "sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES ('159', '自动定位', 'Auto-target');
INSERT INTO "sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES ('160', '设备定位', 'Device positioning');
INSERT INTO "sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES ('161', '自定义位置', 'Custom location');
INSERT INTO "sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES ('162', '简单+加密', 'Simple + Encrypted');
INSERT INTO "sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES ('163', '未使用', 'Unused');
INSERT INTO "sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES ('164', '已使用', 'Used');
INSERT INTO "sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES ('165', '对象', 'object');
INSERT INTO "sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES ('166', '监控设备', 'Monitor the device');
INSERT INTO "sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES ('167', '未使用', 'Unused');
INSERT INTO "sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES ('168', '在线', 'online');
INSERT INTO "sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES ('169', 'DVR', 'DVR');
INSERT INTO "sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES ('170', 'NVR', 'NVR');
INSERT INTO "sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES ('171', '报警控制器', 'Alarm controller');
INSERT INTO "sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES ('172', '摄像机', 'camera');
INSERT INTO "sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES ('173', 'IPC', 'IPC');
INSERT INTO "sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES ('174', '显示器', 'display');
INSERT INTO "sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES ('175', '报警输入设备', 'Alarm input device');
INSERT INTO "sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES ('176', '报警输出设备', 'Alarm output device');
INSERT INTO "sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES ('177', '语音输入设备', 'Voice input devices');
INSERT INTO "sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES ('178', '语音输出设备', 'Voice output devices');
INSERT INTO "sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES ('179', '移动传输设备', 'Mobile Transmission Devices');
INSERT INTO "sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES ('180', '报警控制器', 'Alarm controller');
INSERT INTO "sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES ('181', '摄像机', 'camera');
INSERT INTO "sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES ('182', 'IPC', 'IPC');
INSERT INTO "sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES ('183', '显示器', 'display');
INSERT INTO "sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES ('184', '报警输入设备', 'Alarm input device');
INSERT INTO "sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES ('185', '报警输出设备', 'Alarm output device');
INSERT INTO "sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES ('186', '语音输入设备', 'Voice input devices');
INSERT INTO "sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES ('187', '语音输出设备', 'Voice output devices');
INSERT INTO "sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES ('188', '移动传输设备', 'Mobile Transmission Devices');
INSERT INTO "sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES ('189', '离线', 'offline');
INSERT INTO "sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES ('190', '禁用', 'disable');
INSERT INTO "sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES ('191', '云端轮询', 'Cloud polling');
INSERT INTO "sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES ('192', '边缘采集', 'Edge acquisition');
INSERT INTO "sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES ('193', '1分钟', '1 minute');
INSERT INTO "sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES ('194', '2分钟', '2 minutes');
INSERT INTO "sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES ('195', '5分钟', '5 minutes');
INSERT INTO "sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES ('196', '03(读保持寄存器)', '03 (Read Hold Register)');
INSERT INTO "sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES ('197', '01(读线圈)', '01 (Reading coil)');
INSERT INTO "sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES ('198', 'MQTT', 'MQTT');
INSERT INTO "sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES ('199', 'TCP', 'TCP');
INSERT INTO "sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES ('200', 'COAP', 'COAP');
INSERT INTO "sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES ('201', 'UDP', 'UDP');
INSERT INTO "sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES ('230', '其他', 'other');
INSERT INTO "sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES ('231', '事件上报', 'Event escalation');
INSERT INTO "sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES ('232', '设备上线', 'The device goes online');
INSERT INTO "sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES ('233', '设备离线', 'The device is offline');
INSERT INTO "sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES ('234', '服务下发', 'Service delivery');
INSERT INTO "sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES ('235', '属性获取', 'Attribute acquisition');
INSERT INTO "sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES ('236', 'OTA升级', 'OTA upgrades');
INSERT INTO "sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES ('237', '读写', 'Read and write');
INSERT INTO "sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES ('238', '只读', 'read only');
INSERT INTO "sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES ('239', '全部设备', 'All equipment');
INSERT INTO "sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES ('240', '指定设备', 'Specify the device');
INSERT INTO "sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES ('241', 'GB28181', 'GB28181');
INSERT INTO "sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES ('242', '02(读离散量输入)', '02 (Read Discrete Input)');
INSERT INTO "sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES ('243', '04(读输入寄存器)', '04 (Read Input Register)');
INSERT INTO "sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES ('244', '微信开放平台网站应用', 'WeChat open platform website application');
INSERT INTO "sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES ('245', '微信开放平台移动应用', 'WeChat open platform mobile application');
INSERT INTO "sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES ('246', '微信开放平台小程序', 'WeChat Open Platform Mini Program');
INSERT INTO "sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES ('247', '微信开放平台网站应用个人中心绑定', 'WeChat open platform website application personal center binding');
INSERT INTO "sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES ('248', '16位 无符号', '16-bit unsigned');
INSERT INTO "sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES ('249', '16位 有符号', '16-bit signed');
INSERT INTO "sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES ('250', '32位 有符号(ABCD)', '32-bit Signed (ABCD)');
INSERT INTO "sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES ('251', '32位 有符号(CDAB)', '32-bit Signed (CDAB)');
INSERT INTO "sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES ('252', '32位 无符号(ABCD)', '32-bit Unsigned (ABCD)');
INSERT INTO "sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES ('253', '32位 无符号(CDAB)', '32-bit Unsigned (CDAB)');
INSERT INTO "sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES ('254', '32位 浮点数(ABCD)', '32-bit floating-point (ABCD)');
INSERT INTO "sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES ('255', '32位 浮点数(CDAB)', '32-bit Floating-Point (CDAB)');
INSERT INTO "sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES ('257', 'Java脚本引擎', 'Java Scripting Engine');
INSERT INTO "sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES ('258', 'JavaScript脚本引擎', 'JavaScript scripting engine');
INSERT INTO "sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES ('259', '普通脚本节点', 'Normal script nodes');
INSERT INTO "sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES ('260', '选择脚本节点 (switch)', 'Selecting a Script Node (switch)');
INSERT INTO "sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES ('261', '条件脚本节点 (if)', 'Conditional Script Node (if)');
INSERT INTO "sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES ('262', '数量循环节点 (for)', 'Quantity Cycle Node (for)');
INSERT INTO "sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES ('263', '条件循环节点 (while)', 'Conditional Loop Node (while)');
INSERT INTO "sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES ('264', '退出循环节点 (break)', 'Exit Loop Node (Break)');
INSERT INTO "sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES ('265', 'groovy脚本引擎', 'Groovy scripting engine');
INSERT INTO "sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES ('560', '设备上报', 'The device is escalated');
INSERT INTO "sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES ('561', '平台下发', 'Distributed by the platform');
INSERT INTO "sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES ('562', '设备上线', 'The device goes online');
INSERT INTO "sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES ('563', '设备离线', 'The device is offline');
INSERT INTO "sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES ('564', '数据流', 'data stream');
INSERT INTO "sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES ('565', '触发器', 'trigger');
INSERT INTO "sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES ('566', '执行动作', 'Perform the action');
INSERT INTO "sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES ('567', '消息重发', 'The message is retransmitted');
INSERT INTO "sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES ('568', '消息通知', 'Message notifications');
INSERT INTO "sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES ('569', 'Http推送', 'HTTP push');
INSERT INTO "sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES ('570', 'Mqtt桥接', 'MQTT bridging');
COMMIT;
-- ----------------------------
@@ -2974,14 +3136,80 @@ INSERT INTO "sys_dict_type" ("dict_id", "dict_name", "dict_type", "status", "cre
INSERT INTO "sys_dict_type" ("dict_id", "dict_name", "dict_type", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES ('129', '升级范围', 'oat_update_limit', '0', 'admin', TO_DATE('2023-04-09 23:51:45', 'SYYYY-MM-DD HH24:MI:SS'), '', NULL, NULL);
INSERT INTO "sys_dict_type" ("dict_id", "dict_name", "dict_type", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES ('130', '云存储平台类型', 'oss_platform_type', '0', 'admin', TO_DATE('2023-04-12 00:26:09', 'SYYYY-MM-DD HH24:MI:SS'), '', NULL, NULL);
INSERT INTO "sys_dict_type" ("dict_id", "dict_name", "dict_type", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES ('131', 'modbus数据类型', 'iot_modbus_data_type', '0', 'admin', TO_DATE('2023-09-04 13:54:17', 'SYYYY-MM-DD HH24:MI:SS'), '', NULL, NULL);
INSERT INTO "sys_dict_type" ("dict_id", "dict_name", "dict_type", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES ('132', '小度音箱关联设备', 'dueros_related_device', '0', 'admin', TO_DATE('2023-09-22 09:45:15', 'SYYYY-MM-DD HH24:MI:SS'), 'admin', TO_DATE('2023-09-22 09:45:15', 'SYYYY-MM-DD HH24:MI:SS'), '小度音箱支持的设备、场景类型,在设备下配置关联');
INSERT INTO "sys_dict_type" ("dict_id", "dict_name", "dict_type", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES ('133', '小度音箱操作类型', 'dueros_operate_type', '0', 'admin', TO_DATE('2023-09-22 09:45:15', 'SYYYY-MM-DD HH24:MI:SS'), 'admin', TO_DATE('2023-09-22 09:45:15', 'SYYYY-MM-DD HH24:MI:SS'), '小度音箱智能家居设备操作类型,在产品物模型下配置');
INSERT INTO "sys_dict_type" ("dict_id", "dict_name", "dict_type", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES ('198', '规则脚本类型', 'rule_script_type', '0', 'admin', TO_DATE('2023-11-04 01:48:50', 'SYYYY-MM-DD HH24:MI:SS'), 'admin', TO_DATE('2023-11-04 01:50:16', 'SYYYY-MM-DD HH24:MI:SS'), NULL);
INSERT INTO "sys_dict_type" ("dict_id", "dict_name", "dict_type", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES ('199', '规则脚本语言', 'rule_script_language', '0', 'admin', TO_DATE('2023-11-04 01:50:06', 'SYYYY-MM-DD HH24:MI:SS'), '', NULL, NULL);
INSERT INTO "sys_dict_type" ("dict_id", "dict_name", "dict_type", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES ('204', '规则脚本事件', 'rule_script_event', '0', 'admin', TO_DATE('2023-12-19 11:33:48', 'SYYYY-MM-DD HH24:MI:SS'), '', NULL, '1=设备上报2=平台下发3=设备上线4=设备离线');
INSERT INTO "sys_dict_type" ("dict_id", "dict_name", "dict_type", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES ('205', '规则脚本用途', 'rule_script_purpose', '0', 'admin', TO_DATE('2023-12-19 11:38:18', 'SYYYY-MM-DD HH24:MI:SS'), '', NULL, '1=数据流2=触发器3=执行动作');
INSERT INTO "sys_dict_type" ("dict_id", "dict_name", "dict_type", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES ('206', '规则脚本动作', 'rule_script_action', '0', 'admin', TO_DATE('2023-12-19 11:39:58', 'SYYYY-MM-DD HH24:MI:SS'), '', NULL, '1=消息重发2=消息通知3=Http推送4=Mqtt桥接5=数据库存储');
INSERT INTO "sys_dict_type" ("dict_id", "dict_name", "dict_type", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES ('140', '规则脚本类型', 'rule_script_type', '0', 'admin', TO_DATE('2023-11-04 01:48:50', 'SYYYY-MM-DD HH24:MI:SS'), 'admin', TO_DATE('2023-11-04 01:50:16', 'SYYYY-MM-DD HH24:MI:SS'), NULL);
INSERT INTO "sys_dict_type" ("dict_id", "dict_name", "dict_type", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES ('141', '规则脚本语言', 'rule_script_language', '0', 'admin', TO_DATE('2023-11-04 01:50:06', 'SYYYY-MM-DD HH24:MI:SS'), '', NULL, NULL);
INSERT INTO "sys_dict_type" ("dict_id", "dict_name", "dict_type", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES ('149', '规则脚本事件', 'rule_script_event', '0', 'admin', TO_DATE('2023-12-19 11:33:48', 'SYYYY-MM-DD HH24:MI:SS'), '', NULL, '1=设备上报2=平台下发3=设备上线4=设备离线');
INSERT INTO "sys_dict_type" ("dict_id", "dict_name", "dict_type", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES ('150', '规则脚本用途', 'rule_script_purpose', '0', 'admin', TO_DATE('2023-12-19 11:38:18', 'SYYYY-MM-DD HH24:MI:SS'), '', NULL, '1=数据流2=触发器3=执行动作');
INSERT INTO "sys_dict_type" ("dict_id", "dict_name", "dict_type", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES ('151', '规则脚本动作', 'rule_script_action', '0', 'admin', TO_DATE('2023-12-19 11:39:58', 'SYYYY-MM-DD HH24:MI:SS'), '', NULL, '1=消息重发2=消息通知3=Http推送4=Mqtt桥接5=数据库存储');
COMMIT;
-- ----------------------------
-- Table structure for sys_dict_type_translate
-- ----------------------------
DROP TABLE "sys_dict_type_translate";
CREATE TABLE "sys_dict_type_translate" (
"id" NUMBER(20) NOT NULL,
"zh_cn" NVARCHAR2(200),
"en_us" NVARCHAR2(200)
)
;
COMMENT ON COLUMN "sys_dict_type_translate"."id" IS 'ID';
COMMENT ON COLUMN "sys_dict_type_translate"."zh_cn" IS 'zh_CN';
COMMENT ON COLUMN "sys_dict_type_translate"."en_us" IS 'en_US';
COMMENT ON TABLE "sys_dict_type_translate" IS '字典类型翻译表';
-- ----------------------------
-- Records of sys_dict_type_translate
-- ----------------------------
INSERT INTO "sys_dict_type_translate" ("id", "zh_cn", "en_us") VALUES ('1', '用户性别', 'User gender');
INSERT INTO "sys_dict_type_translate" ("id", "zh_cn", "en_us") VALUES ('2', '菜单状态', 'Menu status');
INSERT INTO "sys_dict_type_translate" ("id", "zh_cn", "en_us") VALUES ('3', '系统开关', 'System switches');
INSERT INTO "sys_dict_type_translate" ("id", "zh_cn", "en_us") VALUES ('4', '任务状态', 'Task status');
INSERT INTO "sys_dict_type_translate" ("id", "zh_cn", "en_us") VALUES ('5', '任务分组', 'Task grouping');
INSERT INTO "sys_dict_type_translate" ("id", "zh_cn", "en_us") VALUES ('6', '系统是否', 'Whether the system is');
INSERT INTO "sys_dict_type_translate" ("id", "zh_cn", "en_us") VALUES ('7', '通知类型', 'Notification type');
INSERT INTO "sys_dict_type_translate" ("id", "zh_cn", "en_us") VALUES ('8', '通知状态', 'Notification status');
INSERT INTO "sys_dict_type_translate" ("id", "zh_cn", "en_us") VALUES ('9', '操作类型', 'The type of operation');
INSERT INTO "sys_dict_type_translate" ("id", "zh_cn", "en_us") VALUES ('10', '系统状态', 'System status');
INSERT INTO "sys_dict_type_translate" ("id", "zh_cn", "en_us") VALUES ('100', '物模型类别', 'TSL model category');
INSERT INTO "sys_dict_type_translate" ("id", "zh_cn", "en_us") VALUES ('101', '数据类型', 'data type');
INSERT INTO "sys_dict_type_translate" ("id", "zh_cn", "en_us") VALUES ('102', '是否', 'Whether');
INSERT INTO "sys_dict_type_translate" ("id", "zh_cn", "en_us") VALUES ('103', '产品状态', 'Product status');
INSERT INTO "sys_dict_type_translate" ("id", "zh_cn", "en_us") VALUES ('104', '设备类型', 'Device type');
INSERT INTO "sys_dict_type_translate" ("id", "zh_cn", "en_us") VALUES ('105', '联网方式', 'Networking');
INSERT INTO "sys_dict_type_translate" ("id", "zh_cn", "en_us") VALUES ('106', '认证方式', 'Authentication method');
INSERT INTO "sys_dict_type_translate" ("id", "zh_cn", "en_us") VALUES ('107', '设备芯片', 'Device chips');
INSERT INTO "sys_dict_type_translate" ("id", "zh_cn", "en_us") VALUES ('109', '设备状态', 'Device status');
INSERT INTO "sys_dict_type_translate" ("id", "zh_cn", "en_us") VALUES ('110', '是否启用', 'Whether it is enabled');
INSERT INTO "sys_dict_type_translate" ("id", "zh_cn", "en_us") VALUES ('111', '告警类型', 'Alarm type');
INSERT INTO "sys_dict_type_translate" ("id", "zh_cn", "en_us") VALUES ('112', '处理状态', 'Processing status');
INSERT INTO "sys_dict_type_translate" ("id", "zh_cn", "en_us") VALUES ('113', '设备日志类型', 'Device log type');
INSERT INTO "sys_dict_type_translate" ("id", "zh_cn", "en_us") VALUES ('114', 'Oauth开放平台', 'OAuth Open Platform');
INSERT INTO "sys_dict_type_translate" ("id", "zh_cn", "en_us") VALUES ('115', '第三方登录平台', 'Third-party login platform');
INSERT INTO "sys_dict_type_translate" ("id", "zh_cn", "en_us") VALUES ('116', '第三方登录平台状态', 'Third-party login platform status');
INSERT INTO "sys_dict_type_translate" ("id", "zh_cn", "en_us") VALUES ('117', '设备定位方式', 'How the device is located');
INSERT INTO "sys_dict_type_translate" ("id", "zh_cn", "en_us") VALUES ('118', '授权码状态', 'Authorization code status');
INSERT INTO "sys_dict_type_translate" ("id", "zh_cn", "en_us") VALUES ('119', 'SipID状态', 'SipID status');
INSERT INTO "sys_dict_type_translate" ("id", "zh_cn", "en_us") VALUES ('120', '监控设备类型', 'Monitor device types');
INSERT INTO "sys_dict_type_translate" ("id", "zh_cn", "en_us") VALUES ('121', '通道类型', 'Channel type');
INSERT INTO "sys_dict_type_translate" ("id", "zh_cn", "en_us") VALUES ('122', '轮询方式', 'Polling method');
INSERT INTO "sys_dict_type_translate" ("id", "zh_cn", "en_us") VALUES ('123', '批量采集时间', 'Batch collection time');
INSERT INTO "sys_dict_type_translate" ("id", "zh_cn", "en_us") VALUES ('124', '寄存器功能码', 'Register function code');
INSERT INTO "sys_dict_type_translate" ("id", "zh_cn", "en_us") VALUES ('125', '传输协议类型', 'The type of transport protocol');
INSERT INTO "sys_dict_type_translate" ("id", "zh_cn", "en_us") VALUES ('126', '设备事件类型', 'Device event type');
INSERT INTO "sys_dict_type_translate" ("id", "zh_cn", "en_us") VALUES ('127', '指令下发类型', 'The type of command delivery');
INSERT INTO "sys_dict_type_translate" ("id", "zh_cn", "en_us") VALUES ('128', '读写类型', 'Read and write type');
INSERT INTO "sys_dict_type_translate" ("id", "zh_cn", "en_us") VALUES ('129', '升级范围', 'Scope of upgrade');
INSERT INTO "sys_dict_type_translate" ("id", "zh_cn", "en_us") VALUES ('130', '云存储平台类型', 'The type of cloud storage platform');
INSERT INTO "sys_dict_type_translate" ("id", "zh_cn", "en_us") VALUES ('131', 'modbus数据类型', 'Modbus data type');
INSERT INTO "sys_dict_type_translate" ("id", "zh_cn", "en_us") VALUES ('132', '小度音箱关联设备', 'Small speakers are associated with devices');
INSERT INTO "sys_dict_type_translate" ("id", "zh_cn", "en_us") VALUES ('135', '组态图表类型', 'Configure the chart type');
INSERT INTO "sys_dict_type_translate" ("id", "zh_cn", "en_us") VALUES ('136', '组态图库类型', 'Configure the library type');
INSERT INTO "sys_dict_type_translate" ("id", "zh_cn", "en_us") VALUES ('140', '规则脚本类型', 'The type of rule script');
INSERT INTO "sys_dict_type_translate" ("id", "zh_cn", "en_us") VALUES ('141', '规则脚本语言', 'Rule scripting language');
INSERT INTO "sys_dict_type_translate" ("id", "zh_cn", "en_us") VALUES ('149', '规则脚本事件', 'Rule script events');
INSERT INTO "sys_dict_type_translate" ("id", "zh_cn", "en_us") VALUES ('150', '规则脚本用途', 'Rule script usage');
INSERT INTO "sys_dict_type_translate" ("id", "zh_cn", "en_us") VALUES ('151', '规则脚本动作', 'Rule script actions');
COMMIT;
-- ----------------------------
@@ -3289,6 +3517,7 @@ INSERT INTO "sys_menu" ("menu_id", "menu_name", "parent_id", "order_num", "path"
INSERT INTO "sys_menu" ("menu_id", "menu_name", "parent_id", "order_num", "path", "component", "query", "is_frame", "is_cache", "menu_type", "visible", "status", "perms", "icon", "create_by", "create_time", "update_by", "update_time", "remark") VALUES ('2142', '平台查询', '2142', '1', '', NULL, NULL, '1', '0', 'F', '0', '0', 'iot:platform:query', '#', 'admin', TO_DATE('2022-04-11 19:10:28', 'SYYYY-MM-DD HH24:MI:SS'), '', NULL, '');
INSERT INTO "sys_menu" ("menu_id", "menu_name", "parent_id", "order_num", "path", "component", "query", "is_frame", "is_cache", "menu_type", "visible", "status", "perms", "icon", "create_by", "create_time", "update_by", "update_time", "remark") VALUES ('2147', '设备分享', '2007', '6', '', NULL, NULL, '1', '0', 'F', '0', '0', 'iot:device:share', '#', 'admin', TO_DATE('2022-06-10 01:08:40', 'SYYYY-MM-DD HH24:MI:SS'), 'admin', TO_DATE('2022-06-10 01:10:46', 'SYYYY-MM-DD HH24:MI:SS'), '');
INSERT INTO "sys_menu" ("menu_id", "menu_name", "parent_id", "order_num", "path", "component", "query", "is_frame", "is_cache", "menu_type", "visible", "status", "perms", "icon", "create_by", "create_time", "update_by", "update_time", "remark") VALUES ('2148', '设备定时', '2007', '7', '', NULL, NULL, '1', '0', 'F', '0', '0', 'iot:device:timer', '#', 'admin', TO_DATE('2022-06-10 01:10:30', 'SYYYY-MM-DD HH24:MI:SS'), '', NULL, '');
INSERT INTO "sys_menu" ("menu_id", "menu_name", "parent_id", "order_num", "path", "component", "query", "is_frame", "is_cache", "menu_type", "visible", "status", "perms", "icon", "create_by", "create_time", "update_by", "update_time", "remark") VALUES ('2168', '通道管理', '3058', '1', 'sip', 'iot/sip/index', NULL, '1', '0', 'C', '0', '0', 'iot:video:list', 'swagger', 'admin', TO_DATE('2024-07-15 14:43:22', 'SYYYY-MM-DD HH24:MI:SS'), '', NULL, '');
INSERT INTO "sys_menu" ("menu_id", "menu_name", "parent_id", "order_num", "path", "component", "query", "is_frame", "is_cache", "menu_type", "visible", "status", "perms", "icon", "create_by", "create_time", "update_by", "update_time", "remark") VALUES ('3031', 'Netty管理', '0', '3', 'netty', NULL, NULL, '1', '0', 'M', '0', '0', '', 'mq', 'admin', TO_DATE('2022-02-26 00:42:12', 'SYYYY-MM-DD HH24:MI:SS'), 'admin', TO_DATE('2023-09-26 00:11:57', 'SYYYY-MM-DD HH24:MI:SS'), '');
INSERT INTO "sys_menu" ("menu_id", "menu_name", "parent_id", "order_num", "path", "component", "query", "is_frame", "is_cache", "menu_type", "visible", "status", "perms", "icon", "create_by", "create_time", "update_by", "update_time", "remark") VALUES ('3032', '客户端', '3031', '1', 'client', 'iot/netty/clients', NULL, '1', '0', 'C', '0', '0', 'monitor:server:list', 'client', 'admin', TO_DATE('2022-02-26 00:45:39', 'SYYYY-MM-DD HH24:MI:SS'), 'admin', TO_DATE('2023-08-23 23:38:08', 'SYYYY-MM-DD HH24:MI:SS'), '');
INSERT INTO "sys_menu" ("menu_id", "menu_name", "parent_id", "order_num", "path", "component", "query", "is_frame", "is_cache", "menu_type", "visible", "status", "perms", "icon", "create_by", "create_time", "update_by", "update_time", "remark") VALUES ('3033', '事件日志', '2000', '1', 'log', 'iot/log/index', NULL, '1', '0', 'F', '0', '0', 'iot:event:list', '#', 'admin', TO_DATE('2023-03-28 14:23:52', 'SYYYY-MM-DD HH24:MI:SS'), '', NULL, '事件日志菜单');
@@ -3297,22 +3526,199 @@ INSERT INTO "sys_menu" ("menu_id", "menu_name", "parent_id", "order_num", "path"
INSERT INTO "sys_menu" ("menu_id", "menu_name", "parent_id", "order_num", "path", "component", "query", "is_frame", "is_cache", "menu_type", "visible", "status", "perms", "icon", "create_by", "create_time", "update_by", "update_time", "remark") VALUES ('3036', '事件日志修改', '3033', '3', '#', '', NULL, '1', '0', 'F', '0', '0', 'iot:event:edit', '#', 'admin', TO_DATE('2023-03-28 14:23:52', 'SYYYY-MM-DD HH24:MI:SS'), '', NULL, '');
INSERT INTO "sys_menu" ("menu_id", "menu_name", "parent_id", "order_num", "path", "component", "query", "is_frame", "is_cache", "menu_type", "visible", "status", "perms", "icon", "create_by", "create_time", "update_by", "update_time", "remark") VALUES ('3037', '事件日志删除', '3033', '4', '#', '', NULL, '1', '0', 'F', '0', '0', 'iot:event:remove', '#', 'admin', TO_DATE('2023-03-28 14:23:52', 'SYYYY-MM-DD HH24:MI:SS'), '', NULL, '');
INSERT INTO "sys_menu" ("menu_id", "menu_name", "parent_id", "order_num", "path", "component", "query", "is_frame", "is_cache", "menu_type", "visible", "status", "perms", "icon", "create_by", "create_time", "update_by", "update_time", "remark") VALUES ('3038', '事件日志导出', '3033', '5', '#', '', NULL, '1', '0', 'F', '0', '0', 'iot:event:export', '#', 'admin', TO_DATE('2023-03-28 14:23:52', 'SYYYY-MM-DD HH24:MI:SS'), '', NULL, '');
INSERT INTO "sys_menu" ("menu_id", "menu_name", "parent_id", "order_num", "path", "component", "query", "is_frame", "is_cache", "menu_type", "visible", "status", "perms", "icon", "create_by", "create_time", "update_by", "update_time", "remark") VALUES ('3048', 'Mqtt统计', '3031', '2', 'mqtt', 'iot/netty/mqtt', NULL, '1', '0', 'C', '0', '0', 'monitor:server:list', 'monitor', 'admin', TO_DATE('2023-08-23 23:40:28', 'SYYYY-MM-DD HH24:MI:SS'), 'admin', TO_DATE('2023-08-23 23:40:38', 'SYYYY-MM-DD HH24:MI:SS'), '');
INSERT INTO "sys_menu" ("menu_id", "menu_name", "parent_id", "order_num", "path", "component", "query", "is_frame", "is_cache", "menu_type", "visible", "status", "perms", "icon", "create_by", "create_time", "update_by", "update_time", "remark") VALUES ('3050', '规则引擎', '0', '2', 'ruleengine', NULL, NULL, '1', '0', 'M', '0', '0', '', 'channel', 'admin', TO_DATE('2024-04-22 16:28:15', 'SYYYY-MM-DD HH24:MI:SS'), 'admin', TO_DATE('2025-03-19 15:13:50', 'SYYYY-MM-DD HH24:MI:SS'), '');
INSERT INTO "sys_menu" ("menu_id", "menu_name", "parent_id", "order_num", "path", "component", "query", "is_frame", "is_cache", "menu_type", "visible", "status", "perms", "icon", "create_by", "create_time", "update_by", "update_time", "remark") VALUES ('3051', '规则脚本', '3050', '2', 'script', 'iot/scene/script', NULL, '1', '0', 'C', '0', '0', 'iot:script:list', 'code', 'admin', TO_DATE('2024-04-22 16:30:00', 'SYYYY-MM-DD HH24:MI:SS'), '', NULL, '');
INSERT INTO "sys_menu" ("menu_id", "menu_name", "parent_id", "order_num", "path", "component", "query", "is_frame", "is_cache", "menu_type", "visible", "status", "perms", "icon", "create_by", "create_time", "update_by", "update_time", "remark") VALUES ('3052', '规则脚本查询', '3051', '1', '', NULL, NULL, '1', '0', 'F', '0', '0', 'iot:script:query', '#', 'admin', TO_DATE('2024-04-22 16:30:53', 'SYYYY-MM-DD HH24:MI:SS'), '', NULL, '');
INSERT INTO "sys_menu" ("menu_id", "menu_name", "parent_id", "order_num", "path", "component", "query", "is_frame", "is_cache", "menu_type", "visible", "status", "perms", "icon", "create_by", "create_time", "update_by", "update_time", "remark") VALUES ('3053', '规则脚本新增', '3051', '2', '', NULL, NULL, '1', '0', 'F', '0', '0', 'iot:script:add', '#', 'admin', TO_DATE('2024-04-22 16:31:28', 'SYYYY-MM-DD HH24:MI:SS'), '', NULL, '');
INSERT INTO "sys_menu" ("menu_id", "menu_name", "parent_id", "order_num", "path", "component", "query", "is_frame", "is_cache", "menu_type", "visible", "status", "perms", "icon", "create_by", "create_time", "update_by", "update_time", "remark") VALUES ('3054', '规则脚本修改', '3051', '3', '', NULL, NULL, '1', '0', 'F', '0', '0', 'iot:script:edit', '#', 'admin', TO_DATE('2024-04-22 16:32:04', 'SYYYY-MM-DD HH24:MI:SS'), '', NULL, '');
INSERT INTO "sys_menu" ("menu_id", "menu_name", "parent_id", "order_num", "path", "component", "query", "is_frame", "is_cache", "menu_type", "visible", "status", "perms", "icon", "create_by", "create_time", "update_by", "update_time", "remark") VALUES ('3056', '规则脚本导出', '3051', '5', '', NULL, NULL, '1', '0', 'F', '0', '0', 'iot:script:export', '#', 'admin', TO_DATE('2024-04-22 16:33:25', 'SYYYY-MM-DD HH24:MI:SS'), 'admin', TO_DATE('2024-04-22 16:33:49', 'SYYYY-MM-DD HH24:MI:SS'), '');
INSERT INTO "sys_menu" ("menu_id", "menu_name", "parent_id", "order_num", "path", "component", "query", "is_frame", "is_cache", "menu_type", "visible", "status", "perms", "icon", "create_by", "create_time", "update_by", "update_time", "remark") VALUES ('3057', '规则脚本删除', '3051', '4', '', NULL, NULL, '1', '0', 'F', '0', '0', 'iot:script:remove', '#', 'admin', TO_DATE('2024-04-22 16:35:01', 'SYYYY-MM-DD HH24:MI:SS'), '', NULL, '');
INSERT INTO "sys_menu" ("menu_id", "menu_name", "parent_id", "order_num", "path", "component", "query", "is_frame", "is_cache", "menu_type", "visible", "status", "perms", "icon", "create_by", "create_time", "update_by", "update_time", "remark") VALUES ('3058', '视频中心', '0', '1', 'video', NULL, NULL, '1', '0', 'M', '0', '0', '', 'live', 'admin', TO_DATE('2024-07-15 14:42:13', 'SYYYY-MM-DD HH24:MI:SS'), 'admin', TO_DATE('2025-03-19 15:13:43', 'SYYYY-MM-DD HH24:MI:SS'), '');
INSERT INTO "sys_menu" ("menu_id", "menu_name", "parent_id", "order_num", "path", "component", "query", "is_frame", "is_cache", "menu_type", "visible", "status", "perms", "icon", "create_by", "create_time", "update_by", "update_time", "remark") VALUES ('3059', '通道管理', '3058', '1', 'sip', 'iot/sip/index', NULL, '1', '0', 'C', '0', '0', 'iot:video:list', 'swagger', 'admin', TO_DATE('2024-07-15 14:43:22', 'SYYYY-MM-DD HH24:MI:SS'), '', NULL, '');
INSERT INTO "sys_menu" ("menu_id", "menu_name", "parent_id", "order_num", "path", "component", "query", "is_frame", "is_cache", "menu_type", "visible", "status", "perms", "icon", "create_by", "create_time", "update_by", "update_time", "remark") VALUES ('3060', '视频配置', '3058', '2', 'mediaServer', 'iot/sip/mediaServer', NULL, '1', '0', 'C', '0', '0', NULL, 'edit', 'admin', TO_DATE('2024-07-15 14:48:52', 'SYYYY-MM-DD HH24:MI:SS'), '', NULL, '');
INSERT INTO "sys_menu" ("menu_id", "menu_name", "parent_id", "order_num", "path", "component", "query", "is_frame", "is_cache", "menu_type", "visible", "status", "perms", "icon", "create_by", "create_time", "update_by", "update_time", "remark") VALUES ('3062', '大屏展示', '2000', '6', 'http://localhost/bigScreen', NULL, NULL, '0', '0', 'M', '0', '0', '', 'monitor-a', 'admin', TO_DATE('2025-03-19 15:07:39', 'SYYYY-MM-DD HH24:MI:SS'), 'admin', TO_DATE('2025-03-20 22:18:42', 'SYYYY-MM-DD HH24:MI:SS'), '');
INSERT INTO "sys_menu" ("menu_id", "menu_name", "parent_id", "order_num", "path", "component", "query", "is_frame", "is_cache", "menu_type", "visible", "status", "perms", "icon", "create_by", "create_time", "update_by", "update_time", "remark") VALUES ('3343', '数据中心', '0', '5', 'dataCenter', NULL, NULL, '1', '0', 'M', '0', '0', '', 'bar_chart', 'admin', TO_DATE('2025-03-19 15:07:39', 'SYYYY-MM-DD HH24:MI:SS'), 'admin', TO_DATE('2025-03-19 15:07:39', 'SYYYY-MM-DD HH24:MI:SS'), '');
INSERT INTO "sys_menu" ("menu_id", "menu_name", "parent_id", "order_num", "path", "component", "query", "is_frame", "is_cache", "menu_type", "visible", "status", "perms", "icon", "create_by", "create_time", "update_by", "update_time", "remark") VALUES ('3344', '数据分析', '3343', '2', 'analysis', 'dataCenter/analysis', NULL, '1', '0', 'C', '0', '0', 'dataCenter:analysis:list', 'custom', 'admin', TO_DATE('2025-03-19 15:07:39', 'SYYYY-MM-DD HH24:MI:SS'), '', NULL, '');
INSERT INTO "sys_menu" ("menu_id", "menu_name", "parent_id", "order_num", "path", "component", "query", "is_frame", "is_cache", "menu_type", "visible", "status", "perms", "icon", "create_by", "create_time", "update_by", "update_time", "remark") VALUES ('3345', '历史记录', '3343', '1', 'history', 'dataCenter/history', NULL, '1', '0', 'C', '0', '0', 'dataCenter:history:list', 'excel', 'admin', TO_DATE('2025-03-19 15:07:39', 'SYYYY-MM-DD HH24:MI:SS'), 'admin', TO_DATE('2025-03-19 15:07:39', 'SYYYY-MM-DD HH24:MI:SS'), '');
INSERT INTO "sys_menu" ("menu_id", "menu_name", "parent_id", "order_num", "path", "component", "query", "is_frame", "is_cache", "menu_type", "visible", "status", "perms", "icon", "create_by", "create_time", "update_by", "update_time", "remark") VALUES ('3046', '视频中心', '0', '1', 'video', NULL, NULL, '1', '0', 'M', '0', '0', '', 'live', 'admin', TO_DATE('2024-07-15 14:42:13', 'SYYYY-MM-DD HH24:MI:SS'), 'admin', TO_DATE('2025-03-19 15:13:43', 'SYYYY-MM-DD HH24:MI:SS'), '');
INSERT INTO "sys_menu" ("menu_id", "menu_name", "parent_id", "order_num", "path", "component", "query", "is_frame", "is_cache", "menu_type", "visible", "status", "perms", "icon", "create_by", "create_time", "update_by", "update_time", "remark") VALUES ('3048', '视频配置', '3046', '2', 'mediaServer', 'iot/sip/mediaServer', NULL, '1', '0', 'C', '0', '0', NULL, 'edit', 'admin', TO_DATE('2024-07-15 14:48:52', 'SYYYY-MM-DD HH24:MI:SS'), '', NULL, '');
INSERT INTO "sys_menu" ("menu_id", "menu_name", "parent_id", "order_num", "path", "component", "query", "is_frame", "is_cache", "menu_type", "visible", "status", "perms", "icon", "create_by", "create_time", "update_by", "update_time", "remark") VALUES ('3051', '规则引擎', '0', '2', 'ruleengine', NULL, NULL, '1', '0', 'M', '0', '0', '', 'channel', 'admin', TO_DATE('2024-04-22 16:28:15', 'SYYYY-MM-DD HH24:MI:SS'), 'admin', TO_DATE('2025-03-19 15:13:50', 'SYYYY-MM-DD HH24:MI:SS'), '');
INSERT INTO "sys_menu" ("menu_id", "menu_name", "parent_id", "order_num", "path", "component", "query", "is_frame", "is_cache", "menu_type", "visible", "status", "perms", "icon", "create_by", "create_time", "update_by", "update_time", "remark") VALUES ('3055', '规则脚本', '3051', '2', 'script', 'iot/scene/script', NULL, '1', '0', 'C', '0', '0', 'iot:script:list', 'code', 'admin', TO_DATE('2024-04-22 16:30:00', 'SYYYY-MM-DD HH24:MI:SS'), '', NULL, '');
INSERT INTO "sys_menu" ("menu_id", "menu_name", "parent_id", "order_num", "path", "component", "query", "is_frame", "is_cache", "menu_type", "visible", "status", "perms", "icon", "create_by", "create_time", "update_by", "update_time", "remark") VALUES ('3100', 'Mqtt统计', '3031', '2', 'mqtt', 'iot/netty/mqtt', NULL, '1', '0', 'C', '0', '0', 'monitor:server:list', 'monitor', 'admin', TO_DATE('2023-08-23 23:40:28', 'SYYYY-MM-DD HH24:MI:SS'), 'admin', TO_DATE('2023-08-23 23:40:38', 'SYYYY-MM-DD HH24:MI:SS'), '');
INSERT INTO "sys_menu" ("menu_id", "menu_name", "parent_id", "order_num", "path", "component", "query", "is_frame", "is_cache", "menu_type", "visible", "status", "perms", "icon", "create_by", "create_time", "update_by", "update_time", "remark") VALUES ('3148', '规则脚本导出', '3051', '5', '', NULL, NULL, '1', '0', 'F', '0', '0', 'iot:script:export', '#', 'admin', TO_DATE('2024-04-22 16:33:25', 'SYYYY-MM-DD HH24:MI:SS'), 'admin', TO_DATE('2024-04-22 16:33:49', 'SYYYY-MM-DD HH24:MI:SS'), '');
INSERT INTO "sys_menu" ("menu_id", "menu_name", "parent_id", "order_num", "path", "component", "query", "is_frame", "is_cache", "menu_type", "visible", "status", "perms", "icon", "create_by", "create_time", "update_by", "update_time", "remark") VALUES ('3149', '规则脚本查询', '3051', '1', '', NULL, NULL, '1', '0', 'F', '0', '0', 'iot:script:query', '#', 'admin', TO_DATE('2024-04-22 16:30:53', 'SYYYY-MM-DD HH24:MI:SS'), '', NULL, '');
INSERT INTO "sys_menu" ("menu_id", "menu_name", "parent_id", "order_num", "path", "component", "query", "is_frame", "is_cache", "menu_type", "visible", "status", "perms", "icon", "create_by", "create_time", "update_by", "update_time", "remark") VALUES ('3150', '规则脚本新增', '3051', '2', '', NULL, NULL, '1', '0', 'F', '0', '0', 'iot:script:add', '#', 'admin', TO_DATE('2024-04-22 16:31:28', 'SYYYY-MM-DD HH24:MI:SS'), '', NULL, '');
INSERT INTO "sys_menu" ("menu_id", "menu_name", "parent_id", "order_num", "path", "component", "query", "is_frame", "is_cache", "menu_type", "visible", "status", "perms", "icon", "create_by", "create_time", "update_by", "update_time", "remark") VALUES ('3151', '规则脚本修改', '3051', '3', '', NULL, NULL, '1', '0', 'F', '0', '0', 'iot:script:edit', '#', 'admin', TO_DATE('2024-04-22 16:32:04', 'SYYYY-MM-DD HH24:MI:SS'), '', NULL, '');
INSERT INTO "sys_menu" ("menu_id", "menu_name", "parent_id", "order_num", "path", "component", "query", "is_frame", "is_cache", "menu_type", "visible", "status", "perms", "icon", "create_by", "create_time", "update_by", "update_time", "remark") VALUES ('3152', '规则脚本删除', '3051', '4', '', NULL, NULL, '1', '0', 'F', '0', '0', 'iot:script:remove', '#', 'admin', TO_DATE('2024-04-22 16:35:01', 'SYYYY-MM-DD HH24:MI:SS'), '', NULL, '');
INSERT INTO "sys_menu" ("menu_id", "menu_name", "parent_id", "order_num", "path", "component", "query", "is_frame", "is_cache", "menu_type", "visible", "status", "perms", "icon", "create_by", "create_time", "update_by", "update_time", "remark") VALUES ('3343', '数据中心', '0', '5', 'dataCenter', NULL, NULL, '1', '0', 'M', '0', '0', '', 'bar_chart', 'admin', TO_DATE('2024-05-24 14:42:04', 'SYYYY-MM-DD HH24:MI:SS'), 'admin', TO_DATE('2025-01-11 09:33:52', 'SYYYY-MM-DD HH24:MI:SS'), '');
INSERT INTO "sys_menu" ("menu_id", "menu_name", "parent_id", "order_num", "path", "component", "query", "is_frame", "is_cache", "menu_type", "visible", "status", "perms", "icon", "create_by", "create_time", "update_by", "update_time", "remark") VALUES ('3344', '数据分析', '3343', '2', 'analysis', 'dataCenter/analysis', NULL, '1', '0', 'C', '0', '0', 'dataCenter:analysis:list', 'custom', 'admin', TO_DATE('2024-06-11 15:46:19', 'SYYYY-MM-DD HH24:MI:SS'), '', NULL, '');
INSERT INTO "sys_menu" ("menu_id", "menu_name", "parent_id", "order_num", "path", "component", "query", "is_frame", "is_cache", "menu_type", "visible", "status", "perms", "icon", "create_by", "create_time", "update_by", "update_time", "remark") VALUES ('3345', '历史记录', '3343', '1', 'history', 'dataCenter/history', NULL, '1', '0', 'C', '0', '0', 'dataCenter:history:list', 'excel', 'admin', TO_DATE('2024-05-24 14:44:58', 'SYYYY-MM-DD HH24:MI:SS'), 'admin', TO_DATE('2024-05-24 14:46:07', 'SYYYY-MM-DD HH24:MI:SS'), '');
COMMIT;
-- ----------------------------
-- Table structure for sys_menu_translate
-- ----------------------------
DROP TABLE "sys_menu_translate";
CREATE TABLE "sys_menu_translate" (
"id" NUMBER(20) NOT NULL,
"zh_cn" NVARCHAR2(200),
"en_us" NVARCHAR2(200)
)
;
COMMENT ON COLUMN "sys_menu_translate"."id" IS '菜单ID';
COMMENT ON COLUMN "sys_menu_translate"."zh_cn" IS 'zh_CN菜单名称';
COMMENT ON COLUMN "sys_menu_translate"."en_us" IS 'en菜单名称';
COMMENT ON TABLE "sys_menu_translate" IS '菜单名称翻译表';
-- ----------------------------
-- Records of sys_menu_translate
-- ----------------------------
INSERT INTO "sys_menu_translate" ("id", "zh_cn", "en_us") VALUES ('1', '系统管理', 'system management');
INSERT INTO "sys_menu_translate" ("id", "zh_cn", "en_us") VALUES ('2', '系统监控', 'System monitoring');
INSERT INTO "sys_menu_translate" ("id", "zh_cn", "en_us") VALUES ('3', '系统工具', 'System Tools');
INSERT INTO "sys_menu_translate" ("id", "zh_cn", "en_us") VALUES ('4', '蜂信物联', 'Bee Trust IoT');
INSERT INTO "sys_menu_translate" ("id", "zh_cn", "en_us") VALUES ('5', '企业管理', 'business management');
INSERT INTO "sys_menu_translate" ("id", "zh_cn", "en_us") VALUES ('100', '用户管理', 'user management ');
INSERT INTO "sys_menu_translate" ("id", "zh_cn", "en_us") VALUES ('101', '角色管理', 'Role management');
INSERT INTO "sys_menu_translate" ("id", "zh_cn", "en_us") VALUES ('102', '菜单管理', 'Menu management');
INSERT INTO "sys_menu_translate" ("id", "zh_cn", "en_us") VALUES ('103', '机构管理', 'organizational management');
INSERT INTO "sys_menu_translate" ("id", "zh_cn", "en_us") VALUES ('104', '岗位管理', 'Job management');
INSERT INTO "sys_menu_translate" ("id", "zh_cn", "en_us") VALUES ('105', '字典管理', 'Dictionary management');
INSERT INTO "sys_menu_translate" ("id", "zh_cn", "en_us") VALUES ('106', '参数设置', 'Parameter settings');
INSERT INTO "sys_menu_translate" ("id", "zh_cn", "en_us") VALUES ('107', '通知公告', 'Notice Announcement');
INSERT INTO "sys_menu_translate" ("id", "zh_cn", "en_us") VALUES ('108', '日志管理', 'Log management');
INSERT INTO "sys_menu_translate" ("id", "zh_cn", "en_us") VALUES ('109', '在线用户', 'Online users');
INSERT INTO "sys_menu_translate" ("id", "zh_cn", "en_us") VALUES ('110', '定时任务', 'Scheduled tasks');
INSERT INTO "sys_menu_translate" ("id", "zh_cn", "en_us") VALUES ('111', '数据监控', 'Data monitoring');
INSERT INTO "sys_menu_translate" ("id", "zh_cn", "en_us") VALUES ('112', '服务监控', 'Service monitoring');
INSERT INTO "sys_menu_translate" ("id", "zh_cn", "en_us") VALUES ('113', '缓存监控', 'Cache monitoring');
INSERT INTO "sys_menu_translate" ("id", "zh_cn", "en_us") VALUES ('114', '表单构建', 'Form construction');
INSERT INTO "sys_menu_translate" ("id", "zh_cn", "en_us") VALUES ('115', '代码生成', 'code generation');
INSERT INTO "sys_menu_translate" ("id", "zh_cn", "en_us") VALUES ('116', '系统接口', 'system interface ');
INSERT INTO "sys_menu_translate" ("id", "zh_cn", "en_us") VALUES ('124', '缓存列表', 'Cache List');
INSERT INTO "sys_menu_translate" ("id", "zh_cn", "en_us") VALUES ('500', '操作日志', 'Operation log');
INSERT INTO "sys_menu_translate" ("id", "zh_cn", "en_us") VALUES ('501', '登录日志', 'Login log');
INSERT INTO "sys_menu_translate" ("id", "zh_cn", "en_us") VALUES ('1001', '用户查询', 'User query');
INSERT INTO "sys_menu_translate" ("id", "zh_cn", "en_us") VALUES ('1002', '用户新增', 'User addition');
INSERT INTO "sys_menu_translate" ("id", "zh_cn", "en_us") VALUES ('1003', '用户修改', 'User modification');
INSERT INTO "sys_menu_translate" ("id", "zh_cn", "en_us") VALUES ('1004', '用户删除', 'User deletion');
INSERT INTO "sys_menu_translate" ("id", "zh_cn", "en_us") VALUES ('1005', '用户导出', 'User export');
INSERT INTO "sys_menu_translate" ("id", "zh_cn", "en_us") VALUES ('1006', '用户导入', 'User import');
INSERT INTO "sys_menu_translate" ("id", "zh_cn", "en_us") VALUES ('1007', '重置密码', 'reset password ');
INSERT INTO "sys_menu_translate" ("id", "zh_cn", "en_us") VALUES ('1008', '角色查询', 'Role query');
INSERT INTO "sys_menu_translate" ("id", "zh_cn", "en_us") VALUES ('1009', '角色新增', 'New role addition');
INSERT INTO "sys_menu_translate" ("id", "zh_cn", "en_us") VALUES ('1010', '角色修改', 'Role modification');
INSERT INTO "sys_menu_translate" ("id", "zh_cn", "en_us") VALUES ('1011', '角色删除', 'Role deletion');
INSERT INTO "sys_menu_translate" ("id", "zh_cn", "en_us") VALUES ('1012', '角色导出', 'Character export');
INSERT INTO "sys_menu_translate" ("id", "zh_cn", "en_us") VALUES ('1013', '菜单查询', 'Menu query');
INSERT INTO "sys_menu_translate" ("id", "zh_cn", "en_us") VALUES ('1014', '菜单新增', 'Menu addition');
INSERT INTO "sys_menu_translate" ("id", "zh_cn", "en_us") VALUES ('1015', '菜单修改', 'Menu modification');
INSERT INTO "sys_menu_translate" ("id", "zh_cn", "en_us") VALUES ('1016', '菜单删除', 'Menu deletion');
INSERT INTO "sys_menu_translate" ("id", "zh_cn", "en_us") VALUES ('1017', '部门查询', 'Departmental inquiry');
INSERT INTO "sys_menu_translate" ("id", "zh_cn", "en_us") VALUES ('1018', '部门新增', 'Department addition');
INSERT INTO "sys_menu_translate" ("id", "zh_cn", "en_us") VALUES ('1019', '部门修改', 'Department modification');
INSERT INTO "sys_menu_translate" ("id", "zh_cn", "en_us") VALUES ('1020', '部门删除', 'Department deletion');
INSERT INTO "sys_menu_translate" ("id", "zh_cn", "en_us") VALUES ('1021', '岗位查询', 'Job Search');
INSERT INTO "sys_menu_translate" ("id", "zh_cn", "en_us") VALUES ('1022', '岗位新增', 'Job addition');
INSERT INTO "sys_menu_translate" ("id", "zh_cn", "en_us") VALUES ('1023', '岗位修改', 'Position modification');
INSERT INTO "sys_menu_translate" ("id", "zh_cn", "en_us") VALUES ('1024', '岗位删除', 'Position deletion');
INSERT INTO "sys_menu_translate" ("id", "zh_cn", "en_us") VALUES ('1025', '岗位导出', 'Job export');
INSERT INTO "sys_menu_translate" ("id", "zh_cn", "en_us") VALUES ('1026', '字典查询', 'Dictionary query');
INSERT INTO "sys_menu_translate" ("id", "zh_cn", "en_us") VALUES ('1027', '字典新增', 'Dictionary addition');
INSERT INTO "sys_menu_translate" ("id", "zh_cn", "en_us") VALUES ('1028', '字典修改', 'Dictionary modification');
INSERT INTO "sys_menu_translate" ("id", "zh_cn", "en_us") VALUES ('1029', '字典删除', 'Dictionary deletion');
INSERT INTO "sys_menu_translate" ("id", "zh_cn", "en_us") VALUES ('1030', '字典导出', 'Dictionary export');
INSERT INTO "sys_menu_translate" ("id", "zh_cn", "en_us") VALUES ('1031', '参数查询', 'Parameter query');
INSERT INTO "sys_menu_translate" ("id", "zh_cn", "en_us") VALUES ('1032', '参数新增', 'Parameter addition');
INSERT INTO "sys_menu_translate" ("id", "zh_cn", "en_us") VALUES ('1033', '参数修改', 'Parameter modification');
INSERT INTO "sys_menu_translate" ("id", "zh_cn", "en_us") VALUES ('1034', '参数删除', 'Parameter deletion');
INSERT INTO "sys_menu_translate" ("id", "zh_cn", "en_us") VALUES ('1035', '参数导出', 'Parameter export');
INSERT INTO "sys_menu_translate" ("id", "zh_cn", "en_us") VALUES ('1036', '公告查询', 'Announcement inquiry');
INSERT INTO "sys_menu_translate" ("id", "zh_cn", "en_us") VALUES ('1037', '公告新增', 'Announcement added');
INSERT INTO "sys_menu_translate" ("id", "zh_cn", "en_us") VALUES ('1038', '公告修改', 'Announcement modification');
INSERT INTO "sys_menu_translate" ("id", "zh_cn", "en_us") VALUES ('1039', '公告删除', 'Announcement deletion');
INSERT INTO "sys_menu_translate" ("id", "zh_cn", "en_us") VALUES ('1040', '操作查询', 'Operation query');
INSERT INTO "sys_menu_translate" ("id", "zh_cn", "en_us") VALUES ('1041', '操作删除', 'Operation deletion');
INSERT INTO "sys_menu_translate" ("id", "zh_cn", "en_us") VALUES ('1042', '日志导出', 'Log export');
INSERT INTO "sys_menu_translate" ("id", "zh_cn", "en_us") VALUES ('1043', '登录查询', 'Login query');
INSERT INTO "sys_menu_translate" ("id", "zh_cn", "en_us") VALUES ('1044', '登录删除', 'Login Delete');
INSERT INTO "sys_menu_translate" ("id", "zh_cn", "en_us") VALUES ('1045', '日志导出', 'Log export');
INSERT INTO "sys_menu_translate" ("id", "zh_cn", "en_us") VALUES ('1046', '在线查询', 'Online inquiry');
INSERT INTO "sys_menu_translate" ("id", "zh_cn", "en_us") VALUES ('1047', '批量强退', 'Batch forced refunds');
INSERT INTO "sys_menu_translate" ("id", "zh_cn", "en_us") VALUES ('1048', '单条强退', 'Single strong refund');
INSERT INTO "sys_menu_translate" ("id", "zh_cn", "en_us") VALUES ('1049', '任务查询', 'Task query');
INSERT INTO "sys_menu_translate" ("id", "zh_cn", "en_us") VALUES ('1050', '任务新增', 'Task addition');
INSERT INTO "sys_menu_translate" ("id", "zh_cn", "en_us") VALUES ('1051', '任务修改', 'Task modification');
INSERT INTO "sys_menu_translate" ("id", "zh_cn", "en_us") VALUES ('1052', '任务删除', 'Task deletion');
INSERT INTO "sys_menu_translate" ("id", "zh_cn", "en_us") VALUES ('1053', '状态修改', 'Status modification');
INSERT INTO "sys_menu_translate" ("id", "zh_cn", "en_us") VALUES ('1054', '任务导出', 'Task export');
INSERT INTO "sys_menu_translate" ("id", "zh_cn", "en_us") VALUES ('1055', '生成查询', 'Generate query');
INSERT INTO "sys_menu_translate" ("id", "zh_cn", "en_us") VALUES ('1056', '生成修改', 'Generate modifications');
INSERT INTO "sys_menu_translate" ("id", "zh_cn", "en_us") VALUES ('1057', '生成删除', 'Generate Delete');
INSERT INTO "sys_menu_translate" ("id", "zh_cn", "en_us") VALUES ('1058', '导入代码', 'Import code');
INSERT INTO "sys_menu_translate" ("id", "zh_cn", "en_us") VALUES ('1059', '预览代码', 'Preview code');
INSERT INTO "sys_menu_translate" ("id", "zh_cn", "en_us") VALUES ('1060', '生成代码', 'Generate code');
INSERT INTO "sys_menu_translate" ("id", "zh_cn", "en_us") VALUES ('1065', '账户解锁', 'Account unlocking');
INSERT INTO "sys_menu_translate" ("id", "zh_cn", "en_us") VALUES ('2000', '设备管理', 'device management');
INSERT INTO "sys_menu_translate" ("id", "zh_cn", "en_us") VALUES ('2001', '产品分类', 'Product classification');
INSERT INTO "sys_menu_translate" ("id", "zh_cn", "en_us") VALUES ('2002', '产品分类查询', 'Product classification query');
INSERT INTO "sys_menu_translate" ("id", "zh_cn", "en_us") VALUES ('2003', '产品分类新增', 'Product classification added');
INSERT INTO "sys_menu_translate" ("id", "zh_cn", "en_us") VALUES ('2004', '产品分类修改', 'Product classification modification');
INSERT INTO "sys_menu_translate" ("id", "zh_cn", "en_us") VALUES ('2005', '产品分类删除', 'Delete product category');
INSERT INTO "sys_menu_translate" ("id", "zh_cn", "en_us") VALUES ('2006', '产品分类导出', 'Product classification export');
INSERT INTO "sys_menu_translate" ("id", "zh_cn", "en_us") VALUES ('2007', '设备管理', 'device management');
INSERT INTO "sys_menu_translate" ("id", "zh_cn", "en_us") VALUES ('2008', '设备查询', 'Equipment inquiry');
INSERT INTO "sys_menu_translate" ("id", "zh_cn", "en_us") VALUES ('2009', '设备新增', 'Equipment addition');
INSERT INTO "sys_menu_translate" ("id", "zh_cn", "en_us") VALUES ('2010', '设备修改', 'Equipment modification');
INSERT INTO "sys_menu_translate" ("id", "zh_cn", "en_us") VALUES ('2011', '设备删除', 'Device deletion');
INSERT INTO "sys_menu_translate" ("id", "zh_cn", "en_us") VALUES ('2012', '设备导出', 'Device export');
INSERT INTO "sys_menu_translate" ("id", "zh_cn", "en_us") VALUES ('2019', '设备分组', 'Equipment grouping');
INSERT INTO "sys_menu_translate" ("id", "zh_cn", "en_us") VALUES ('2020', '设备分组查询', 'Equipment grouping query');
INSERT INTO "sys_menu_translate" ("id", "zh_cn", "en_us") VALUES ('2021', '设备分组新增', 'New equipment grouping');
INSERT INTO "sys_menu_translate" ("id", "zh_cn", "en_us") VALUES ('2022', '设备分组修改', 'Equipment grouping modification');
INSERT INTO "sys_menu_translate" ("id", "zh_cn", "en_us") VALUES ('2023', '设备分组删除', 'Device group deletion');
INSERT INTO "sys_menu_translate" ("id", "zh_cn", "en_us") VALUES ('2024', '设备分组导出', 'Equipment group export');
INSERT INTO "sys_menu_translate" ("id", "zh_cn", "en_us") VALUES ('2043', '产品管理', 'product management ');
INSERT INTO "sys_menu_translate" ("id", "zh_cn", "en_us") VALUES ('2044', '产品查询', 'Product inquiry');
INSERT INTO "sys_menu_translate" ("id", "zh_cn", "en_us") VALUES ('2045', '产品新增', 'Product addition');
INSERT INTO "sys_menu_translate" ("id", "zh_cn", "en_us") VALUES ('2046', '产品修改', 'Product modification');
INSERT INTO "sys_menu_translate" ("id", "zh_cn", "en_us") VALUES ('2047', '产品删除', 'Product deletion');
INSERT INTO "sys_menu_translate" ("id", "zh_cn", "en_us") VALUES ('2048', '产品导出', 'Product export');
INSERT INTO "sys_menu_translate" ("id", "zh_cn", "en_us") VALUES ('2049', '通用物模型', 'Universal object model');
INSERT INTO "sys_menu_translate" ("id", "zh_cn", "en_us") VALUES ('2050', '通用物模型查询', 'General object model query');
INSERT INTO "sys_menu_translate" ("id", "zh_cn", "en_us") VALUES ('2051', '通用物模型新增', 'Addition of Universal Object Model');
INSERT INTO "sys_menu_translate" ("id", "zh_cn", "en_us") VALUES ('2052', '通用物模型修改', 'Modification of Universal Object Model');
INSERT INTO "sys_menu_translate" ("id", "zh_cn", "en_us") VALUES ('2053', '通用物模型删除', 'Universal object model deletion');
INSERT INTO "sys_menu_translate" ("id", "zh_cn", "en_us") VALUES ('2054', '通用物模型导出', 'Export of Universal Object Model');
INSERT INTO "sys_menu_translate" ("id", "zh_cn", "en_us") VALUES ('2123', '新闻分类', 'News classification');
INSERT INTO "sys_menu_translate" ("id", "zh_cn", "en_us") VALUES ('2124', '新闻分类查询', 'News classification query');
INSERT INTO "sys_menu_translate" ("id", "zh_cn", "en_us") VALUES ('2125', '新闻分类新增', 'New news category added');
INSERT INTO "sys_menu_translate" ("id", "zh_cn", "en_us") VALUES ('2126', '新闻分类修改', 'News classification modification');
INSERT INTO "sys_menu_translate" ("id", "zh_cn", "en_us") VALUES ('2127', '新闻分类删除', 'Delete news category');
INSERT INTO "sys_menu_translate" ("id", "zh_cn", "en_us") VALUES ('2128', '新闻分类导出', 'Export news categories');
INSERT INTO "sys_menu_translate" ("id", "zh_cn", "en_us") VALUES ('2129', '新闻资讯', 'News and Information');
INSERT INTO "sys_menu_translate" ("id", "zh_cn", "en_us") VALUES ('2130', '新闻资讯查询', 'News and Information Inquiry');
INSERT INTO "sys_menu_translate" ("id", "zh_cn", "en_us") VALUES ('2131', '新闻资讯新增', 'New news and information added');
INSERT INTO "sys_menu_translate" ("id", "zh_cn", "en_us") VALUES ('2132', '新闻资讯修改', 'News and Information Modification');
INSERT INTO "sys_menu_translate" ("id", "zh_cn", "en_us") VALUES ('2133', '新闻资讯删除', 'Delete news and information');
INSERT INTO "sys_menu_translate" ("id", "zh_cn", "en_us") VALUES ('2134', '新闻资讯导出', 'Export news and information');
INSERT INTO "sys_menu_translate" ("id", "zh_cn", "en_us") VALUES ('2136', '产品授权码查询', 'Product authorization code query');
INSERT INTO "sys_menu_translate" ("id", "zh_cn", "en_us") VALUES ('2137', '产品授权码新增', 'Product authorization code added');
INSERT INTO "sys_menu_translate" ("id", "zh_cn", "en_us") VALUES ('2138', '产品授权码修改', 'Product authorization code modification');
INSERT INTO "sys_menu_translate" ("id", "zh_cn", "en_us") VALUES ('2139', '产品授权码删除', 'Product authorization code deletion');
INSERT INTO "sys_menu_translate" ("id", "zh_cn", "en_us") VALUES ('2140', '产品授权码导出', 'Export of Product Authorization Code');
INSERT INTO "sys_menu_translate" ("id", "zh_cn", "en_us") VALUES ('2141', '三方登录', 'Three party login');
INSERT INTO "sys_menu_translate" ("id", "zh_cn", "en_us") VALUES ('2142', '平台查询', 'Platform query');
INSERT INTO "sys_menu_translate" ("id", "zh_cn", "en_us") VALUES ('2147', '设备用户列表', 'List of device users');
INSERT INTO "sys_menu_translate" ("id", "zh_cn", "en_us") VALUES ('2148', '设备定时', 'Equipment timing');
INSERT INTO "sys_menu_translate" ("id", "zh_cn", "en_us") VALUES ('2168', '通道管理', 'Channel management');
INSERT INTO "sys_menu_translate" ("id", "zh_cn", "en_us") VALUES ('3031', 'Netty管理', 'Netty Management');
INSERT INTO "sys_menu_translate" ("id", "zh_cn", "en_us") VALUES ('3032', '客户端', 'client');
INSERT INTO "sys_menu_translate" ("id", "zh_cn", "en_us") VALUES ('3033', '事件日志', 'Event log');
INSERT INTO "sys_menu_translate" ("id", "zh_cn", "en_us") VALUES ('3034', '事件日志查询', 'Event log query');
INSERT INTO "sys_menu_translate" ("id", "zh_cn", "en_us") VALUES ('3035', '事件日志新增', 'Event log addition');
INSERT INTO "sys_menu_translate" ("id", "zh_cn", "en_us") VALUES ('3036', '事件日志修改', 'Event log modification');
INSERT INTO "sys_menu_translate" ("id", "zh_cn", "en_us") VALUES ('3037', '事件日志删除', 'Event log deletion');
INSERT INTO "sys_menu_translate" ("id", "zh_cn", "en_us") VALUES ('3038', '事件日志导出', 'Event log export');
INSERT INTO "sys_menu_translate" ("id", "zh_cn", "en_us") VALUES ('3046', '视频中心', 'Video Center');
INSERT INTO "sys_menu_translate" ("id", "zh_cn", "en_us") VALUES ('3048', '视频配置', 'Video configuration');
INSERT INTO "sys_menu_translate" ("id", "zh_cn", "en_us") VALUES ('3051', '规则引擎', 'Rule engine');
INSERT INTO "sys_menu_translate" ("id", "zh_cn", "en_us") VALUES ('3055', '规则脚本', 'Rule Script');
INSERT INTO "sys_menu_translate" ("id", "zh_cn", "en_us") VALUES ('3100', 'Mqtt统计', 'Mqtt statistics');
INSERT INTO "sys_menu_translate" ("id", "zh_cn", "en_us") VALUES ('3148', '规则脚本导出', 'Rule script export');
INSERT INTO "sys_menu_translate" ("id", "zh_cn", "en_us") VALUES ('3149', '规则脚本查询', 'Rule script query');
INSERT INTO "sys_menu_translate" ("id", "zh_cn", "en_us") VALUES ('3150', '规则脚本新增', 'New rule script added');
INSERT INTO "sys_menu_translate" ("id", "zh_cn", "en_us") VALUES ('3151', '规则脚本修改', 'Rule script modification');
INSERT INTO "sys_menu_translate" ("id", "zh_cn", "en_us") VALUES ('3152', '规则脚本删除', 'Rule script deletion');
INSERT INTO "sys_menu_translate" ("id", "zh_cn", "en_us") VALUES ('3343', '数据中心', 'Data Center');
INSERT INTO "sys_menu_translate" ("id", "zh_cn", "en_us") VALUES ('3344', '数据分析', 'Data analysis');
INSERT INTO "sys_menu_translate" ("id", "zh_cn", "en_us") VALUES ('3345', '历史记录', 'Historical records');
COMMIT;
-- ----------------------------
@@ -4392,3 +4798,28 @@ ALTER TABLE "qrtz_simprop_triggers" ADD CONSTRAINT "QRTZ_SIMPROP_TRIGGERS_ibfk_1
-- ----------------------------
-- Foreign Keys structure for table qrtz_triggers
-- ----------------------------
-- ----------------------------
-- Primary Key structure for table iot_things_model_template_translate
-- ----------------------------
ALTER TABLE "iot_things_model_template_translate" ADD PRIMARY KEY ("id");
-- ----------------------------
-- Primary Key structure for table iot_things_model_translate
-- ----------------------------
ALTER TABLE "iot_things_model_translate" ADD PRIMARY KEY ("id");
-- ----------------------------
-- Primary Key structure for table sys_dict_data_translate
-- ----------------------------
ALTER TABLE "sys_dict_data_translate" ADD PRIMARY KEY ("id");
-- ----------------------------
-- Primary Key structure for table sys_dict_type_translate
-- ----------------------------
ALTER TABLE "sys_dict_type_translate" ADD PRIMARY KEY ("id");
-- ----------------------------
-- Primary Key structure for table sys_menu_translate
-- ----------------------------
ALTER TABLE "sys_menu_translate" ADD PRIMARY KEY ("id");

View File

@@ -14,6 +14,90 @@
Date: 21/04/2025 14:48:15
*/
-- ----------------------------
-- Table structure for app_language
-- ----------------------------
DROP TABLE IF EXISTS "public"."app_language";
CREATE TABLE "public"."app_language" (
"id" int8 GENERATED BY DEFAULT AS IDENTITY (START WITH 5 INCREMENT BY 1),
"language" varchar(20),
"country" varchar(20),
"time_zone" varchar(20),
"create_by" varchar(64),
"create_time" timestamp,
"lang_name" varchar(20)
)
;
COMMENT ON COLUMN "public"."app_language"."id" IS '主键ID';
COMMENT ON COLUMN "public"."app_language"."language" IS '语言';
COMMENT ON COLUMN "public"."app_language"."country" IS '国家';
COMMENT ON COLUMN "public"."app_language"."time_zone" IS '时区';
COMMENT ON COLUMN "public"."app_language"."create_by" IS '创建者';
COMMENT ON COLUMN "public"."app_language"."create_time" IS '创建时间';
COMMENT ON COLUMN "public"."app_language"."lang_name" IS '语言名称';
COMMENT ON TABLE "public"."app_language" IS 'app语言';
-- ----------------------------
-- Records of app_language
-- ----------------------------
BEGIN;
INSERT INTO "public"."app_language" ("id", "language", "country", "time_zone", "create_by", "create_time", "lang_name") VALUES (2, 'zh-CN', '中国', 'UTF+8', 'admin', '2024-05-31 14:25:30', '简体中文');
INSERT INTO "public"."app_language" ("id", "language", "country", "time_zone", "create_by", "create_time", "lang_name") VALUES (3, 'en-US', '欧美', 'UTC', 'admin', '2024-05-31 14:25:30', 'English');
INSERT INTO "public"."app_language" ("id", "language", "country", "time_zone", "create_by", "create_time", "lang_name") VALUES (4, 'jp', '日本', 'utf-9', 'admin', '2024-05-31 14:25:30', '日语');
COMMIT;
-- ----------------------------
-- Primary Key structure for table app_language
-- ----------------------------
ALTER TABLE "public"."app_language" ADD PRIMARY KEY ("id");
-- ----------------------------
-- Table structure for app_preferences
-- ----------------------------
DROP TABLE IF EXISTS "public"."app_preferences";
CREATE TABLE "public"."app_preferences" (
"id" int8 GENERATED BY DEFAULT AS IDENTITY (START WITH 2 INCREMENT BY 1),
"user_id" int8,
"language" varchar(20),
"time_zone" varchar(20),
"create_by" varchar(64),
"create_time" timestamp,
"update_by" varchar(64),
"update_time" timestamp,
"remark" varchar(500)
)
;
COMMENT ON COLUMN "public"."app_preferences"."id" IS '主键id';
COMMENT ON COLUMN "public"."app_preferences"."user_id" IS '用户';
COMMENT ON COLUMN "public"."app_preferences"."language" IS '语言';
COMMENT ON COLUMN "public"."app_preferences"."time_zone" IS '时区';
COMMENT ON COLUMN "public"."app_preferences"."create_by" IS '创建者';
COMMENT ON COLUMN "public"."app_preferences"."create_time" IS '创建时间';
COMMENT ON COLUMN "public"."app_preferences"."update_by" IS '更新者';
COMMENT ON COLUMN "public"."app_preferences"."update_time" IS '更新时间';
COMMENT ON COLUMN "public"."app_preferences"."remark" IS '备注';
COMMENT ON TABLE "public"."app_preferences" IS 'APP用户偏好设置';
-- ----------------------------
-- Records of app_preferences
-- ----------------------------
BEGIN;
INSERT INTO "public"."app_preferences" ("id", "user_id", "language", "time_zone", "create_by", "create_time", "update_by", "update_time", "remark") VALUES (1, 1, 'zh-CN', NULL, 'admin', '2024-05-31 14:25:30', NULL, NULL, NULL);
COMMIT;
-- ----------------------------
-- Indexes structure for table app_preferences
-- ----------------------------
CREATE UNIQUE INDEX "PRIAMRK_USER_LANG" ON "public"."app_preferences" USING btree (
"user_id" ASC,
"language" ASC
);
COMMENT ON INDEX "public"."PRIAMRK_USER_LANG" IS '用户语言唯一';
-- ----------------------------
-- Primary Key structure for table app_preferences
-- ----------------------------
ALTER TABLE "public"."app_preferences" ADD PRIMARY KEY ("id");
-- ----------------------------
-- Table structure for gen_table
@@ -1565,6 +1649,50 @@ INSERT INTO "public"."iot_things_model_template" ("template_id", "template_name"
INSERT INTO "public"."iot_things_model_template" ("template_id", "template_name", "tenant_id", "tenant_name", "identifier", "type", "datatype", "specs", "is_sys", "is_chart", "is_monitor", "is_history", "is_readonly", "is_share_perm", "model_order", "del_flag", "create_by", "create_time", "update_by", "update_time", "remark", "temp_slave_id", "formula", "reverse_formula", "reg_addr", "bit_option", "value_type", "is_params", "quantity", "code", "old_identifier", "old_temp_slave_id", "parse_type") VALUES (343, '状态', 1, 'admin', 'status', 1, 'integer', '{"max": 100, "min": 0, "step": 1, "type": "integer", "unit": ""}', 1, 0, 0, 1, 1, 0, 0, '0', '', '2023-08-30 23:28:00', '', '2023-08-30 23:28:17', NULL, '2#1', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL);
COMMIT;
-- ----------------------------
-- Table structure for iot_things_model_template_translate
-- ----------------------------
DROP TABLE IF EXISTS "public"."iot_things_model_template_translate";
CREATE TABLE "public"."iot_things_model_template_translate" (
"id" int8 NOT NULL,
"zh_cn" varchar(200),
"en_us" varchar(200)
)
;
COMMENT ON COLUMN "public"."iot_things_model_template_translate"."id" IS 'ID';
COMMENT ON COLUMN "public"."iot_things_model_template_translate"."zh_cn" IS 'zh_CN';
COMMENT ON COLUMN "public"."iot_things_model_template_translate"."en_us" IS 'en_US';
COMMENT ON TABLE "public"."iot_things_model_template_translate" IS '物模型模板翻译表';
-- ----------------------------
-- Records of iot_things_model_template_translate
-- ----------------------------
BEGIN;
COMMIT;
-- ----------------------------
-- Table structure for iot_things_model_translate
-- ----------------------------
DROP TABLE IF EXISTS "public"."iot_things_model_translate";
CREATE TABLE "public"."iot_things_model_translate" (
"id" int8 NOT NULL,
"zh_cn" varchar(200),
"en_us" varchar(200),
"product_id" int8
)
;
COMMENT ON COLUMN "public"."iot_things_model_translate"."id" IS 'ID';
COMMENT ON COLUMN "public"."iot_things_model_translate"."zh_cn" IS 'zh_CN';
COMMENT ON COLUMN "public"."iot_things_model_translate"."en_us" IS 'en_US';
COMMENT ON COLUMN "public"."iot_things_model_translate"."product_id" IS '产品ID';
COMMENT ON TABLE "public"."iot_things_model_translate" IS '物模型翻译表';
-- ----------------------------
-- Records of iot_things_model_translate
-- ----------------------------
BEGIN;
COMMIT;
-- ----------------------------
-- Table structure for media_server
-- ----------------------------
@@ -2558,7 +2686,7 @@ COMMIT;
-- ----------------------------
DROP TABLE IF EXISTS "public"."sys_dict_data";
CREATE TABLE "public"."sys_dict_data" (
"dict_code" int8 NOT NULL GENERATED BY DEFAULT AS IDENTITY (START WITH 778 INCREMENT BY 1),
"dict_code" int8 NOT NULL,
"dict_sort" int4,
"dict_label" varchar(100),
"dict_value" varchar(100),
@@ -2719,196 +2847,240 @@ INSERT INTO "public"."sys_dict_data" ("dict_code", "dict_sort", "dict_label", "d
INSERT INTO "public"."sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES (241, 4, 'GB28181', 'GB28181', 'iot_transport_type', NULL, 'success', 'N', '0', 'admin', '2023-05-12 14:25:39', 'admin', '2025-03-19 16:24:12', NULL);
INSERT INTO "public"."sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES (242, 1, '02(读离散量输入)', '2', 'iot_modbus_status_code', NULL, 'default', 'N', '0', 'admin', '2023-07-03 10:16:48', 'admin', '2023-07-03 10:17:35', NULL);
INSERT INTO "public"."sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES (243, 3, '04(读输入寄存器)', '4', 'iot_modbus_status_code', NULL, 'default', 'N', '0', 'admin', '2023-07-03 10:17:18', 'admin', '2023-07-03 10:17:58', NULL);
INSERT INTO "public"."sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES (247, 4, '微信开放平台网站应用', 'wechat_open_web', 'iot_social_platform', NULL, 'default', 'N', '0', 'admin', '2023-08-23 11:28:15', '', NULL, NULL);
INSERT INTO "public"."sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES (248, 5, '微信开放平台移动应用', 'wechat_open_mobile', 'iot_social_platform', NULL, 'default', 'N', '0', 'admin', '2023-08-23 11:29:14', '', NULL, NULL);
INSERT INTO "public"."sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES (249, 6, '微信开放平台小程序', 'wechat_open_mini_program', 'iot_social_platform', NULL, 'default', 'N', '0', 'admin', '2023-08-23 11:38:12', '', NULL, NULL);
INSERT INTO "public"."sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES (250, 0, '16位 无符号', 'ushort', 'iot_modbus_data_type', NULL, 'default', 'N', '0', 'admin', '2023-09-04 14:11:54', '', NULL, NULL);
INSERT INTO "public"."sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES (251, 1, '16位 符号', 'short', 'iot_modbus_data_type', NULL, 'default', 'N', '0', 'admin', '2023-09-04 14:12:26', '', NULL, NULL);
INSERT INTO "public"."sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES (252, 2, '32位 有符号(ABCD)', 'long-ABCD', 'iot_modbus_data_type', NULL, 'default', 'N', '0', 'admin', '2023-09-04 14:12:53', '', NULL, NULL);
INSERT INTO "public"."sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES (253, 3, '32位 有符号(CDAB)', 'long-CDAB', 'iot_modbus_data_type', NULL, 'default', 'N', '0', 'admin', '2023-09-04 14:13:21', '', NULL, NULL);
INSERT INTO "public"."sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES (254, 4, '32位 符号(ABCD)', 'ulong-ABCD', 'iot_modbus_data_type', NULL, 'default', 'N', '0', 'admin', '2023-09-04 14:13:42', '', NULL, NULL);
INSERT INTO "public"."sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES (255, 5, '32位 无符号(CDAB)', 'ulong-CDAB', 'iot_modbus_data_type', NULL, 'default', 'N', '0', 'admin', '2023-09-04 14:14:06', '', NULL, NULL);
INSERT INTO "public"."sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES (256, 6, '32位 浮点数(ABCD)', 'float-ABCD', 'iot_modbus_data_type', NULL, 'default', 'N', '0', 'admin', '2023-09-04 14:14:28', '', NULL, NULL);
INSERT INTO "public"."sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES (257, 7, '32位 浮点数(CDAB)', 'float-CDAB', 'iot_modbus_data_type', NULL, 'default', 'N', '0', 'admin', '2023-09-04 14:14:50', '', NULL, NULL);
INSERT INTO "public"."sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES (258, 8, '', 'bit', 'iot_modbus_data_type', NULL, 'default', 'N', '0', 'admin', '2023-09-04 14:15:13', '', NULL, NULL);
INSERT INTO "public"."sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES (259, 0, '电灯', 'LIGHT', 'dueros_related_device', NULL, 'default', 'N', '0', 'admin', '2023-08-23 11:28:15', '', NULL, NULL);
INSERT INTO "public"."sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES (260, 0, '空调', 'AIR_CONDITION', 'dueros_related_device', NULL, 'default', 'N', '0', 'admin', '2023-08-23 11:28:15', '', NULL, NULL);
INSERT INTO "public"."sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES (261, 0, '窗帘', 'CURTAIN', 'dueros_related_device', NULL, 'default', 'N', '0', 'admin', '2023-08-23 11:28:15', '', NULL, NULL);
INSERT INTO "public"."sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES (262, 0, '窗纱', 'CURT_SIMP', 'dueros_related_device', NULL, 'default', 'N', '0', 'admin', '2023-08-23 11:28:15', '', NULL, NULL);
INSERT INTO "public"."sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES (263, 0, '插座', 'SOCKET', 'dueros_related_device', NULL, 'default', 'N', '0', 'admin', '2023-08-23 11:28:15', '', NULL, NULL);
INSERT INTO "public"."sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES (264, 0, '开关', 'SWITCH', 'dueros_related_device', NULL, 'default', 'N', '0', 'admin', '2023-08-23 11:28:15', '', NULL, NULL);
INSERT INTO "public"."sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES (265, 0, '冰箱', 'FRIDGE', 'dueros_related_device', NULL, 'default', 'N', '0', 'admin', '2023-08-23 11:28:15', '', NULL, NULL);
INSERT INTO "public"."sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES (266, 0, '净水器', 'WATER_PURIFIER', 'dueros_related_device', NULL, 'default', 'N', '0', 'admin', '2023-08-23 11:28:15', '', NULL, NULL);
INSERT INTO "public"."sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES (267, 0, '加湿器', 'HUMIDIFIER', 'dueros_related_device', NULL, 'default', 'N', '0', 'admin', '2023-08-23 11:28:15', '', NULL, NULL);
INSERT INTO "public"."sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES (268, 0, '除湿器', 'DEHUMIDIFIER', 'dueros_related_device', NULL, 'default', 'N', '0', 'admin', '2023-08-23 11:28:15', '', NULL, NULL);
INSERT INTO "public"."sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES (269, 0, '电磁炉', 'INDUCTION_COOKER', 'dueros_related_device', NULL, 'default', 'N', '0', 'admin', '2023-08-23 11:28:15', '', NULL, NULL);
INSERT INTO "public"."sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES (270, 0, '空气净化器', 'AIR_PURIFIER', 'dueros_related_device', NULL, 'default', 'N', '0', 'admin', '2023-08-23 11:28:15', '', NULL, NULL);
INSERT INTO "public"."sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES (271, 0, '洗衣机', 'WASHING_MACHINE', 'dueros_related_device', NULL, 'default', 'N', '0', 'admin', '2023-08-23 11:28:15', '', NULL, NULL);
INSERT INTO "public"."sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES (272, 0, '热水器', 'WATER_HEATER', 'dueros_related_device', NULL, 'default', 'N', '0', 'admin', '2023-08-23 11:28:15', '', NULL, NULL);
INSERT INTO "public"."sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES (273, 0, '燃气灶', 'GAS_STOVE', 'dueros_related_device', NULL, 'default', 'N', '0', 'admin', '2023-08-23 11:28:15', '', NULL, NULL);
INSERT INTO "public"."sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES (274, 0, '电视机', 'TV_SET', 'dueros_related_device', NULL, 'default', 'N', '0', 'admin', '2023-08-23 11:28:15', '', NULL, NULL);
INSERT INTO "public"."sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES (275, 0, '网络盒子', 'OTT_BOX', 'dueros_related_device', NULL, 'default', 'N', '0', 'admin', '2023-08-23 11:28:15', '', NULL, NULL);
INSERT INTO "public"."sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES (276, 0, '油烟机', 'RANGE_HOOD', 'dueros_related_device', NULL, 'default', 'N', '0', 'admin', '2023-08-23 11:28:15', '', NULL, NULL);
INSERT INTO "public"."sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES (277, 0, '电风扇', 'FAN', 'dueros_related_device', NULL, 'default', 'N', '0', 'admin', '2023-08-23 11:28:15', '', NULL, NULL);
INSERT INTO "public"."sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES (278, 0, '投影仪', 'PROJECTOR', 'dueros_related_device', NULL, 'default', 'N', '0', 'admin', '2023-08-23 11:28:15', '', NULL, NULL);
INSERT INTO "public"."sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES (279, 0, '扫地机器人', 'SWEEPING_ROBOT', 'dueros_related_device', NULL, 'default', 'N', '0', 'admin', '2023-08-23 11:28:15', '', NULL, NULL);
INSERT INTO "public"."sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES (280, 0, '热水壶', 'KETTLE', 'dueros_related_device', NULL, 'default', 'N', '0', 'admin', '2023-08-23 11:28:15', '', NULL, NULL);
INSERT INTO "public"."sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES (281, 0, '微波炉', 'MICROWAVE_OVEN', 'dueros_related_device', NULL, 'default', 'N', '0', 'admin', '2023-08-23 11:28:15', '', NULL, NULL);
INSERT INTO "public"."sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES (282, 0, '压力锅', 'PRESSURE_COOKER', 'dueros_related_device', NULL, 'default', 'N', '0', 'admin', '2023-08-23 11:28:15', '', NULL, NULL);
INSERT INTO "public"."sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES (283, 0, '电饭煲', 'RICE_COOKER', 'dueros_related_device', NULL, 'default', 'N', '0', 'admin', '2023-08-23 11:28:15', '', NULL, NULL);
INSERT INTO "public"."sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES (284, 0, '破壁机', 'HIGH_SPEED_BLENDER', 'dueros_related_device', NULL, 'default', 'N', '0', 'admin', '2023-08-23 11:28:15', '', NULL, NULL);
INSERT INTO "public"."sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES (285, 0, '新风机', 'AIR_FRESHER', 'dueros_related_device', NULL, 'default', 'N', '0', 'admin', '2023-08-23 11:28:15', '', NULL, NULL);
INSERT INTO "public"."sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES (286, 0, '晾衣架', 'CLOTHES_RACK', 'dueros_related_device', NULL, 'default', 'N', '0', 'admin', '2023-08-23 11:28:15', '', NULL, NULL);
INSERT INTO "public"."sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES (287, 0, '烤箱设备', 'OVEN', 'dueros_related_device', NULL, 'default', 'N', '0', 'admin', '2023-08-23 11:28:15', '', NULL, NULL);
INSERT INTO "public"."sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES (288, 0, '蒸烤箱', 'STEAM_OVEN', 'dueros_related_device', NULL, 'default', 'N', '0', 'admin', '2023-08-23 11:28:15', '', NULL, NULL);
INSERT INTO "public"."sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES (289, 0, '蒸箱', 'STEAM_BOX', 'dueros_related_device', NULL, 'default', 'N', '0', 'admin', '2023-08-23 11:28:15', '', NULL, NULL);
INSERT INTO "public"."sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES (290, 0, '电暖器', 'HEATER', 'dueros_related_device', NULL, 'default', 'N', '0', 'admin', '2023-08-23 11:28:15', '', NULL, NULL);
INSERT INTO "public"."sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES (291, 0, '开窗器', 'WINDOW_OPENER', 'dueros_related_device', NULL, 'default', 'N', '0', 'admin', '2023-08-23 11:28:15', '', NULL, NULL);
INSERT INTO "public"."sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES (292, 0, '摄像头', 'WEBCAM', 'dueros_related_device', NULL, 'default', 'N', '0', 'admin', '2023-08-23 11:28:15', '', NULL, NULL);
INSERT INTO "public"."sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES (293, 0, '相机', 'CAMERA', 'dueros_related_device', NULL, 'default', 'N', '0', 'admin', '2023-08-23 11:28:15', '', NULL, NULL);
INSERT INTO "public"."sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES (294, 0, '机器人', 'ROBOT', 'dueros_related_device', NULL, 'default', 'N', '0', 'admin', '2023-08-23 11:28:15', '', NULL, NULL);
INSERT INTO "public"."sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES (295, 0, '打印机', 'PRINTER', 'dueros_related_device', NULL, 'default', 'N', '0', 'admin', '2023-08-23 11:28:15', '', NULL, NULL);
INSERT INTO "public"."sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES (296, 0, '饮水机', 'WATER_COOLER', 'dueros_related_device', NULL, 'default', 'N', '0', 'admin', '2023-08-23 11:28:15', '', NULL, NULL);
INSERT INTO "public"."sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES (297, 0, '鱼缸', 'FISH_TANK', 'dueros_related_device', NULL, 'default', 'N', '0', 'admin', '2023-08-23 11:28:15', '', NULL, NULL);
INSERT INTO "public"."sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES (298, 0, '浇花器', 'WATERING_DEVICE', 'dueros_related_device', NULL, 'default', 'N', '0', 'admin', '2023-08-23 11:28:15', '', NULL, NULL);
INSERT INTO "public"."sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES (299, 0, '机顶盒', 'SET_TOP_BOX', 'dueros_related_device', NULL, 'default', 'N', '0', 'admin', '2023-08-23 11:28:15', '', NULL, NULL);
INSERT INTO "public"."sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES (300, 0, '香薰机', 'AROMATHERAPY_MACHINE', 'dueros_related_device', NULL, 'default', 'N', '0', 'admin', '2023-08-23 11:28:15', '', NULL, NULL);
INSERT INTO "public"."sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES (301, 0, 'DVD', 'DVD', 'dueros_related_device', NULL, 'default', 'N', '0', 'admin', '2023-08-23 11:28:15', '', NULL, NULL);
INSERT INTO "public"."sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES (302, 0, '鞋柜', 'SHOE_CABINET', 'dueros_related_device', NULL, 'default', 'N', '0', 'admin', '2023-08-23 11:28:15', '', NULL, NULL);
INSERT INTO "public"."sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES (303, 0, '走步机', 'WALKING_MACHINE', 'dueros_related_device', NULL, 'default', 'N', '0', 'admin', '2023-08-23 11:28:15', '', NULL, NULL);
INSERT INTO "public"."sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES (304, 0, '跑步机', 'TREADMILL', 'dueros_related_device', NULL, 'default', 'N', '0', 'admin', '2023-08-23 11:28:15', '', NULL, NULL);
INSERT INTO "public"."sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES (305, 0, '', 'BED', 'dueros_related_device', NULL, 'default', 'N', '0', 'admin', '2023-08-23 11:28:15', '', NULL, NULL);
INSERT INTO "public"."sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES (306, 0, '浴霸', 'YUBA', 'dueros_related_device', NULL, 'default', 'N', '0', 'admin', '2023-08-23 11:28:15', '', NULL, NULL);
INSERT INTO "public"."sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES (307, 0, '花洒', 'SHOWER', 'dueros_related_device', NULL, 'default', 'N', '0', 'admin', '2023-08-23 11:28:15', '', NULL, NULL);
INSERT INTO "public"."sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES (308, 0, '浴缸', 'BATHTUB', 'dueros_related_device', NULL, 'default', 'N', '0', 'admin', '2023-08-23 11:28:15', '', NULL, NULL);
INSERT INTO "public"."sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES (309, 0, '消毒柜', 'DISINFECTION_CABINET', 'dueros_related_device', NULL, 'default', 'N', '0', 'admin', '2023-08-23 11:28:15', '', NULL, NULL);
INSERT INTO "public"."sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES (310, 0, '洗碗机', 'DISHWASHER', 'dueros_related_device', NULL, 'default', 'N', '0', 'admin', '2023-08-23 11:28:15', '', NULL, NULL);
INSERT INTO "public"."sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES (311, 0, '沙发品类', 'SOFA', 'dueros_related_device', NULL, 'default', 'N', '0', 'admin', '2023-08-23 11:28:15', '', NULL, NULL);
INSERT INTO "public"."sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES (312, 0, '门铃', 'DOOR_BELL', 'dueros_related_device', NULL, 'default', 'N', '0', 'admin', '2023-08-23 11:28:15', '', NULL, NULL);
INSERT INTO "public"."sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES (313, 0, '电梯', 'ELEVATOR', 'dueros_related_device', NULL, 'default', 'N', '0', 'admin', '2023-08-23 11:28:15', '', NULL, NULL);
INSERT INTO "public"."sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES (314, 0, '体重秤', 'WEIGHT_SCALE', 'dueros_related_device', NULL, 'default', 'N', '0', 'admin', '2023-08-23 11:28:15', '', NULL, NULL);
INSERT INTO "public"."sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES (315, 0, '体脂秤', 'BODY_FAT_SCALE', 'dueros_related_device', NULL, 'default', 'N', '0', 'admin', '2023-08-23 11:28:15', '', NULL, NULL);
INSERT INTO "public"."sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES (316, 0, '壁挂炉', 'WALL_HUNG_GAS_BOILER', 'dueros_related_device', NULL, 'default', 'N', '0', 'admin', '2023-08-23 11:28:15', '', NULL, NULL);
INSERT INTO "public"."sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES (317, 0, '特定设备的组合场景', 'SCENE_TRIGGER', 'dueros_related_device', NULL, 'default', 'N', '0', 'admin', '2023-08-23 11:28:15', '', NULL, '描述特定设备的组合场景,设备之间没有相互关联,无特定操作顺序。 例如“打开睡眠模式”包括关灯和锁上房门,但是关灯和锁上房门之间没有必然联系,可以先关灯然后锁上房门,也可以先锁上房门后关灯');
INSERT INTO "public"."sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES (318, 0, '特定设备的组合场景', 'ACTIVITY_TRIGGER', 'dueros_related_device', NULL, 'default', 'N', '0', 'admin', '2023-08-23 11:28:15', '', NULL, '描述特定设备的组合场景。场景中的设备必须以指定顺序操作。如“观看优酷视频”场景中必须先打开电视机然后打开HDMI1');
INSERT INTO "public"."sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES (319, 0, '打开', 'turnOn', 'dueros_operate_type', NULL, 'default', 'N', '0', 'admin', '2023-09-22 10:35:15', '', NULL, NULL);
INSERT INTO "public"."sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES (320, 0, '关闭', 'turnOff', 'dueros_operate_type', NULL, 'default', 'N', '0', 'admin', '2023-09-22 10:35:15', '', NULL, NULL);
INSERT INTO "public"."sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES (321, 0, '定时打开', 'timingTurnOn', 'dueros_operate_type', NULL, 'default', 'N', '0', 'admin', '2023-09-22 10:35:15', '', NULL, NULL);
INSERT INTO "public"."sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES (322, 0, '定时关闭', 'timingTurnOff', 'dueros_operate_type', NULL, 'default', 'N', '0', 'admin', '2023-09-22 10:35:15', '', NULL, NULL);
INSERT INTO "public"."sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES (323, 0, '暂停', 'pause', 'dueros_operate_type', NULL, 'default', 'N', '0', 'admin', '2023-09-22 10:35:15', '', NULL, NULL);
INSERT INTO "public"."sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES (324, 0, '继续', 'continue', 'dueros_operate_type', NULL, 'default', 'N', '0', 'admin', '2023-09-22 10:35:15', '', NULL, NULL);
INSERT INTO "public"."sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES (325, 0, '设置颜色', 'setColor', 'dueros_operate_type', NULL, 'default', 'N', '0', 'admin', '2023-09-22 10:35:15', '', NULL, NULL);
INSERT INTO "public"."sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES (326, 0, '设置灯光色温', 'setColorTemperature', 'dueros_operate_type', NULL, 'default', 'N', '0', 'admin', '2023-09-22 10:35:15', '', NULL, NULL);
INSERT INTO "public"."sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES (327, 0, '增高灯光色温', 'incrementColorTemperature', 'dueros_operate_type', NULL, 'default', 'N', '0', 'admin', '2023-09-22 10:35:15', '', NULL, NULL);
INSERT INTO "public"."sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES (328, 0, '降低灯光色温', 'decrementColorTemperature', 'dueros_operate_type', NULL, 'default', 'N', '0', 'admin', '2023-09-22 10:35:15', '', NULL, NULL);
INSERT INTO "public"."sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES (329, 0, '设置灯光亮度', 'setBrightnessPercentage', 'dueros_operate_type', NULL, 'default', 'N', '0', 'admin', '2023-09-22 10:35:15', '', NULL, NULL);
INSERT INTO "public"."sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES (330, 0, '调亮灯光', 'incrementBrightnessPercentage', 'dueros_operate_type', NULL, 'default', 'N', '0', 'admin', '2023-09-22 10:35:15', '', NULL, NULL);
INSERT INTO "public"."sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES (331, 0, '调暗灯光', 'decrementBrightnessPercentage', 'dueros_operate_type', NULL, 'default', 'N', '0', 'admin', '2023-09-22 10:35:15', '', NULL, NULL);
INSERT INTO "public"."sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES (332, 0, '设置功率', 'setPower', 'dueros_operate_type', NULL, 'default', 'N', '0', 'admin', '2023-09-22 10:35:15', '', NULL, NULL);
INSERT INTO "public"."sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES (333, 0, '增大功率', 'incrementPower', 'dueros_operate_type', NULL, 'default', 'N', '0', 'admin', '2023-09-22 10:35:15', '', NULL, NULL);
INSERT INTO "public"."sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES (334, 0, '减小功率', 'decrementPower', 'dueros_operate_type', NULL, 'default', 'N', '0', 'admin', '2023-09-22 10:35:15', '', NULL, NULL);
INSERT INTO "public"."sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES (335, 0, '升高温度', 'incrementTemperature', 'dueros_operate_type', NULL, 'default', 'N', '0', 'admin', '2023-09-22 10:35:15', '', NULL, NULL);
INSERT INTO "public"."sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES (336, 0, '降低温度', 'decrementTemperature', 'dueros_operate_type', NULL, 'default', 'N', '0', 'admin', '2023-09-22 10:35:15', '', NULL, NULL);
INSERT INTO "public"."sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES (337, 0, '设置温度', 'setTemperature', 'dueros_operate_type', NULL, 'default', 'N', '0', 'admin', '2023-09-22 10:35:15', '', NULL, NULL);
INSERT INTO "public"."sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES (338, 0, '增加风速', 'incrementFanSpeed', 'dueros_operate_type', NULL, 'default', 'N', '0', 'admin', '2023-09-22 10:35:15', '', NULL, NULL);
INSERT INTO "public"."sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES (339, 0, '减小风速', 'decrementFanSpeed', 'dueros_operate_type', NULL, 'default', 'N', '0', 'admin', '2023-09-22 10:35:15', '', NULL, NULL);
INSERT INTO "public"."sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES (340, 0, '设置风速', 'setFanSpeed', 'dueros_operate_type', NULL, 'default', 'N', '0', 'admin', '2023-09-22 10:35:15', '', NULL, NULL);
INSERT INTO "public"."sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES (341, 0, '设置档位', 'setGear', 'dueros_operate_type', NULL, 'default', 'N', '0', 'admin', '2023-09-22 10:35:15', '', NULL, NULL);
INSERT INTO "public"."sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES (342, 0, '设置模式', 'setMode', 'dueros_operate_type', NULL, 'default', 'N', '0', 'admin', '2023-09-22 10:35:15', '', NULL, NULL);
INSERT INTO "public"."sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES (343, 0, '取消设置的模式', 'unSetMode', 'dueros_operate_type', NULL, 'default', 'N', '0', 'admin', '2023-09-22 10:35:15', '', NULL, NULL);
INSERT INTO "public"."sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES (344, 0, '定时设置模式', 'timingSetMode', 'dueros_operate_type', NULL, 'default', 'N', '0', 'admin', '2023-09-22 10:35:15', '', NULL, NULL);
INSERT INTO "public"."sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES (345, 0, '定时取消设置的模式', 'timingUnsetMode', 'dueros_operate_type', NULL, 'default', 'N', '0', 'admin', '2023-09-22 10:35:15', '', NULL, NULL);
INSERT INTO "public"."sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES (346, 0, '调高音量', 'incrementVolume', 'dueros_operate_type', NULL, 'default', 'N', '0', 'admin', '2023-09-22 10:35:15', '', NULL, NULL);
INSERT INTO "public"."sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES (347, 0, '调低音量', 'decrementVolume', 'dueros_operate_type', NULL, 'default', 'N', '0', 'admin', '2023-09-22 10:35:15', '', NULL, NULL);
INSERT INTO "public"."sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES (348, 0, '设置音量', 'setVolume', 'dueros_operate_type', NULL, 'default', 'N', '0', 'admin', '2023-09-22 10:35:15', '', NULL, NULL);
INSERT INTO "public"."sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES (349, 0, '设置静音状态', 'setVolumeMute', 'dueros_operate_type', NULL, 'default', 'N', '0', 'admin', '2023-09-22 10:35:15', '', NULL, NULL);
INSERT INTO "public"."sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES (350, 0, '上一个频道', 'decrementTVChannel', 'dueros_operate_type', NULL, 'default', 'N', '0', 'admin', '2023-09-22 10:35:15', '', NULL, NULL);
INSERT INTO "public"."sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES (351, 0, '下一个频道', 'incrementTVChannel', 'dueros_operate_type', NULL, 'default', 'N', '0', 'admin', '2023-09-22 10:35:15', '', NULL, NULL);
INSERT INTO "public"."sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES (352, 0, '设置频道', 'setTVChannel', 'dueros_operate_type', NULL, 'default', 'N', '0', 'admin', '2023-09-22 10:35:15', '', NULL, NULL);
INSERT INTO "public"."sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES (353, 0, '返回上个频道', 'returnTVChannel', 'dueros_operate_type', NULL, 'default', 'N', '0', 'admin', '2023-09-22 10:35:15', '', NULL, NULL);
INSERT INTO "public"."sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES (354, 0, '开始充电', 'chargeTurnOn', 'dueros_operate_type', NULL, 'default', 'N', '0', 'admin', '2023-09-22 10:35:15', '', NULL, NULL);
INSERT INTO "public"."sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES (355, 0, '停止充电', 'chargeTurnOff', 'dueros_operate_type', NULL, 'default', 'N', '0', 'admin', '2023-09-22 10:35:15', '', NULL, NULL);
INSERT INTO "public"."sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES (356, 0, '查询开关状态', 'getTurnOnState', 'dueros_operate_type', NULL, 'default', 'N', '0', 'admin', '2023-09-22 10:35:15', '', NULL, NULL);
INSERT INTO "public"."sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES (357, 0, '查询油量', 'getOilCapacity', 'dueros_operate_type', NULL, 'default', 'N', '0', 'admin', '2023-09-22 10:35:15', '', NULL, NULL);
INSERT INTO "public"."sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES (358, 0, '查询电量', 'getElectricityCapacity', 'dueros_operate_type', NULL, 'default', 'N', '0', 'admin', '2023-09-22 10:35:15', '', NULL, NULL);
INSERT INTO "public"."sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES (359, 0, '上锁/解锁', 'setLockState', 'dueros_operate_type', NULL, 'default', 'N', '0', 'admin', '2023-09-22 10:35:15', '', NULL, NULL);
INSERT INTO "public"."sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES (360, 0, '查询锁状态', 'getLockState', 'dueros_operate_type', NULL, 'default', 'N', '0', 'admin', '2023-09-22 10:35:15', '', NULL, NULL);
INSERT INTO "public"."sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES (361, 0, '设置吸力', 'setSuction', 'dueros_operate_type', NULL, 'default', 'N', '0', 'admin', '2023-09-22 10:35:15', '', NULL, NULL);
INSERT INTO "public"."sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES (362, 0, '设置水量', 'setWaterLevel', 'dueros_operate_type', NULL, 'default', 'N', '0', 'admin', '2023-09-22 10:35:15', '', NULL, NULL);
INSERT INTO "public"."sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES (363, 0, '设置清扫位置', 'setCleaningLocation', 'dueros_operate_type', NULL, 'default', 'N', '0', 'admin', '2023-09-22 10:35:15', '', NULL, NULL);
INSERT INTO "public"."sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES (364, 0, '执行自定义复杂动作', 'setComplexActions', 'dueros_operate_type', NULL, 'default', 'N', '0', 'admin', '2023-09-22 10:35:15', '', NULL, NULL);
INSERT INTO "public"."sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES (365, 0, '设置移动方向', 'setDirection', 'dueros_operate_type', NULL, 'default', 'N', '0', 'admin', '2023-09-22 10:35:15', '', NULL, NULL);
INSERT INTO "public"."sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES (366, 0, '打印', 'submitPrint', 'dueros_operate_type', NULL, 'default', 'N', '0', 'admin', '2023-09-22 10:35:15', '', NULL, NULL);
INSERT INTO "public"."sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES (367, 0, '查询PM2.5', 'getAirPM25', 'dueros_operate_type', NULL, 'default', 'N', '0', 'admin', '2023-09-22 10:35:15', '', NULL, NULL);
INSERT INTO "public"."sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES (368, 0, '查询PM10', 'getAirPM10', 'dueros_operate_type', NULL, 'default', 'N', '0', 'admin', '2023-09-22 10:35:15', '', NULL, NULL);
INSERT INTO "public"."sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES (369, 0, '查询二氧化碳含量', 'getCO2Quantity', 'dueros_operate_type', NULL, 'default', 'N', '0', 'admin', '2023-09-22 10:35:15', '', NULL, NULL);
INSERT INTO "public"."sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES (370, 0, '查询空气质量', 'getAirQualityIndex', 'dueros_operate_type', NULL, 'default', 'N', '0', 'admin', '2023-09-22 10:35:15', '', NULL, NULL);
INSERT INTO "public"."sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES (371, 0, '查询温度(当前温度和目标温度)', 'getTemperature', 'dueros_operate_type', NULL, 'default', 'N', '0', 'admin', '2023-09-22 10:35:15', '', NULL, NULL);
INSERT INTO "public"."sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES (372, 0, '查询当前温度', 'getTemperatureReading', 'dueros_operate_type', NULL, 'default', 'N', '0', 'admin', '2023-09-22 10:35:15', '', NULL, NULL);
INSERT INTO "public"."sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES (373, 0, '查询目标温度', 'getTargetTemperature', 'dueros_operate_type', NULL, 'default', 'N', '0', 'admin', '2023-09-22 10:35:15', '', NULL, NULL);
INSERT INTO "public"."sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES (374, 0, '查询湿度', 'getHumidity', 'dueros_operate_type', NULL, 'default', 'N', '0', 'admin', '2023-09-22 10:35:15', '', NULL, NULL);
INSERT INTO "public"."sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES (375, 0, '查询目标湿度', 'getTargetHumidity', 'dueros_operate_type', NULL, 'default', 'N', '0', 'admin', '2023-09-22 10:35:15', '', NULL, NULL);
INSERT INTO "public"."sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES (376, 0, '查询水质', 'getWaterQuality', 'dueros_operate_type', NULL, 'default', 'N', '0', 'admin', '2023-09-22 10:35:15', '', NULL, NULL);
INSERT INTO "public"."sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES (377, 0, '查询设备所有状态', 'getState', 'dueros_operate_type', NULL, 'default', 'N', '0', 'admin', '2023-09-22 10:35:15', '', NULL, NULL);
INSERT INTO "public"."sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES (378, 0, '查询剩余时间', 'getTimeLeft', 'dueros_operate_type', NULL, 'default', 'N', '0', 'admin', '2023-09-22 10:35:15', '', NULL, NULL);
INSERT INTO "public"."sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES (379, 0, '查询运行状态', 'getRunningStatus', 'dueros_operate_type', NULL, 'default', 'N', '0', 'admin', '2023-09-22 10:35:15', '', NULL, NULL);
INSERT INTO "public"."sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES (380, 0, '查询运行时间', 'getRunningTime', 'dueros_operate_type', NULL, 'default', 'N', '0', 'admin', '2023-09-22 10:35:15', '', NULL, NULL);
INSERT INTO "public"."sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES (381, 0, '查询设备所在位置', 'getLocation', 'dueros_operate_type', NULL, 'default', 'N', '0', 'admin', '2023-09-22 10:35:15', '', NULL, NULL);
INSERT INTO "public"."sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES (382, 0, '设备定时', 'setTimer', 'dueros_operate_type', NULL, 'default', 'N', '0', 'admin', '2023-09-22 10:35:15', '', NULL, NULL);
INSERT INTO "public"."sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES (383, 0, '取消设备定时', 'timingCancel', 'dueros_operate_type', NULL, 'default', 'N', '0', 'admin', '2023-09-22 10:35:15', '', NULL, NULL);
INSERT INTO "public"."sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES (384, 0, '设备复位', 'reset', 'dueros_operate_type', NULL, 'default', 'N', '0', 'admin', '2023-09-22 10:35:15', '', NULL, NULL);
INSERT INTO "public"."sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES (385, 0, '升高高度', 'incrementHeight', 'dueros_operate_type', NULL, 'default', 'N', '0', 'admin', '2023-09-22 10:35:15', '', NULL, NULL);
INSERT INTO "public"."sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES (386, 0, '降低高度', 'decrementHeight', 'dueros_operate_type', NULL, 'default', 'N', '0', 'admin', '2023-09-22 10:35:15', '', NULL, NULL);
INSERT INTO "public"."sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES (387, 0, '设置摆风角度', 'setSwingAngle', 'dueros_operate_type', NULL, 'default', 'N', '0', 'admin', '2023-09-22 10:35:15', '', NULL, NULL);
INSERT INTO "public"."sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES (388, 0, '查询风速', 'getFanSpeed', 'dueros_operate_type', NULL, 'default', 'N', '0', 'admin', '2023-09-22 10:35:15', '', NULL, NULL);
INSERT INTO "public"."sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES (389, 0, '设置湿度模式', 'setHumidity', 'dueros_operate_type', NULL, 'default', 'N', '0', 'admin', '2023-09-22 10:35:15', '', NULL, NULL);
INSERT INTO "public"."sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES (390, 0, '增大湿度', 'incrementHumidity', 'dueros_operate_type', NULL, 'default', 'N', '0', 'admin', '2023-09-22 10:35:15', '', NULL, NULL);
INSERT INTO "public"."sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES (391, 0, '降低湿度', 'decrementHumidity', 'dueros_operate_type', NULL, 'default', 'N', '0', 'admin', '2023-09-22 10:35:15', '', NULL, NULL);
INSERT INTO "public"."sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES (392, 0, '增大雾量', 'incrementMist', 'dueros_operate_type', NULL, 'default', 'N', '0', 'admin', '2023-09-22 10:35:15', '', NULL, NULL);
INSERT INTO "public"."sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES (393, 0, '见效雾量', 'decrementMist', 'dueros_operate_type', NULL, 'default', 'N', '0', 'admin', '2023-09-22 10:35:15', '', NULL, NULL);
INSERT INTO "public"."sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES (394, 0, '设置雾量', 'setMist', 'dueros_operate_type', NULL, 'default', 'N', '0', 'admin', '2023-09-22 10:35:15', '', NULL, NULL);
INSERT INTO "public"."sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES (395, 0, '设备启动', 'startUp', 'dueros_operate_type', NULL, 'default', 'N', '0', 'admin', '2023-09-22 10:35:15', '', NULL, NULL);
INSERT INTO "public"."sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES (396, 0, '设置电梯楼层', 'setFloor', 'dueros_operate_type', NULL, 'default', 'N', '0', 'admin', '2023-09-22 10:35:15', '', NULL, NULL);
INSERT INTO "public"."sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES (397, 0, '电梯按下', 'decrementFloor', 'dueros_operate_type', NULL, 'default', 'N', '0', 'admin', '2023-09-22 10:35:15', '', NULL, NULL);
INSERT INTO "public"."sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES (398, 0, '电梯按上', 'incrementFloor', 'dueros_operate_type', NULL, 'default', 'N', '0', 'admin', '2023-09-22 10:35:15', '', NULL, NULL);
INSERT INTO "public"."sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES (399, 0, '增加速度', 'incrementSpeed', 'dueros_operate_type', NULL, 'default', 'N', '0', 'admin', '2023-09-22 10:35:15', '', NULL, NULL);
INSERT INTO "public"."sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES (400, 0, '降低速度', 'decrementSpeed', 'dueros_operate_type', NULL, 'default', 'N', '0', 'admin', '2023-09-22 10:35:15', '', NULL, NULL);
INSERT INTO "public"."sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES (401, 0, '设置速度', 'setSpeed', 'dueros_operate_type', NULL, 'default', 'N', '0', 'admin', '2023-09-22 10:35:15', '', NULL, NULL);
INSERT INTO "public"."sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES (402, 0, '获取速度', 'getSpeed', 'dueros_operate_type', NULL, 'default', 'N', '0', 'admin', '2023-09-22 10:35:15', '', NULL, NULL);
INSERT INTO "public"."sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES (403, 0, '获取跑步信息', 'getMotionInfo', 'dueros_operate_type', NULL, 'default', 'N', '0', 'admin', '2023-09-22 10:35:15', '', NULL, NULL);
INSERT INTO "public"."sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES (404, 0, '打开灶眼', 'turnOnBurner', 'dueros_operate_type', NULL, 'default', 'N', '0', 'admin', '2023-09-22 10:35:15', '', NULL, NULL);
INSERT INTO "public"."sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES (405, 0, '关闭灶眼', 'turnOffBurner', 'dueros_operate_type', NULL, 'default', 'N', '0', 'admin', '2023-09-22 10:35:15', '', NULL, NULL);
INSERT INTO "public"."sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES (406, 0, '定时打开灶眼', 'timingTurnOnBurner', 'dueros_operate_type', NULL, 'default', 'N', '0', 'admin', '2023-09-22 10:35:15', '', NULL, NULL);
INSERT INTO "public"."sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES (407, 0, '定时关闭灶眼', 'timingTurnOffBurner', 'dueros_operate_type', NULL, 'default', 'N', '0', 'admin', '2023-09-22 10:35:15', '', NULL, NULL);
INSERT INTO "public"."sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES (408, 7, '微信开放平台网站应用个人中心绑定', 'wechat_open_web_bind', 'iot_social_platform', NULL, 'default', 'N', '0', 'admin', '2023-10-09 11:28:15', '', NULL, NULL);
INSERT INTO "public"."sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES (749, 1, 'Java脚本引擎', 'java', 'rule_script_language', NULL, 'default', 'N', '0', 'admin', '2023-11-04 01:51:09', 'admin', '2023-11-04 01:51:42', NULL);
INSERT INTO "public"."sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES (750, 2, 'JavaScript脚本引擎', 'js', 'rule_script_language', NULL, 'default', 'N', '0', 'admin', '2023-11-04 01:51:36', 'admin', '2023-11-05 10:28:30', NULL);
INSERT INTO "public"."sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES (751, 1, '普通脚本节点', 'script', 'rule_script_type', NULL, 'default', 'N', '0', 'admin', '2023-11-04 01:53:11', '', NULL, NULL);
INSERT INTO "public"."sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES (752, 2, '选择脚本节点 (switch)', 'switch_script', 'rule_script_type', NULL, 'default', 'N', '0', 'admin', '2023-11-04 01:53:32', 'admin', '2023-11-04 01:56:44', NULL);
INSERT INTO "public"."sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES (753, 3, '条件脚本节点 (if)', 'if_script', 'rule_script_type', NULL, 'default', 'N', '0', 'admin', '2023-11-04 01:53:48', 'admin', '2023-11-04 01:56:55', NULL);
INSERT INTO "public"."sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES (754, 4, '数量循环节点 (for)', 'for_script', 'rule_script_type', NULL, 'default', 'N', '0', 'admin', '2023-11-04 01:54:11', 'admin', '2023-11-04 01:57:07', NULL);
INSERT INTO "public"."sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES (755, 5, '条件循环节点 (while)', 'while_script', 'rule_script_type', NULL, 'default', 'N', '0', 'admin', '2023-11-04 01:54:30', 'admin', '2023-11-04 01:57:16', NULL);
INSERT INTO "public"."sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES (756, 6, '退出循环节点 (break)', 'break_script', 'rule_script_type', NULL, 'default', 'N', '0', 'admin', '2023-11-04 01:54:50', 'admin', '2023-11-04 01:57:29', NULL);
INSERT INTO "public"."sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES (757, 3, 'groovy脚本引擎', 'groovy', 'rule_script_language', NULL, 'default', 'N', '0', 'admin', '2023-11-05 10:29:14', '', NULL, NULL);
INSERT INTO "public"."sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES (767, 1, '设备上报', '1', 'rule_script_event', NULL, 'primary', 'N', '0', 'admin', '2023-12-19 11:40:34', 'admin', '2023-12-20 02:23:43', NULL);
INSERT INTO "public"."sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES (768, 2, '平台下发', '2', 'rule_script_event', NULL, 'warning', 'N', '0', 'admin', '2023-12-19 11:40:46', 'admin', '2023-12-20 02:23:51', NULL);
INSERT INTO "public"."sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES (769, 3, '设备上线', '3', 'rule_script_event', NULL, 'success', 'N', '0', 'admin', '2023-12-19 11:40:58', 'admin', '2023-12-20 02:24:00', NULL);
INSERT INTO "public"."sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES (770, 4, '设备离线', '4', 'rule_script_event', NULL, 'info', 'N', '0', 'admin', '2023-12-19 11:41:09', 'admin', '2023-12-20 02:24:08', NULL);
INSERT INTO "public"."sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES (771, 1, '数据流', '1', 'rule_script_purpose', NULL, 'default', 'N', '0', 'admin', '2023-12-19 11:41:39', '', NULL, NULL);
INSERT INTO "public"."sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES (772, 2, '触发器', '2', 'rule_script_purpose', NULL, 'default', 'N', '0', 'admin', '2023-12-19 11:41:48', '', NULL, NULL);
INSERT INTO "public"."sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES (773, 3, '执行动作', '3', 'rule_script_purpose', NULL, 'default', 'N', '0', 'admin', '2023-12-19 11:41:59', '', NULL, NULL);
INSERT INTO "public"."sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES (774, 1, '消息重发', '1', 'rule_script_action', NULL, 'default', 'N', '0', 'admin', '2023-12-19 11:42:26', '', NULL, NULL);
INSERT INTO "public"."sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES (775, 2, '消息通知', '2', 'rule_script_action', NULL, 'default', 'N', '0', 'admin', '2023-12-19 11:43:18', 'admin', '2023-12-19 11:43:38', NULL);
INSERT INTO "public"."sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES (776, 3, 'Http推送', '3', 'rule_script_action', NULL, 'default', 'N', '0', 'admin', '2023-12-19 11:43:33', '', NULL, NULL);
INSERT INTO "public"."sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES (777, 4, 'Mqtt桥接', '4', 'rule_script_action', NULL, 'default', 'N', '0', 'admin', '2023-12-19 11:43:54', '', NULL, NULL);
INSERT INTO "public"."sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES (244, 4, '微信开放平台网站应用', 'wechat_open_web', 'iot_social_platform', NULL, 'default', 'N', '0', 'admin', '2023-08-23 11:28:15', '', NULL, NULL);
INSERT INTO "public"."sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES (245, 5, '微信开放平台移动应用', 'wechat_open_mobile', 'iot_social_platform', NULL, 'default', 'N', '0', 'admin', '2023-08-23 11:29:14', '', NULL, NULL);
INSERT INTO "public"."sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES (246, 6, '微信开放平台小程序', 'wechat_open_mini_program', 'iot_social_platform', NULL, 'default', 'N', '0', 'admin', '2023-08-23 11:38:12', '', NULL, NULL);
INSERT INTO "public"."sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES (247, 7, '微信开放平台网站应用个人中心绑定', 'wechat_open_web_bind', 'iot_social_platform', NULL, 'default', 'N', '0', 'admin', '2023-10-09 11:28:15', '', NULL, NULL);
INSERT INTO "public"."sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES (248, 0, '16位 符号', 'ushort', 'iot_modbus_data_type', NULL, 'default', 'N', '0', 'admin', '2023-09-04 14:11:54', '', NULL, NULL);
INSERT INTO "public"."sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES (249, 1, '16位 有符号', 'short', 'iot_modbus_data_type', NULL, 'default', 'N', '0', 'admin', '2023-09-04 14:12:26', '', NULL, NULL);
INSERT INTO "public"."sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES (250, 2, '32位 有符号(ABCD)', 'long-ABCD', 'iot_modbus_data_type', NULL, 'default', 'N', '0', 'admin', '2023-09-04 14:12:53', '', NULL, NULL);
INSERT INTO "public"."sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES (251, 3, '32位 符号(CDAB)', 'long-CDAB', 'iot_modbus_data_type', NULL, 'default', 'N', '0', 'admin', '2023-09-04 14:13:21', '', NULL, NULL);
INSERT INTO "public"."sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES (252, 4, '32位 无符号(ABCD)', 'ulong-ABCD', 'iot_modbus_data_type', NULL, 'default', 'N', '0', 'admin', '2023-09-04 14:13:42', '', NULL, NULL);
INSERT INTO "public"."sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES (253, 5, '32位 无符号(CDAB)', 'ulong-CDAB', 'iot_modbus_data_type', NULL, 'default', 'N', '0', 'admin', '2023-09-04 14:14:06', '', NULL, NULL);
INSERT INTO "public"."sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES (254, 6, '32位 浮点数(ABCD)', 'float-ABCD', 'iot_modbus_data_type', NULL, 'default', 'N', '0', 'admin', '2023-09-04 14:14:28', '', NULL, NULL);
INSERT INTO "public"."sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES (255, 7, '32位 浮点数(CDAB)', 'float-CDAB', 'iot_modbus_data_type', NULL, 'default', 'N', '0', 'admin', '2023-09-04 14:14:50', '', NULL, NULL);
INSERT INTO "public"."sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES (257, 1, 'Java脚本引擎', 'java', 'rule_script_language', NULL, 'default', 'N', '0', 'admin', '2023-11-04 01:51:09', 'admin', '2023-11-04 01:51:42', NULL);
INSERT INTO "public"."sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES (258, 2, 'JavaScript脚本引擎', 'js', 'rule_script_language', NULL, 'default', 'N', '0', 'admin', '2023-11-04 01:51:36', 'admin', '2023-11-05 10:28:30', NULL);
INSERT INTO "public"."sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES (259, 1, '普通脚本节点', 'script', 'rule_script_type', NULL, 'default', 'N', '0', 'admin', '2023-11-04 01:53:11', '', NULL, NULL);
INSERT INTO "public"."sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES (260, 2, '选择脚本节点 (switch)', 'switch_script', 'rule_script_type', NULL, 'default', 'N', '0', 'admin', '2023-11-04 01:53:32', 'admin', '2023-11-04 01:56:44', NULL);
INSERT INTO "public"."sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES (261, 3, '条件脚本节点 (if)', 'if_script', 'rule_script_type', NULL, 'default', 'N', '0', 'admin', '2023-11-04 01:53:48', 'admin', '2023-11-04 01:56:55', NULL);
INSERT INTO "public"."sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES (262, 4, '数量循环节点 (for)', 'for_script', 'rule_script_type', NULL, 'default', 'N', '0', 'admin', '2023-11-04 01:54:11', 'admin', '2023-11-04 01:57:07', NULL);
INSERT INTO "public"."sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES (263, 5, '条件循环节点 (while)', 'while_script', 'rule_script_type', NULL, 'default', 'N', '0', 'admin', '2023-11-04 01:54:30', 'admin', '2023-11-04 01:57:16', NULL);
INSERT INTO "public"."sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES (264, 6, '退出循环节点 (break)', 'break_script', 'rule_script_type', NULL, 'default', 'N', '0', 'admin', '2023-11-04 01:54:50', 'admin', '2023-11-04 01:57:29', NULL);
INSERT INTO "public"."sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES (265, 3, 'groovy脚本引擎', 'groovy', 'rule_script_language', NULL, 'default', 'N', '0', 'admin', '2023-11-05 10:29:14', '', NULL, NULL);
INSERT INTO "public"."sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES (560, 1, '设备上报', '1', 'rule_script_event', NULL, 'primary', 'N', '0', 'admin', '2023-12-19 11:40:34', 'admin', '2023-12-20 02:23:43', NULL);
INSERT INTO "public"."sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES (561, 2, '平台下发', '2', 'rule_script_event', NULL, 'warning', 'N', '0', 'admin', '2023-12-19 11:40:46', 'admin', '2023-12-20 02:23:51', NULL);
INSERT INTO "public"."sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES (562, 3, '设备上线', '3', 'rule_script_event', NULL, 'success', 'N', '0', 'admin', '2023-12-19 11:40:58', 'admin', '2023-12-20 02:24:00', NULL);
INSERT INTO "public"."sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES (563, 4, '设备离线', '4', 'rule_script_event', NULL, 'info', 'N', '0', 'admin', '2023-12-19 11:41:09', 'admin', '2023-12-20 02:24:08', NULL);
INSERT INTO "public"."sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES (564, 1, '数据流', '1', 'rule_script_purpose', NULL, 'default', 'N', '0', 'admin', '2023-12-19 11:41:39', '', NULL, NULL);
INSERT INTO "public"."sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES (565, 2, '触发器', '2', 'rule_script_purpose', NULL, 'default', 'N', '0', 'admin', '2023-12-19 11:41:48', '', NULL, NULL);
INSERT INTO "public"."sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES (566, 3, '执行动作', '3', 'rule_script_purpose', NULL, 'default', 'N', '0', 'admin', '2023-12-19 11:41:59', '', NULL, NULL);
INSERT INTO "public"."sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES (567, 1, '消息重发', '1', 'rule_script_action', NULL, 'default', 'N', '0', 'admin', '2023-12-19 11:42:26', '', NULL, NULL);
INSERT INTO "public"."sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES (568, 2, '消息通知', '2', 'rule_script_action', NULL, 'default', 'N', '0', 'admin', '2023-12-19 11:43:18', 'admin', '2023-12-19 11:43:38', NULL);
INSERT INTO "public"."sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES (569, 3, 'Http推送', '3', 'rule_script_action', NULL, 'default', 'N', '0', 'admin', '2023-12-19 11:43:33', '', NULL, NULL);
INSERT INTO "public"."sys_dict_data" ("dict_code", "dict_sort", "dict_label", "dict_value", "dict_type", "css_class", "list_class", "is_default", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES (570, 4, 'Mqtt桥接', '4', 'rule_script_action', NULL, 'default', 'N', '0', 'admin', '2023-12-19 11:43:54', '', NULL, NULL);
COMMIT;
-- ----------------------------
-- Table structure for sys_dict_data_translate
-- ----------------------------
DROP TABLE IF EXISTS "public"."sys_dict_data_translate";
CREATE TABLE "public"."sys_dict_data_translate" (
"id" int8 NOT NULL,
"zh_cn" varchar(200),
"en_us" varchar(200)
)
;
COMMENT ON COLUMN "public"."sys_dict_data_translate"."id" IS 'ID';
COMMENT ON COLUMN "public"."sys_dict_data_translate"."zh_cn" IS 'zh_CN';
COMMENT ON COLUMN "public"."sys_dict_data_translate"."en_us" IS 'en_US';
COMMENT ON TABLE "public"."sys_dict_data_translate" IS '字典数据翻译表';
-- ----------------------------
-- Records of sys_dict_data_translate
-- ----------------------------
BEGIN;
INSERT INTO "public"."sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES (1, '', 'man');
INSERT INTO "public"."sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES (2, '', 'woman');
INSERT INTO "public"."sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES (3, '未知', 'Unknown');
INSERT INTO "public"."sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES (4, '显示', 'display');
INSERT INTO "public"."sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES (5, '隐藏', 'hide');
INSERT INTO "public"."sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES (6, '正常', 'normal');
INSERT INTO "public"."sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES (7, '停用', 'Deactivated');
INSERT INTO "public"."sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES (8, '正常', 'normal');
INSERT INTO "public"."sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES (9, '暂停', 'Time out');
INSERT INTO "public"."sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES (10, '默认', 'default');
INSERT INTO "public"."sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES (11, '系统', 'system');
INSERT INTO "public"."sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES (12, '', 'be');
INSERT INTO "public"."sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES (13, '', 'not');
INSERT INTO "public"."sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES (14, '通知', 'notice');
INSERT INTO "public"."sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES (15, '公告', 'announcement');
INSERT INTO "public"."sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES (16, '正常', 'normal');
INSERT INTO "public"."sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES (17, '关闭', 'Shut down');
INSERT INTO "public"."sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES (18, '新增', 'New');
INSERT INTO "public"."sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES (19, '修改', 'revise');
INSERT INTO "public"."sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES (20, '删除', 'Delete');
INSERT INTO "public"."sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES (21, '授权', 'authorization');
INSERT INTO "public"."sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES (22, '导出', 'Export');
INSERT INTO "public"."sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES (23, '导入', 'Import');
INSERT INTO "public"."sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES (24, '强退', 'Forced retreat');
INSERT INTO "public"."sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES (25, '生成代码', 'Generate code');
INSERT INTO "public"."sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES (26, '清空数据', 'Clear the data');
INSERT INTO "public"."sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES (27, '成功', 'succeed');
INSERT INTO "public"."sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES (28, '失败', 'fail');
INSERT INTO "public"."sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES (100, '属性', 'attribute');
INSERT INTO "public"."sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES (101, '功能', 'function');
INSERT INTO "public"."sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES (102, '事件', 'event');
INSERT INTO "public"."sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES (103, '整数', 'integer');
INSERT INTO "public"."sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES (104, '小数', 'decimal fraction');
INSERT INTO "public"."sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES (105, '布尔', 'Boolean');
INSERT INTO "public"."sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES (106, '枚举', 'enumerate');
INSERT INTO "public"."sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES (107, '字符串', 'string');
INSERT INTO "public"."sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES (108, '', 'be');
INSERT INTO "public"."sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES (109, '', 'not');
INSERT INTO "public"."sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES (110, '数组', 'array');
INSERT INTO "public"."sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES (111, '未发布', 'Unpublished');
INSERT INTO "public"."sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES (112, '已发布', 'Published');
INSERT INTO "public"."sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES (113, '直连设备', 'Directly connected devices');
INSERT INTO "public"."sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES (114, '网关设备', 'Gateway devices');
INSERT INTO "public"."sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES (116, 'WIFI', 'WIFI');
INSERT INTO "public"."sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES (117, '蜂窝(2G/3G/4G/5G)', 'Cellular (2G/3G/4G/5G)');
INSERT INTO "public"."sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES (118, '以太网', 'Ethernet');
INSERT INTO "public"."sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES (119, '简单认证', 'Simple authentication');
INSERT INTO "public"."sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES (120, '加密认证', 'Cryptographic authentication');
INSERT INTO "public"."sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES (122, 'ESP8266/Arduino', 'ESP8266/Arduino');
INSERT INTO "public"."sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES (123, 'ESP32/Arduino', 'ESP32/Arduino');
INSERT INTO "public"."sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES (124, 'ESP8266/RTOS', 'ESP8266/RTOS');
INSERT INTO "public"."sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES (127, 'ESP32/ESP-IDF', 'ESP32/ESP-IDF');
INSERT INTO "public"."sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES (128, '树莓派/Python', 'Raspberry Pi/Python');
INSERT INTO "public"."sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES (129, '未激活', 'Not activated');
INSERT INTO "public"."sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES (130, '禁用', 'disable');
INSERT INTO "public"."sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES (131, '在线', 'online');
INSERT INTO "public"."sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES (132, '离线', 'offline');
INSERT INTO "public"."sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES (133, '启用', 'enable');
INSERT INTO "public"."sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES (134, '禁用', 'disable');
INSERT INTO "public"."sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES (135, '提醒通知', 'Reminder notifications');
INSERT INTO "public"."sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES (136, '轻微问题', 'Minor issues');
INSERT INTO "public"."sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES (137, '严重警告', 'Serious warning');
INSERT INTO "public"."sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES (138, '不需要处理', 'No processing is required');
INSERT INTO "public"."sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES (139, '未处理', 'Not processed');
INSERT INTO "public"."sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES (140, '已处理', 'Processed');
INSERT INTO "public"."sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES (141, '属性上报', 'Attribute escalation');
INSERT INTO "public"."sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES (142, '事件上报', 'Event escalation');
INSERT INTO "public"."sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES (143, '功能调用', 'Function calls');
INSERT INTO "public"."sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES (144, '设备升级', 'Equipment upgrades');
INSERT INTO "public"."sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES (145, '设备上线', 'The device goes online');
INSERT INTO "public"."sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES (146, '设备离线', 'The device is offline');
INSERT INTO "public"."sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES (147, '其他', 'other');
INSERT INTO "public"."sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES (148, '安卓/Android', 'Android/Android');
INSERT INTO "public"."sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES (149, '其他', 'other');
INSERT INTO "public"."sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES (150, '小度平台', 'Small platform');
INSERT INTO "public"."sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES (151, '天猫精灵', 'Tmall Genie');
INSERT INTO "public"."sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES (152, '小米小爱', 'Xiaomi Xiaoai');
INSERT INTO "public"."sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES (153, '其他平台', 'Other platforms');
INSERT INTO "public"."sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES (154, '微信登录', 'WeChat login');
INSERT INTO "public"."sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES (155, 'QQ登录', 'QQ login');
INSERT INTO "public"."sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES (156, '启用', 'enable');
INSERT INTO "public"."sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES (157, '未启用', 'Not enabled');
INSERT INTO "public"."sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES (158, '支付宝', 'Alipay');
INSERT INTO "public"."sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES (159, '自动定位', 'Auto-target');
INSERT INTO "public"."sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES (160, '设备定位', 'Device positioning');
INSERT INTO "public"."sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES (161, '自定义位置', 'Custom location');
INSERT INTO "public"."sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES (162, '简单+加密', 'Simple + Encrypted');
INSERT INTO "public"."sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES (163, '未使用', 'Unused');
INSERT INTO "public"."sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES (164, '已使用', 'Used');
INSERT INTO "public"."sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES (165, '对象', 'object');
INSERT INTO "public"."sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES (166, '监控设备', 'Monitor the device');
INSERT INTO "public"."sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES (167, '未使用', 'Unused');
INSERT INTO "public"."sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES (168, '在线', 'online');
INSERT INTO "public"."sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES (169, 'DVR', 'DVR');
INSERT INTO "public"."sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES (170, 'NVR', 'NVR');
INSERT INTO "public"."sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES (171, '报警控制器', 'Alarm controller');
INSERT INTO "public"."sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES (172, '摄像机', 'camera');
INSERT INTO "public"."sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES (173, 'IPC', 'IPC');
INSERT INTO "public"."sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES (174, '显示器', 'display');
INSERT INTO "public"."sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES (175, '报警输入设备', 'Alarm input device');
INSERT INTO "public"."sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES (176, '报警输出设备', 'Alarm output device');
INSERT INTO "public"."sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES (177, '语音输入设备', 'Voice input devices');
INSERT INTO "public"."sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES (178, '语音输出设备', 'Voice output devices');
INSERT INTO "public"."sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES (179, '移动传输设备', 'Mobile Transmission Devices');
INSERT INTO "public"."sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES (180, '报警控制器', 'Alarm controller');
INSERT INTO "public"."sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES (181, '摄像机', 'camera');
INSERT INTO "public"."sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES (182, 'IPC', 'IPC');
INSERT INTO "public"."sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES (183, '显示器', 'display');
INSERT INTO "public"."sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES (184, '报警输入设备', 'Alarm input device');
INSERT INTO "public"."sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES (185, '报警输出设备', 'Alarm output device');
INSERT INTO "public"."sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES (186, '语音输入设备', 'Voice input devices');
INSERT INTO "public"."sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES (187, '语音输出设备', 'Voice output devices');
INSERT INTO "public"."sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES (188, '移动传输设备', 'Mobile Transmission Devices');
INSERT INTO "public"."sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES (189, '离线', 'offline');
INSERT INTO "public"."sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES (190, '禁用', 'disable');
INSERT INTO "public"."sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES (191, '云端轮询', 'Cloud polling');
INSERT INTO "public"."sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES (192, '边缘采集', 'Edge acquisition');
INSERT INTO "public"."sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES (193, '1分钟', '1 minute');
INSERT INTO "public"."sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES (194, '2分钟', '2 minutes');
INSERT INTO "public"."sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES (195, '5分钟', '5 minutes');
INSERT INTO "public"."sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES (196, '03(读保持寄存器)', '03 (Read Hold Register)');
INSERT INTO "public"."sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES (197, '01(读线圈)', '01 (Reading coil)');
INSERT INTO "public"."sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES (198, 'MQTT', 'MQTT');
INSERT INTO "public"."sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES (199, 'TCP', 'TCP');
INSERT INTO "public"."sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES (200, 'COAP', 'COAP');
INSERT INTO "public"."sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES (201, 'UDP', 'UDP');
INSERT INTO "public"."sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES (230, '其他', 'other');
INSERT INTO "public"."sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES (231, '事件上报', 'Event escalation');
INSERT INTO "public"."sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES (232, '设备上线', 'The device goes online');
INSERT INTO "public"."sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES (233, '设备离线', 'The device is offline');
INSERT INTO "public"."sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES (234, '服务下发', 'Service delivery');
INSERT INTO "public"."sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES (235, '属性获取', 'Attribute acquisition');
INSERT INTO "public"."sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES (236, 'OTA升级', 'OTA upgrades');
INSERT INTO "public"."sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES (237, '读写', 'Read and write');
INSERT INTO "public"."sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES (238, '只读', 'read only');
INSERT INTO "public"."sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES (239, '全部设备', 'All equipment');
INSERT INTO "public"."sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES (240, '指定设备', 'Specify the device');
INSERT INTO "public"."sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES (241, 'GB28181', 'GB28181');
INSERT INTO "public"."sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES (242, '02(读离散量输入)', '02 (Read Discrete Input)');
INSERT INTO "public"."sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES (243, '04(读输入寄存器)', '04 (Read Input Register)');
INSERT INTO "public"."sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES (244, '微信开放平台网站应用', 'WeChat open platform website application');
INSERT INTO "public"."sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES (245, '微信开放平台移动应用', 'WeChat open platform mobile application');
INSERT INTO "public"."sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES (246, '微信开放平台小程序', 'WeChat Open Platform Mini Program');
INSERT INTO "public"."sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES (247, '微信开放平台网站应用个人中心绑定', 'WeChat open platform website application personal center binding');
INSERT INTO "public"."sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES (248, '16位 无符号', '16-bit unsigned');
INSERT INTO "public"."sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES (249, '16位 有符号', '16-bit signed');
INSERT INTO "public"."sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES (250, '32位 有符号(ABCD)', '32-bit Signed (ABCD)');
INSERT INTO "public"."sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES (251, '32位 有符号(CDAB)', '32-bit Signed (CDAB)');
INSERT INTO "public"."sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES (252, '32位 无符号(ABCD)', '32-bit Unsigned (ABCD)');
INSERT INTO "public"."sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES (253, '32位 无符号(CDAB)', '32-bit Unsigned (CDAB)');
INSERT INTO "public"."sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES (254, '32位 浮点数(ABCD)', '32-bit floating-point (ABCD)');
INSERT INTO "public"."sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES (255, '32位 浮点数(CDAB)', '32-bit Floating-Point (CDAB)');
INSERT INTO "public"."sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES (257, 'Java脚本引擎', 'Java Scripting Engine');
INSERT INTO "public"."sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES (258, 'JavaScript脚本引擎', 'JavaScript scripting engine');
INSERT INTO "public"."sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES (259, '普通脚本节点', 'Normal script nodes');
INSERT INTO "public"."sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES (260, '选择脚本节点 (switch)', 'Selecting a Script Node (switch)');
INSERT INTO "public"."sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES (261, '条件脚本节点 (if)', 'Conditional Script Node (if)');
INSERT INTO "public"."sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES (262, '数量循环节点 (for)', 'Quantity Cycle Node (for)');
INSERT INTO "public"."sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES (263, '条件循环节点 (while)', 'Conditional Loop Node (while)');
INSERT INTO "public"."sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES (264, '退出循环节点 (break)', 'Exit Loop Node (Break)');
INSERT INTO "public"."sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES (265, 'groovy脚本引擎', 'Groovy scripting engine');
INSERT INTO "public"."sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES (560, '设备上报', 'The device is escalated');
INSERT INTO "public"."sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES (561, '平台下发', 'Distributed by the platform');
INSERT INTO "public"."sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES (562, '设备上线', 'The device goes online');
INSERT INTO "public"."sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES (563, '设备离线', 'The device is offline');
INSERT INTO "public"."sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES (564, '数据流', 'data stream');
INSERT INTO "public"."sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES (565, '触发器', 'trigger');
INSERT INTO "public"."sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES (566, '执行动作', 'Perform the action');
INSERT INTO "public"."sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES (567, '消息重发', 'The message is retransmitted');
INSERT INTO "public"."sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES (568, '消息通知', 'Message notifications');
INSERT INTO "public"."sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES (569, 'Http推送', 'HTTP push');
INSERT INTO "public"."sys_dict_data_translate" ("id", "zh_cn", "en_us") VALUES (570, 'Mqtt桥接', 'MQTT bridging');
COMMIT;
-- ----------------------------
-- Table structure for sys_dict_type
-- ----------------------------
DROP TABLE IF EXISTS "public"."sys_dict_type";
CREATE TABLE "public"."sys_dict_type" (
"dict_id" int8 NOT NULL GENERATED BY DEFAULT AS IDENTITY (START WITH 207 INCREMENT BY 1),
"dict_id" int8 NOT NULL,
"dict_name" varchar(100),
"dict_type" varchar(100),
"status" char(1),
@@ -2975,13 +3147,81 @@ INSERT INTO "public"."sys_dict_type" ("dict_id", "dict_name", "dict_type", "stat
INSERT INTO "public"."sys_dict_type" ("dict_id", "dict_name", "dict_type", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES (129, '升级范围', 'oat_update_limit', '0', 'admin', '2023-04-09 23:51:45', '', NULL, NULL);
INSERT INTO "public"."sys_dict_type" ("dict_id", "dict_name", "dict_type", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES (130, '云存储平台类型', 'oss_platform_type', '0', 'admin', '2023-04-12 00:26:09', '', NULL, NULL);
INSERT INTO "public"."sys_dict_type" ("dict_id", "dict_name", "dict_type", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES (131, 'modbus数据类型', 'iot_modbus_data_type', '0', 'admin', '2023-09-04 13:54:17', '', NULL, NULL);
INSERT INTO "public"."sys_dict_type" ("dict_id", "dict_name", "dict_type", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES (132, '小度音箱关联设备', 'dueros_related_device', '0', 'admin', '2023-09-22 09:45:15', 'admin', '2023-09-22 09:45:15', '小度音箱支持的设备、场景类型,在设备下配置关联');
INSERT INTO "public"."sys_dict_type" ("dict_id", "dict_name", "dict_type", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES (133, '小度音箱操作类型', 'dueros_operate_type', '0', 'admin', '2023-09-22 09:45:15', 'admin', '2023-09-22 09:45:15', '小度音箱智能家居设备操作类型,在产品物模型下配置');
INSERT INTO "public"."sys_dict_type" ("dict_id", "dict_name", "dict_type", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES (198, '规则脚本类型', 'rule_script_type', '0', 'admin', '2023-11-04 01:48:50', 'admin', '2023-11-04 01:50:16', NULL);
INSERT INTO "public"."sys_dict_type" ("dict_id", "dict_name", "dict_type", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES (199, '规则脚本语言', 'rule_script_language', '0', 'admin', '2023-11-04 01:50:06', '', NULL, NULL);
INSERT INTO "public"."sys_dict_type" ("dict_id", "dict_name", "dict_type", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES (204, '规则脚本事件', 'rule_script_event', '0', 'admin', '2023-12-19 11:33:48', '', NULL, '1=设备上报2=平台下发3=设备上线4=设备离线');
INSERT INTO "public"."sys_dict_type" ("dict_id", "dict_name", "dict_type", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES (205, '规则脚本用途', 'rule_script_purpose', '0', 'admin', '2023-12-19 11:38:18', '', NULL, '1=数据流2=触发器3=执行动作');
INSERT INTO "public"."sys_dict_type" ("dict_id", "dict_name", "dict_type", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES (206, '规则脚本动作', 'rule_script_action', '0', 'admin', '2023-12-19 11:39:58', '', NULL, '1=消息重发2=消息通知3=Http推送4=Mqtt桥接5=数据库存储');
INSERT INTO "public"."sys_dict_type" ("dict_id", "dict_name", "dict_type", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES (140, '规则脚本类型', 'rule_script_type', '0', 'admin', '2023-11-04 01:48:50', 'admin', '2023-11-04 01:50:16', NULL);
INSERT INTO "public"."sys_dict_type" ("dict_id", "dict_name", "dict_type", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES (141, '规则脚本语言', 'rule_script_language', '0', 'admin', '2023-11-04 01:50:06', '', NULL, NULL);
INSERT INTO "public"."sys_dict_type" ("dict_id", "dict_name", "dict_type", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES (149, '规则脚本事件', 'rule_script_event', '0', 'admin', '2023-12-19 11:33:48', '', NULL, '1=设备上报2=平台下发3=设备上线4=设备离线');
INSERT INTO "public"."sys_dict_type" ("dict_id", "dict_name", "dict_type", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES (150, '规则脚本用途', 'rule_script_purpose', '0', 'admin', '2023-12-19 11:38:18', '', NULL, '1=数据流2=触发器3=执行动作');
INSERT INTO "public"."sys_dict_type" ("dict_id", "dict_name", "dict_type", "status", "create_by", "create_time", "update_by", "update_time", "remark") VALUES (151, '规则脚本动作', 'rule_script_action', '0', 'admin', '2023-12-19 11:39:58', '', NULL, '1=消息重发2=消息通知3=Http推送4=Mqtt桥接5=数据库存储');
COMMIT;
-- ----------------------------
-- Table structure for sys_dict_type_translate
-- ----------------------------
DROP TABLE IF EXISTS "public"."sys_dict_type_translate";
CREATE TABLE "public"."sys_dict_type_translate" (
"id" int8 NOT NULL,
"zh_cn" varchar(200),
"en_us" varchar(200)
)
;
COMMENT ON COLUMN "public"."sys_dict_type_translate"."id" IS 'ID';
COMMENT ON COLUMN "public"."sys_dict_type_translate"."zh_cn" IS 'zh_CN';
COMMENT ON COLUMN "public"."sys_dict_type_translate"."en_us" IS 'en_US';
COMMENT ON TABLE "public"."sys_dict_type_translate" IS '字典类型翻译表';
-- ----------------------------
-- Records of sys_dict_type_translate
-- ----------------------------
BEGIN;
INSERT INTO "public"."sys_dict_type_translate" ("id", "zh_cn", "en_us") VALUES (1, '用户性别', 'User gender');
INSERT INTO "public"."sys_dict_type_translate" ("id", "zh_cn", "en_us") VALUES (2, '菜单状态', 'Menu status');
INSERT INTO "public"."sys_dict_type_translate" ("id", "zh_cn", "en_us") VALUES (3, '系统开关', 'System switches');
INSERT INTO "public"."sys_dict_type_translate" ("id", "zh_cn", "en_us") VALUES (4, '任务状态', 'Task status');
INSERT INTO "public"."sys_dict_type_translate" ("id", "zh_cn", "en_us") VALUES (5, '任务分组', 'Task grouping');
INSERT INTO "public"."sys_dict_type_translate" ("id", "zh_cn", "en_us") VALUES (6, '系统是否', 'Whether the system is');
INSERT INTO "public"."sys_dict_type_translate" ("id", "zh_cn", "en_us") VALUES (7, '通知类型', 'Notification type');
INSERT INTO "public"."sys_dict_type_translate" ("id", "zh_cn", "en_us") VALUES (8, '通知状态', 'Notification status');
INSERT INTO "public"."sys_dict_type_translate" ("id", "zh_cn", "en_us") VALUES (9, '操作类型', 'The type of operation');
INSERT INTO "public"."sys_dict_type_translate" ("id", "zh_cn", "en_us") VALUES (10, '系统状态', 'System status');
INSERT INTO "public"."sys_dict_type_translate" ("id", "zh_cn", "en_us") VALUES (100, '物模型类别', 'TSL model category');
INSERT INTO "public"."sys_dict_type_translate" ("id", "zh_cn", "en_us") VALUES (101, '数据类型', 'data type');
INSERT INTO "public"."sys_dict_type_translate" ("id", "zh_cn", "en_us") VALUES (102, '是否', 'Whether');
INSERT INTO "public"."sys_dict_type_translate" ("id", "zh_cn", "en_us") VALUES (103, '产品状态', 'Product status');
INSERT INTO "public"."sys_dict_type_translate" ("id", "zh_cn", "en_us") VALUES (104, '设备类型', 'Device type');
INSERT INTO "public"."sys_dict_type_translate" ("id", "zh_cn", "en_us") VALUES (105, '联网方式', 'Networking');
INSERT INTO "public"."sys_dict_type_translate" ("id", "zh_cn", "en_us") VALUES (106, '认证方式', 'Authentication method');
INSERT INTO "public"."sys_dict_type_translate" ("id", "zh_cn", "en_us") VALUES (107, '设备芯片', 'Device chips');
INSERT INTO "public"."sys_dict_type_translate" ("id", "zh_cn", "en_us") VALUES (109, '设备状态', 'Device status');
INSERT INTO "public"."sys_dict_type_translate" ("id", "zh_cn", "en_us") VALUES (110, '是否启用', 'Whether it is enabled');
INSERT INTO "public"."sys_dict_type_translate" ("id", "zh_cn", "en_us") VALUES (111, '告警类型', 'Alarm type');
INSERT INTO "public"."sys_dict_type_translate" ("id", "zh_cn", "en_us") VALUES (112, '处理状态', 'Processing status');
INSERT INTO "public"."sys_dict_type_translate" ("id", "zh_cn", "en_us") VALUES (113, '设备日志类型', 'Device log type');
INSERT INTO "public"."sys_dict_type_translate" ("id", "zh_cn", "en_us") VALUES (114, 'Oauth开放平台', 'OAuth Open Platform');
INSERT INTO "public"."sys_dict_type_translate" ("id", "zh_cn", "en_us") VALUES (115, '第三方登录平台', 'Third-party login platform');
INSERT INTO "public"."sys_dict_type_translate" ("id", "zh_cn", "en_us") VALUES (116, '第三方登录平台状态', 'Third-party login platform status');
INSERT INTO "public"."sys_dict_type_translate" ("id", "zh_cn", "en_us") VALUES (117, '设备定位方式', 'How the device is located');
INSERT INTO "public"."sys_dict_type_translate" ("id", "zh_cn", "en_us") VALUES (118, '授权码状态', 'Authorization code status');
INSERT INTO "public"."sys_dict_type_translate" ("id", "zh_cn", "en_us") VALUES (119, 'SipID状态', 'SipID status');
INSERT INTO "public"."sys_dict_type_translate" ("id", "zh_cn", "en_us") VALUES (120, '监控设备类型', 'Monitor device types');
INSERT INTO "public"."sys_dict_type_translate" ("id", "zh_cn", "en_us") VALUES (121, '通道类型', 'Channel type');
INSERT INTO "public"."sys_dict_type_translate" ("id", "zh_cn", "en_us") VALUES (122, '轮询方式', 'Polling method');
INSERT INTO "public"."sys_dict_type_translate" ("id", "zh_cn", "en_us") VALUES (123, '批量采集时间', 'Batch collection time');
INSERT INTO "public"."sys_dict_type_translate" ("id", "zh_cn", "en_us") VALUES (124, '寄存器功能码', 'Register function code');
INSERT INTO "public"."sys_dict_type_translate" ("id", "zh_cn", "en_us") VALUES (125, '传输协议类型', 'The type of transport protocol');
INSERT INTO "public"."sys_dict_type_translate" ("id", "zh_cn", "en_us") VALUES (126, '设备事件类型', 'Device event type');
INSERT INTO "public"."sys_dict_type_translate" ("id", "zh_cn", "en_us") VALUES (127, '指令下发类型', 'The type of command delivery');
INSERT INTO "public"."sys_dict_type_translate" ("id", "zh_cn", "en_us") VALUES (128, '读写类型', 'Read and write type');
INSERT INTO "public"."sys_dict_type_translate" ("id", "zh_cn", "en_us") VALUES (129, '升级范围', 'Scope of upgrade');
INSERT INTO "public"."sys_dict_type_translate" ("id", "zh_cn", "en_us") VALUES (130, '云存储平台类型', 'The type of cloud storage platform');
INSERT INTO "public"."sys_dict_type_translate" ("id", "zh_cn", "en_us") VALUES (131, 'modbus数据类型', 'Modbus data type');
INSERT INTO "public"."sys_dict_type_translate" ("id", "zh_cn", "en_us") VALUES (132, '小度音箱关联设备', 'Small speakers are associated with devices');
INSERT INTO "public"."sys_dict_type_translate" ("id", "zh_cn", "en_us") VALUES (135, '组态图表类型', 'Configure the chart type');
INSERT INTO "public"."sys_dict_type_translate" ("id", "zh_cn", "en_us") VALUES (136, '组态图库类型', 'Configure the library type');
INSERT INTO "public"."sys_dict_type_translate" ("id", "zh_cn", "en_us") VALUES (140, '规则脚本类型', 'The type of rule script');
INSERT INTO "public"."sys_dict_type_translate" ("id", "zh_cn", "en_us") VALUES (141, '规则脚本语言', 'Rule scripting language');
INSERT INTO "public"."sys_dict_type_translate" ("id", "zh_cn", "en_us") VALUES (149, '规则脚本事件', 'Rule script events');
INSERT INTO "public"."sys_dict_type_translate" ("id", "zh_cn", "en_us") VALUES (150, '规则脚本用途', 'Rule script usage');
INSERT INTO "public"."sys_dict_type_translate" ("id", "zh_cn", "en_us") VALUES (151, '规则脚本动作', 'Rule script actions');
COMMIT;
-- ----------------------------
@@ -3107,7 +3347,7 @@ COMMIT;
-- ----------------------------
DROP TABLE IF EXISTS "public"."sys_menu";
CREATE TABLE "public"."sys_menu" (
"menu_id" int8 NOT NULL GENERATED BY DEFAULT AS IDENTITY (START WITH 3063 INCREMENT BY 1),
"menu_id" int8 NOT NULL,
"menu_name" varchar(50) NOT NULL,
"parent_id" int8,
"order_num" int4,
@@ -3286,10 +3526,11 @@ INSERT INTO "public"."sys_menu" ("menu_id", "menu_name", "parent_id", "order_num
INSERT INTO "public"."sys_menu" ("menu_id", "menu_name", "parent_id", "order_num", "path", "component", "query", "is_frame", "is_cache", "menu_type", "visible", "status", "perms", "icon", "create_by", "create_time", "update_by", "update_time", "remark") VALUES (2138, '产品授权码修改', 2043, 8, '#', '', NULL, 1, 0, 'F', '0', '0', 'iot:authorize:edit', '#', 'admin', '2022-04-11 17:17:53', 'admin', '2022-06-04 21:22:08', '');
INSERT INTO "public"."sys_menu" ("menu_id", "menu_name", "parent_id", "order_num", "path", "component", "query", "is_frame", "is_cache", "menu_type", "visible", "status", "perms", "icon", "create_by", "create_time", "update_by", "update_time", "remark") VALUES (2139, '产品授权码删除', 2043, 9, '#', '', NULL, 1, 0, 'F', '0', '0', 'iot:authorize:remove', '#', 'admin', '2022-04-11 17:17:53', 'admin', '2022-06-04 21:22:26', '');
INSERT INTO "public"."sys_menu" ("menu_id", "menu_name", "parent_id", "order_num", "path", "component", "query", "is_frame", "is_cache", "menu_type", "visible", "status", "perms", "icon", "create_by", "create_time", "update_by", "update_time", "remark") VALUES (2140, '产品授权码导出', 2043, 5, '#', '', NULL, 1, 0, 'F', '0', '0', 'iot:authorize:export', '#', 'admin', '2022-04-11 17:17:53', '', NULL, '');
INSERT INTO "public"."sys_menu" ("menu_id", "menu_name", "parent_id", "order_num", "path", "component", "query", "is_frame", "is_cache", "menu_type", "visible", "status", "perms", "icon", "create_by", "create_time", "update_by", "update_time", "remark") VALUES (2141, '三方登录', 1, 12, 'platform', 'iot/platform/index', NULL, 1, 1, 'C', '0', 0, 'iot:platform:list', 'cloud', 'admin', '2022-04-11 18:55:34', 'admin', '2023-08-31 11:10:47', '');
INSERT INTO "public"."sys_menu" ("menu_id", "menu_name", "parent_id", "order_num", "path", "component", "query", "is_frame", "is_cache", "menu_type", "visible", "status", "perms", "icon", "create_by", "create_time", "update_by", "update_time", "remark") VALUES (2141, '三方登录', 1, 12, 'platform', 'iot/platform/index', NULL, 1, 1, 'C', '0', '0', 'iot:platform:list', 'cloud', 'admin', '2022-04-11 18:55:34', 'admin', '2023-08-31 11:10:47', '');
INSERT INTO "public"."sys_menu" ("menu_id", "menu_name", "parent_id", "order_num", "path", "component", "query", "is_frame", "is_cache", "menu_type", "visible", "status", "perms", "icon", "create_by", "create_time", "update_by", "update_time", "remark") VALUES (2142, '平台查询', 2142, 1, '', NULL, NULL, 1, 0, 'F', '0', '0', 'iot:platform:query', '#', 'admin', '2022-04-11 19:10:28', '', NULL, '');
INSERT INTO "public"."sys_menu" ("menu_id", "menu_name", "parent_id", "order_num", "path", "component", "query", "is_frame", "is_cache", "menu_type", "visible", "status", "perms", "icon", "create_by", "create_time", "update_by", "update_time", "remark") VALUES (2147, '设备分享', 2007, 6, '', NULL, NULL, 1, 0, 'F', '0', '0', 'iot:device:share', '#', 'admin', '2022-06-10 01:08:40', 'admin', '2022-06-10 01:10:46', '');
INSERT INTO "public"."sys_menu" ("menu_id", "menu_name", "parent_id", "order_num", "path", "component", "query", "is_frame", "is_cache", "menu_type", "visible", "status", "perms", "icon", "create_by", "create_time", "update_by", "update_time", "remark") VALUES (2148, '设备定时', 2007, 7, '', NULL, NULL, 1, 0, 'F', '0', '0', 'iot:device:timer', '#', 'admin', '2022-06-10 01:10:30', '', NULL, '');
INSERT INTO "public"."sys_menu" ("menu_id", "menu_name", "parent_id", "order_num", "path", "component", "query", "is_frame", "is_cache", "menu_type", "visible", "status", "perms", "icon", "create_by", "create_time", "update_by", "update_time", "remark") VALUES (2168, '通道管理', 3058, 1, 'sip', 'iot/sip/index', NULL, 1, 0, 'C', '0', '0', 'iot:video:list', 'swagger', 'admin', '2024-07-15 14:43:22', '', NULL, '');
INSERT INTO "public"."sys_menu" ("menu_id", "menu_name", "parent_id", "order_num", "path", "component", "query", "is_frame", "is_cache", "menu_type", "visible", "status", "perms", "icon", "create_by", "create_time", "update_by", "update_time", "remark") VALUES (3031, 'Netty管理', 0, 3, 'netty', NULL, NULL, 1, 0, 'M', '0', '0', '', 'mq', 'admin', '2022-02-26 00:42:12', 'admin', '2023-09-26 00:11:57', '');
INSERT INTO "public"."sys_menu" ("menu_id", "menu_name", "parent_id", "order_num", "path", "component", "query", "is_frame", "is_cache", "menu_type", "visible", "status", "perms", "icon", "create_by", "create_time", "update_by", "update_time", "remark") VALUES (3032, '客户端', 3031, 1, 'client', 'iot/netty/clients', NULL, 1, 0, 'C', '0', '0', 'monitor:server:list', 'client', 'admin', '2022-02-26 00:45:39', 'admin', '2023-08-23 23:38:08', '');
INSERT INTO "public"."sys_menu" ("menu_id", "menu_name", "parent_id", "order_num", "path", "component", "query", "is_frame", "is_cache", "menu_type", "visible", "status", "perms", "icon", "create_by", "create_time", "update_by", "update_time", "remark") VALUES (3033, '事件日志', 2000, 1, 'log', 'iot/log/index', NULL, 1, 0, 'F', '0', '0', 'iot:event:list', '#', 'admin', '2023-03-28 14:23:52', '', NULL, '事件日志菜单');
@@ -3298,21 +3539,200 @@ INSERT INTO "public"."sys_menu" ("menu_id", "menu_name", "parent_id", "order_num
INSERT INTO "public"."sys_menu" ("menu_id", "menu_name", "parent_id", "order_num", "path", "component", "query", "is_frame", "is_cache", "menu_type", "visible", "status", "perms", "icon", "create_by", "create_time", "update_by", "update_time", "remark") VALUES (3036, '事件日志修改', 3033, 3, '#', '', NULL, 1, 0, 'F', '0', '0', 'iot:event:edit', '#', 'admin', '2023-03-28 14:23:52', '', NULL, '');
INSERT INTO "public"."sys_menu" ("menu_id", "menu_name", "parent_id", "order_num", "path", "component", "query", "is_frame", "is_cache", "menu_type", "visible", "status", "perms", "icon", "create_by", "create_time", "update_by", "update_time", "remark") VALUES (3037, '事件日志删除', 3033, 4, '#', '', NULL, 1, 0, 'F', '0', '0', 'iot:event:remove', '#', 'admin', '2023-03-28 14:23:52', '', NULL, '');
INSERT INTO "public"."sys_menu" ("menu_id", "menu_name", "parent_id", "order_num", "path", "component", "query", "is_frame", "is_cache", "menu_type", "visible", "status", "perms", "icon", "create_by", "create_time", "update_by", "update_time", "remark") VALUES (3038, '事件日志导出', 3033, 5, '#', '', NULL, 1, 0, 'F', '0', '0', 'iot:event:export', '#', 'admin', '2023-03-28 14:23:52', '', NULL, '');
INSERT INTO "public"."sys_menu" ("menu_id", "menu_name", "parent_id", "order_num", "path", "component", "query", "is_frame", "is_cache", "menu_type", "visible", "status", "perms", "icon", "create_by", "create_time", "update_by", "update_time", "remark") VALUES (3048, 'Mqtt统计', 3031, 2, 'mqtt', 'iot/netty/mqtt', NULL, 1, 0, 'C', '0', '0', 'monitor:server:list', 'monitor', 'admin', '2023-08-23 23:40:28', 'admin', '2023-08-23 23:40:38', '');
INSERT INTO "public"."sys_menu" ("menu_id", "menu_name", "parent_id", "order_num", "path", "component", "query", "is_frame", "is_cache", "menu_type", "visible", "status", "perms", "icon", "create_by", "create_time", "update_by", "update_time", "remark") VALUES (3050, '规则引擎', 0, 2, 'ruleengine', NULL, NULL, 1, 0, 'M', '0', '0', '', 'channel', 'admin', '2024-04-22 16:28:15', 'admin', '2025-03-19 15:13:50', '');
INSERT INTO "public"."sys_menu" ("menu_id", "menu_name", "parent_id", "order_num", "path", "component", "query", "is_frame", "is_cache", "menu_type", "visible", "status", "perms", "icon", "create_by", "create_time", "update_by", "update_time", "remark") VALUES (3051, '规则脚本', 3050, 2, 'script', 'iot/scene/script', NULL, 1, 0, 'C', '0', '0', 'iot:script:list', 'code', 'admin', '2024-04-22 16:30:00', '', NULL, '');
INSERT INTO "public"."sys_menu" ("menu_id", "menu_name", "parent_id", "order_num", "path", "component", "query", "is_frame", "is_cache", "menu_type", "visible", "status", "perms", "icon", "create_by", "create_time", "update_by", "update_time", "remark") VALUES (3052, '规则脚本查询', 3051, 1, '', NULL, NULL, 1, 0, 'F', '0', '0', 'iot:script:query', '#', 'admin', '2024-04-22 16:30:53', '', NULL, '');
INSERT INTO "public"."sys_menu" ("menu_id", "menu_name", "parent_id", "order_num", "path", "component", "query", "is_frame", "is_cache", "menu_type", "visible", "status", "perms", "icon", "create_by", "create_time", "update_by", "update_time", "remark") VALUES (3053, '规则脚本新增', 3051, 2, '', NULL, NULL, 1, 0, 'F', '0', '0', 'iot:script:add', '#', 'admin', '2024-04-22 16:31:28', '', NULL, '');
INSERT INTO "public"."sys_menu" ("menu_id", "menu_name", "parent_id", "order_num", "path", "component", "query", "is_frame", "is_cache", "menu_type", "visible", "status", "perms", "icon", "create_by", "create_time", "update_by", "update_time", "remark") VALUES (3054, '规则脚本修改', 3051, 3, '', NULL, NULL, 1, 0, 'F', '0', '0', 'iot:script:edit', '#', 'admin', '2024-04-22 16:32:04', '', NULL, '');
INSERT INTO "public"."sys_menu" ("menu_id", "menu_name", "parent_id", "order_num", "path", "component", "query", "is_frame", "is_cache", "menu_type", "visible", "status", "perms", "icon", "create_by", "create_time", "update_by", "update_time", "remark") VALUES (3056, '规则脚本导出', 3051, 5, '', NULL, NULL, 1, 0, 'F', '0', '0', 'iot:script:export', '#', 'admin', '2024-04-22 16:33:25', 'admin', '2024-04-22 16:33:49', '');
INSERT INTO "public"."sys_menu" ("menu_id", "menu_name", "parent_id", "order_num", "path", "component", "query", "is_frame", "is_cache", "menu_type", "visible", "status", "perms", "icon", "create_by", "create_time", "update_by", "update_time", "remark") VALUES (3057, '规则脚本删除', 3051, 4, '', NULL, NULL, 1, 0, 'F', '0', '0', 'iot:script:remove', '#', 'admin', '2024-04-22 16:35:01', '', NULL, '');
INSERT INTO "public"."sys_menu" ("menu_id", "menu_name", "parent_id", "order_num", "path", "component", "query", "is_frame", "is_cache", "menu_type", "visible", "status", "perms", "icon", "create_by", "create_time", "update_by", "update_time", "remark") VALUES (3058, '视频中心', 0, 1, 'video', NULL, NULL, 1, 0, 'M', '0', '0', '', 'live', 'admin', '2024-07-15 14:42:13', 'admin', '2025-03-19 15:13:43', '');
INSERT INTO "public"."sys_menu" ("menu_id", "menu_name", "parent_id", "order_num", "path", "component", "query", "is_frame", "is_cache", "menu_type", "visible", "status", "perms", "icon", "create_by", "create_time", "update_by", "update_time", "remark") VALUES (3059, '通道管理', 3058, 1, 'sip', 'iot/sip/index', NULL, 1, 0, 'C', '0', '0', 'iot:video:list', 'swagger', 'admin', '2024-07-15 14:43:22', '', NULL, '');
INSERT INTO "public"."sys_menu" ("menu_id", "menu_name", "parent_id", "order_num", "path", "component", "query", "is_frame", "is_cache", "menu_type", "visible", "status", "perms", "icon", "create_by", "create_time", "update_by", "update_time", "remark") VALUES (3060, '视频配置', 3058, 2, 'mediaServer', 'iot/sip/mediaServer', NULL, 1, 0, 'C', '0', '0', NULL, 'edit', 'admin', '2024-07-15 14:48:52', '', NULL, '');
INSERT INTO "public"."sys_menu" ("menu_id", "menu_name", "parent_id", "order_num", "path", "component", "query", "is_frame", "is_cache", "menu_type", "visible", "status", "perms", "icon", "create_by", "create_time", "update_by", "update_time", "remark") VALUES (3062, '大屏展示', 2000, 6, 'http://localhost/bigScreen', NULL, NULL, 0, 0, 'M', '0', '0', '', 'monitor-a', 'admin', '2025-03-19 15:07:39', 'admin', '2025-03-20 22:18:42', '');
INSERT INTO "public"."sys_menu" ("menu_id", "menu_name", "parent_id", "order_num", "path", "component", "query", "is_frame", "is_cache", "menu_type", "visible", "status", "perms", "icon", "create_by", "create_time", "update_by", "update_time", "remark") VALUES (3343, '数据中心', 0, 5, 'dataCenter', NULL, NULL, 1, 0, 'M', '0', 0, '', 'bar_chart', 'admin', '2024-05-24 14:42:04', 'admin', '2025-01-11 09:33:52', '');
INSERT INTO "public"."sys_menu" ("menu_id", "menu_name", "parent_id", "order_num", "path", "component", "query", "is_frame", "is_cache", "menu_type", "visible", "status", "perms", "icon", "create_by", "create_time", "update_by", "update_time", "remark") VALUES (3344, '数据分析', 3343, 2, 'analysis', 'dataCenter/analysis', NULL, 1, 0, 'C', '0', 0, 'dataCenter:analysis:list', 'custom', 'admin', '2024-06-11 15:46:19', '', NULL, '');
INSERT INTO "public"."sys_menu" ("menu_id", "menu_name", "parent_id", "order_num", "path", "component", "query", "is_frame", "is_cache", "menu_type", "visible", "status", "perms", "icon", "create_by", "create_time", "update_by", "update_time", "remark") VALUES (3345, '历史记录', 3343, 1, 'history', 'dataCenter/history', NULL, 1, 0, 'C', '0', 0, 'dataCenter:history:list', 'excel', 'admin', '2024-05-24 14:44:58', 'admin', '2024-05-24 14:46:07', '');
INSERT INTO "public"."sys_menu" ("menu_id", "menu_name", "parent_id", "order_num", "path", "component", "query", "is_frame", "is_cache", "menu_type", "visible", "status", "perms", "icon", "create_by", "create_time", "update_by", "update_time", "remark") VALUES (3046, '视频中心', 0, 1, 'video', NULL, NULL, 1, 0, 'M', '0', '0', '', 'live', 'admin', '2024-07-15 14:42:13', 'admin', '2025-03-19 15:13:43', '');
INSERT INTO "public"."sys_menu" ("menu_id", "menu_name", "parent_id", "order_num", "path", "component", "query", "is_frame", "is_cache", "menu_type", "visible", "status", "perms", "icon", "create_by", "create_time", "update_by", "update_time", "remark") VALUES (3048, '视频配置', 3046, 2, 'mediaServer', 'iot/sip/mediaServer', NULL, 1, 0, 'C', '0', '0', NULL, 'edit', 'admin', '2024-07-15 14:48:52', '', NULL, '');
INSERT INTO "public"."sys_menu" ("menu_id", "menu_name", "parent_id", "order_num", "path", "component", "query", "is_frame", "is_cache", "menu_type", "visible", "status", "perms", "icon", "create_by", "create_time", "update_by", "update_time", "remark") VALUES (3051, '规则引擎', 0, 2, 'ruleengine', NULL, NULL, 1, 0, 'M', '0', '0', '', 'channel', 'admin', '2024-04-22 16:28:15', 'admin', '2025-03-19 15:13:50', '');
INSERT INTO "public"."sys_menu" ("menu_id", "menu_name", "parent_id", "order_num", "path", "component", "query", "is_frame", "is_cache", "menu_type", "visible", "status", "perms", "icon", "create_by", "create_time", "update_by", "update_time", "remark") VALUES (3055, '规则脚本', 3051, 2, 'script', 'iot/scene/script', NULL, 1, 0, 'C', '0', '0', 'iot:script:list', 'code', 'admin', '2024-04-22 16:30:00', '', NULL, '');
INSERT INTO "public"."sys_menu" ("menu_id", "menu_name", "parent_id", "order_num", "path", "component", "query", "is_frame", "is_cache", "menu_type", "visible", "status", "perms", "icon", "create_by", "create_time", "update_by", "update_time", "remark") VALUES (3100, 'Mqtt统计', 3031, 2, 'mqtt', 'iot/netty/mqtt', NULL, 1, 0, 'C', '0', '0', 'monitor:server:list', 'monitor', 'admin', '2023-08-23 23:40:28', 'admin', '2023-08-23 23:40:38', '');
INSERT INTO "public"."sys_menu" ("menu_id", "menu_name", "parent_id", "order_num", "path", "component", "query", "is_frame", "is_cache", "menu_type", "visible", "status", "perms", "icon", "create_by", "create_time", "update_by", "update_time", "remark") VALUES (3148, '规则脚本导出', 3051, 5, '', NULL, NULL, 1, 0, 'F', '0', '0', 'iot:script:export', '#', 'admin', '2024-04-22 16:33:25', 'admin', '2024-04-22 16:33:49', '');
INSERT INTO "public"."sys_menu" ("menu_id", "menu_name", "parent_id", "order_num", "path", "component", "query", "is_frame", "is_cache", "menu_type", "visible", "status", "perms", "icon", "create_by", "create_time", "update_by", "update_time", "remark") VALUES (3149, '规则脚本查询', 3051, 1, '', NULL, NULL, 1, 0, 'F', '0', '0', 'iot:script:query', '#', 'admin', '2024-04-22 16:30:53', '', NULL, '');
INSERT INTO "public"."sys_menu" ("menu_id", "menu_name", "parent_id", "order_num", "path", "component", "query", "is_frame", "is_cache", "menu_type", "visible", "status", "perms", "icon", "create_by", "create_time", "update_by", "update_time", "remark") VALUES (3150, '规则脚本新增', 3051, 2, '', NULL, NULL, 1, 0, 'F', '0', '0', 'iot:script:add', '#', 'admin', '2024-04-22 16:31:28', '', NULL, '');
INSERT INTO "public"."sys_menu" ("menu_id", "menu_name", "parent_id", "order_num", "path", "component", "query", "is_frame", "is_cache", "menu_type", "visible", "status", "perms", "icon", "create_by", "create_time", "update_by", "update_time", "remark") VALUES (3151, '规则脚本修改', 3051, 3, '', NULL, NULL, 1, 0, 'F', '0', '0', 'iot:script:edit', '#', 'admin', '2024-04-22 16:32:04', '', NULL, '');
INSERT INTO "public"."sys_menu" ("menu_id", "menu_name", "parent_id", "order_num", "path", "component", "query", "is_frame", "is_cache", "menu_type", "visible", "status", "perms", "icon", "create_by", "create_time", "update_by", "update_time", "remark") VALUES (3152, '规则脚本删除', 3051, 4, '', NULL, NULL, 1, 0, 'F', '0', '0', 'iot:script:remove', '#', 'admin', '2024-04-22 16:35:01', '', NULL, '');
INSERT INTO "public"."sys_menu" ("menu_id", "menu_name", "parent_id", "order_num", "path", "component", "query", "is_frame", "is_cache", "menu_type", "visible", "status", "perms", "icon", "create_by", "create_time", "update_by", "update_time", "remark") VALUES (3343, '数据中心', 0, 5, 'dataCenter', NULL, NULL, 1, 0, 'M', '0', '0', '', 'bar_chart', 'admin', '2024-05-24 14:42:04', 'admin', '2025-01-11 09:33:52', '');
INSERT INTO "public"."sys_menu" ("menu_id", "menu_name", "parent_id", "order_num", "path", "component", "query", "is_frame", "is_cache", "menu_type", "visible", "status", "perms", "icon", "create_by", "create_time", "update_by", "update_time", "remark") VALUES (3344, '数据分析', 3343, 2, 'analysis', 'dataCenter/analysis', NULL, 1, 0, 'C', '0', '0', 'dataCenter:analysis:list', 'custom', 'admin', '2024-06-11 15:46:19', '', NULL, '');
INSERT INTO "public"."sys_menu" ("menu_id", "menu_name", "parent_id", "order_num", "path", "component", "query", "is_frame", "is_cache", "menu_type", "visible", "status", "perms", "icon", "create_by", "create_time", "update_by", "update_time", "remark") VALUES (3345, '历史记录', 3343, 1, 'history', 'dataCenter/history', NULL, 1, 0, 'C', '0', '0', 'dataCenter:history:list', 'excel', 'admin', '2024-05-24 14:44:58', 'admin', '2024-05-24 14:46:07', '');
COMMIT;
-- ----------------------------
-- Table structure for sys_menu_translate
-- ----------------------------
DROP TABLE IF EXISTS "public"."sys_menu_translate";
CREATE TABLE "public"."sys_menu_translate" (
"id" int8 NOT NULL,
"zh_cn" varchar(200),
"en_us" varchar(200)
)
;
COMMENT ON COLUMN "public"."sys_menu_translate"."id" IS '菜单ID';
COMMENT ON COLUMN "public"."sys_menu_translate"."zh_cn" IS 'zh_CN菜单名称';
COMMENT ON COLUMN "public"."sys_menu_translate"."en_us" IS 'en菜单名称';
COMMENT ON TABLE "public"."sys_menu_translate" IS '菜单名称翻译表';
-- ----------------------------
-- Records of sys_menu_translate
-- ----------------------------
BEGIN;
INSERT INTO "public"."sys_menu_translate" ("id", "zh_cn", "en_us") VALUES (1, '系统管理', 'system management');
INSERT INTO "public"."sys_menu_translate" ("id", "zh_cn", "en_us") VALUES (2, '系统监控', 'System monitoring');
INSERT INTO "public"."sys_menu_translate" ("id", "zh_cn", "en_us") VALUES (3, '系统工具', 'System Tools');
INSERT INTO "public"."sys_menu_translate" ("id", "zh_cn", "en_us") VALUES (4, '蜂信物联', 'Bee Trust IoT');
INSERT INTO "public"."sys_menu_translate" ("id", "zh_cn", "en_us") VALUES (5, '企业管理', 'business management');
INSERT INTO "public"."sys_menu_translate" ("id", "zh_cn", "en_us") VALUES (100, '用户管理', 'user management ');
INSERT INTO "public"."sys_menu_translate" ("id", "zh_cn", "en_us") VALUES (101, '角色管理', 'Role management');
INSERT INTO "public"."sys_menu_translate" ("id", "zh_cn", "en_us") VALUES (102, '菜单管理', 'Menu management');
INSERT INTO "public"."sys_menu_translate" ("id", "zh_cn", "en_us") VALUES (103, '机构管理', 'organizational management');
INSERT INTO "public"."sys_menu_translate" ("id", "zh_cn", "en_us") VALUES (104, '岗位管理', 'Job management');
INSERT INTO "public"."sys_menu_translate" ("id", "zh_cn", "en_us") VALUES (105, '字典管理', 'Dictionary management');
INSERT INTO "public"."sys_menu_translate" ("id", "zh_cn", "en_us") VALUES (106, '参数设置', 'Parameter settings');
INSERT INTO "public"."sys_menu_translate" ("id", "zh_cn", "en_us") VALUES (107, '通知公告', 'Notice Announcement');
INSERT INTO "public"."sys_menu_translate" ("id", "zh_cn", "en_us") VALUES (108, '日志管理', 'Log management');
INSERT INTO "public"."sys_menu_translate" ("id", "zh_cn", "en_us") VALUES (109, '在线用户', 'Online users');
INSERT INTO "public"."sys_menu_translate" ("id", "zh_cn", "en_us") VALUES (110, '定时任务', 'Scheduled tasks');
INSERT INTO "public"."sys_menu_translate" ("id", "zh_cn", "en_us") VALUES (111, '数据监控', 'Data monitoring');
INSERT INTO "public"."sys_menu_translate" ("id", "zh_cn", "en_us") VALUES (112, '服务监控', 'Service monitoring');
INSERT INTO "public"."sys_menu_translate" ("id", "zh_cn", "en_us") VALUES (113, '缓存监控', 'Cache monitoring');
INSERT INTO "public"."sys_menu_translate" ("id", "zh_cn", "en_us") VALUES (114, '表单构建', 'Form construction');
INSERT INTO "public"."sys_menu_translate" ("id", "zh_cn", "en_us") VALUES (115, '代码生成', 'code generation');
INSERT INTO "public"."sys_menu_translate" ("id", "zh_cn", "en_us") VALUES (116, '系统接口', 'system interface ');
INSERT INTO "public"."sys_menu_translate" ("id", "zh_cn", "en_us") VALUES (124, '缓存列表', 'Cache List');
INSERT INTO "public"."sys_menu_translate" ("id", "zh_cn", "en_us") VALUES (500, '操作日志', 'Operation log');
INSERT INTO "public"."sys_menu_translate" ("id", "zh_cn", "en_us") VALUES (501, '登录日志', 'Login log');
INSERT INTO "public"."sys_menu_translate" ("id", "zh_cn", "en_us") VALUES (1001, '用户查询', 'User query');
INSERT INTO "public"."sys_menu_translate" ("id", "zh_cn", "en_us") VALUES (1002, '用户新增', 'User addition');
INSERT INTO "public"."sys_menu_translate" ("id", "zh_cn", "en_us") VALUES (1003, '用户修改', 'User modification');
INSERT INTO "public"."sys_menu_translate" ("id", "zh_cn", "en_us") VALUES (1004, '用户删除', 'User deletion');
INSERT INTO "public"."sys_menu_translate" ("id", "zh_cn", "en_us") VALUES (1005, '用户导出', 'User export');
INSERT INTO "public"."sys_menu_translate" ("id", "zh_cn", "en_us") VALUES (1006, '用户导入', 'User import');
INSERT INTO "public"."sys_menu_translate" ("id", "zh_cn", "en_us") VALUES (1007, '重置密码', 'reset password ');
INSERT INTO "public"."sys_menu_translate" ("id", "zh_cn", "en_us") VALUES (1008, '角色查询', 'Role query');
INSERT INTO "public"."sys_menu_translate" ("id", "zh_cn", "en_us") VALUES (1009, '角色新增', 'New role addition');
INSERT INTO "public"."sys_menu_translate" ("id", "zh_cn", "en_us") VALUES (1010, '角色修改', 'Role modification');
INSERT INTO "public"."sys_menu_translate" ("id", "zh_cn", "en_us") VALUES (1011, '角色删除', 'Role deletion');
INSERT INTO "public"."sys_menu_translate" ("id", "zh_cn", "en_us") VALUES (1012, '角色导出', 'Character export');
INSERT INTO "public"."sys_menu_translate" ("id", "zh_cn", "en_us") VALUES (1013, '菜单查询', 'Menu query');
INSERT INTO "public"."sys_menu_translate" ("id", "zh_cn", "en_us") VALUES (1014, '菜单新增', 'Menu addition');
INSERT INTO "public"."sys_menu_translate" ("id", "zh_cn", "en_us") VALUES (1015, '菜单修改', 'Menu modification');
INSERT INTO "public"."sys_menu_translate" ("id", "zh_cn", "en_us") VALUES (1016, '菜单删除', 'Menu deletion');
INSERT INTO "public"."sys_menu_translate" ("id", "zh_cn", "en_us") VALUES (1017, '部门查询', 'Departmental inquiry');
INSERT INTO "public"."sys_menu_translate" ("id", "zh_cn", "en_us") VALUES (1018, '部门新增', 'Department addition');
INSERT INTO "public"."sys_menu_translate" ("id", "zh_cn", "en_us") VALUES (1019, '部门修改', 'Department modification');
INSERT INTO "public"."sys_menu_translate" ("id", "zh_cn", "en_us") VALUES (1020, '部门删除', 'Department deletion');
INSERT INTO "public"."sys_menu_translate" ("id", "zh_cn", "en_us") VALUES (1021, '岗位查询', 'Job Search');
INSERT INTO "public"."sys_menu_translate" ("id", "zh_cn", "en_us") VALUES (1022, '岗位新增', 'Job addition');
INSERT INTO "public"."sys_menu_translate" ("id", "zh_cn", "en_us") VALUES (1023, '岗位修改', 'Position modification');
INSERT INTO "public"."sys_menu_translate" ("id", "zh_cn", "en_us") VALUES (1024, '岗位删除', 'Position deletion');
INSERT INTO "public"."sys_menu_translate" ("id", "zh_cn", "en_us") VALUES (1025, '岗位导出', 'Job export');
INSERT INTO "public"."sys_menu_translate" ("id", "zh_cn", "en_us") VALUES (1026, '字典查询', 'Dictionary query');
INSERT INTO "public"."sys_menu_translate" ("id", "zh_cn", "en_us") VALUES (1027, '字典新增', 'Dictionary addition');
INSERT INTO "public"."sys_menu_translate" ("id", "zh_cn", "en_us") VALUES (1028, '字典修改', 'Dictionary modification');
INSERT INTO "public"."sys_menu_translate" ("id", "zh_cn", "en_us") VALUES (1029, '字典删除', 'Dictionary deletion');
INSERT INTO "public"."sys_menu_translate" ("id", "zh_cn", "en_us") VALUES (1030, '字典导出', 'Dictionary export');
INSERT INTO "public"."sys_menu_translate" ("id", "zh_cn", "en_us") VALUES (1031, '参数查询', 'Parameter query');
INSERT INTO "public"."sys_menu_translate" ("id", "zh_cn", "en_us") VALUES (1032, '参数新增', 'Parameter addition');
INSERT INTO "public"."sys_menu_translate" ("id", "zh_cn", "en_us") VALUES (1033, '参数修改', 'Parameter modification');
INSERT INTO "public"."sys_menu_translate" ("id", "zh_cn", "en_us") VALUES (1034, '参数删除', 'Parameter deletion');
INSERT INTO "public"."sys_menu_translate" ("id", "zh_cn", "en_us") VALUES (1035, '参数导出', 'Parameter export');
INSERT INTO "public"."sys_menu_translate" ("id", "zh_cn", "en_us") VALUES (1036, '公告查询', 'Announcement inquiry');
INSERT INTO "public"."sys_menu_translate" ("id", "zh_cn", "en_us") VALUES (1037, '公告新增', 'Announcement added');
INSERT INTO "public"."sys_menu_translate" ("id", "zh_cn", "en_us") VALUES (1038, '公告修改', 'Announcement modification');
INSERT INTO "public"."sys_menu_translate" ("id", "zh_cn", "en_us") VALUES (1039, '公告删除', 'Announcement deletion');
INSERT INTO "public"."sys_menu_translate" ("id", "zh_cn", "en_us") VALUES (1040, '操作查询', 'Operation query');
INSERT INTO "public"."sys_menu_translate" ("id", "zh_cn", "en_us") VALUES (1041, '操作删除', 'Operation deletion');
INSERT INTO "public"."sys_menu_translate" ("id", "zh_cn", "en_us") VALUES (1042, '日志导出', 'Log export');
INSERT INTO "public"."sys_menu_translate" ("id", "zh_cn", "en_us") VALUES (1043, '登录查询', 'Login query');
INSERT INTO "public"."sys_menu_translate" ("id", "zh_cn", "en_us") VALUES (1044, '登录删除', 'Login Delete');
INSERT INTO "public"."sys_menu_translate" ("id", "zh_cn", "en_us") VALUES (1045, '日志导出', 'Log export');
INSERT INTO "public"."sys_menu_translate" ("id", "zh_cn", "en_us") VALUES (1046, '在线查询', 'Online inquiry');
INSERT INTO "public"."sys_menu_translate" ("id", "zh_cn", "en_us") VALUES (1047, '批量强退', 'Batch forced refunds');
INSERT INTO "public"."sys_menu_translate" ("id", "zh_cn", "en_us") VALUES (1048, '单条强退', 'Single strong refund');
INSERT INTO "public"."sys_menu_translate" ("id", "zh_cn", "en_us") VALUES (1049, '任务查询', 'Task query');
INSERT INTO "public"."sys_menu_translate" ("id", "zh_cn", "en_us") VALUES (1050, '任务新增', 'Task addition');
INSERT INTO "public"."sys_menu_translate" ("id", "zh_cn", "en_us") VALUES (1051, '任务修改', 'Task modification');
INSERT INTO "public"."sys_menu_translate" ("id", "zh_cn", "en_us") VALUES (1052, '任务删除', 'Task deletion');
INSERT INTO "public"."sys_menu_translate" ("id", "zh_cn", "en_us") VALUES (1053, '状态修改', 'Status modification');
INSERT INTO "public"."sys_menu_translate" ("id", "zh_cn", "en_us") VALUES (1054, '任务导出', 'Task export');
INSERT INTO "public"."sys_menu_translate" ("id", "zh_cn", "en_us") VALUES (1055, '生成查询', 'Generate query');
INSERT INTO "public"."sys_menu_translate" ("id", "zh_cn", "en_us") VALUES (1056, '生成修改', 'Generate modifications');
INSERT INTO "public"."sys_menu_translate" ("id", "zh_cn", "en_us") VALUES (1057, '生成删除', 'Generate Delete');
INSERT INTO "public"."sys_menu_translate" ("id", "zh_cn", "en_us") VALUES (1058, '导入代码', 'Import code');
INSERT INTO "public"."sys_menu_translate" ("id", "zh_cn", "en_us") VALUES (1059, '预览代码', 'Preview code');
INSERT INTO "public"."sys_menu_translate" ("id", "zh_cn", "en_us") VALUES (1060, '生成代码', 'Generate code');
INSERT INTO "public"."sys_menu_translate" ("id", "zh_cn", "en_us") VALUES (1065, '账户解锁', 'Account unlocking');
INSERT INTO "public"."sys_menu_translate" ("id", "zh_cn", "en_us") VALUES (2000, '设备管理', 'device management');
INSERT INTO "public"."sys_menu_translate" ("id", "zh_cn", "en_us") VALUES (2001, '产品分类', 'Product classification');
INSERT INTO "public"."sys_menu_translate" ("id", "zh_cn", "en_us") VALUES (2002, '产品分类查询', 'Product classification query');
INSERT INTO "public"."sys_menu_translate" ("id", "zh_cn", "en_us") VALUES (2003, '产品分类新增', 'Product classification added');
INSERT INTO "public"."sys_menu_translate" ("id", "zh_cn", "en_us") VALUES (2004, '产品分类修改', 'Product classification modification');
INSERT INTO "public"."sys_menu_translate" ("id", "zh_cn", "en_us") VALUES (2005, '产品分类删除', 'Delete product category');
INSERT INTO "public"."sys_menu_translate" ("id", "zh_cn", "en_us") VALUES (2006, '产品分类导出', 'Product classification export');
INSERT INTO "public"."sys_menu_translate" ("id", "zh_cn", "en_us") VALUES (2007, '设备管理', 'device management');
INSERT INTO "public"."sys_menu_translate" ("id", "zh_cn", "en_us") VALUES (2008, '设备查询', 'Equipment inquiry');
INSERT INTO "public"."sys_menu_translate" ("id", "zh_cn", "en_us") VALUES (2009, '设备新增', 'Equipment addition');
INSERT INTO "public"."sys_menu_translate" ("id", "zh_cn", "en_us") VALUES (2010, '设备修改', 'Equipment modification');
INSERT INTO "public"."sys_menu_translate" ("id", "zh_cn", "en_us") VALUES (2011, '设备删除', 'Device deletion');
INSERT INTO "public"."sys_menu_translate" ("id", "zh_cn", "en_us") VALUES (2012, '设备导出', 'Device export');
INSERT INTO "public"."sys_menu_translate" ("id", "zh_cn", "en_us") VALUES (2019, '设备分组', 'Equipment grouping');
INSERT INTO "public"."sys_menu_translate" ("id", "zh_cn", "en_us") VALUES (2020, '设备分组查询', 'Equipment grouping query');
INSERT INTO "public"."sys_menu_translate" ("id", "zh_cn", "en_us") VALUES (2021, '设备分组新增', 'New equipment grouping');
INSERT INTO "public"."sys_menu_translate" ("id", "zh_cn", "en_us") VALUES (2022, '设备分组修改', 'Equipment grouping modification');
INSERT INTO "public"."sys_menu_translate" ("id", "zh_cn", "en_us") VALUES (2023, '设备分组删除', 'Device group deletion');
INSERT INTO "public"."sys_menu_translate" ("id", "zh_cn", "en_us") VALUES (2024, '设备分组导出', 'Equipment group export');
INSERT INTO "public"."sys_menu_translate" ("id", "zh_cn", "en_us") VALUES (2043, '产品管理', 'product management ');
INSERT INTO "public"."sys_menu_translate" ("id", "zh_cn", "en_us") VALUES (2044, '产品查询', 'Product inquiry');
INSERT INTO "public"."sys_menu_translate" ("id", "zh_cn", "en_us") VALUES (2045, '产品新增', 'Product addition');
INSERT INTO "public"."sys_menu_translate" ("id", "zh_cn", "en_us") VALUES (2046, '产品修改', 'Product modification');
INSERT INTO "public"."sys_menu_translate" ("id", "zh_cn", "en_us") VALUES (2047, '产品删除', 'Product deletion');
INSERT INTO "public"."sys_menu_translate" ("id", "zh_cn", "en_us") VALUES (2048, '产品导出', 'Product export');
INSERT INTO "public"."sys_menu_translate" ("id", "zh_cn", "en_us") VALUES (2049, '通用物模型', 'Universal object model');
INSERT INTO "public"."sys_menu_translate" ("id", "zh_cn", "en_us") VALUES (2050, '通用物模型查询', 'General object model query');
INSERT INTO "public"."sys_menu_translate" ("id", "zh_cn", "en_us") VALUES (2051, '通用物模型新增', 'Addition of Universal Object Model');
INSERT INTO "public"."sys_menu_translate" ("id", "zh_cn", "en_us") VALUES (2052, '通用物模型修改', 'Modification of Universal Object Model');
INSERT INTO "public"."sys_menu_translate" ("id", "zh_cn", "en_us") VALUES (2053, '通用物模型删除', 'Universal object model deletion');
INSERT INTO "public"."sys_menu_translate" ("id", "zh_cn", "en_us") VALUES (2054, '通用物模型导出', 'Export of Universal Object Model');
INSERT INTO "public"."sys_menu_translate" ("id", "zh_cn", "en_us") VALUES (2123, '新闻分类', 'News classification');
INSERT INTO "public"."sys_menu_translate" ("id", "zh_cn", "en_us") VALUES (2124, '新闻分类查询', 'News classification query');
INSERT INTO "public"."sys_menu_translate" ("id", "zh_cn", "en_us") VALUES (2125, '新闻分类新增', 'New news category added');
INSERT INTO "public"."sys_menu_translate" ("id", "zh_cn", "en_us") VALUES (2126, '新闻分类修改', 'News classification modification');
INSERT INTO "public"."sys_menu_translate" ("id", "zh_cn", "en_us") VALUES (2127, '新闻分类删除', 'Delete news category');
INSERT INTO "public"."sys_menu_translate" ("id", "zh_cn", "en_us") VALUES (2128, '新闻分类导出', 'Export news categories');
INSERT INTO "public"."sys_menu_translate" ("id", "zh_cn", "en_us") VALUES (2129, '新闻资讯', 'News and Information');
INSERT INTO "public"."sys_menu_translate" ("id", "zh_cn", "en_us") VALUES (2130, '新闻资讯查询', 'News and Information Inquiry');
INSERT INTO "public"."sys_menu_translate" ("id", "zh_cn", "en_us") VALUES (2131, '新闻资讯新增', 'New news and information added');
INSERT INTO "public"."sys_menu_translate" ("id", "zh_cn", "en_us") VALUES (2132, '新闻资讯修改', 'News and Information Modification');
INSERT INTO "public"."sys_menu_translate" ("id", "zh_cn", "en_us") VALUES (2133, '新闻资讯删除', 'Delete news and information');
INSERT INTO "public"."sys_menu_translate" ("id", "zh_cn", "en_us") VALUES (2134, '新闻资讯导出', 'Export news and information');
INSERT INTO "public"."sys_menu_translate" ("id", "zh_cn", "en_us") VALUES (2136, '产品授权码查询', 'Product authorization code query');
INSERT INTO "public"."sys_menu_translate" ("id", "zh_cn", "en_us") VALUES (2137, '产品授权码新增', 'Product authorization code added');
INSERT INTO "public"."sys_menu_translate" ("id", "zh_cn", "en_us") VALUES (2138, '产品授权码修改', 'Product authorization code modification');
INSERT INTO "public"."sys_menu_translate" ("id", "zh_cn", "en_us") VALUES (2139, '产品授权码删除', 'Product authorization code deletion');
INSERT INTO "public"."sys_menu_translate" ("id", "zh_cn", "en_us") VALUES (2140, '产品授权码导出', 'Export of Product Authorization Code');
INSERT INTO "public"."sys_menu_translate" ("id", "zh_cn", "en_us") VALUES (2141, '三方登录', 'Three party login');
INSERT INTO "public"."sys_menu_translate" ("id", "zh_cn", "en_us") VALUES (2142, '平台查询', 'Platform query');
INSERT INTO "public"."sys_menu_translate" ("id", "zh_cn", "en_us") VALUES (2147, '设备用户列表', 'List of device users');
INSERT INTO "public"."sys_menu_translate" ("id", "zh_cn", "en_us") VALUES (2148, '设备定时', 'Equipment timing');
INSERT INTO "public"."sys_menu_translate" ("id", "zh_cn", "en_us") VALUES (2168, '通道管理', 'Channel management');
INSERT INTO "public"."sys_menu_translate" ("id", "zh_cn", "en_us") VALUES (3031, 'Netty管理', 'Netty Management');
INSERT INTO "public"."sys_menu_translate" ("id", "zh_cn", "en_us") VALUES (3032, '客户端', 'client');
INSERT INTO "public"."sys_menu_translate" ("id", "zh_cn", "en_us") VALUES (3033, '事件日志', 'Event log');
INSERT INTO "public"."sys_menu_translate" ("id", "zh_cn", "en_us") VALUES (3034, '事件日志查询', 'Event log query');
INSERT INTO "public"."sys_menu_translate" ("id", "zh_cn", "en_us") VALUES (3035, '事件日志新增', 'Event log addition');
INSERT INTO "public"."sys_menu_translate" ("id", "zh_cn", "en_us") VALUES (3036, '事件日志修改', 'Event log modification');
INSERT INTO "public"."sys_menu_translate" ("id", "zh_cn", "en_us") VALUES (3037, '事件日志删除', 'Event log deletion');
INSERT INTO "public"."sys_menu_translate" ("id", "zh_cn", "en_us") VALUES (3038, '事件日志导出', 'Event log export');
INSERT INTO "public"."sys_menu_translate" ("id", "zh_cn", "en_us") VALUES (3046, '视频中心', 'Video Center');
INSERT INTO "public"."sys_menu_translate" ("id", "zh_cn", "en_us") VALUES (3048, '视频配置', 'Video configuration');
INSERT INTO "public"."sys_menu_translate" ("id", "zh_cn", "en_us") VALUES (3051, '规则引擎', 'Rule engine');
INSERT INTO "public"."sys_menu_translate" ("id", "zh_cn", "en_us") VALUES (3055, '规则脚本', 'Rule Script');
INSERT INTO "public"."sys_menu_translate" ("id", "zh_cn", "en_us") VALUES (3100, 'Mqtt统计', 'Mqtt statistics');
INSERT INTO "public"."sys_menu_translate" ("id", "zh_cn", "en_us") VALUES (3148, '规则脚本导出', 'Rule script export');
INSERT INTO "public"."sys_menu_translate" ("id", "zh_cn", "en_us") VALUES (3149, '规则脚本查询', 'Rule script query');
INSERT INTO "public"."sys_menu_translate" ("id", "zh_cn", "en_us") VALUES (3150, '规则脚本新增', 'New rule script added');
INSERT INTO "public"."sys_menu_translate" ("id", "zh_cn", "en_us") VALUES (3151, '规则脚本修改', 'Rule script modification');
INSERT INTO "public"."sys_menu_translate" ("id", "zh_cn", "en_us") VALUES (3152, '规则脚本删除', 'Rule script deletion');
INSERT INTO "public"."sys_menu_translate" ("id", "zh_cn", "en_us") VALUES (3343, '数据中心', 'Data Center');
INSERT INTO "public"."sys_menu_translate" ("id", "zh_cn", "en_us") VALUES (3344, '数据分析', 'Data analysis');
INSERT INTO "public"."sys_menu_translate" ("id", "zh_cn", "en_us") VALUES (3345, '历史记录', 'Historical records');
COMMIT;
-- ----------------------------
@@ -4440,3 +4860,28 @@ ALTER TABLE "public"."qrtz_simprop_triggers" ADD CONSTRAINT "QRTZ_SIMPROP_TRIGGE
-- Foreign Keys structure for table qrtz_triggers
-- ----------------------------
ALTER TABLE "public"."qrtz_triggers" ADD CONSTRAINT "QRTZ_TRIGGERS_ibfk_1" FOREIGN KEY ("sched_name", "job_name", "job_group") REFERENCES "public"."qrtz_job_details" ("sched_name", "job_name", "job_group");
-- ----------------------------
-- Primary Key structure for table iot_things_model_template_translate
-- ----------------------------
ALTER TABLE "public"."iot_things_model_template_translate" ADD PRIMARY KEY ("id");
-- ----------------------------
-- Primary Key structure for table iot_things_model_translate
-- ----------------------------
ALTER TABLE "public"."iot_things_model_translate" ADD PRIMARY KEY ("id");
-- ----------------------------
-- Primary Key structure for table sys_dict_data_translate
-- ----------------------------
ALTER TABLE "public"."sys_dict_data_translate" ADD PRIMARY KEY ("id");
-- ----------------------------
-- Primary Key structure for table sys_dict_type_translate
-- ----------------------------
ALTER TABLE "public"."sys_dict_type_translate" ADD PRIMARY KEY ("id");
-- ----------------------------
-- Primary Key structure for table sys_menu_translate
-- ----------------------------
ALTER TABLE "public"."sys_menu_translate" ADD PRIMARY KEY ("id");

File diff suppressed because one or more lines are too long