diff --git a/nflg-mobilebroken-auth/src/main/java/com/nflg/mobilebroken/auth/controller/AdminController.java b/nflg-mobilebroken-auth/src/main/java/com/nflg/mobilebroken/auth/controller/AdminController.java index 266b49ad..9f41a12a 100644 --- a/nflg-mobilebroken-auth/src/main/java/com/nflg/mobilebroken/auth/controller/AdminController.java +++ b/nflg-mobilebroken-auth/src/main/java/com/nflg/mobilebroken/auth/controller/AdminController.java @@ -5,7 +5,9 @@ import cn.dev33.satoken.stp.SaTokenInfo; import com.nflg.mobilebroken.common.constant.STATE; import com.nflg.mobilebroken.common.constant.UserState; import com.nflg.mobilebroken.common.pojo.ApiResult; +import com.nflg.mobilebroken.common.pojo.vo.AdminLoginVO; import com.nflg.mobilebroken.common.pojo.vo.PermissionsVO; +import com.nflg.mobilebroken.common.pojo.vo.RoleVO; import com.nflg.mobilebroken.common.util.AdminUserUtil; import com.nflg.mobilebroken.common.util.SaTokenAdminUtil; import com.nflg.mobilebroken.common.util.VUtils; @@ -20,6 +22,7 @@ import javax.validation.Valid; import javax.validation.constraints.NotBlank; import java.util.List; import java.util.Objects; +import java.util.stream.Collectors; /** * 管理端用户登录 @@ -45,20 +48,24 @@ public class AdminController extends ControllerBase { * @return token */ @GetMapping("login") - public ApiResult login(@Valid @NotBlank(message = "用户名不能为空") @RequestParam("userName") String userName, - @Valid @NotBlank(message = "密码不能为空") @RequestParam("password") String password) { + public ApiResult login(@Valid @NotBlank(message = "用户名不能为空") @RequestParam("userName") String userName, + @Valid @NotBlank(message = "密码不能为空") @RequestParam("password") String password) { AdminUser user=adminUserService.getUser(userName,password); VUtils.trueThrow(Objects.isNull(user)).throwMessage(STATE.PassportErr,"用户名或密码错误"); VUtils.trueThrow(Objects.equals(user.getState(), UserState.Disabled.getState())).throwMessage(STATE.PassportErr, "账户被禁用,请联系管理员"); VUtils.trueThrow(Objects.equals(user.getState(), UserState.ToBeActivated.getState())).throwMessage(STATE.PassportErr, "账户未激活"); - List roleCodes = adminUserRoleMapService.getRoleList(user.getId()); + List roleCodes = adminUserRoleMapService.getRoleList(user.getId()); SaTokenAdminUtil.login(user.getId(), SaLoginConfig .setExtra("from", "admin") .setExtra("name", user.getUserName()) .setExtra("code", user.getUserCode()) .setExtra("email", user.getEmail()) - .setExtra("roles", roleCodes)); - return ApiResult.success(SaTokenAdminUtil.getTokenInfo()); + .setExtra("roles", roleCodes.stream().map(RoleVO::getCode).collect(Collectors.toList()))); + SaTokenInfo tokenInfo = SaTokenAdminUtil.getTokenInfo(); + return ApiResult.success(new AdminLoginVO() + .setToken(tokenInfo.getTokenValue()) + .setExpire(tokenInfo.getTokenTimeout()) + .setRoles(roleCodes.stream().map(RoleVO::getName).collect(Collectors.toList()))); } /** diff --git a/nflg-mobilebroken-auth/src/main/java/com/nflg/mobilebroken/auth/controller/AppController.java b/nflg-mobilebroken-auth/src/main/java/com/nflg/mobilebroken/auth/controller/AppController.java index ce037ec9..cfd0cb96 100644 --- a/nflg-mobilebroken-auth/src/main/java/com/nflg/mobilebroken/auth/controller/AppController.java +++ b/nflg-mobilebroken-auth/src/main/java/com/nflg/mobilebroken/auth/controller/AppController.java @@ -2,11 +2,12 @@ package com.nflg.mobilebroken.auth.controller; import cn.dev33.satoken.stp.SaLoginConfig; import cn.dev33.satoken.stp.SaTokenInfo; -import cn.dev33.satoken.stp.StpUtil; import cn.hutool.core.util.StrUtil; import com.nflg.mobilebroken.common.constant.STATE; import com.nflg.mobilebroken.common.constant.UserState; import com.nflg.mobilebroken.common.pojo.ApiResult; +import com.nflg.mobilebroken.common.pojo.vo.AppLoginVO; +import com.nflg.mobilebroken.common.util.SaTokenAdminUtil; import com.nflg.mobilebroken.common.util.SaTokenAppUtil; import com.nflg.mobilebroken.common.util.VUtils; import com.nflg.mobilebroken.repository.entity.AppUser; @@ -39,7 +40,7 @@ public class AppController extends ControllerBase { * @return token */ @GetMapping("login") - public ApiResult login(String userName, String password) { + public ApiResult login(String userName, String password) { AppUser user=appUserService.getUser(userName,password); VUtils.trueThrow(Objects.isNull(user)).throwMessage(STATE.PassportErr,"用户名或密码错误"); VUtils.trueThrow(Objects.equals(user.getState(), UserState.Disabled.getState())).throwMessage(STATE.PassportErr, "账户被禁用,请联系管理员"); @@ -53,7 +54,11 @@ public class AppController extends ControllerBase { .setExtra("isPrimary", user.getIsPrimary())); user.setLastLoginTime(LocalDateTime.now()); appUserService.updateById(user); - return ApiResult.success(StpUtil.getTokenInfo()); + SaTokenInfo tokenInfo = SaTokenAdminUtil.getTokenInfo(); + return ApiResult.success(new AppLoginVO() + .setToken(tokenInfo.getTokenValue()) + .setExpire(tokenInfo.getTokenTimeout()) + .setLanguageCode(user.getLanguageCode())); } ///** diff --git a/nflg-mobilebroken-common/src/main/java/com/nflg/mobilebroken/common/pojo/request/AccountAddRequest.java b/nflg-mobilebroken-common/src/main/java/com/nflg/mobilebroken/common/pojo/request/AccountAddRequest.java index 7a4bbd72..d5f5b824 100644 --- a/nflg-mobilebroken-common/src/main/java/com/nflg/mobilebroken/common/pojo/request/AccountAddRequest.java +++ b/nflg-mobilebroken-common/src/main/java/com/nflg/mobilebroken/common/pojo/request/AccountAddRequest.java @@ -26,7 +26,7 @@ public class AccountAddRequest { //部门id @NotNull - private Integer departmentId; + private Long departmentId; //职位id @NotNull diff --git a/nflg-mobilebroken-common/src/main/java/com/nflg/mobilebroken/common/pojo/request/AddUserRequest.java b/nflg-mobilebroken-common/src/main/java/com/nflg/mobilebroken/common/pojo/request/AddUserRequest.java index 2f5a27ee..424b9c49 100644 --- a/nflg-mobilebroken-common/src/main/java/com/nflg/mobilebroken/common/pojo/request/AddUserRequest.java +++ b/nflg-mobilebroken-common/src/main/java/com/nflg/mobilebroken/common/pojo/request/AddUserRequest.java @@ -28,6 +28,10 @@ public class AddUserRequest { @NotBlank(message = "邮箱不能为空") private String email; + //语言编码 + @NotBlank(message = "语言编码不能为空") + private String languageCode; + //手机号 private String phone; diff --git a/nflg-mobilebroken-common/src/main/java/com/nflg/mobilebroken/common/pojo/request/PrimaryAppUserAddRequest.java b/nflg-mobilebroken-common/src/main/java/com/nflg/mobilebroken/common/pojo/request/PrimaryAppUserAddRequest.java index ef9be2ec..29bc3abf 100644 --- a/nflg-mobilebroken-common/src/main/java/com/nflg/mobilebroken/common/pojo/request/PrimaryAppUserAddRequest.java +++ b/nflg-mobilebroken-common/src/main/java/com/nflg/mobilebroken/common/pojo/request/PrimaryAppUserAddRequest.java @@ -34,6 +34,10 @@ public class PrimaryAppUserAddRequest { @Email private String email; + //语言编码 + @NotBlank(message = "语言编码不能为空") + private String languageCode; + //手机 private String phone; diff --git a/nflg-mobilebroken-common/src/main/java/com/nflg/mobilebroken/common/pojo/request/SearchAccountRequest.java b/nflg-mobilebroken-common/src/main/java/com/nflg/mobilebroken/common/pojo/request/SearchAccountRequest.java index 73981b1a..94c983c2 100644 --- a/nflg-mobilebroken-common/src/main/java/com/nflg/mobilebroken/common/pojo/request/SearchAccountRequest.java +++ b/nflg-mobilebroken-common/src/main/java/com/nflg/mobilebroken/common/pojo/request/SearchAccountRequest.java @@ -14,7 +14,7 @@ public class SearchAccountRequest extends PageRequest { private String userName; // 部门id - private Integer departmentId; + private Long departmentId; // 状态 private Byte state; diff --git a/nflg-mobilebroken-common/src/main/java/com/nflg/mobilebroken/common/pojo/vo/AdminLoginVO.java b/nflg-mobilebroken-common/src/main/java/com/nflg/mobilebroken/common/pojo/vo/AdminLoginVO.java new file mode 100644 index 00000000..9e3257a0 --- /dev/null +++ b/nflg-mobilebroken-common/src/main/java/com/nflg/mobilebroken/common/pojo/vo/AdminLoginVO.java @@ -0,0 +1,18 @@ +package com.nflg.mobilebroken.common.pojo.vo; + +import lombok.Data; +import lombok.experimental.Accessors; + +import java.util.List; + +@Data +@Accessors(chain = true) +public class AdminLoginVO { + + private String token; + + private Long expire; + + //角色名称列表 + private List roles; +} diff --git a/nflg-mobilebroken-common/src/main/java/com/nflg/mobilebroken/common/pojo/vo/AdminUserVO.java b/nflg-mobilebroken-common/src/main/java/com/nflg/mobilebroken/common/pojo/vo/AdminUserVO.java index 6e679a53..3f68b318 100644 --- a/nflg-mobilebroken-common/src/main/java/com/nflg/mobilebroken/common/pojo/vo/AdminUserVO.java +++ b/nflg-mobilebroken-common/src/main/java/com/nflg/mobilebroken/common/pojo/vo/AdminUserVO.java @@ -56,7 +56,7 @@ public class AdminUserVO { private LocalDateTime updateTime; //部门id - private Integer departmentId; + private Long departmentId; //职位id private Integer titleId; diff --git a/nflg-mobilebroken-common/src/main/java/com/nflg/mobilebroken/common/pojo/vo/AppLoginVO.java b/nflg-mobilebroken-common/src/main/java/com/nflg/mobilebroken/common/pojo/vo/AppLoginVO.java new file mode 100644 index 00000000..685d95b3 --- /dev/null +++ b/nflg-mobilebroken-common/src/main/java/com/nflg/mobilebroken/common/pojo/vo/AppLoginVO.java @@ -0,0 +1,16 @@ +package com.nflg.mobilebroken.common.pojo.vo; + +import lombok.Data; +import lombok.experimental.Accessors; + +@Data +@Accessors(chain = true) +public class AppLoginVO { + + private String token; + + private Long expire; + + //语言编码 + private String languageCode; +} diff --git a/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/entity/AdminUser.java b/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/entity/AdminUser.java index fdc2ae60..81455bb2 100644 --- a/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/entity/AdminUser.java +++ b/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/entity/AdminUser.java @@ -52,7 +52,7 @@ public class AdminUser implements Serializable { /** * 部门id */ - private Integer departmentId; + private Long departmentId; /** * 职位id diff --git a/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/entity/AppUser.java b/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/entity/AppUser.java index b1e5d7f2..12383a61 100644 --- a/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/entity/AppUser.java +++ b/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/entity/AppUser.java @@ -95,6 +95,11 @@ public class AppUser implements Serializable { */ private String salesUserName; + /** + * 语言编码 + */ + private String languageCode; + /** * 创建人id */ diff --git a/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/entity/AppUserApplyfor.java b/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/entity/AppUserApplyfor.java index a2ac5c54..b37b87da 100644 --- a/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/entity/AppUserApplyfor.java +++ b/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/entity/AppUserApplyfor.java @@ -79,6 +79,11 @@ public class AppUserApplyfor implements Serializable { */ private Integer titleId; + /** + * 语言编码 + */ + private String languageCode; + /** * 处理状态,0:待审核,1:审核通过,2:审核不通过 */ diff --git a/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/mapper/AdminUserRoleMapMapper.java b/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/mapper/AdminUserRoleMapMapper.java index 3bb6cf9d..d293555d 100644 --- a/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/mapper/AdminUserRoleMapMapper.java +++ b/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/mapper/AdminUserRoleMapMapper.java @@ -1,6 +1,7 @@ package com.nflg.mobilebroken.repository.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.nflg.mobilebroken.common.pojo.vo.RoleVO; import com.nflg.mobilebroken.repository.entity.AdminUserRoleMap; import java.util.List; @@ -15,5 +16,5 @@ import java.util.List; */ public interface AdminUserRoleMapMapper extends BaseMapper { - List getRoleList(Integer id); + List getRoleList(Integer id); } diff --git a/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/service/IAdminUserRoleMapService.java b/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/service/IAdminUserRoleMapService.java index 323b5916..14ba8afb 100644 --- a/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/service/IAdminUserRoleMapService.java +++ b/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/service/IAdminUserRoleMapService.java @@ -3,6 +3,7 @@ package com.nflg.mobilebroken.repository.service; import com.baomidou.mybatisplus.extension.service.IService; import com.nflg.mobilebroken.common.pojo.request.AuthorizeUserRequest; import com.nflg.mobilebroken.common.pojo.vo.AdminUserVO; +import com.nflg.mobilebroken.common.pojo.vo.RoleVO; import com.nflg.mobilebroken.repository.entity.AdminUserRoleMap; import java.util.List; @@ -21,5 +22,5 @@ public interface IAdminUserRoleMapService extends IService { List getAuthorizeUser(Integer roleId); - List getRoleList(Integer id); + List getRoleList(Integer id); } diff --git a/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/service/impl/AdminRoleServiceImpl.java b/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/service/impl/AdminRoleServiceImpl.java index a946b8f1..12ddffd5 100644 --- a/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/service/impl/AdminRoleServiceImpl.java +++ b/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/service/impl/AdminRoleServiceImpl.java @@ -1,5 +1,6 @@ package com.nflg.mobilebroken.repository.service.impl; +import cn.hutool.core.collection.CollectionUtil; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; @@ -17,6 +18,7 @@ import com.nflg.mobilebroken.repository.service.IAdminRoleService; import org.springframework.stereotype.Service; import java.time.LocalDateTime; +import java.util.Collections; import java.util.List; /** @@ -70,11 +72,17 @@ public class AdminRoleServiceImpl extends ServiceImpl getMenusByRoleCodes(List roleCodes) { + if (CollectionUtil.isEmpty(roleCodes)){ + return Collections.emptyList(); + } return baseMapper.getMenusByRoleCodes(roleCodes); } @Override public List getButtonsByRoleCodes(List roleCodes) { + if (CollectionUtil.isEmpty(roleCodes)){ + return Collections.emptyList(); + } return baseMapper.getButtonsByRoleCodes(roleCodes); } diff --git a/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/service/impl/AdminUserRoleMapServiceImpl.java b/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/service/impl/AdminUserRoleMapServiceImpl.java index bc770a48..309497c2 100644 --- a/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/service/impl/AdminUserRoleMapServiceImpl.java +++ b/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/service/impl/AdminUserRoleMapServiceImpl.java @@ -6,6 +6,7 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.nflg.mobilebroken.common.pojo.request.AuthorizeUserRequest; import com.nflg.mobilebroken.common.pojo.vo.AdminUserVO; +import com.nflg.mobilebroken.common.pojo.vo.RoleVO; import com.nflg.mobilebroken.repository.entity.AdminUser; import com.nflg.mobilebroken.repository.entity.AdminUserRoleMap; import com.nflg.mobilebroken.repository.mapper.AdminUserRoleMapMapper; @@ -56,7 +57,7 @@ public class AdminUserRoleMapServiceImpl extends ServiceImpl getRoleList(Integer id) { + public List getRoleList(Integer id) { return baseMapper.getRoleList(id); } } \ No newline at end of file diff --git a/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/service/impl/AdminUserServiceImpl.java b/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/service/impl/AdminUserServiceImpl.java index bc4a2042..6ab3c8e2 100644 --- a/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/service/impl/AdminUserServiceImpl.java +++ b/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/service/impl/AdminUserServiceImpl.java @@ -233,7 +233,7 @@ public class AdminUserServiceImpl extends ServiceImpl impl .setPassword(encodePassword) .setCompanyId(StrUtil.join(",", request.getCompanyIds())) .setIsPrimary(true) + .setLanguageCode(request.getLanguageCode()) .setSalesUserName(request.getSalesUserName()) // .setCreateBy(AdminUserUtil.getUserId()) .setCreateTime(LocalDateTime.now()) diff --git a/nflg-mobilebroken-repository/src/main/resources/mapper/AdminUserRoleMapMapper.xml b/nflg-mobilebroken-repository/src/main/resources/mapper/AdminUserRoleMapMapper.xml index ed7458ba..c77e8a41 100644 --- a/nflg-mobilebroken-repository/src/main/resources/mapper/AdminUserRoleMapMapper.xml +++ b/nflg-mobilebroken-repository/src/main/resources/mapper/AdminUserRoleMapMapper.xml @@ -2,8 +2,8 @@ - + SELECT r.id,r.`code`,r.`name` FROM admin_user_role_map urm INNER JOIN admin_role r ON urm.role_id=r.id WHERE urm.user_id=#{id}