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