Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
C
cms
概览
概览
详情
活动
周期分析
版本库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
统计图
问题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程表
图表
维基
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
iuav
cms
Commits
341c907e
提交
341c907e
authored
7月 12, 2023
作者:
余乾开
浏览文件
操作
浏览文件
下载
差异文件
Merge branch 'develop'
上级
c405a1ed
4885ed4b
隐藏空白字符变更
内嵌
并排
正在显示
33 个修改的文件
包含
1063 行增加
和
42 行删除
+1063
-42
develop.yml
.github/workflows/develop.yml
+1
-1
master.yml
.github/workflows/master.yml
+1
-1
MenuInfoDTO.java
...rc/main/java/com/mmc/iuav/user/model/dto/MenuInfoDTO.java
+38
-0
RoleInfoDTO.java
...rc/main/java/com/mmc/iuav/user/model/dto/RoleInfoDTO.java
+33
-0
RoleInfoQO.java
.../src/main/java/com/mmc/iuav/user/model/qo/RoleInfoQO.java
+41
-0
RoleInfoVO.java
.../src/main/java/com/mmc/iuav/user/model/vo/RoleInfoVO.java
+32
-0
RoleMenuInfoVO.java
.../main/java/com/mmc/iuav/user/model/vo/RoleMenuInfoVO.java
+29
-0
CodeUtil.java
...mon-util/src/main/java/com/mmc/iuav/general/CodeUtil.java
+7
-0
Create.java
...-common-util/src/main/java/com/mmc/iuav/group/Create.java
+9
-6
Update.java
...-common-util/src/main/java/com/mmc/iuav/group/Update.java
+3
-1
ResultBody.java
...-util/src/main/java/com/mmc/iuav/response/ResultBody.java
+5
-5
ResultEnum.java
...-util/src/main/java/com/mmc/iuav/response/ResultEnum.java
+5
-3
MenuInfoController.java
...java/com/mmc/iuav/user/controller/MenuInfoController.java
+47
-0
RoleController.java
...ain/java/com/mmc/iuav/user/controller/RoleController.java
+71
-0
MenuInfoDao.java
...user/src/main/java/com/mmc/iuav/user/dao/MenuInfoDao.java
+22
-0
RoleDao.java
...ice-user/src/main/java/com/mmc/iuav/user/dao/RoleDao.java
+41
-0
MenuInfoDO.java
...er/src/main/java/com/mmc/iuav/user/entity/MenuInfoDO.java
+35
-0
RoleInfoDO.java
...er/src/main/java/com/mmc/iuav/user/entity/RoleInfoDO.java
+79
-0
MenuInfoService.java
.../main/java/com/mmc/iuav/user/service/MenuInfoService.java
+17
-0
RoleService.java
.../src/main/java/com/mmc/iuav/user/service/RoleService.java
+25
-0
MenuInfoServiceImpl.java
...a/com/mmc/iuav/user/service/impl/MenuInfoServiceImpl.java
+68
-0
RoleServiceImpl.java
.../java/com/mmc/iuav/user/service/impl/RoleServiceImpl.java
+90
-0
MenuTreeUtil.java
...er/src/main/java/com/mmc/iuav/user/util/MenuTreeUtil.java
+54
-0
VaildExceptionConfig.java
...ain/java/com/mmc/iuav/user/util/VaildExceptionConfig.java
+28
-0
application-dev.yml
...e/cms-service-user/src/main/resources/application-dev.yml
+8
-6
application-local.yml
...cms-service-user/src/main/resources/application-local.yml
+2
-2
application-prod.yml
.../cms-service-user/src/main/resources/application-prod.yml
+6
-6
MenuInfoDao.xml
...ms-service-user/src/main/resources/mapper/MenuInfoDao.xml
+55
-0
RoleDao.xml
...ce/cms-service-user/src/main/resources/mapper/RoleDao.xml
+172
-0
deployment.yaml
kustomization/base/deployment.yaml
+30
-0
service.yaml
kustomization/base/service.yaml
+0
-2
kustomization.yaml
kustomization/overlays/dev/kustomization.yaml
+5
-5
kustomization.yaml
kustomization/overlays/prod/kustomization.yaml
+4
-4
没有找到文件。
.github/workflows/develop.yml
浏览文件 @
341c907e
...
...
@@ -88,7 +88,7 @@ jobs:
{
"msgtype": "markdown",
"markdown": {
"content": "###
GitHub构建并推送镜像失败
\n
"content": "###
`GitHub构建并推送镜像失败`
\n
> - 提交人: ${{github.actor}} \n
> - 提交信息: ${{github.event.head_commit.message}} \n
> - 提交到仓库: ${{github.repository}} \n
...
...
.github/workflows/master.yml
浏览文件 @
341c907e
...
...
@@ -89,7 +89,7 @@ jobs:
{
"msgtype": "markdown",
"markdown": {
"content": "###
GitHub构建并推送镜像失败
\n
"content": "###
`GitHub构建并推送镜像失败`
\n
> - 提交人: ${{github.actor}} \n
> - 提交信息: ${{github.event.head_commit.message}} \n
> - 提交到仓库: ${{github.repository}} \n
...
...
cms-common/cms-common-model/src/main/java/com/mmc/iuav/user/model/dto/MenuInfoDTO.java
0 → 100644
浏览文件 @
341c907e
package
com
.
mmc
.
iuav
.
user
.
model
.
dto
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.AllArgsConstructor
;
import
lombok.Builder
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
java.io.Serializable
;
import
java.util.List
;
/**
* @author: zj
* @Date: 2023/7/11 14:25
*/
@Builder
@Data
@AllArgsConstructor
@NoArgsConstructor
@ApiModel
(
description
=
"菜单DTO"
)
public
class
MenuInfoDTO
implements
Serializable
{
private
static
final
long
serialVersionUID
=
-
4144480758801282377L
;
private
Integer
id
;
@ApiModelProperty
(
value
=
"上级ID"
)
private
Integer
pid
;
@ApiModelProperty
(
value
=
"菜单名称"
)
private
String
menuName
;
@ApiModelProperty
(
value
=
"元素类型:0菜单 1按钮"
)
private
String
domType
;
@ApiModelProperty
(
value
=
"路由地址"
)
private
String
pathInfo
;
@ApiModelProperty
(
value
=
"图标"
)
private
String
icon
;
@ApiModelProperty
(
value
=
"下级菜单列表"
)
private
List
<
MenuInfoDTO
>
children
;
}
cms-common/cms-common-model/src/main/java/com/mmc/iuav/user/model/dto/RoleInfoDTO.java
0 → 100644
浏览文件 @
341c907e
package
com
.
mmc
.
iuav
.
user
.
model
.
dto
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.AllArgsConstructor
;
import
lombok.Builder
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
java.io.Serializable
;
/**
* @Author small
* @Date 2023/7/10 16:03
* @Version 1.0
*/
@Builder
@Data
@AllArgsConstructor
@NoArgsConstructor
public
class
RoleInfoDTO
implements
Serializable
{
private
static
final
long
serialVersionUID
=
-
4791023169682602298L
;
@ApiModelProperty
(
value
=
"角色ID"
)
private
Integer
id
;
@ApiModelProperty
(
value
=
"角色编号"
)
private
String
roleNo
;
@ApiModelProperty
(
value
=
"角色名称/权限角色"
)
private
String
roleName
;
@ApiModelProperty
(
value
=
"备注"
)
private
String
remark
;
@ApiModelProperty
(
value
=
"账号名称/创建人"
)
private
String
userName
;
}
cms-common/cms-common-model/src/main/java/com/mmc/iuav/user/model/qo/RoleInfoQO.java
0 → 100644
浏览文件 @
341c907e
package
com
.
mmc
.
iuav
.
user
.
model
.
qo
;
import
com.mmc.iuav.group.Freeze
;
import
com.mmc.iuav.group.Page
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.AllArgsConstructor
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
javax.validation.constraints.Min
;
import
javax.validation.constraints.NotNull
;
import
java.io.Serializable
;
/**
* @Author small
* @Date 2023/7/10 16:02
* @Version 1.0
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
public
class
RoleInfoQO
implements
Serializable
{
private
static
final
long
serialVersionUID
=
-
3729786590325257669L
;
@ApiModelProperty
(
value
=
"权限角色/或者编号"
,
required
=
false
)
private
String
NumberOrName
;
@ApiModelProperty
(
value
=
"当前页"
,
required
=
true
,
example
=
"1"
)
@NotNull
(
message
=
"当前页不能为空"
,
groups
=
{
Page
.
class
,
Freeze
.
class
})
@Min
(
value
=
1
,
groups
=
Page
.
class
)
private
Integer
pageNo
;
@ApiModelProperty
(
value
=
"页大小"
,
required
=
true
,
example
=
"10"
)
@NotNull
(
message
=
"页大小不能为空"
,
groups
=
{
Page
.
class
,
Freeze
.
class
})
@Min
(
value
=
1
,
groups
=
Page
.
class
)
private
Integer
pageSize
;
public
void
buildCurrentPage
()
{
this
.
pageNo
=
(
pageNo
-
1
)
*
pageSize
;
}
}
cms-common/cms-common-model/src/main/java/com/mmc/iuav/user/model/vo/RoleInfoVO.java
0 → 100644
浏览文件 @
341c907e
package
com
.
mmc
.
iuav
.
user
.
model
.
vo
;
import
com.mmc.iuav.group.Create
;
import
com.mmc.iuav.group.Update
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
javax.validation.constraints.NotBlank
;
import
javax.validation.constraints.NotNull
;
import
javax.validation.constraints.Size
;
import
java.io.Serializable
;
/**
* @Author small
* @Date 2023/7/10 16:02
* @Version 1.0
*/
@Data
public
class
RoleInfoVO
implements
Serializable
{
private
static
final
long
serialVersionUID
=
-
5814724843819090363L
;
@ApiModelProperty
(
value
=
"角色id"
,
example
=
"1"
)
@NotNull
(
message
=
"角色ID不能为空"
,
groups
=
Update
.
class
)
private
Integer
id
;
@ApiModelProperty
(
value
=
"角色名称"
,
example
=
"超级管理员"
)
@Size
(
max
=
10
,
message
=
"权限角色不得超过10个字符"
)
@NotBlank
(
message
=
"角色名称不能为空"
,
groups
=
{
Create
.
class
,
Update
.
class
})
private
String
roleName
;
@ApiModelProperty
(
value
=
"备注"
,
example
=
"备注"
,
required
=
false
)
@Size
(
max
=
225
,
message
=
"备注不得超过225个字符"
,
groups
=
{
Create
.
class
,
Update
.
class
})
private
String
remark
;
}
cms-common/cms-common-model/src/main/java/com/mmc/iuav/user/model/vo/RoleMenuInfoVO.java
0 → 100644
浏览文件 @
341c907e
package
com
.
mmc
.
iuav
.
user
.
model
.
vo
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.AllArgsConstructor
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
javax.validation.constraints.NotNull
;
import
javax.validation.constraints.Size
;
import
java.io.Serializable
;
import
java.util.List
;
/**
* @author: zj
* @Date: 2023/7/11 14:04
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
public
class
RoleMenuInfoVO
implements
Serializable
{
private
static
final
long
serialVersionUID
=
-
8669403169556374845L
;
@ApiModelProperty
(
value
=
"角色id"
)
@NotNull
private
Integer
roleId
;
@ApiModelProperty
(
value
=
"菜单ids"
)
@NotNull
@Size
(
min
=
1
,
message
=
"角色菜单需选择1个以上"
)
private
List
<
Integer
>
menuInfoIds
;
}
cms-common/cms-common-util/src/main/java/com/mmc/iuav/general/CodeUtil.java
浏览文件 @
341c907e
...
...
@@ -29,4 +29,11 @@ public class CodeUtil {
public
static
String
removeUserAccount
()
{
return
"DELETE"
+
CodeUtil
.
getRandomNum
(
15
);
}
public
static
String
createRoleNo
()
{
StringBuffer
sb
=
new
StringBuffer
();
sb
.
append
(
"A"
);
sb
.
append
(
CodeUtil
.
getRandomNum
(
4
));
return
sb
.
toString
();
}
}
cms-common/cms-common-util/src/main/java/com/mmc/iuav/group/Create.java
浏览文件 @
341c907e
package
com
.
mmc
.
iuav
.
group
;
/**
* @author 作者 geDuo
* @version 创建时间:2021年8月28日 下午5:37:44
* @explain 类说明
*/
public
interface
Create
{
import
javax.validation.groups.Default
;
/**
* @author 作者 geDuo
* @version 创建时间:2021年8月28日 下午5:37:44
* @explain 类说明
*/
public
interface
Create
extends
Default
{
}
cms-common/cms-common-util/src/main/java/com/mmc/iuav/group/Update.java
浏览文件 @
341c907e
package
com
.
mmc
.
iuav
.
group
;
import
javax.validation.groups.Default
;
/**
* @author: zj
* @Date: 2023/5/16 16:32
*/
public
interface
Update
{
public
interface
Update
extends
Default
{
}
cms-common/cms-common-util/src/main/java/com/mmc/iuav/response/ResultBody.java
浏览文件 @
341c907e
package
com
.
mmc
.
iuav
.
response
;
import
com.alibaba.fastjson2.JSONObject
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.AllArgsConstructor
;
import
lombok.Builder
;
...
...
@@ -18,7 +17,7 @@ import java.io.Serializable;
@Data
@AllArgsConstructor
@NoArgsConstructor
@ApiModel
(
value
=
"com.mmc.iuav.response.ResultBody"
,
description
=
"请求响应体"
)
//
@ApiModel(value = "com.mmc.iuav.response.ResultBody", description = "请求响应体")
public
class
ResultBody
<
T
>
implements
Serializable
{
private
static
final
long
serialVersionUID
=
-
6913505187877217885L
;
...
...
@@ -70,9 +69,8 @@ public class ResultBody<T> implements Serializable {
/**
* 成功
*
* **/
public
static
ResultBody
success1
(
ResultEnum
enums
){
**/
public
static
ResultBody
success1
(
ResultEnum
enums
)
{
ResultBody
rb
=
new
ResultBody
();
rb
.
setCode
(
"200"
);
rb
.
setMessage
(
enums
.
getResultMsg
());
...
...
@@ -149,4 +147,6 @@ public class ResultBody<T> implements Serializable {
public
String
toString
()
{
return
JSONObject
.
toJSONString
(
this
);
}
}
cms-common/cms-common-util/src/main/java/com/mmc/iuav/response/ResultEnum.java
浏览文件 @
341c907e
...
...
@@ -4,7 +4,7 @@ package com.mmc.iuav.response;
* @author: zj
* @Date: 2023/5/16 10:41
*/
public
enum
ResultEnum
implements
BaseErrorInfoInterface
{
public
enum
ResultEnum
implements
BaseErrorInfoInterface
{
SUCCESS
(
"200"
,
"success"
),
FAIL
(
"500"
,
"fail"
),
PARAM_ERROR
(
"400"
,
"参数错误"
),
...
...
@@ -34,11 +34,13 @@ public enum ResultEnum implements BaseErrorInfoInterface{
PWD_REQUEST_AUTH_ERROR
(
"6003"
,
"密码请求验证"
),
APPLET_PORT_TYPE_ERROR
(
"7001"
,
"小程序端口类型错误"
),
APPLET_LOGIN_ERROR
(
"7002"
,
"获取小程序登录信息失败"
),
UPDATE_USER_ACCOUNT_REPEAT
(
"7003"
,
"修改后的账户名已存在"
),
ADD_USER_ACCOUNT_NAME_EXISTS
(
"7004"
,
"新增账户名已经存在"
);
ADD_USER_ACCOUNT_NAME_EXISTS
(
"7004"
,
"新增账户名已经存在"
),
ROLE_NAME_REPEAT_ERROR
(
"8004"
,
"角色名已存在"
),
ROLE_AVL_USER_DELETE_ERROR
(
"8005"
,
"该角色下目前已关联多个用户账号,请先在用户列表中删除角色者账号"
);
/**
* 错误码
...
...
csm-service/cms-service-user/src/main/java/com/mmc/iuav/user/controller/MenuInfoController.java
0 → 100644
浏览文件 @
341c907e
package
com
.
mmc
.
iuav
.
user
.
controller
;
import
com.mmc.iuav.response.ResultBody
;
import
com.mmc.iuav.user.model.dto.MenuInfoDTO
;
import
com.mmc.iuav.user.model.vo.RoleMenuInfoVO
;
import
com.mmc.iuav.user.service.MenuInfoService
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiOperation
;
import
io.swagger.annotations.ApiResponse
;
import
io.swagger.annotations.ApiResponses
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.web.bind.annotation.*
;
import
javax.servlet.http.HttpServletRequest
;
/**
* @author: zj
* @Date: 2023/7/11 14:09
*/
@Api
(
tags
=
"角色菜单管理"
)
@RequestMapping
(
"/role-menu/"
)
@RestController
public
class
MenuInfoController
extends
BaseController
{
@Autowired
private
MenuInfoService
menuInfoService
;
@ApiOperation
(
value
=
"全部菜单列表"
)
@ApiResponses
({
@ApiResponse
(
code
=
200
,
message
=
"OK"
,
response
=
MenuInfoDTO
.
class
)})
@GetMapping
(
"listMenuInfo"
)
public
ResultBody
listMenuInfo
()
{
return
menuInfoService
.
listMenuInfo
();
}
@ApiOperation
(
value
=
"根据角色id获取权限"
)
@ApiResponses
({
@ApiResponse
(
code
=
200
,
message
=
"OK"
,
response
=
MenuInfoDTO
.
class
)})
@GetMapping
(
"listRoleMenuInfo"
)
public
ResultBody
listRoleMenuInfo
(
@RequestParam
Integer
roleId
)
{
return
menuInfoService
.
listRoleMenuInfo
(
roleId
);
}
@ApiOperation
(
value
=
"修改角色菜单权限"
)
@ApiResponses
({
@ApiResponse
(
code
=
200
,
message
=
"OK"
,
response
=
ResultBody
.
class
)})
@PostMapping
(
"updateRoleMenuInfo"
)
public
ResultBody
updateRoleMenuInfo
(
HttpServletRequest
request
,
@RequestBody
RoleMenuInfoVO
roleMenuInfoVO
)
{
return
menuInfoService
.
updateRoleMenuInfo
(
roleMenuInfoVO
,
this
.
getUserLoginInfoFromRedis
(
request
));
}
}
csm-service/cms-service-user/src/main/java/com/mmc/iuav/user/controller/RoleController.java
0 → 100644
浏览文件 @
341c907e
package
com
.
mmc
.
iuav
.
user
.
controller
;
import
com.mmc.iuav.group.Create
;
import
com.mmc.iuav.group.Page
;
import
com.mmc.iuav.group.Update
;
import
com.mmc.iuav.response.ResultBody
;
import
com.mmc.iuav.user.model.dto.RoleInfoDTO
;
import
com.mmc.iuav.user.model.qo.RoleInfoQO
;
import
com.mmc.iuav.user.model.vo.RoleInfoVO
;
import
com.mmc.iuav.user.service.RoleService
;
import
io.swagger.annotations.*
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.validation.annotation.Validated
;
import
org.springframework.web.bind.annotation.*
;
import
javax.servlet.http.HttpServletRequest
;
/**
* @Author small
* @Date 2023/7/7 17:53
* @Version 1.0
*/
@Api
(
tags
=
"角色管理"
)
@RequestMapping
(
"/role"
)
@RestController
public
class
RoleController
extends
BaseController
{
@Autowired
private
RoleService
roleService
;
@ApiOperation
(
value
=
"角色管理-新增"
)
@ApiResponses
({
@ApiResponse
(
code
=
200
,
message
=
"OK"
,
response
=
ResultBody
.
class
)})
@PostMapping
(
"insertRoleInfo"
)
public
ResultBody
insertRoleInfo
(
HttpServletRequest
request
,
@RequestBody
@Validated
(
value
=
{
Create
.
class
})
RoleInfoVO
role
)
{
return
roleService
.
insertRoleInfo
(
role
,
this
.
getUserLoginInfoFromRedis
(
request
));
}
@ApiOperation
(
value
=
"角色管理-修改"
)
@ApiResponses
({
@ApiResponse
(
code
=
200
,
message
=
"OK"
,
response
=
ResultBody
.
class
)})
@PostMapping
(
"updateRoleInfo"
)
public
ResultBody
updateRoleInfo
(
HttpServletRequest
request
,
@RequestBody
@Validated
(
value
=
{
Update
.
class
})
RoleInfoVO
role
)
{
return
roleService
.
updateRoleInfo
(
role
,
this
.
getUserLoginInfoFromRedis
(
request
));
}
@ApiOperation
(
value
=
"角色管理-删除"
)
@ApiResponses
({
@ApiResponse
(
code
=
200
,
message
=
"OK"
,
response
=
ResultBody
.
class
)})
@GetMapping
(
"removeRoleInfo"
)
public
ResultBody
removeRoleInfo
(
@ApiParam
(
value
=
"角色id"
,
required
=
true
)
@RequestParam
Integer
id
)
{
return
roleService
.
removeRoleInfo
(
id
);
}
@ApiOperation
(
value
=
"角色管理-分页"
)
@ApiResponses
({
@ApiResponse
(
code
=
200
,
message
=
"OK"
,
response
=
RoleInfoDTO
.
class
)})
@PostMapping
(
"listRoleInfoPage"
)
public
ResultBody
<
RoleInfoDTO
>
listRoleInfoPage
(
HttpServletRequest
request
,
@Validated
(
value
=
{
Page
.
class
})
@ApiParam
(
value
=
"角色查询QO"
,
required
=
true
)
@RequestBody
RoleInfoQO
param
)
{
return
ResultBody
.
success
(
roleService
.
listPageRoleInfo
(
param
,
this
.
getUserLoginInfoFromRedis
(
request
)));
}
@ApiOperation
(
value
=
"角色管理-当前角色绑定了那些账号"
)
@ApiResponses
({
@ApiResponse
(
code
=
200
,
message
=
"OK"
,
response
=
ResultBody
.
class
)})
@GetMapping
(
"roleAccountList"
)
public
ResultBody
<
RoleInfoDTO
>
roleAccountList
(
@ApiParam
(
value
=
"角色id"
,
required
=
true
)
@RequestParam
Integer
id
)
{
return
roleService
.
roleAccountList
(
id
);
}
}
csm-service/cms-service-user/src/main/java/com/mmc/iuav/user/dao/MenuInfoDao.java
0 → 100644
浏览文件 @
341c907e
package
com
.
mmc
.
iuav
.
user
.
dao
;
import
com.mmc.iuav.user.entity.MenuInfoDO
;
import
org.apache.ibatis.annotations.Mapper
;
import
org.apache.ibatis.annotations.Param
;
import
java.util.List
;
/**
* @author: zj
* @Date: 2023/7/11 14:11
*/
@Mapper
public
interface
MenuInfoDao
{
List
<
MenuInfoDO
>
listMenuInfo
();
List
<
MenuInfoDO
>
listRoleMenuInfo
(
Integer
roleId
);
void
batchAddMenuIds
(
Integer
roleId
,
@Param
(
"addMenuIds"
)
List
<
Integer
>
addMenuIds
);
void
batchDeleteMenuIds
(
Integer
roleId
,
@Param
(
"deleteMenuIds"
)
List
<
Integer
>
deleteMenuIds
);
}
csm-service/cms-service-user/src/main/java/com/mmc/iuav/user/dao/RoleDao.java
0 → 100644
浏览文件 @
341c907e
package
com
.
mmc
.
iuav
.
user
.
dao
;
import
com.mmc.iuav.user.entity.RoleInfoDO
;
import
com.mmc.iuav.user.entity.UserAccountDO
;
import
com.mmc.iuav.user.model.qo.RoleInfoQO
;
import
org.apache.ibatis.annotations.Mapper
;
import
java.util.List
;
/**
* @Author small
* @Date 2023/7/10 16:06
* @Version 1.0
*/
@Mapper
public
interface
RoleDao
{
Integer
countRoleName
(
String
roleName
);
void
insertRoleInfo
(
RoleInfoDO
rd
);
void
updateRoleInfo
(
RoleInfoDO
rd
);
List
<
Integer
>
listUserRoleInfo
(
Integer
id
);
void
removeRoleInfo
(
Integer
id
);
RoleInfoDO
getRoleInfo
(
Integer
id
);
int
countPageRoleInfo
(
RoleInfoQO
param
);
List
<
RoleInfoDO
>
listPageRoleInfo
(
RoleInfoQO
param
);
Integer
countRoleNameId
(
RoleInfoDO
rd
);
Integer
countNotDelUserAccountByRole
(
Integer
id
);
List
<
UserAccountDO
>
roleAccountList
(
Integer
id
);
}
csm-service/cms-service-user/src/main/java/com/mmc/iuav/user/entity/MenuInfoDO.java
0 → 100644
浏览文件 @
341c907e
package
com
.
mmc
.
iuav
.
user
.
entity
;
import
com.mmc.iuav.user.model.dto.MenuInfoDTO
;
import
lombok.AllArgsConstructor
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
java.io.Serializable
;
import
java.util.Date
;
/**
* @author: zj
* @Date: 2023/7/11 14:49
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
public
class
MenuInfoDO
implements
Serializable
{
private
static
final
long
serialVersionUID
=
-
4992870152816350664L
;
private
Integer
id
;
private
Integer
pid
;
private
String
menuName
;
private
String
portType
;
private
String
domType
;
private
String
pathInfo
;
private
String
icon
;
private
Integer
sort
;
private
Date
createTime
;
private
Date
updateTime
;
public
MenuInfoDTO
buildMenuInfoDTO
()
{
return
MenuInfoDTO
.
builder
().
id
(
this
.
id
).
pid
(
this
.
pid
).
menuName
(
this
.
menuName
).
domType
(
this
.
domType
)
.
pathInfo
(
this
.
pathInfo
).
icon
(
this
.
icon
).
build
();
}
}
csm-service/cms-service-user/src/main/java/com/mmc/iuav/user/entity/RoleInfoDO.java
0 → 100644
浏览文件 @
341c907e
package
com
.
mmc
.
iuav
.
user
.
entity
;
import
com.mmc.iuav.user.model.dto.RoleInfoDTO
;
import
com.mmc.iuav.user.model.vo.RoleInfoVO
;
import
lombok.AllArgsConstructor
;
import
lombok.Builder
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
java.util.Date
;
/**
* @Author small
* @Date 2023/7/10 16:07
* @Version 1.0
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
@Builder
public
class
RoleInfoDO
{
private
static
final
long
serialVersionUID
=
-
9173631450897624325L
;
private
Integer
id
;
/**
* 角色编号
*/
private
String
roleNo
;
/**
* 角色名称
*/
private
String
roleName
;
/**
* 是否删除
*/
private
Integer
isDeleted
;
/**
* 备注
*/
private
String
remark
;
/**
* 创建时间
*/
private
Date
createTime
;
/**
* 更新时间
*/
private
Date
updateTime
;
/**
* 账号id
*/
private
Integer
userAccountId
;
/**
* 账号名称
*/
private
String
userName
;
/**
* DTO转换
*
* @return
*/
public
RoleInfoDTO
buildRoleInfoDTO
()
{
return
RoleInfoDTO
.
builder
().
id
(
this
.
id
).
roleNo
(
this
.
roleNo
).
roleName
(
this
.
roleName
)
.
userName
(
this
.
userName
)
.
remark
(
this
.
remark
).
build
();
}
/**
* VO类转换
*/
public
RoleInfoDO
(
RoleInfoVO
role
)
{
this
.
id
=
role
.
getId
();
this
.
roleName
=
role
.
getRoleName
();
this
.
remark
=
role
.
getRemark
();
}
}
csm-service/cms-service-user/src/main/java/com/mmc/iuav/user/service/MenuInfoService.java
0 → 100644
浏览文件 @
341c907e
package
com
.
mmc
.
iuav
.
user
.
service
;
import
com.mmc.iuav.response.ResultBody
;
import
com.mmc.iuav.user.model.dto.LoginSuccessDTO
;
import
com.mmc.iuav.user.model.vo.RoleMenuInfoVO
;
/**
* @author: zj
* @Date: 2023/7/11 14:13
*/
public
interface
MenuInfoService
{
ResultBody
updateRoleMenuInfo
(
RoleMenuInfoVO
roleMenuInfoVO
,
LoginSuccessDTO
userLoginInfoFromRedis
);
ResultBody
listMenuInfo
();
ResultBody
listRoleMenuInfo
(
Integer
roleId
);
}
csm-service/cms-service-user/src/main/java/com/mmc/iuav/user/service/RoleService.java
0 → 100644
浏览文件 @
341c907e
package
com
.
mmc
.
iuav
.
user
.
service
;
import
com.mmc.iuav.page.PageResult
;
import
com.mmc.iuav.response.ResultBody
;
import
com.mmc.iuav.user.model.dto.LoginSuccessDTO
;
import
com.mmc.iuav.user.model.qo.RoleInfoQO
;
import
com.mmc.iuav.user.model.vo.RoleInfoVO
;
/**
* @Author small
* @Date 2023/7/8 9:53
* @Version 1.0
*/
public
interface
RoleService
{
ResultBody
insertRoleInfo
(
RoleInfoVO
role
,
LoginSuccessDTO
userLoginInfoFromRedis
);
ResultBody
updateRoleInfo
(
RoleInfoVO
role
,
LoginSuccessDTO
userLoginInfoFromRedis
);
ResultBody
removeRoleInfo
(
Integer
id
);
PageResult
listPageRoleInfo
(
RoleInfoQO
param
,
LoginSuccessDTO
userLoginInfoFromRedis
);
ResultBody
roleAccountList
(
Integer
id
);
}
csm-service/cms-service-user/src/main/java/com/mmc/iuav/user/service/impl/MenuInfoServiceImpl.java
0 → 100644
浏览文件 @
341c907e
package
com
.
mmc
.
iuav
.
user
.
service
.
impl
;
import
com.mmc.iuav.response.ResultBody
;
import
com.mmc.iuav.user.dao.MenuInfoDao
;
import
com.mmc.iuav.user.dao.RoleDao
;
import
com.mmc.iuav.user.entity.MenuInfoDO
;
import
com.mmc.iuav.user.entity.RoleInfoDO
;
import
com.mmc.iuav.user.model.dto.LoginSuccessDTO
;
import
com.mmc.iuav.user.model.dto.MenuInfoDTO
;
import
com.mmc.iuav.user.model.vo.RoleMenuInfoVO
;
import
com.mmc.iuav.user.service.MenuInfoService
;
import
com.mmc.iuav.user.util.MenuTreeUtil
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
org.springframework.transaction.annotation.Transactional
;
import
org.springframework.util.CollectionUtils
;
import
java.util.List
;
import
java.util.stream.Collectors
;
/**
* @author: zj
* @Date: 2023/7/11 14:14
*/
@Service
public
class
MenuInfoServiceImpl
implements
MenuInfoService
{
@Autowired
private
MenuInfoDao
menuInfoDao
;
@Autowired
private
RoleDao
roleDao
;
@Transactional
@Override
public
ResultBody
updateRoleMenuInfo
(
RoleMenuInfoVO
roleMenuInfoVO
,
LoginSuccessDTO
loginSuccessDTO
)
{
// 判断该角色的菜单是否可以修改
RoleInfoDO
roleInfo
=
roleDao
.
getRoleInfo
(
roleMenuInfoVO
.
getRoleId
());
if
(!
CollectionUtils
.
isEmpty
(
roleMenuInfoVO
.
getMenuInfoIds
()))
{
List
<
MenuInfoDO
>
menuInfoDOList
=
menuInfoDao
.
listRoleMenuInfo
(
roleMenuInfoVO
.
getRoleId
());
List
<
Integer
>
existMenuIds
=
menuInfoDOList
.
stream
().
map
(
MenuInfoDO:
:
getId
).
collect
(
Collectors
.
toList
());
// 新添加的权限
List
<
Integer
>
addMenuIds
=
roleMenuInfoVO
.
getMenuInfoIds
().
stream
().
filter
(
v
->
!
existMenuIds
.
contains
(
v
)).
collect
(
Collectors
.
toList
());
// 需删除的权限
List
<
Integer
>
deleteMenuIds
=
existMenuIds
.
stream
().
filter
(
v
->
!
roleMenuInfoVO
.
getMenuInfoIds
().
contains
(
v
)).
collect
(
Collectors
.
toList
());
if
(!
CollectionUtils
.
isEmpty
(
addMenuIds
))
{
menuInfoDao
.
batchAddMenuIds
(
roleMenuInfoVO
.
getRoleId
(),
addMenuIds
);
}
if
(!
CollectionUtils
.
isEmpty
(
deleteMenuIds
))
{
menuInfoDao
.
batchDeleteMenuIds
(
roleMenuInfoVO
.
getRoleId
(),
deleteMenuIds
);
}
}
return
ResultBody
.
success
();
}
@Override
public
ResultBody
listMenuInfo
()
{
List
<
MenuInfoDO
>
menuInfoDOList
=
menuInfoDao
.
listMenuInfo
();
List
<
MenuInfoDTO
>
menuInfoDTOS
=
menuInfoDOList
.
stream
().
map
(
MenuInfoDO:
:
buildMenuInfoDTO
).
collect
(
Collectors
.
toList
());
return
ResultBody
.
success
(
MenuTreeUtil
.
buildTreePCMenu
(
menuInfoDTOS
));
}
@Override
public
ResultBody
listRoleMenuInfo
(
Integer
roleId
)
{
List
<
MenuInfoDO
>
menuInfoDOList
=
menuInfoDao
.
listRoleMenuInfo
(
roleId
);
List
<
MenuInfoDTO
>
menuInfoDTOS
=
menuInfoDOList
.
stream
().
map
(
MenuInfoDO:
:
buildMenuInfoDTO
).
collect
(
Collectors
.
toList
());
return
ResultBody
.
success
(
MenuTreeUtil
.
buildTreePCMenu
(
menuInfoDTOS
));
}
}
csm-service/cms-service-user/src/main/java/com/mmc/iuav/user/service/impl/RoleServiceImpl.java
0 → 100644
浏览文件 @
341c907e
package
com
.
mmc
.
iuav
.
user
.
service
.
impl
;
import
com.mmc.iuav.general.CodeUtil
;
import
com.mmc.iuav.page.PageResult
;
import
com.mmc.iuav.response.ResultBody
;
import
com.mmc.iuav.response.ResultEnum
;
import
com.mmc.iuav.user.dao.RoleDao
;
import
com.mmc.iuav.user.entity.RoleInfoDO
;
import
com.mmc.iuav.user.entity.UserAccountDO
;
import
com.mmc.iuav.user.model.dto.LoginSuccessDTO
;
import
com.mmc.iuav.user.model.dto.UserAccountSimpleDTO
;
import
com.mmc.iuav.user.model.qo.RoleInfoQO
;
import
com.mmc.iuav.user.model.vo.RoleInfoVO
;
import
com.mmc.iuav.user.service.RoleService
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
java.util.List
;
import
java.util.stream.Collectors
;
/**
* @Author small
* @Date 2023/7/10 16:05
* @Version 1.0
*/
@Service
public
class
RoleServiceImpl
implements
RoleService
{
@Autowired
private
RoleDao
roleDao
;
@Override
public
ResultBody
insertRoleInfo
(
RoleInfoVO
roleInfo
,
LoginSuccessDTO
userLoginInfoFromRedis
)
{
int
count
=
roleDao
.
countRoleName
(
roleInfo
.
getRoleName
());
if
(
count
>
0
)
{
return
ResultBody
.
error
(
ResultEnum
.
ROLE_NAME_REPEAT_ERROR
);
}
RoleInfoDO
rd
=
new
RoleInfoDO
(
roleInfo
);
rd
.
setUserAccountId
(
userLoginInfoFromRedis
.
getUserAccountId
());
rd
.
setRoleNo
(
CodeUtil
.
createRoleNo
());
roleDao
.
insertRoleInfo
(
rd
);
return
ResultBody
.
success
();
}
@Override
public
ResultBody
updateRoleInfo
(
RoleInfoVO
roleInfo
,
LoginSuccessDTO
userLoginInfoFromRedis
)
{
RoleInfoDO
rd
=
new
RoleInfoDO
(
roleInfo
);
int
count
=
roleDao
.
countRoleNameId
(
rd
);
if
(
count
>
0
)
{
return
ResultBody
.
error
(
ResultEnum
.
ROLE_NAME_REPEAT_ERROR
);
}
rd
.
setUserAccountId
(
userLoginInfoFromRedis
.
getUserAccountId
());
roleDao
.
updateRoleInfo
(
rd
);
return
ResultBody
.
success
();
}
@Override
public
ResultBody
removeRoleInfo
(
Integer
id
)
{
Integer
count
=
roleDao
.
countNotDelUserAccountByRole
(
id
);
if
(
count
>
0
)
{
return
ResultBody
.
error
(
ResultEnum
.
ROLE_AVL_USER_DELETE_ERROR
);
}
roleDao
.
removeRoleInfo
(
id
);
return
ResultBody
.
success
();
}
@Override
public
PageResult
listPageRoleInfo
(
RoleInfoQO
param
,
LoginSuccessDTO
userLoginInfoFromRedis
)
{
int
count
=
roleDao
.
countPageRoleInfo
(
param
);
if
(
count
==
0
)
{
return
PageResult
.
buildPage
(
param
.
getPageNo
(),
param
.
getPageSize
(),
count
);
}
Integer
pageNo
=
param
.
getPageNo
();
param
.
buildCurrentPage
();
return
PageResult
.
buildPage
(
pageNo
,
param
.
getPageSize
(),
count
,
roleDao
.
listPageRoleInfo
(
param
).
stream
().
map
(
d
->
{
return
d
.
buildRoleInfoDTO
();
}).
collect
(
Collectors
.
toList
()));
}
@Override
public
ResultBody
roleAccountList
(
Integer
id
)
{
List
<
UserAccountDO
>
roleInfoDOS
=
roleDao
.
roleAccountList
(
id
);
List
<
UserAccountSimpleDTO
>
accountSimpleDTOS
=
roleInfoDOS
.
stream
().
map
(
UserAccountDO:
:
buildUserAccountSimpleDTO
).
collect
(
Collectors
.
toList
());
return
ResultBody
.
success
(
accountSimpleDTOS
);
}
}
csm-service/cms-service-user/src/main/java/com/mmc/iuav/user/util/MenuTreeUtil.java
0 → 100644
浏览文件 @
341c907e
package
com
.
mmc
.
iuav
.
user
.
util
;
import
com.mmc.iuav.user.model.dto.MenuInfoDTO
;
import
java.util.ArrayList
;
import
java.util.List
;
/**
* @author zj
*/
public
class
MenuTreeUtil
{
public
final
static
Integer
SXTB_PC_MENU_PID
=
1
;
public
final
static
String
SXTB_PC_MENU_NAME
=
"云享飞管理后台"
;
public
static
void
builderTree
(
List
<
MenuInfoDTO
>
treeEntityList
,
MenuInfoDTO
pTreeEntity
)
{
List
<
MenuInfoDTO
>
childMenus
=
new
ArrayList
<
MenuInfoDTO
>();
for
(
MenuInfoDTO
menuInfo
:
treeEntityList
)
{
// int的对比范围有限所以需要使用equals
if
((
menuInfo
.
getPid
().
toString
()).
equals
(
pTreeEntity
.
getId
().
toString
()))
{
childMenus
.
add
(
menuInfo
);
}
}
if
(
childMenus
.
size
()
>
0
)
{
pTreeEntity
.
setChildren
(
childMenus
);
}
else
{
return
;
}
for
(
MenuInfoDTO
children
:
childMenus
)
{
treeEntityList
.
remove
(
children
);
}
if
(
treeEntityList
.
size
()
>
0
)
{
for
(
MenuInfoDTO
children
:
childMenus
)
{
builderTree
(
treeEntityList
,
children
);
}
}
}
/**
* 获取云享飞管理后台菜单列表
*
* @return
*/
public
static
MenuInfoDTO
buildTreePCMenu
(
List
<
MenuInfoDTO
>
treeEntityList
)
{
MenuInfoDTO
parent
=
new
MenuInfoDTO
();
parent
.
setId
(
MenuTreeUtil
.
SXTB_PC_MENU_PID
);
parent
.
setMenuName
(
SXTB_PC_MENU_NAME
);
MenuTreeUtil
.
builderTree
(
treeEntityList
,
parent
);
return
parent
;
}
}
csm-service/cms-service-user/src/main/java/com/mmc/iuav/user/util/VaildExceptionConfig.java
0 → 100644
浏览文件 @
341c907e
package
com
.
mmc
.
iuav
.
user
.
util
;
import
com.mmc.iuav.response.ResultBody
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.web.bind.MethodArgumentNotValidException
;
import
org.springframework.web.bind.annotation.ControllerAdvice
;
import
org.springframework.web.bind.annotation.ExceptionHandler
;
import
org.springframework.web.bind.annotation.ResponseBody
;
/**
* @Author small
* @Date 2023/7/10 16:24
* @Version 1.0
*/
@Slf4j
@ControllerAdvice
public
class
VaildExceptionConfig
extends
ResultBody
{
@ResponseBody
@ExceptionHandler
(
MethodArgumentNotValidException
.
class
)
public
ResultBody
throwCustomException
(
MethodArgumentNotValidException
methodArgumentNotValidException
)
{
log
.
error
(
"[ @Vaild异常捕获 ] "
+
methodArgumentNotValidException
.
getMessage
());
ResultBody
resultBody
=
new
ResultBody
();
resultBody
.
setCode
(
"400"
);
resultBody
.
setMessage
(
methodArgumentNotValidException
.
getBindingResult
().
getFieldError
().
getDefaultMessage
());
return
resultBody
;
}
}
csm-service/cms-service-user/src/main/resources/application-dev.yml
浏览文件 @
341c907e
...
...
@@ -4,8 +4,8 @@ spring:
datasource
:
driver-class-name
:
com.mysql.cj.jdbc.Driver
url
:
jdbc:mysql://mysql.default:3306/iuav_cms_dev?allowMultiQueries=true&useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=GMT%2B8
username
:
tmj
password
:
MMC@2022&MYSQL
username
:
iuav_dev
password
:
${MYSQL_PASSWORD}
# Druid数据源配置
type
:
com.alibaba.druid.pool.DruidDataSource
# druid:
...
...
@@ -39,23 +39,25 @@ spring:
redis
:
database
:
1
host
:
redis.default
password
:
MMC@2022&REDIS
password
:
${REDIS_PASSWORD}
port
:
6379
#rabbitMQ
rabbitmq
:
host
:
amqp-cn-zvp2ozhnj001.cn-shenzhen.amqp-0.net.mq.amqp.aliyuncs.com
port
:
5672
username
:
MjphbXFwLWNuLXp2cDJvemhuajAwMTpMVEFJNEZ6Q3B5ckEzM1BlZ254V1M2WFY=
password
:
RTg3OUMxQzk4NzU0NDQ4RkQ1RDg4MkEzQjY4M0M3MkQxOTM2QkEyNDoxNjUyNDA4NDk0NDg4
password
:
${RABBITMQ_PASSWORD}
virtual-host
:
dev
wx
:
#公众号
sub
:
appid
:
wx5c6a105a0ddca4c5
secret
:
96c75255dd26f82f8d55e15b59e101c7
secret
:
${WECHAT_SUB_SECRET}
#小程序
app
:
id
:
wx18b7883acd204278
secret
:
28afe74ba373830237a8133a7431ee82
secret
:
${WECHAT_APPLET_SECRET}
miniprogram-state
:
trial
env-version
:
trial
token-path
:
/userservlet/wechat/getAppletUserAccessToken
...
...
csm-service/cms-service-user/src/main/resources/application-local.yml
浏览文件 @
341c907e
...
...
@@ -4,8 +4,8 @@ spring:
datasource
:
driver-class-name
:
com.mysql.cj.jdbc.Driver
url
:
jdbc:mysql://rm-wz9dd796t4j1giz6t2o.mysql.rds.aliyuncs.com:3306/iuav_cms_dev?allowMultiQueries=true&useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=GMT%2B8
username
:
tmj
password
:
MMC@2022
&MYSQL
username
:
iuav_dev
password
:
IUAV_DEV@2023
&MYSQL
# Druid数据源配置
type
:
com.alibaba.druid.pool.DruidDataSource
redis
:
...
...
csm-service/cms-service-user/src/main/resources/application-prod.yml
浏览文件 @
341c907e
...
...
@@ -4,8 +4,8 @@ spring:
datasource
:
driver-class-name
:
com.mysql.cj.jdbc.Driver
url
:
jdbc:mysql://mysql.default:3306/iuav_cms?allowMultiQueries=true&useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=GMT%2B8
username
:
tmj
password
:
MMC@2022&MYSQL
username
:
iuav
password
:
${MYSQL_PASSWORD}
# Druid数据源配置
type
:
com.alibaba.druid.pool.DruidDataSource
# druid:
...
...
@@ -39,23 +39,23 @@ spring:
redis
:
database
:
5
host
:
redis.default
password
:
MMC@2022&REDIS
password
:
${REDIS_PASSWORD}
port
:
6379
#rabbitMQ
rabbitmq
:
host
:
amqp-cn-zvp2ozhnj001.cn-shenzhen.amqp-0.net.mq.amqp.aliyuncs.com
port
:
5672
username
:
MjphbXFwLWNuLXp2cDJvemhuajAwMTpMVEFJNEZ6Q3B5ckEzM1BlZ254V1M2WFY=
password
:
RTg3OUMxQzk4NzU0NDQ4RkQ1RDg4MkEzQjY4M0M3MkQxOTM2QkEyNDoxNjUyNDA4NDk0NDg4
password
:
${RABBITMQ_PASSWORD}
virtual-host
:
prod
wx
:
sub
:
appid
:
wx5c6a105a0ddca4c5
secret
:
96c75255dd26f82f8d55e15b59e101c7
secret
:
${WECHAT_SUB_SECRET}
app
:
id
:
wx18b7883acd204278
secret
:
28afe74ba373830237a8133a7431ee82
secret
:
${WECHAT_APPLET_SECRET}
miniprogram-state
:
formal
env-version
:
release
token-path
:
/userservlet/wechat/getAppletUserAccessToken
...
...
csm-service/cms-service-user/src/main/resources/mapper/MenuInfoDao.xml
0 → 100644
浏览文件 @
341c907e
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper
namespace=
"com.mmc.iuav.user.dao.MenuInfoDao"
>
<resultMap
id=
"menuInfoResultMap"
type=
"com.mmc.iuav.user.entity.MenuInfoDO"
>
<id
property=
"id"
column=
"id"
/>
<result
property=
"pid"
column=
"pid"
/>
<result
property=
"menuName"
column=
"menu_name"
/>
<result
property=
"portType"
column=
"port_type"
/>
<result
property=
"domType"
column=
"dom_type"
/>
<result
property=
"pathInfo"
column=
"path_info"
/>
<result
property=
"icon"
column=
"icon"
/>
<result
property=
"sort"
column=
"sort"
/>
<result
property=
"createTime"
column=
"create_time"
/>
<result
property=
"updateTime"
column=
"update_time"
/>
</resultMap>
<insert
id=
"batchAddMenuIds"
>
insert into menu_role_rel
(
role_id,menu_id,create_time
)
values
<foreach
collection=
"addMenuIds"
item=
"menuId"
separator=
","
>
(
#{roleId},#{menuId},NOW()
)
</foreach>
</insert>
<delete
id=
"batchDeleteMenuIds"
>
delete from menu_role_rel where role_id = #{roleId} and menu_id in
<foreach
collection=
"deleteMenuIds"
item=
"menuId"
open=
"("
separator=
","
close=
")"
>
#{menuId}
</foreach>
</delete>
<select
id=
"listMenuInfo"
resultType=
"com.mmc.iuav.user.entity.MenuInfoDO"
>
select m.id,m.pid,m.menu_name,m.dom_type,m.path_info
from menu_info m
order by m.sort ASC
</select>
<select
id=
"listRoleMenuInfo"
resultType=
"com.mmc.iuav.user.entity.MenuInfoDO"
>
select m.id,m.pid,m.menu_name,m.dom_type,m.path_info
from menu_info m
inner join menu_role_rel mr on mr.menu_id=m.id
where mr.role_id = #{roleId}
order by m.sort ASC
</select>
</mapper>
\ No newline at end of file
csm-service/cms-service-user/src/main/resources/mapper/RoleDao.xml
0 → 100644
浏览文件 @
341c907e
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper
namespace=
"com.mmc.iuav.user.dao.RoleDao"
>
<resultMap
type=
"com.mmc.iuav.user.entity.RoleInfoDO"
id=
"roleInfoResultMap"
>
<id
property=
"id"
column=
"id"
/>
<result
property=
"roleNo"
column=
"role_no"
/>
<result
property=
"roleName"
column=
"role_name"
/>
<result
property=
"isDeleted"
column=
"is_deleted"
/>
<result
property=
"remark"
column=
"remark"
/>
<result
property=
"createTime"
column=
"create_time"
/>
<result
property=
"updateTime"
column=
"update_time"
/>
<result
property=
"userAccountId"
column=
"user_account_id"
/>
<result
property=
"userName"
column=
"user_name"
/>
<result
property=
"updateTime"
column=
"update_time"
/>
<result
property=
"userName"
column=
"user_name"
/>
</resultMap>
<resultMap
id=
"userAccountResultMap"
type=
"com.mmc.iuav.user.entity.UserAccountDO"
>
<id
property=
"id"
column=
"id"
/>
<result
property=
"uid"
column=
"uid"
/>
<result
property=
"phoneNum"
column=
"phone_num"
/>
<result
property=
"userName"
column=
"user_name"
/>
<result
property=
"nickName"
column=
"nick_name"
/>
<result
property=
"userImg"
column=
"user_img"
/>
<result
property=
"openId"
column=
"open_id"
/>
<result
property=
"unionId"
column=
"union_id"
/>
<result
property=
"userSex"
column=
"user_sex"
/>
<result
property=
"email"
column=
"email"
/>
<result
property=
"source"
column=
"source"
/>
<result
property=
"accountStatus"
column=
"account_status"
/>
<result
property=
"remark"
column=
"remark"
/>
<result
property=
"portType"
column=
"port_type"
/>
<result
property=
"deleted"
column=
"is_deleted"
/>
<result
property=
"createTime"
column=
"createTime"
/>
<result
property=
"updateTime"
column=
"update_time"
/>
</resultMap>
<select
id=
"countRoleName"
resultType=
"int"
>
select count(*)
from role_info r
where r.is_deleted=0
<if
test=
" roleName != null and roleName != '' "
>
and role_name = #{roleName}
</if>
</select>
<select
id=
"countRoleNameId"
resultType=
"java.lang.Integer"
>
select count(*)
from role_info r
where r.is_deleted=0
<if
test=
" roleName != null and roleName != '' "
>
and role_name = #{roleName}
</if>
<if
test=
" id != null and id != '' "
>
and id != #{id}
</if>
</select>
<insert
id=
"insertRoleInfo"
useGeneratedKeys=
"true"
keyProperty=
"id"
parameterType=
"com.mmc.iuav.user.entity.RoleInfoDO"
>
insert into role_info(role_no, role_name, user_account_id, remark, create_time)
values (#{roleNo}, #{roleName}, #{userAccountId}, #{remark}, NOW())
</insert>
<update
id=
"updateRoleInfo"
parameterType=
"com.mmc.iuav.user.entity.RoleInfoDO"
>
UPDATE role_info
<set>
<if
test=
" roleName != null and roleName != '' "
>
role_name = #{roleName},
</if>
remark = #{remark},
update_time=NOW()
</set>
where id = #{id}
</update>
<select
id=
"listUserRoleInfo"
resultType=
"int"
parameterType=
"int"
>
select user_account_id
from user_role_rel
where role_id = #{roleId}
</select>
<update
id=
"removeRoleInfo"
parameterType=
"int"
>
UPDATE role_info
<set>
is_deleted = 1
</set>
where id = #{id}
</update>
<select
id=
"getRoleInfo"
resultMap=
"roleInfoResultMap"
parameterType=
"int"
>
select r.id,
r.role_no,
r.role_name,
r.remark,
r.create_time
from role_info r
where r.id = #{id}
and r.is_deleted = 0
</select>
<select
id=
"countPageRoleInfo"
resultType=
"int"
parameterType=
"com.mmc.iuav.user.model.qo.RoleInfoQO"
>
SELECT count(*)
FROM
role_info r
INNER JOIN user_account ua ON r.user_account_id = ua.id
WHERE
r.is_deleted =0
<if
test=
" NumberOrName != null and NumberOrName != '' "
>
and (r.role_no =#{NumberOrName}) or
(r.role_name =#{NumberOrName})
</if>
</select>
<select
id=
"listPageRoleInfo"
resultMap=
"roleInfoResultMap"
parameterType=
"com.mmc.iuav.user.model.qo.RoleInfoQO"
>
SELECT
r.id,
r.role_no,
r.role_name,
r.remark,
r.create_time,
r.user_account_id,
ua.user_name,
r.update_time
FROM
role_info r
INNER JOIN user_account ua ON r.user_account_id = ua.id
WHERE
r.is_deleted =0
<if
test=
" NumberOrName != null and NumberOrName != '' "
>
and (r.role_no =#{NumberOrName}) or
(r.role_name =#{NumberOrName})
</if>
order by r.update_time desc, r.create_time desc
limit #{pageNo},#{pageSize}
</select>
<select
id=
"countNotDelUserAccountByRole"
resultType=
"java.lang.Integer"
>
SELECT count(*)
FROM user_role_rel ur
INNER JOIN user_account ua ON ur.user_account_id = ua.id
WHERE ur.role_id = #{id}
AND ua.is_deleted = 0
</select>
<select
id=
"roleAccountList"
resultMap=
"userAccountResultMap"
>
SELECT urr.user_account_id,
ua.user_name,
ua.uid,
ua.phone_num,
ua.user_name,
ua.is_deleted
FROM user_role_rel urr
LEFT JOIN user_account ua ON ua.id = urr.user_account_id
WHERE urr.role_id = #{id}
AND ua.is_deleted = 0
</select>
</mapper>
kustomization/base/deployment.yaml
浏览文件 @
341c907e
...
...
@@ -57,6 +57,36 @@ spec:
configMapKeyRef
:
name
:
cms-map
key
:
SW_AGENT_NAME
-
name
:
MYSQL_PASSWORD
valueFrom
:
secretKeyRef
:
name
:
iuav-secret
key
:
MYSQL_PASSWORD
-
name
:
REDIS_PASSWORD
valueFrom
:
secretKeyRef
:
name
:
iuav-secret
key
:
REDIS_PASSWORD
-
name
:
OSS_ACCESS_KEY_SECRET
valueFrom
:
secretKeyRef
:
name
:
iuav-secret
key
:
OSS_ACCESS_KEY_SECRET
-
name
:
WECHAT_SUB_SECRET
valueFrom
:
secretKeyRef
:
name
:
iuav-secret
key
:
WECHAT_SUB_SECRET
-
name
:
WECHAT_APPLET_SECRET
valueFrom
:
secretKeyRef
:
name
:
iuav-secret
key
:
WECHAT_APPLET_SECRET
-
name
:
RABBITMQ_PASSWORD
valueFrom
:
secretKeyRef
:
name
:
iuav-secret
key
:
RABBITMQ_PASSWORD
volumes
:
-
name
:
log-of-app
hostPath
:
...
...
kustomization/base/service.yaml
浏览文件 @
341c907e
...
...
@@ -6,7 +6,6 @@ metadata:
spec
:
selector
:
app
:
cms
type
:
NodePort
ports
:
-
protocol
:
TCP
port
:
35150
\ No newline at end of file
kustomization/overlays/dev/kustomization.yaml
浏览文件 @
341c907e
...
...
@@ -11,11 +11,11 @@ commonAnnotations:
patches
:
-
path
:
./increase_replicas.yaml
-
path
:
./configMap.yaml
-
path
:
./service-patch.yaml
target
:
kind
:
Service
name
:
cms-svc
#
- path: ./service-patch.yaml
#
target:
#
kind: Service
#
name: cms-svc
images
:
-
name
:
REGISTRY/NAMESPACE/IMAGE:TAG
newName
:
mmc-registry.cn-shenzhen.cr.aliyuncs.com/sharefly-dev/cms
newTag
:
677d01da80e50371d2f0e7610dab215c65407b6b
newTag
:
9b3bd9bc0f9cdefd5cdfedd1a0e7c575252b33e4
kustomization/overlays/prod/kustomization.yaml
浏览文件 @
341c907e
...
...
@@ -11,10 +11,10 @@ commonAnnotations:
patches
:
-
path
:
increase_replicas.yaml
-
path
:
configMap.yaml
-
path
:
service-patch.yaml
target
:
kind
:
Service
name
:
cms-svc
#
- path: service-patch.yaml
#
target:
#
kind: Service
#
name: cms-svc
images
:
-
name
:
REGISTRY/NAMESPACE/IMAGE:TAG
newName
:
mmc-registry.cn-shenzhen.cr.aliyuncs.com/sharefly/cms
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论