Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Contribute to GitLab
Sign in / Register
Toggle navigation
D
dsk-cr20g
Project
Project
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
Administrator
dsk-cr20g
Commits
0e651e38
Commit
0e651e38
authored
Nov 29, 2023
by
danfuman
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'V20230915' of
http://192.168.60.201/root/dsk-operate-sys
into V20230915
parents
0dbd8f7e
5dd4842d
Changes
26
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
26 changed files
with
558 additions
and
392 deletions
+558
-392
SysLoginController.java
...ava/com/dsk/web/controller/system/SysLoginController.java
+23
-20
application-dev.yml
dsk-admin/src/main/resources/application-dev.yml
+4
-4
application-prod.yml
dsk-admin/src/main/resources/application-prod.yml
+1
-1
application-test.yml
dsk-admin/src/main/resources/application-test.yml
+1
-1
LoginBody.java
...main/java/com/dsk/common/core/domain/model/LoginBody.java
+1
-1
RegisterBody.java
...n/java/com/dsk/common/core/domain/model/RegisterBody.java
+13
-0
FileUploadUtils.java
.../main/java/com/dsk/common/utils/file/FileUploadUtils.java
+2
-1
BusinessFileController.java
...n/java/com/dsk/biz/controller/BusinessFileController.java
+1
-1
RegionalEconomicDataController.java
...om/dsk/jsk/controller/RegionalEconomicDataController.java
+1
-0
JskCombineSearchDto.java
...src/main/java/com/dsk/jsk/domain/JskCombineSearchDto.java
+8
-0
ExportService.java
...i/src/main/java/com/dsk/search/service/ExportService.java
+3
-1
GoViewProjectAPIController.java
...dsk/biz/goview/controller/GoViewProjectAPIController.java
+159
-156
.env.development
dsk-operate-ui/.env.development
+4
-1
.env.production
dsk-operate-ui/.env.production
+3
-0
.env.test
dsk-operate-ui/.env.test
+4
-1
config.js
dsk-operate-ui/src/api/system/config.js
+23
-9
auth.js
dsk-operate-ui/src/utils/auth.js
+15
-9
index.vue
dsk-operate-ui/src/views/bi/index.vue
+38
-0
index.vue
dsk-operate-ui/src/views/detail/party-a/cooperate/index.vue
+42
-11
index.vue
dsk-operate-ui/src/views/detail/party-a/index.vue
+6
-1
index.vue
dsk-operate-ui/src/views/index.vue
+8
-6
index.vue
dsk-operate-ui/src/views/system/config/index.vue
+147
-126
index.vue
dsk-operate-ui/src/views/system/user/index.vue
+5
-5
SysLoginService.java
...src/main/java/com/dsk/system/service/SysLoginService.java
+37
-35
SysUserServiceImpl.java
.../java/com/dsk/system/service/impl/SysUserServiceImpl.java
+5
-2
DskOpenApiUtil.java
...em/src/main/java/com/dsk/system/utils/DskOpenApiUtil.java
+4
-0
No files found.
dsk-admin/src/main/java/com/dsk/web/controller/system/SysLoginController.java
View file @
0e651e38
...
@@ -12,8 +12,11 @@ import cn.hutool.core.util.ReUtil;
...
@@ -12,8 +12,11 @@ import cn.hutool.core.util.ReUtil;
import
com.dsk.common.constant.Constants
;
import
com.dsk.common.constant.Constants
;
import
com.dsk.common.constant.GlobalConstants
;
import
com.dsk.common.constant.GlobalConstants
;
import
com.dsk.common.core.domain.R
;
import
com.dsk.common.core.domain.R
;
import
com.dsk.common.exception.ServiceException
;
import
com.dsk.common.tenant.helper.TenantHelper
;
import
com.dsk.common.tenant.helper.TenantHelper
;
import
com.dsk.common.utils.StringUtils
;
import
com.dsk.common.utils.redis.RedisUtils
;
import
com.dsk.common.utils.redis.RedisUtils
;
import
com.dsk.jsk.util.IpUtil
;
import
com.dsk.system.domain.SysMenu
;
import
com.dsk.system.domain.SysMenu
;
import
com.dsk.system.domain.SysUser
;
import
com.dsk.system.domain.SysUser
;
import
com.dsk.common.core.domain.model.EmailLoginBody
;
import
com.dsk.common.core.domain.model.EmailLoginBody
;
...
@@ -64,23 +67,18 @@ public class SysLoginController {
...
@@ -64,23 +67,18 @@ public class SysLoginController {
@SaIgnore
@SaIgnore
@PostMapping
(
"/login"
)
@PostMapping
(
"/login"
)
public
R
<
LoginVo
>
login
(
@Validated
@RequestBody
LoginBody
loginBody
,
HttpServletRequest
request
)
{
public
R
<
LoginVo
>
login
(
@Validated
@RequestBody
LoginBody
loginBody
,
HttpServletRequest
request
)
{
// Map<String, Object> ajax = new HashMap<>();
// Map<String, Object> ajax = new HashMap<>();
// 生成令牌
// 生成令牌
// LoginVo loginVo = loginService.login(loginBody.getUsername(), loginBody.getPassword(), loginBody.getCode(),
// LoginVo loginVo = loginService.login(loginBody.getUsername(), loginBody.getPassword(), loginBody.getCode(),
// loginBody.getUuid());
// loginBody.getUuid());
// ajax.put(Constants.TOKEN, token);
// ajax.put(Constants.TOKEN, token);
// return R.ok(ajax);
// return R.ok(ajax);
String
ipAddr
=
IpUtil
.
getIpAddr
(
request
);
LoginVo
loginVo
=
loginService
.
passwordLogin
(
loginBody
,
ipAddr
);
LoginVo
loginVo
=
loginService
.
passwordLogin
(
loginBody
);
return
R
.
ok
(
loginVo
);
return
R
.
ok
(
loginVo
);
}
}
// /**
// /**
// * 发送短信验证码
// * 发送短信验证码
// *
// *
...
@@ -107,20 +105,18 @@ public class SysLoginController {
...
@@ -107,20 +105,18 @@ public class SysLoginController {
@PostMapping
(
"/smsLogin"
)
@PostMapping
(
"/smsLogin"
)
public
R
<
LoginVo
>
smsLogin
(
@Validated
@RequestBody
SmsLoginBody
smsLoginBody
)
{
public
R
<
LoginVo
>
smsLogin
(
@Validated
@RequestBody
SmsLoginBody
smsLoginBody
)
{
// 生成令牌
// 生成令牌
LoginVo
loginVo
=
loginService
.
smsLogin
(
smsLoginBody
.
getPhonenumber
(),
smsLoginBody
.
getSmsCode
());
LoginVo
loginVo
=
loginService
.
smsLogin
(
smsLoginBody
.
getPhonenumber
(),
smsLoginBody
.
getSmsCode
());
return
R
.
ok
(
loginVo
);
return
R
.
ok
(
loginVo
);
}
}
/**
/**
* 动态切换租户
* 动态切换租户
*
*/
*/
@SaCheckLogin
@SaCheckLogin
@PostMapping
(
"/switch/tenant"
)
@PostMapping
(
"/switch/tenant"
)
public
R
<
LoginVo
>
switchTenant
(
String
tenantId
)
{
public
R
<
LoginVo
>
switchTenant
(
String
tenantId
)
{
LoginVo
loginVo
=
loginService
.
switchTenant
(
tenantId
);
LoginVo
loginVo
=
loginService
.
switchTenant
(
tenantId
);
return
R
.
ok
(
loginVo
);
return
R
.
ok
(
loginVo
);
}
}
...
@@ -134,7 +130,7 @@ public class SysLoginController {
...
@@ -134,7 +130,7 @@ public class SysLoginController {
@PostMapping
(
"/user/tenants"
)
@PostMapping
(
"/user/tenants"
)
public
R
<
List
<
SysTenantVo
>>
userTenants
()
{
public
R
<
List
<
SysTenantVo
>>
userTenants
()
{
LoginUser
loginUser
=
LoginHelper
.
getLoginUser
();
LoginUser
loginUser
=
LoginHelper
.
getLoginUser
();
List
<
SysTenantVo
>
tenantList
=
loginService
.
tenantListByAccount
(
loginUser
.
getUserPhone
());
List
<
SysTenantVo
>
tenantList
=
loginService
.
tenantListByAccount
(
loginUser
.
getUserPhone
());
return
R
.
ok
(
tenantList
);
return
R
.
ok
(
tenantList
);
}
}
...
@@ -146,12 +142,12 @@ public class SysLoginController {
...
@@ -146,12 +142,12 @@ public class SysLoginController {
*/
*/
@SaIgnore
@SaIgnore
@PostMapping
(
"/user/tenant/list"
)
@PostMapping
(
"/user/tenant/list"
)
public
R
<
List
<
SysTenantVo
>>
userTenantList
(
String
phone
)
{
public
R
<
List
<
SysTenantVo
>>
userTenantList
(
String
phone
)
{
if
(!
ReUtil
.
isMatch
(
RegexPool
.
MOBILE
,
phone
))
{
if
(!
ReUtil
.
isMatch
(
RegexPool
.
MOBILE
,
phone
))
{
return
R
.
ok
(
new
ArrayList
<>());
return
R
.
ok
(
new
ArrayList
<>());
}
}
List
<
SysTenantVo
>
tenantList
=
loginService
.
tenantListByAccount
(
phone
);
List
<
SysTenantVo
>
tenantList
=
loginService
.
tenantListByAccount
(
phone
);
if
(
CollectionUtil
.
isNotEmpty
(
tenantList
))
{
if
(
CollectionUtil
.
isNotEmpty
(
tenantList
))
{
for
(
SysTenantVo
sysTenantVo
:
tenantList
)
{
for
(
SysTenantVo
sysTenantVo
:
tenantList
)
{
sysTenantVo
.
setCompanyName
(
""
);
sysTenantVo
.
setCompanyName
(
""
);
}
}
...
@@ -161,21 +157,23 @@ public class SysLoginController {
...
@@ -161,21 +157,23 @@ public class SysLoginController {
/**
/**
* 获取当前用户默认租户
* 获取当前用户默认租户
*
* @return
* @return
*/
*/
@SaCheckLogin
@SaCheckLogin
@PostMapping
(
"/user/default/tenant"
)
@PostMapping
(
"/user/default/tenant"
)
public
R
<
Map
>
userDefaultTenant
()
{
public
R
<
Map
>
userDefaultTenant
()
{
LoginUser
loginUser
=
LoginHelper
.
getLoginUser
();
LoginUser
loginUser
=
LoginHelper
.
getLoginUser
();
Assert
.
notNull
(
loginUser
,
"用户信息不存在!"
);
Assert
.
notNull
(
loginUser
,
"用户信息不存在!"
);
String
defaultTenantKey
=
GlobalConstants
.
PHONE_DEFAULT_TENANT
+
loginUser
.
getUserPhone
();
String
defaultTenantKey
=
GlobalConstants
.
PHONE_DEFAULT_TENANT
+
loginUser
.
getUserPhone
();
String
defaultTenant
=
RedisUtils
.
getCacheObject
(
defaultTenantKey
);
String
defaultTenant
=
RedisUtils
.
getCacheObject
(
defaultTenantKey
);
return
R
.
ok
(
MapUtil
.
of
(
"tenantId"
,
defaultTenant
));
return
R
.
ok
(
MapUtil
.
of
(
"tenantId"
,
defaultTenant
));
}
}
/**
/**
* 获取当前用户默认租户
* 获取当前用户默认租户
*
* @return
* @return
*/
*/
@SaIgnore
@SaIgnore
...
@@ -185,7 +183,7 @@ public class SysLoginController {
...
@@ -185,7 +183,7 @@ public class SysLoginController {
// Assert.notNull(loginUser,"用户信息不存在!");
// Assert.notNull(loginUser,"用户信息不存在!");
String
defaultTenantKey
=
GlobalConstants
.
PHONE_DEFAULT_TENANT
+
phone
;
String
defaultTenantKey
=
GlobalConstants
.
PHONE_DEFAULT_TENANT
+
phone
;
String
defaultTenant
=
RedisUtils
.
getCacheObject
(
defaultTenantKey
);
String
defaultTenant
=
RedisUtils
.
getCacheObject
(
defaultTenantKey
);
return
R
.
ok
(
MapUtil
.
of
(
"tenantId"
,
defaultTenant
));
return
R
.
ok
(
MapUtil
.
of
(
"tenantId"
,
defaultTenant
));
}
}
/**
/**
...
@@ -235,8 +233,13 @@ public class SysLoginController {
...
@@ -235,8 +233,13 @@ public class SysLoginController {
* @return 用户信息
* @return 用户信息
*/
*/
@GetMapping
(
"getInfo"
)
@GetMapping
(
"getInfo"
)
public
R
<
Map
<
String
,
Object
>>
getInfo
()
{
public
R
<
Map
<
String
,
Object
>>
getInfo
(
HttpServletRequest
request
)
{
LoginUser
loginUser
=
LoginHelper
.
getLoginUser
();
LoginUser
loginUser
=
LoginHelper
.
getLoginUser
();
//校验当前发请求的IP与登录账号的IP是否相同
String
loginUserIpaddr
=
loginUser
.
getIpaddr
();
if
(
StringUtils
.
isNotBlank
(
loginUserIpaddr
)
&&
!
Objects
.
equals
(
IpUtil
.
getIpAddr
(
request
),
loginUserIpaddr
))
{
throw
new
ServiceException
(
"该账号已在其他地方登录,请求失败!"
,
401
);
}
SysUser
user
=
userService
.
selectUserById
(
loginUser
.
getUserId
());
SysUser
user
=
userService
.
selectUserById
(
loginUser
.
getUserId
());
Map
<
String
,
Object
>
ajax
=
new
HashMap
<>();
Map
<
String
,
Object
>
ajax
=
new
HashMap
<>();
ajax
.
put
(
"user"
,
user
);
ajax
.
put
(
"user"
,
user
);
...
...
dsk-admin/src/main/resources/application-dev.yml
View file @
0e651e38
...
@@ -49,9 +49,9 @@ spring:
...
@@ -49,9 +49,9 @@ spring:
driverClassName
:
com.mysql.cj.jdbc.Driver
driverClassName
:
com.mysql.cj.jdbc.Driver
# jdbc 所有参数配置参考 https://lionli.blog.csdn.net/article/details/122018562
# jdbc 所有参数配置参考 https://lionli.blog.csdn.net/article/details/122018562
# rewriteBatchedStatements=true 批处理优化 大幅提升批量插入更新删除性能(对数据库有性能损耗 使用批量操作应考虑性能问题)
# rewriteBatchedStatements=true 批处理优化 大幅提升批量插入更新删除性能(对数据库有性能损耗 使用批量操作应考虑性能问题)
url
:
jdbc:mysql://
47.104.91.22
9:3306/dsk_operate?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
url
:
jdbc:mysql://
120.46.64.23
9:3306/dsk_operate?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
username
:
dev
username
:
d
skd
ev
password
:
zfTFIJjaN#6xB83r
password
:
encPHwi8dbKeL8ZX
# 从库数据源
# 从库数据源
# slave:
# slave:
# lazy: true
# lazy: true
...
@@ -101,7 +101,7 @@ spring:
...
@@ -101,7 +101,7 @@ spring:
---
# redis 单机配置(单机与集群只能开启一个另一个需要注释掉)
---
# redis 单机配置(单机与集群只能开启一个另一个需要注释掉)
spring
:
spring
:
redis
:
redis
:
host
:
1
39.9.157.4
9
host
:
1
20.46.64.23
9
# 端口,默认为6379
# 端口,默认为6379
port
:
6379
port
:
6379
# 数据库索引
# 数据库索引
...
...
dsk-admin/src/main/resources/application-prod.yml
View file @
0e651e38
...
@@ -108,7 +108,7 @@ spring:
...
@@ -108,7 +108,7 @@ spring:
# 端口,默认为6379
# 端口,默认为6379
port
:
6379
port
:
6379
# 数据库索引
# 数据库索引
database
:
6
database
:
13
# 密码
# 密码
password
:
Xi8$r*@d7zn5FaP2
password
:
Xi8$r*@d7zn5FaP2
# 密码(如没有密码请注释掉)
# 密码(如没有密码请注释掉)
...
...
dsk-admin/src/main/resources/application-test.yml
View file @
0e651e38
...
@@ -105,7 +105,7 @@ spring:
...
@@ -105,7 +105,7 @@ spring:
# 端口,默认为6379
# 端口,默认为6379
port
:
6379
port
:
6379
# 数据库索引
# 数据库索引
database
:
1
0
database
:
1
3
# 密码
# 密码
password
:
zfTFIJjaN#6xB83r
password
:
zfTFIJjaN#6xB83r
# 密码(如没有密码请注释掉)
# 密码(如没有密码请注释掉)
...
...
dsk-common/src/main/java/com/dsk/common/core/domain/model/LoginBody.java
View file @
0e651e38
...
@@ -30,7 +30,7 @@ public class LoginBody {
...
@@ -30,7 +30,7 @@ public class LoginBody {
* 用户密码
* 用户密码
*/
*/
@NotBlank
(
message
=
"{user.password.not.blank}"
)
@NotBlank
(
message
=
"{user.password.not.blank}"
)
@Length
(
min
=
UserConstants
.
PASSWORD_MIN_LENGTH
,
max
=
UserConstants
.
PASSWORD_MAX_LENGTH
,
message
=
"{user.password.length.valid}"
)
//
@Length(min = UserConstants.PASSWORD_MIN_LENGTH, max = UserConstants.PASSWORD_MAX_LENGTH, message = "{user.password.length.valid}")
private
String
password
;
private
String
password
;
/**
/**
...
...
dsk-common/src/main/java/com/dsk/common/core/domain/model/RegisterBody.java
View file @
0e651e38
package
com
.
dsk
.
common
.
core
.
domain
.
model
;
package
com
.
dsk
.
common
.
core
.
domain
.
model
;
import
com.dsk.common.constant.UserConstants
;
import
lombok.Data
;
import
lombok.Data
;
import
lombok.EqualsAndHashCode
;
import
lombok.EqualsAndHashCode
;
import
org.hibernate.validator.constraints.Length
;
import
javax.validation.constraints.NotBlank
;
/**
/**
* 用户注册对象
* 用户注册对象
...
@@ -11,7 +15,16 @@ import lombok.EqualsAndHashCode;
...
@@ -11,7 +15,16 @@ import lombok.EqualsAndHashCode;
@Data
@Data
@EqualsAndHashCode
(
callSuper
=
true
)
@EqualsAndHashCode
(
callSuper
=
true
)
public
class
RegisterBody
extends
LoginBody
{
public
class
RegisterBody
extends
LoginBody
{
/**
* 用户密码
*/
@NotBlank
(
message
=
"{user.password.not.blank}"
)
@Length
(
min
=
UserConstants
.
PASSWORD_MIN_LENGTH
,
max
=
UserConstants
.
PASSWORD_MAX_LENGTH
,
message
=
"{user.password.length.valid}"
)
private
String
password
;
/**
* 用户类型
*/
private
String
userType
;
private
String
userType
;
}
}
dsk-common/src/main/java/com/dsk/common/utils/file/FileUploadUtils.java
View file @
0e651e38
...
@@ -116,7 +116,8 @@ public class FileUploadUtils
...
@@ -116,7 +116,8 @@ public class FileUploadUtils
// String fileName = extractFilename(file);
// String fileName = extractFilename(file);
// String absPath = getAbsoluteFile(baseDir, fileName).getAbsolutePath();
// String absPath = getAbsoluteFile(baseDir, fileName).getAbsolutePath();
String
absPath
=
getAbsoluteFile
(
baseDir
,
file
.
getOriginalFilename
()).
getAbsolutePath
();
String
fileName
=
new
String
(
file
.
getOriginalFilename
().
getBytes
(
"ISO-8859-1"
),
"UTF-8"
);
String
absPath
=
getAbsoluteFile
(
baseDir
,
fileName
).
getAbsolutePath
();
file
.
transferTo
(
Paths
.
get
(
absPath
));
file
.
transferTo
(
Paths
.
get
(
absPath
));
// return getPathFileName(baseDir, fileName);
// return getPathFileName(baseDir, fileName);
return
baseDir
+
file
.
getOriginalFilename
();
return
baseDir
+
file
.
getOriginalFilename
();
...
...
dsk-module/dsk-biz-api/src/main/java/com/dsk/biz/controller/BusinessFileController.java
View file @
0e651e38
...
@@ -78,7 +78,7 @@ public class BusinessFileController extends BaseController {
...
@@ -78,7 +78,7 @@ public class BusinessFileController extends BaseController {
public
AjaxResult
uploadFolder
(
@RequestPart
(
"file"
)
MultipartFile
file
,
HttpServletRequest
request
)
{
public
AjaxResult
uploadFolder
(
@RequestPart
(
"file"
)
MultipartFile
file
,
HttpServletRequest
request
)
{
try
{
try
{
//获取文件名
//获取文件名
String
filename
=
file
.
getOriginalFilename
(
);
String
filename
=
new
String
(
file
.
getOriginalFilename
().
getBytes
(
"ISO-8859-1"
),
"UTF-8"
);
String
businessFileName
=
request
.
getHeader
(
"FilePath"
);
String
businessFileName
=
request
.
getHeader
(
"FilePath"
);
// 上传文件路径
// 上传文件路径
String
filePath
=
FileUploadUtils
.
getDefaultBaseDir
()
+
businessFileName
+
"/"
;
String
filePath
=
FileUploadUtils
.
getDefaultBaseDir
()
+
businessFileName
+
"/"
;
...
...
dsk-module/dsk-biz-api/src/main/java/com/dsk/jsk/controller/RegionalEconomicDataController.java
View file @
0e651e38
...
@@ -78,6 +78,7 @@ public class RegionalEconomicDataController {
...
@@ -78,6 +78,7 @@ public class RegionalEconomicDataController {
@PostMapping
(
value
=
"location"
)
@PostMapping
(
value
=
"location"
)
public
AjaxResult
location
(
@RequestBody
OpRegionalLocalDto
vo
,
HttpServletRequest
request
){
public
AjaxResult
location
(
@RequestBody
OpRegionalLocalDto
vo
,
HttpServletRequest
request
){
String
ip
=
IpUtil
.
getIpAddr
(
request
);
String
ip
=
IpUtil
.
getIpAddr
(
request
);
log
.
info
(
"location=====================================================>"
+
ip
);
vo
.
setIp
(
ip
);
vo
.
setIp
(
ip
);
return
economicService
.
location
(
vo
);
return
economicService
.
location
(
vo
);
}
}
...
...
dsk-module/dsk-biz-api/src/main/java/com/dsk/jsk/domain/JskCombineSearchDto.java
View file @
0e651e38
...
@@ -27,6 +27,10 @@ public class JskCombineSearchDto implements Serializable {
...
@@ -27,6 +27,10 @@ public class JskCombineSearchDto implements Serializable {
* 筛选参数
* 筛选参数
*/
*/
private
String
searchValue
;
private
String
searchValue
;
/**
* 筛选参数
*/
private
String
keys
;
/**
/**
* 集团层级
* 集团层级
*/
*/
...
@@ -59,6 +63,10 @@ public class JskCombineSearchDto implements Serializable {
...
@@ -59,6 +63,10 @@ public class JskCombineSearchDto implements Serializable {
* 科技型企业类型
* 科技型企业类型
*/
*/
private
List
<
String
>
companyTypes
;
private
List
<
String
>
companyTypes
;
/**
* 招标采购分类
*/
private
List
<
String
>
subjectMatters
;
/**
/**
* 企业类型
* 企业类型
*/
*/
...
...
dsk-module/dsk-biz-api/src/main/java/com/dsk/search/service/ExportService.java
View file @
0e651e38
...
@@ -158,7 +158,9 @@ public class ExportService {
...
@@ -158,7 +158,9 @@ public class ExportService {
Map
<
String
,
Object
>
dataMap
=
CommonUtils
.
assertAsMap
(
obj
);
Map
<
String
,
Object
>
dataMap
=
CommonUtils
.
assertAsMap
(
obj
);
vo
.
setId
(
i
++);
vo
.
setId
(
i
++);
vo
.
setCompanyName
(
MapUtil
.
getStr
(
dataMap
,
"companyName"
));
vo
.
setCompanyName
(
MapUtil
.
getStr
(
dataMap
,
"companyName"
));
if
(
null
!=
pageDto
.
getKeys
()){
vo
.
setCompanyName
(
MapUtil
.
getStr
(
dataMap
,
"companyName"
));
}
StringBuilder
domicile
=
new
StringBuilder
();
StringBuilder
domicile
=
new
StringBuilder
();
if
(
null
!=
dataMap
.
get
(
"province"
))
{
if
(
null
!=
dataMap
.
get
(
"province"
))
{
domicile
.
append
(
MapUtil
.
getStr
(
dataMap
,
"province"
));
domicile
.
append
(
MapUtil
.
getStr
(
dataMap
,
"province"
));
...
...
dsk-module/dsk-biz-bi/src/main/java/com/dsk/biz/goview/controller/GoViewProjectAPIController.java
View file @
0e651e38
This diff is collapsed.
Click to expand it.
dsk-operate-ui/.env.development
View file @
0e651e38
...
@@ -13,4 +13,7 @@ VUE_CLI_BABEL_TRANSPILE_MODULES = true
...
@@ -13,4 +13,7 @@ VUE_CLI_BABEL_TRANSPILE_MODULES = true
# 子系统地址
# 子系统地址
# VUE_APP_SUB_SYSTEM_ADDRESS = "https://pre-plug.jiansheku.com"
# VUE_APP_SUB_SYSTEM_ADDRESS = "https://pre-plug.jiansheku.com"
VUE_APP_SUB_SYSTEM_ADDRESS = "http://192.168.60.104:3400"
VUE_APP_SUB_SYSTEM_ADDRESS = "http://192.168.60.104:3400"
\ No newline at end of file
# Bi大屏系统地址
VUE_APP_BI_SYSTEM_ADDRESS = "https://192.168.60.104:8001"
\ No newline at end of file
dsk-operate-ui/.env.production
View file @
0e651e38
...
@@ -9,3 +9,6 @@ VUE_APP_BASE_API = 'https://szhapi.jiansheku.com'
...
@@ -9,3 +9,6 @@ VUE_APP_BASE_API = 'https://szhapi.jiansheku.com'
# 子系统地址
# 子系统地址
VUE_APP_SUB_SYSTEM_ADDRESS = "https://plug.jiansheku.com"
VUE_APP_SUB_SYSTEM_ADDRESS = "https://plug.jiansheku.com"
# Bi大屏系统地址
VUE_APP_BI_SYSTEM_ADDRESS = "https://192.168.60.104:8001"
dsk-operate-ui/.env.test
View file @
0e651e38
...
@@ -12,4 +12,7 @@ ENV = 'test'
...
@@ -12,4 +12,7 @@ ENV = 'test'
VUE_APP_BASE_API
=
'/prod-api'
VUE_APP_BASE_API
=
'/prod-api'
# 子系统地址
# 子系统地址
VUE_APP_SUB_SYSTEM_ADDRESS
=
"https://pre-plug.jiansheku.com"
VUE_APP_SUB_SYSTEM_ADDRESS
=
"https://pre-plug.jiansheku.com"
\ No newline at end of file
# Bi大屏系统地址
VUE_APP_BI_SYSTEM_ADDRESS
=
"https://192.168.60.104:8001"
\ No newline at end of file
dsk-operate-ui/src/api/system/config.js
View file @
0e651e38
import
request
from
'@/utils/request'
import
request
from
'@/utils/request'
;
// 查询参数列表
// 查询参数列表
export
function
listConfig
(
query
)
{
export
function
listConfig
(
query
)
{
...
@@ -6,7 +6,7 @@ export function listConfig(query) {
...
@@ -6,7 +6,7 @@ export function listConfig(query) {
url
:
'/system/config/list'
,
url
:
'/system/config/list'
,
method
:
'get'
,
method
:
'get'
,
params
:
query
params
:
query
})
})
;
}
}
// 查询参数详细
// 查询参数详细
...
@@ -14,7 +14,7 @@ export function getConfig(configId) {
...
@@ -14,7 +14,7 @@ export function getConfig(configId) {
return
request
({
return
request
({
url
:
'/system/config/'
+
configId
,
url
:
'/system/config/'
+
configId
,
method
:
'get'
method
:
'get'
})
})
;
}
}
// 根据参数键名查询参数值
// 根据参数键名查询参数值
...
@@ -22,7 +22,7 @@ export function getConfigKey(configKey) {
...
@@ -22,7 +22,7 @@ export function getConfigKey(configKey) {
return
request
({
return
request
({
url
:
'/system/config/configKey/'
+
configKey
,
url
:
'/system/config/configKey/'
+
configKey
,
method
:
'get'
method
:
'get'
})
})
;
}
}
// 新增参数配置
// 新增参数配置
...
@@ -31,7 +31,7 @@ export function addConfig(data) {
...
@@ -31,7 +31,7 @@ export function addConfig(data) {
url
:
'/system/config'
,
url
:
'/system/config'
,
method
:
'post'
,
method
:
'post'
,
data
:
data
data
:
data
})
})
;
}
}
// 修改参数配置
// 修改参数配置
...
@@ -40,9 +40,23 @@ export function updateConfig(data) {
...
@@ -40,9 +40,23 @@ export function updateConfig(data) {
url
:
'/system/config'
,
url
:
'/system/config'
,
method
:
'put'
,
method
:
'put'
,
data
:
data
data
:
data
})
})
;
}
}
// 新增租户参数配置
export
const
addTenantConfig
=
(
data
)
=>
request
({
url
:
"/system/config/tenant/add"
,
method
:
"post"
,
data
});
// 修改租户参数配置
export
const
updateTenantConfig
=
(
data
)
=>
request
({
url
:
"/system/config/tenant/add"
,
method
:
"put"
,
data
});
// 修改参数配置
// 修改参数配置
export
function
updateConfigByKey
(
key
,
value
)
{
export
function
updateConfigByKey
(
key
,
value
)
{
return
request
({
return
request
({
...
@@ -52,7 +66,7 @@ export function updateConfigByKey(key, value) {
...
@@ -52,7 +66,7 @@ export function updateConfigByKey(key, value) {
configKey
:
key
,
configKey
:
key
,
configValue
:
value
configValue
:
value
}
}
})
})
;
}
}
// 删除参数配置
// 删除参数配置
...
@@ -60,7 +74,7 @@ export function delConfig(configId) {
...
@@ -60,7 +74,7 @@ export function delConfig(configId) {
return
request
({
return
request
({
url
:
'/system/config/'
+
configId
,
url
:
'/system/config/'
+
configId
,
method
:
'delete'
method
:
'delete'
})
})
;
}
}
// 刷新参数缓存
// 刷新参数缓存
...
@@ -68,6 +82,6 @@ export function refreshCache() {
...
@@ -68,6 +82,6 @@ export function refreshCache() {
return
request
({
return
request
({
url
:
'/system/config/refreshCache'
,
url
:
'/system/config/refreshCache'
,
method
:
'delete'
method
:
'delete'
})
})
;
}
}
dsk-operate-ui/src/utils/auth.js
View file @
0e651e38
import
Cookies
from
'js-cookie'
import
Cookies
from
'js-cookie'
;
const
TokenKey
=
'Admin-Token'
const
TokenKey
=
'Admin-Token'
;
const
Tenantid
=
'Tenantid'
const
Tenantid
=
'Tenantid'
;
export
function
getToken
()
{
export
function
getToken
()
{
return
Cookies
.
get
(
TokenKey
)
return
Cookies
.
get
(
TokenKey
)
;
}
}
export
function
getTenantid
()
{
export
function
getTenantid
()
{
return
Cookies
.
get
(
Tenantid
)
return
Cookies
.
get
(
Tenantid
)
;
}
}
export
function
setToken
(
token
)
{
export
function
setToken
(
token
)
{
return
Cookies
.
set
(
TokenKey
,
token
)
return
Cookies
.
set
(
TokenKey
,
token
)
;
}
}
export
function
setTenantid
(
id
)
{
export
function
setTenantid
(
id
)
{
return
Cookies
.
set
(
Tenantid
,
id
)
return
Cookies
.
set
(
Tenantid
,
id
)
;
}
}
export
function
removeToken
()
{
export
function
removeToken
()
{
return
Cookies
.
remove
(
TokenKey
)
return
Cookies
.
remove
(
TokenKey
)
;
}
}
export
function
removeTenantid
()
{
export
function
removeTenantid
()
{
return
Cookies
.
remove
(
Tenantid
)
return
Cookies
.
remove
(
Tenantid
);
}
export
function
setBiAuth
(
token
)
{
if
(
!
token
)
return
false
;
sessionStorage
.
setItem
(
"DSK_SYSTEM_AUTH_TOKEN"
,
token
);
return
true
;
}
}
dsk-operate-ui/src/views/bi/index.vue
0 → 100644
View file @
0e651e38
<
script
>
import
{
getToken
}
from
"@/utils/auth"
;
export
default
{
name
:
"bi"
,
data
()
{
return
{
};
},
//可访问data属性
created
()
{
},
//计算集
computed
:
{
},
//方法集
methods
:
{
async
closeOuterTab
()
{
await
this
.
$nextTick
();
this
.
$tab
.
closePage
();
}
},
render
(
h
)
{
const
token
=
getToken
();
if
(
!
token
)
{
this
.
$message
.
warning
(
"获取auth令牌失败"
);
this
.
closeOuterTab
();
return
;
}
window
.
open
(
`
${
process
.
env
.
VUE_APP_BI_SYSTEM_ADDRESS
}
?DSK_SYSTEM_AUTH_TOKEN=
${
token
}
`
,
"DSK_BI_SYSTEM"
);
this
.
closeOuterTab
();
},
}
</
script
>
<
style
lang=
"scss"
scoped
>
</
style
>
dsk-operate-ui/src/views/detail/party-a/cooperate/index.vue
View file @
0e651e38
<
template
>
<
template
>
<div>
<div
class=
"details-of-cooperation"
>
<template
v-if=
"!isDetailId"
>
<template
v-if=
"!isDetailId"
>
<div
class=
"cooperate"
>
<div
class=
"cooperate"
>
...
@@ -62,8 +62,8 @@
...
@@ -62,8 +62,8 @@
<div
class=
"addhzqk_from"
>
<div
class=
"addhzqk_from"
>
<el-form
:model=
"addParam"
:rules=
"rules"
ref=
"addParam"
size=
"small"
label-width=
"70px"
>
<el-form
:model=
"addParam"
:rules=
"rules"
ref=
"addParam"
size=
"small"
label-width=
"70px"
>
<el-form-item
label=
"项目名称:"
prop=
"projectName"
label-width=
"120px"
>
<el-form-item
label=
"项目名称:"
prop=
"projectName"
label-width=
"120px"
>
<el-input
v-model=
"addParam.projectName"
placeholder=
"请输入项目名称"
@
input=
"
getCompany1
"
></el-input>
<el-input
v-model=
"addParam.projectName"
placeholder=
"请输入项目名称"
@
input=
"
resetProjectSearch();getCompany1()
"
></el-input>
<div
class=
"resultlist"
v-if=
"showlist1"
>
<div
class=
"resultlist"
v-i
nfinite-scroll=
"load"
v-i
f=
"showlist1"
>
<div
v-for=
"(item,index) in companData1"
@
click=
"selCompany1(item.projectName)"
><span
v-html=
"item.projectName"
></span></div>
<div
v-for=
"(item,index) in companData1"
@
click=
"selCompany1(item.projectName)"
><span
v-html=
"item.projectName"
></span></div>
</div>
</div>
</el-form-item>
</el-form-item>
...
@@ -219,6 +219,9 @@ export default {
...
@@ -219,6 +219,9 @@ export default {
//
//
detailId
:
null
,
detailId
:
null
,
isDetailId
:
false
,
isDetailId
:
false
,
projectpage
:
1
,
isscroll
:
false
,
threshold
:
false
,
}
}
},
},
watch
:{
watch
:{
...
@@ -253,6 +256,12 @@ export default {
...
@@ -253,6 +256,12 @@ export default {
},
},
methods
:
{
methods
:
{
load
(){
if
(
this
.
threshold
)
return
;
if
(
this
.
isscroll
){
this
.
getCompany1
()
}
},
handleQuery
(
params
)
{
handleQuery
(
params
)
{
this
.
list
(
params
)
this
.
list
(
params
)
},
},
...
@@ -309,18 +318,33 @@ export default {
...
@@ -309,18 +318,33 @@ export default {
}
}
});
});
},
},
resetProjectSearch
()
{
this
.
companData1
=
[]
this
.
projectpage
=
1
console
.
log
(
this
.
companData1
);
},
//获取项目名称
//获取项目名称
getCompany1
(
value
){
getCompany1
(){
if
(
value
.
length
>=
2
){
if
(
this
.
addParam
?.
projectName
?.
length
>=
2
){
this
.
threshold
=
true
;
let
param
=
{
let
param
=
{
projectName
:
value
,
projectName
:
this
.
addParam
?.
projectName
,
pageSize
:
20
,
pageNum
:
this
.
projectpage
}
}
queryProject
(
JSON
.
stringify
(
param
)).
then
(
result
=>
{
queryProject
(
JSON
.
stringify
(
param
)).
then
(
result
=>
{
if
(
result
.
code
!=
200
)
if
(
result
.
code
!=
200
){
return
return
false
this
.
showlist1
=
true
}
this
.
companData1
=
result
.
data
if
(
result
.
data
&&
result
.
data
?.
length
)
{
})
this
.
showlist1
=
true
;
this
.
isscroll
=
true
this
.
companData1
=
[...
this
.
companData
,...
result
.
data
]
this
.
projectpage
++
;
return
;
}
this
.
isscroll
=
false
;
}).
finally
(()
=>
this
.
threshold
=
false
)
}
}
},
},
selCompany1
(
item
){
selCompany1
(
item
){
...
@@ -632,9 +656,16 @@ export default {
...
@@ -632,9 +656,16 @@ export default {
}
}
::v-deep
.cooperate-detail
{
::v-deep
.cooperate-detail
{
width
:
100%
;
height
:
100%
;
.miantitle
,
.app-container
{
.miantitle
,
.app-container
{
//margin: 12px 0;
//margin: 12px 0;
}
}
}
}
.details-of-cooperation
{
width
:
100%
;
height
:
100%
;
}
</
style
>
</
style
>
dsk-operate-ui/src/views/detail/party-a/index.vue
View file @
0e651e38
...
@@ -7,7 +7,7 @@
...
@@ -7,7 +7,7 @@
:partBoxHeight=
"partBoxHeight"
:customerId=
"customerId"
:isCompany=
"isCompany"
:isCustomer=
"isCustomer"
/>
:partBoxHeight=
"partBoxHeight"
:customerId=
"customerId"
:isCompany=
"isCompany"
:isCustomer=
"isCustomer"
/>
</div>
</div>
<div
class=
"part-right"
>
<div
class=
"part-right"
>
<div
id=
"partBox"
v-if=
"companyId"
>
<div
id=
"partBox"
v-if=
"companyId"
class=
"part-common-container-style"
>
<template
v-if=
"isCompany"
>
<template
v-if=
"isCompany"
>
<!-- 企业概览 -->
<!-- 企业概览 -->
<Overview
v-if=
"currentPath.pathName=='overview'"
:company-id=
"companyId"
:isSkeleton=
"isSkeleton"
:companyInfo=
"companyInfo"
/>
<Overview
v-if=
"currentPath.pathName=='overview'"
:company-id=
"companyId"
:isSkeleton=
"isSkeleton"
:companyInfo=
"companyInfo"
/>
...
@@ -433,5 +433,10 @@ export default {
...
@@ -433,5 +433,10 @@ export default {
overflow
:
auto
;
overflow
:
auto
;
}
}
}
}
.part-common-container-style
{
width
:
100%
;
height
:
100%
;
}
}
}
</
style
>
</
style
>
dsk-operate-ui/src/views/index.vue
View file @
0e651e38
...
@@ -476,7 +476,7 @@
...
@@ -476,7 +476,7 @@
import
CustomTimeSelect
from
'./component/CustomTimeSelect'
import
CustomTimeSelect
from
'./component/CustomTimeSelect'
import
CustomMoneySelect
from
'./component/CustomMoneySelect'
import
CustomMoneySelect
from
'./component/CustomMoneySelect'
import
skeleton
from
'./component/skeleton'
import
skeleton
from
'./component/skeleton'
import
{
countByCompany
,
bidRank
,
bigWinningBidsPage
,
bigBidPage
,
getInfo
}
from
'@/api/index'
import
{
countByCompany
,
bidRank
,
bigWinningBidsPage
,
bigBidPage
}
from
'@/api/index'
import
{
getUipIdByCid
}
from
'@/api/macro/macro'
import
{
getUipIdByCid
}
from
'@/api/macro/macro'
import
api
from
'@/api/radar/radar.js'
;
import
api
from
'@/api/radar/radar.js'
;
import
{
v4
}
from
"uuid"
;
import
{
v4
}
from
"uuid"
;
...
@@ -716,6 +716,11 @@ export default {
...
@@ -716,6 +716,11 @@ export default {
inputID11
:
this
.
getUid
(),
inputID11
:
this
.
getUid
(),
};
};
},
},
watch
:
{
user
(
newValue
)
{
this
.
getPlaceholder
();
}
},
created
()
{
created
()
{
this
.
getPlaceholder
();
this
.
getPlaceholder
();
this
.
searchDic
()
this
.
searchDic
()
...
@@ -736,11 +741,8 @@ export default {
...
@@ -736,11 +741,8 @@ export default {
}).
catch
(
error
=>
{});
}).
catch
(
error
=>
{});
},
},
getInfo
(){
getInfo
(){
getInfo
().
then
(
res
=>
{
this
.
permissions
=
this
.
$store
.
state
.
user
.
permissions
;
console
.
log
(
res
)
this
.
nickName
=
this
.
$store
.
state
.
user
.
name
this
.
permissions
=
res
.
data
.
permissions
;
this
.
nickName
=
res
.
data
.
user
.
nickName
}).
catch
(
error
=>
{});
},
},
getCountByCompany
(){
getCountByCompany
(){
let
params
=
{};
let
params
=
{};
...
...
dsk-operate-ui/src/views/system/config/index.vue
View file @
0e651e38
This diff is collapsed.
Click to expand it.
dsk-operate-ui/src/views/system/user/index.vue
View file @
0e651e38
...
@@ -226,8 +226,8 @@
...
@@ -226,8 +226,8 @@
<el-form
ref=
"form"
:model=
"form"
:rules=
"rules"
label-width=
"80px"
>
<el-form
ref=
"form"
:model=
"form"
:rules=
"rules"
label-width=
"80px"
>
<el-row>
<el-row>
<el-col
:span=
"12"
>
<el-col
:span=
"12"
>
<el-form-item
label=
"用户
昵
称"
prop=
"nickName"
>
<el-form-item
label=
"用户
名
称"
prop=
"nickName"
>
<el-input
v-model=
"form.nickName"
placeholder=
"请输入用户
昵
称"
maxlength=
"30"
/>
<el-input
v-model=
"form.nickName"
placeholder=
"请输入用户
名
称"
maxlength=
"30"
/>
</el-form-item>
</el-form-item>
</el-col>
</el-col>
<el-col
:span=
"12"
>
<el-col
:span=
"12"
>
...
@@ -373,7 +373,7 @@
...
@@ -373,7 +373,7 @@
</el-table-column>
</el-table-column>
<el-table-column
<el-table-column
prop=
"nickName"
prop=
"nickName"
label=
"用户
昵
称"
>
label=
"用户
名
称"
>
</el-table-column>
</el-table-column>
<el-table-column
<el-table-column
prop=
"phonenumber"
prop=
"phonenumber"
...
@@ -477,7 +477,7 @@ export default {
...
@@ -477,7 +477,7 @@ export default {
columns
:
[
columns
:
[
{
key
:
0
,
label
:
`用户编号`
,
visible
:
true
},
{
key
:
0
,
label
:
`用户编号`
,
visible
:
true
},
{
key
:
1
,
label
:
`用户名称`
,
visible
:
true
},
{
key
:
1
,
label
:
`用户名称`
,
visible
:
true
},
{
key
:
2
,
label
:
`用户
昵
称`
,
visible
:
true
},
{
key
:
2
,
label
:
`用户
名
称`
,
visible
:
true
},
{
key
:
3
,
label
:
`组织`
,
visible
:
true
},
{
key
:
3
,
label
:
`组织`
,
visible
:
true
},
{
key
:
4
,
label
:
`手机号码`
,
visible
:
true
},
{
key
:
4
,
label
:
`手机号码`
,
visible
:
true
},
{
key
:
5
,
label
:
`状态`
,
visible
:
true
},
{
key
:
5
,
label
:
`状态`
,
visible
:
true
},
...
@@ -486,7 +486,7 @@ export default {
...
@@ -486,7 +486,7 @@ export default {
// 表单校验
// 表单校验
rules
:
{
rules
:
{
nickName
:
[
nickName
:
[
{
required
:
true
,
message
:
"用户
昵
称不能为空"
,
trigger
:
"blur"
}
{
required
:
true
,
message
:
"用户
名
称不能为空"
,
trigger
:
"blur"
}
],
],
deptId
:
[
deptId
:
[
{
required
:
true
,
message
:
"组织不能为空"
,
trigger
:
"blur"
}
{
required
:
true
,
message
:
"组织不能为空"
,
trigger
:
"blur"
}
...
...
dsk-system/src/main/java/com/dsk/system/service/SysLoginService.java
View file @
0e651e38
...
@@ -83,9 +83,10 @@ public class SysLoginService {
...
@@ -83,9 +83,10 @@ public class SysLoginService {
* 登录验证
* 登录验证
*
*
* @param loginBody 唯一标识
* @param loginBody 唯一标识
* @param ipAddr IP地址
* @return 结果
* @return 结果
*/
*/
public
LoginVo
passwordLogin
(
LoginBody
loginBody
)
{
public
LoginVo
passwordLogin
(
LoginBody
loginBody
,
String
ipAddr
)
{
String
tenantId
=
loginBody
.
getTenantId
();
String
tenantId
=
loginBody
.
getTenantId
();
String
username
=
loginBody
.
getUsername
();
String
username
=
loginBody
.
getUsername
();
String
password
=
SaBase64Util
.
decode
(
loginBody
.
getPassword
());
String
password
=
SaBase64Util
.
decode
(
loginBody
.
getPassword
());
...
@@ -96,12 +97,12 @@ public class SysLoginService {
...
@@ -96,12 +97,12 @@ public class SysLoginService {
validateCaptcha
(
username
,
code
,
uuid
);
validateCaptcha
(
username
,
code
,
uuid
);
}
}
if
(
ReUtil
.
isMatch
(
RegexPool
.
MOBILE
,
username
))
{
if
(
ReUtil
.
isMatch
(
RegexPool
.
MOBILE
,
username
))
{
String
defaultTenantId
=
RedisUtils
.
getCacheObject
(
GlobalConstants
.
PHONE_DEFAULT_TENANT
+
username
);
String
defaultTenantId
=
RedisUtils
.
getCacheObject
(
GlobalConstants
.
PHONE_DEFAULT_TENANT
+
username
);
log
.
info
(
"登录用户:{} 获取缓存默认租户:"
+
tenantId
,
username
);
log
.
info
(
"登录用户:{} 获取缓存默认租户:"
+
tenantId
,
username
);
if
(
StrUtil
.
isEmpty
(
tenantId
)&&
StrUtil
.
isNotBlank
(
defaultTenantId
))
{
if
(
StrUtil
.
isEmpty
(
tenantId
)
&&
StrUtil
.
isNotBlank
(
defaultTenantId
))
{
defaultTenantId
=
checkDefaultTenant
(
defaultTenantId
,
username
);
defaultTenantId
=
checkDefaultTenant
(
defaultTenantId
,
username
);
tenantId
=
defaultTenantId
;
tenantId
=
defaultTenantId
;
}
}
}
}
...
@@ -119,7 +120,7 @@ public class SysLoginService {
...
@@ -119,7 +120,7 @@ public class SysLoginService {
throw
new
UserException
(
"user.not.exists"
,
username
);
throw
new
UserException
(
"user.not.exists"
,
username
);
}
}
tenantId
=
sysUser
.
getTenantId
();
tenantId
=
sysUser
.
getTenantId
();
}
else
{
}
else
{
SysUser
sysUser
=
sysUsers
.
get
(
0
);
SysUser
sysUser
=
sysUsers
.
get
(
0
);
tenantId
=
sysUser
.
getTenantId
();
tenantId
=
sysUser
.
getTenantId
();
}
}
...
@@ -143,6 +144,7 @@ public class SysLoginService {
...
@@ -143,6 +144,7 @@ public class SysLoginService {
// 此处可根据登录用户的数据不同 自行创建 loginUser 属性不够用继承扩展就行了
// 此处可根据登录用户的数据不同 自行创建 loginUser 属性不够用继承扩展就行了
LoginUser
loginUser
=
buildLoginUser
(
user
);
LoginUser
loginUser
=
buildLoginUser
(
user
);
// 生成token
// 生成token
loginUser
.
setIpaddr
(
ipAddr
);
LoginHelper
.
loginByDevice
(
loginUser
,
DeviceType
.
PC
);
LoginHelper
.
loginByDevice
(
loginUser
,
DeviceType
.
PC
);
recordLogininfor
(
username
,
Constants
.
LOGIN_SUCCESS
,
MessageUtils
.
message
(
"user.login.success"
));
recordLogininfor
(
username
,
Constants
.
LOGIN_SUCCESS
,
MessageUtils
.
message
(
"user.login.success"
));
...
@@ -189,13 +191,13 @@ public class SysLoginService {
...
@@ -189,13 +191,13 @@ public class SysLoginService {
}
}
public
LoginVo
smsLogin
(
String
username
,
String
smsCode
)
{
public
LoginVo
smsLogin
(
String
username
,
String
smsCode
)
{
String
tenantId
=
null
;
String
tenantId
=
null
;
if
(
ReUtil
.
isMatch
(
RegexPool
.
MOBILE
,
username
))
{
if
(
ReUtil
.
isMatch
(
RegexPool
.
MOBILE
,
username
))
{
String
defaultTenantId
=
RedisUtils
.
getCacheObject
(
GlobalConstants
.
PHONE_DEFAULT_TENANT
+
username
);
String
defaultTenantId
=
RedisUtils
.
getCacheObject
(
GlobalConstants
.
PHONE_DEFAULT_TENANT
+
username
);
log
.
info
(
"登录用户:{} 获取缓存默认租户:"
+
tenantId
,
username
);
log
.
info
(
"登录用户:{} 获取缓存默认租户:"
+
tenantId
,
username
);
if
(
StrUtil
.
isNotBlank
(
defaultTenantId
))
{
if
(
StrUtil
.
isNotBlank
(
defaultTenantId
))
{
defaultTenantId
=
checkDefaultTenant
(
defaultTenantId
,
username
);
defaultTenantId
=
checkDefaultTenant
(
defaultTenantId
,
username
);
tenantId
=
defaultTenantId
;
tenantId
=
defaultTenantId
;
}
}
}
}
...
@@ -213,7 +215,7 @@ public class SysLoginService {
...
@@ -213,7 +215,7 @@ public class SysLoginService {
throw
new
UserException
(
"user.not.exists"
,
username
);
throw
new
UserException
(
"user.not.exists"
,
username
);
}
}
tenantId
=
sysUser
.
getTenantId
();
tenantId
=
sysUser
.
getTenantId
();
}
else
{
}
else
{
SysUser
sysUser
=
sysUsers
.
get
(
0
);
SysUser
sysUser
=
sysUsers
.
get
(
0
);
tenantId
=
sysUser
.
getTenantId
();
tenantId
=
sysUser
.
getTenantId
();
}
}
...
@@ -370,9 +372,9 @@ public class SysLoginService {
...
@@ -370,9 +372,9 @@ public class SysLoginService {
private
SysUser
loadUserByUsername
(
String
username
)
{
private
SysUser
loadUserByUsername
(
String
username
)
{
SysUser
user
=
userMapper
.
selectOne
(
new
LambdaQueryWrapper
<
SysUser
>()
SysUser
user
=
userMapper
.
selectOne
(
new
LambdaQueryWrapper
<
SysUser
>()
.
select
(
SysUser:
:
getUserName
,
SysUser:
:
getStatus
)
.
select
(
SysUser:
:
getUserName
,
SysUser:
:
getStatus
)
.
eq
(
SysUser:
:
getUserName
,
username
)
.
eq
(
SysUser:
:
getUserName
,
username
)
.
or
().
eq
(
SysUser:
:
getPhonenumber
,
username
));
.
or
().
eq
(
SysUser:
:
getPhonenumber
,
username
));
if
(
ObjectUtil
.
isNull
(
user
))
{
if
(
ObjectUtil
.
isNull
(
user
))
{
log
.
info
(
"登录用户:{} 不存在."
,
username
);
log
.
info
(
"登录用户:{} 不存在."
,
username
);
throw
new
UserException
(
"user.not.exists"
,
username
);
throw
new
UserException
(
"user.not.exists"
,
username
);
...
@@ -385,8 +387,8 @@ public class SysLoginService {
...
@@ -385,8 +387,8 @@ public class SysLoginService {
private
SysUser
loadUserByPhonenumber
(
String
phonenumber
)
{
private
SysUser
loadUserByPhonenumber
(
String
phonenumber
)
{
SysUser
user
=
userMapper
.
selectOne
(
new
LambdaQueryWrapper
<
SysUser
>()
SysUser
user
=
userMapper
.
selectOne
(
new
LambdaQueryWrapper
<
SysUser
>()
.
select
(
SysUser:
:
getPhonenumber
,
SysUser:
:
getStatus
)
.
select
(
SysUser:
:
getPhonenumber
,
SysUser:
:
getStatus
)
.
eq
(
SysUser:
:
getPhonenumber
,
phonenumber
));
.
eq
(
SysUser:
:
getPhonenumber
,
phonenumber
));
if
(
ObjectUtil
.
isNull
(
user
))
{
if
(
ObjectUtil
.
isNull
(
user
))
{
log
.
info
(
"登录用户:{} 不存在."
,
phonenumber
);
log
.
info
(
"登录用户:{} 不存在."
,
phonenumber
);
throw
new
UserException
(
"user.not.exists"
,
phonenumber
);
throw
new
UserException
(
"user.not.exists"
,
phonenumber
);
...
@@ -399,8 +401,8 @@ public class SysLoginService {
...
@@ -399,8 +401,8 @@ public class SysLoginService {
private
SysUser
loadUserByEmail
(
String
email
)
{
private
SysUser
loadUserByEmail
(
String
email
)
{
SysUser
user
=
userMapper
.
selectOne
(
new
LambdaQueryWrapper
<
SysUser
>()
SysUser
user
=
userMapper
.
selectOne
(
new
LambdaQueryWrapper
<
SysUser
>()
.
select
(
SysUser:
:
getPhonenumber
,
SysUser:
:
getStatus
)
.
select
(
SysUser:
:
getPhonenumber
,
SysUser:
:
getStatus
)
.
eq
(
SysUser:
:
getEmail
,
email
));
.
eq
(
SysUser:
:
getEmail
,
email
));
if
(
ObjectUtil
.
isNull
(
user
))
{
if
(
ObjectUtil
.
isNull
(
user
))
{
log
.
info
(
"登录用户:{} 不存在."
,
email
);
log
.
info
(
"登录用户:{} 不存在."
,
email
);
throw
new
UserException
(
"user.not.exists"
,
email
);
throw
new
UserException
(
"user.not.exists"
,
email
);
...
@@ -509,14 +511,14 @@ public class SysLoginService {
...
@@ -509,14 +511,14 @@ public class SysLoginService {
log
.
info
(
"登录企业:{} 已被停用."
,
tenant
.
getCompanyName
());
log
.
info
(
"登录企业:{} 已被停用."
,
tenant
.
getCompanyName
());
throw
new
TenantException
(
"company.blocked"
);
throw
new
TenantException
(
"company.blocked"
);
}
else
if
(
ObjectUtil
.
isNotNull
(
tenant
.
getExpireTime
())
}
else
if
(
ObjectUtil
.
isNotNull
(
tenant
.
getExpireTime
())
&&
new
Date
().
after
(
tenant
.
getExpireTime
()))
{
&&
new
Date
().
after
(
tenant
.
getExpireTime
()))
{
log
.
info
(
"登录企业:{} 已超过有效期."
,
tenant
.
getCompanyName
());
log
.
info
(
"登录企业:{} 已超过有效期."
,
tenant
.
getCompanyName
());
throw
new
TenantException
(
"company.expired"
);
throw
new
TenantException
(
"company.expired"
);
}
}
}
}
public
String
checkDefaultTenant
(
String
tenantId
,
String
phoneNumber
)
{
public
String
checkDefaultTenant
(
String
tenantId
,
String
phoneNumber
)
{
if
(!
TenantHelper
.
isEnable
())
{
if
(!
TenantHelper
.
isEnable
())
{
return
null
;
return
null
;
}
}
...
@@ -557,16 +559,16 @@ public class SysLoginService {
...
@@ -557,16 +559,16 @@ public class SysLoginService {
if
(
ReUtil
.
isMatch
(
RegexPool
.
MOBILE
,
username
))
{
if
(
ReUtil
.
isMatch
(
RegexPool
.
MOBILE
,
username
))
{
LambdaQueryWrapper
<
SysUser
>
lqw
=
new
LambdaQueryWrapper
<
SysUser
>()
LambdaQueryWrapper
<
SysUser
>
lqw
=
new
LambdaQueryWrapper
<
SysUser
>()
.
select
(
SysUser:
:
getUserName
,
SysUser:
:
getStatus
,
SysUser:
:
getTenantId
,
SysUser:
:
getDelFlag
)
.
select
(
SysUser:
:
getUserName
,
SysUser:
:
getStatus
,
SysUser:
:
getTenantId
,
SysUser:
:
getDelFlag
)
.
eq
(
SysUser:
:
getPhonenumber
,
username
)
.
eq
(
SysUser:
:
getPhonenumber
,
username
)
.
orderByDesc
(
SysUser:
:
getUserId
);
.
orderByDesc
(
SysUser:
:
getUserId
);
// sysUsers = userMapper.selectUserByTenantPhone(username);
// sysUsers = userMapper.selectUserByTenantPhone(username);
sysUsers
=
userMapper
.
selectList
(
lqw
);
sysUsers
=
userMapper
.
selectList
(
lqw
);
}
else
{
}
else
{
LambdaQueryWrapper
<
SysUser
>
lqw
=
new
LambdaQueryWrapper
<
SysUser
>()
LambdaQueryWrapper
<
SysUser
>
lqw
=
new
LambdaQueryWrapper
<
SysUser
>()
.
select
(
SysUser:
:
getUserName
,
SysUser:
:
getStatus
,
SysUser:
:
getTenantId
)
.
select
(
SysUser:
:
getUserName
,
SysUser:
:
getStatus
,
SysUser:
:
getTenantId
)
.
eq
(
SysUser:
:
getUserName
,
username
)
.
eq
(
SysUser:
:
getUserName
,
username
)
.
orderByDesc
(
SysUser:
:
getUserId
);
.
orderByDesc
(
SysUser:
:
getUserId
);
// sysUsers = userMapper.selectUserByTenantUsername(username);
// sysUsers = userMapper.selectUserByTenantUsername(username);
sysUsers
=
userMapper
.
selectList
(
lqw
);
sysUsers
=
userMapper
.
selectList
(
lqw
);
}
}
...
@@ -582,10 +584,10 @@ public class SysLoginService {
...
@@ -582,10 +584,10 @@ public class SysLoginService {
Assert
.
notNull
(
userId
,
"企业切换失败!"
);
Assert
.
notNull
(
userId
,
"企业切换失败!"
);
// 如果 切换租户和当前登录租户一致,仅保存默认租户
// 如果 切换租户和当前登录租户一致,仅保存默认租户
LoginUser
loginUserVo
=
LoginHelper
.
getLoginUser
();
LoginUser
loginUserVo
=
LoginHelper
.
getLoginUser
();
if
(
tenantId
.
equals
(
loginUserVo
.
getTenantId
()))
{
if
(
tenantId
.
equals
(
loginUserVo
.
getTenantId
()))
{
//保存当前账号的默认租户
//保存当前账号的默认租户
String
defaultTenantKey
=
GlobalConstants
.
PHONE_DEFAULT_TENANT
+
loginUserVo
.
getUserPhone
();
String
defaultTenantKey
=
GlobalConstants
.
PHONE_DEFAULT_TENANT
+
loginUserVo
.
getUserPhone
();
RedisUtils
.
setCacheObject
(
defaultTenantKey
,
tenantId
,
Duration
.
ofDays
(
90
));
RedisUtils
.
setCacheObject
(
defaultTenantKey
,
tenantId
,
Duration
.
ofDays
(
90
));
LoginVo
loginVo
=
new
LoginVo
();
LoginVo
loginVo
=
new
LoginVo
();
loginVo
.
setTenantId
(
TenantHelper
.
getTenantId
());
loginVo
.
setTenantId
(
TenantHelper
.
getTenantId
());
loginVo
.
setAccessToken
(
StpUtil
.
getTokenValue
());
loginVo
.
setAccessToken
(
StpUtil
.
getTokenValue
());
...
@@ -618,10 +620,10 @@ public class SysLoginService {
...
@@ -618,10 +620,10 @@ public class SysLoginService {
LoginHelper
.
loginByDevice
(
loginUser
,
DeviceType
.
PC
);
LoginHelper
.
loginByDevice
(
loginUser
,
DeviceType
.
PC
);
log
.
info
(
"当前租户由"
+
sysUser
.
getTenantId
()+
"切换为"
+
tenantId
);
log
.
info
(
"当前租户由"
+
sysUser
.
getTenantId
()
+
"切换为"
+
tenantId
);
//保存当前账号的默认租户
//保存当前账号的默认租户
String
defaultTenantKey
=
GlobalConstants
.
PHONE_DEFAULT_TENANT
+
loginUser
.
getUserPhone
();
String
defaultTenantKey
=
GlobalConstants
.
PHONE_DEFAULT_TENANT
+
loginUser
.
getUserPhone
();
RedisUtils
.
setCacheObject
(
defaultTenantKey
,
tenantId
,
Duration
.
ofDays
(
90
));
RedisUtils
.
setCacheObject
(
defaultTenantKey
,
tenantId
,
Duration
.
ofDays
(
90
));
recordLogininfor
(
username
,
Constants
.
LOGIN_SUCCESS
,
MessageUtils
.
message
(
"user.login.success"
));
recordLogininfor
(
username
,
Constants
.
LOGIN_SUCCESS
,
MessageUtils
.
message
(
"user.login.success"
));
recordLoginInfo
(
user
.
getUserId
(),
username
);
recordLoginInfo
(
user
.
getUserId
(),
username
);
...
...
dsk-system/src/main/java/com/dsk/system/service/impl/SysUserServiceImpl.java
View file @
0e651e38
...
@@ -21,6 +21,7 @@ import com.dsk.common.core.service.UserService;
...
@@ -21,6 +21,7 @@ import com.dsk.common.core.service.UserService;
import
com.dsk.common.exception.ServiceException
;
import
com.dsk.common.exception.ServiceException
;
import
com.dsk.common.helper.DataBaseHelper
;
import
com.dsk.common.helper.DataBaseHelper
;
import
com.dsk.common.helper.LoginHelper
;
import
com.dsk.common.helper.LoginHelper
;
import
com.dsk.common.tenant.helper.TenantHelper
;
import
com.dsk.common.utils.PasswordUtils
;
import
com.dsk.common.utils.PasswordUtils
;
import
com.dsk.common.utils.StreamUtils
;
import
com.dsk.common.utils.StreamUtils
;
import
com.dsk.common.utils.StringUtils
;
import
com.dsk.common.utils.StringUtils
;
...
@@ -465,7 +466,6 @@ public class SysUserServiceImpl implements ISysUserService, UserService {
...
@@ -465,7 +466,6 @@ public class SysUserServiceImpl implements ISysUserService, UserService {
SysRole
adminRole
=
roleMapper
.
selectOne
(
new
LambdaQueryWrapper
<
SysRole
>()
SysRole
adminRole
=
roleMapper
.
selectOne
(
new
LambdaQueryWrapper
<
SysRole
>()
.
select
(
SysRole:
:
getRoleId
)
.
select
(
SysRole:
:
getRoleId
)
.
eq
(
SysRole:
:
getStatus
,
UserConstants
.
USER_NORMAL
)
.
eq
(
SysRole:
:
getStatus
,
UserConstants
.
USER_NORMAL
)
.
eq
(
SysRole:
:
getDelFlag
,
UserConstants
.
USER_NORMAL
)
.
eq
(
SysRole:
:
getRoleKey
,
TenantConstants
.
TENANT_SUPER_ADMIN_ROLE_KEY
));
.
eq
(
SysRole:
:
getRoleKey
,
TenantConstants
.
TENANT_SUPER_ADMIN_ROLE_KEY
));
//如果目前企业管理员角色下仅有1个账号
//如果目前企业管理员角色下仅有1个账号
List
<
Long
>
userIds
=
userRoleMapper
.
selectUserIdsByRoleId
(
adminRole
.
getRoleId
());
List
<
Long
>
userIds
=
userRoleMapper
.
selectUserIdsByRoleId
(
adminRole
.
getRoleId
());
...
@@ -650,8 +650,11 @@ public class SysUserServiceImpl implements ISysUserService, UserService {
...
@@ -650,8 +650,11 @@ public class SysUserServiceImpl implements ISysUserService, UserService {
for
(
Long
userId
:
userIds
)
{
for
(
Long
userId
:
userIds
)
{
checkUserAllowed
(
new
SysUser
(
userId
));
checkUserAllowed
(
new
SysUser
(
userId
));
checkUserDataScope
(
userId
);
checkUserDataScope
(
userId
);
//校验企业管理员角色下是否至少有一个账号
//校验企业管理员角色下是否至少有一个账号
checkAdminHasUsers
(
baseMapper
.
selectUserById
(
userId
));
if
(
LoginHelper
.
isTenantAdmin
())
{
checkAdminHasUsers
(
baseMapper
.
selectUserById
(
userId
));
}
}
}
List
<
Long
>
ids
=
Arrays
.
asList
(
userIds
);
List
<
Long
>
ids
=
Arrays
.
asList
(
userIds
);
...
...
dsk-system/src/main/java/com/dsk/system/utils/DskOpenApiUtil.java
View file @
0e651e38
...
@@ -11,6 +11,7 @@ import com.dsk.common.core.page.TableDataInfo;
...
@@ -11,6 +11,7 @@ import com.dsk.common.core.page.TableDataInfo;
import
com.dsk.common.tenant.helper.TenantHelper
;
import
com.dsk.common.tenant.helper.TenantHelper
;
import
com.dsk.system.domain.SysConfig
;
import
com.dsk.system.domain.SysConfig
;
import
com.dsk.system.mapper.SysConfigMapper
;
import
com.dsk.system.mapper.SysConfigMapper
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.commons.collections4.MapUtils
;
import
org.apache.commons.collections4.MapUtils
;
import
org.springframework.stereotype.Component
;
import
org.springframework.stereotype.Component
;
import
org.springframework.util.ObjectUtils
;
import
org.springframework.util.ObjectUtils
;
...
@@ -19,6 +20,7 @@ import javax.annotation.Resource;
...
@@ -19,6 +20,7 @@ import javax.annotation.Resource;
import
java.util.List
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.Map
;
@Slf4j
@Component
@Component
public
class
DskOpenApiUtil
{
public
class
DskOpenApiUtil
{
...
@@ -72,6 +74,7 @@ public class DskOpenApiUtil {
...
@@ -72,6 +74,7 @@ public class DskOpenApiUtil {
try
{
try
{
if
(
ObjectUtils
.
isEmpty
(
config
))
initApiConfig
();
if
(
ObjectUtils
.
isEmpty
(
config
))
initApiConfig
();
AccClient
.
init
(
config
);
AccClient
.
init
(
config
);
log
.
error
(
">>>>>>config:"
+
JSONUtil
.
toJsonStr
(
config
));
Map
<
String
,
?>
res
=
AccClient
.
request
(
reqBodyType
,
path
,
bodyMap
);
Map
<
String
,
?>
res
=
AccClient
.
request
(
reqBodyType
,
path
,
bodyMap
);
if
(!
res
.
containsKey
(
"headers"
)
||
!
res
.
containsKey
(
"body"
))
{
if
(!
res
.
containsKey
(
"headers"
)
||
!
res
.
containsKey
(
"body"
))
{
throw
new
RuntimeException
(
String
.
format
(
"请求无返回:path=%s"
,
path
));
throw
new
RuntimeException
(
String
.
format
(
"请求无返回:path=%s"
,
path
));
...
@@ -127,6 +130,7 @@ public class DskOpenApiUtil {
...
@@ -127,6 +130,7 @@ public class DskOpenApiUtil {
SysConfig
accessKeyId
=
sysConfigMapper
.
selectOne
(
Wrappers
.<
SysConfig
>
lambdaQuery
().
eq
(
SysConfig:
:
getTenantId
,
TenantConstants
.
DEFAULT_TENANT_ID
).
eq
(
SysConfig:
:
getConfigKey
,
"dsk-Appkey"
));
SysConfig
accessKeyId
=
sysConfigMapper
.
selectOne
(
Wrappers
.<
SysConfig
>
lambdaQuery
().
eq
(
SysConfig:
:
getTenantId
,
TenantConstants
.
DEFAULT_TENANT_ID
).
eq
(
SysConfig:
:
getConfigKey
,
"dsk-Appkey"
));
SysConfig
accessKeySecret
=
sysConfigMapper
.
selectOne
(
Wrappers
.<
SysConfig
>
lambdaQuery
().
eq
(
SysConfig:
:
getTenantId
,
TenantConstants
.
DEFAULT_TENANT_ID
).
eq
(
SysConfig:
:
getConfigKey
,
"dsk-AppSecret"
));
SysConfig
accessKeySecret
=
sysConfigMapper
.
selectOne
(
Wrappers
.<
SysConfig
>
lambdaQuery
().
eq
(
SysConfig:
:
getTenantId
,
TenantConstants
.
DEFAULT_TENANT_ID
).
eq
(
SysConfig:
:
getConfigKey
,
"dsk-AppSecret"
));
SysConfig
endPoint
=
sysConfigMapper
.
selectOne
(
Wrappers
.<
SysConfig
>
lambdaQuery
().
eq
(
SysConfig:
:
getTenantId
,
TenantConstants
.
DEFAULT_TENANT_ID
).
eq
(
SysConfig:
:
getConfigKey
,
"dsk-Domain"
));
SysConfig
endPoint
=
sysConfigMapper
.
selectOne
(
Wrappers
.<
SysConfig
>
lambdaQuery
().
eq
(
SysConfig:
:
getTenantId
,
TenantConstants
.
DEFAULT_TENANT_ID
).
eq
(
SysConfig:
:
getConfigKey
,
"dsk-Domain"
));
log
.
error
(
">>>>>>config:"
+
JSONUtil
.
toJsonStr
(
config
));
config
=
new
Config
(
accessKeyId
.
getConfigValue
(),
accessKeySecret
.
getConfigValue
())
config
=
new
Config
(
accessKeyId
.
getConfigValue
(),
accessKeySecret
.
getConfigValue
())
.
setEndpoint
(
endPoint
.
getConfigValue
());
.
setEndpoint
(
endPoint
.
getConfigValue
());
});
});
...
...
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