diff --git a/esua-epdc/epdc-admin/epdc-admin-client/src/main/java/com/elink/esua/epdc/dto/AreaDTO.java b/esua-epdc/epdc-admin/epdc-admin-client/src/main/java/com/elink/esua/epdc/dto/AreaDTO.java new file mode 100644 index 000000000..a8335772d --- /dev/null +++ b/esua-epdc/epdc-admin/epdc-admin-client/src/main/java/com/elink/esua/epdc/dto/AreaDTO.java @@ -0,0 +1,71 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

+ * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + *

+ * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.elink.esua.epdc.dto; + +import lombok.Data; + +import java.io.Serializable; + +/** + * 行政区划 + * + * @author yujintao + * @date 2019/9/3 16:22 + */ +@Data +public class AreaDTO implements Serializable { + + private static final long serialVersionUID = 9173956433924027751L; + + /** + * ID + */ + private Integer id; + /** + * 父级ID + */ + private Integer parentId; + /** + * 名称 + */ + private String name; + /** + * 简称 + */ + private String shortName; + /** + * 经度 + */ + private Float longitude; + /** + * 纬度 + */ + private Float latitude; + /** + * 等级(1省/直辖市,2地级市,3区县,4镇/街道) + */ + private Integer level; + /** + * 排序 + */ + private Integer sort; + /** + * 状态(0禁用/1启用) + */ + private Integer status; +} \ No newline at end of file diff --git a/esua-epdc/epdc-admin/epdc-admin-client/src/main/java/com/elink/esua/epdc/dto/SimpleAreaDTO.java b/esua-epdc/epdc-admin/epdc-admin-client/src/main/java/com/elink/esua/epdc/dto/SimpleAreaDTO.java new file mode 100644 index 000000000..1ab29bab7 --- /dev/null +++ b/esua-epdc/epdc-admin/epdc-admin-client/src/main/java/com/elink/esua/epdc/dto/SimpleAreaDTO.java @@ -0,0 +1,28 @@ + +package com.elink.esua.epdc.dto; + +import lombok.Data; + +import java.io.Serializable; + + +/** + * 行政区划简要信息 + * + * @author yujintao + * @date 2019/9/3 16:22 + */ +@Data +public class SimpleAreaDTO implements Serializable { + + private static final long serialVersionUID = -3243672014476007901L; + + /** + * ID + */ + private Integer id; + /** + * 名称 + */ + private String name; +} \ No newline at end of file diff --git a/esua-epdc/epdc-admin/epdc-admin-client/src/main/java/com/elink/esua/epdc/dto/SysSimpleDictDTO.java b/esua-epdc/epdc-admin/epdc-admin-client/src/main/java/com/elink/esua/epdc/dto/SysSimpleDictDTO.java new file mode 100644 index 000000000..493c0f1cf --- /dev/null +++ b/esua-epdc/epdc-admin/epdc-admin-client/src/main/java/com/elink/esua/epdc/dto/SysSimpleDictDTO.java @@ -0,0 +1,31 @@ + +package com.elink.esua.epdc.dto; + +import com.elink.esua.epdc.commons.tools.validator.group.DefaultGroup; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.NotBlank; +import java.io.Serializable; + +/** + * 数据字典简要信息 + * + * @author yujintao + * @date 2019/7/15 09:29 + */ +@Data +@ApiModel(value = "数据字典") +public class SysSimpleDictDTO implements Serializable { + + private static final long serialVersionUID = -4827806651372425347L; + + @ApiModelProperty(value = "字典名称") + @NotBlank(message = "{sysdict.name.require}", groups = DefaultGroup.class) + private String dictName; + + @ApiModelProperty(value = "字典值") + private String dictValue; + +} \ No newline at end of file diff --git a/esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/controller/AreaController.java b/esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/controller/AreaController.java new file mode 100644 index 000000000..13bb88cbd --- /dev/null +++ b/esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/controller/AreaController.java @@ -0,0 +1,42 @@ + +package com.elink.esua.epdc.controller; + +import com.elink.esua.epdc.commons.tools.utils.Result; +import com.elink.esua.epdc.dto.SimpleAreaDTO; +import com.elink.esua.epdc.service.AreaService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import java.util.List; + + +/** + * 获取行政区划 + * + * @author liuhongwei @elink-cn.com + * @since v1.0.0 2019-05-13 + */ +@RestController +@RequestMapping("area") +public class AreaController { + + @Autowired + private AreaService areaService; + + /** + * 根据区划ID,获取下属区域列表 + * + * @param areaId + * @return com.elink.esua.commons.tools.utils.Result> + * @author yujintao + * @date 2019/9/3 16:28 + */ + @GetMapping("listSimple/{areaId}") + public Result> listSimpleAreaInfo(@PathVariable("areaId") String areaId) { + return this.areaService.listSimpleAreaInfo(areaId); + } + +} \ No newline at end of file diff --git a/esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/controller/SysDictController.java b/esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/controller/SysDictController.java index 075b9d134..806100627 100644 --- a/esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/controller/SysDictController.java +++ b/esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/controller/SysDictController.java @@ -17,6 +17,7 @@ import com.elink.esua.epdc.commons.tools.validator.ValidatorUtils; import com.elink.esua.epdc.commons.tools.validator.group.DefaultGroup; import com.elink.esua.epdc.commons.tools.validator.group.UpdateGroup; import com.elink.esua.epdc.dto.SysDictDTO; +import com.elink.esua.epdc.dto.SysSimpleDictDTO; import com.elink.esua.epdc.service.SysDictService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiImplicitParam; @@ -116,4 +117,31 @@ public class SysDictController { return new Result(); } + /** + * 根据数据字典类型获取简版数据字典列表,用于页面下拉菜单 + * + * @param dictType 数据字典类型 + * @return com.elink.esua.commons.tools.utils.Result> + * @author yujintao + * @date 2019/7/15 09:33 + */ + @GetMapping("listSimple/{dictType}") + @ApiOperation("字典分类数据") + @ApiImplicitParams({ + @ApiImplicitParam(name = "dictName", value = "字典名称", paramType = "query", dataType = "String") + }) + public Result> listSimpleDictInfo(@ApiIgnore @PathVariable("dictType") String dictType) { + //字典分类数据 + return sysDictService.listSimpleDictInfo(dictType); + } + + @DeleteMapping("{id}") + @ApiOperation("删除") + @LogOperation("Delete Dict") + public Result delete(@PathVariable Long id) { + //效验数据 + sysDictService.delete(id); + return new Result(); + } + } diff --git a/esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/dao/AreaDao.java b/esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/dao/AreaDao.java new file mode 100644 index 000000000..3a9944a39 --- /dev/null +++ b/esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/dao/AreaDao.java @@ -0,0 +1,16 @@ + +package com.elink.esua.epdc.dao; + +import com.elink.esua.epdc.commons.mybatis.dao.BaseDao; +import com.elink.esua.epdc.entity.AreaEntity; +import org.apache.ibatis.annotations.Mapper; + + +/** + * @author yujintao + * @date 2019/9/3 16:54 + */ +@Mapper +public interface AreaDao extends BaseDao { + +} \ No newline at end of file diff --git a/esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/entity/AreaEntity.java b/esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/entity/AreaEntity.java new file mode 100644 index 000000000..c5d58ad5b --- /dev/null +++ b/esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/entity/AreaEntity.java @@ -0,0 +1,60 @@ +package com.elink.esua.epdc.entity; + +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.io.Serializable; + +/** + * 行政区划 + * + * @author yujintao + * @date 2019/9/3 16:25 + */ +@Data +@EqualsAndHashCode(callSuper = false) +@TableName("area") +public class AreaEntity implements Serializable { + + private static final long serialVersionUID = -2139014717755304245L; + + /** + * ID + */ + private Integer id; + /** + * 父级ID + */ + private Integer parentId; + /** + * 名称 + */ + private String name; + /** + * 简称 + */ + private String shortName; + /** + * 经度 + */ + private Float longitude; + /** + * 纬度 + */ + private Float latitude; + /** + * 等级(1省/直辖市,2地级市,3区县,4镇/街道) + */ + private Integer level; + /** + * 排序 + */ + private Integer sort; + /** + * 状态(0禁用/1启用) + */ + private Integer status; + + +} \ No newline at end of file diff --git a/esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/redis/AreaRedis.java b/esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/redis/AreaRedis.java new file mode 100644 index 000000000..2dbe2158a --- /dev/null +++ b/esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/redis/AreaRedis.java @@ -0,0 +1,67 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

+ * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + *

+ * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.elink.esua.epdc.redis; + +import com.elink.esua.epdc.commons.tools.redis.RedisKeys; +import com.elink.esua.epdc.commons.tools.redis.RedisUtils; +import com.elink.esua.epdc.dto.SimpleAreaDTO; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; + +import java.util.List; + +/** + * 区划信息表 + * + * @author yujintao yujintao@elink-cn.com + * @since v1.0.0 2019-05-08 + */ +@Component +public class AreaRedis { + + @Autowired + private RedisUtils redisUtils; + + /** + * 取出区划信息 + * + * @param areaId 区域ID + * @return java.lang.String + * @author yujintao + * @date 2019/6/13 11:05 + */ + public List getSimpleAreaList(String areaId) { + String configAreaKey = RedisKeys.getSimpleAreaKey(areaId); + return (List) redisUtils.get(configAreaKey); + } + + /** + * 缓存区划信息 + * + * @param areaId + * @param areaDtoList + * @return void + * @author yujintao + * @date 2019/6/13 11:02 + */ + public void setSimpleAreaList(String areaId, List areaDtoList) { + String configAreaKey = RedisKeys.getSimpleAreaKey(areaId); + redisUtils.set(configAreaKey, areaDtoList); + } + +} \ No newline at end of file diff --git a/esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/redis/SysDictRedis.java b/esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/redis/SysDictRedis.java new file mode 100644 index 000000000..d67e65afa --- /dev/null +++ b/esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/redis/SysDictRedis.java @@ -0,0 +1,81 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

+ * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + *

+ * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.elink.esua.epdc.redis; + +import com.elink.esua.epdc.commons.tools.redis.RedisKeys; +import com.elink.esua.epdc.commons.tools.redis.RedisUtils; +import com.elink.esua.epdc.dto.SimpleAreaDTO; +import com.elink.esua.epdc.dto.SysSimpleDictDTO; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; + +import java.util.List; + +/** + * 区划信息表 + * + * @author yujintao yujintao@elink-cn.com + * @since v1.0.0 2019-05-08 + */ +@Component +public class SysDictRedis { + + @Autowired + private RedisUtils redisUtils; + + /** + * 根据数据字典类型,从redis获取简版数据字典列表 + * + * @param dictType 数据字典类型 + * @return java.util.List + * @author yujintao + * @date 2019/7/15 09:42 + */ + public List getSimpleDictList(String dictType) { + String dictKey = RedisKeys.getSimpleDictKey(dictType); + return (List) redisUtils.get(dictKey); + } + + /** + * 根据数据字典类型,将简版数据字典列表放入缓存 + * + * @param dictType 数据字典类型 + * @param simpleDictList 列表 + * @return void + * @author yujintao + * @date 2019/7/15 09:50 + */ + public void setSimpleDictList(String dictType, List simpleDictList) { + String dictKey = RedisKeys.getSimpleDictKey(dictType); + redisUtils.set(dictKey, simpleDictList); + } + + /** + * 根据数据字典类型,从redis删除简版数据字典列表 + * + * @param dictType + * @return void + * @author yujintao + * @date 2019/7/15 10:10 + */ + public void removeSimpleDictList(String dictType) { + String dictKey = RedisKeys.getSimpleDictKey(dictType); + redisUtils.delete(dictKey); + } + +} \ No newline at end of file diff --git a/esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/service/AreaService.java b/esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/service/AreaService.java new file mode 100644 index 000000000..72a0ce258 --- /dev/null +++ b/esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/service/AreaService.java @@ -0,0 +1,29 @@ + +package com.elink.esua.epdc.service; + +import com.elink.esua.epdc.commons.mybatis.service.BaseService; +import com.elink.esua.epdc.commons.tools.utils.Result; +import com.elink.esua.epdc.dto.SimpleAreaDTO; +import com.elink.esua.epdc.entity.AreaEntity; + +import java.util.List; + +/** + * 行政区划 + * + * @author yujintao + * @date 2019/9/3 16:54 + */ +public interface AreaService extends BaseService { + + + /** + * 根据区划ID,获取下属区域列表 + * + * @param areaId + * @return com.elink.esua.commons.tools.utils.Result> + * @author yujintao + * @date 2019/6/13 10:35 + */ + Result> listSimpleAreaInfo(String areaId); +} \ No newline at end of file diff --git a/esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/service/SysDictService.java b/esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/service/SysDictService.java index e6585dde1..b6a4fe634 100644 --- a/esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/service/SysDictService.java +++ b/esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/service/SysDictService.java @@ -10,7 +10,9 @@ package com.elink.esua.epdc.service; import com.elink.esua.epdc.commons.mybatis.service.BaseService; import com.elink.esua.epdc.commons.tools.page.PageData; +import com.elink.esua.epdc.commons.tools.utils.Result; import com.elink.esua.epdc.dto.SysDictDTO; +import com.elink.esua.epdc.dto.SysSimpleDictDTO; import com.elink.esua.epdc.entity.SysDictEntity; import java.util.List; @@ -35,4 +37,24 @@ public interface SysDictService extends BaseService { void update(SysDictDTO dto); void delete(Long[] ids); + + /** + * 根据数据字典类型获取简版数据字典列表,用于页面下拉菜单 + * + * @param dictType 数据字典类型 + * @return com.elink.esua.commons.tools.utils.Result> + * @author yujintao + * @date 2019/7/15 09:33 + */ + Result> listSimpleDictInfo(String dictType); + + /** + * 根据ID删除 + * + * @param id + * @return void + * @author yujintao + * @date 2019/7/15 10:14 + */ + void delete(Long id); } diff --git a/esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/service/impl/AreaServiceImpl.java b/esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/service/impl/AreaServiceImpl.java new file mode 100644 index 000000000..7bf4a8b76 --- /dev/null +++ b/esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/service/impl/AreaServiceImpl.java @@ -0,0 +1,65 @@ + +package com.elink.esua.epdc.service.impl; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.elink.esua.epdc.commons.mybatis.service.impl.BaseServiceImpl; +import com.elink.esua.epdc.commons.tools.constant.NumConstant; +import com.elink.esua.epdc.commons.tools.utils.ConvertUtils; +import com.elink.esua.epdc.commons.tools.utils.Result; +import com.elink.esua.epdc.dao.AreaDao; +import com.elink.esua.epdc.dto.SimpleAreaDTO; +import com.elink.esua.epdc.entity.AreaEntity; +import com.elink.esua.epdc.redis.AreaRedis; +import com.elink.esua.epdc.service.AreaService; +import com.google.common.collect.Lists; +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; + + +/** + * @author yujintao + * @date 2019/9/3 16:55 + */ +@Slf4j +@Service +public class AreaServiceImpl extends BaseServiceImpl implements AreaService { + + + @Autowired + private AreaRedis areaRedis; + + @Override + public Result> listSimpleAreaInfo(String areaId) { + + List simpleAreaList = Lists.newArrayList(); + + try { + if (StringUtils.isNotBlank(areaId)) { + + List areaList = areaRedis.getSimpleAreaList(areaId); + if (null != areaList) { + return new Result>().ok(areaList); + } + + Integer pid = Integer.parseInt(areaId); + QueryWrapper arWrapper = new QueryWrapper<>(); + arWrapper.select("ID", "NAME"); + arWrapper.eq("PARENT_ID", pid); + arWrapper.eq("STATUS", NumConstant.ONE); + arWrapper.orderByAsc("LEVEL", "SORT"); + List entityList = baseDao.selectList(arWrapper); + if (!entityList.isEmpty()) { + simpleAreaList = ConvertUtils.sourceToTarget(entityList, SimpleAreaDTO.class); + areaRedis.setSimpleAreaList(areaId, simpleAreaList); + } + } + } catch (Exception e) { + log.error("获取区划信息失败,错误信息{}", e.getMessage()); + } + return new Result>().ok(simpleAreaList); + } +} \ No newline at end of file diff --git a/esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/service/impl/SysDictServiceImpl.java b/esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/service/impl/SysDictServiceImpl.java index bcab87744..5c6f0d565 100644 --- a/esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/service/impl/SysDictServiceImpl.java +++ b/esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/service/impl/SysDictServiceImpl.java @@ -15,11 +15,17 @@ import com.elink.esua.epdc.commons.mybatis.service.impl.BaseServiceImpl; import com.elink.esua.epdc.commons.tools.constant.Constant; import com.elink.esua.epdc.commons.tools.page.PageData; import com.elink.esua.epdc.commons.tools.utils.ConvertUtils; +import com.elink.esua.epdc.commons.tools.utils.Result; import com.elink.esua.epdc.dao.SysDictDao; import com.elink.esua.epdc.dto.SysDictDTO; +import com.elink.esua.epdc.dto.SysSimpleDictDTO; import com.elink.esua.epdc.entity.SysDictEntity; +import com.elink.esua.epdc.redis.SysDictRedis; import com.elink.esua.epdc.service.SysDictService; +import com.google.common.collect.Lists; +import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -32,9 +38,13 @@ import java.util.Map; * @author Mark sunlightcs@gmail.com * @since 1.0.0 */ +@Slf4j @Service public class SysDictServiceImpl extends BaseServiceImpl implements SysDictService { + @Autowired + private SysDictRedis dictRedis; + @Override public PageData page(Map params) { QueryWrapper wrapper = getWrapper(params); @@ -82,16 +92,16 @@ public class SysDictServiceImpl extends BaseServiceImpl> listSimpleDictInfo(String dictType) { + List simpleDictList = Lists.newArrayList(); + + try { + if (StringUtils.isNotBlank(dictType)) { + + List dictList = dictRedis.getSimpleDictList(dictType); + if (null != dictList) { + return new Result>().ok(dictList); + } + + QueryWrapper sdWrapper = new QueryWrapper<>(); + sdWrapper.select("dict_value", "dict_name"); + sdWrapper.eq("dict_type", dictType); + sdWrapper.ne("dict_value", ""); + sdWrapper.isNotNull("dict_value"); + sdWrapper.orderByAsc("SORT", Constant.CREATE_DATE); + List entityList = baseDao.selectList(sdWrapper); + if (!entityList.isEmpty()) { + simpleDictList = ConvertUtils.sourceToTarget(entityList, SysSimpleDictDTO.class); + dictRedis.setSimpleDictList(dictType, simpleDictList); + } + } + } catch (Exception e) { + log.error("获取数据字典列表失败,错误信息{}", e.getMessage()); + } + return new Result>().ok(simpleDictList); + } } diff --git a/esua-epdc/epdc-commons/epdc-commons-mybatis/src/main/java/com/elink/esua/epdc/commons/mybatis/service/impl/BaseServiceImpl.java b/esua-epdc/epdc-commons/epdc-commons-mybatis/src/main/java/com/elink/esua/epdc/commons/mybatis/service/impl/BaseServiceImpl.java index 461940eeb..bc7f6b44f 100644 --- a/esua-epdc/epdc-commons/epdc-commons-mybatis/src/main/java/com/elink/esua/epdc/commons/mybatis/service/impl/BaseServiceImpl.java +++ b/esua-epdc/epdc-commons/epdc-commons-mybatis/src/main/java/com/elink/esua/epdc/commons/mybatis/service/impl/BaseServiceImpl.java @@ -12,11 +12,11 @@ import com.baomidou.mybatisplus.core.conditions.Wrapper; import com.baomidou.mybatisplus.core.enums.SqlMethod; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.metadata.OrderItem; import com.baomidou.mybatisplus.core.toolkit.*; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.toolkit.SqlHelper; import com.elink.esua.epdc.commons.mybatis.service.BaseService; -import com.elink.esua.epdc.commons.mybatis.service.BaseService; import com.elink.esua.epdc.commons.mybatis.utils.EntityUtils; import com.elink.esua.epdc.commons.tools.constant.Constant; import com.elink.esua.epdc.commons.tools.page.PageData; @@ -39,16 +39,53 @@ import java.util.Map; * @since 1.0.0 */ public abstract class BaseServiceImpl, T> implements BaseService { + @Autowired protected M baseDao; /** * 获取分页对象 - * @param params 分页查询参数 - * @param defaultOrderField 默认排序字段 - * @param isAsc 排序方式 + * + * @param params 分页查询参数 + * @param defaultOrderField 默认排序字段 + * @param isAsc 排序方式 */ protected IPage getPage(Map params, String defaultOrderField, boolean isAsc) { + Page page = initPage(params); + + //默认排序 + if (StringUtils.isNotEmpty(defaultOrderField)) { + if (isAsc) { + page.addOrder(OrderItem.asc(defaultOrderField)); + } else { + page.addOrder(OrderItem.desc(defaultOrderField)); + } + } + return page; + } + + /** + * 获取分页对象 + * + * @param params 分页查询参数 + * @return com.baomidou.mybatisplus.core.metadata.IPage + * @author yujintao + * @date 2019/6/12 10:57 + */ + protected IPage getPage(Map params) { + Page page = initPage(params); + return page; + } + + /** + * 初始化分页对象 + * + * @param params 分页查询参数 + * @return com.baomidou.mybatisplus.core.metadata.IPage + * @author yujintao + * @date 2019/6/12 10:57 + */ + private Page initPage(Map params) { //分页参数 long curPage = 1; long limit = 10; @@ -73,19 +110,12 @@ public abstract class BaseServiceImpl, T> implements Bas //前端字段排序 if (StringUtils.isNotEmpty(orderField) && StringUtils.isNotEmpty(order)) { if (Constant.ASC.equalsIgnoreCase(order)) { - return page.setAsc(orderField); + return page.addOrder(OrderItem.asc(orderField)); } else { - return page.setDesc(orderField); + return page.addOrder(OrderItem.desc(orderField)); } } - //默认排序 - if (isAsc) { - page.setAsc(defaultOrderField); - } else { - page.setDesc(defaultOrderField); - } - return page; } @@ -113,9 +143,9 @@ public abstract class BaseServiceImpl, T> implements Bas /** * 逻辑删除 + * * @param ids ids * @param entity 实体 - * * @return boolean */ @Override @@ -156,6 +186,7 @@ public abstract class BaseServiceImpl, T> implements Bas /** * 释放sqlSession + * * @param sqlSession session */ protected void closeSqlSession(SqlSession sqlSession) { diff --git a/esua-epdc/epdc-commons/epdc-commons-tools/src/main/java/com/elink/esua/epdc/commons/tools/redis/RedisKeys.java b/esua-epdc/epdc-commons/epdc-commons-tools/src/main/java/com/elink/esua/epdc/commons/tools/redis/RedisKeys.java index ae522f7c5..494c8c448 100644 --- a/esua-epdc/epdc-commons/epdc-commons-tools/src/main/java/com/elink/esua/epdc/commons/tools/redis/RedisKeys.java +++ b/esua-epdc/epdc-commons/epdc-commons-tools/src/main/java/com/elink/esua/epdc/commons/tools/redis/RedisKeys.java @@ -73,4 +73,28 @@ public class RedisKeys { public static String getCpUserKey(String id) { return "sys:security:cpuser:" + id; } + + /** + * 获取简要区划信息key + * + * @param areaId 行政区划ID + * @return java.lang.String + * @author yujintao + * @date 2019/9/3 16:28 + */ + public static String getSimpleAreaKey(String areaId) { + return "epdc:config:simple:area:" + areaId; + } + + /** + * 获取简要数据字典key + * + * @param dictType 数据字典类型 + * @return java.lang.String + * @author yujintao + * @date 2019/9/3 16:28 + */ + public static String getSimpleDictKey(String dictType) { + return "epdc:config:simple:dict:" + dictType; + } }