forked from gzzfw/backEnd/gz-dyh

liyj
2024-09-27 14d54d5cdad154895c12f458a57df9850a6bd442
1、网格地域信息表
5 files added
434 ■■■■■ changed files
dyh-service/dyh-cust/src/main/java/cn/huge/module/region/dao/mapper/SyRegionGridMapper.java 64 ●●●●● patch | view | raw | blame | history
dyh-service/dyh-cust/src/main/java/cn/huge/module/region/dao/mapper/xml/SyRegionGridMapper.xml 157 ●●●●● patch | view | raw | blame | history
dyh-service/dyh-cust/src/main/java/cn/huge/module/region/domain/bo/SyRegionGridBO.java 17 ●●●●● patch | view | raw | blame | history
dyh-service/dyh-cust/src/main/java/cn/huge/module/region/domain/po/SyRegionGrid.java 83 ●●●●● patch | view | raw | blame | history
dyh-service/dyh-cust/src/main/java/cn/huge/module/region/service/SyRegionGridService.java 113 ●●●●● patch | view | raw | blame | history
dyh-service/dyh-cust/src/main/java/cn/huge/module/region/dao/mapper/SyRegionGridMapper.java
New file
@@ -0,0 +1,64 @@
package cn.huge.module.region.dao.mapper;
import cn.huge.module.region.domain.po.SyRegionGrid;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Param;
import org.springframework.data.domain.PageRequest;
import org.springframework.stereotype.Repository;
import java.util.List;
import java.util.Map;
/**
* @title: 网格化平台地域字典映射表持久层业务处理
* @Description 此处仅涉及复杂SQL操作,务必不要在此再次写单表的CRUD操作,因为mybatisPlus已经实现。
* @company: hugeinfo
* @author: liyj
* @time: 2024-09-25 18:03:50
* @version 1.0.0
*/
@Repository
public interface SyRegionGridMapper extends BaseMapper<SyRegionGrid>{
    /**
    * 更新对象
    * @param entity 对象
    */
    void updateSyRegionGrid(@Param("entity") SyRegionGrid entity);
    /**
    * 条件更新对象
    * @param entity 对象
    * @param terms 条件
    */
    void updateSyRegionGridTerms(@Param("entity") SyRegionGrid entity, @Param("terms") Map<String, Object> terms);
    /**
    * 根据编号物理删除
    * @param id 查询条件集合
    */
    void deleteSyRegionGrid(@Param("id") String id);
    /**
    * 按条件查询结果集
    * @param terms 查询条件集合
    * @return List<SyRegionGrid>
    */
    List<SyRegionGrid> listTerms(@Param("terms") Map<String, Object> terms);
    /**
    * 按条件查询实体总数
    * @param terms 查询条件集合
    * @return long
    */
    long countTerms(@Param("terms") Map<String, Object> terms);
    /**
    * 按条件查询实体分页结果集
    * @param page 分页对象
    * @param terms 查询条件集合
    * @return List<SyRegionGrid>
    */
    List<SyRegionGrid> pageTerms(@Param("page") PageRequest page, @Param("terms") Map<String, Object> terms);
}
dyh-service/dyh-cust/src/main/java/cn/huge/module/region/dao/mapper/xml/SyRegionGridMapper.xml
New file
@@ -0,0 +1,157 @@
<?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">
<!--
 * @title: 网格化平台地域字典映射表
 * @description: 自定义sql,请自行实现业务逻辑
 * @company: hugeinfo
 * @author: liyj
 * @time:2024-09-25 18:03:50
 * @version 1.0.0
-->
<mapper namespace="cn.huge.module.region.dao.mapper.SyRegionGridMapper">
    <!-- 结果集 -->
    <resultMap id="dataResult" type="cn.huge.module.region.domain.po.SyRegionGrid">
            <result property="id" column="id"/>
            <result property="thirdSysId" column="third_sys_id"/>
            <result property="thirdSysName" column="third_sys_name"/>
            <result property="thirdCode" column="third_code"/>
            <result property="thirdName" column="third_name"/>
            <result property="thirdParentId" column="third_parent_id"/>
            <result property="regionId" column="region_id"/>
            <result property="level" column="level"/>
            <result property="createTime" column="create_time"/>
            <result property="updateTime" column="update_time"/>
    </resultMap>
    <!-- 表 -->
    <sql id='table-name'>dyh_sy_region_grid</sql>
    <!-- 字段 -->
    <sql id="column-part">
        id,
        third_sys_id,
        third_sys_name,
        third_code,
        third_name,
        third_parent_id,
        region_id,
        level,
        create_time,
        update_time
    </sql>
    <!-- 更新实体字段 -->
    <sql id="set-part">
            <if test="entity.thirdSysId != null">third_sys_id = #{entity.thirdSysId},</if>
            <if test="entity.thirdSysName != null">third_sys_name = #{entity.thirdSysName},</if>
            <if test="entity.thirdCode != null">third_code = #{entity.thirdCode},</if>
            <if test="entity.thirdName != null">third_name = #{entity.thirdName},</if>
            <if test="entity.thirdParentId != null">third_parent_id = #{entity.thirdParentId},</if>
            <if test="entity.regionId != null">region_id = #{entity.regionId},</if>
            <if test="entity.level != null">level = #{entity.level},</if>
            <if test="entity.createTime != null">create_time = #{entity.createTime},</if>
            <if test="entity.updateTime != null">update_time = #{entity.updateTime}</if>
    </sql>
    <!-- 条件 -->
    <sql id="where-part">
        <if test="terms != null">
            <where>
                <if test="terms.id != null and terms.id !=''">
                    and id = #{terms.id}
                </if>
                <if test="terms.thirdSysId != null and terms.thirdSysId !=''">
                    and third_sys_id = #{terms.thirdSysId}
                </if>
                <if test="terms.thirdSysName != null and terms.thirdSysName !=''">
                    and third_sys_name = #{terms.thirdSysName}
                </if>
                <if test="terms.thirdCode != null and terms.thirdCode !=''">
                    and third_code = #{terms.thirdCode}
                </if>
                <if test="terms.thirdName != null and terms.thirdName !=''">
                    and third_name = #{terms.thirdName}
                </if>
                <if test="terms.thirdParentId != null and terms.thirdParentId !=''">
                    and third_parent_id = #{terms.thirdParentId}
                </if>
                <if test="terms.regionId != null and terms.regionId !=''">
                    and region_id = #{terms.regionId}
                </if>
                <if test="terms.level != null and terms.level !=''">
                    and level = #{terms.level}
                </if>
                <if test="terms.createTime != null and terms.createTime !=''">
                    and DATE_FORMAT(create_time,'%Y-%m-%d') = #{terms.createTime}
                </if>
                <if test="terms.createStart != null and terms.createStart !='' and terms.createEnd != null and terms.createEnd !=''">
                    and (DATE_FORMAT(create_time,'%Y-%m-%d') <![CDATA[ >= ]]> #{terms.createStart}
                        and DATE_FORMAT(create_time,'%Y-%m-%d') <![CDATA[ <= ]]> #{terms.createEnd})
                </if>
                <if test="terms.updateTime != null and terms.updateTime !=''">
                    and DATE_FORMAT(update_time,'%Y-%m-%d') = #{terms.updateTime}
                </if>
                <if test="terms.updateStart != null and terms.updateStart !='' and terms.updateEnd != null and terms.updateEnd !=''">
                    and (DATE_FORMAT(update_time,'%Y-%m-%d') <![CDATA[ >= ]]> #{terms.updateStart}
                        and DATE_FORMAT(update_time,'%Y-%m-%d') <![CDATA[ <= ]]> #{terms.updateEnd})
                </if>
            </where>
        </if>
    </sql>
    <!-- 更新对象 -->
    <update id="updateSyRegionGrid">
        update
        <include refid="table-name"/>
        <set>
            <include refid="set-part"/>
        </set>
        <where>
            id = #{entity.id}
        </where>
    </update>
    <!-- 条件更新对象 -->
    <update id="updateSyRegionGridTerms">
        update
        <include refid="table-name"/>
        <set>
            <include refid="set-part"/>
        </set>
        <include refid="where-part"/>
    </update>
    <!--  根据编号物理删除  -->
    <delete id="deleteSyRegionGrid">
        delete from
        <include refid="table-name" />
        where id = #{id}
    </delete>
    <!--  根据条件查询  -->
    <select id="listTerms" resultMap="dataResult">
        select
        <include refid="column-part"/>
        from
        <include refid="table-name" />
        <include refid="where-part"/>
    </select>
    <!--  根据条件统计  -->
    <select id="countTerms" resultType="java.lang.Long">
        select
        COUNT(1)
        from
        <include refid="table-name" />
        <include refid="where-part"/>
    </select>
    <!--  根据条件分页查询  -->
    <select id="pageTerms" resultMap="dataResult">
        SELECT
        <include refid="column-part"/>
        FROM
        <include refid="table-name" />
        <include refid="where-part"/>
        <if test="page.sort != null">
            <foreach collection="page.sort" item="s" index="index" separator="," open="order by ">
                isnull(${s.property}), ${s.property} ${s.direction}
            </foreach>
        </if>
        <if test="page.sort == null">
            order by isnull(create_time), create_time desc
        </if>
        limit #{page.offset}, #{page.size}
    </select>
</mapper>
dyh-service/dyh-cust/src/main/java/cn/huge/module/region/domain/bo/SyRegionGridBO.java
New file
@@ -0,0 +1,17 @@
package cn.huge.module.region.domain.bo;
import cn.huge.module.region.domain.po.SyRegionGrid;
/**
 * @title: 网格化平台地域字典映射表业务扩展类
 * @description: 网格化平台地域字典映射表业务扩展类
 * @company: hugeinfo
 * @author: liyj
 * @time: 2024-09-25 18:03:50
 * @version: 1.0.0
 * @see cn.huge.module.region.domain.po.SyRegionGrid
 */
public class SyRegionGridBO extends SyRegionGrid {
}
dyh-service/dyh-cust/src/main/java/cn/huge/module/region/domain/po/SyRegionGrid.java
New file
@@ -0,0 +1,83 @@
package cn.huge.module.region.domain.po;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableLogic;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import java.util.Date;
/**
 * @title: 网格化平台地域字典映射表数据库对应关系类
 * @description: PO中的属性与数据表是一一对应关系,如需根据业务处理不同,请使用BO对象。
 * @company:hugeinfo
 * @author: liyj
 * @time: 2024-09-25 18:03:50
 * @version 1.0.0
 */
@TableName(value = "dyh_sy_region_grid")
@Data
public class SyRegionGrid {
    /**
    * 主键编号
    */
    @TableId(value = "id")
    private Integer id;
    /**
    * 网格化平台编号
    */
    @TableField(value = "third_sys_id")
    private String thirdSysId;
    /**
    * 网格化平台名称
    */
    @TableField(value = "third_sys_name")
    private String thirdSysName;
    /**
    * 网格化地域编码
    */
    @TableField(value = "third_code")
    private String thirdCode;
    /**
    * 网格化地域名称
    */
    @TableField(value = "third_name")
    private String thirdName;
    /**
    * 网格化地域父级编码
    */
    @TableField(value = "third_parent_id")
    private String thirdParentId;
    /**
    * 本平台地域编码
    */
    @TableField(value = "region_id")
    private String regionId;
    /**
    * 层级
    */
    @TableField(value = "level")
    private Integer level;
    /**
    * 创建时间
    */
    @TableField(value = "create_time")
    private Date createTime;
    /**
    * 状态时间
    */
    @TableField(value = "update_time")
    private Date updateTime;
}
dyh-service/dyh-cust/src/main/java/cn/huge/module/region/service/SyRegionGridService.java
New file
@@ -0,0 +1,113 @@
package cn.huge.module.region.service;
import cn.huge.base.common.exception.ServiceException;
import cn.huge.base.common.utils.DateUtils;
import cn.huge.base.common.utils.IdUtils;
import cn.huge.module.client.api.impl.UtilsClientImpl;
import cn.huge.module.region.dao.mapper.SyRegionGridMapper;
import cn.huge.module.region.domain.po.SyRegionGrid;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.PageImpl;
import org.springframework.data.domain.PageRequest;
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.PostConstruct;
import java.util.Date;
import java.util.List;
import java.util.Map;
/**
 * @title: 网格化平台地域字典映射表业务逻辑处理
 * @Description 网格化平台地域字典映射表业务逻辑处理
 * @company hugeinfo
 * @author liyj
 * @Time 2024-09-25 18:03:50
 * @version 1.0.0
 */
@Slf4j
@Service
@Transactional(rollbackFor = Exception.class)
public class SyRegionGridService extends ServiceImpl<SyRegionGridMapper, SyRegionGrid>{
    @Autowired
    private SyRegionGridMapper mapper;
    @Autowired
    private UtilsClientImpl utilsClient;
    /**
    * 更新对象
    * @param entity 对象
    */
    public void updateSyRegionGrid(SyRegionGrid entity){
        try{
            mapper.updateSyRegionGrid(entity);
        }catch (Exception e){
            log.error("[SyRegionGridService.updateSyRegionGrid]调用失败,异常信息:"+e, e);
            throw new ServiceException("SyRegionGridService.updateSyRegionGrid", e);
        }
    }
    /**
    * 条件更新对象
    * @param entity 对象
    * @param terms 条件
    */
    public void updateSyRegionGridTerms(SyRegionGrid entity, Map<String, Object> terms){
        try{
            mapper.updateSyRegionGridTerms(entity, terms);
        }catch (Exception e){
            log.error("[SyRegionGridService.updateSyRegionGridTerms]调用失败,异常信息:"+e, e);
            throw new ServiceException("SyRegionGridService.updateSyRegionGridTerms", e);
        }
    }
    /**
    * 根据编号物理删除
    * @param id 查询条件集合
    */
    public void deleteSyRegionGrid(String id){
        try{
            mapper.deleteSyRegionGrid(id);
        }catch (Exception e){
            log.error("[SyRegionGridService.deleteSyRegionGrid]调用失败,异常信息:"+e, e);
            throw new ServiceException("SyRegionGridService.deleteSyRegionGrid", e);
        }
    }
    /**
    * 按条件查询
    * @param terms 条件
    * @return List
    */
    public List<SyRegionGrid> listTerms(Map<String, Object> terms){
        return mapper.listTerms(terms);
    }
    /**
    * 按条件统计
    * @param terms 条件
    * @return long
    */
    public long countTerms(Map<String, Object> terms){
        return mapper.countTerms(terms);
    }
    /**
    * 按条件分页查询
    * @param page 分页对象
    * @param terms 条件
    * @return Page
    */
    public Page<SyRegionGrid> pageQuery(PageRequest page, Map<String, Object> terms){
        long total = mapper.countTerms(terms);
        List<SyRegionGrid> content = mapper.pageTerms(page, terms);
        return new PageImpl<SyRegionGrid>(content, page, total);
    }
}