kgy 6 сар өмнө
parent
commit
8e31dcd26d

+ 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>