From c7068341d75ea2b0a4e7d3d563cf1a98b5bd35b9 Mon Sep 17 00:00:00 2001
From: maven <2163098428@qq.com>
Date: 星期一, 15 九月 2025 13:25:05 +0800
Subject: [PATCH] yys  业务员管理

---
 src/main/java/com/ruoyi/sales/pojo/SalespersonManagement.java                    |   79 +++++++++++++++++++
 src/main/java/com/ruoyi/sales/service/impl/SalespersonManagementServiceImpl.java |   37 +++++++++
 src/main/java/com/ruoyi/sales/controller/SalespersonManagementController.java    |   61 +++++++++++++++
 src/main/java/com/ruoyi/sales/service/SalespersonManagementService.java          |   22 +++++
 src/main/resources/mapper/sales/SalespersonManagementMapper.xml                  |   19 ++++
 src/main/java/com/ruoyi/sales/mapper/SalespersonManagementMapper.java            |   17 ++++
 6 files changed, 235 insertions(+), 0 deletions(-)

diff --git a/src/main/java/com/ruoyi/sales/controller/SalespersonManagementController.java b/src/main/java/com/ruoyi/sales/controller/SalespersonManagementController.java
new file mode 100644
index 0000000..1ef4955
--- /dev/null
+++ b/src/main/java/com/ruoyi/sales/controller/SalespersonManagementController.java
@@ -0,0 +1,61 @@
+package com.ruoyi.sales.controller;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.ruoyi.framework.web.controller.BaseController;
+import com.ruoyi.framework.web.domain.AjaxResult;
+import com.ruoyi.sales.dto.InvoiceLedgerDto;
+import com.ruoyi.sales.pojo.SalespersonManagement;
+import com.ruoyi.sales.service.SalespersonManagementService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.List;
+
+/**
+ * @author :yys
+ * @date : 2025/9/15 10:04
+ */
+@RestController
+@RequestMapping("/salespersonManagement")
+@Api(tags = "涓氬姟鍛樼鐞�")
+public class SalespersonManagementController extends BaseController {
+
+
+    @Autowired
+    private SalespersonManagementService salespersonManagementService;
+
+    @GetMapping("/listPage")
+    @ApiOperation("鍒嗛〉鏌ヨ涓氬姟鍛樹俊鎭�")
+    public AjaxResult listPage(Page page, SalespersonManagement salespersonManagement) {
+        IPage<SalespersonManagement> listPage = salespersonManagementService.listPage(page, salespersonManagement);
+        return AjaxResult.success(listPage);
+    }
+
+    @PostMapping("/add")
+    @ApiOperation("娣诲姞涓氬姟鍛樹俊鎭�")
+    public AjaxResult add(@RequestBody SalespersonManagement salespersonManagement) {
+        boolean save = salespersonManagementService.save(salespersonManagement);
+        return save ? AjaxResult.success() : AjaxResult.error();
+    }
+
+    @PostMapping("/update")
+    @ApiOperation("淇敼涓氬姟鍛樹俊鎭�")
+    public AjaxResult update(@RequestBody SalespersonManagement salespersonManagement) {
+        boolean update = salespersonManagementService.updateById(salespersonManagement);
+        return update ? AjaxResult.success() : AjaxResult.error();
+    }
+
+    @DeleteMapping("/delete")
+    @ApiOperation("鍒犻櫎涓氬姟鍛樹俊鎭�")
+    public AjaxResult delete(@RequestBody List<Long> ids) {
+        if (ids == null || ids.isEmpty()) {
+            return AjaxResult.error("璇蜂紶鍏ヨ鍒犻櫎鐨処D");
+        }
+        boolean delete = salespersonManagementService.removeByIds(ids);
+        return delete ? AjaxResult.success() : AjaxResult.error();
+    }
+
+}
diff --git a/src/main/java/com/ruoyi/sales/mapper/SalespersonManagementMapper.java b/src/main/java/com/ruoyi/sales/mapper/SalespersonManagementMapper.java
new file mode 100644
index 0000000..d57e944
--- /dev/null
+++ b/src/main/java/com/ruoyi/sales/mapper/SalespersonManagementMapper.java
@@ -0,0 +1,17 @@
+package com.ruoyi.sales.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.sales.pojo.SalespersonManagement;
+import org.apache.ibatis.annotations.Param;
+
+/**
+ * @author :yys
+ * @date : 2025/9/15 10:12
+ */
+public interface SalespersonManagementMapper extends BaseMapper<SalespersonManagement> {
+
+
+    IPage<SalespersonManagement> listPage(Page page,@Param("req") SalespersonManagement salespersonManagement);
+}
diff --git a/src/main/java/com/ruoyi/sales/pojo/SalespersonManagement.java b/src/main/java/com/ruoyi/sales/pojo/SalespersonManagement.java
new file mode 100644
index 0000000..a0a6636
--- /dev/null
+++ b/src/main/java/com/ruoyi/sales/pojo/SalespersonManagement.java
@@ -0,0 +1,79 @@
+package com.ruoyi.sales.pojo;
+
+import com.baomidou.mybatisplus.annotation.*;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import java.math.BigDecimal;
+import java.time.LocalDate;
+import java.time.LocalDateTime;
+import java.util.Date;
+import java.util.List;
+
+/**
+ * @author :yys
+ * @date : 2025/9/15 10:06
+ */
+@TableName(value = "salesperson_management")
+@Data
+@ApiModel
+public class SalespersonManagement {
+
+    private static final long serialVersionUID = 1L;
+    /**
+     * 搴忓彿
+     */
+    @TableId(type = IdType.AUTO)
+    private Long id;
+
+    @ApiModelProperty(value = "濮撳悕")
+    private String name;
+
+    @ApiModelProperty(value = "鑱旂郴鐢佃瘽")
+    private String phone;
+
+    @ApiModelProperty(value = "閭")
+    private String email;
+
+    @ApiModelProperty(value = "閮ㄩ棬")
+    private String department;
+
+    @ApiModelProperty(value = "鑱屼綅")
+    private String position;
+
+    @ApiModelProperty(value = "鍏ヨ亴鏃ユ湡")
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    @DateTimeFormat(pattern = "yyyy-MM-dd")
+    private Date hireDate;
+
+    @ApiModelProperty(value = "鏉冮檺")
+    private String permissions;
+
+    @ApiModelProperty(value = "鏉冮檺List")
+    @TableField(exist = false)
+    private List<String> permissionsList;
+
+    @ApiModelProperty(value = "鐘舵��")
+    private String status;
+
+    @ApiModelProperty(value = "鍒涘缓鐢ㄦ埛")
+    @TableField(fill = FieldFill.INSERT)
+    private Integer createUser;
+
+    @ApiModelProperty(value = "淇敼鏃堕棿")
+    @TableField(fill = FieldFill.INSERT_UPDATE)
+    private LocalDateTime updateTime;
+
+    @ApiModelProperty(value = "淇敼鐢ㄦ埛")
+    @TableField(fill = FieldFill.INSERT_UPDATE)
+    private Integer updateUser;
+
+    @ApiModelProperty(value = "绉熸埛ID")
+    @TableField(fill = FieldFill.INSERT)
+    private Long tenantId;
+
+
+}
diff --git a/src/main/java/com/ruoyi/sales/service/SalespersonManagementService.java b/src/main/java/com/ruoyi/sales/service/SalespersonManagementService.java
new file mode 100644
index 0000000..7fb9020
--- /dev/null
+++ b/src/main/java/com/ruoyi/sales/service/SalespersonManagementService.java
@@ -0,0 +1,22 @@
+package com.ruoyi.sales.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.sales.pojo.SalespersonManagement;
+
+/**
+ * @author :yys
+ * @date : 2025/9/15 10:14
+ */
+public interface SalespersonManagementService extends IService<SalespersonManagement> {
+
+    /**
+     * 鍒楄〃鍒嗛〉
+     *
+     * @param page
+     * @param salespersonManagement
+     * @return
+     */
+    IPage<SalespersonManagement> listPage(Page page, SalespersonManagement salespersonManagement);
+}
diff --git a/src/main/java/com/ruoyi/sales/service/impl/SalespersonManagementServiceImpl.java b/src/main/java/com/ruoyi/sales/service/impl/SalespersonManagementServiceImpl.java
new file mode 100644
index 0000000..0afd2bb
--- /dev/null
+++ b/src/main/java/com/ruoyi/sales/service/impl/SalespersonManagementServiceImpl.java
@@ -0,0 +1,37 @@
+package com.ruoyi.sales.service.impl;
+
+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.common.utils.StringUtils;
+import com.ruoyi.sales.mapper.SalespersonManagementMapper;
+import com.ruoyi.sales.pojo.SalespersonManagement;
+import com.ruoyi.sales.service.SalespersonManagementService;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.Arrays;
+
+/**
+ * @author :yys
+ * @date : 2025/9/15 10:15
+ */
+@Service
+@Slf4j
+public class SalespersonManagementServiceImpl extends ServiceImpl<SalespersonManagementMapper, SalespersonManagement> implements SalespersonManagementService {
+
+    @Autowired
+    private SalespersonManagementMapper salespersonManagementMapper;
+
+    @Override
+    public IPage<SalespersonManagement> listPage(Page page, SalespersonManagement salespersonManagement) {
+        IPage<SalespersonManagement> salespersonManagementIPage = salespersonManagementMapper.listPage(page, salespersonManagement);
+        salespersonManagementIPage.getRecords().forEach(item -> {
+            if(!StringUtils.isEmpty(item.getPermissions())){
+                item.setPermissionsList(Arrays.asList(item.getPermissions().split(",")));
+            }
+        });
+        return salespersonManagementIPage;
+    }
+}
diff --git a/src/main/resources/mapper/sales/SalespersonManagementMapper.xml b/src/main/resources/mapper/sales/SalespersonManagementMapper.xml
new file mode 100644
index 0000000..3a2049d
--- /dev/null
+++ b/src/main/resources/mapper/sales/SalespersonManagementMapper.xml
@@ -0,0 +1,19 @@
+<?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.sales.mapper.SalespersonManagementMapper">
+
+    <select id="listPage" resultType="com.ruoyi.sales.pojo.SalespersonManagement">
+        select * from salesperson_management
+        <where>
+            <if test="req.name != null and req.name != ''">
+                and `name` like concat('%',#{req.name},'%')
+            </if>
+            <if test="req.department != null and req.department != ''">
+                and department = #{req.department}
+            </if>
+            <if test="req.status != null and req.status != ''">
+                and status = #{req.status}
+            </if>
+        </where>
+    </select>
+</mapper>
\ No newline at end of file

--
Gitblit v1.9.3