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
f5788527
Commit
f5788527
authored
Sep 06, 2023
by
tanyang
Browse files
Options
Browse Files
Download
Plain Diff
Merge remote-tracking branch 'origin/zuhuduan' into zuhuduan
parents
6dbeaec5
da003db4
Changes
20
Expand all
Show whitespace changes
Inline
Side-by-side
Showing
20 changed files
with
317 additions
and
160 deletions
+317
-160
SysDeptController.java
...java/com/dsk/web/controller/system/SysDeptController.java
+4
-3
TenantPackageConstants.java
.../java/com/dsk/common/constant/TenantPackageConstants.java
+20
-0
TenantHelper.java
.../main/java/com/dsk/common/tenant/helper/TenantHelper.java
+0
-4
all.png
dsk-operate-ui/src/assets/images/all.png
+0
-0
all_on.png
dsk-operate-ui/src/assets/images/all_on.png
+0
-0
phone.png
dsk-operate-ui/src/assets/images/phone.png
+0
-0
safe.png
dsk-operate-ui/src/assets/images/safe.png
+0
-0
title_icon.png
dsk-operate-ui/src/assets/images/title_icon.png
+0
-0
txyzm.png
dsk-operate-ui/src/assets/images/txyzm.png
+0
-0
index.vue
dsk-operate-ui/src/layout/components/TagsView/index.vue
+41
-22
index.vue
dsk-operate-ui/src/views/enterpriseManagement/index.vue
+7
-8
programme.vue
dsk-operate-ui/src/views/enterpriseManagement/programme.vue
+14
-6
login.vue
dsk-operate-ui/src/views/login.vue
+166
-84
index.vue
dsk-operate-ui/src/views/system/user/index.vue
+2
-1
SysTenantPackageSelectVo.java
...va/com/dsk/system/domain/vo/SysTenantPackageSelectVo.java
+0
-8
ISysDeptService.java
...src/main/java/com/dsk/system/service/ISysDeptService.java
+9
-2
ISysTenantPackageServiceImpl.java
...dsk/system/service/impl/ISysTenantPackageServiceImpl.java
+24
-5
ISysTenantServiceImpl.java
...va/com/dsk/system/service/impl/ISysTenantServiceImpl.java
+4
-3
SysDeptServiceImpl.java
.../java/com/dsk/system/service/impl/SysDeptServiceImpl.java
+24
-4
SysMenuServiceImpl.java
.../java/com/dsk/system/service/impl/SysMenuServiceImpl.java
+2
-10
No files found.
dsk-admin/src/main/java/com/dsk/web/controller/system/SysDeptController.java
View file @
f5788527
...
...
@@ -41,7 +41,8 @@ public class SysDeptController extends BaseController {
List
<
SysDept
>
depts
=
deptService
.
selectDeptList
(
dept
);
List
<
SysDeptVo
>
deptVos
=
BeanUtil
.
copyToList
(
depts
,
SysDeptVo
.
class
);
deptVos
.
forEach
(
sysDeptVo
->
{
sysDeptVo
.
setExistUsers
(
deptService
.
hasChildByDeptId
(
sysDeptVo
.
getDeptId
()));
//查询该部门及其子部门是否存在用户
sysDeptVo
.
setExistUsers
(
deptService
.
checkAllDeptsAndUsers
(
sysDeptVo
.
getDeptId
()));
});
return
R
.
ok
(
deptVos
);
}
...
...
dsk-common/src/main/java/com/dsk/common/constant/TenantPackageConstants.java
0 → 100644
View file @
f5788527
package
com
.
dsk
.
common
.
constant
;
/**
* 租户套餐常量信息
*
* @author Lion Li
*/
public
interface
TenantPackageConstants
{
/**
* 租户套餐正常状态
*/
String
NORMAL
=
"0"
;
/**
* 租户套餐停用状态
*/
String
DISABLE
=
"1"
;
}
dsk-common/src/main/java/com/dsk/common/tenant/helper/TenantHelper.java
View file @
f5788527
package
com
.
dsk
.
common
.
tenant
.
helper
;
import
cn.dev33.satoken.context.SaHolder
;
import
cn.dev33.satoken.spring.SpringMVCUtil
;
import
cn.hutool.core.convert.Convert
;
import
com.alibaba.ttl.TransmittableThreadLocal
;
...
...
@@ -9,10 +8,7 @@ import com.baomidou.mybatisplus.core.plugins.InterceptorIgnoreHelper;
import
com.dsk.common.constant.GlobalConstants
;
import
com.dsk.common.helper.LoginHelper
;
import
com.dsk.common.utils.StringUtils
;
import
com.dsk.common.utils.redis.RedisUtils
;
import
com.dsk.common.utils.spring.SpringUtils
;
import
lombok.AccessLevel
;
import
lombok.NoArgsConstructor
;
import
lombok.experimental.UtilityClass
;
import
lombok.extern.slf4j.Slf4j
;
...
...
dsk-operate-ui/src/assets/images/all.png
0 → 100644
View file @
f5788527
206 Bytes
dsk-operate-ui/src/assets/images/all_on.png
0 → 100644
View file @
f5788527
325 Bytes
dsk-operate-ui/src/assets/images/phone.png
0 → 100644
View file @
f5788527
574 Bytes
dsk-operate-ui/src/assets/images/safe.png
0 → 100644
View file @
f5788527
3.23 KB
dsk-operate-ui/src/assets/images/title_icon.png
deleted
100644 → 0
View file @
6dbeaec5
2.19 KB
dsk-operate-ui/src/assets/images/txyzm.png
0 → 100644
View file @
f5788527
464 Bytes
dsk-operate-ui/src/layout/components/TagsView/index.vue
View file @
f5788527
<
template
>
<div
id=
"tags-view-container"
class=
"tags-view-container"
>
<div
class=
"alltags"
v-if=
"visitedViews.length > 0"
>
<div
class=
""
@
click=
"closeall"
><i
class=
"el-icon-arrow-down"
v-if=
"!showall"
></i>
<i
class=
"el-icon-arrow-up"
v-if=
"showall"
></i></div>
<div
class=
"imgs"
@
click=
"closeall"
>
<img
src=
"@/assets/images/all.png"
v-if=
"!showall"
/>
<img
src=
"@/assets/images/all_on.png"
v-if=
"showall"
/>
<!--
<i
class=
"el-icon-arrow-down"
v-if=
"!showall"
></i>
<i
class=
"el-icon-arrow-up"
v-if=
"showall"
></i>
-->
</div>
<div
class=
"tagslist"
v-if=
"showall"
>
<!--
<div
v-for=
"(tag, index) in visitedViews"
--
>
<!--:key="tag.path"-->
...
...
@@ -340,7 +344,7 @@ export default {
}
}
&
:first-of-type
{
margin-left
:
2
4px
;
margin-left
:
6
4px
;
}
&
:hover
{
.el-icon-close
{
...
...
@@ -384,63 +388,78 @@ export default {
}
}
.alltags
{
position
:
fixed
;
position
:
absolute
;
align-items
:
center
;
border-radius
:
9px
;
height
:
17px
;
justify-content
:
center
;
width
:
36px
;
right
:
10px
;
top
:
37px
;
width
:
24px
;
height
:
24px
;
left
:
24px
;
top
:
28px
;
cursor
:
pointer
;
text-align
:
center
;
&
:hover
{
background
:
#EFEFEF
;
z-index
:
10
;
&
:
:
after
{
content
:
' '
;
position
:
absolute
;
border-right
:
1px
solid
#EFEFEF
;
height
:
18px
;
width
:
0
;
top
:
3px
;
right
:
-8px
;
}
.imgs
>
img
{
width
:
24px
;
height
:
24px
;
}
.tagslist
{
position
:
absolute
;
righ
t
:
0
;
top
:
20
px
;
lef
t
:
0
;
top
:
32
px
;
background-color
:
#fcfcfc
;
color
:
#141414
;
font-size
:
13px
;
line-height
:
1em
;
margin-bottom
:
0
;
max-height
:
450px
;
overflow-y
:
auto
;
/*overflow-y: auto;*/
overflow-y
:
overlay
;
padding
:
20px
0
10px
;
padding
:
8px
0
0
;
width
:
325px
;
text-align
:
left
;
border-radius
:
4px
;
box-shadow
:
0
2px
9px
2px
rgba
(
0
,
0
,
0
,.
09
)
,
0
1px
2px
-2px
rgba
(
0
,
0
,
0
,.
16
);
.tags-view-item
{
display
:
block
;
position
:
relative
;
>
div
{
padding
:
8px
24px
;
padding
:
8px
8px
8px
32px
;
line-height
:
20px
;
}
&
:hover
{
color
:
#0081FF
;
background
:
rgba
(
0
,
0
,
0
,
0
.04
)
;
}
.el-icon-check
{
display
:
none
;
position
:
absolute
;
left
:
5px
;
width
:
13px
;
left
:
8px
;
width
:
16px
;
font-size
:
16px
;
}
&
.active
{
color
:
#0081FF
;
background
:
rgba
(
0
,
129
,
255
,
0
.04
)
;
.el-icon-check
{
display
:
block
;
color
:
#0081FF
;
}
}
}
.clasall
{
border-top
:
1px
solid
#EFEFEF
;
padding
:
10px
24px
0
;
margin-top
:
10px
;
padding
:
10px
32px
;
line-height
:
20px
;
color
:
#FF3C3C
;
&
:hover
{
color
:
#0081FF
;
background
:
#FFECE8
;
}
}
}
...
...
dsk-operate-ui/src/views/enterpriseManagement/index.vue
View file @
f5788527
...
...
@@ -181,7 +181,6 @@
:key=
"dict.packageId"
:label=
"dict.packageName"
:value=
"dict.packageId"
:disabled=
"dict.disabled"
/>
</el-select>
</el-form-item>
...
...
@@ -301,13 +300,13 @@
selectTenant
().
then
(
res
=>
{
if
(
res
.
code
=
200
){
this
.
packageList
=
res
.
data
this
.
packageList
.
forEach
(
item
=>
{
if
(
item
.
status
==
'0'
){
item
.
disabled
=
false
}
else
{
item
.
disabled
=
true
}
})
//
this.packageList.forEach(item=>{
//
if(item.status == '0'){
//
item.disabled = false
//
}else{
//
item.disabled = true
//
}
//
})
}
})
},
...
...
dsk-operate-ui/src/views/enterpriseManagement/programme.vue
View file @
f5788527
...
...
@@ -352,16 +352,24 @@
// return false
if
(
this
.
form
.
packageId
!=
undefined
)
{
saveTenantPackage
(
this
.
form
).
then
(
response
=>
{
if
(
response
.
code
==
200
){
this
.
$modal
.
msgSuccess
(
"修改成功"
);
this
.
open
=
false
;
this
.
getList
();
}
else
{
this
.
$message
.
error
(
response
.
msg
)
}
});
}
else
{
// this.form.menuIds = this.getMenuAllCheckedKeys();
addTenantPackage
(
this
.
form
).
then
(
response
=>
{
if
(
response
.
code
==
200
){
this
.
$modal
.
msgSuccess
(
"新增成功"
);
this
.
open
=
false
;
this
.
getList
();
}
else
{
this
.
$message
.
error
(
response
.
msg
)
}
});
}
}
...
...
dsk-operate-ui/src/views/login.vue
View file @
f5788527
This diff is collapsed.
Click to expand it.
dsk-operate-ui/src/views/system/user/index.vue
View file @
f5788527
...
...
@@ -364,7 +364,7 @@
</
template
>
</el-table-column>
<el-table-column
prop=
"nick
n
ame"
prop=
"nick
N
ame"
label=
"用户昵称"
>
</el-table-column>
<el-table-column
...
...
@@ -743,6 +743,7 @@ export default {
}
this
.
getList
();
},
// 提交上传文件
submitFileForm
()
{
this
.
$refs
.
upload
.
submit
();
...
...
dsk-system/src/main/java/com/dsk/system/domain/vo/SysTenantPackageSelectVo.java
View file @
f5788527
...
...
@@ -2,8 +2,6 @@ package com.dsk.system.domain.vo;
import
com.alibaba.excel.annotation.ExcelIgnoreUnannotated
;
import
com.alibaba.excel.annotation.ExcelProperty
;
import
com.dsk.common.annotation.ExcelDictFormat
;
import
com.dsk.common.convert.ExcelDictConvert
;
import
com.dsk.system.domain.SysTenantPackage
;
import
io.github.linpeilie.annotations.AutoMapper
;
import
lombok.Data
;
...
...
@@ -34,10 +32,4 @@ public class SysTenantPackageSelectVo implements Serializable {
@ExcelProperty
(
value
=
"套餐名称"
)
private
String
packageName
;
/**
* 状态(0正常 1停用)
*/
@ExcelProperty
(
value
=
"状态"
,
converter
=
ExcelDictConvert
.
class
)
@ExcelDictFormat
(
readConverterExp
=
"0=正常,1=停用"
)
private
String
status
;
}
dsk-system/src/main/java/com/dsk/system/service/ISysDeptService.java
View file @
f5788527
...
...
@@ -71,18 +71,25 @@ public interface ISysDeptService {
* 是否存在部门子节点
*
* @param deptId 部门ID
* @return 结果
* @return 结果
true 存在 false 不存在
*/
boolean
hasChildByDeptId
(
Long
deptId
);
/**
* 查询部门是否存在用户
* 查询
该
部门是否存在用户
*
* @param deptId 部门ID
* @return 结果 true 存在 false 不存在
*/
boolean
checkDeptExistUser
(
Long
deptId
);
/**
* 查询该部门及其子部门是否存在用户
* @param deptId 部门ID
* @return 结果 true 存在 false 不存在
*/
Boolean
checkAllDeptsAndUsers
(
Long
deptId
);
/**
* 校验部门名称是否唯一
*
...
...
dsk-system/src/main/java/com/dsk/system/service/impl/ISysTenantPackageServiceImpl.java
View file @
f5788527
...
...
@@ -5,6 +5,7 @@ import cn.hutool.core.collection.CollUtil;
import
com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper
;
import
com.baomidou.mybatisplus.core.toolkit.Wrappers
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.dsk.common.constant.TenantPackageConstants
;
import
com.dsk.common.core.domain.PageQuery
;
import
com.dsk.common.core.page.TableDataInfo
;
import
com.dsk.common.exception.ServiceException
;
...
...
@@ -22,6 +23,7 @@ import org.springframework.stereotype.Service;
import
org.springframework.transaction.annotation.Transactional
;
import
javax.annotation.Resource
;
import
java.util.ArrayList
;
import
java.util.Arrays
;
import
java.util.List
;
import
java.util.Map
;
...
...
@@ -56,7 +58,9 @@ public class ISysTenantPackageServiceImpl implements ISysTenantPackageService {
*/
@Override
public
List
<
SysTenantPackageSelectVo
>
selectList
()
{
List
<
SysTenantPackageVo
>
tenantPackageVo
=
baseMapper
.
selectVoList
(
null
);
LambdaQueryWrapper
<
SysTenantPackage
>
wrapper
=
new
LambdaQueryWrapper
<
SysTenantPackage
>()
.
eq
(
SysTenantPackage:
:
getStatus
,
TenantPackageConstants
.
NORMAL
);
List
<
SysTenantPackageVo
>
tenantPackageVo
=
baseMapper
.
selectVoList
(
wrapper
);
return
BeanUtil
.
copyToList
(
tenantPackageVo
,
SysTenantPackageSelectVo
.
class
);
}
...
...
@@ -113,6 +117,12 @@ public class ISysTenantPackageServiceImpl implements ISysTenantPackageService {
@Transactional
(
rollbackFor
=
Exception
.
class
)
public
Boolean
updateByBo
(
SysTenantPackageBo
bo
)
{
SysTenantPackage
update
=
BeanUtil
.
toBean
(
bo
,
SysTenantPackage
.
class
);
List
<
Long
>
packageIds
=
new
ArrayList
<>();
packageIds
.
add
(
bo
.
getPackageId
());
//校验该套餐是否正在被使用
if
(
TenantPackageConstants
.
DISABLE
.
equals
(
bo
.
getStatus
()))
{
checkPackageIsUsed
(
packageIds
);
}
// 保存菜单id
List
<
Long
>
menuIds
=
Arrays
.
asList
(
bo
.
getMenuIds
());
if
(
CollUtil
.
isNotEmpty
(
menuIds
))
{
...
...
@@ -123,6 +133,18 @@ public class ISysTenantPackageServiceImpl implements ISysTenantPackageService {
return
baseMapper
.
updateById
(
update
)
>
0
;
}
/**
* 校验套餐是否正在被租户使用
*
* @param ids 套餐ID数组
*/
private
void
checkPackageIsUsed
(
List
<
Long
>
ids
)
{
boolean
exists
=
tenantMapper
.
exists
(
new
LambdaQueryWrapper
<
SysTenant
>().
in
(
SysTenant:
:
getPackageId
,
ids
));
if
(
exists
)
{
throw
new
ServiceException
(
"租户套餐已被使用"
);
}
}
// /**
// * 修改套餐状态
// */
...
...
@@ -139,10 +161,7 @@ public class ISysTenantPackageServiceImpl implements ISysTenantPackageService {
@Transactional
(
rollbackFor
=
Exception
.
class
)
public
Boolean
deleteWithValidByIds
(
List
<
Long
>
ids
,
boolean
isValid
)
{
if
(
isValid
)
{
boolean
exists
=
tenantMapper
.
exists
(
new
LambdaQueryWrapper
<
SysTenant
>().
in
(
SysTenant:
:
getPackageId
,
ids
));
if
(
exists
)
{
throw
new
ServiceException
(
"租户套餐已被使用"
);
}
checkPackageIsUsed
(
ids
);
}
return
baseMapper
.
deleteBatchIds
(
ids
)
>
0
;
}
...
...
dsk-system/src/main/java/com/dsk/system/service/impl/ISysTenantServiceImpl.java
View file @
f5788527
...
...
@@ -16,7 +16,6 @@ import com.dsk.common.core.domain.entity.SysDictData;
import
com.dsk.common.core.domain.entity.SysDictType
;
import
com.dsk.common.core.page.TableDataInfo
;
import
com.dsk.common.exception.ServiceException
;
import
com.dsk.common.utils.DingTalkUtil
;
import
com.dsk.common.utils.PasswordUtils
;
import
com.dsk.common.utils.StringUtils
;
import
com.dsk.system.domain.*
;
...
...
@@ -36,9 +35,10 @@ import java.util.Collection;
import
java.util.List
;
/**
* 企业Service业务层处理
*
* @author sxk
* @date 2023.08.22
* @description: 企业Service业务层处理
*/
@RequiredArgsConstructor
@Service
...
...
@@ -233,7 +233,8 @@ public class ISysTenantServiceImpl implements ISysTenantService {
+
"您好,您已经成功注册央企数字经营管理系统,请使用手机号码登录,初始密码为"
+
password
+
"。友情提示:为了您的账号安全,请勿泄露密码。若需要修改密码,请联系管理员。"
;
DingTalkUtil
.
sendDingTalkMsg
(
content
);
//DingTalkUtil.sendDingTalkMsg(content);
System
.
out
.
println
(
"👉🏻:"
+
content
);
return
true
;
}
...
...
dsk-system/src/main/java/com/dsk/system/service/impl/SysDeptServiceImpl.java
View file @
f5788527
...
...
@@ -8,9 +8,6 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import
com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper
;
import
com.dsk.common.constant.CacheNames
;
import
com.dsk.common.constant.UserConstants
;
import
com.dsk.system.domain.SysDept
;
import
com.dsk.system.domain.SysRole
;
import
com.dsk.system.domain.SysUser
;
import
com.dsk.common.core.service.DeptService
;
import
com.dsk.common.exception.ServiceException
;
import
com.dsk.common.helper.DataBaseHelper
;
...
...
@@ -19,6 +16,9 @@ import com.dsk.common.utils.StringUtils;
import
com.dsk.common.utils.TreeBuildUtils
;
import
com.dsk.common.utils.redis.CacheUtils
;
import
com.dsk.common.utils.spring.SpringUtils
;
import
com.dsk.system.domain.SysDept
;
import
com.dsk.system.domain.SysRole
;
import
com.dsk.system.domain.SysUser
;
import
com.dsk.system.mapper.SysDeptMapper
;
import
com.dsk.system.mapper.SysRoleMapper
;
import
com.dsk.system.mapper.SysUserMapper
;
...
...
@@ -183,7 +183,7 @@ public class SysDeptServiceImpl implements ISysDeptService, DeptService {
}
/**
* 查询部门是否存在用户
* 查询
该
部门是否存在用户
*
* @param deptId 部门ID
* @return 结果 true 存在 false 不存在
...
...
@@ -194,6 +194,26 @@ public class SysDeptServiceImpl implements ISysDeptService, DeptService {
.
eq
(
SysUser:
:
getDeptId
,
deptId
));
}
/**
* 查询该部门及其子部门是否存在用户
*
* @param deptId 部门ID
* @return 结果 true 存在 false 不存在
*/
@Override
public
Boolean
checkAllDeptsAndUsers
(
Long
deptId
)
{
List
<
SysDept
>
childDeptList
=
baseMapper
.
selectDeptList
(
new
LambdaQueryWrapper
<
SysDept
>()
.
eq
(
SysDept:
:
getParentId
,
deptId
));
if
(!
childDeptList
.
isEmpty
())
{
for
(
SysDept
sysDept
:
childDeptList
)
{
if
(
checkDeptExistUser
(
sysDept
.
getDeptId
()))
{
return
true
;
}
}
}
return
checkDeptExistUser
(
deptId
);
}
/**
* 校验部门名称是否唯一
*
...
...
dsk-system/src/main/java/com/dsk/system/service/impl/SysMenuServiceImpl.java
View file @
f5788527
...
...
@@ -149,19 +149,11 @@ public class SysMenuServiceImpl implements ISysMenuService {
*/
@Override
public
List
<
SysMenu
>
selectMenuTreeByUserId
(
Long
userId
)
{
List
<
SysMenu
>
menus
=
null
;
List
<
SysMenu
>
menus
;
if
(
LoginHelper
.
isSuperAdmin
(
userId
))
{
//Sass超管
menus
=
baseMapper
.
selectMenuTreeAll
();
}
// else if (LoginHelper.isTenantAdmin()) {
// //租户管理员
// SysTenantVo sysTenantVo = tenantMapper.selectVoOne(new LambdaQueryWrapper<SysTenant>().eq(SysTenant::getTenantId, LoginHelper.getTenantId()));
// SysTenantPackageVo sysTenantPackageVo = tenantPackageMapper.selectVoOne(new LambdaQueryWrapper<SysTenantPackage>().eq(SysTenantPackage::getPackageId, sysTenantVo.getPackageId()));
// List<Long> menuIds = StringUtils.splitTo(sysTenantPackageVo.getMenuIds(), Convert::toLong);
// menus = baseMapper.selectBatchIds(menuIds);
// }
else
{
}
else
{
//租户下的员工
menus
=
baseMapper
.
selectMenuTreeByUserId
(
userId
);
}
...
...
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