From b750b7fac8d95071226af215c5cb0e3d3f053e44 Mon Sep 17 00:00:00 2001
From: chenrui <1187576398@qq.com>
Date: 星期二, 03 六月 2025 09:11:33 +0800
Subject: [PATCH] 客户信息功能开发

---
 basic-server/src/main/java/com/ruoyi/basic/entity/Customer.java                                    |  104 ++++++++++++++++++++
 basic-server/src/main/java/com/ruoyi/basic/controller/CustomerController.java                      |   21 ++++
 basic-server/src/main/resources/mapper/CustomerMapper.xml                                          |   37 +++++++
 basic-server/src/main/java/com/ruoyi/basic/mapper/CustomerMapper.java                              |   18 +++
 ruoyi-admin/src/main/java/com/ruoyi/PlusCodeGenerator.java                                         |    4 
 basic-server/src/main/java/com/ruoyi/basic/service/CustomerService.java                            |   16 +++
 ruoyi-common/src/main/resources/db/migration/postgresql/V20250530171701__create_table_customer.sql |   47 +++++++++
 basic-server/src/main/java/com/ruoyi/basic/service/impl/CustomerServiceImpl.java                   |   22 ++++
 8 files changed, 267 insertions(+), 2 deletions(-)

diff --git a/basic-server/src/main/java/com/ruoyi/basic/controller/CustomerController.java b/basic-server/src/main/java/com/ruoyi/basic/controller/CustomerController.java
new file mode 100644
index 0000000..e7aba59
--- /dev/null
+++ b/basic-server/src/main/java/com/ruoyi/basic/controller/CustomerController.java
@@ -0,0 +1,21 @@
+package com.ruoyi.basic.controller;
+
+import org.springframework.web.bind.annotation.RequestMapping;
+import lombok.AllArgsConstructor;
+    import org.springframework.web.bind.annotation.RestController;
+
+/**
+* <p>
+    *  鍓嶇鎺у埗鍣�
+    * </p>
+*
+* @author ruoyi
+* @since 2025-06-03
+*/
+
+@RestController
+@AllArgsConstructor
+@RequestMapping("/basic/customer")
+        public class CustomerController {
+
+    }
diff --git a/basic-server/src/main/java/com/ruoyi/basic/entity/Customer.java b/basic-server/src/main/java/com/ruoyi/basic/entity/Customer.java
new file mode 100644
index 0000000..1cb7511
--- /dev/null
+++ b/basic-server/src/main/java/com/ruoyi/basic/entity/Customer.java
@@ -0,0 +1,104 @@
+package com.ruoyi.basic.entity;
+
+import com.baomidou.mybatisplus.annotation.*;
+import lombok.Data;
+    import com.ruoyi.common.core.domain.BaseEntity;
+
+/**
+*  瀹炰綋绫�
+*
+* @author ruoyi
+* @date 2025-06-03
+*/
+@Data
+@TableName("customer")
+public class Customer extends BaseEntity {
+
+private static final long serialVersionUID = 1L;
+
+        /**
+        * 瀹㈡埛鍞竴鏍囪瘑锛屼富閿�
+        */
+            @TableId(value = "id", type = IdType.AUTO)
+        private Long id;
+        /**
+        * 瀹㈡埛鍚嶇О锛屼笉鑳戒负绌�
+        */
+            @TableField(value = "customer_name")
+        private String customerName;
+        /**
+        * 绾崇◣浜鸿瘑鍒彿锛屼腑鍥藉ぇ闄嗕负缁熶竴绀句細淇$敤浠g爜锛屼笉鑳戒负绌�
+        */
+            @TableField(value = "taxpayer_id")
+        private String taxpayerId;
+        /**
+        * 缁忚惀鍦板潃鎵�鍦ㄧ渷浠界殑鍦板尯ID锛岄粯璁�0
+        */
+            @TableField(value = "business_province_id")
+        private Long businessProvinceId;
+        /**
+        * 缁忚惀鍦板潃鎵�鍦ㄥ煄甯傜殑鍦板尯ID锛岄粯璁�0
+        */
+            @TableField(value = "business_city_id")
+        private Long businessCityId;
+        /**
+        * 缁忚惀鍦板潃鎵�鍦ㄥ尯鍘跨殑鍦板尯ID锛岄粯璁�0
+        */
+            @TableField(value = "business_district_id")
+        private Long businessDistrictId;
+        /**
+        * 缁忚惀璇︾粏鍦板潃锛岄粯璁ょ┖瀛楃涓�
+        */
+            @TableField(value = "business_address")
+        private String businessAddress;
+        /**
+        * 閾惰璐︽埛鍙风爜锛岄粯璁ょ┖瀛楃涓�
+        */
+            @TableField(value = "bank_account")
+        private String bankAccount;
+        /**
+        * 寮�鎴烽摱琛屽悕绉帮紝榛樿绌哄瓧绗︿覆
+        */
+            @TableField(value = "bank_name")
+        private String bankName;
+        /**
+        * 瀹㈡埛鑱旂郴浜哄鍚嶏紝榛樿绌哄瓧绗︿覆
+        */
+            @TableField(value = "contact_person")
+        private String contactPerson;
+        /**
+        * 鑱旂郴浜虹數璇濆彿鐮侊紝榛樿绌哄瓧绗︿覆
+        */
+            @TableField(value = "contact_phone")
+        private String contactPhone;
+        /**
+        * 鑱旂郴鍦板潃鎵�鍦ㄧ渷浠界殑鍦板尯ID锛岄粯璁�0
+        */
+            @TableField(value = "province_id")
+        private Long provinceId;
+        /**
+        * 鑱旂郴鍦板潃鎵�鍦ㄥ煄甯傜殑鍦板尯ID锛岄粯璁�0
+        */
+            @TableField(value = "city_id")
+        private Long cityId;
+        /**
+        * 鑱旂郴鍦板潃鎵�鍦ㄥ尯鍘跨殑鍦板尯ID锛岄粯璁�0
+        */
+            @TableField(value = "district_id")
+        private Long districtId;
+        /**
+        * 鑱旂郴璇︾粏鍦板潃锛岄粯璁ょ┖瀛楃涓�
+        */
+            @TableField(value = "contact_address")
+        private String contactAddress;
+        /**
+        * 鍒涘缓璇ヨ褰曠殑鐢ㄦ埛ID锛岄粯璁�0
+        */
+            @TableField(value = "create_user")
+        private Long createUser;
+        /**
+        * 鏈�鍚庝慨鏀硅璁板綍鐨勭敤鎴稩D锛岄粯璁�0
+        */
+            @TableField(value = "update_user")
+        private Long updateUser;
+}
\ No newline at end of file
diff --git a/basic-server/src/main/java/com/ruoyi/basic/mapper/CustomerMapper.java b/basic-server/src/main/java/com/ruoyi/basic/mapper/CustomerMapper.java
new file mode 100644
index 0000000..8371f58
--- /dev/null
+++ b/basic-server/src/main/java/com/ruoyi/basic/mapper/CustomerMapper.java
@@ -0,0 +1,18 @@
+package com.ruoyi.basic.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.ruoyi.basic.entity.Customer;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * <p>
+ *  Mapper 鎺ュ彛
+ * </p>
+ *
+ * @author ruoyi
+ * @since 2025-06-03
+ */
+@Mapper
+public interface CustomerMapper extends BaseMapper<Customer> {
+
+}
diff --git a/basic-server/src/main/java/com/ruoyi/basic/service/CustomerService.java b/basic-server/src/main/java/com/ruoyi/basic/service/CustomerService.java
new file mode 100644
index 0000000..c7c2a2e
--- /dev/null
+++ b/basic-server/src/main/java/com/ruoyi/basic/service/CustomerService.java
@@ -0,0 +1,16 @@
+package com.ruoyi.basic.service;
+
+import com.ruoyi.basic.entity.Customer;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * <p>
+ *  鏈嶅姟绫�
+ * </p>
+ *
+ * @author ruoyi
+ * @since 2025-06-03
+ */
+public interface CustomerService extends IService<Customer> {
+
+}
diff --git a/basic-server/src/main/java/com/ruoyi/basic/service/impl/CustomerServiceImpl.java b/basic-server/src/main/java/com/ruoyi/basic/service/impl/CustomerServiceImpl.java
new file mode 100644
index 0000000..87042cf
--- /dev/null
+++ b/basic-server/src/main/java/com/ruoyi/basic/service/impl/CustomerServiceImpl.java
@@ -0,0 +1,22 @@
+package com.ruoyi.basic.service.impl;
+
+import com.ruoyi.basic.entity.Customer;
+import com.ruoyi.basic.mapper.CustomerMapper;
+    import com.ruoyi.basic.service.CustomerService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+import lombok.RequiredArgsConstructor;
+
+/**
+* <p>
+    *  鏈嶅姟瀹炵幇绫�
+    * </p>
+*
+* @author ruoyi
+* @since 2025-06-03
+*/
+@Service
+@RequiredArgsConstructor
+    public class CustomerServiceImpl extends ServiceImpl<CustomerMapper, Customer> implements CustomerService {
+
+    }
diff --git a/basic-server/src/main/resources/mapper/CustomerMapper.xml b/basic-server/src/main/resources/mapper/CustomerMapper.xml
new file mode 100644
index 0000000..930d791
--- /dev/null
+++ b/basic-server/src/main/resources/mapper/CustomerMapper.xml
@@ -0,0 +1,37 @@
+<?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.basic.mapper.CustomerMapper">
+
+        <!-- 閫氱敤鏌ヨ鏄犲皠缁撴灉 -->
+        <resultMap id="BaseResultMap" type="com.ruoyi.basic.entity.Customer">
+                    <id column="id" property="id" />
+                <result column="create_time" property="createTime" />
+                <result column="update_time" property="updateTime" />
+                <result column="deleted" property="deleted" />
+                    <result column="customer_name" property="customerName" />
+                    <result column="taxpayer_id" property="taxpayerId" />
+                    <result column="business_province_id" property="businessProvinceId" />
+                    <result column="business_city_id" property="businessCityId" />
+                    <result column="business_district_id" property="businessDistrictId" />
+                    <result column="business_address" property="businessAddress" />
+                    <result column="bank_account" property="bankAccount" />
+                    <result column="bank_name" property="bankName" />
+                    <result column="contact_person" property="contactPerson" />
+                    <result column="contact_phone" property="contactPhone" />
+                    <result column="province_id" property="provinceId" />
+                    <result column="city_id" property="cityId" />
+                    <result column="district_id" property="districtId" />
+                    <result column="contact_address" property="contactAddress" />
+                    <result column="create_user" property="createUser" />
+                    <result column="update_user" property="updateUser" />
+        </resultMap>
+
+        <!-- 閫氱敤鏌ヨ缁撴灉鍒� -->
+        <sql id="Base_Column_List">
+                create_time,
+                update_time,
+                deleted,
+            id, customer_name, taxpayer_id, business_province_id, business_city_id, business_district_id, business_address, bank_account, bank_name, contact_person, contact_phone, province_id, city_id, district_id, contact_address, create_user, update_user
+        </sql>
+
+</mapper>
\ No newline at end of file
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/PlusCodeGenerator.java b/ruoyi-admin/src/main/java/com/ruoyi/PlusCodeGenerator.java
index 9945e44..4e911ad 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/PlusCodeGenerator.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/PlusCodeGenerator.java
@@ -38,8 +38,8 @@
 
     public static void main(String[] args) {
         String projectPath = System.getProperty("user.dir"); // 鑾峰彇椤圭洰鏍硅矾寰�
-        String path = "ruoyi-common"; // 妯″潡鍚嶇О
-        String table = "storage_attachment"; // 琛ㄥ悕锛屽涓〃閫楀彿闅斿紑
+        String path = "basic-server"; // 妯″潡鍚嶇О
+        String table = "customer"; // 琛ㄥ悕锛屽涓〃閫楀彿闅斿紑
 
         // 浠g爜杈撳嚭璺緞閰嶇疆
         String outputBasePath = Paths.get(projectPath, path, "src", "main", "java").toString();
diff --git a/ruoyi-common/src/main/resources/db/migration/postgresql/V20250530171701__create_table_customer.sql b/ruoyi-common/src/main/resources/db/migration/postgresql/V20250530171701__create_table_customer.sql
new file mode 100644
index 0000000..6abc76d
--- /dev/null
+++ b/ruoyi-common/src/main/resources/db/migration/postgresql/V20250530171701__create_table_customer.sql
@@ -0,0 +1,47 @@
+DROP TABLE IF EXISTS customer;
+
+CREATE TABLE customer
+(
+    id               BIGSERIAL PRIMARY KEY,
+    customer_name    VARCHAR(255) NOT NULL,                             -- 瀹㈡埛鍚嶇О
+    taxpayer_id      VARCHAR(255) NOT NULL,                             -- 绾崇◣浜鸿瘑鍒彿
+    business_province_id      INT8       NOT NULL    DEFAULT 0,         -- 缁忚惀鍦板潃鐪�
+    business_city_id          INT8       NOT NULL    DEFAULT 0,         -- 缁忚惀鍦板潃甯�
+    business_district_id      INT8       NOT NULL    DEFAULT 0,         -- 缁忚惀鍦板潃鍖�
+    business_address VARCHAR(255) NOT NULL    DEFAULT '',               -- 缁忚惀璇︾粏鍦板潃
+    bank_account     VARCHAR(255) NOT NULL    DEFAULT '',               -- 閾惰璐﹀彿
+    bank_name        VARCHAR(255) NOT NULL    DEFAULT '',               -- 寮�鎴疯
+    contact_person   VARCHAR(255) NOT NULL    DEFAULT '',               -- 鑱旂郴浜�
+    contact_phone    VARCHAR(255) NOT NULL    DEFAULT '',               -- 鑱旂郴浜虹數璇�
+    province_id      INT8         NOT NULL    DEFAULT 0,                -- 鑱旂郴鍦板潃鐪�
+    city_id          INT8       NOT NULL    DEFAULT 0,                  -- 鑱旂郴鍦板潃甯�
+    district_id      INT8       NOT NULL    DEFAULT 0,                  -- 鑱旂郴鍦板潃鍖�
+    contact_address  VARCHAR(255) NOT NULL    DEFAULT '',               -- 鑱旂郴璇︾粏鍦板潃
+    create_time      TIMESTAMP WITH TIME ZONE DEFAULT CURRENT_TIMESTAMP,-- 鍒涘缓鏃堕棿
+    update_time      TIMESTAMP WITH TIME ZONE DEFAULT CURRENT_TIMESTAMP,-- 淇敼鏃堕棿
+    create_user      INT8       NOT NULL    ,                           -- 鍒涘缓鐢ㄦ埛
+    update_user      INT8       NOT NULL    ,                           -- 淇敼鐢ㄦ埛
+    deleted          INT2         NOT NULL    DEFAULT 0                 -- 鍒犻櫎鏍囪 0鏈垹闄� 1宸插垹闄�
+);
+
+COMMENT ON COLUMN customer.id IS '瀹㈡埛鍞竴鏍囪瘑锛屼富閿�';
+COMMENT ON COLUMN customer.customer_name IS '瀹㈡埛鍚嶇О锛屼笉鑳戒负绌�';
+COMMENT ON COLUMN customer.taxpayer_id IS '绾崇◣浜鸿瘑鍒彿锛屼腑鍥藉ぇ闄嗕负缁熶竴绀句細淇$敤浠g爜锛屼笉鑳戒负绌�';
+COMMENT ON COLUMN customer.business_province_id IS '缁忚惀鍦板潃鎵�鍦ㄧ渷浠界殑鍦板尯ID锛岄粯璁�0';
+COMMENT ON COLUMN customer.business_city_id IS '缁忚惀鍦板潃鎵�鍦ㄥ煄甯傜殑鍦板尯ID锛岄粯璁�0';
+COMMENT ON COLUMN customer.business_district_id IS '缁忚惀鍦板潃鎵�鍦ㄥ尯鍘跨殑鍦板尯ID锛岄粯璁�0';
+COMMENT ON COLUMN customer.business_address IS '缁忚惀璇︾粏鍦板潃锛岄粯璁ょ┖瀛楃涓�';
+COMMENT ON COLUMN customer.bank_account IS '閾惰璐︽埛鍙风爜锛岄粯璁ょ┖瀛楃涓�';
+COMMENT ON COLUMN customer.bank_name IS '寮�鎴烽摱琛屽悕绉帮紝榛樿绌哄瓧绗︿覆';
+COMMENT ON COLUMN customer.contact_person IS '瀹㈡埛鑱旂郴浜哄鍚嶏紝榛樿绌哄瓧绗︿覆';
+COMMENT ON COLUMN customer.contact_phone IS '鑱旂郴浜虹數璇濆彿鐮侊紝榛樿绌哄瓧绗︿覆';
+COMMENT ON COLUMN customer.province_id IS '鑱旂郴鍦板潃鎵�鍦ㄧ渷浠界殑鍦板尯ID锛岄粯璁�0';
+COMMENT ON COLUMN customer.city_id IS '鑱旂郴鍦板潃鎵�鍦ㄥ煄甯傜殑鍦板尯ID锛岄粯璁�0';
+COMMENT ON COLUMN customer.district_id IS '鑱旂郴鍦板潃鎵�鍦ㄥ尯鍘跨殑鍦板尯ID锛岄粯璁�0';
+COMMENT ON COLUMN customer.contact_address IS '鑱旂郴璇︾粏鍦板潃锛岄粯璁ょ┖瀛楃涓�';
+COMMENT ON COLUMN customer.create_time IS '璁板綍鍒涘缓鏃堕棿锛岄粯璁ゅ綋鍓嶆椂闂�';
+COMMENT ON COLUMN customer.update_time IS '璁板綍鏈�鍚庝慨鏀规椂闂达紝榛樿褰撳墠鏃堕棿';
+COMMENT ON COLUMN customer.create_user IS '鍒涘缓璇ヨ褰曠殑鐢ㄦ埛ID锛岄粯璁�0';
+COMMENT ON COLUMN customer.update_user IS '鏈�鍚庝慨鏀硅璁板綍鐨勭敤鎴稩D锛岄粯璁�0';
+COMMENT ON COLUMN customer.deleted IS '杞垹闄ゆ爣蹇楋紝0=鏈垹闄わ紝1=宸插垹闄�';
+

--
Gitblit v1.9.3