Browse Source

字典和行政区划模块,新增公用方法;公用实现类添加方法;

dev
yujintao 6 years ago
parent
commit
e082698ce6
  1. 71
      esua-epdc/epdc-admin/epdc-admin-client/src/main/java/com/elink/esua/epdc/dto/AreaDTO.java
  2. 28
      esua-epdc/epdc-admin/epdc-admin-client/src/main/java/com/elink/esua/epdc/dto/SimpleAreaDTO.java
  3. 31
      esua-epdc/epdc-admin/epdc-admin-client/src/main/java/com/elink/esua/epdc/dto/SysSimpleDictDTO.java
  4. 42
      esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/controller/AreaController.java
  5. 28
      esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/controller/SysDictController.java
  6. 16
      esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/dao/AreaDao.java
  7. 60
      esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/entity/AreaEntity.java
  8. 67
      esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/redis/AreaRedis.java
  9. 81
      esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/redis/SysDictRedis.java
  10. 29
      esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/service/AreaService.java
  11. 22
      esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/service/SysDictService.java
  12. 65
      esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/service/impl/AreaServiceImpl.java
  13. 50
      esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/service/impl/SysDictServiceImpl.java
  14. 59
      esua-epdc/epdc-commons/epdc-commons-mybatis/src/main/java/com/elink/esua/epdc/commons/mybatis/service/impl/BaseServiceImpl.java
  15. 24
      esua-epdc/epdc-commons/epdc-commons-tools/src/main/java/com/elink/esua/epdc/commons/tools/redis/RedisKeys.java

71
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
* <p>
* 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.
* <p>
* 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.
* <p>
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
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;
}

28
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;
}

31
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;
}

42
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<java.util.List < com.elink.esua.dto.AreaDTO>>
* @author yujintao
* @date 2019/9/3 16:28
*/
@GetMapping("listSimple/{areaId}")
public Result<List<SimpleAreaDTO>> listSimpleAreaInfo(@PathVariable("areaId") String areaId) {
return this.areaService.listSimpleAreaInfo(areaId);
}
}

28
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<java.util.List < com.elink.esua.dto.SysSimpleDictDTO>>
* @author yujintao
* @date 2019/7/15 09:33
*/
@GetMapping("listSimple/{dictType}")
@ApiOperation("字典分类数据")
@ApiImplicitParams({
@ApiImplicitParam(name = "dictName", value = "字典名称", paramType = "query", dataType = "String")
})
public Result<List<SysSimpleDictDTO>> 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();
}
}

16
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<AreaEntity> {
}

60
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;
}

67
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
* <p>
* 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.
* <p>
* 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.
* <p>
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
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<SimpleAreaDTO> getSimpleAreaList(String areaId) {
String configAreaKey = RedisKeys.getSimpleAreaKey(areaId);
return (List<SimpleAreaDTO>) redisUtils.get(configAreaKey);
}
/**
* 缓存区划信息
*
* @param areaId
* @param areaDtoList
* @return void
* @author yujintao
* @date 2019/6/13 11:02
*/
public void setSimpleAreaList(String areaId, List<SimpleAreaDTO> areaDtoList) {
String configAreaKey = RedisKeys.getSimpleAreaKey(areaId);
redisUtils.set(configAreaKey, areaDtoList);
}
}

81
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
* <p>
* 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.
* <p>
* 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.
* <p>
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
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<com.elink.esua.dto.SysSimpleDictDTO>
* @author yujintao
* @date 2019/7/15 09:42
*/
public List<SysSimpleDictDTO> getSimpleDictList(String dictType) {
String dictKey = RedisKeys.getSimpleDictKey(dictType);
return (List<SysSimpleDictDTO>) redisUtils.get(dictKey);
}
/**
* 根据数据字典类型将简版数据字典列表放入缓存
*
* @param dictType 数据字典类型
* @param simpleDictList 列表
* @return void
* @author yujintao
* @date 2019/7/15 09:50
*/
public void setSimpleDictList(String dictType, List<SysSimpleDictDTO> 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);
}
}

29
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<AreaEntity> {
/**
* 根据区划ID获取下属区域列表
*
* @param areaId
* @return com.elink.esua.commons.tools.utils.Result<java.util.List < com.elink.esua.dto.AreaDTO>>
* @author yujintao
* @date 2019/6/13 10:35
*/
Result<List<SimpleAreaDTO>> listSimpleAreaInfo(String areaId);
}

22
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<SysDictEntity> {
void update(SysDictDTO dto);
void delete(Long[] ids);
/**
* 根据数据字典类型获取简版数据字典列表用于页面下拉菜单
*
* @param dictType 数据字典类型
* @return com.elink.esua.commons.tools.utils.Result<java.util.List < com.elink.esua.dto.SysSimpleDictDTO>>
* @author yujintao
* @date 2019/7/15 09:33
*/
Result<List<SysSimpleDictDTO>> listSimpleDictInfo(String dictType);
/**
* 根据ID删除
*
* @param id
* @return void
* @author yujintao
* @date 2019/7/15 10:14
*/
void delete(Long id);
}

65
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<AreaDao, AreaEntity> implements AreaService {
@Autowired
private AreaRedis areaRedis;
@Override
public Result<List<SimpleAreaDTO>> listSimpleAreaInfo(String areaId) {
List<SimpleAreaDTO> simpleAreaList = Lists.newArrayList();
try {
if (StringUtils.isNotBlank(areaId)) {
List<SimpleAreaDTO> areaList = areaRedis.getSimpleAreaList(areaId);
if (null != areaList) {
return new Result<List<SimpleAreaDTO>>().ok(areaList);
}
Integer pid = Integer.parseInt(areaId);
QueryWrapper<AreaEntity> arWrapper = new QueryWrapper<>();
arWrapper.select("ID", "NAME");
arWrapper.eq("PARENT_ID", pid);
arWrapper.eq("STATUS", NumConstant.ONE);
arWrapper.orderByAsc("LEVEL", "SORT");
List<AreaEntity> 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<List<SimpleAreaDTO>>().ok(simpleAreaList);
}
}

50
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<SysDictDao, SysDictEntity> implements SysDictService {
@Autowired
private SysDictRedis dictRedis;
@Override
public PageData<SysDictDTO> page(Map<String, Object> params) {
QueryWrapper<SysDictEntity> wrapper = getWrapper(params);
@ -82,16 +92,16 @@ public class SysDictServiceImpl extends BaseServiceImpl<SysDictDao, SysDictEntit
@Transactional(rollbackFor = Exception.class)
public void save(SysDictDTO dto) {
SysDictEntity entity = ConvertUtils.sourceToTarget(dto, SysDictEntity.class);
insert(entity);
dictRedis.removeSimpleDictList(entity.getDictType());
}
@Override
@Transactional(rollbackFor = Exception.class)
public void update(SysDictDTO dto) {
SysDictEntity entity = ConvertUtils.sourceToTarget(dto, SysDictEntity.class);
updateById(entity);
dictRedis.removeSimpleDictList(entity.getDictType());
}
@Override
@ -101,4 +111,40 @@ public class SysDictServiceImpl extends BaseServiceImpl<SysDictDao, SysDictEntit
logicDelete(ids, SysDictEntity.class);
}
@Override
public void delete(Long id) {
SysDictDTO dto = this.get(id);
dictRedis.removeSimpleDictList(dto.getDictType());
logicDelete(new Long[]{id}, SysDictEntity.class);
}
@Override
public Result<List<SysSimpleDictDTO>> listSimpleDictInfo(String dictType) {
List<SysSimpleDictDTO> simpleDictList = Lists.newArrayList();
try {
if (StringUtils.isNotBlank(dictType)) {
List<SysSimpleDictDTO> dictList = dictRedis.getSimpleDictList(dictType);
if (null != dictList) {
return new Result<List<SysSimpleDictDTO>>().ok(dictList);
}
QueryWrapper<SysDictEntity> 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<SysDictEntity> 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<List<SysSimpleDictDTO>>().ok(simpleDictList);
}
}

59
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<M extends BaseMapper<T>, T> implements BaseService<T> {
@Autowired
protected M baseDao;
/**
* 获取分页对象
* @param params 分页查询参数
* @param defaultOrderField 默认排序字段
* @param isAsc 排序方式
*
* @param params 分页查询参数
* @param defaultOrderField 默认排序字段
* @param isAsc 排序方式
*/
protected IPage<T> getPage(Map<String, Object> params, String defaultOrderField, boolean isAsc) {
Page<T> 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<T>
* @author yujintao
* @date 2019/6/12 10:57
*/
protected <T> IPage<T> getPage(Map<String, Object> params) {
Page<T> page = initPage(params);
return page;
}
/**
* 初始化分页对象
*
* @param params 分页查询参数
* @return com.baomidou.mybatisplus.core.metadata.IPage<T>
* @author yujintao
* @date 2019/6/12 10:57
*/
private <T> Page<T> initPage(Map<String, Object> params) {
//分页参数
long curPage = 1;
long limit = 10;
@ -73,19 +110,12 @@ public abstract class BaseServiceImpl<M extends BaseMapper<T>, 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<M extends BaseMapper<T>, T> implements Bas
/**
* 逻辑删除
*
* @param ids ids
* @param entity 实体
*
* @return boolean
*/
@Override
@ -156,6 +186,7 @@ public abstract class BaseServiceImpl<M extends BaseMapper<T>, T> implements Bas
/**
* 释放sqlSession
*
* @param sqlSession session
*/
protected void closeSqlSession(SqlSession sqlSession) {

24
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;
}
}

Loading…
Cancel
Save