Parcourir la source

feat:新增职员管理接口

kgy il y a 5 mois
Parent
commit
a34f6a7de9

+ 64 - 0
ruoyi-modules/ruoyi-dataManagement/src/main/java/org/dromara/dataManagement/controller/StaffController.java

@@ -0,0 +1,64 @@
+package org.dromara.dataManagement.controller;
+
+import cn.dev33.satoken.annotation.SaIgnore;
+import cn.hutool.core.collection.CollUtil;
+import jakarta.servlet.http.HttpServletResponse;
+import lombok.RequiredArgsConstructor;
+import org.dromara.common.core.domain.R;
+import org.dromara.common.excel.core.ExcelResult;
+import org.dromara.common.excel.utils.ExcelUtil;
+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.dataManagement.domain.bo.StaffBo;
+import org.dromara.dataManagement.domain.vo.StaffExcelVo;
+import org.dromara.dataManagement.domain.vo.StaffVo;
+import org.dromara.dataManagement.service.StaffService;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+
+@SaIgnore
+@RestController
+@RequiredArgsConstructor
+@RequestMapping("/dataManagement/staff")
+public class StaffController extends BaseController {
+    private final StaffService staffService;
+    @GetMapping("/PageList")
+    public TableDataInfo<StaffVo> selectPageStaffList(StaffBo staffBo, PageQuery pageQuery) {
+        return staffService.selectPageStaffList(staffBo, pageQuery);
+    }
+    @PostMapping()
+    public R<Void> insertStaff(@Validated @RequestBody StaffBo staffBo) {
+        return toAjax(staffService.insertStaff(staffBo));
+    }
+    @PutMapping()
+    public R<Void> updateStaff(@Validated @RequestBody StaffBo staffBo) {
+        return toAjax(staffService.updateStaff(staffBo));
+    }
+    @DeleteMapping("/{staffIds}")
+    public R<Void> deleteStaffByIds(@PathVariable Long[] staffIds) {
+        return toAjax(staffService.deleteStaffByIds(staffIds));
+    }
+    @GetMapping("/downloadTemplate")
+    public void getExampleExcel(HttpServletResponse response) {
+        ExcelUtil.exportExcel(new ArrayList<>(),"职员导入模板", StaffExcelVo.class, response);
+    }
+    @PostMapping("/importExcel")
+    public R<Void> importExcel(@RequestPart("file") MultipartFile file) throws Exception {
+        ExcelResult<StaffExcelVo> result = ExcelUtil.importExcel(file.getInputStream(), StaffExcelVo.class,false);
+        staffService.insertImportExcel(result);
+        return R.ok(result.getAnalysis());
+    }
+    @GetMapping("/exportExcel")
+    public void exportStaffExcel(HttpServletResponse response) {
+        ExcelUtil.exportTemplate(CollUtil.newArrayList(new HashMap<>(),staffService.selectList()),"职员列表.xlsx","excel/职员导出模板.xlsx",response);
+    }
+    @GetMapping("/exportExcelByIds")
+    public void exportStaffExcel(@RequestParam("ids") Long[] staffIds, HttpServletResponse response) {
+        ExcelUtil.exportTemplate(CollUtil.newArrayList(new HashMap<>(),staffService.selectStaffListByIds(staffIds)),"职员列表.xlsx","excel/职员导出模板.xlsx",response);
+    }
+}

+ 41 - 0
ruoyi-modules/ruoyi-dataManagement/src/main/java/org/dromara/dataManagement/domain/Staff.java

@@ -0,0 +1,41 @@
+package org.dromara.dataManagement.domain;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Data;
+
+@Data
+@TableName("fa_kuyou_staff_member")
+public class Staff {
+    /**
+     * 职员id
+     */
+    private int id;
+    /**
+     * 管理员id
+     */
+    private int admin_id;
+    /**
+     * 职员编号
+     */
+    private String men_code;
+    /**
+     * 职员名称
+     */
+    private String name;
+    /**
+     * 电话
+     */
+    private String phone;
+    /**
+     * 状态:0=禁用,1=正常
+     */
+    private String status;
+    /**
+     * 创建时间
+     */
+    private String createtime;
+    /**
+     * 更新时间
+     */
+    private String updatetime;
+}

+ 42 - 0
ruoyi-modules/ruoyi-dataManagement/src/main/java/org/dromara/dataManagement/domain/bo/StaffBo.java

@@ -0,0 +1,42 @@
+package org.dromara.dataManagement.domain.bo;
+import io.github.linpeilie.annotations.AutoMapper;
+import lombok.Data;
+import org.dromara.dataManagement.domain.Staff;
+
+@Data
+@AutoMapper(target = Staff.class, reverseConvertGenerate = false)
+public class StaffBo {
+    /**
+     * 职员id
+     */
+    private int id;
+    /**
+     * 管理员id
+     */
+    private int admin_id;
+    /**
+     * 职员编号
+     */
+    private String men_code;
+    /**
+     * 职员名称
+     */
+    private String name;
+    /**
+     * 电话
+     */
+    private String phone;
+    /**
+     * 状态:0=禁用,1=正常
+     */
+    private String status;
+    /**
+     * 创建时间
+     */
+    private String createtime;
+    /**
+     * 更新时间
+     */
+    private String updatetime;
+}
+

+ 19 - 0
ruoyi-modules/ruoyi-dataManagement/src/main/java/org/dromara/dataManagement/domain/vo/StaffExcelVo.java

@@ -0,0 +1,19 @@
+package org.dromara.dataManagement.domain.vo;
+
+import com.alibaba.excel.annotation.ExcelProperty;
+import io.github.linpeilie.annotations.AutoMapper;
+import lombok.Data;
+import org.dromara.dataManagement.domain.Staff;
+
+import java.io.Serializable;
+
+@Data
+@AutoMapper(target = Staff.class)
+public class StaffExcelVo implements Serializable {
+    @ExcelProperty(value = "职员编号", order = 1)
+    private String men_code;
+    @ExcelProperty(value = "职员名称", order = 2)
+    private String name;
+    @ExcelProperty(value = "手机号码", order = 3)
+    private String phone;
+}

+ 42 - 0
ruoyi-modules/ruoyi-dataManagement/src/main/java/org/dromara/dataManagement/domain/vo/StaffVo.java

@@ -0,0 +1,42 @@
+package org.dromara.dataManagement.domain.vo;
+
+import io.github.linpeilie.annotations.AutoMapper;
+import lombok.Data;
+import org.dromara.dataManagement.domain.Staff;
+
+@Data
+@AutoMapper(target = Staff.class)
+public class StaffVo {
+    /**
+     * 职员id
+     */
+    private int id;
+    /**
+     * 管理员id
+     */
+    private int admin_id;
+    /**
+     * 职员编号
+     */
+    private String men_code;
+    /**
+     * 职员名称
+     */
+    private String name;
+    /**
+     * 电话
+     */
+    private String phone;
+    /**
+     * 状态:0=禁用,1=正常
+     */
+    private String status;
+    /**
+     * 创建时间
+     */
+    private String createtime;
+    /**
+     * 更新时间
+     */
+    private String updatetime;
+}

+ 10 - 0
ruoyi-modules/ruoyi-dataManagement/src/main/java/org/dromara/dataManagement/mapper/StaffMapper.java

@@ -0,0 +1,10 @@
+package org.dromara.dataManagement.mapper;
+
+import org.apache.ibatis.annotations.Mapper;
+import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
+import org.dromara.dataManagement.domain.Staff;
+import org.dromara.dataManagement.domain.vo.StaffVo;
+
+@Mapper
+public interface StaffMapper extends BaseMapperPlus<Staff, StaffVo> {
+}

+ 27 - 0
ruoyi-modules/ruoyi-dataManagement/src/main/java/org/dromara/dataManagement/service/StaffService.java

@@ -0,0 +1,27 @@
+package org.dromara.dataManagement.service;
+
+import org.dromara.common.excel.core.ExcelResult;
+import org.dromara.common.mybatis.core.page.PageQuery;
+import org.dromara.common.mybatis.core.page.TableDataInfo;
+import org.dromara.dataManagement.domain.Staff;
+import org.dromara.dataManagement.domain.bo.StaffBo;
+import org.dromara.dataManagement.domain.vo.StaffExcelVo;
+import org.dromara.dataManagement.domain.vo.StaffVo;
+
+import java.util.List;
+
+public interface StaffService {
+    TableDataInfo<StaffVo> selectPageStaffList(StaffBo staffBo, PageQuery pageQuery);
+
+    int insertStaff(StaffBo staffBo);
+
+    int updateStaff(StaffBo staffBo);
+
+    int deleteStaffByIds(Long[] staffIds);
+
+    void insertImportExcel(ExcelResult<StaffExcelVo> result);
+
+    List<Staff> selectList();
+
+    List<Staff> selectStaffListByIds(Long[] staffIds);
+}

+ 67 - 0
ruoyi-modules/ruoyi-dataManagement/src/main/java/org/dromara/dataManagement/service/impl/StaffServiceImpl.java

@@ -0,0 +1,67 @@
+package org.dromara.dataManagement.service.impl;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import org.dromara.common.core.utils.MapstructUtils;
+import org.dromara.common.core.utils.StringUtils;
+import lombok.RequiredArgsConstructor;
+import org.dromara.common.excel.core.ExcelResult;
+import org.dromara.common.mybatis.core.page.PageQuery;
+import org.dromara.common.mybatis.core.page.TableDataInfo;
+import org.dromara.dataManagement.domain.Staff;
+import org.dromara.dataManagement.domain.bo.StaffBo;
+import org.dromara.dataManagement.domain.vo.StaffExcelVo;
+import org.dromara.dataManagement.domain.vo.StaffVo;
+import org.dromara.dataManagement.mapper.StaffMapper;
+import org.dromara.dataManagement.service.StaffService;
+import org.springframework.stereotype.Service;
+
+import java.util.Arrays;
+import java.util.List;
+
+@Service
+@RequiredArgsConstructor
+public class StaffServiceImpl implements StaffService {
+    private final StaffMapper staffMapper;
+    @Override
+    public TableDataInfo<StaffVo> selectPageStaffList(StaffBo staffBo, PageQuery pageQuery) {
+        QueryWrapper<Staff> qw=new QueryWrapper<>();
+        qw.like(null!=staffBo.getMen_code(),"men_code",staffBo.getMen_code());
+        qw.like(null!=staffBo.getName(),"name",staffBo.getName());
+        qw.like(null!=staffBo.getPhone(),"phone",staffBo.getPhone());
+        qw.eq(StringUtils.isNotBlank(staffBo.getStatus()),"status",staffBo.getStatus());
+        Page<StaffVo> page =staffMapper.selectVoPage(pageQuery.build(),qw);
+        return TableDataInfo.build(page);
+    }
+    @Override
+    public int insertStaff(StaffBo staffBo) {
+        Staff staff= MapstructUtils.convert(staffBo, Staff.class);
+        return staffMapper.insert(staff);
+    }
+    @Override
+    public int updateStaff(StaffBo staffBo) {
+        Staff staff= MapstructUtils.convert(staffBo, Staff.class);
+        QueryWrapper<Staff> qw=new QueryWrapper<>();
+        qw.eq("id",staffBo.getId());
+        return staffMapper.updateById(staff);
+    }
+    @Override
+    public int deleteStaffByIds(Long[] staffIds) {
+        return staffMapper.deleteByIds(Arrays.asList(staffIds));
+    }
+    @Override
+    public void insertImportExcel(ExcelResult<StaffExcelVo> result){
+        for(StaffExcelVo staffExcelVo:result.getList()){
+            Staff staff=MapstructUtils.convert(staffExcelVo,Staff.class);
+            staffMapper.insert(staff);
+        }
+    }
+    @Override
+    public List<Staff> selectList() {
+        return staffMapper.selectList();
+    }
+    @Override
+    public List<Staff> selectStaffListByIds(Long[] staffIds) {
+        return MapstructUtils.convert(staffMapper.selectVoByIds(Arrays.asList(staffIds)),Staff.class);
+    }
+}

+ 7 - 0
ruoyi-modules/ruoyi-dataManagement/src/main/resources/mapper/StaffMapper.xml

@@ -0,0 +1,7 @@
+<?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.dataManagement.mapper.StaffMapper">
+
+</mapper>