2
0

feat: system support i18n return message

This commit is contained in:
zhangsz
2025-01-21 19:50:49 +08:00
parent a70c5d3cd9
commit 40bc0b612b
12 changed files with 130 additions and 47 deletions

View File

@@ -18,6 +18,6 @@ public class WfcSystemApplication
public static void main(String[] args)
{
SpringApplication.run(WfcSystemApplication.class, args);
System.out.println("(♥◠‿◠)ノ゙ 系统模块启动成功 ლ(´ڡ`ლ)゙ \n");
System.out.println("(♥◠‿◠)ノ゙ System module startup successfully ლ(´ڡ`ლ)゙ \n");
}
}

View File

@@ -12,6 +12,7 @@ import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.wfc.common.core.utils.MessageUtils;
import org.wfc.common.core.utils.poi.ExcelUtil;
import org.wfc.common.core.web.controller.BaseController;
import org.wfc.common.core.web.domain.AjaxResult;
@@ -22,6 +23,7 @@ import org.wfc.common.security.annotation.RequiresPermissions;
import org.wfc.common.security.utils.SecurityUtils;
import org.wfc.system.api.domain.SysDictType;
import org.wfc.system.service.ISysDictTypeService;
import org.wfc.common.core.domain.R;
/**
* 数据字典信息
@@ -74,7 +76,7 @@ public class SysDictTypeController extends BaseController
{
if (!dictTypeService.checkDictTypeUnique(dict))
{
return error("新增字典'" + dict.getDictName() + "'失败,字典类型已存在");
return error(MessageUtils.message("system.add.dict.failed.dict.exist", dict.getDictName()));
}
dict.setCreateBy(SecurityUtils.getUsername());
return toAjax(dictTypeService.insertDictType(dict));
@@ -90,7 +92,7 @@ public class SysDictTypeController extends BaseController
{
if (!dictTypeService.checkDictTypeUnique(dict))
{
return error("修改字典'" + dict.getDictName() + "'失败,字典类型已存在");
return error(MessageUtils.message("system.modify.dict.failed.dict.exist", dict.getDictName()));
}
dict.setUpdateBy(SecurityUtils.getUsername());
return toAjax(dictTypeService.updateDictType(dict));

View File

@@ -1,6 +1,7 @@
package org.wfc.system.controller;
import org.wfc.common.core.constant.UserConstants;
import org.wfc.common.core.utils.MessageUtils;
import org.wfc.common.core.utils.StringUtils;
import org.wfc.common.core.web.controller.BaseController;
import org.wfc.common.core.web.domain.AjaxResult;
@@ -96,9 +97,9 @@ public class SysMenuController extends BaseController {
@PostMapping
public AjaxResult add(@Validated @RequestBody SysMenu menu) {
if (!menuService.checkMenuNameUnique(menu)) {
return error("新增菜单'" + menu.getMenuName() + "'失败,菜单名称已存在");
return error(MessageUtils.message("system.add.menu.failed.menu.exist", menu.getMenuName()));
} else if (UserConstants.YES_FRAME.equals(menu.getIsFrame()) && !StringUtils.ishttp(menu.getPath())) {
return error("新增菜单'" + menu.getMenuName() + "'失败地址必须以http(s)://开头");
return error(MessageUtils.message("system.add.menu.failed.menu.url", menu.getMenuName()));
}
menu.setCreateBy(SecurityUtils.getUsername());
return toAjax(menuService.insertMenu(menu));
@@ -112,11 +113,11 @@ public class SysMenuController extends BaseController {
@PutMapping
public AjaxResult edit(@Validated @RequestBody SysMenu menu) {
if (!menuService.checkMenuNameUnique(menu)) {
return error("修改菜单'" + menu.getMenuName() + "'失败,菜单名称已存在");
return error(MessageUtils.message("system.modify.menu.failed.menu.exist", menu.getMenuName()));
} else if (UserConstants.YES_FRAME.equals(menu.getIsFrame()) && !StringUtils.ishttp(menu.getPath())) {
return error("修改菜单'" + menu.getMenuName() + "'失败地址必须以http(s)://开头");
return error(MessageUtils.message("system.modify.menu.failed.menu.url", menu.getMenuName()));
} else if (menu.getMenuId().equals(menu.getParentId())) {
return error("修改菜单'" + menu.getMenuName() + "'失败,上级菜单不能选择自己");
return error(MessageUtils.message("system.modify.menu.failed.menu.parent", menu.getMenuName()));
}
menu.setUpdateBy(SecurityUtils.getUsername());
return toAjax(menuService.updateMenu(menu));
@@ -130,10 +131,10 @@ public class SysMenuController extends BaseController {
@DeleteMapping("/{menuId}")
public AjaxResult remove(@PathVariable("menuId") Long menuId) {
if (menuService.hasChildByMenuId(menuId)) {
return warn("存在子菜单,不允许删除");
return warn(MessageUtils.message("system.delete.menu.failed.menu.child"));
}
if (menuService.checkMenuExistRole(menuId)) {
return warn("菜单已分配,不允许删除");
return warn(MessageUtils.message("system.delete.menu.failed.menu.assign"));
}
return toAjax(menuService.deleteMenuById(menuId));
}

View File

@@ -12,6 +12,7 @@ import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.multipart.MultipartFile;
import org.wfc.common.core.domain.LoginUser;
import org.wfc.common.core.domain.R;
import org.wfc.common.core.utils.MessageUtils;
import org.wfc.common.core.utils.StringUtils;
import org.wfc.common.core.utils.file.FileTypeUtils;
import org.wfc.common.core.utils.file.MimeTypeUtils;
@@ -73,11 +74,13 @@ public class SysProfileController extends BaseController
currentUser.setSex(user.getSex());
if (StringUtils.isNotEmpty(user.getPhonenumber()) && !userService.checkPhoneUnique(currentUser))
{
return error("修改用户'" + loginUser.getUsername() + "'失败,手机号码已存在");
return error(MessageUtils.message("system.user.modify.user.failed.phone.exist",
loginUser.getUsername()));
}
if (StringUtils.isNotEmpty(user.getEmail()) && !userService.checkEmailUnique(currentUser))
{
return error("修改用户'" + loginUser.getUsername() + "'失败,邮箱账号已存在");
return error(MessageUtils.message("system.user.modify.user.failed.email.exist",
loginUser.getUsername()));
}
if (userService.updateUserProfile(currentUser))
{
@@ -85,7 +88,7 @@ public class SysProfileController extends BaseController
tokenService.setLoginUser(loginUser);
return success();
}
return error("修改个人信息异常,请联系管理员");
return error(MessageUtils.message("system.user.modify.failed.contact.administrator"));
}
/**
@@ -100,11 +103,11 @@ public class SysProfileController extends BaseController
String password = user.getPassword();
if (!SecurityUtils.matchesPassword(oldPassword, password))
{
return error("修改密码失败,旧密码错误");
return error(MessageUtils.message("system.modify.password.failed.error.old.password"));
}
if (SecurityUtils.matchesPassword(newPassword, password))
{
return error("新密码不能与旧密码相同");
return error(MessageUtils.message("system.modify.password.failed.new.password.same.old.password"));
}
newPassword = SecurityUtils.encryptPassword(newPassword);
if (userService.resetUserPwd(username, newPassword) > 0)
@@ -117,7 +120,7 @@ public class SysProfileController extends BaseController
tokenService.setLoginUser(loginUser);
return success();
}
return error("修改密码异常,请联系管理员");
return error(MessageUtils.message("system.modify.password.failed.contact.administrator"));
}
/**
@@ -133,12 +136,12 @@ public class SysProfileController extends BaseController
String extension = FileTypeUtils.getExtension(file);
if (!StringUtils.equalsAnyIgnoreCase(extension, MimeTypeUtils.IMAGE_EXTENSION))
{
return error("文件格式不正确,请上传" + Arrays.toString(MimeTypeUtils.IMAGE_EXTENSION) + "格式");
return error(MessageUtils.message("system.upload.file.format.error", Arrays.toString(MimeTypeUtils.IMAGE_EXTENSION)));
}
R<SysFile> fileResult = remoteFileService.upload(file);
if (StringUtils.isNull(fileResult) || StringUtils.isNull(fileResult.getData()))
{
return error("文件服务异常,请联系管理员");
return error(MessageUtils.message("system.file.service.error.contact.administrator"));
}
String url = fileResult.getData().getUrl();
if (userService.updateUserAvatar(loginUser.getUsername(), url))
@@ -153,6 +156,6 @@ public class SysProfileController extends BaseController
return ajax;
}
}
return error("上传图片异常,请联系管理员");
return error(MessageUtils.message("system.upload.file.error.contact.administrator"));
}
}

View File

@@ -12,6 +12,7 @@ import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.wfc.common.core.utils.MessageUtils;
import org.wfc.common.core.utils.poi.ExcelUtil;
import org.wfc.common.core.web.controller.BaseController;
import org.wfc.common.core.web.domain.AjaxResult;
@@ -86,15 +87,14 @@ public class SysRoleController extends BaseController
{
if (!roleService.checkRoleNameUnique(role))
{
return error("新增角色'" + role.getRoleName() + "'失败,角色名称已存在");
return error(MessageUtils.message("system.role.add.failed.role.exist", role.getRoleName()));
}
else if (!roleService.checkRoleKeyUnique(role))
{
return error("新增角色'" + role.getRoleName() + "'失败,角色权限已存在");
return error(MessageUtils.message("system.role.add.failed.role.permission.exist", role.getRoleName()));
}
role.setCreateBy(SecurityUtils.getUsername());
return toAjax(roleService.insertRole(role));
}
/**
@@ -109,11 +109,11 @@ public class SysRoleController extends BaseController
roleService.checkRoleDataScope(role.getRoleId());
if (!roleService.checkRoleNameUnique(role))
{
return error("修改角色'" + role.getRoleName() + "'失败,角色名称已存在");
return error(MessageUtils.message("system.role.modify.failed.role.exist", role.getRoleName()));
}
else if (!roleService.checkRoleKeyUnique(role))
{
return error("修改角色'" + role.getRoleName() + "'失败,角色权限已存在");
return error(MessageUtils.message("system.role.modify.failed.role.permission.exist", role.getRoleName()));
}
role.setUpdateBy(SecurityUtils.getUsername());
return toAjax(roleService.updateRole(role));

View File

@@ -171,7 +171,7 @@ public class SysUserController extends BaseController
SysUser sysUser = userService.selectUserByUserName(username);
if (StringUtils.isNull(sysUser))
{
return R.fail("用户名或密码错误");
return R.fail("system.user.no.exist");
}
// 角色集合
Set<String> roles = permissionService.getRolePermission(sysUser);
@@ -194,7 +194,7 @@ public class SysUserController extends BaseController
String username = sysUser.getUserName();
if (!("true".equals(configService.selectConfigByKey("sys.account.registerUser"))))
{
return R.fail("当前系统没有开启注册功能!");
return R.fail("system.no.register");
}
if (!userService.checkUserNameUnique(sysUser))
{
@@ -286,15 +286,15 @@ public class SysUserController extends BaseController
roleService.checkRoleDataScope(user.getRoleIds());
if (!userService.checkUserNameUnique(user))
{
return error("新增用户'" + user.getUserName() + "'失败,登录账号已存在");
return error(MessageUtils.message("system.user.add.user.failed.user.exist", user.getUserName()));
}
else if (StringUtils.isNotEmpty(user.getPhonenumber()) && !userService.checkPhoneUnique(user))
{
return error("新增用户'" + user.getUserName() + "'失败,手机号码已存在");
return error(MessageUtils.message("system.user.add.user.failed.phone.exist", user.getUserName()));
}
else if (StringUtils.isNotEmpty(user.getEmail()) && !userService.checkEmailUnique(user))
{
return error("新增用户'" + user.getUserName() + "'失败,邮箱账号已存在");
return error(MessageUtils.message("system.user.add.user.failed.email.exist", user.getUserName()));
}
user.setCreateBy(SecurityUtils.getUsername());
user.setPassword(SecurityUtils.encryptPassword(user.getPassword()));
@@ -315,15 +315,15 @@ public class SysUserController extends BaseController
roleService.checkRoleDataScope(user.getRoleIds());
if (!userService.checkUserNameUnique(user))
{
return error("修改用户'" + user.getUserName() + "'失败,登录账号已存在");
return error(MessageUtils.message("system.user.modify.user.failed.user.exist", user.getUserName()));
}
else if (StringUtils.isNotEmpty(user.getPhonenumber()) && !userService.checkPhoneUnique(user))
{
return error("修改用户'" + user.getUserName() + "'失败,手机号码已存在");
return error(MessageUtils.message("system.user.modify.user.failed.phone.exist", user.getUserName()));
}
else if (StringUtils.isNotEmpty(user.getEmail()) && !userService.checkEmailUnique(user))
{
return error("修改用户'" + user.getUserName() + "'失败,邮箱账号已存在");
return error(MessageUtils.message("system.user.modify.user.failed.email.exist", user.getUserName()));
}
user.setUpdateBy(SecurityUtils.getUsername());
return toAjax(userService.updateUser(user));
@@ -339,7 +339,7 @@ public class SysUserController extends BaseController
{
if (ArrayUtils.contains(userIds, SecurityUtils.getUserId()))
{
return error("当前用户不能删除");
return error(MessageUtils.message("system.user.cannot.delete"));
}
return toAjax(userService.deleteUserByIds(userIds));
}

View File

@@ -14,6 +14,7 @@ import org.wfc.common.redis.service.RedisService;
import org.wfc.system.domain.SysConfig;
import org.wfc.system.mapper.SysConfigMapper;
import org.wfc.system.service.ISysConfigService;
import org.wfc.common.core.utils.MessageUtils;
/**
* 参数配置 服务层实现
@@ -142,7 +143,7 @@ public class SysConfigServiceImpl implements ISysConfigService
SysConfig config = selectConfigById(configId);
if (StringUtils.equals(UserConstants.YES, config.getConfigType()))
{
throw new ServiceException(String.format("内置参数【%1$s】不能删除 ", config.getConfigKey()));
throw new ServiceException(MessageUtils.message("system.config.delete.failed.internal", config.getConfigKey()));
}
configMapper.deleteConfigById(configId);
redisService.deleteObject(getCacheKey(config.getConfigKey()));

View File

@@ -17,6 +17,7 @@ import org.wfc.system.api.domain.SysDictType;
import org.wfc.system.mapper.SysDictDataMapper;
import org.wfc.system.mapper.SysDictTypeMapper;
import org.wfc.system.service.ISysDictTypeService;
import org.wfc.common.core.utils.MessageUtils;
/**
* 字典 业务层处理
@@ -124,7 +125,7 @@ public class SysDictTypeServiceImpl implements ISysDictTypeService
SysDictType dictType = selectDictTypeById(dictId);
if (dictDataMapper.countDictDataByType(dictType.getDictType()) > 0)
{
throw new ServiceException(String.format("%1$s已分配,不能删除", dictType.getDictName()));
throw new ServiceException(MessageUtils.message("system.dict.delete.failed.dict.assigned", dictType.getDictName()));
}
dictTypeMapper.deleteDictTypeById(dictId);
DictUtils.removeDictCache(dictType.getDictType());

View File

@@ -24,6 +24,7 @@ import org.wfc.system.mapper.SysRoleMapper;
import org.wfc.system.mapper.SysRoleMenuMapper;
import org.wfc.system.mapper.SysUserRoleMapper;
import org.wfc.system.service.ISysRoleService;
import org.wfc.common.core.utils.MessageUtils;
/**
* 角色 业务层处理
@@ -185,7 +186,7 @@ public class SysRoleServiceImpl implements ISysRoleService
{
if (StringUtils.isNotNull(role.getRoleId()) && role.isAdmin())
{
throw new ServiceException("不允许操作超级管理员角色");
throw new ServiceException(MessageUtils.message("system.role.delete.failed.role.assigned"));
}
}
@@ -206,7 +207,7 @@ public class SysRoleServiceImpl implements ISysRoleService
List<SysRole> roles = SpringUtils.getAopProxy(this).selectRoleList(role);
if (StringUtils.isEmpty(roles))
{
throw new ServiceException("没有权限访问角色数据!");
throw new ServiceException(MessageUtils.message("system.role.no.permission"));
}
}
}
@@ -368,7 +369,7 @@ public class SysRoleServiceImpl implements ISysRoleService
SysRole role = selectRoleById(roleId);
if (countUserRoleByRoleId(roleId) > 0)
{
throw new ServiceException(String.format("%1$s已分配,不能删除", role.getRoleName()));
throw new ServiceException(MessageUtils.message("system.role.delete.failed.role.assigned", role.getRoleName()));
}
}
// 删除角色与菜单关联