Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Contribute to GitLab
Sign in
Toggle navigation
A
an-plus-hr
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
anjia-hr
an-plus-hr
Commits
2bdd7595
Commit
2bdd7595
authored
Nov 19, 2025
by
刘斌
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
feat: 增加电话本
parent
b1848be2
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
577 additions
and
0 deletions
+577
-0
EmployeePhoneBookCtrl.java
.../java/com/anplus/hr/controller/EmployeePhoneBookCtrl.java
+98
-0
EmployeePhoneBookListParam.java
...m/anplus/hr/domain/params/EmployeePhoneBookListParam.java
+77
-0
EmployeePhoneBookParam.java
...a/com/anplus/hr/domain/params/EmployeePhoneBookParam.java
+94
-0
EmployeePhoneBookVo.java
...ain/java/com/anplus/hr/domain/vo/EmployeePhoneBookVo.java
+102
-0
EmployeePhoneBookServ.java
...ain/java/com/anplus/hr/service/EmployeePhoneBookServ.java
+69
-0
EmployeePhoneBookServImpl.java
...com/anplus/hr/service/impl/EmployeePhoneBookServImpl.java
+137
-0
电话本模板.xlsx
admin/src/main/resources/excel/电话本模板.xlsx
+0
-0
No files found.
admin/src/main/java/com/anplus/hr/controller/EmployeePhoneBookCtrl.java
0 → 100644
View file @
2bdd7595
package
com
.
anplus
.
hr
.
controller
;
import
cn.dev33.satoken.annotation.SaCheckPermission
;
import
com.alibaba.cola.dto.PageResponse
;
import
com.anplus.hr.domain.params.EmployeePhoneBookListParam
;
import
com.anplus.hr.domain.vo.EmployeePhoneBookVo
;
import
com.anplus.hr.service.EmployeePhoneBookServ
;
import
jakarta.annotation.Resource
;
import
org.springframework.validation.annotation.Validated
;
import
org.springframework.web.bind.annotation.GetMapping
;
import
org.springframework.web.bind.annotation.PostMapping
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RestController
;
import
top.binfast.common.core.constant.BusinessType
;
import
top.binfast.common.excel.annotion.ExcelExport
;
import
top.binfast.common.log.annotation.PinSysLog
;
import
java.util.List
;
/**
* 电话本管理
*
* @author LiuBin
* @date 2025-11-19
*/
@Validated
@RestController
@RequestMapping
(
"/employee/phoneBook"
)
public
class
EmployeePhoneBookCtrl
{
@Resource
private
EmployeePhoneBookServ
employeePhoneBookServ
;
/**
* 查询电话本管理列表
*/
@SaCheckPermission
(
"employee:phoneBook:list"
)
@GetMapping
(
"/page"
)
public
PageResponse
<
EmployeePhoneBookVo
>
pageList
(
EmployeePhoneBookListParam
param
)
{
return
employeePhoneBookServ
.
queryPageList
(
param
);
}
/**
* 导出电话本管理列表
*/
@ExcelExport
(
template
=
"电话本模板.xlsx"
,
fill
=
true
)
@SaCheckPermission
(
"employee:phoneBook:export"
)
@PinSysLog
(
value
=
"电话本管理"
,
businessType
=
BusinessType
.
EXPORT
)
@PostMapping
(
"/export"
)
public
List
<
EmployeePhoneBookVo
>
export
(
EmployeePhoneBookListParam
param
)
{
return
employeePhoneBookServ
.
queryList
(
param
);
}
// /**
// * 获取电话本管理详细信息
// *
// * @param id 主键
// */
// @SaCheckPermission("hr:phoneBook:query")
// @GetMapping("/{id}")
// public SingleResponse<EmployeePhoneBookVo> getDetail(@PathVariable @Min(1)
// Long id) {
// return SingleResponse.of(employeePhoneBookServ.queryById(id));
// }
// /**
// * 新增电话本管理
// */
// @SaCheckPermission("hr:phoneBook:add")
// @PinSysLog(value = "电话本管理", businessType = BusinessType.INSERT)
// @PostMapping()
// public Response add(@Validated(AddGroup.class) @RequestBody EmployeePhoneBookParam param) {
// return ResponseUtils.ofResult(employeePhoneBookServ.insertByParam(param));
// }
//
// /**
// * 修改电话本管理
// */
// @SaCheckPermission("hr:phoneBook:edit")
// @PinSysLog(value = "电话本管理", businessType = BusinessType.UPDATE)
// @PutMapping()
// public Response edit(@Validated(EditGroup.class) @RequestBody EmployeePhoneBookParam param) {
// return ResponseUtils.ofResult(employeePhoneBookServ.updateByParam(param));
// }
// /**
// * 删除电话本管理
// *
// * @param ids 主键串
// */
// @SaCheckPermission("hr:phoneBook:remove")
// @PinSysLog(value = "电话本管理", businessType = BusinessType.DELETE)
// @DeleteMapping("/{ids}")
// public Response remove(@NotEmpty(message = "主键不能为空")
// @PathVariable Long[] ids) {
// return ResponseUtils.ofResult(employeePhoneBookServ.delByIds(List.of(ids)));
// }
}
\ No newline at end of file
admin/src/main/java/com/anplus/hr/domain/params/EmployeePhoneBookListParam.java
0 → 100644
View file @
2bdd7595
package
com
.
anplus
.
hr
.
domain
.
params
;
import
lombok.Getter
;
import
lombok.Setter
;
import
top.binfast.common.core.bean.params.PageQueryParam
;
import
java.util.HashMap
;
import
java.util.Map
;
/**
* 电话本管理分页对象 employee_phone_book
*
* @author LiuBin
* @date 2025-11-19
*/
@Getter
@Setter
public
class
EmployeePhoneBookListParam
extends
PageQueryParam
{
/**
* 板块
*/
private
String
plate
;
/**
* 一级部门
*/
private
String
firstLevelDepartment
;
/**
* 二级部门
*/
private
String
secondLevelDepartment
;
/**
* 三级部门
*/
private
String
thirdLevelDepartment
;
/**
* 部门ID
*/
private
Long
deptId
;
/**
* 主岗位
*/
private
String
position
;
/**
* 姓名
*/
private
String
name
;
/**
* 手机号码
*/
private
String
phoneNumber
;
/**
* 办公电话
*/
private
String
officePhone
;
/**
* 短线
*/
private
String
shortLine
;
/**
* 备注
*/
private
String
remarks
;
private
Map
<
String
,
Object
>
params
=
new
HashMap
<>();
}
admin/src/main/java/com/anplus/hr/domain/params/EmployeePhoneBookParam.java
0 → 100644
View file @
2bdd7595
package
com
.
anplus
.
hr
.
domain
.
params
;
import
com.anplus.hr.domain.EmployeeInfo
;
import
io.github.linpeilie.annotations.AutoMapper
;
import
jakarta.validation.constraints.NotBlank
;
import
jakarta.validation.constraints.NotNull
;
import
lombok.Data
;
import
top.binfast.common.core.validate.AddGroup
;
import
top.binfast.common.core.validate.EditGroup
;
/**
* 电话本管理业务对象 employee_phone_book
*
* @author LiuBin
* @date 2025-11-19
*/
@Data
@AutoMapper
(
target
=
EmployeeInfo
.
class
,
reverseConvertGenerate
=
false
)
public
class
EmployeePhoneBookParam
{
/**
* 主键
*/
@NotNull
(
message
=
"主键不能为空"
,
groups
=
{
EditGroup
.
class
})
private
Long
id
;
/**
* 板块
*/
@NotBlank
(
message
=
"板块不能为空"
,
groups
=
{
AddGroup
.
class
,
EditGroup
.
class
})
private
String
plate
;
/**
* 一级部门
*/
@NotBlank
(
message
=
"一级部门不能为空"
,
groups
=
{
AddGroup
.
class
,
EditGroup
.
class
})
private
String
firstLevelDepartment
;
/**
* 二级部门
*/
@NotBlank
(
message
=
"二级部门不能为空"
,
groups
=
{
AddGroup
.
class
,
EditGroup
.
class
})
private
String
secondLevelDepartment
;
/**
* 三级部门
*/
@NotBlank
(
message
=
"三级部门不能为空"
,
groups
=
{
AddGroup
.
class
,
EditGroup
.
class
})
private
String
thirdLevelDepartment
;
/**
* 部门ID
*/
@NotNull
(
message
=
"部门ID不能为空"
,
groups
=
{
AddGroup
.
class
,
EditGroup
.
class
})
private
Long
deptId
;
/**
* 主岗位
*/
@NotBlank
(
message
=
"主岗位不能为空"
,
groups
=
{
AddGroup
.
class
,
EditGroup
.
class
})
private
String
position
;
/**
* 姓名
*/
@NotBlank
(
message
=
"姓名不能为空"
,
groups
=
{
AddGroup
.
class
,
EditGroup
.
class
})
private
String
name
;
/**
* 手机号码
*/
@NotBlank
(
message
=
"手机号码不能为空"
,
groups
=
{
AddGroup
.
class
,
EditGroup
.
class
})
private
String
phoneNumber
;
/**
* 办公电话
*/
@NotBlank
(
message
=
"办公电话不能为空"
,
groups
=
{
AddGroup
.
class
,
EditGroup
.
class
})
private
String
officePhone
;
/**
* 短线
*/
@NotBlank
(
message
=
"短线不能为空"
,
groups
=
{
AddGroup
.
class
,
EditGroup
.
class
})
private
String
shortLine
;
/**
* 备注
*/
@NotBlank
(
message
=
"备注不能为空"
,
groups
=
{
AddGroup
.
class
,
EditGroup
.
class
})
private
String
remarks
;
}
admin/src/main/java/com/anplus/hr/domain/vo/EmployeePhoneBookVo.java
0 → 100644
View file @
2bdd7595
package
com
.
anplus
.
hr
.
domain
.
vo
;
import
cn.idev.excel.annotation.ExcelIgnore
;
import
cn.idev.excel.annotation.ExcelIgnoreUnannotated
;
import
cn.idev.excel.annotation.ExcelProperty
;
import
com.anplus.hr.domain.EmployeeInfo
;
import
io.github.linpeilie.annotations.AutoMapper
;
import
lombok.Data
;
import
java.io.Serial
;
import
java.io.Serializable
;
/**
* 电话本管理视图对象 employee_phone_book
*
* @author LiuBin
* @date 2025-11-19
*/
@Data
@ExcelIgnoreUnannotated
@AutoMapper
(
target
=
EmployeeInfo
.
class
)
public
class
EmployeePhoneBookVo
implements
Serializable
{
@Serial
private
static
final
long
serialVersionUID
=
1L
;
/**
* 主键
*/
@ExcelIgnore
private
Long
id
;
/**
* 板块
*/
@ExcelProperty
(
value
=
"板块"
)
private
String
plate
;
/**
* 一级部门
*/
@ExcelProperty
(
value
=
"一级部门"
)
private
String
firstLevelDepartment
;
/**
* 二级部门
*/
@ExcelProperty
(
value
=
"二级部门"
)
private
String
secondLevelDepartment
;
/**
* 三级部门
*/
@ExcelProperty
(
value
=
"三级部门"
)
private
String
thirdLevelDepartment
;
/**
* 部门ID
*/
@ExcelIgnore
private
Long
deptId
;
/**
* 主岗位
*/
@ExcelProperty
(
value
=
"岗位"
)
private
String
position
;
/**
* 姓名
*/
@ExcelProperty
(
value
=
"姓名"
)
private
String
name
;
/**
* 手机号码
*/
@ExcelProperty
(
value
=
"手机"
)
private
String
phoneNumber
;
/**
* 办公电话
*/
@ExcelProperty
(
value
=
"办公电话"
)
private
String
officePhone
;
/**
* 短线
*/
@ExcelProperty
(
value
=
"短线"
)
private
String
shortLine
;
/**
* 备注
*/
@ExcelProperty
(
value
=
"备注"
)
private
String
remarks
;
}
admin/src/main/java/com/anplus/hr/service/EmployeePhoneBookServ.java
0 → 100644
View file @
2bdd7595
package
com
.
anplus
.
hr
.
service
;
import
com.alibaba.cola.dto.PageResponse
;
import
com.anplus.hr.domain.EmployeeInfo
;
import
com.anplus.hr.domain.params.EmployeePhoneBookListParam
;
import
com.anplus.hr.domain.params.EmployeePhoneBookParam
;
import
com.anplus.hr.domain.vo.EmployeePhoneBookVo
;
import
com.baomidou.mybatisplus.extension.service.IService
;
import
java.util.List
;
/**
* 电话本管理Service接口
*
* @author LiuBin
* @date 2025-11-19
*/
public
interface
EmployeePhoneBookServ
extends
IService
<
EmployeeInfo
>
{
/**
* 分页查询电话本管理列表
*
* @param param 查询条件
* @return 电话本管理分页列表
*/
PageResponse
<
EmployeePhoneBookVo
>
queryPageList
(
EmployeePhoneBookListParam
param
);
/**
* 查询符合条件的电话本管理列表
*
* @param param 查询条件
* @return 电话本管理列表
*/
List
<
EmployeePhoneBookVo
>
queryList
(
EmployeePhoneBookListParam
param
);
/**
* 查询电话本管理
*
* @param id 主键
* @return 电话本管理
*/
EmployeePhoneBookVo
queryById
(
Long
id
);
/**
* 新增电话本管理
*
* @param param 电话本管理
* @return 是否新增成功
*/
Boolean
insertByParam
(
EmployeePhoneBookParam
param
);
/**
* 修改电话本管理
*
* @param param 电话本管理
* @return 是否修改成功
*/
Boolean
updateByParam
(
EmployeePhoneBookParam
param
);
/**
* 校验并批量删除电话本管理信息
*
* @param ids 待删除的主键集合
* @return 是否删除成功
*/
Boolean
delByIds
(
List
<
Long
>
ids
);
}
admin/src/main/java/com/anplus/hr/service/impl/EmployeePhoneBookServImpl.java
0 → 100644
View file @
2bdd7595
package
com
.
anplus
.
hr
.
service
.
impl
;
import
cn.hutool.core.util.StrUtil
;
import
com.alibaba.cola.dto.PageResponse
;
import
com.anplus.hr.domain.EmployeeInfo
;
import
com.anplus.hr.domain.params.EmployeePhoneBookListParam
;
import
com.anplus.hr.domain.params.EmployeePhoneBookParam
;
import
com.anplus.hr.domain.vo.EmployeePhoneBookVo
;
import
com.anplus.hr.mapper.EmployeeInfoMapper
;
import
com.anplus.hr.service.EmployeePhoneBookServ
;
import
com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper
;
import
com.baomidou.mybatisplus.core.toolkit.Wrappers
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
lombok.RequiredArgsConstructor
;
import
org.springframework.stereotype.Service
;
import
top.binfast.common.core.util.MapstructUtils
;
import
top.binfast.common.mybatis.util.QueryUtil
;
import
java.util.List
;
/**
* 电话本管理Service业务层处理
*
* @author LiuBin
* @date 2025-11-19
*/
@RequiredArgsConstructor
@Service
public
class
EmployeePhoneBookServImpl
extends
ServiceImpl
<
EmployeeInfoMapper
,
EmployeeInfo
>
implements
EmployeePhoneBookServ
{
private
final
EmployeeInfoMapper
employeeInfoMapper
;
/**
* 分页查询电话本管理列表
*
* @param param 查询条件
* @return 电话本管理分页列表
*/
@Override
public
PageResponse
<
EmployeePhoneBookVo
>
queryPageList
(
EmployeePhoneBookListParam
param
)
{
Page
<
EmployeeInfo
>
page
=
QueryUtil
.
getPage
(
param
);
LambdaQueryWrapper
<
EmployeeInfo
>
lambdaQuery
=
this
.
buildQueryWrapper
(
param
);
employeeInfoMapper
.
selectPage
(
page
,
lambdaQuery
);
return
QueryUtil
.
getPageResponse
(
page
,
MapstructUtils
.
convert
(
page
.
getRecords
(),
EmployeePhoneBookVo
.
class
));
}
/**
* 查询符合条件的电话本管理列表
*
* @param param 查询条件
* @return 电话本管理列表
*/
@Override
public
List
<
EmployeePhoneBookVo
>
queryList
(
EmployeePhoneBookListParam
param
)
{
LambdaQueryWrapper
<
EmployeeInfo
>
lambdaQuery
=
this
.
buildQueryWrapper
(
param
);
return
MapstructUtils
.
convert
(
employeeInfoMapper
.
selectList
(
lambdaQuery
),
EmployeePhoneBookVo
.
class
);
}
private
LambdaQueryWrapper
<
EmployeeInfo
>
buildQueryWrapper
(
EmployeePhoneBookListParam
param
)
{
LambdaQueryWrapper
<
EmployeeInfo
>
lambdaQuery
=
Wrappers
.<
EmployeeInfo
>
lambdaQuery
();
lambdaQuery
.
orderByDesc
(
EmployeeInfo:
:
getId
);
lambdaQuery
.
eq
(
StrUtil
.
isNotBlank
(
param
.
getPlate
()),
EmployeeInfo:
:
getPlate
,
param
.
getPlate
());
lambdaQuery
.
eq
(
StrUtil
.
isNotBlank
(
param
.
getFirstLevelDepartment
()),
EmployeeInfo:
:
getFirstLevelDepartment
,
param
.
getFirstLevelDepartment
());
lambdaQuery
.
eq
(
StrUtil
.
isNotBlank
(
param
.
getSecondLevelDepartment
()),
EmployeeInfo:
:
getSecondLevelDepartment
,
param
.
getSecondLevelDepartment
());
lambdaQuery
.
eq
(
StrUtil
.
isNotBlank
(
param
.
getThirdLevelDepartment
()),
EmployeeInfo:
:
getThirdLevelDepartment
,
param
.
getThirdLevelDepartment
());
lambdaQuery
.
eq
(
param
.
getDeptId
()
!=
null
,
EmployeeInfo:
:
getDeptId
,
param
.
getDeptId
());
lambdaQuery
.
eq
(
StrUtil
.
isNotBlank
(
param
.
getPosition
()),
EmployeeInfo:
:
getPosition
,
param
.
getPosition
());
lambdaQuery
.
like
(
StrUtil
.
isNotBlank
(
param
.
getName
()),
EmployeeInfo:
:
getName
,
param
.
getName
());
lambdaQuery
.
eq
(
StrUtil
.
isNotBlank
(
param
.
getPhoneNumber
()),
EmployeeInfo:
:
getPhoneNumber
,
param
.
getPhoneNumber
());
lambdaQuery
.
eq
(
StrUtil
.
isNotBlank
(
param
.
getOfficePhone
()),
EmployeeInfo:
:
getOfficePhone
,
param
.
getOfficePhone
());
lambdaQuery
.
eq
(
StrUtil
.
isNotBlank
(
param
.
getShortLine
()),
EmployeeInfo:
:
getShortLine
,
param
.
getShortLine
());
lambdaQuery
.
eq
(
StrUtil
.
isNotBlank
(
param
.
getRemarks
()),
EmployeeInfo:
:
getRemarks
,
param
.
getRemarks
());
return
lambdaQuery
;
}
/**
* 查询电话本管理
*
* @param id 主键
* @return 电话本管理
*/
@Override
public
EmployeePhoneBookVo
queryById
(
Long
id
){
EmployeeInfo
employeePhoneBook
=
employeeInfoMapper
.
selectById
(
id
);
return
MapstructUtils
.
convert
(
employeePhoneBook
,
EmployeePhoneBookVo
.
class
);
}
/**
* 新增电话本管理
*
* @param param 电话本管理
* @return 是否新增成功
*/
@Override
public
Boolean
insertByParam
(
EmployeePhoneBookParam
param
)
{
// EmployeeInfo employeePhoneBook = MapstructUtils.convert(param, EmployeeInfo.class);
// return this.save(employeePhoneBook);
return
true
;
}
/**
* 修改电话本管理
*
* @param param 电话本管理
* @return 是否修改成功
*/
@Override
public
Boolean
updateByParam
(
EmployeePhoneBookParam
param
)
{
// EmployeeInfo employeePhoneBook = MapstructUtils.convert(param, EmployeeInfo.class);
// return this.updateById(employeePhoneBook);
return
true
;
}
/**
* 保存前的数据校验
*/
private
void
validEntityBeforeSave
(
EmployeeInfo
entity
){
// 做一些数据校验,如唯一约束
}
/**
* 校验并批量删除电话本管理信息
*
* @param ids 待删除的主键集合
* @return 是否删除成功
*/
@Override
// @Transactional(rollbackFor = {Exception.class})
public
Boolean
delByIds
(
List
<
Long
>
ids
)
{
//做一些业务上的校验,判断是否需要校验
// return this.removeByIds(ids);
return
true
;
}
}
admin/src/main/resources/excel/电话本模板.xlsx
0 → 100644
View file @
2bdd7595
File added
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment