Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
T
travel-cloud
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
cloud
travel-cloud
Commits
6158e4b2
提交
6158e4b2
authored
1月 10, 2025
作者:
hzh
浏览文件
操作
浏览文件
下载
差异文件
Merge branch 'dev'
上级
b28cda8a
7260db1e
隐藏空白字符变更
内嵌
并排
正在显示
23 个修改的文件
包含
1145 行增加
和
13 行删除
+1145
-13
AbstractBaseService.java
...g/dromara/common/mybatis/service/AbstractBaseService.java
+24
-1
GroupController.java
...n/java/org/dromara/server/controller/GroupController.java
+160
-0
ConfigGroup.java
.../src/main/java/org/dromara/server/domain/ConfigGroup.java
+89
-0
Group.java
...server/src/main/java/org/dromara/server/domain/Group.java
+49
-0
GroupPerson.java
.../src/main/java/org/dromara/server/domain/GroupPerson.java
+41
-0
ConfigGroupBo.java
...main/java/org/dromara/server/domain/bo/ConfigGroupBo.java
+93
-0
GroupBo.java
...r/src/main/java/org/dromara/server/domain/bo/GroupBo.java
+42
-0
GroupPersonBo.java
...main/java/org/dromara/server/domain/bo/GroupPersonBo.java
+42
-0
ConfigGroupVo.java
...main/java/org/dromara/server/domain/vo/ConfigGroupVo.java
+94
-0
GroupPersonBindVo.java
.../java/org/dromara/server/domain/vo/GroupPersonBindVo.java
+26
-0
GroupPersonVo.java
...main/java/org/dromara/server/domain/vo/GroupPersonVo.java
+46
-0
GroupVo.java
...r/src/main/java/org/dromara/server/domain/vo/GroupVo.java
+72
-0
ConfigGroupMapper.java
...ain/java/org/dromara/server/mapper/ConfigGroupMapper.java
+15
-0
GroupMapper.java
.../src/main/java/org/dromara/server/mapper/GroupMapper.java
+15
-0
GroupPersonMapper.java
...ain/java/org/dromara/server/mapper/GroupPersonMapper.java
+15
-0
IConfigGroupService.java
.../java/org/dromara/server/service/IConfigGroupService.java
+17
-0
IGroupService.java
...c/main/java/org/dromara/server/service/IGroupService.java
+27
-0
ConfigGroupServiceImpl.java
...g/dromara/server/service/impl/ConfigGroupServiceImpl.java
+54
-0
GroupServiceImpl.java
...ava/org/dromara/server/service/impl/GroupServiceImpl.java
+177
-0
TravelConfigServiceImpl.java
.../dromara/server/service/impl/TravelConfigServiceImpl.java
+26
-12
ConfigGroupMapper.xml
...er/src/main/resources/mapper/server/ConfigGroupMapper.xml
+7
-0
GroupMapper.xml
...i-server/src/main/resources/mapper/server/GroupMapper.xml
+7
-0
GroupPersonMapper.xml
...er/src/main/resources/mapper/server/GroupPersonMapper.xml
+7
-0
没有找到文件。
ruoyi-common/ruoyi-common-mybatis/src/main/java/org/dromara/common/mybatis/service/AbstractBaseService.java
浏览文件 @
6158e4b2
...
@@ -12,6 +12,7 @@ import org.dromara.common.mybatis.core.page.OrderBy;
...
@@ -12,6 +12,7 @@ import org.dromara.common.mybatis.core.page.OrderBy;
import
org.dromara.common.mybatis.core.page.PageQuery
;
import
org.dromara.common.mybatis.core.page.PageQuery
;
import
org.dromara.common.mybatis.core.page.TableDataInfo
;
import
org.dromara.common.mybatis.core.page.TableDataInfo
;
import
java.lang.reflect.Field
;
import
java.util.Collection
;
import
java.util.Collection
;
import
java.util.List
;
import
java.util.List
;
...
@@ -81,7 +82,29 @@ public abstract class AbstractBaseService<V, B, T> implements IBaseService<V, B,
...
@@ -81,7 +82,29 @@ public abstract class AbstractBaseService<V, B, T> implements IBaseService<V, B,
Class
<
T
>
clazz
=
(
Class
<
T
>)
GenericsUtils
.
getSuperClassGenricType
(
this
.
getClass
(),
2
);
Class
<
T
>
clazz
=
(
Class
<
T
>)
GenericsUtils
.
getSuperClassGenricType
(
this
.
getClass
(),
2
);
T
add
=
MapstructUtils
.
convert
(
bo
,
clazz
);
T
add
=
MapstructUtils
.
convert
(
bo
,
clazz
);
validEntityBeforeSave
(
add
);
validEntityBeforeSave
(
add
);
return
mapper
().
insert
(
add
)
>
0
;
boolean
result
=
mapper
().
insert
(
add
)
>
0
;
setIdParams
(
bo
,
clazz
,
add
);
return
result
;
}
private
void
setIdParams
(
B
bo
,
Class
<
T
>
clazz
,
T
add
)
{
// 检查 add 对象是否有 id 字段
try
{
Field
idField
=
clazz
.
getDeclaredField
(
"id"
);
// 设置 id 字段可访问,因为它可能是 private 的
idField
.
setAccessible
(
true
);
// 获取 id 字段的值
Object
idValue
=
idField
.
get
(
add
);
if
(
idValue
!=
null
)
{
// 使用反射将 id 值设置到 bo 对象中
Field
boIdField
=
bo
.
getClass
().
getDeclaredField
(
"id"
);
boIdField
.
setAccessible
(
true
);
boIdField
.
set
(
bo
,
idValue
);
}
}
catch
(
NoSuchFieldException
|
IllegalAccessException
e
)
{
// 处理异常,可以打印日志或者抛出异常
e
.
printStackTrace
();
}
}
}
@Override
@Override
...
...
ruoyi-modules/ruoyi-server/src/main/java/org/dromara/server/controller/GroupController.java
0 → 100644
浏览文件 @
6158e4b2
package
org
.
dromara
.
server
.
controller
;
import
cn.dev33.satoken.annotation.SaCheckPermission
;
import
cn.hutool.core.collection.CollUtil
;
import
jakarta.servlet.http.HttpServletResponse
;
import
jakarta.validation.constraints.NotEmpty
;
import
jakarta.validation.constraints.NotNull
;
import
lombok.RequiredArgsConstructor
;
import
org.dromara.common.core.domain.R
;
import
org.dromara.common.core.validate.AddGroup
;
import
org.dromara.common.core.validate.EditGroup
;
import
org.dromara.common.excel.utils.ExcelUtil
;
import
org.dromara.common.idempotent.annotation.RepeatSubmit
;
import
org.dromara.common.log.annotation.Log
;
import
org.dromara.common.log.enums.BusinessType
;
import
org.dromara.common.mybatis.core.page.PageQuery
;
import
org.dromara.common.mybatis.core.page.TableDataInfo
;
import
org.dromara.common.web.core.BaseController
;
import
org.dromara.server.domain.bo.ConfigGroupBo
;
import
org.dromara.server.domain.bo.GroupBo
;
import
org.dromara.server.domain.vo.ConfigGroupVo
;
import
org.dromara.server.domain.vo.GroupPersonBindVo
;
import
org.dromara.server.domain.vo.GroupVo
;
import
org.dromara.server.service.IConfigGroupService
;
import
org.dromara.server.service.IGroupService
;
import
org.springframework.validation.annotation.Validated
;
import
org.springframework.web.bind.annotation.*
;
import
java.util.List
;
/**
* 差旅分组
* 前端访问路由地址为:/server/group
*
* @author hzh
* @date 2025-01-09
*/
@Validated
@RequiredArgsConstructor
@RestController
@RequestMapping
(
"/group"
)
public
class
GroupController
extends
BaseController
{
private
final
IGroupService
groupService
;
private
final
IConfigGroupService
configGroupService
;
/**
* 查询差旅分组列表
*/
@SaCheckPermission
(
"server:group:list"
)
@GetMapping
(
"/list"
)
public
TableDataInfo
<
GroupVo
>
list
(
GroupBo
bo
,
PageQuery
pageQuery
)
{
return
groupService
.
queryPageList
(
bo
,
pageQuery
);
}
/**
* 导出差旅分组列表
*/
@SaCheckPermission
(
"server:group:export"
)
@Log
(
title
=
"差旅分组"
,
businessType
=
BusinessType
.
EXPORT
)
@PostMapping
(
"/export"
)
public
void
export
(
GroupBo
bo
,
HttpServletResponse
response
)
{
List
<
GroupVo
>
list
=
groupService
.
queryList
(
bo
);
ExcelUtil
.
exportExcel
(
list
,
"差旅分组"
,
GroupVo
.
class
,
response
);
}
/**
* 获取差旅分组详细信息
*
* @param id 主键
*/
@SaCheckPermission
(
"server:group:query"
)
@GetMapping
(
"/{id}"
)
public
R
<
GroupVo
>
getInfo
(
@NotNull
(
message
=
"主键不能为空"
)
@PathVariable
Long
id
)
{
return
R
.
ok
(
groupService
.
queryById
(
id
));
}
/**
* 新增差旅分组
*/
@SaCheckPermission
(
"server:group:add"
)
@Log
(
title
=
"差旅分组"
,
businessType
=
BusinessType
.
INSERT
)
@RepeatSubmit
()
@PostMapping
()
public
R
<
Void
>
add
(
@Validated
(
AddGroup
.
class
)
@RequestBody
GroupBo
bo
)
{
return
toAjax
(
groupService
.
insertByBo
(
bo
));
}
/**
* 修改差旅分组
*/
@SaCheckPermission
(
"server:group:edit"
)
@Log
(
title
=
"差旅分组"
,
businessType
=
BusinessType
.
UPDATE
)
@RepeatSubmit
()
@PutMapping
()
public
R
<
Void
>
edit
(
@Validated
(
EditGroup
.
class
)
@RequestBody
GroupBo
bo
)
{
return
toAjax
(
groupService
.
updateByBo
(
bo
));
}
/**
* 删除差旅分组
*
* @param ids 主键串
*/
@SaCheckPermission
(
"server:group:remove"
)
@Log
(
title
=
"差旅分组"
,
businessType
=
BusinessType
.
DELETE
)
@DeleteMapping
(
"/{ids}"
)
public
R
<
Void
>
remove
(
@NotEmpty
(
message
=
"主键不能为空"
)
@PathVariable
Long
[]
ids
)
{
return
toAjax
(
groupService
.
deleteWithValidByIds
(
List
.
of
(
ids
),
true
));
}
/**
* 绑定人员
*
* @param vo vo 绑定参数
* @return 是否成功
*/
@SaCheckPermission
(
"server:group:bindPersonList"
)
@Log
(
title
=
"差旅分组-绑定人员"
,
businessType
=
BusinessType
.
UPDATE
)
@RepeatSubmit
()
@PostMapping
(
"/bindPersonList"
)
public
R
<
Boolean
>
bindPersonList
(
@Validated
@RequestBody
GroupPersonBindVo
vo
)
{
return
R
.
ok
(
groupService
.
bindUserList
(
vo
.
getGroupId
(),
vo
.
getUserIds
()));
}
/**
* 编辑差旅设置
*
* @param bo bo 绑定参数
* @return 是否成功
*/
@SaCheckPermission
(
"server:group:updateConfig"
)
@Log
(
title
=
"差旅分组-编辑差旅设置"
,
businessType
=
BusinessType
.
UPDATE
)
@RepeatSubmit
()
@PostMapping
(
"/updateConfig"
)
public
R
<
Boolean
>
bindPersonList
(
@Validated
(
EditGroup
.
class
)
@RequestBody
ConfigGroupBo
bo
)
{
return
R
.
ok
(
configGroupService
.
updateByBo
(
bo
));
}
/**
* 查询差旅设置
*
* @param groupId groupId 绑定参数
* @return 是否成功
*/
@SaCheckPermission
(
"server:group:updateConfig"
)
@GetMapping
(
"/config"
)
public
R
<
ConfigGroupVo
>
config
(
@RequestParam
Long
groupId
)
{
List
<
ConfigGroupVo
>
list
=
configGroupService
.
queryList
(
new
ConfigGroupBo
()
.
setGroupId
(
groupId
));
if
(
CollUtil
.
isEmpty
(
list
))
{
return
R
.
ok
(
null
);
}
else
{
return
R
.
ok
(
list
.
get
(
0
));
}
}
}
ruoyi-modules/ruoyi-server/src/main/java/org/dromara/server/domain/ConfigGroup.java
0 → 100644
浏览文件 @
6158e4b2
package
org
.
dromara
.
server
.
domain
;
import
com.baomidou.mybatisplus.annotation.TableId
;
import
com.baomidou.mybatisplus.annotation.TableLogic
;
import
com.baomidou.mybatisplus.annotation.TableName
;
import
lombok.Data
;
import
lombok.EqualsAndHashCode
;
import
org.dromara.common.tenant.core.TenantEntity
;
import
java.io.Serial
;
/**
* 分组差旅设置对象 travel_config_group
*
* @author hzh
* @date 2025-01-09
*/
@Data
@EqualsAndHashCode
(
callSuper
=
true
)
@TableName
(
"travel_config_group"
)
public
class
ConfigGroup
extends
TenantEntity
{
@Serial
private
static
final
long
serialVersionUID
=
1L
;
/**
* id
*/
@TableId
(
value
=
"id"
)
private
Long
id
;
/**
* 分组id
*/
private
Long
groupId
;
/**
* 管控方式
*/
private
String
controlMethod
;
/**
* 出差时间限制
*/
private
String
timeLimit
;
/**
* 行程限制
*/
private
String
tripLimit
;
/**
* 审批开关
*/
private
Boolean
approveSwitch
;
/**
* 申请开关
*/
private
Boolean
applySwitch
;
/**
* 预算控制
*/
private
String
budgetControl
;
/**
* 差旅控制
*/
private
String
travelControl
;
/**
* 支付方式
*/
private
String
payMethod
;
/**
* 用车开关
*/
private
Boolean
useCar
;
/**
* 删除标志(0代表存在 2代表删除)
*/
@TableLogic
private
String
delFlag
;
}
ruoyi-modules/ruoyi-server/src/main/java/org/dromara/server/domain/Group.java
0 → 100644
浏览文件 @
6158e4b2
package
org
.
dromara
.
server
.
domain
;
import
com.baomidou.mybatisplus.annotation.TableId
;
import
com.baomidou.mybatisplus.annotation.TableLogic
;
import
com.baomidou.mybatisplus.annotation.TableName
;
import
lombok.Data
;
import
lombok.EqualsAndHashCode
;
import
org.dromara.common.tenant.core.TenantEntity
;
import
java.io.Serial
;
/**
* 差旅分组对象 travel_group
*
* @author hzh
* @date 2025-01-09
*/
@Data
@EqualsAndHashCode
(
callSuper
=
true
)
@TableName
(
"travel_group"
)
public
class
Group
extends
TenantEntity
{
@Serial
private
static
final
long
serialVersionUID
=
1L
;
/**
* id
*/
@TableId
(
value
=
"id"
)
private
Long
id
;
/**
* 分组名称
*/
private
String
name
;
/**
* 备注
*/
private
String
remark
;
/**
* 删除标志(0代表存在 2代表删除)
*/
@TableLogic
private
String
delFlag
;
}
ruoyi-modules/ruoyi-server/src/main/java/org/dromara/server/domain/GroupPerson.java
0 → 100644
浏览文件 @
6158e4b2
package
org
.
dromara
.
server
.
domain
;
import
com.baomidou.mybatisplus.annotation.TableId
;
import
com.baomidou.mybatisplus.annotation.TableName
;
import
lombok.Data
;
import
lombok.experimental.Accessors
;
import
java.io.Serial
;
/**
* 差旅分组人员关联对象 travel_group_person
*
* @author hzh
* @date 2025-01-09
*/
@Data
@Accessors
(
chain
=
true
)
@TableName
(
"travel_group_person"
)
public
class
GroupPerson
{
@Serial
private
static
final
long
serialVersionUID
=
1L
;
/**
* id
*/
@TableId
(
value
=
"id"
)
private
Long
id
;
/**
* 分组id
*/
private
Long
groupId
;
/**
* 用户id
*/
private
Long
userId
;
}
ruoyi-modules/ruoyi-server/src/main/java/org/dromara/server/domain/bo/ConfigGroupBo.java
0 → 100644
浏览文件 @
6158e4b2
package
org
.
dromara
.
server
.
domain
.
bo
;
import
io.github.linpeilie.annotations.AutoMapper
;
import
jakarta.validation.constraints.NotBlank
;
import
jakarta.validation.constraints.NotNull
;
import
lombok.Data
;
import
lombok.EqualsAndHashCode
;
import
lombok.experimental.Accessors
;
import
org.dromara.common.core.validate.AddGroup
;
import
org.dromara.common.core.validate.EditGroup
;
import
org.dromara.common.mybatis.core.domain.BaseEntity
;
import
org.dromara.server.domain.ConfigGroup
;
/**
* 分组差旅设置业务对象 travel_config_group
*
* @author hzh
* @date 2025-01-09
*/
@Data
@Accessors
(
chain
=
true
)
@EqualsAndHashCode
(
callSuper
=
true
)
@AutoMapper
(
target
=
ConfigGroup
.
class
,
reverseConvertGenerate
=
false
)
public
class
ConfigGroupBo
extends
BaseEntity
{
/**
* id
*/
@NotNull
(
message
=
"id不能为空"
,
groups
=
{
EditGroup
.
class
})
private
Long
id
;
/**
* 分组id
*/
@NotNull
(
message
=
"分组id不能为空"
,
groups
=
{
AddGroup
.
class
,
EditGroup
.
class
})
private
Long
groupId
;
/**
* 管控方式
*/
@NotBlank
(
message
=
"管控方式不能为空"
,
groups
=
{
AddGroup
.
class
,
EditGroup
.
class
})
private
String
controlMethod
;
/**
* 出差时间限制
*/
@NotBlank
(
message
=
"出差时间限制不能为空"
,
groups
=
{
AddGroup
.
class
,
EditGroup
.
class
})
private
String
timeLimit
;
/**
* 行程限制
*/
@NotBlank
(
message
=
"行程限制不能为空"
,
groups
=
{
AddGroup
.
class
,
EditGroup
.
class
})
private
String
tripLimit
;
/**
* 审批开关
*/
@NotNull
(
message
=
"审批开关不能为空"
,
groups
=
{
AddGroup
.
class
,
EditGroup
.
class
})
private
Boolean
approveSwitch
;
/**
* 申请开关
*/
@NotNull
(
message
=
"申请开关不能为空"
,
groups
=
{
AddGroup
.
class
,
EditGroup
.
class
})
private
Boolean
applySwitch
;
/**
* 预算控制
*/
@NotBlank
(
message
=
"预算控制不能为空"
,
groups
=
{
AddGroup
.
class
,
EditGroup
.
class
})
private
String
budgetControl
;
/**
* 差旅控制
*/
@NotBlank
(
message
=
"差旅控制不能为空"
,
groups
=
{
AddGroup
.
class
,
EditGroup
.
class
})
private
String
travelControl
;
/**
* 支付方式
*/
@NotBlank
(
message
=
"支付方式不能为空"
,
groups
=
{
AddGroup
.
class
,
EditGroup
.
class
})
private
String
payMethod
;
/**
* 用车开关
*/
@NotNull
(
message
=
"用车开关不能为空"
,
groups
=
{
AddGroup
.
class
,
EditGroup
.
class
})
private
Boolean
useCar
;
}
ruoyi-modules/ruoyi-server/src/main/java/org/dromara/server/domain/bo/GroupBo.java
0 → 100644
浏览文件 @
6158e4b2
package
org
.
dromara
.
server
.
domain
.
bo
;
import
io.github.linpeilie.annotations.AutoMapper
;
import
jakarta.validation.constraints.NotBlank
;
import
jakarta.validation.constraints.NotNull
;
import
lombok.Data
;
import
lombok.EqualsAndHashCode
;
import
org.dromara.common.core.validate.AddGroup
;
import
org.dromara.common.core.validate.EditGroup
;
import
org.dromara.common.mybatis.core.domain.BaseEntity
;
import
org.dromara.server.domain.Group
;
/**
* 差旅分组业务对象 travel_group
*
* @author hzh
* @date 2025-01-09
*/
@Data
@EqualsAndHashCode
(
callSuper
=
true
)
@AutoMapper
(
target
=
Group
.
class
,
reverseConvertGenerate
=
false
)
public
class
GroupBo
extends
BaseEntity
{
/**
* id
*/
@NotNull
(
message
=
"id不能为空"
,
groups
=
{
EditGroup
.
class
})
private
Long
id
;
/**
* 分组名称
*/
@NotBlank
(
message
=
"分组名称不能为空"
,
groups
=
{
AddGroup
.
class
,
EditGroup
.
class
})
private
String
name
;
/**
* 备注
*/
private
String
remark
;
}
ruoyi-modules/ruoyi-server/src/main/java/org/dromara/server/domain/bo/GroupPersonBo.java
0 → 100644
浏览文件 @
6158e4b2
package
org
.
dromara
.
server
.
domain
.
bo
;
import
io.github.linpeilie.annotations.AutoMapper
;
import
jakarta.validation.constraints.NotNull
;
import
lombok.Data
;
import
lombok.EqualsAndHashCode
;
import
org.dromara.common.core.validate.AddGroup
;
import
org.dromara.common.core.validate.EditGroup
;
import
org.dromara.common.mybatis.core.domain.BaseEntity
;
import
org.dromara.server.domain.GroupPerson
;
/**
* 差旅分组人员关联业务对象 travel_group_person
*
* @author hzh
* @date 2025-01-09
*/
@Data
@EqualsAndHashCode
(
callSuper
=
true
)
@AutoMapper
(
target
=
GroupPerson
.
class
,
reverseConvertGenerate
=
false
)
public
class
GroupPersonBo
extends
BaseEntity
{
/**
* id
*/
@NotNull
(
message
=
"id不能为空"
,
groups
=
{
EditGroup
.
class
})
private
Long
id
;
/**
* 分组id
*/
@NotNull
(
message
=
"分组id不能为空"
,
groups
=
{
AddGroup
.
class
,
EditGroup
.
class
})
private
Long
groupId
;
/**
* 用户id
*/
@NotNull
(
message
=
"用户id不能为空"
,
groups
=
{
AddGroup
.
class
,
EditGroup
.
class
})
private
Long
userId
;
}
ruoyi-modules/ruoyi-server/src/main/java/org/dromara/server/domain/vo/ConfigGroupVo.java
0 → 100644
浏览文件 @
6158e4b2
package
org
.
dromara
.
server
.
domain
.
vo
;
import
com.alibaba.excel.annotation.ExcelIgnoreUnannotated
;
import
com.alibaba.excel.annotation.ExcelProperty
;
import
io.github.linpeilie.annotations.AutoMapper
;
import
lombok.Data
;
import
org.dromara.server.domain.ConfigGroup
;
import
java.io.Serial
;
import
java.io.Serializable
;
/**
* 分组差旅设置视图对象 travel_config_group
*
* @author hzh
* @date 2025-01-09
*/
@Data
@ExcelIgnoreUnannotated
@AutoMapper
(
target
=
ConfigGroup
.
class
)
public
class
ConfigGroupVo
implements
Serializable
{
@Serial
private
static
final
long
serialVersionUID
=
1L
;
/**
* id
*/
@ExcelProperty
(
value
=
"id"
)
private
Long
id
;
/**
* 分组id
*/
@ExcelProperty
(
value
=
"分组id"
)
private
Long
groupId
;
/**
* 管控方式
*/
@ExcelProperty
(
value
=
"管控方式"
)
private
String
controlMethod
;
/**
* 出差时间限制
*/
@ExcelProperty
(
value
=
"出差时间限制"
)
private
String
timeLimit
;
/**
* 行程限制
*/
@ExcelProperty
(
value
=
"行程限制"
)
private
String
tripLimit
;
/**
* 审批开关
*/
@ExcelProperty
(
value
=
"审批开关"
)
private
Boolean
approveSwitch
;
/**
* 申请开关
*/
@ExcelProperty
(
value
=
"申请开关"
)
private
Boolean
applySwitch
;
/**
* 预算控制
*/
@ExcelProperty
(
value
=
"预算控制"
)
private
String
budgetControl
;
/**
* 差旅控制
*/
@ExcelProperty
(
value
=
"差旅控制"
)
private
String
travelControl
;
/**
* 支付方式
*/
@ExcelProperty
(
value
=
"支付方式"
)
private
String
payMethod
;
/**
* 用车开关
*/
@ExcelProperty
(
value
=
"用车开关"
)
private
Boolean
useCar
;
}
ruoyi-modules/ruoyi-server/src/main/java/org/dromara/server/domain/vo/GroupPersonBindVo.java
0 → 100644
浏览文件 @
6158e4b2
package
org
.
dromara
.
server
.
domain
.
vo
;
import
jakarta.validation.constraints.NotNull
;
import
lombok.Data
;
import
java.util.List
;
/**
* @author hzh
* @date 2025-01-09
* @desc 分组绑定用户vo
**/
@Data
public
class
GroupPersonBindVo
{
/**
* 分组id
*/
@NotNull
(
message
=
"分组id不能为空"
)
private
Long
groupId
;
/**
* 用户id集合
*/
private
List
<
Long
>
userIds
;
}
ruoyi-modules/ruoyi-server/src/main/java/org/dromara/server/domain/vo/GroupPersonVo.java
0 → 100644
浏览文件 @
6158e4b2
package
org
.
dromara
.
server
.
domain
.
vo
;
import
com.alibaba.excel.annotation.ExcelIgnoreUnannotated
;
import
com.alibaba.excel.annotation.ExcelProperty
;
import
io.github.linpeilie.annotations.AutoMapper
;
import
lombok.Data
;
import
org.dromara.server.domain.GroupPerson
;
import
java.io.Serial
;
import
java.io.Serializable
;
/**
* 差旅分组人员关联视图对象 travel_group_person
*
* @author hzh
* @date 2025-01-09
*/
@Data
@ExcelIgnoreUnannotated
@AutoMapper
(
target
=
GroupPerson
.
class
)
public
class
GroupPersonVo
implements
Serializable
{
@Serial
private
static
final
long
serialVersionUID
=
1L
;
/**
* id
*/
@ExcelProperty
(
value
=
"id"
)
private
Long
id
;
/**
* 分组id
*/
@ExcelProperty
(
value
=
"分组id"
)
private
Long
groupId
;
/**
* 用户id
*/
@ExcelProperty
(
value
=
"用户id"
)
private
Long
userId
;
}
ruoyi-modules/ruoyi-server/src/main/java/org/dromara/server/domain/vo/GroupVo.java
0 → 100644
浏览文件 @
6158e4b2
package
org
.
dromara
.
server
.
domain
.
vo
;
import
com.alibaba.excel.annotation.ExcelIgnoreUnannotated
;
import
com.alibaba.excel.annotation.ExcelProperty
;
import
io.github.linpeilie.annotations.AutoMapper
;
import
lombok.Data
;
import
lombok.experimental.Accessors
;
import
org.dromara.server.domain.Group
;
import
java.io.Serial
;
import
java.io.Serializable
;
import
java.util.List
;
/**
* 差旅分组视图对象 travel_group
*
* @author hzh
* @date 2025-01-09
*/
@Data
@ExcelIgnoreUnannotated
@AutoMapper
(
target
=
Group
.
class
)
public
class
GroupVo
implements
Serializable
{
@Serial
private
static
final
long
serialVersionUID
=
1L
;
/**
* id
*/
@ExcelProperty
(
value
=
"id"
)
private
Long
id
;
/**
* 分组名称
*/
@ExcelProperty
(
value
=
"分组名称"
)
private
String
name
;
/**
* 备注
*/
@ExcelProperty
(
value
=
"备注"
)
private
String
remark
;
/**
* 用户列表
*/
private
List
<
User
>
userList
;
@Data
@Accessors
(
chain
=
true
)
public
static
class
User
{
/**
* 用户id
*/
private
Long
userId
;
/**
* 用户名称
*/
private
String
userName
;
/**
* 手机号
*/
private
String
phone
;
}
}
ruoyi-modules/ruoyi-server/src/main/java/org/dromara/server/mapper/ConfigGroupMapper.java
0 → 100644
浏览文件 @
6158e4b2
package
org
.
dromara
.
server
.
mapper
;
import
org.dromara.common.mybatis.core.mapper.BaseMapperPlus
;
import
org.dromara.server.domain.ConfigGroup
;
import
org.dromara.server.domain.vo.ConfigGroupVo
;
/**
* 分组差旅设置Mapper接口
*
* @author hzh
* @date 2025-01-09
*/
public
interface
ConfigGroupMapper
extends
BaseMapperPlus
<
ConfigGroup
,
ConfigGroupVo
>
{
}
ruoyi-modules/ruoyi-server/src/main/java/org/dromara/server/mapper/GroupMapper.java
0 → 100644
浏览文件 @
6158e4b2
package
org
.
dromara
.
server
.
mapper
;
import
org.dromara.common.mybatis.core.mapper.BaseMapperPlus
;
import
org.dromara.server.domain.Group
;
import
org.dromara.server.domain.vo.GroupVo
;
/**
* 差旅分组Mapper接口
*
* @author hzh
* @date 2025-01-09
*/
public
interface
GroupMapper
extends
BaseMapperPlus
<
Group
,
GroupVo
>
{
}
ruoyi-modules/ruoyi-server/src/main/java/org/dromara/server/mapper/GroupPersonMapper.java
0 → 100644
浏览文件 @
6158e4b2
package
org
.
dromara
.
server
.
mapper
;
import
org.dromara.common.mybatis.core.mapper.BaseMapperPlus
;
import
org.dromara.server.domain.GroupPerson
;
import
org.dromara.server.domain.vo.GroupPersonVo
;
/**
* 差旅分组人员关联Mapper接口
*
* @author hzh
* @date 2025-01-09
*/
public
interface
GroupPersonMapper
extends
BaseMapperPlus
<
GroupPerson
,
GroupPersonVo
>
{
}
ruoyi-modules/ruoyi-server/src/main/java/org/dromara/server/service/IConfigGroupService.java
0 → 100644
浏览文件 @
6158e4b2
package
org
.
dromara
.
server
.
service
;
import
org.dromara.common.mybatis.service.IBaseService
;
import
org.dromara.server.domain.ConfigGroup
;
import
org.dromara.server.domain.bo.ConfigGroupBo
;
import
org.dromara.server.domain.vo.ConfigGroupVo
;
/**
* 分组差旅设置Service接口
*
* @author hzh
* @date 2025-01-09
*/
public
interface
IConfigGroupService
extends
IBaseService
<
ConfigGroupVo
,
ConfigGroupBo
,
ConfigGroup
>
{
}
ruoyi-modules/ruoyi-server/src/main/java/org/dromara/server/service/IGroupService.java
0 → 100644
浏览文件 @
6158e4b2
package
org
.
dromara
.
server
.
service
;
import
org.dromara.common.mybatis.service.IBaseService
;
import
org.dromara.server.domain.Group
;
import
org.dromara.server.domain.bo.GroupBo
;
import
org.dromara.server.domain.vo.GroupVo
;
import
java.util.List
;
/**
* 差旅分组Service接口
*
* @author hzh
* @date 2025-01-09
*/
public
interface
IGroupService
extends
IBaseService
<
GroupVo
,
GroupBo
,
Group
>
{
/**
* 绑定用户
*
* @param groupId 分组ID
* @param userIds 用户ID列表
* @return 是否成功
*/
boolean
bindUserList
(
Long
groupId
,
List
<
Long
>
userIds
);
}
ruoyi-modules/ruoyi-server/src/main/java/org/dromara/server/service/impl/ConfigGroupServiceImpl.java
0 → 100644
浏览文件 @
6158e4b2
package
org
.
dromara
.
server
.
service
.
impl
;
import
com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper
;
import
com.baomidou.mybatisplus.core.toolkit.Wrappers
;
import
lombok.RequiredArgsConstructor
;
import
org.dromara.common.core.utils.StringUtils
;
import
org.dromara.common.mybatis.core.mapper.BaseMapperPlus
;
import
org.dromara.common.mybatis.service.AbstractBaseService
;
import
org.dromara.server.domain.ConfigGroup
;
import
org.dromara.server.domain.bo.ConfigGroupBo
;
import
org.dromara.server.domain.vo.ConfigGroupVo
;
import
org.dromara.server.mapper.ConfigGroupMapper
;
import
org.dromara.server.service.IConfigGroupService
;
import
org.springframework.stereotype.Service
;
import
java.util.Map
;
/**
* 分组差旅设置Service业务层处理
*
* @author hzh
* @date 2025-01-09
*/
@RequiredArgsConstructor
@Service
public
class
ConfigGroupServiceImpl
extends
AbstractBaseService
<
ConfigGroupVo
,
ConfigGroupBo
,
ConfigGroup
>
implements
IConfigGroupService
{
private
final
ConfigGroupMapper
baseMapper
;
@Override
public
BaseMapperPlus
<
ConfigGroup
,
ConfigGroupVo
>
mapper
()
{
return
baseMapper
;
}
@Override
public
LambdaQueryWrapper
<
ConfigGroup
>
buildQueryWrapper
(
ConfigGroupBo
bo
)
{
Map
<
String
,
Object
>
params
=
bo
.
getParams
();
LambdaQueryWrapper
<
ConfigGroup
>
lqw
=
Wrappers
.
lambdaQuery
();
lqw
.
eq
(
bo
.
getGroupId
()
!=
null
,
ConfigGroup:
:
getGroupId
,
bo
.
getGroupId
());
lqw
.
eq
(
StringUtils
.
isNotBlank
(
bo
.
getControlMethod
()),
ConfigGroup:
:
getControlMethod
,
bo
.
getControlMethod
());
lqw
.
eq
(
StringUtils
.
isNotBlank
(
bo
.
getTimeLimit
()),
ConfigGroup:
:
getTimeLimit
,
bo
.
getTimeLimit
());
lqw
.
eq
(
StringUtils
.
isNotBlank
(
bo
.
getTripLimit
()),
ConfigGroup:
:
getTripLimit
,
bo
.
getTripLimit
());
lqw
.
eq
(
bo
.
getApproveSwitch
()
!=
null
,
ConfigGroup:
:
getApproveSwitch
,
bo
.
getApproveSwitch
());
lqw
.
eq
(
bo
.
getApplySwitch
()
!=
null
,
ConfigGroup:
:
getApplySwitch
,
bo
.
getApplySwitch
());
lqw
.
eq
(
StringUtils
.
isNotBlank
(
bo
.
getBudgetControl
()),
ConfigGroup:
:
getBudgetControl
,
bo
.
getBudgetControl
());
lqw
.
eq
(
StringUtils
.
isNotBlank
(
bo
.
getTravelControl
()),
ConfigGroup:
:
getTravelControl
,
bo
.
getTravelControl
());
lqw
.
eq
(
StringUtils
.
isNotBlank
(
bo
.
getPayMethod
()),
ConfigGroup:
:
getPayMethod
,
bo
.
getPayMethod
());
lqw
.
eq
(
bo
.
getUseCar
()
!=
null
,
ConfigGroup:
:
getUseCar
,
bo
.
getUseCar
());
return
lqw
;
}
}
ruoyi-modules/ruoyi-server/src/main/java/org/dromara/server/service/impl/GroupServiceImpl.java
0 → 100644
浏览文件 @
6158e4b2
package
org
.
dromara
.
server
.
service
.
impl
;
import
cn.hutool.core.bean.BeanUtil
;
import
cn.hutool.core.collection.CollUtil
;
import
com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper
;
import
com.baomidou.mybatisplus.core.toolkit.Wrappers
;
import
lombok.RequiredArgsConstructor
;
import
org.apache.dubbo.config.annotation.DubboReference
;
import
org.dromara.common.core.utils.StreamUtils
;
import
org.dromara.common.core.utils.StringUtils
;
import
org.dromara.common.mybatis.core.mapper.BaseMapperPlus
;
import
org.dromara.common.mybatis.service.AbstractBaseService
;
import
org.dromara.server.domain.ConfigGroup
;
import
org.dromara.server.domain.Group
;
import
org.dromara.server.domain.GroupPerson
;
import
org.dromara.server.domain.TravelConfig
;
import
org.dromara.server.domain.bo.GroupBo
;
import
org.dromara.server.domain.vo.GroupVo
;
import
org.dromara.server.mapper.ConfigGroupMapper
;
import
org.dromara.server.mapper.GroupMapper
;
import
org.dromara.server.mapper.GroupPersonMapper
;
import
org.dromara.server.mapper.TravelConfigMapper
;
import
org.dromara.server.service.IGroupService
;
import
org.dromara.system.api.RemoteUserService
;
import
org.dromara.system.api.domain.vo.RemoteUserVo
;
import
org.springframework.stereotype.Service
;
import
org.springframework.transaction.annotation.Transactional
;
import
java.util.*
;
import
java.util.stream.Collectors
;
/**
* 差旅分组Service业务层处理
*
* @author hzh
* @date 2025-01-09
*/
@RequiredArgsConstructor
@Service
public
class
GroupServiceImpl
extends
AbstractBaseService
<
GroupVo
,
GroupBo
,
Group
>
implements
IGroupService
{
private
final
GroupMapper
baseMapper
;
private
final
GroupPersonMapper
groupPersonMapper
;
private
final
TravelConfigMapper
travelConfigMapper
;
private
final
ConfigGroupMapper
configGroupMapper
;
@DubboReference
private
final
RemoteUserService
remoteUserService
;
@Override
public
BaseMapperPlus
<
Group
,
GroupVo
>
mapper
()
{
return
baseMapper
;
}
@Override
public
void
processData
(
List
<
GroupVo
>
list
)
{
super
.
processData
(
list
);
List
<
Long
>
groupIds
=
StreamUtils
.
toList
(
list
,
GroupVo:
:
getId
);
if
(
CollUtil
.
isNotEmpty
(
groupIds
))
{
List
<
GroupPerson
>
gpList
=
groupPersonMapper
.
selectList
(
new
LambdaQueryWrapper
<
GroupPerson
>().
in
(
GroupPerson:
:
getGroupId
,
groupIds
));
List
<
Long
>
userIds
=
StreamUtils
.
toList
(
gpList
,
GroupPerson:
:
getUserId
);
List
<
RemoteUserVo
>
userList
=
remoteUserService
.
selectUserVoListByUserIds
(
userIds
);
for
(
GroupVo
group
:
list
)
{
List
<
Long
>
userIdList
=
gpList
.
stream
().
filter
(
gp
->
Objects
.
equals
(
group
.
getId
(),
gp
.
getGroupId
()))
.
map
(
GroupPerson:
:
getUserId
).
collect
(
Collectors
.
toList
());
group
.
setUserList
(
userIdList
.
stream
()
.
map
(
userId
->
{
GroupVo
.
User
user
=
new
GroupVo
.
User
();
user
.
setUserId
(
userId
);
userList
.
stream
().
filter
(
u
->
Objects
.
equals
(
u
.
getUserId
(),
userId
))
.
findFirst
()
.
ifPresent
(
u
->
{
user
.
setUserName
(
u
.
getNickName
());
user
.
setPhone
(
u
.
getPhonenumber
());
});
return
user
;
}
)
.
collect
(
Collectors
.
toList
())
);
}
}
}
@Override
public
LambdaQueryWrapper
<
Group
>
buildQueryWrapper
(
GroupBo
bo
)
{
Map
<
String
,
Object
>
params
=
bo
.
getParams
();
LambdaQueryWrapper
<
Group
>
lqw
=
Wrappers
.
lambdaQuery
();
lqw
.
like
(
StringUtils
.
isNotBlank
(
bo
.
getName
()),
Group:
:
getName
,
bo
.
getName
());
return
lqw
;
}
@Override
public
void
validEntityBeforeSave
(
Group
entity
)
{
super
.
validEntityBeforeSave
(
entity
);
LambdaQueryWrapper
<
Group
>
lqw
=
Wrappers
.
lambdaQuery
();
lqw
.
eq
(
Group:
:
getName
,
entity
.
getName
());
List
<
Group
>
groupList
=
baseMapper
.
selectList
(
lqw
).
stream
()
.
filter
(
item
->
!
Objects
.
equals
(
item
.
getId
(),
entity
.
getId
())).
toList
();
if
(
groupList
.
size
()
>
0
)
{
throw
new
RuntimeException
(
"分组名称"
+
entity
.
getName
()
+
"已存在,请跟换分组名称"
);
}
}
@Override
public
void
validIdsBeforeDelete
(
Collection
<
Long
>
ids
)
{
super
.
validIdsBeforeDelete
(
ids
);
LambdaQueryWrapper
<
GroupPerson
>
lqw
=
Wrappers
.
lambdaQuery
();
lqw
.
in
(
GroupPerson:
:
getGroupId
,
ids
);
List
<
GroupPerson
>
list
=
groupPersonMapper
.
selectList
(
lqw
);
if
(
list
.
size
()
>
0
)
{
throw
new
RuntimeException
(
"分组下有成员,无法删除"
);
}
}
@Transactional
(
rollbackFor
=
Exception
.
class
)
@Override
public
Boolean
deleteWithValidByIds
(
Collection
<
Long
>
ids
,
Boolean
isValid
)
{
Boolean
result
=
super
.
deleteWithValidByIds
(
ids
,
isValid
);
//删除对应配置
LambdaQueryWrapper
<
ConfigGroup
>
lqw
=
Wrappers
.
lambdaQuery
();
lqw
.
in
(
ConfigGroup:
:
getGroupId
,
ids
);
configGroupMapper
.
delete
(
lqw
);
return
result
;
}
@Transactional
(
rollbackFor
=
Exception
.
class
)
@Override
public
boolean
bindUserList
(
Long
groupId
,
List
<
Long
>
userIds
)
{
//查询分组是否存在
Group
group
=
baseMapper
.
selectById
(
groupId
);
if
(
group
==
null
)
{
throw
new
RuntimeException
(
"分组不存在"
);
}
//判断成员是否在其他项目组中
for
(
Long
userId
:
userIds
)
{
LambdaQueryWrapper
<
GroupPerson
>
gpLqw
=
Wrappers
.
lambdaQuery
();
gpLqw
.
ne
(
GroupPerson:
:
getGroupId
,
groupId
);
gpLqw
.
eq
(
GroupPerson:
:
getUserId
,
userId
);
GroupPerson
gp
=
groupPersonMapper
.
selectOne
(
gpLqw
);
if
(
Objects
.
nonNull
(
gp
))
{
String
groupName
=
Optional
.
ofNullable
(
baseMapper
.
selectById
(
gp
.
getGroupId
())).
map
(
Group:
:
getName
).
orElse
(
""
);
String
userName
=
remoteUserService
.
selectUserNameById
(
userId
);
throw
new
RuntimeException
(
userName
+
"已经在分组"
+
groupName
+
"中,不能重复添加"
);
}
}
//删除分组下所有成员
LambdaQueryWrapper
<
GroupPerson
>
lqw
=
Wrappers
.
lambdaQuery
();
lqw
.
eq
(
GroupPerson:
:
getGroupId
,
groupId
);
groupPersonMapper
.
delete
(
lqw
);
//添加成员
List
<
GroupPerson
>
gpList
=
userIds
.
stream
().
map
(
userId
->
new
GroupPerson
()
.
setGroupId
(
groupId
)
.
setUserId
(
userId
)).
collect
(
Collectors
.
toList
());
groupPersonMapper
.
insertBatch
(
gpList
);
return
true
;
}
@Transactional
(
rollbackFor
=
Exception
.
class
)
@Override
public
Boolean
insertByBo
(
GroupBo
bo
)
{
Boolean
result
=
super
.
insertByBo
(
bo
);
if
(
result
)
{
//查询差旅配置
TravelConfig
tc
=
travelConfigMapper
.
selectOne
(
Wrappers
.
lambdaQuery
());
Optional
.
ofNullable
(
tc
)
.
ifPresent
(
config
->
{
ConfigGroup
cg
=
BeanUtil
.
copyProperties
(
config
,
ConfigGroup
.
class
,
"id"
);
cg
.
setGroupId
(
bo
.
getId
());
configGroupMapper
.
insert
(
cg
);
});
}
return
result
;
}
}
ruoyi-modules/ruoyi-server/src/main/java/org/dromara/server/service/impl/TravelConfigServiceImpl.java
浏览文件 @
6158e4b2
...
@@ -12,16 +12,10 @@ import org.dromara.common.satoken.utils.LoginHelper;
...
@@ -12,16 +12,10 @@ import org.dromara.common.satoken.utils.LoginHelper;
import
org.dromara.common.tenant.helper.TenantHelper
;
import
org.dromara.common.tenant.helper.TenantHelper
;
import
org.dromara.order.api.enums.OrderType
;
import
org.dromara.order.api.enums.OrderType
;
import
org.dromara.server.constant.travel.*
;
import
org.dromara.server.constant.travel.*
;
import
org.dromara.server.domain.Apply
;
import
org.dromara.server.domain.*
;
import
org.dromara.server.domain.ApplyPerson
;
import
org.dromara.server.domain.TravelConfig
;
import
org.dromara.server.domain.TravelConfigPerson
;
import
org.dromara.server.domain.bo.TravelConfigBo
;
import
org.dromara.server.domain.bo.TravelConfigBo
;
import
org.dromara.server.domain.vo.*
;
import
org.dromara.server.domain.vo.*
;
import
org.dromara.server.mapper.ApplyMapper
;
import
org.dromara.server.mapper.*
;
import
org.dromara.server.mapper.ApplyPersonMapper
;
import
org.dromara.server.mapper.TravelConfigMapper
;
import
org.dromara.server.mapper.TravelConfigPersonMapper
;
import
org.dromara.server.service.ITravelConfigService
;
import
org.dromara.server.service.ITravelConfigService
;
import
org.springframework.stereotype.Service
;
import
org.springframework.stereotype.Service
;
...
@@ -41,6 +35,9 @@ public class TravelConfigServiceImpl extends AbstractBaseService<TravelConfigVo,
...
@@ -41,6 +35,9 @@ public class TravelConfigServiceImpl extends AbstractBaseService<TravelConfigVo,
private
final
ApplyMapper
applyMapper
;
private
final
ApplyMapper
applyMapper
;
private
final
ApplyPersonMapper
applyPersonMapper
;
private
final
ApplyPersonMapper
applyPersonMapper
;
private
final
TravelConfigPersonMapper
travelConfigPersonMapper
;
private
final
TravelConfigPersonMapper
travelConfigPersonMapper
;
private
final
GroupPersonMapper
groupPersonMapper
;
private
final
ConfigGroupMapper
configGroupMapper
;
@Override
@Override
public
BaseMapperPlus
<
TravelConfig
,
TravelConfigVo
>
mapper
()
{
public
BaseMapperPlus
<
TravelConfig
,
TravelConfigVo
>
mapper
()
{
...
@@ -150,10 +147,27 @@ public class TravelConfigServiceImpl extends AbstractBaseService<TravelConfigVo,
...
@@ -150,10 +147,27 @@ public class TravelConfigServiceImpl extends AbstractBaseService<TravelConfigVo,
@Override
@Override
public
TravelConfigVo
getTravelConfig
()
{
public
TravelConfigVo
getTravelConfig
()
{
Long
userId
=
LoginHelper
.
getUserId
();
//获取个人配置
//获取个人配置
TravelConfigPerson
travelConfigPerson
=
travelConfigPersonMapper
.
selectOne
(
new
LambdaQueryWrapper
<
TravelConfigPerson
>()
TravelConfigPerson
travelConfigPerson
=
travelConfigPersonMapper
.
selectOne
(
.
eq
(
TravelConfigPerson:
:
getUserId
,
LoginHelper
.
getUserId
()));
new
LambdaQueryWrapper
<
TravelConfigPerson
>()
return
Optional
.
ofNullable
(
travelConfigPerson
)
.
eq
(
TravelConfigPerson:
:
getUserId
,
userId
)
.
map
(
person
->
BeanUtil
.
copyProperties
(
person
,
TravelConfigVo
.
class
)).
orElseGet
(()
->
mapper
().
selectVoOne
(
new
LambdaQueryWrapper
<>()));
);
if
(
Objects
.
nonNull
(
travelConfigPerson
))
{
return
BeanUtil
.
copyProperties
(
travelConfigPerson
,
TravelConfigVo
.
class
);
}
//获取分组配置
GroupPerson
gp
=
groupPersonMapper
.
selectOne
(
new
LambdaQueryWrapper
<
GroupPerson
>()
.
eq
(
GroupPerson:
:
getUserId
,
userId
)
);
if
(
Objects
.
nonNull
(
gp
))
{
ConfigGroup
configGroup
=
configGroupMapper
.
selectOne
(
new
LambdaQueryWrapper
<
ConfigGroup
>()
.
eq
(
ConfigGroup:
:
getGroupId
,
gp
.
getGroupId
())
);
return
BeanUtil
.
copyProperties
(
configGroup
,
TravelConfigVo
.
class
);
}
return
mapper
().
selectVoOne
(
new
LambdaQueryWrapper
<>());
}
}
}
}
ruoyi-modules/ruoyi-server/src/main/resources/mapper/server/ConfigGroupMapper.xml
0 → 100644
浏览文件 @
6158e4b2
<?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=
"org.dromara.server.mapper.ConfigGroupMapper"
>
</mapper>
ruoyi-modules/ruoyi-server/src/main/resources/mapper/server/GroupMapper.xml
0 → 100644
浏览文件 @
6158e4b2
<?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=
"org.dromara.server.mapper.GroupMapper"
>
</mapper>
ruoyi-modules/ruoyi-server/src/main/resources/mapper/server/GroupPersonMapper.xml
0 → 100644
浏览文件 @
6158e4b2
<?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=
"org.dromara.server.mapper.GroupPersonMapper"
>
</mapper>
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论