From 9698968f0d8bae24083e7537bd61276d0b2d0233 Mon Sep 17 00:00:00 2001
From: yaowanxin <3588231647@qq.com>
Date: 星期一, 15 九月 2025 17:18:16 +0800
Subject: [PATCH] 企业通讯录管理接口

---
 src/main/java/com/ruoyi/collaborativeApproval/service/StaffContactsPersonalService.java          |   11 +++
 src/main/java/com/ruoyi/collaborativeApproval/service/impl/StaffContactsPersonalServiceImpl.java |   22 +++++++
 src/main/java/com/ruoyi/collaborativeApproval/mapper/StaffContactsPersonalMapper.java            |   14 ++++
 src/main/java/com/ruoyi/collaborativeApproval/pojo/StaffContactsPersonal.java                    |   43 ++++++++++++++
 src/main/java/com/ruoyi/collaborativeApproval/controller/StaffContactsPersonalController.java    |   42 ++++++++++++++
 src/main/java/com/ruoyi/collaborativeApproval/dto/StaffContactsPersonalDTO.java                  |   17 +++++
 src/main/resources/mapper/collaborativeApproval/StaffContactsPersonalMapper.xml                  |   27 +++++++++
 7 files changed, 176 insertions(+), 0 deletions(-)

diff --git a/src/main/java/com/ruoyi/collaborativeApproval/controller/StaffContactsPersonalController.java b/src/main/java/com/ruoyi/collaborativeApproval/controller/StaffContactsPersonalController.java
new file mode 100644
index 0000000..f189872
--- /dev/null
+++ b/src/main/java/com/ruoyi/collaborativeApproval/controller/StaffContactsPersonalController.java
@@ -0,0 +1,42 @@
+package com.ruoyi.collaborativeApproval.controller;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.ruoyi.collaborativeApproval.dto.StaffContactsPersonalDTO;
+import com.ruoyi.collaborativeApproval.pojo.StaffContactsPersonal;
+import com.ruoyi.collaborativeApproval.service.StaffContactsPersonalService;
+import com.ruoyi.framework.web.domain.AjaxResult;
+import io.swagger.annotations.ApiOperation;
+import lombok.AllArgsConstructor;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.util.CollectionUtils;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.List;
+
+@RestController
+@RequestMapping("/staffContactsPersonal")
+@AllArgsConstructor
+public class StaffContactsPersonalController {
+    @Autowired
+    private StaffContactsPersonalService staffContactsPersonalService;
+    @GetMapping("/getList")
+    @ApiOperation("鍒嗛〉鏌ヨ")
+    public AjaxResult listPage(Page page, StaffContactsPersonalDTO staffContactsPersonalDTO ){
+        return AjaxResult.success(staffContactsPersonalService.listPage(page, staffContactsPersonalDTO));
+    }
+
+    @PostMapping("/add")
+    @ApiOperation("鏂板")
+    public AjaxResult add(@RequestBody StaffContactsPersonal staffContactsPersonal){
+        return AjaxResult.success(staffContactsPersonalService.save(staffContactsPersonal));
+    }
+
+    @DeleteMapping("/delete/{id}")
+    @ApiOperation("鍒犻櫎")
+    public AjaxResult delete(@PathVariable("id") Long id){
+//        if (CollectionUtils.isEmpty(id)) {
+//            throw new RuntimeException("璇蜂紶鍏ヨ鍒犻櫎鐨処D");
+//        }
+        return AjaxResult.success(staffContactsPersonalService.removeById(id));
+    }
+}
diff --git a/src/main/java/com/ruoyi/collaborativeApproval/dto/StaffContactsPersonalDTO.java b/src/main/java/com/ruoyi/collaborativeApproval/dto/StaffContactsPersonalDTO.java
new file mode 100644
index 0000000..29c1d50
--- /dev/null
+++ b/src/main/java/com/ruoyi/collaborativeApproval/dto/StaffContactsPersonalDTO.java
@@ -0,0 +1,17 @@
+package com.ruoyi.collaborativeApproval.dto;
+
+import com.ruoyi.collaborativeApproval.pojo.StaffContactsPersonal;
+import com.ruoyi.framework.aspectj.lang.annotation.Excel;
+import lombok.Data;
+
+@Data
+public class StaffContactsPersonalDTO extends StaffContactsPersonal {
+    private String staffNo;
+    private String staffName;
+    private String sex;
+    private String postJob;
+    private String adress;
+    private String profession;
+    private String identityCard;
+    private String phone;
+}
diff --git a/src/main/java/com/ruoyi/collaborativeApproval/mapper/StaffContactsPersonalMapper.java b/src/main/java/com/ruoyi/collaborativeApproval/mapper/StaffContactsPersonalMapper.java
new file mode 100644
index 0000000..934805f
--- /dev/null
+++ b/src/main/java/com/ruoyi/collaborativeApproval/mapper/StaffContactsPersonalMapper.java
@@ -0,0 +1,14 @@
+package com.ruoyi.collaborativeApproval.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.ruoyi.collaborativeApproval.dto.StaffContactsPersonalDTO;
+import com.ruoyi.collaborativeApproval.pojo.StaffContactsPersonal;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+
+@Mapper
+public interface StaffContactsPersonalMapper extends BaseMapper<StaffContactsPersonal> {
+    IPage listPage(Page page,@Param("staffContactsPersonalDTO") StaffContactsPersonalDTO staffContactsPersonalDTO);
+}
diff --git a/src/main/java/com/ruoyi/collaborativeApproval/pojo/StaffContactsPersonal.java b/src/main/java/com/ruoyi/collaborativeApproval/pojo/StaffContactsPersonal.java
new file mode 100644
index 0000000..967769e
--- /dev/null
+++ b/src/main/java/com/ruoyi/collaborativeApproval/pojo/StaffContactsPersonal.java
@@ -0,0 +1,43 @@
+package com.ruoyi.collaborativeApproval.pojo;
+
+import com.baomidou.mybatisplus.annotation.*;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.time.LocalDateTime;
+
+@TableName("staff_contacts_personal")
+@Data
+public class StaffContactsPersonal {
+    @TableId(value = "id", type = IdType.AUTO)
+    private Long id;
+
+//    /**
+//     * 鐢ㄦ埛ID锛堟墍灞炶�咃級
+//     */
+//    @ApiModelProperty("鐢ㄦ埛ID锛堟墍灞炶�咃級")
+//    private Integer userId;
+
+    /**
+     * 鍛樺伐ID
+     */
+    @ApiModelProperty("鍛樺伐ID")
+    private Integer contactId;
+    /**
+     * 鍒涘缓鑰�
+     */
+    @TableField(fill = FieldFill.INSERT)
+    private Integer createUser;
+
+    /**
+     * 鍒涘缓鏃堕棿
+     */
+    @TableField(fill = FieldFill.INSERT)
+    private LocalDateTime createTime;
+
+    /**
+     * 绉熸埛ID
+     */
+    @TableField(fill = FieldFill.INSERT)
+    private Long tenantId;
+}
diff --git a/src/main/java/com/ruoyi/collaborativeApproval/service/StaffContactsPersonalService.java b/src/main/java/com/ruoyi/collaborativeApproval/service/StaffContactsPersonalService.java
new file mode 100644
index 0000000..d06133d
--- /dev/null
+++ b/src/main/java/com/ruoyi/collaborativeApproval/service/StaffContactsPersonalService.java
@@ -0,0 +1,11 @@
+package com.ruoyi.collaborativeApproval.service;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.ruoyi.collaborativeApproval.dto.StaffContactsPersonalDTO;
+import com.ruoyi.collaborativeApproval.pojo.StaffContactsPersonal;
+
+public interface StaffContactsPersonalService extends IService<StaffContactsPersonal> {
+    IPage listPage(Page page, StaffContactsPersonalDTO staffContactsPersonalDTO);
+}
diff --git a/src/main/java/com/ruoyi/collaborativeApproval/service/impl/StaffContactsPersonalServiceImpl.java b/src/main/java/com/ruoyi/collaborativeApproval/service/impl/StaffContactsPersonalServiceImpl.java
new file mode 100644
index 0000000..1a77996
--- /dev/null
+++ b/src/main/java/com/ruoyi/collaborativeApproval/service/impl/StaffContactsPersonalServiceImpl.java
@@ -0,0 +1,22 @@
+package com.ruoyi.collaborativeApproval.service.impl;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ruoyi.collaborativeApproval.dto.StaffContactsPersonalDTO;
+import com.ruoyi.collaborativeApproval.mapper.StaffContactsPersonalMapper;
+import com.ruoyi.collaborativeApproval.pojo.StaffContactsPersonal;
+import com.ruoyi.collaborativeApproval.service.StaffContactsPersonalService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+@Service
+public class StaffContactsPersonalServiceImpl extends ServiceImpl<StaffContactsPersonalMapper, StaffContactsPersonal> implements StaffContactsPersonalService {
+    @Autowired
+    private StaffContactsPersonalMapper staffContactsPersonalMapper;
+    @Override
+    public IPage listPage(Page page, StaffContactsPersonalDTO staffContactsPersonalDTO) {
+        return staffContactsPersonalMapper.listPage(page, staffContactsPersonalDTO);
+    }
+}
diff --git a/src/main/resources/mapper/collaborativeApproval/StaffContactsPersonalMapper.xml b/src/main/resources/mapper/collaborativeApproval/StaffContactsPersonalMapper.xml
new file mode 100644
index 0000000..36ce60d
--- /dev/null
+++ b/src/main/resources/mapper/collaborativeApproval/StaffContactsPersonalMapper.xml
@@ -0,0 +1,27 @@
+<?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.ruoyi.collaborativeApproval.mapper.StaffContactsPersonalMapper">
+
+
+    <select id="listPage" resultType="com.ruoyi.collaborativeApproval.dto.StaffContactsPersonalDTO">
+        SELECT
+            scp.id,
+            scp.contact_id,
+            sjlr.staff_no,
+            sjlr.staff_name,
+            sjlr.sex,
+            sjlr.post_job,
+            sjlr.adress,
+            sjlr.profession,
+            sjlr.identity_card,
+            sjlr.phone,
+            scp.create_time
+        FROM staff_contacts_personal scp
+            LEFT JOIN (select * from staff_join_leave_record WHERE staff_state = 1) sjlr ON scp.contact_id=sjlr.id
+        where 1=1
+        <if test="staffContactsPersonalDTO.staffName != null and staffContactsPersonalDTO.staffName != ''">
+            and sjlr.staff_name like concat('%',#{staffContactsPersonalDTO.staffName},'%')
+        </if>
+
+    </select>
+</mapper>
\ No newline at end of file

--
Gitblit v1.9.3