From f76b3b27279df0cbc4a8a212182382c9f694d1cb Mon Sep 17 00:00:00 2001
From: cloudroam <cloudroam>
Date: 星期四, 02 一月 2025 15:00:27 +0800
Subject: [PATCH] add:客服配置

---
 src/main/java/com/mzl/flower/mapper/configParam/ConfigCustomerServiceMapper.java        |   26 +++++
 src/main/java/com/mzl/flower/dto/request/configParam/ConfigCustomerServiceDTO.java      |   26 +++++
 src/main/java/com/mzl/flower/entity/configParam/ConfigCustomerService.java              |   35 +++++++
 src/main/java/com/mzl/flower/service/config/impl/ConfigCustomerServiceServiceImpl.java  |   62 ++++++++++++
 src/main/java/com/mzl/flower/dto/request/configParam/ConfigCustomerServiceQueryDTO.java |   11 ++
 src/main/java/com/mzl/flower/dto/response/configParam/ConfigCustomerServiceVO.java      |   25 +++++
 src/main/resources/mapper/configParam/ConfigCustomerServiceMapper.xml                   |   15 +++
 src/main/java/com/mzl/flower/service/config/ConfigCustomerServiceService.java           |   22 ++++
 src/main/java/com/mzl/flower/web/v2/configParam/ConfigCustomerServiceController.java    |   62 ++++++++++++
 9 files changed, 284 insertions(+), 0 deletions(-)

diff --git a/src/main/java/com/mzl/flower/dto/request/configParam/ConfigCustomerServiceDTO.java b/src/main/java/com/mzl/flower/dto/request/configParam/ConfigCustomerServiceDTO.java
new file mode 100644
index 0000000..8eb14aa
--- /dev/null
+++ b/src/main/java/com/mzl/flower/dto/request/configParam/ConfigCustomerServiceDTO.java
@@ -0,0 +1,26 @@
+package com.mzl.flower.dto.request.configParam;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+@Data
+public class ConfigCustomerServiceDTO {
+
+    @ApiModelProperty("ID")
+    private Long id;
+
+    @ApiModelProperty("名称")
+    private String name;
+
+    @ApiModelProperty("描述")
+    private String description;
+
+    @ApiModelProperty("图标内容")
+    private String iconContent;
+
+    @ApiModelProperty("图标地址")
+    private String iconUrl;
+
+    @ApiModelProperty("微信号")
+    private String weixin;
+}
diff --git a/src/main/java/com/mzl/flower/dto/request/configParam/ConfigCustomerServiceQueryDTO.java b/src/main/java/com/mzl/flower/dto/request/configParam/ConfigCustomerServiceQueryDTO.java
new file mode 100644
index 0000000..5bd90ce
--- /dev/null
+++ b/src/main/java/com/mzl/flower/dto/request/configParam/ConfigCustomerServiceQueryDTO.java
@@ -0,0 +1,11 @@
+package com.mzl.flower.dto.request.configParam;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+@Data
+public class ConfigCustomerServiceQueryDTO {
+    
+    @ApiModelProperty(value = "会员等级名称")
+    private String name;
+}
diff --git a/src/main/java/com/mzl/flower/dto/response/configParam/ConfigCustomerServiceVO.java b/src/main/java/com/mzl/flower/dto/response/configParam/ConfigCustomerServiceVO.java
new file mode 100644
index 0000000..3e7acb2
--- /dev/null
+++ b/src/main/java/com/mzl/flower/dto/response/configParam/ConfigCustomerServiceVO.java
@@ -0,0 +1,25 @@
+package com.mzl.flower.dto.response.configParam;
+
+import com.mzl.flower.base.AbstractTransDTO;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+@Data
+public class ConfigCustomerServiceVO extends AbstractTransDTO {
+    private Long id;
+
+    @ApiModelProperty("名称")
+    private String name;
+
+    @ApiModelProperty("描述")
+    private String description;
+
+    @ApiModelProperty("图标内容")
+    private String iconContent;
+
+    @ApiModelProperty("图标地址")
+    private String iconUrl;
+
+    @ApiModelProperty("微信号")
+    private String weixin;
+}
diff --git a/src/main/java/com/mzl/flower/entity/configParam/ConfigCustomerService.java b/src/main/java/com/mzl/flower/entity/configParam/ConfigCustomerService.java
new file mode 100644
index 0000000..3b90edd
--- /dev/null
+++ b/src/main/java/com/mzl/flower/entity/configParam/ConfigCustomerService.java
@@ -0,0 +1,35 @@
+package com.mzl.flower.entity.configParam;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.mzl.flower.base.BaseAutoEntity;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+
+/**
+ * @author fanghaowei
+ * @version version2.0
+ * @className ConfigCustomerService
+ * @date 2024/8/26
+ * @description
+ */
+@Data
+@TableName("t_config_customer_service")
+public class ConfigCustomerService extends BaseAutoEntity {
+
+    @ApiModelProperty("名称")
+    private String name;
+
+    @ApiModelProperty("描述")
+    private String description;
+
+    @ApiModelProperty("图标内容")
+    private String iconContent;
+
+    @ApiModelProperty("图标地址")
+    private String iconUrl;
+
+    @ApiModelProperty("微信号")
+    private String weixin;
+
+}
diff --git a/src/main/java/com/mzl/flower/mapper/configParam/ConfigCustomerServiceMapper.java b/src/main/java/com/mzl/flower/mapper/configParam/ConfigCustomerServiceMapper.java
new file mode 100644
index 0000000..6d753f1
--- /dev/null
+++ b/src/main/java/com/mzl/flower/mapper/configParam/ConfigCustomerServiceMapper.java
@@ -0,0 +1,26 @@
+package com.mzl.flower.mapper.configParam;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.mzl.flower.dto.request.configParam.ConfigCustomerServiceQueryDTO;
+import com.mzl.flower.dto.response.configParam.ConfigCustomerServiceVO;
+import com.mzl.flower.entity.configParam.ConfigCustomerService;
+import org.apache.ibatis.annotations.Param;
+import org.springframework.stereotype.Repository;
+
+import java.util.List;
+
+
+/**
+ * @author fanghaowei
+ * @version version2.0
+ * @className ConfigCustomerServiceMapper
+ * @date 2024/8/26
+ * @description ConfigCustomerServiceMapper
+ */
+@SuppressWarnings("ALL")
+@Repository
+public interface ConfigCustomerServiceMapper extends BaseMapper<ConfigCustomerService> {
+
+    List<ConfigCustomerServiceVO> queryPage(@Param("dto") ConfigCustomerServiceQueryDTO configCustomerServiceQueryDTO, Page page);
+}
diff --git a/src/main/java/com/mzl/flower/service/config/ConfigCustomerServiceService.java b/src/main/java/com/mzl/flower/service/config/ConfigCustomerServiceService.java
new file mode 100644
index 0000000..2ef3776
--- /dev/null
+++ b/src/main/java/com/mzl/flower/service/config/ConfigCustomerServiceService.java
@@ -0,0 +1,22 @@
+package com.mzl.flower.service.config;
+
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.mzl.flower.dto.request.configParam.ConfigCustomerServiceDTO;
+import com.mzl.flower.dto.request.configParam.ConfigCustomerServiceQueryDTO;
+import com.mzl.flower.dto.response.configParam.ConfigCustomerServiceVO;
+import com.mzl.flower.entity.configParam.ConfigCustomerService;
+
+
+public interface ConfigCustomerServiceService extends IService<ConfigCustomerService> {
+
+    void saveConfigCustomerService(ConfigCustomerServiceDTO configCustomerServiceDTO);
+
+    void updateConfigCustomerService(ConfigCustomerServiceDTO configCustomerServiceDTO);
+
+    void deleteConfigCustomerService(String id);
+
+    Page<ConfigCustomerServiceVO> queryPage(ConfigCustomerServiceQueryDTO configCustomerServiceQueryDTO, Page page);
+
+}
diff --git a/src/main/java/com/mzl/flower/service/config/impl/ConfigCustomerServiceServiceImpl.java b/src/main/java/com/mzl/flower/service/config/impl/ConfigCustomerServiceServiceImpl.java
new file mode 100644
index 0000000..9d7edb9
--- /dev/null
+++ b/src/main/java/com/mzl/flower/service/config/impl/ConfigCustomerServiceServiceImpl.java
@@ -0,0 +1,62 @@
+package com.mzl.flower.service.config.impl;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.mzl.flower.config.security.SecurityUtils;
+import com.mzl.flower.dto.request.configParam.ConfigCustomerServiceDTO;
+import com.mzl.flower.dto.request.configParam.ConfigCustomerServiceQueryDTO;
+import com.mzl.flower.dto.response.configParam.ConfigCustomerServiceVO;
+import com.mzl.flower.entity.configParam.ConfigCustomerService;
+import com.mzl.flower.mapper.configParam.ConfigCustomerServiceMapper;
+import com.mzl.flower.service.config.ConfigCustomerServiceService;
+import lombok.RequiredArgsConstructor;
+import org.springframework.beans.BeanUtils;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.util.List;
+
+/**
+ * @author fanghaowei
+ * @version version2.0
+ * @className ConfigCustomerServiceServiceImpl
+ * @date 2024/8/26
+ * @description 配置客户管理功能逻辑层
+ */
+@Service
+@Transactional
+@RequiredArgsConstructor
+public class ConfigCustomerServiceServiceImpl extends ServiceImpl<ConfigCustomerServiceMapper, ConfigCustomerService> implements ConfigCustomerServiceService {
+
+    private final ConfigCustomerServiceMapper configCustomerServiceMapper;
+
+    @Override
+    public void saveConfigCustomerService(ConfigCustomerServiceDTO configCustomerServiceDTO) {
+        ConfigCustomerService configCustomerService = new ConfigCustomerService();
+        BeanUtils.copyProperties(configCustomerServiceDTO, configCustomerService);
+        configCustomerService.create(SecurityUtils.getUserId());
+        configCustomerServiceMapper.insert(configCustomerService);
+
+    }
+
+    @Override
+    public void updateConfigCustomerService(ConfigCustomerServiceDTO configCustomerServiceDTO) {
+        ConfigCustomerService configCustomerServiceInfo = configCustomerServiceMapper.selectById(configCustomerServiceDTO.getId());
+        BeanUtils.copyProperties(configCustomerServiceDTO, configCustomerServiceInfo);
+        configCustomerServiceInfo.update(SecurityUtils.getUserId());
+        configCustomerServiceMapper.updateById(configCustomerServiceInfo);
+
+    }
+
+    @Override
+    public void deleteConfigCustomerService(String id) {
+        configCustomerServiceMapper.deleteById(id);
+    }
+
+    @Override
+    public Page<ConfigCustomerServiceVO> queryPage(ConfigCustomerServiceQueryDTO configCustomerServiceQueryDTO, Page page) {
+        List<ConfigCustomerServiceVO> list = configCustomerServiceMapper.queryPage(configCustomerServiceQueryDTO, page);
+        page.setRecords(list);
+        return page;
+    }
+}
diff --git a/src/main/java/com/mzl/flower/web/v2/configParam/ConfigCustomerServiceController.java b/src/main/java/com/mzl/flower/web/v2/configParam/ConfigCustomerServiceController.java
new file mode 100644
index 0000000..e6494ab
--- /dev/null
+++ b/src/main/java/com/mzl/flower/web/v2/configParam/ConfigCustomerServiceController.java
@@ -0,0 +1,62 @@
+package com.mzl.flower.web.v2.configParam;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.mzl.flower.base.BaseController;
+import com.mzl.flower.base.R;
+import com.mzl.flower.base.ReturnDataDTO;
+import com.mzl.flower.dto.request.configParam.ConfigCustomerServiceDTO;
+import com.mzl.flower.dto.request.configParam.ConfigCustomerServiceQueryDTO;
+import com.mzl.flower.dto.response.configParam.ConfigCustomerServiceVO;
+import com.mzl.flower.service.config.ConfigCustomerServiceService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import lombok.RequiredArgsConstructor;
+import org.springframework.http.ResponseEntity;
+import org.springframework.web.bind.annotation.*;
+
+import javax.validation.constraints.NotNull;
+
+/**
+ * @author fanghaowei
+ * @version version2.0
+ * @className ConfigCustomerServiceController
+ * @date 2024/8/26
+ * @description 客服配置管理功能开发
+ */
+@Api(value = "客服配置管理", tags = "客服配置管理")
+@RestController
+@RequestMapping("/api")
+@RequiredArgsConstructor
+public class ConfigCustomerServiceController extends BaseController {
+
+    private final ConfigCustomerServiceService configCustomerServiceService;
+
+    @GetMapping("/configCustomer/list")
+    @ApiOperation(value = "客服配置列表", httpMethod = "GET")
+    public ResponseEntity<ReturnDataDTO<Page<ConfigCustomerServiceVO>>> getConfigCustomerServiceList(Page page, ConfigCustomerServiceQueryDTO dto) {
+        return returnData(R.SUCCESS.getCode(), configCustomerServiceService.queryPage(dto, page));
+    }
+
+    @GetMapping(value = "/configCustomer/delete")
+    @ApiOperation(value = "删除客服配置 ", httpMethod = "GET", notes = "ID")
+    public ResponseEntity delete(@NotNull(message = "id不能为空") Long id) {
+        configCustomerServiceService.deleteConfigCustomerService(String.valueOf(id));
+        return returnData(R.SUCCESS.getCode(), null);
+    }
+
+    @PostMapping(value = "/configCustomer/new")
+    @ApiOperation(value = "保存客服配置", httpMethod = "POST")
+    public ResponseEntity insert(@RequestBody ConfigCustomerServiceDTO configCustomerServiceDTO) {
+        configCustomerServiceService.saveConfigCustomerService(configCustomerServiceDTO);
+        return returnData(R.SUCCESS.getCode(), null);
+    }
+
+    @PostMapping(value = "/configCustomer/edit")
+    @ApiOperation(value = "更新客服配置", httpMethod = "POST")
+    public ResponseEntity update(@RequestBody ConfigCustomerServiceDTO configCustomerServiceDTO) {
+        configCustomerServiceService.updateConfigCustomerService(configCustomerServiceDTO);
+        return returnData(R.SUCCESS.getCode(), null);
+    }
+
+}
+
diff --git a/src/main/resources/mapper/configParam/ConfigCustomerServiceMapper.xml b/src/main/resources/mapper/configParam/ConfigCustomerServiceMapper.xml
new file mode 100644
index 0000000..c438a31
--- /dev/null
+++ b/src/main/resources/mapper/configParam/ConfigCustomerServiceMapper.xml
@@ -0,0 +1,15 @@
+<?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.mzl.flower.mapper.configParam.ConfigCustomerServiceMapper">
+
+
+    <select id="queryPage" resultType="com.mzl.flower.dto.response.configParam.ConfigCustomerServiceVO">
+        select t.*, u.nick_name createName from t_config_customer_service t
+        left join t_user u on t.create_by = u.id
+        where t.deleted= 0
+        <if test="dto.name != null and dto.name != ''">
+            and t.name like concat('%', #{dto.name}, '%')
+        </if>
+    </select>
+
+</mapper>

--
Gitblit v1.9.3