Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
G
gic-platform-auth
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
base_platform_enterprise
gic-platform-auth
Commits
7226c3f3
Commit
7226c3f3
authored
Jan 12, 2021
by
guojuxing
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
资源组代码优化&放入session
parent
a21bf2c1
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
11 changed files
with
428 additions
and
89 deletions
+428
-89
GoodsResourceDTO.java
...-api/src/main/java/com/gic/auth/dto/GoodsResourceDTO.java
+41
-0
ResourceGroupDTO.java
...-api/src/main/java/com/gic/auth/dto/ResourceGroupDTO.java
+1
-1
ResourceGroupDataDTO.java
.../src/main/java/com/gic/auth/dto/ResourceGroupDataDTO.java
+63
-0
ResourceGroupApiService.java
...in/java/com/gic/auth/service/ResourceGroupApiService.java
+8
-0
ResourceGroupApiServiceImpl.java
.../auth/service/outer/impl/ResourceGroupApiServiceImpl.java
+28
-80
CustomResourceData.java
.../com/gic/auth/utils/resourcegroup/CustomResourceData.java
+58
-0
GoodsResourceData.java
...a/com/gic/auth/utils/resourcegroup/GoodsResourceData.java
+32
-0
IResourceGroupData.java
.../com/gic/auth/utils/resourcegroup/IResourceGroupData.java
+35
-0
ResourceGroupUtils.java
.../com/gic/auth/utils/resourcegroup/ResourceGroupUtils.java
+96
-0
StoreResourceData.java
...a/com/gic/auth/utils/resourcegroup/StoreResourceData.java
+53
-0
LoginController.java
...ain/java/com/gic/auth/web/controller/LoginController.java
+13
-8
No files found.
gic-platform-auth-api/src/main/java/com/gic/auth/dto/GoodsResourceDTO.java
0 → 100644
View file @
7226c3f3
package
com
.
gic
.
auth
.
dto
;
import
java.io.Serializable
;
/**
* 资源组-商品资源
* @ClassName:
* @Description:
* @author guojuxing
* @date 2021/1/12 1:56 PM
*/
public
class
GoodsResourceDTO
implements
Serializable
{
private
static
final
long
serialVersionUID
=
1952598117730776461L
;
/**
* 商品资源选择器ID
*/
private
Long
goodsResourceId
;
/**
* 1:全部 (超管) 2:部分
*/
private
Integer
type
;
public
Long
getGoodsResourceId
()
{
return
goodsResourceId
;
}
public
GoodsResourceDTO
setGoodsResourceId
(
Long
goodsResourceId
)
{
this
.
goodsResourceId
=
goodsResourceId
;
return
this
;
}
public
Integer
getType
()
{
return
type
;
}
public
GoodsResourceDTO
setType
(
Integer
type
)
{
this
.
type
=
type
;
return
this
;
}
}
gic-platform-auth-api/src/main/java/com/gic/auth/dto/ResourceGroupDTO.java
View file @
7226c3f3
...
...
@@ -35,7 +35,7 @@ public class ResourceGroupDTO implements Serializable{
private
Integer
customUser
;
/**
* 用户域配置,json格式 [{"type":1,"sort":1,"
cu
":"","cuSelectId":""}]
* 用户域配置,json格式 [{"type":1,"sort":1,"
areaValue
":"","cuSelectId":""}]
*/
private
String
customUserData
;
...
...
gic-platform-auth-api/src/main/java/com/gic/auth/dto/ResourceGroupDataDTO.java
0 → 100644
View file @
7226c3f3
package
com
.
gic
.
auth
.
dto
;
import
java.io.Serializable
;
/**
* 资源组数据,根据user_id查询
* @ClassName:
* @Description:
* @author guojuxing
* @date 2021/1/12 9:56 AM
*/
public
class
ResourceGroupDataDTO
implements
Serializable
{
private
static
final
long
serialVersionUID
=
-
7512120223815225844L
;
/**
* 用户域配置
*/
private
CustomUserAreaDTO
customUserAreaDTO
;
/**
* 门店资源
*/
private
StoreResourceDTO
storeResourceDTO
;
/**
* 商品资源
*/
private
GoodsResourceDTO
goodsResourceDTO
;
public
CustomUserAreaDTO
getCustomUserAreaDTO
()
{
return
customUserAreaDTO
;
}
public
ResourceGroupDataDTO
setCustomUserAreaDTO
(
CustomUserAreaDTO
customUserAreaDTO
)
{
this
.
customUserAreaDTO
=
customUserAreaDTO
;
return
this
;
}
public
StoreResourceDTO
getStoreResourceDTO
()
{
return
storeResourceDTO
;
}
public
ResourceGroupDataDTO
setStoreResourceDTO
(
StoreResourceDTO
storeResourceDTO
)
{
this
.
storeResourceDTO
=
storeResourceDTO
;
return
this
;
}
public
GoodsResourceDTO
getGoodsResourceDTO
()
{
return
goodsResourceDTO
;
}
public
ResourceGroupDataDTO
setGoodsResourceDTO
(
GoodsResourceDTO
goodsResourceDTO
)
{
this
.
goodsResourceDTO
=
goodsResourceDTO
;
return
this
;
}
@Override
public
String
toString
()
{
return
"ResourceGroupDataDTO{"
+
"customUserAreaDTO="
+
customUserAreaDTO
+
", storeResourceDTO="
+
storeResourceDTO
+
", goodsResourceDTO="
+
goodsResourceDTO
+
'}'
;
}
}
gic-platform-auth-api/src/main/java/com/gic/auth/service/ResourceGroupApiService.java
View file @
7226c3f3
...
...
@@ -4,6 +4,7 @@ import com.gic.api.base.commons.Page;
import
com.gic.api.base.commons.ServiceResponse
;
import
com.gic.auth.dto.CustomUserAreaDTO
;
import
com.gic.auth.dto.ResourceGroupDTO
;
import
com.gic.auth.dto.ResourceGroupDataDTO
;
import
com.gic.auth.dto.StoreResourceDTO
;
/**
...
...
@@ -54,6 +55,13 @@ public interface ResourceGroupApiService {
ServiceResponse
<
String
>
deleteResourceGroup
(
Integer
resourceGroupId
);
/**
* 根据资源组数据查询,用于登录时存入session
* @param userId
* @return
*/
ServiceResponse
<
ResourceGroupDataDTO
>
getResourceGroupByUserId
(
Integer
userId
);
/**
* 管理员的门店资源查询
* @param userId
* @return
...
...
gic-platform-auth-service/src/main/java/com/gic/auth/service/outer/impl/ResourceGroupApiServiceImpl.java
View file @
7226c3f3
This diff is collapsed.
Click to expand it.
gic-platform-auth-service/src/main/java/com/gic/auth/utils/resourcegroup/CustomResourceData.java
0 → 100644
View file @
7226c3f3
package
com
.
gic
.
auth
.
utils
.
resourcegroup
;
import
com.alibaba.fastjson.JSON
;
import
com.gic.auth.constant.ResourceHoldEnum
;
import
com.gic.auth.dto.CustomUserAreaDTO
;
import
com.gic.auth.dto.ResourceGroupCustomUserDTO
;
import
com.gic.auth.entity.TabSysResourceGroup
;
import
org.apache.commons.lang.StringUtils
;
import
java.util.Arrays
;
import
java.util.List
;
import
java.util.stream.Collectors
;
/**
* 用户域配置
* @ClassName:
* @Description:
* @author guojuxing
* @date 2021/1/12 2:16 PM
*/
public
class
CustomResourceData
implements
IResourceGroupData
{
@Override
public
<
T
>
T
getResourceData
(
TabSysResourceGroup
resourceGroup
)
{
//组装用户域配置信息
List
<
ResourceGroupCustomUserDTO
>
customUserList
=
JSON
.
parseArray
(
resourceGroup
.
getCustomUserData
(),
ResourceGroupCustomUserDTO
.
class
);
CustomUserAreaDTO
result
=
new
CustomUserAreaDTO
()
.
setType
(
ResourceHoldEnum
.
DART
.
getCode
())
.
setCustomUser
(
resourceGroup
.
getCustomUser
())
.
setWeimobOrderArea
(
resourceGroup
.
getWeimobOrderArea
())
.
setStoreOrderArea
(
resourceGroup
.
getStoreOrderArea
())
.
setCustomUserList
(
customUserList
);
if
(
StringUtils
.
isNotBlank
(
resourceGroup
.
getSmsId
()))
{
result
.
setSmsId
(
Arrays
.
stream
(
resourceGroup
.
getSmsId
()
.
split
(
","
))
.
mapToLong
(
e
->
Long
.
valueOf
(
e
))
.
boxed
()
.
collect
(
Collectors
.
toList
()));
}
if
(
StringUtils
.
isNotBlank
(
resourceGroup
.
getWeimobStoreId
()))
{
result
.
setWeimobStoreId
(
Arrays
.
stream
(
resourceGroup
.
getWeimobStoreId
().
split
(
","
))
.
mapToLong
(
e
->
Long
.
valueOf
(
e
))
.
boxed
()
.
collect
(
Collectors
.
toList
()));
}
return
(
T
)
result
;
}
@Override
public
<
T
>
T
getResourceDataForAdmin
()
{
return
(
T
)
new
CustomUserAreaDTO
().
setType
(
ResourceHoldEnum
.
ALL
.
getCode
());
}
@Override
public
<
T
>
T
getResourceDataWhenNoExist
()
{
return
(
T
)
new
CustomUserAreaDTO
().
setType
(
ResourceHoldEnum
.
DART
.
getCode
()).
setCustomUser
(
0
);
}
}
gic-platform-auth-service/src/main/java/com/gic/auth/utils/resourcegroup/GoodsResourceData.java
0 → 100644
View file @
7226c3f3
package
com
.
gic
.
auth
.
utils
.
resourcegroup
;
import
com.gic.auth.constant.ResourceHoldEnum
;
import
com.gic.auth.dto.GoodsResourceDTO
;
import
com.gic.auth.entity.TabSysResourceGroup
;
/**
* 资源组-商品资源
* @ClassName:
* @Description:
* @author guojuxing
* @date 2021/1/12 2:29 PM
*/
public
class
GoodsResourceData
implements
IResourceGroupData
{
@Override
public
<
T
>
T
getResourceData
(
TabSysResourceGroup
resourceGroup
)
{
return
(
T
)
new
GoodsResourceDTO
()
.
setType
(
ResourceHoldEnum
.
DART
.
getCode
())
.
setGoodsResourceId
(
resourceGroup
.
getGoodsResourceId
());
}
@Override
public
<
T
>
T
getResourceDataForAdmin
()
{
return
(
T
)
new
GoodsResourceDTO
()
.
setType
(
ResourceHoldEnum
.
ALL
.
getCode
());
}
@Override
public
<
T
>
T
getResourceDataWhenNoExist
()
{
return
(
T
)
new
GoodsResourceDTO
()
.
setType
(
ResourceHoldEnum
.
DART
.
getCode
()).
setGoodsResourceId
(
null
);
}
}
gic-platform-auth-service/src/main/java/com/gic/auth/utils/resourcegroup/IResourceGroupData.java
0 → 100644
View file @
7226c3f3
package
com
.
gic
.
auth
.
utils
.
resourcegroup
;
import
com.gic.auth.entity.TabSysResourceGroup
;
/**
* 资源组
* @ClassName:
* @Description:
* @author guojuxing
* @date 2021/1/12 2:15 PM
*/
public
interface
IResourceGroupData
{
/**
* 查询资源
* @param resourceGroup
* @param <T>
* @return
*/
<
T
>
T
getResourceData
(
TabSysResourceGroup
resourceGroup
);
/**
* 查询超管资源
* @param <T>
* @return
*/
<
T
>
T
getResourceDataForAdmin
();
/**
* 查询资源-管理员不存在
* @param <T>
* @return
*/
<
T
>
T
getResourceDataWhenNoExist
();
}
gic-platform-auth-service/src/main/java/com/gic/auth/utils/resourcegroup/ResourceGroupUtils.java
0 → 100644
View file @
7226c3f3
package
com
.
gic
.
auth
.
utils
.
resourcegroup
;
import
com.gic.auth.dto.*
;
import
com.gic.auth.entity.TabSysResourceGroup
;
import
com.gic.auth.entity.TabSysUser
;
import
com.gic.auth.service.ResourceGroupService
;
import
com.gic.auth.service.UserResourceService
;
import
com.gic.auth.service.UserService
;
import
com.gic.auth.utils.ApplicationContextUtils
;
import
org.apache.commons.collections.CollectionUtils
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.Map
;
/**
* 资源组工具类
* @ClassName:
* @Description:
* @author guojuxing
* @date 2021/1/12 2:31 PM
*/
public
class
ResourceGroupUtils
{
private
static
Map
<
Integer
,
IResourceGroupData
>
map
=
new
HashMap
<>(
8
);
/**
* 用户域
*/
public
static
Integer
CUSTOM_RESOURCE
=
1
;
/**
* 门店
*/
public
static
Integer
STORE_RESOURCE
=
2
;
/**
* 商品
*/
public
static
Integer
GOODS_RESOURCE
=
3
;
static
{
map
.
put
(
1
,
new
CustomResourceData
());
map
.
put
(
2
,
new
StoreResourceData
());
map
.
put
(
3
,
new
GoodsResourceData
());
}
/**
* 查询资源组资源
* @param userId
* @param resourceGroupType 1:用户域 2:门店资源 3:商品
* @param <T>
* @return
*/
public
static
<
T
>
T
getResource
(
Integer
userId
,
Integer
resourceGroupType
)
{
UserService
userService
=
ApplicationContextUtils
.
getBean
(
"userService"
);
TabSysUser
tabSysUser
=
userService
.
getUserById
(
userId
);
if
(
tabSysUser
==
null
)
{
return
map
.
get
(
resourceGroupType
).
getResourceDataWhenNoExist
();
}
if
(
tabSysUser
.
getSuperAdmin
()
==
1
)
{
//超管
return
map
.
get
(
resourceGroupType
).
getResourceDataForAdmin
();
}
TabSysResourceGroup
tabSysResourceGroup
=
getByUserId
(
userId
);
if
(
tabSysResourceGroup
==
null
)
{
map
.
get
(
resourceGroupType
).
getResourceDataWhenNoExist
();
}
return
map
.
get
(
resourceGroupType
).
getResourceData
(
tabSysResourceGroup
);
}
/**
* 查询全部资源
* @param userId
* @return
*/
public
static
ResourceGroupDataDTO
getResource
(
Integer
userId
)
{
CustomUserAreaDTO
customUserAreaDTO
=
getResource
(
userId
,
CUSTOM_RESOURCE
);
StoreResourceDTO
storeResourceDTO
=
getResource
(
userId
,
STORE_RESOURCE
);
GoodsResourceDTO
goodsResourceDTO
=
getResource
(
userId
,
GOODS_RESOURCE
);
return
new
ResourceGroupDataDTO
()
.
setCustomUserAreaDTO
(
customUserAreaDTO
)
.
setGoodsResourceDTO
(
goodsResourceDTO
)
.
setStoreResourceDTO
(
storeResourceDTO
);
}
private
static
TabSysResourceGroup
getByUserId
(
Integer
userId
)
{
UserResourceService
userResourceService
=
ApplicationContextUtils
.
getBean
(
UserResourceService
.
class
);
ResourceGroupService
resourceGroupService
=
ApplicationContextUtils
.
getBean
(
"resourceGroupService"
);
List
<
UserResourceDTO
>
userResourceList
=
userResourceService
.
listUserResourceByUserId
(
userId
);
if
(
CollectionUtils
.
isEmpty
(
userResourceList
))
{
//查不到管理员的资源组数据,历史数据导致
return
null
;
}
//资源组单选
Integer
resourceGroupId
=
userResourceList
.
get
(
0
).
getResourceId
();
TabSysResourceGroup
resourceGroup
=
resourceGroupService
.
getResourceGroup
(
resourceGroupId
);
return
resourceGroup
;
}
}
gic-platform-auth-service/src/main/java/com/gic/auth/utils/resourcegroup/StoreResourceData.java
0 → 100644
View file @
7226c3f3
package
com
.
gic
.
auth
.
utils
.
resourcegroup
;
import
java.util.Collections
;
import
java.util.List
;
import
org.apache.commons.collections.CollectionUtils
;
import
com.gic.auth.constant.ResourceHoldEnum
;
import
com.gic.auth.dto.StoreResourceDTO
;
import
com.gic.auth.entity.TabSysResourceGroup
;
import
com.gic.auth.utils.ApplicationContextUtils
;
import
com.gic.store.service.StoreWidgetApiService
;
/**
* 资源组-门店资源
* @ClassName:
* @Description:
* @author guojuxing
* @date 2021/1/12 2:21 PM
*/
public
class
StoreResourceData
implements
IResourceGroupData
{
@Override
public
<
T
>
T
getResourceData
(
TabSysResourceGroup
resourceGroup
)
{
StoreWidgetApiService
storeWidgetApiService
=
ApplicationContextUtils
.
getBean
(
"storeWidgetApiService"
);
Long
storeResource
=
resourceGroup
.
getStoreResource
();
StoreResourceDTO
defaultResource
=
getResourceDataWhenNoExist
();
if
(
storeResource
==
null
)
{
return
(
T
)
defaultResource
;
}
List
<
Integer
>
result
=
storeWidgetApiService
.
listStoreIdByStoreWidgetId
(
resourceGroup
.
getEnterpriseId
(),
storeResource
.
intValue
()).
getResult
();
if
(
CollectionUtils
.
isNotEmpty
(
result
))
{
defaultResource
.
setStoreIdList
(
result
);
}
return
(
T
)
defaultResource
;
}
@Override
public
<
T
>
T
getResourceDataForAdmin
()
{
// 是超管就返回所有
StoreResourceDTO
superAdminResource
=
new
StoreResourceDTO
();
superAdminResource
.
setType
(
ResourceHoldEnum
.
ALL
.
getCode
());
return
(
T
)
superAdminResource
;
}
@Override
public
<
T
>
T
getResourceDataWhenNoExist
()
{
StoreResourceDTO
defaultResource
=
new
StoreResourceDTO
();
defaultResource
.
setType
(
ResourceHoldEnum
.
DART
.
getCode
());
defaultResource
.
setStoreIdList
(
Collections
.
emptyList
());
return
(
T
)
defaultResource
;
}
}
gic-platform-auth-web/src/main/java/com/gic/auth/web/controller/LoginController.java
View file @
7226c3f3
...
...
@@ -3,10 +3,7 @@ package com.gic.auth.web.controller;
import
com.alibaba.fastjson.JSON
;
import
com.gic.api.base.commons.ServiceResponse
;
import
com.gic.auth.constant.LoginUserTypeEnum
;
import
com.gic.auth.dto.MenuDTO
;
import
com.gic.auth.dto.ResourceDTO
;
import
com.gic.auth.dto.UserDTO
;
import
com.gic.auth.dto.UserResourceDTO
;
import
com.gic.auth.dto.*
;
import
com.gic.auth.service.*
;
import
com.gic.auth.web.vo.ChannelResourceVO
;
import
com.gic.commons.annotation.HeaderSignIgnore
;
...
...
@@ -14,10 +11,7 @@ import com.gic.commons.util.EntityUtil;
import
com.gic.commons.util.Md5Util
;
import
com.gic.commons.webapi.reponse.RestResponse
;
import
com.gic.enterprise.ano.IgnoreLogin
;
import
com.gic.enterprise.base.EnterpriseInfo
;
import
com.gic.enterprise.base.MenuInfo
;
import
com.gic.enterprise.base.UserInfo
;
import
com.gic.enterprise.base.UserResourceInfo
;
import
com.gic.enterprise.base.*
;
import
com.gic.enterprise.constant.EnterpriseStatusTypeEnum
;
import
com.gic.enterprise.constants.Constants
;
import
com.gic.enterprise.context.UserContext
;
...
...
@@ -278,6 +272,17 @@ public class LoginController {
detail
.
setUserResourceInfo
(
new
UserResourceInfo
());
if
(
resource
.
isSuccess
()
&&
resource
.
getResult
()
!=
null
)
{
//查询管理员的资源组信息
ServiceResponse
<
ResourceGroupDataDTO
>
response
=
resourceGroupApiService
.
getResourceGroupByUserId
(
userId
);
if
(
resource
.
isSuccess
())
{
ResourceGroupDataDTO
resourceGroupDataDTO
=
response
.
getResult
();
detail
.
setCustomUserInfo
(
EntityUtil
.
changeEntityNew
(
CustomUserInfo
.
class
,
resourceGroupDataDTO
.
getCustomUserAreaDTO
()));
detail
.
setStoreResourceInfo
(
EntityUtil
.
changeEntityNew
(
StoreResourceInfo
.
class
,
resourceGroupDataDTO
.
getStoreResourceDTO
()));
detail
.
setGoodsResourceInfo
(
EntityUtil
.
changeEntityNew
(
GoodsResourceInfo
.
class
,
resourceGroupDataDTO
.
getGoodsResourceDTO
()));
}
else
{
detail
.
setCustomUserInfo
(
new
CustomUserInfo
());
detail
.
setGoodsResourceInfo
(
new
GoodsResourceInfo
());
detail
.
setStoreResourceInfo
(
new
StoreResourceInfo
());
}
//todo 暂时保留旧代码,防止环境报错,等前端同步,删除
ServiceResponse
<
ResourceDTO
>
serviceResource
=
this
.
resourceApiService
.
getResource
(
resource
.
getResult
().
getResourceId
());
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment