Merge branch 'master' of http://114.132.189.42:9002/r/zd-after
¶Ô±ÈÐÂÎļþ |
| | |
| | | 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)); |
| | | } |
| | | |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | 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 { |
| | | |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.ruoyi.basic.dto; |
| | | |
| | | import com.ruoyi.basic.entity.CoalInfo; |
| | | import lombok.Data; |
| | | |
| | | @Data |
| | | public class CoalInfoDto extends CoalInfo { |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | 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; |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | 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; |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | 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> { |
| | | |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | 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> { |
| | | |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | 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); |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | 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> { |
| | | |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | 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); |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | 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 { |
| | | |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | -- å建 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 'è®°å½æåæ´æ°æ¶é´'; |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <?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> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <?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> |
| | |
| | | <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> |
| | |
| | | <artifactId>basic-server</artifactId> |
| | | </dependency> |
| | | |
| | | <dependency> |
| | | <groupId>com.ruoyi</groupId> |
| | | <artifactId>ruoyi-common</artifactId> |
| | | </dependency> |
| | | |
| | | <!-- 宿¶ä»»å¡--> |
| | | <dependency> |
| | | <groupId>com.ruoyi</groupId> |
| | |
| | | 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"; |
| | |
| | | |
| | | 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(); |
| | |
| | | // 代ç çææ ¸å¿é
ç½® |
| | | 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") // æ³¨éæ¥ææ ¼å¼ |
| | |
| | | |
| | | // å®ä½ç±»é
ç½® |
| | | .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) // 表å转驼峰 |
| | |
| | | "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); // 表å |
| | |
| | | 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); |
| | | } |
| | |
| | | <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> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | 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=å·²å é¤'; |
| | | |
| | |
| | | <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> |
| | | <!-- <!– å¯éï¼æå¨å¼å
¥ extension æ¨¡å –>--> |
| | | <!-- <dependency>--> |
| | | <!-- <groupId>com.baomidou</groupId>--> |
| | | <!-- <artifactId>mybatis-plus-extension</artifactId>--> |
| | | <!-- <version>3.5.12</version>--> |
| | | <!-- </dependency>--> |
| | | |
| | | <!-- ç³»ç»æ¨¡å--> |
| | | <dependency> |
| | |
| | | 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(); |
| | | } |
| | | } |