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