dyh-service/dyh-cust/src/main/java/cn/huge/module/region/dao/mapper/SyRegionGridMapper.java | ●●●●● patch | view | raw | blame | history | |
dyh-service/dyh-cust/src/main/java/cn/huge/module/region/dao/mapper/xml/SyRegionGridMapper.xml | ●●●●● patch | view | raw | blame | history | |
dyh-service/dyh-cust/src/main/java/cn/huge/module/region/domain/bo/SyRegionGridBO.java | ●●●●● patch | view | raw | blame | history | |
dyh-service/dyh-cust/src/main/java/cn/huge/module/region/domain/po/SyRegionGrid.java | ●●●●● patch | view | raw | blame | history | |
dyh-service/dyh-cust/src/main/java/cn/huge/module/region/service/SyRegionGridService.java | ●●●●● 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); } }