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