From 6e93d9940740491dababd1e2bfff8fd9a88bd9ea Mon Sep 17 00:00:00 2001
From: chenhj <1263187585@qq.com>
Date: 星期二, 03 六月 2025 12:58:07 +0800
Subject: [PATCH] Merge branch 'master' of http://114.132.189.42:9002/r/zd-after

---
 basic-server/src/main/java/com/ruoyi/basic/controller/CustomerController.java                       |   21 +
 basic-server/src/main/java/com/ruoyi/basic/service/CoalInfoService.java                             |   24 ++
 ruoyi-framework/pom.xml                                                                             |   12 
 ruoyi-admin/pom.xml                                                                                 |    5 
 basic-server/src/main/resources/db/migration/postgresql/V20250603102701__create_table_coal_info.sql |   31 ++
 basic-server/src/main/java/com/ruoyi/basic/service/CustomerService.java                             |   16 +
 basic-server/src/main/resources/mapper/CoalInfoMapper.xml                                           |   28 ++
 ruoyi-common/src/main/resources/db/migration/postgresql/V20250530171701__create_table_customer.sql  |   47 ++++
 pom.xml                                                                                             |    6 
 basic-server/src/main/java/com/ruoyi/basic/entity/CoalInfo.java                                     |   41 +++
 ruoyi-common/pom.xml                                                                                |    6 
 basic-server/src/main/java/com/ruoyi/basic/service/impl/CustomerServiceImpl.java                    |   22 ++
 basic-server/src/main/java/com/ruoyi/basic/entity/Customer.java                                     |  104 +++++++++
 ruoyi-framework/src/main/java/com/ruoyi/framework/config/MybatisPlusConfig.java                     |   47 ---
 basic-server/src/main/java/com/ruoyi/basic/controller/CoalInfoController.java                       |   56 +++++
 basic-server/src/main/resources/mapper/CustomerMapper.xml                                           |   37 +++
 basic-server/src/main/java/com/ruoyi/basic/mapper/CustomerMapper.java                               |   18 +
 basic-server/src/main/java/com/ruoyi/basic/service/impl/CoalInfoServiceImpl.java                    |   67 ++++++
 ruoyi-admin/src/main/java/com/ruoyi/PlusCodeGenerator.java                                          |   18 
 basic-server/src/main/java/com/ruoyi/basic/mapper/CoalInfoMapper.java                               |   18 +
 basic-server/src/main/java/com/ruoyi/basic/dto/CoalInfoDto.java                                     |    8 
 21 files changed, 573 insertions(+), 59 deletions(-)

diff --git a/basic-server/src/main/java/com/ruoyi/basic/controller/CoalInfoController.java b/basic-server/src/main/java/com/ruoyi/basic/controller/CoalInfoController.java
new file mode 100644
index 0000000..e713fe8
--- /dev/null
+++ b/basic-server/src/main/java/com/ruoyi/basic/controller/CoalInfoController.java
@@ -0,0 +1,56 @@
+package com.ruoyi.basic.controller;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.ruoyi.basic.dto.CoalInfoDto;
+import com.ruoyi.basic.dto.SupplyDto;
+import com.ruoyi.basic.entity.CoalInfo;
+import com.ruoyi.basic.entity.Supply;
+import com.ruoyi.basic.service.CoalInfoService;
+import com.ruoyi.common.core.domain.R;
+import org.springframework.web.bind.annotation.*;
+import lombok.AllArgsConstructor;
+
+/**
+ * <p>
+ * 鐓ょ淇℃伅琛� 鍓嶇鎺у埗鍣�
+ * </p>
+ *
+ * @author ruoyi
+ * @since 2025-06-03
+ */
+
+@RestController
+@AllArgsConstructor
+@RequestMapping("/basic/coalInfo")
+public class CoalInfoController {
+
+    private CoalInfoService coalInfoService;
+
+    /**
+     * 鏌ヨ
+     */
+    @GetMapping("/list")
+    public R<IPage<CoalInfo>> list(Page page, CoalInfoDto coalInfoDto) {
+        IPage<CoalInfo> list = coalInfoService.selectCoalInfoList(page,coalInfoDto);
+        return R.ok(list);
+    }
+
+
+    /**
+     * 鏂板淇敼
+     */
+    @PostMapping("/addOrEditCoalInfo")
+    public R addOrEditCoalInfo(@RequestBody CoalInfoDto coalInfoDto) {
+        return R.ok(coalInfoService.addOrEditCoalInfo(coalInfoDto));
+    }
+
+    /**
+     * 鍒犻櫎
+     */
+    @DeleteMapping("/delCoalInfo")
+    public R remove(@RequestBody Long[] ids) {
+        return R.ok(coalInfoService.delCoalInfoByIds(ids));
+    }
+
+}
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..3fdc4d2
--- /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/dto/CoalInfoDto.java b/basic-server/src/main/java/com/ruoyi/basic/dto/CoalInfoDto.java
new file mode 100644
index 0000000..89da04b
--- /dev/null
+++ b/basic-server/src/main/java/com/ruoyi/basic/dto/CoalInfoDto.java
@@ -0,0 +1,8 @@
+package com.ruoyi.basic.dto;
+
+import com.ruoyi.basic.entity.CoalInfo;
+import lombok.Data;
+
+@Data
+public class CoalInfoDto extends CoalInfo {
+}
diff --git a/basic-server/src/main/java/com/ruoyi/basic/entity/CoalInfo.java b/basic-server/src/main/java/com/ruoyi/basic/entity/CoalInfo.java
new file mode 100644
index 0000000..dd86849
--- /dev/null
+++ b/basic-server/src/main/java/com/ruoyi/basic/entity/CoalInfo.java
@@ -0,0 +1,41 @@
+package com.ruoyi.basic.entity;
+
+import com.baomidou.mybatisplus.annotation.*;
+import lombok.Data;
+import com.ruoyi.common.core.domain.MyBaseEntity;
+
+import java.util.Date;
+
+/**
+ * 鐓ょ淇℃伅琛� 瀹炰綋绫�
+ *
+ * @author ruoyi
+ * @date 2025-06-03
+ */
+@Data
+@TableName("coal_info")
+public class CoalInfo extends MyBaseEntity {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 涓婚敭ID
+     */
+    @TableId(value = "id", type = IdType.AUTO)
+    private Integer id;
+    /**
+     * 鐓ょ鍚嶇О
+     */
+    @TableField(value = "coal_name")
+    private String coalName;
+    /**
+     * 缁存姢浜哄鍚�
+     */
+    @TableField(value = "maintainer")
+    private String maintainer;
+    /**
+     * 缁存姢鏃ユ湡
+     */
+    @TableField(value = "maintenance_date")
+    private Date maintenanceDate;
+}
\ No newline at end of file
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/CoalInfoMapper.java b/basic-server/src/main/java/com/ruoyi/basic/mapper/CoalInfoMapper.java
new file mode 100644
index 0000000..87f851c
--- /dev/null
+++ b/basic-server/src/main/java/com/ruoyi/basic/mapper/CoalInfoMapper.java
@@ -0,0 +1,18 @@
+package com.ruoyi.basic.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.ruoyi.basic.entity.CoalInfo;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * <p>
+ * 鐓ょ淇℃伅琛� Mapper 鎺ュ彛
+ * </p>
+ *
+ * @author ruoyi
+ * @since 2025-06-03
+ */
+@Mapper
+public interface CoalInfoMapper extends BaseMapper<CoalInfo> {
+
+}
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/CoalInfoService.java b/basic-server/src/main/java/com/ruoyi/basic/service/CoalInfoService.java
new file mode 100644
index 0000000..495de1a
--- /dev/null
+++ b/basic-server/src/main/java/com/ruoyi/basic/service/CoalInfoService.java
@@ -0,0 +1,24 @@
+package com.ruoyi.basic.service;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.ruoyi.basic.dto.CoalInfoDto;
+import com.ruoyi.basic.entity.CoalInfo;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * <p>
+ * 鐓ょ淇℃伅琛� 鏈嶅姟绫�
+ * </p>
+ *
+ * @author ruoyi
+ * @since 2025-06-03
+ */
+public interface CoalInfoService extends IService<CoalInfo> {
+
+    IPage<CoalInfo> selectCoalInfoList(Page page, CoalInfoDto coalInfoDto);
+
+    int addOrEditCoalInfo(CoalInfoDto coalInfoDto);
+
+    int delCoalInfoByIds(Long[] ids);
+}
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/CoalInfoServiceImpl.java b/basic-server/src/main/java/com/ruoyi/basic/service/impl/CoalInfoServiceImpl.java
new file mode 100644
index 0000000..8b31c3a
--- /dev/null
+++ b/basic-server/src/main/java/com/ruoyi/basic/service/impl/CoalInfoServiceImpl.java
@@ -0,0 +1,67 @@
+package com.ruoyi.basic.service.impl;
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.ruoyi.basic.dto.CoalInfoDto;
+import com.ruoyi.basic.entity.CoalInfo;
+import com.ruoyi.basic.entity.Supply;
+import com.ruoyi.basic.mapper.CoalInfoMapper;
+import com.ruoyi.basic.service.CoalInfoService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ruoyi.common.utils.bean.BeanUtils;
+import org.springframework.stereotype.Service;
+import lombok.RequiredArgsConstructor;
+import org.springframework.util.StringUtils;
+
+import java.util.Objects;
+
+/**
+ * <p>
+ * 鐓ょ淇℃伅琛� 鏈嶅姟瀹炵幇绫�
+ * </p>
+ *
+ * @author ruoyi
+ * @since 2025-06-03
+ */
+@Service
+@RequiredArgsConstructor
+public class CoalInfoServiceImpl extends ServiceImpl<CoalInfoMapper, CoalInfo> implements CoalInfoService {
+
+    private final CoalInfoMapper coalInfoMapper;
+
+    @Override
+    public IPage<CoalInfo> selectCoalInfoList(Page page, CoalInfoDto coalInfoDto) {
+        LambdaQueryWrapper<CoalInfo> queryWrapper = new LambdaQueryWrapper<>();
+        queryWrapper.orderByDesc(CoalInfo::getCreateTime);
+        return coalInfoMapper.selectPage(page, queryWrapper);
+    }
+
+    @Override
+    public int addOrEditCoalInfo(CoalInfoDto coalInfoDto) {
+        CoalInfo coalInfo = new CoalInfo();
+        BeanUtils.copyProperties(coalInfoDto, coalInfo);
+        if (Objects.isNull(coalInfo.getId())) {
+            return coalInfoMapper.insert(coalInfo);
+        } else {
+            return coalInfoMapper.updateById(coalInfo);
+        }
+    }
+
+    @Override
+    public int delCoalInfoByIds(Long[] ids) {
+        // 妫�鏌ュ弬鏁�
+        if (ids == null || ids.length == 0) {
+            return 0;
+        }
+
+        // 鏋勯�犳洿鏂版潯浠�
+        UpdateWrapper<CoalInfo> updateWrapper = new UpdateWrapper<>();
+        updateWrapper.in("id", ids)
+                .set("deleted", 1);  // 璁剧疆 deleted 涓� 1 琛ㄧず宸插垹闄�
+
+        // 鎵ц鎵归噺閫昏緫鍒犻櫎
+        return coalInfoMapper.update(null, updateWrapper);
+    }
+}
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/db/migration/postgresql/V20250603102701__create_table_coal_info.sql b/basic-server/src/main/resources/db/migration/postgresql/V20250603102701__create_table_coal_info.sql
new file mode 100644
index 0000000..d0d60c5
--- /dev/null
+++ b/basic-server/src/main/resources/db/migration/postgresql/V20250603102701__create_table_coal_info.sql
@@ -0,0 +1,31 @@
+-- 鍒涘缓 coal_info 琛�
+CREATE TABLE coal_info
+(
+    id               SERIAL PRIMARY KEY,                              -- 涓婚敭锛岃嚜鍔ㄩ�掑
+    coal_name        VARCHAR(255) NOT NULL,                           -- 鐓ょ鍚嶇О锛屼笉鍏佽涓虹┖
+    maintainer       VARCHAR(255) NOT NULL,                           -- 缁存姢浜猴紝涓嶅厑璁镐负绌�
+    maintenance_date DATE         NOT NULL,                           -- 缁存姢鏃ユ湡锛屼笉鍏佽涓虹┖
+
+    -- 鏂板瀛楁
+    deleted          int4         NOT NULL DEFAULT 0,                 -- 鏄惁鍒犻櫎锛堣蒋鍒犻櫎鏍囧織锛�
+    create_by        VARCHAR(255),                                    -- 鍒涘缓浜�
+    create_time      TIMESTAMP             DEFAULT CURRENT_TIMESTAMP, -- 鍒涘缓鏃堕棿锛岄粯璁ゅ綋鍓嶆椂闂�
+    update_by        VARCHAR(255),                                    -- 鏈�鍚庢洿鏂颁汉
+    update_time      TIMESTAMP             DEFAULT CURRENT_TIMESTAMP  -- 鏈�鍚庢洿鏂版椂闂达紝榛樿褰撳墠鏃堕棿
+);
+
+-- 涓鸿〃娣诲姞娉ㄩ噴
+COMMENT ON TABLE coal_info IS '鐓ょ淇℃伅琛�';
+
+-- 涓哄瓧娈垫坊鍔犳敞閲�
+COMMENT ON COLUMN coal_info.id IS '涓婚敭ID';
+COMMENT ON COLUMN coal_info.coal_name IS '鐓ょ鍚嶇О';
+COMMENT ON COLUMN coal_info.maintainer IS '缁存姢浜哄鍚�';
+COMMENT ON COLUMN coal_info.maintenance_date IS '缁存姢鏃ユ湡';
+
+-- 鏂板瀛楁鐨勬敞閲�
+COMMENT ON COLUMN coal_info.deleted IS '杞垹闄ゆ爣蹇楋紝true琛ㄧず宸插垹闄�';
+COMMENT ON COLUMN coal_info.create_by IS '鍒涘缓浜虹敤鎴峰悕';
+COMMENT ON COLUMN coal_info.create_time IS '璁板綍鍒涘缓鏃堕棿';
+COMMENT ON COLUMN coal_info.update_by IS '鏈�鍚庢洿鏂颁汉鐢ㄦ埛鍚�';
+COMMENT ON COLUMN coal_info.update_time IS '璁板綍鏈�鍚庢洿鏂版椂闂�';
\ No newline at end of file
diff --git a/basic-server/src/main/resources/mapper/CoalInfoMapper.xml b/basic-server/src/main/resources/mapper/CoalInfoMapper.xml
new file mode 100644
index 0000000..96c0e4f
--- /dev/null
+++ b/basic-server/src/main/resources/mapper/CoalInfoMapper.xml
@@ -0,0 +1,28 @@
+<?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.CoalInfoMapper">
+
+        <!-- 閫氱敤鏌ヨ鏄犲皠缁撴灉 -->
+        <resultMap id="BaseResultMap" type="com.ruoyi.basic.entity.CoalInfo">
+                    <id column="id" property="id" />
+                <result column="deleted" property="deleted" />
+                <result column="create_by" property="createBy" />
+                <result column="create_time" property="createTime" />
+                <result column="update_by" property="updateBy" />
+                <result column="update_time" property="updateTime" />
+                    <result column="coal_name" property="coalName" />
+                    <result column="maintainer" property="maintainer" />
+                    <result column="maintenance_date" property="maintenanceDate" />
+        </resultMap>
+
+        <!-- 閫氱敤鏌ヨ缁撴灉鍒� -->
+        <sql id="Base_Column_List">
+                deleted,
+                create_by,
+                create_time,
+                update_by,
+                update_time,
+            id, coal_name, maintainer, maintenance_date
+        </sql>
+
+</mapper>
\ No newline at end of file
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/pom.xml b/pom.xml
index bae27b4..777db37 100644
--- a/pom.xml
+++ b/pom.xml
@@ -234,6 +234,12 @@
             <version>${mybatis-plus.version}</version>
         </dependency>
 
+        <dependency>
+            <groupId>com.baomidou</groupId>
+            <artifactId>mybatis-plus-jsqlparser</artifactId>
+            <version>${mybatis-plus.version}</version>
+        </dependency>
+
         <!--mybatis-plus浠g爜鐢熸垚鍣�-->
         <dependency>
             <groupId>com.baomidou</groupId>
diff --git a/ruoyi-admin/pom.xml b/ruoyi-admin/pom.xml
index 0c0d663..5187df6 100644
--- a/ruoyi-admin/pom.xml
+++ b/ruoyi-admin/pom.xml
@@ -73,6 +73,11 @@
             <artifactId>basic-server</artifactId>
         </dependency>
 
+        <dependency>
+            <groupId>com.ruoyi</groupId>
+            <artifactId>ruoyi-common</artifactId>
+        </dependency>
+
         <!-- 瀹氭椂浠诲姟-->
         <dependency>
             <groupId>com.ruoyi</groupId>
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/PlusCodeGenerator.java b/ruoyi-admin/src/main/java/com/ruoyi/PlusCodeGenerator.java
index 3b33d93..ffd4834 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/PlusCodeGenerator.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/PlusCodeGenerator.java
@@ -28,9 +28,9 @@
 public class PlusCodeGenerator {
 
     // 鏁版嵁搴撻厤缃�
-    private static final String DB_URL = "jdbc:postgresql://localhost:5432/ruoyi-java";
+    private static final String DB_URL = "jdbc:postgresql://localhost:5432/ruoyi-zd";
     private static final String DB_USERNAME = "postgres";
-    private static final String DB_PASSWORD = "root";
+    private static final String DB_PASSWORD = "123456";
 
     // 椤圭洰鍩虹閰嶇疆
     private static final String BASE_PACKAGE = "com.ruoyi";
@@ -38,8 +38,8 @@
 
     public static void main(String[] args) {
         String projectPath = System.getProperty("user.dir"); // 鑾峰彇椤圭洰鏍硅矾寰�
-        String path = "ruoyi-system"; // 妯″潡鍚嶇О
-        String table = "province,city,district"; // 琛ㄥ悕锛屽涓〃閫楀彿闅斿紑
+        String path = "basic-server"; // 妯″潡鍚嶇О
+        String table = "coal_info"; // 琛ㄥ悕锛屽涓〃閫楀彿闅斿紑
 
         // 浠g爜杈撳嚭璺緞閰嶇疆
         String outputBasePath = Paths.get(projectPath, path, "src", "main", "java").toString();
@@ -48,7 +48,7 @@
         // 浠g爜鐢熸垚鏍稿績閰嶇疆
         FastAutoGenerator.create(DB_URL, DB_USERNAME, DB_PASSWORD)
                 .globalConfig(builder -> {
-                    builder.author("chenhj") // 浣滆�呬俊鎭�
+                    builder.author("ld") // 浣滆�呬俊鎭�
                             .outputDir(outputBasePath) // 浠g爜杈撳嚭鐩綍
                             .dateType(DateType.ONLY_DATE) // 鏃ユ湡绫诲瀷
                             .commentDate("yyyy-MM-dd") // 娉ㄩ噴鏃ユ湡鏍煎紡
@@ -73,7 +73,7 @@
 
                             // 瀹炰綋绫婚厤缃�
                             .entityBuilder()
-                            .superClass("com.ruoyi.common.core.domain.BaseEntity") // 缁ф壙鍩虹被
+                            .superClass("com.ruoyi.common.core.domain.MyBaseEntity") // 缁ф壙鍩虹被
                             .addSuperEntityColumns("create_by", "create_time", "update_by", "update_time") // 鎺掗櫎鍩虹被瀛楁
                             .enableLombok() // 鍚敤Lombok
                             .naming(NamingStrategy.underline_to_camel) // 琛ㄥ悕杞┘宄�
@@ -127,7 +127,7 @@
                             "create_by", "create_time", "update_by", "update_time"
                     )); // 鍩虹被瀛楁
                     customMap.put("idType", "AUTO"); // 涓婚敭绫诲瀷
-                    customMap.put("superEntityClass", "com.ruoyi.common.core.domain.BaseEntity"); // 鍩虹被鍏ㄨ矾寰�
+                    customMap.put("superEntityClass", "com.ruoyi.common.core.domain.MyBaseEntity"); // 鍩虹被鍏ㄨ矾寰�
                     customMap.put("author", "ruoyi"); // 浣滆�呬俊鎭�
                     customMap.put("packageName", BASE_PACKAGE + "." + MODULE_NAME); // 鍖呭悕
                     customMap.put("tableName", table); // 琛ㄥ悕
@@ -148,8 +148,8 @@
             if (Files.exists(entityPath)) {
                 String content = Files.readString(entityPath);
                 content = content.replace(
-                        "extends com.ruoyi.common.core.domain.BaseEntity",
-                        "extends BaseEntity"
+                        "extends com.ruoyi.common.core.domain.MyBaseEntity",
+                        "extends MyBaseEntity"
                 ); // 绠�鍖栧熀绫诲紩鐢�
                 Files.writeString(entityPath, content);
             }
diff --git a/ruoyi-common/pom.xml b/ruoyi-common/pom.xml
index 370b34d..ffa3d11 100644
--- a/ruoyi-common/pom.xml
+++ b/ruoyi-common/pom.xml
@@ -125,12 +125,6 @@
             <version>3.5.16</version>
         </dependency>
 
-        <dependency>
-            <groupId>com.baomidou</groupId>
-            <artifactId>mybatis-plus-spring-boot3-starter</artifactId>
-            <version>3.5.12</version>
-        </dependency>
-
         <!-- minio -->
         <dependency>
             <groupId>io.minio</groupId>
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=宸插垹闄�';
+
diff --git a/ruoyi-framework/pom.xml b/ruoyi-framework/pom.xml
index f648fad..a752444 100644
--- a/ruoyi-framework/pom.xml
+++ b/ruoyi-framework/pom.xml
@@ -53,17 +53,19 @@
             <artifactId>oshi-core</artifactId>
         </dependency>
 
+        <!-- MyBatis Plus Starter for Spring Boot 3 -->
         <dependency>
             <groupId>com.baomidou</groupId>
             <artifactId>mybatis-plus-spring-boot3-starter</artifactId>
             <version>3.5.12</version>
         </dependency>
 
-        <dependency>
-            <groupId>com.baomidou</groupId>
-            <artifactId>mybatis-plus-extension</artifactId>
-            <version>3.5.6</version>
-        </dependency>
+<!--        &lt;!&ndash; 鍙�夛細鎵嬪姩寮曞叆 extension 妯″潡 &ndash;&gt;-->
+<!--        <dependency>-->
+<!--            <groupId>com.baomidou</groupId>-->
+<!--            <artifactId>mybatis-plus-extension</artifactId>-->
+<!--            <version>3.5.12</version>-->
+<!--        </dependency>-->
 
         <!-- 绯荤粺妯″潡-->
         <dependency>
diff --git a/ruoyi-framework/src/main/java/com/ruoyi/framework/config/MybatisPlusConfig.java b/ruoyi-framework/src/main/java/com/ruoyi/framework/config/MybatisPlusConfig.java
index cdf20bb..4de14eb 100644
--- a/ruoyi-framework/src/main/java/com/ruoyi/framework/config/MybatisPlusConfig.java
+++ b/ruoyi-framework/src/main/java/com/ruoyi/framework/config/MybatisPlusConfig.java
@@ -7,51 +7,20 @@
 import com.baomidou.mybatisplus.extension.plugins.inner.PaginationInnerInterceptor;
 import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.Configuration;
-import org.springframework.transaction.annotation.EnableTransactionManagement;
 
-/**
- * Mybatis Plus 閰嶇疆
- *
- * @author ruoyi
- */
-@EnableTransactionManagement(proxyTargetClass = true)
 @Configuration
 public class MybatisPlusConfig {
+
     @Bean
-    public MybatisPlusInterceptor mybatisPlusInterceptor() {
+    public MybatisPlusInterceptor mybatisPlusInterceptor(){
         MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();
-        // 鍒嗛〉鎻掍欢
-        interceptor.addInnerInterceptor(paginationInnerInterceptor());
-        // 涔愯閿佹彃浠�
-        interceptor.addInnerInterceptor(optimisticLockerInnerInterceptor());
-        // 闃绘柇鎻掍欢
-        interceptor.addInnerInterceptor(blockAttackInnerInterceptor());
+        // 鍒嗛〉
+        interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.POSTGRE_SQL));
+        // 涔愯閿�
+        interceptor.addInnerInterceptor(new OptimisticLockerInnerInterceptor());
+        // 闃叉鍏ㄥ眬鍒犻櫎鎴栨洿鏂�
+        interceptor.addInnerInterceptor(new BlockAttackInnerInterceptor());
         return interceptor;
     }
 
-    /**
-     * 鍒嗛〉鎻掍欢锛岃嚜鍔ㄨ瘑鍒暟鎹簱绫诲瀷 https://baomidou.com/guide/interceptor-pagination.html
-     */
-    public PaginationInnerInterceptor paginationInnerInterceptor() {
-        PaginationInnerInterceptor paginationInnerInterceptor = new PaginationInnerInterceptor();
-        // 璁剧疆鏁版嵁搴撶被鍨嬩负mysql
-        paginationInnerInterceptor.setDbType(DbType.MYSQL);
-        // 璁剧疆鏈�澶у崟椤甸檺鍒舵暟閲忥紝榛樿 500 鏉★紝-1 涓嶅彈闄愬埗
-        paginationInnerInterceptor.setMaxLimit(-1L);
-        return paginationInnerInterceptor;
-    }
-
-    /**
-     * 涔愯閿佹彃浠� https://baomidou.com/guide/interceptor-optimistic-locker.html
-     */
-    public OptimisticLockerInnerInterceptor optimisticLockerInnerInterceptor() {
-        return new OptimisticLockerInnerInterceptor();
-    }
-
-    /**
-     * 濡傛灉鏄鍏ㄨ〃鐨勫垹闄ゆ垨鏇存柊鎿嶄綔锛屽氨浼氱粓姝㈣鎿嶄綔 https://baomidou.com/guide/interceptor-block-attack.html
-     */
-    public BlockAttackInnerInterceptor blockAttackInnerInterceptor() {
-        return new BlockAttackInnerInterceptor();
-    }
 }
\ No newline at end of file

--
Gitblit v1.9.3