Browse Source

Merge branch 'develop' into release

DESKTOP-6104BU4\Administrator 6 tháng trước cách đây
mục cha
commit
1fcf01136e
22 tập tin đã thay đổi với 682 bổ sung28 xóa
  1. 20 4
      ruoyi-modules/ruoyi-commodityManagement/src/main/java/org/dromara/commodityManagement/controller/DaHuoNumberController.java
  2. 1 1
      ruoyi-modules/ruoyi-commodityManagement/src/main/java/org/dromara/commodityManagement/domain/DaHuoNumber.java
  3. 12 0
      ruoyi-modules/ruoyi-commodityManagement/src/main/java/org/dromara/commodityManagement/domain/Template.java
  4. 1 1
      ruoyi-modules/ruoyi-commodityManagement/src/main/java/org/dromara/commodityManagement/domain/bo/DaHuoNumberBo.java
  5. 6 0
      ruoyi-modules/ruoyi-commodityManagement/src/main/java/org/dromara/commodityManagement/domain/bo/TemplateBo.java
  6. 73 0
      ruoyi-modules/ruoyi-commodityManagement/src/main/java/org/dromara/commodityManagement/domain/vo/DaHuoNumberImportVo.java
  7. 1 1
      ruoyi-modules/ruoyi-commodityManagement/src/main/java/org/dromara/commodityManagement/domain/vo/DaHuoNumberVo.java
  8. 6 0
      ruoyi-modules/ruoyi-commodityManagement/src/main/java/org/dromara/commodityManagement/domain/vo/TemplateVo.java
  9. 6 2
      ruoyi-modules/ruoyi-commodityManagement/src/main/java/org/dromara/commodityManagement/mapper/DaHuoNumberMapper.java
  10. 4 0
      ruoyi-modules/ruoyi-commodityManagement/src/main/java/org/dromara/commodityManagement/service/DaHuoNumberService.java
  11. 48 8
      ruoyi-modules/ruoyi-commodityManagement/src/main/java/org/dromara/commodityManagement/service/impl/DaHuoNumberImpl.java
  12. 1 4
      ruoyi-modules/ruoyi-commodityManagement/src/main/java/org/dromara/commodityManagement/service/impl/DiBuServiceImpl.java
  13. 8 7
      ruoyi-modules/ruoyi-commodityManagement/src/main/resources/mapper/DaHuoNumberMapper.xml
  14. 109 0
      ruoyi-modules/ruoyi-customerManagement/pom.xml
  15. 71 0
      ruoyi-modules/ruoyi-customerManagement/src/main/java/org/dromara/customerManagement/controller/CustomerController.java
  16. 61 0
      ruoyi-modules/ruoyi-customerManagement/src/main/java/org/dromara/customerManagement/domain/Customer.java
  17. 60 0
      ruoyi-modules/ruoyi-customerManagement/src/main/java/org/dromara/customerManagement/domain/bo/CustomerBo.java
  18. 59 0
      ruoyi-modules/ruoyi-customerManagement/src/main/java/org/dromara/customerManagement/domain/vo/CustomerVo.java
  19. 10 0
      ruoyi-modules/ruoyi-customerManagement/src/main/java/org/dromara/customerManagement/mapper/CustomerMapper.java
  20. 42 0
      ruoyi-modules/ruoyi-customerManagement/src/main/java/org/dromara/customerManagement/service/CustomerService.java
  21. 76 0
      ruoyi-modules/ruoyi-customerManagement/src/main/java/org/dromara/customerManagement/service/impl/CustomerServiceImpl.java
  22. 7 0
      ruoyi-modules/ruoyi-customerManagement/src/main/resources/mapper/CustomerMapper.xml

+ 20 - 4
ruoyi-modules/ruoyi-commodityManagement/src/main/java/org/dromara/commodityManagement/controller/DaHuoNumberController.java

@@ -5,16 +5,20 @@ import cn.hutool.core.collection.CollUtil;
 import jakarta.servlet.http.HttpServletResponse;
 import lombok.RequiredArgsConstructor;
 import org.dromara.commodityManagement.domain.bo.DaHuoNumberBo;
+import org.dromara.commodityManagement.domain.vo.DaHuoNumberImportVo;
 import org.dromara.commodityManagement.domain.vo.DaHuoNumberVo;
 import org.dromara.commodityManagement.service.DaHuoNumberService;
 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.springframework.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
 
+import java.util.ArrayList;
 import java.util.HashMap;
 
 /**
@@ -68,12 +72,24 @@ public class DaHuoNumberController extends BaseController {
         return toAjax(daHuoNumberService.deleteDaHuoNumberByIds(daHuoNumberIds));
     }
 
+    @PostMapping("/importExcel")
+    public R<Void> importExcel(@RequestPart("file") MultipartFile file) throws Exception {
+        ExcelResult<DaHuoNumberImportVo> result = ExcelUtil.importExcel(file.getInputStream(), DaHuoNumberImportVo.class,false);
+        daHuoNumberService.insertImportExcel(result);
+        return R.ok(result.getAnalysis());
+    }
+
+    @GetMapping("/exampleExcel")
+    public void getExampleExcel(HttpServletResponse response){
+        ExcelUtil.exportExcel(new ArrayList<>(), "大货编号导入模板", DaHuoNumberImportVo.class, response);
+    }
+
     /**
      * 根据大货编号Ids导出Excel
      * @param response 响应对象
      */
-    @GetMapping("/exportExcelByIds")
-    public void exportDiBuExcel(@RequestParam("ids") Long[] daHuoNumberIds , HttpServletResponse response) {
+//    @GetMapping("/exportExcelByIds")
+    public void exportDaHuoExcel(@RequestParam("ids") Long[] daHuoNumberIds , HttpServletResponse response) {
         ExcelUtil.exportTemplate(CollUtil.newArrayList(new HashMap<>(),daHuoNumberService.selectDaHuoNumberListByIds(daHuoNumberIds)), "大货编号列表","excel/大货编号导出模板.xlsx", response);
     }
 
@@ -81,8 +97,8 @@ public class DaHuoNumberController extends BaseController {
      * 通过Excel导出所有大货编号数据
      * @param response 响应对象
      */
-    @GetMapping("/exportExcel")
-    public void exportDiBuExcel(HttpServletResponse response) {
+//    @GetMapping("/exportExcel")
+    public void exportDaHuoExcel(HttpServletResponse response) {
         ExcelUtil.exportTemplate(CollUtil.newArrayList(new HashMap<>(),daHuoNumberService.selectDaHuoNumberList()), "大货编号列表","excel/大货编号导出模板.xlsx", response);
     }
 }

+ 1 - 1
ruoyi-modules/ruoyi-commodityManagement/src/main/java/org/dromara/commodityManagement/domain/DaHuoNumber.java

@@ -29,7 +29,7 @@ public class DaHuoNumber extends TenantEntity {
     /**
      * 类型
      */
-    private String type;
+    private String type = "2";
 
     /**
      * 款号

+ 12 - 0
ruoyi-modules/ruoyi-commodityManagement/src/main/java/org/dromara/commodityManagement/domain/Template.java

@@ -1,5 +1,6 @@
 package org.dromara.commodityManagement.domain;
 
+import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableName;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
@@ -10,6 +11,10 @@ import org.dromara.common.tenant.core.TenantEntity;
 @TableName("fa_kuyou_item_name_template")
 public class Template extends TenantEntity {
 
+    public Template(String name) {
+        this.name = name;
+    }
+
     /**
      * 版图id
      */
@@ -29,4 +34,11 @@ public class Template extends TenantEntity {
      * 图片
      */
     private String image;
+
+    /**
+     * 增删改标志
+     * 1.为删除 2.为修改 3.为新增 0.为未变动
+     */
+    @TableField(exist = false)
+    private int delUpdateOrAdd = 0;
 }

+ 1 - 1
ruoyi-modules/ruoyi-commodityManagement/src/main/java/org/dromara/commodityManagement/domain/bo/DaHuoNumberBo.java

@@ -32,7 +32,7 @@ public class DaHuoNumberBo extends BaseEntity {
     /**
      * 类型
      */
-    private String type;
+    private String type = "2";
 
     /**
      * 款号

+ 6 - 0
ruoyi-modules/ruoyi-commodityManagement/src/main/java/org/dromara/commodityManagement/domain/bo/TemplateBo.java

@@ -30,4 +30,10 @@ public class TemplateBo extends BaseEntity {
      * 图片
      */
     private String image;
+
+    /**
+     * 增删改标志
+     * 1.为删除 2.为修改 3.为新增 0.为未变动
+     */
+    private int delUpdateOrAdd = 0;
 }

+ 73 - 0
ruoyi-modules/ruoyi-commodityManagement/src/main/java/org/dromara/commodityManagement/domain/vo/DaHuoNumberImportVo.java

@@ -0,0 +1,73 @@
+package org.dromara.commodityManagement.domain.vo;
+
+import com.alibaba.excel.annotation.ExcelProperty;
+import io.github.linpeilie.annotations.AutoMapper;
+import io.github.linpeilie.annotations.AutoMapping;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+import org.dromara.commodityManagement.domain.bo.DaHuoNumberBo;
+
+import java.io.Serial;
+import java.io.Serializable;
+
+/**
+ * 货号管理视图对象
+ */
+@Data
+@NoArgsConstructor
+@AutoMapper(target = DaHuoNumberBo.class, reverseConvertGenerate = false)
+public class DaHuoNumberImportVo implements Serializable {
+
+    @Serial
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 大货编号
+     */
+    @ExcelProperty(value = "大货编号")
+    private String name;
+
+    /**
+     * 款号
+     */
+    @ExcelProperty(value = "款号")
+    private String kuanhao;
+
+    /**
+     * 花型号
+     */
+    @ExcelProperty(value = "花型号")
+    private String huaxinghao;
+
+    /**
+     * 底布
+     */
+    @ExcelProperty(value = "底布")
+    private String dibu;
+
+    /**
+     * 底布价格
+     */
+    @ExcelProperty(value = "底布价格")
+    private String dibu_price;
+
+    /**
+     * 客户名称
+     */
+    @ExcelProperty(value = "客户名称")
+    private String customer_name;
+
+    /**
+     * 机器
+     */
+    @ExcelProperty(value = "机器")
+    private String machine;
+
+    /**
+     * 版图
+     */
+    @ExcelProperty(value = "版图")
+    @AutoMapping(ignore = true)
+    private String template;
+
+}

+ 1 - 1
ruoyi-modules/ruoyi-commodityManagement/src/main/java/org/dromara/commodityManagement/domain/vo/DaHuoNumberVo.java

@@ -30,7 +30,7 @@ public class DaHuoNumberVo extends BaseEntity {
     /**
      * 类型
      */
-    private String type;
+    private String type = "2";
 
     /**
      * 款号

+ 6 - 0
ruoyi-modules/ruoyi-commodityManagement/src/main/java/org/dromara/commodityManagement/domain/vo/TemplateVo.java

@@ -30,4 +30,10 @@ public class TemplateVo extends BaseEntity {
      * 图片
      */
     private String image;
+
+    /**
+     * 增删改标志
+     * 1.为删除 2.为修改 3.为新增 0.为未变动
+     */
+    private int delUpdateOrAdd = 0;
 }

+ 6 - 2
ruoyi-modules/ruoyi-commodityManagement/src/main/java/org/dromara/commodityManagement/mapper/DaHuoNumberMapper.java

@@ -1,9 +1,11 @@
 package org.dromara.commodityManagement.mapper;
 
-import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.Wrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.core.toolkit.Constants;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
 import org.dromara.commodityManagement.domain.DaHuoNumber;
 import org.dromara.commodityManagement.domain.vo.DaHuoNumberVo;
 import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
@@ -13,5 +15,7 @@ import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
  */
 @Mapper
 public interface DaHuoNumberMapper extends BaseMapperPlus<DaHuoNumber, DaHuoNumberVo> {
-    Page<DaHuoNumberVo> selectVoPageWithTemplate(IPage<DaHuoNumberVo> page, QueryWrapper<DaHuoNumber> wrapper);
+    Page<DaHuoNumberVo> selectVoPageWithTemplate(IPage<DaHuoNumberVo> page,@Param(Constants.WRAPPER) Wrapper<DaHuoNumber> wrapper);
+
+    Long selectLastId();
 }

+ 4 - 0
ruoyi-modules/ruoyi-commodityManagement/src/main/java/org/dromara/commodityManagement/service/DaHuoNumberService.java

@@ -2,7 +2,9 @@ package org.dromara.commodityManagement.service;
 
 import org.dromara.commodityManagement.domain.DaHuoNumber;
 import org.dromara.commodityManagement.domain.bo.DaHuoNumberBo;
+import org.dromara.commodityManagement.domain.vo.DaHuoNumberImportVo;
 import org.dromara.commodityManagement.domain.vo.DaHuoNumberVo;
+import org.dromara.common.excel.core.ExcelResult;
 import org.dromara.common.mybatis.core.page.PageQuery;
 import org.dromara.common.mybatis.core.page.TableDataInfo;
 
@@ -49,4 +51,6 @@ public interface DaHuoNumberService {
      * @return 大货编号列表
      */
     List<DaHuoNumber> selectDaHuoNumberList();
+
+    int insertImportExcel(ExcelResult<DaHuoNumberImportVo> importVo);
 }

+ 48 - 8
ruoyi-modules/ruoyi-commodityManagement/src/main/java/org/dromara/commodityManagement/service/impl/DaHuoNumberImpl.java

@@ -4,20 +4,26 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import lombok.RequiredArgsConstructor;
 import org.dromara.commodityManagement.domain.DaHuoNumber;
+import org.dromara.commodityManagement.domain.Template;
 import org.dromara.commodityManagement.domain.bo.DaHuoNumberBo;
+import org.dromara.commodityManagement.domain.vo.DaHuoNumberImportVo;
 import org.dromara.commodityManagement.domain.vo.DaHuoNumberVo;
 import org.dromara.commodityManagement.mapper.DaHuoNumberMapper;
 import org.dromara.commodityManagement.mapper.TemplateMapper;
 import org.dromara.commodityManagement.service.DaHuoNumberService;
 import org.dromara.common.core.utils.MapstructUtils;
 import org.dromara.common.core.utils.StringUtils;
+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.springframework.stereotype.Service;
 
+import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.List;
 
+import static org.dromara.commodityManagement.emum.ItemType.DAHUO_TYPE;
+
 @Service
 @RequiredArgsConstructor
 public class DaHuoNumberImpl implements DaHuoNumberService {
@@ -25,12 +31,10 @@ public class DaHuoNumberImpl implements DaHuoNumberService {
     private final DaHuoNumberMapper daHuoNumberMapper;
     private final TemplateMapper templateMapper;
 
-    private static final String DAHUO_TYPE = "1";
-
     @Override
     public TableDataInfo<DaHuoNumberVo> selectPageDaHuoNumberList(DaHuoNumberBo daHuoNumberBo, PageQuery pageQuery) {
         QueryWrapper<DaHuoNumber> qw = new QueryWrapper<>();
-        qw.eq("type", DAHUO_TYPE);
+        qw.eq("type", DAHUO_TYPE.getType());
         qw.eq(StringUtils.isNotBlank(daHuoNumberBo.getName()), "name", daHuoNumberBo.getName());
         qw.eq(StringUtils.isNotBlank(daHuoNumberBo.getKuanhao()), "kuanhao", daHuoNumberBo.getKuanhao());
         qw.eq(StringUtils.isNotBlank(daHuoNumberBo.getHuaxinghao()), "huaxinghao", daHuoNumberBo.getHuaxinghao());
@@ -43,22 +47,41 @@ public class DaHuoNumberImpl implements DaHuoNumberService {
     @Override
     public int insertDaHuoNumber(DaHuoNumberBo daHuoNumberBo) {
         DaHuoNumber daHuoNumber = MapstructUtils.convert(daHuoNumberBo, DaHuoNumber.class);
+        int allRow = 0;
+        allRow += daHuoNumberMapper.insert(daHuoNumber);
+        Long row = daHuoNumberMapper.selectLastId();
         if (daHuoNumber.getTemplate() != null) {
-            templateMapper.insert(daHuoNumber.getTemplate());
+            for (Template template : daHuoNumber.getTemplate()){
+                template.setItem_id(row);
+                allRow += templateMapper.insert(template);
+            }
         }
-        return daHuoNumberMapper.insert(daHuoNumber);
+        return allRow;
     }
 
     @Override
     public int updateDaHuoNumber(DaHuoNumberBo daHuoNumberBo) {
         DaHuoNumber daHuoNumber = MapstructUtils.convert(daHuoNumberBo, DaHuoNumber.class);
-        QueryWrapper<DaHuoNumber> qw = new QueryWrapper<>();
-        qw.eq("id", daHuoNumber.getId());
-        return daHuoNumberMapper.update(daHuoNumber, qw);
+        if (daHuoNumber.getTemplate() != null){
+            for (Template template : daHuoNumber.getTemplate()){
+                switch (template.getDelUpdateOrAdd()){
+                    case 1:
+                        templateMapper.deleteById(template);break;
+                    case 2:
+                        templateMapper.updateById(template);break;
+                    case 3:
+                        templateMapper.insert(template);break;
+                }
+            }
+        }
+        return daHuoNumberMapper.updateById(daHuoNumber);
     }
 
     @Override
     public int deleteDaHuoNumberByIds(Long[] daHuoNumberIds) {
+        for (Long daHuoNumberId : daHuoNumberIds) {
+            templateMapper.delete(new QueryWrapper<Template>().eq("item_id", daHuoNumberId));
+        }
         return daHuoNumberMapper.deleteByIds(Arrays.asList(daHuoNumberIds));
     }
 
@@ -71,4 +94,21 @@ public class DaHuoNumberImpl implements DaHuoNumberService {
     public List<DaHuoNumber> selectDaHuoNumberList() {
         return daHuoNumberMapper.selectList();
     }
+
+    @Override
+    public int insertImportExcel(ExcelResult<DaHuoNumberImportVo> result){
+        for (DaHuoNumberImportVo importVo : result.getList()){
+            String[] templateNames = importVo.getTemplate().split(",");
+            List<Template> templates = new ArrayList<>();
+            for (String templateName : templateNames){
+                templates.add(new Template(templateName));
+            }
+            DaHuoNumberBo daHuoNumber = MapstructUtils.convert(importVo, DaHuoNumberBo.class);
+            if (daHuoNumber != null) {
+                daHuoNumber.setTemplate(templates);
+            }
+            insertDaHuoNumber(daHuoNumber);
+        }
+        return 1;
+    }
 }

+ 1 - 4
ruoyi-modules/ruoyi-commodityManagement/src/main/java/org/dromara/commodityManagement/service/impl/DiBuServiceImpl.java

@@ -58,10 +58,7 @@ public class DiBuServiceImpl implements DiBuService {
      */
     @Override
     public int updateDiBu(DiBuBo diBuBo) {
-        DiBu diBu = MapstructUtils.convert(diBuBo, DiBu.class);
-        QueryWrapper<DiBu> qw  = new QueryWrapper<>();
-        qw.eq("id", diBu.getId());
-        return diBuMapper.update(diBu,qw);
+        return diBuMapper.updateById(MapstructUtils.convert(diBuBo, DiBu.class));
     }
 
     /**

+ 8 - 7
ruoyi-modules/ruoyi-commodityManagement/src/main/resources/mapper/DaHuoNumberMapper.xml

@@ -40,13 +40,14 @@
         fa_kuyou_item_name dh
         LEFT JOIN
         fa_kuyou_item_name_template t ON dh.id = t.item_id
-        WHERE
-        dh.type = #{ew.eq('type', '1')}
-        <if test="ew.getCustomSqlSegment() != null">
-            ${ew.getCustomSqlSegment()}
-        </if>
-        ORDER BY
-        dh.id
+        ${ew.getCustomSqlSegment()}
+    </select>
+    <select id="selectLastId" resultType="java.lang.Long">
+        SELECT
+            id
+        FROM fa_kuyou_item_name
+        ORDER BY id DESC
+        LIMIT 1
     </select>
 
 </mapper>

+ 109 - 0
ruoyi-modules/ruoyi-customerManagement/pom.xml

@@ -0,0 +1,109 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+    <parent>
+        <groupId>org.dromara</groupId>
+        <artifactId>ruoyi-modules</artifactId>
+        <version>${revision}</version>
+        <relativePath>../pom.xml</relativePath>
+    </parent>
+    <modelVersion>4.0.0</modelVersion>
+
+    <artifactId>ruoyi-customerManagement</artifactId>
+
+    <description>
+        customerManagement模块
+    </description>
+
+    <dependencies>
+
+        <!-- 通用工具-->
+        <dependency>
+            <groupId>org.dromara</groupId>
+            <artifactId>ruoyi-common-core</artifactId>
+        </dependency>
+
+        <dependency>
+            <groupId>org.dromara</groupId>
+            <artifactId>ruoyi-common-doc</artifactId>
+        </dependency>
+
+        <dependency>
+            <groupId>org.dromara</groupId>
+            <artifactId>ruoyi-common-sms</artifactId>
+        </dependency>
+
+        <dependency>
+            <groupId>org.dromara</groupId>
+            <artifactId>ruoyi-common-mail</artifactId>
+        </dependency>
+
+        <dependency>
+            <groupId>org.dromara</groupId>
+            <artifactId>ruoyi-common-redis</artifactId>
+        </dependency>
+
+        <dependency>
+            <groupId>org.dromara</groupId>
+            <artifactId>ruoyi-common-idempotent</artifactId>
+        </dependency>
+
+        <dependency>
+            <groupId>org.dromara</groupId>
+            <artifactId>ruoyi-common-mybatis</artifactId>
+        </dependency>
+
+        <dependency>
+            <groupId>org.dromara</groupId>
+            <artifactId>ruoyi-common-log</artifactId>
+        </dependency>
+
+        <dependency>
+            <groupId>org.dromara</groupId>
+            <artifactId>ruoyi-common-excel</artifactId>
+        </dependency>
+
+        <dependency>
+            <groupId>org.dromara</groupId>
+            <artifactId>ruoyi-common-security</artifactId>
+        </dependency>
+
+        <dependency>
+            <groupId>org.dromara</groupId>
+            <artifactId>ruoyi-common-web</artifactId>
+        </dependency>
+
+        <dependency>
+            <groupId>org.dromara</groupId>
+            <artifactId>ruoyi-common-ratelimiter</artifactId>
+        </dependency>
+
+        <dependency>
+            <groupId>org.dromara</groupId>
+            <artifactId>ruoyi-common-translation</artifactId>
+        </dependency>
+
+        <dependency>
+            <groupId>org.dromara</groupId>
+            <artifactId>ruoyi-common-sensitive</artifactId>
+        </dependency>
+
+        <dependency>
+            <groupId>org.dromara</groupId>
+            <artifactId>ruoyi-common-encrypt</artifactId>
+        </dependency>
+
+        <dependency>
+            <groupId>org.dromara</groupId>
+            <artifactId>ruoyi-common-tenant</artifactId>
+        </dependency>
+
+        <dependency>
+            <groupId>org.dromara</groupId>
+            <artifactId>ruoyi-common-websocket</artifactId>
+        </dependency>
+
+    </dependencies>
+
+</project>

+ 71 - 0
ruoyi-modules/ruoyi-customerManagement/src/main/java/org/dromara/customerManagement/controller/CustomerController.java

@@ -0,0 +1,71 @@
+package org.dromara.customerManagement.controller;
+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.utils.ExcelUtil;
+import org.dromara.common.mybatis.core.page.TableDataInfo;
+import org.dromara.common.web.core.BaseController;
+import org.dromara.customerManagement.domain.bo.CustomerBo;
+import org.dromara.customerManagement.domain.vo.CustomerVo;
+import org.dromara.customerManagement.service.CustomerService;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.*;
+import org.dromara.common.mybatis.core.page.PageQuery;
+
+import java.util.HashMap;
+
+/**
+ * 客户管理接口
+ */
+@RestController("customerManagement")
+@RequiredArgsConstructor
+@RequestMapping("/customerManagement")
+public class CustomerController extends BaseController {
+    private final CustomerService customerService;
+
+    /**
+     * 查询客户管理列表
+     * @param customer 客户Bo对象
+     * @param pageQuery 分页信息
+     * @return 查询结果
+     */
+    @GetMapping("/PageList")
+    public TableDataInfo<CustomerVo> selectPageCustomerList(CustomerBo customer, PageQuery pageQuery) {
+        return customerService.selectPageCustomerList(customer, pageQuery);
+    }
+
+    /**
+     * 新增客户
+     * @param customer 客户Bo对象
+     * @return 新增结果
+     */
+    @PostMapping()
+    public R<Void> insertCustomer(@Validated @RequestBody CustomerBo customer) {
+        return toAjax(customerService.insertCustomer(customer));
+    }
+
+    /**
+     * 修改客户
+     * @param customer 客户Bo对象
+     * @return 修改结果
+     */
+    @PutMapping()
+    public R<Void> updateCustomer(@Validated @RequestBody CustomerBo customer) {
+        return toAjax(customerService.updateCustomer(customer));
+    }
+
+    /**
+     * 删除客户
+     * @param CustomerId 客户ID
+     * @return 删除结果
+     */
+    @DeleteMapping("/{CustomerId}")
+    public R<Void> deleteCustomerByIds(@PathVariable Long CustomerId) {
+        return toAjax(customerService.deleteCustomerById(CustomerId));
+    }
+//    @GetMapping("/exportExcel")
+    public void exportCustomerExcel(HttpServletResponse response) {
+        ExcelUtil.exportTemplate(CollUtil.newArrayList(new HashMap<>(),customerService.selectList()),"客户管理列表.xlsx","excel/客户导出模板",response);
+    }
+}

+ 61 - 0
ruoyi-modules/ruoyi-customerManagement/src/main/java/org/dromara/customerManagement/domain/Customer.java

@@ -0,0 +1,61 @@
+package org.dromara.customerManagement.domain;
+import com.baomidou.mybatisplus.annotation.TableName;
+import jakarta.validation.constraints.NotBlank;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import org.dromara.common.tenant.core.TenantEntity;
+/**
+ * 客户基类
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@TableName("fa_kuyou_user")
+public class Customer extends TenantEntity {
+    /**
+     * 客户id
+     */
+    private long id;
+    /**
+     * 用户名
+     */
+    @NotBlank(message = "用户名不能为空")
+    private String username;
+    /**
+     * 密码
+     */
+    private String password;
+    /**
+     * 昵称
+     */
+    private String nickname;
+    /**
+     * 手机号
+     */
+    @NotBlank(message = "手机号不能为空")
+    private String mobile;
+    /**
+     * 公司/工厂名称
+     */
+    @NotBlank(message = "公司/工厂名称不能为空")
+    private String factory_name;
+    /**
+     * 营业执照
+     */
+    private String business_license;
+    /**
+     * 联系人
+     */
+    private String contact_name;
+    /**
+     * 头像
+     */
+    private String avatar;
+    /**
+     * 地址
+     */
+    private String address;
+    /**
+     * 账单结算类型
+     */
+    private String bill_type;
+}

+ 60 - 0
ruoyi-modules/ruoyi-customerManagement/src/main/java/org/dromara/customerManagement/domain/bo/CustomerBo.java

@@ -0,0 +1,60 @@
+package org.dromara.customerManagement.domain.bo;
+
+import io.github.linpeilie.annotations.AutoMapper;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import org.dromara.common.mybatis.core.domain.BaseEntity;
+import org.dromara.customerManagement.domain.Customer;
+
+/**
+ * 客户业务对象
+ */
+@Data
+@EqualsAndHashCode(callSuper=true)
+@AutoMapper(target = Customer.class, reverseConvertGenerate = false)
+public class CustomerBo extends BaseEntity {
+    /**
+     * 客户id
+     */
+    private long id;
+    /**
+     * 用户名
+     */
+    private String username;
+    /**
+     * 密码
+     */
+    private String password;
+    /**
+     * 昵称
+     */
+    private String nickname;
+    /**
+     * 手机号
+     */
+    private String mobile;
+    /**
+     * 工厂名称
+     */
+    private String factory_name;
+    /**
+     * 营业执照
+     */
+    private String business_license;
+    /**
+     * 联系人
+     */
+    private String contact_name;
+    /**
+     * 头像
+     */
+    private String avatar;
+    /**
+     * 地址
+     */
+    private String address;
+    /**
+     * 账单结算类型
+     */
+    private String bill_type;
+}

+ 59 - 0
ruoyi-modules/ruoyi-customerManagement/src/main/java/org/dromara/customerManagement/domain/vo/CustomerVo.java

@@ -0,0 +1,59 @@
+package org.dromara.customerManagement.domain.vo;
+import io.github.linpeilie.annotations.AutoMapper;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import org.dromara.common.mybatis.core.domain.BaseEntity;
+import org.dromara.customerManagement.domain.Customer;
+
+/**
+ * 客户值对象
+ */
+@Data
+@EqualsAndHashCode(callSuper=true)
+@AutoMapper(target = Customer.class)
+public class CustomerVo extends BaseEntity {
+    /**
+     * 客户id
+     */
+    private long id;
+    /**
+     * 用户名
+     */
+    private String username;
+    /**
+     * 密码
+     */
+    private String password;
+    /**
+     * 昵称
+     */
+    private String nickname;
+    /**
+     * 手机号
+     */
+    private String mobile;
+    /**
+     * 工厂名称
+     */
+    private String factory_name;
+    /**
+     * 营业执照
+     */
+    private String business_license;
+    /**
+     * 联系人
+     */
+    private String contact_name;
+    /**
+     * 头像
+     */
+    private String avatar;
+    /**
+     * 地址
+     */
+    private String address;
+    /**
+     * 账单结算类型
+     */
+    private String bill_type;
+}

+ 10 - 0
ruoyi-modules/ruoyi-customerManagement/src/main/java/org/dromara/customerManagement/mapper/CustomerMapper.java

@@ -0,0 +1,10 @@
+package org.dromara.customerManagement.mapper;
+
+import org.apache.ibatis.annotations.Mapper;
+import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
+import org.dromara.customerManagement.domain.Customer;
+import org.dromara.customerManagement.domain.vo.CustomerVo;
+
+@Mapper
+public interface CustomerMapper extends BaseMapperPlus<Customer, CustomerVo> {
+}

+ 42 - 0
ruoyi-modules/ruoyi-customerManagement/src/main/java/org/dromara/customerManagement/service/CustomerService.java

@@ -0,0 +1,42 @@
+package org.dromara.customerManagement.service;
+
+import org.dromara.common.mybatis.core.page.PageQuery;
+import org.dromara.common.mybatis.core.page.TableDataInfo;
+import org.dromara.customerManagement.domain.Customer;
+import org.dromara.customerManagement.domain.bo.CustomerBo;
+import org.dromara.customerManagement.domain.vo.CustomerVo;
+
+import java.util.List;
+
+public interface CustomerService {
+    /**
+     * 查询客户管理列表
+     * @param customersBo 客户Bo对象
+     * @param pageQuery 分页信息
+     * @return 分页结果
+     */
+    TableDataInfo<CustomerVo> selectPageCustomerList(CustomerBo customersBo, PageQuery pageQuery);
+
+    /**
+     * 新增客户
+     * @param customersBo 客户Bo对象
+     * @return 影响行数
+     */
+    int insertCustomer(CustomerBo customersBo);
+
+    /**
+     * 修改客户
+     * @param customersBo 客户Bo对象
+     * @return 影响行数
+     */
+    int updateCustomer(CustomerBo customersBo);
+
+    /**
+     * 删除客户
+     * @param customerId 客户ID
+     * @return 影响行数
+     */
+    int deleteCustomerById(Long customerId);
+
+    List<Customer> selectList();
+}

+ 76 - 0
ruoyi-modules/ruoyi-customerManagement/src/main/java/org/dromara/customerManagement/service/impl/CustomerServiceImpl.java

@@ -0,0 +1,76 @@
+package org.dromara.customerManagement.service.impl;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import lombok.RequiredArgsConstructor;
+import org.dromara.common.core.utils.MapstructUtils;
+import org.dromara.common.core.utils.StringUtils;
+import org.dromara.common.mybatis.core.page.PageQuery;
+import org.dromara.common.mybatis.core.page.TableDataInfo;
+import org.dromara.customerManagement.domain.Customer;
+import org.dromara.customerManagement.domain.bo.CustomerBo;
+import org.dromara.customerManagement.domain.vo.CustomerVo;
+import org.dromara.customerManagement.mapper.CustomerMapper;
+import org.dromara.customerManagement.service.CustomerService;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+@Service
+@RequiredArgsConstructor
+public class CustomerServiceImpl implements CustomerService {
+    private final CustomerMapper customerMapper;
+
+    /**
+     * 查询客户对象分页查询客户数据
+     * @param customersBo 客户Bo对象
+     * @param pageQuery 查询条件
+     * @return 分页结果
+     */
+    @Override
+    public TableDataInfo<CustomerVo> selectPageCustomerList(CustomerBo customersBo, PageQuery pageQuery){
+        QueryWrapper<Customer> qw = new QueryWrapper<>();
+        qw.eq(StringUtils.isNotBlank(customersBo.getUsername()),"username",customersBo.getUsername());
+        qw.eq(StringUtils.isNotBlank(customersBo.getMobile()),"mobile",customersBo.getMobile());
+        Page<CustomerVo>page= customerMapper.selectVoPage(pageQuery.build(), qw);
+        return TableDataInfo.build(page);
+    }
+
+    /**
+     * 新增客户
+     * @param customerBo 客户Bo对象
+     * @return 结果
+     */
+    @Override
+    public int insertCustomer(CustomerBo customerBo){
+        Customer customer = MapstructUtils.convert(customerBo, Customer.class);
+        return customerMapper.insert(customer);
+    }
+
+    /**
+     * 修改客户
+     * @param customerBo 客户Bo对象
+     * @return 结果
+     */
+    @Override
+    public int updateCustomer(CustomerBo customerBo){
+        Customer customer = MapstructUtils.convert(customerBo, Customer.class);
+        QueryWrapper<Customer> qw = new QueryWrapper<>();
+        qw.eq("id",customerBo.getId());
+        return customerMapper.updateById(customer);
+    }
+
+    /**
+     * 删除客户
+     * @param customerId 客户ID
+     * @return 结果
+     */
+    @Override
+    public int deleteCustomerById(Long customerId){
+        return customerMapper.deleteById(customerId);
+    }
+    @Override
+    public List<Customer> selectList() {
+        return customerMapper.selectList();
+    }
+}

+ 7 - 0
ruoyi-modules/ruoyi-customerManagement/src/main/resources/mapper/CustomerMapper.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.customerManagement.mapper.CustomerMapper">
+
+</mapper>