| | |
| | | package com.lf.server.service.all; |
| | | |
| | | import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
| | | import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
| | | import com.lf.server.helper.AesHelper; |
| | | import com.lf.server.helper.ClassHelper; |
| | | import com.lf.server.helper.StringHelper; |
| | | import com.lf.server.mapper.all.BasicMapper; |
| | | import com.lf.server.mapper.all.GeomBaseMapper; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | |
| | | * @param name Mapper名 |
| | | * @return BaseMapper |
| | | */ |
| | | public BaseMapper getBaseMapper(String name) { |
| | | public BasicMapper getBasicMapper(String name) { |
| | | if (StringHelper.isEmpty(name)) { |
| | | return null; |
| | | } |
| | | |
| | | Object obj = ClassHelper.getBean(name.trim() + "Mapper"); |
| | | if (!(obj instanceof BaseMapper)) { |
| | | if (!(obj instanceof BasicMapper)) { |
| | | return null; |
| | | } |
| | | |
| | | return (BaseMapper) obj; |
| | | return (BasicMapper) obj; |
| | | } |
| | | |
| | | /** |
| | |
| | | /** |
| | | * 添加过滤条件 |
| | | * |
| | | * @param baseMapper 父Mapper |
| | | * @param wrapper QueryWrapper |
| | | * @param filter 原始过滤条件字符串 |
| | | * @param wrapper QueryWrapper |
| | | * @param filter 原始过滤条件字符串 |
| | | */ |
| | | public void addFilterWrapper(BaseMapper baseMapper, QueryWrapper wrapper, String filter) { |
| | | public void addFilterWrapper(QueryWrapper wrapper, String filter) { |
| | | if (StringHelper.isEmpty(filter)) { |
| | | return; |
| | | } |
| | |
| | | /** |
| | | * 添加空间过滤条件 |
| | | * |
| | | * @param baseMapper 父Mapper |
| | | * @param wrapper QueryWrapper |
| | | * @param wkt WKT(著名文本) |
| | | * @param srid 空间引用标识符 |
| | | * @param basicMapper 父Mapper |
| | | * @param wrapper QueryWrapper |
| | | * @param wkt WKT(著名文本) |
| | | * @param srid 空间引用标识符 |
| | | * @throws Exception 异常 |
| | | */ |
| | | public void addGeomWrapper(BaseMapper baseMapper, QueryWrapper wrapper, String wkt, Integer srid) throws Exception { |
| | | if (baseMapper instanceof GeomBaseMapper && !StringHelper.isEmpty(wkt) && srid != null) { |
| | | public void addGeomWrapper(BasicMapper basicMapper, QueryWrapper wrapper, String wkt, Integer srid) throws Exception { |
| | | if (basicMapper instanceof GeomBaseMapper && !StringHelper.isEmpty(wkt) && srid != null) { |
| | | wkt = AesHelper.decrypt(wkt); |
| | | wrapper.apply(String.format("ST_Intersects(geom, ST_PolygonFromText('%s', %d))", wkt, srid)); |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * 根据Mapper获取表名 |
| | | * |
| | | * @param basicMapper Mapper |
| | | * @return 表名 |
| | | */ |
| | | public String getTabName(BasicMapper basicMapper) { |
| | | Object obj = ClassHelper.createEntityByMapper(basicMapper); |
| | | if (obj == null) { |
| | | return null; |
| | | } |
| | | |
| | | return null; |
| | | } |
| | | } |