chenhj
5 天以前 6e93d9940740491dababd1e2bfff8fd9a88bd9ea
Merge branch 'master' of http://114.132.189.42:9002/r/zd-after
已修改6个文件
已添加15个文件
632 ■■■■■ 文件已修改
basic-server/src/main/java/com/ruoyi/basic/controller/CoalInfoController.java 56 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
basic-server/src/main/java/com/ruoyi/basic/controller/CustomerController.java 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
basic-server/src/main/java/com/ruoyi/basic/dto/CoalInfoDto.java 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
basic-server/src/main/java/com/ruoyi/basic/entity/CoalInfo.java 41 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
basic-server/src/main/java/com/ruoyi/basic/entity/Customer.java 104 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
basic-server/src/main/java/com/ruoyi/basic/mapper/CoalInfoMapper.java 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
basic-server/src/main/java/com/ruoyi/basic/mapper/CustomerMapper.java 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
basic-server/src/main/java/com/ruoyi/basic/service/CoalInfoService.java 24 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
basic-server/src/main/java/com/ruoyi/basic/service/CustomerService.java 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
basic-server/src/main/java/com/ruoyi/basic/service/impl/CoalInfoServiceImpl.java 67 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
basic-server/src/main/java/com/ruoyi/basic/service/impl/CustomerServiceImpl.java 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
basic-server/src/main/resources/db/migration/postgresql/V20250603102701__create_table_coal_info.sql 31 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
basic-server/src/main/resources/mapper/CoalInfoMapper.xml 28 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
basic-server/src/main/resources/mapper/CustomerMapper.xml 37 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pom.xml 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-admin/pom.xml 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-admin/src/main/java/com/ruoyi/PlusCodeGenerator.java 18 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-common/pom.xml 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-common/src/main/resources/db/migration/postgresql/V20250530171701__create_table_customer.sql 47 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-framework/pom.xml 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-framework/src/main/java/com/ruoyi/framework/config/MybatisPlusConfig.java 47 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
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));
    }
}
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 {
}
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 {
}
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;
}
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;
        /**
        * çº³ç¨Žäººè¯†åˆ«å·ï¼Œä¸­å›½å¤§é™†ä¸ºç»Ÿä¸€ç¤¾ä¼šä¿¡ç”¨ä»£ç ï¼Œä¸èƒ½ä¸ºç©º
        */
            @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;
        /**
        * æœ€åŽä¿®æ”¹è¯¥è®°å½•的用户ID,默认0
        */
            @TableField(value = "update_user")
        private Long updateUser;
}
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> {
}
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> {
}
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);
}
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> {
}
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);
    }
}
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 {
    }
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 '记录最后更新时间';
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>
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>
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代码生成器-->
        <dependency>
            <groupId>com.baomidou</groupId>
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>
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"; // è¡¨åï¼Œå¤šä¸ªè¡¨é€—号隔开
        // ä»£ç è¾“出路径配置
        String outputBasePath = Paths.get(projectPath, path, "src", "main", "java").toString();
@@ -48,7 +48,7 @@
        // ä»£ç ç”Ÿæˆæ ¸å¿ƒé…ç½®
        FastAutoGenerator.create(DB_URL, DB_USERNAME, DB_PASSWORD)
                .globalConfig(builder -> {
                    builder.author("chenhj") // ä½œè€…信息
                    builder.author("ld") // ä½œè€…信息
                            .outputDir(outputBasePath) // ä»£ç è¾“出目录
                            .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);
            }
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>
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 '纳税人识别号,中国大陆为统一社会信用代码,不能为空';
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 '最后修改该记录的用户ID,默认0';
COMMENT ON COLUMN customer.deleted IS '软删除标志,0=未删除,1=已删除';
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>
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();
    }
}