feat: bug-369 添加对产品线和数据权限的支持

This commit is contained in:
曹鹏飞 2025-06-24 14:42:02 +08:00
parent 2112f9ed12
commit 7fda9f2a43
5 changed files with 23 additions and 12 deletions

View File

@ -10,7 +10,6 @@ import com.nflg.mobilebroken.common.pojo.ApiResult;
import com.nflg.mobilebroken.common.pojo.vo.AppLoginVO;
import com.nflg.mobilebroken.common.pojo.vo.MenuVO;
import com.nflg.mobilebroken.common.util.AppUserUtil;
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.AdminUser;
@ -69,7 +68,7 @@ public class AppController extends ControllerBase {
VUtils.trueThrow(user.getExpireTime().isBefore(ChronoLocalDate.from(LocalDateTime.now())) && !user.getIsPrimary())
.throwMessage(STATE.PassportErr, dictionaryItemTranslateService.getValueByCode(Constant.DICTIONARY_SYSTEMERROR, Constant.DICTIONARY_ITEM_ACCOUNT_HAS_EXPIRED, user.getLanguageCode()));
SaTokenAppUtil.login(user.getId(), SaLoginConfig
.setExtra("from", "app")
.setExtra("from", Constant.FROM_APP)
.setExtra("name", user.getName())
.setExtra("email", user.getEmail())
.setExtra("companyIds", StrUtil.split(user.getCompanyId(), ",").stream().map(Integer::valueOf).collect(Collectors.toList()))
@ -82,7 +81,7 @@ public class AppController extends ControllerBase {
.setToken(tokenInfo.getTokenValue())
.setExpire(tokenInfo.getTokenTimeout())
.setLanguageCode(user.getLanguageCode())
.setPlatform("app"));
.setPlatform(Constant.FROM_APP));
}else {
AdminUser adminUser =adminUserService.getUser(userName,password);
VUtils.trueThrow(Objects.isNull(adminUser))
@ -92,7 +91,7 @@ public class AppController extends ControllerBase {
VUtils.trueThrow(Objects.equals(adminUser.getState(), UserState.ToBeActivated.getState()))
.throwMessage(STATE.PassportErr, dictionaryItemTranslateService.getValueByCode(Constant.DICTIONARY_SYSTEMERROR, Constant.DICTIONARY_ITEM_ACCOUNT_HAS_EXPIRED, Constant.DEFAULT_LANGUAGE_CODE));
SaTokenAppUtil.login(adminUser.getId(), SaLoginConfig
.setExtra("from", "admin")
.setExtra("from", Constant.FROM_ADMIN)
.setExtra("name", adminUser.getUserName())
.setExtra("email", adminUser.getEmail()));
SaTokenInfo tokenInfo = SaTokenAppUtil.getTokenInfo();
@ -101,7 +100,7 @@ public class AppController extends ControllerBase {
.setToken(tokenInfo.getTokenValue())
.setExpire(tokenInfo.getTokenTimeout())
.setLanguageCode(Constant.DEFAULT_LANGUAGE_CODE)
.setPlatform("admin"));
.setPlatform(Constant.FROM_ADMIN));
}
}
@ -120,7 +119,7 @@ public class AppController extends ControllerBase {
*/
@GetMapping("getPermissionMenus")
public ApiResult<List<MenuVO>> getPermissionMenus() {
VUtils.trueThrow(!SaTokenAdminUtil.isLogin()).throwMessage(STATE.LoginError,"请重新登录");
return ApiResult.success(adminRoleService.getMenusByRoleCodes("app",AppUserUtil.getUserId(), "app"));
VUtils.trueThrow(!SaTokenAppUtil.isLogin()).throwMessage(STATE.LoginError,"请重新登录");
return ApiResult.success(adminRoleService.getMenusByRoleCodes(AppUserUtil.getFrom(),AppUserUtil.getUserId(),Constant.FROM_APP));
}
}

View File

@ -96,9 +96,9 @@ public class UserController extends ControllerBase {
**/
@GetMapping("getInfo")
public ApiResult<AppUserVO> getInfo(){
if (StrUtil.equals(AppUserUtil.getFrom(), "app")) {
if (StrUtil.equals(AppUserUtil.getFrom(), Constant.FROM_APP)) {
return ApiResult.success(appUserService.getInfo(AppUserUtil.getUserId()));
} else if (StrUtil.equals(AppUserUtil.getFrom(), "admin")) {
} else if (StrUtil.equals(AppUserUtil.getFrom(), Constant.FROM_ADMIN)) {
AdminUserVO adminUser = adminUserService.getInfo(AppUserUtil.getUserId());
return ApiResult.success(new AppUserVO()
.setId(adminUser.getId())
@ -108,7 +108,7 @@ public class UserController extends ControllerBase {
.setAvatar(adminUser.getAvatar())
.setPhone(adminUser.getPhone())
.setTitle(adminUser.getTitleName())
.setPlatform("admin"));
.setPlatform(Constant.FROM_ADMIN));
}
VUtils.trueThrowBusinessError(true).throwMessage("不支持的平台:" + AppUserUtil.getFrom());
return null;

View File

@ -1,5 +1,6 @@
package com.nflg.mobilebroken.common.pojo.vo;
import com.nflg.mobilebroken.common.constant.Constant;
import lombok.Data;
import lombok.experimental.Accessors;
@ -15,4 +16,9 @@ public class AppLoginVO {
//语言编码
private String languageCode;
/**
* 来源平台
*/
private String platform = Constant.FROM_APP;
}

View File

@ -3,6 +3,7 @@ package com.nflg.mobilebroken.common.pojo.vo;
import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.util.StrUtil;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.nflg.mobilebroken.common.constant.Constant;
import lombok.Data;
import lombok.experimental.Accessors;
@ -98,4 +99,9 @@ public class AppUserVO {
* 语言编码
*/
private String languageCode;
/**
* 来源平台
*/
private String platform = Constant.FROM_APP;
}

View File

@ -89,7 +89,7 @@
FROM ticket t
LEFT JOIN app_user u ON t.user_id=u.id
LEFT JOIN app_area a2 ON u.area_id=a2.id
LEFT JOIN ticket_follow tf ON t.id=tf.ticket_id AND tf.user_id=#{userId} AND tf.from=#{from=='app'?0:1}
LEFT JOIN ticket_follow tf ON t.id=tf.ticket_id AND tf.user_id=#{userId} AND tf.from=IF(#{from} = 'app', 0, 1)
LEFT JOIN ticket_evaluate te ON t.id=te.ticket_id AND t.state=2
LEFT JOIN t_base_part p ON t.component_id=p.id
LEFT JOIN t_base_language_data l ON p.id=l.source_id AND l.language_code=#{language}
@ -105,7 +105,7 @@
FROM ticket t
LEFT JOIN app_user u ON t.user_id=u.id
LEFT JOIN app_area a2 ON u.area_id=a2.id
INNER JOIN ticket_follow tf ON t.id=tf.ticket_id AND tf.from==#{from=='app'?0:1}
INNER JOIN ticket_follow tf ON t.id=tf.ticket_id AND tf.from=IF(#{from} = 'app', 0, 1)
LEFT JOIN ticket_evaluate te ON t.id=te.ticket_id AND t.state=2
LEFT JOIN t_base_part p ON t.component_id=p.id
LEFT JOIN t_base_language_data l ON p.id=l.source_id AND l.language_code=#{language}