Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
C
cms-ci-test
概览
概览
详情
活动
周期分析
版本库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
统计图
问题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程表
图表
维基
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
test-ci
cms-ci-test
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
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论