+ * 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.
+ *
+ * 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.controller;
+
+import com.elink.esua.epdc.commons.tools.page.PageData;
+import com.elink.esua.epdc.commons.tools.utils.ExcelUtils;
+import com.elink.esua.epdc.commons.tools.utils.Result;
+import com.elink.esua.epdc.commons.tools.validator.AssertUtils;
+import com.elink.esua.epdc.commons.tools.validator.ValidatorUtils;
+import com.elink.esua.epdc.commons.tools.validator.group.AddGroup;
+import com.elink.esua.epdc.commons.tools.validator.group.UpdateGroup;
+import com.elink.esua.epdc.commons.tools.validator.group.DefaultGroup;
+import com.elink.esua.epdc.dto.ResidentConfigDTO;
+import com.elink.esua.epdc.excel.ResidentConfigExcel;
+import com.elink.esua.epdc.service.ResidentConfigService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import javax.servlet.http.HttpServletResponse;
+import java.util.List;
+import java.util.Map;
+
+
+/**
+ * 居民端配置表
+ *
+ * @author elink elink@elink-cn.com
+ * @since v1.0.0 2020-06-08
+ */
+@RestController
+@RequestMapping("residentconfig")
+public class ResidentConfigController {
+
+ @Autowired
+ private ResidentConfigService residentConfigService;
+
+ @GetMapping("page")
+ public Result> page(@RequestParam Map params){
+ PageData page = residentConfigService.page(params);
+ return new Result>().ok(page);
+ }
+
+ @GetMapping("{id}")
+ public Result get(@PathVariable("id") String id){
+ ResidentConfigDTO data = residentConfigService.get(id);
+ return new Result().ok(data);
+ }
+
+ @PostMapping
+ public Result save(@RequestBody ResidentConfigDTO dto){
+ //效验数据
+ ValidatorUtils.validateEntity(dto, AddGroup.class, DefaultGroup.class);
+ residentConfigService.save(dto);
+ return new Result();
+ }
+
+ @PutMapping
+ public Result update(@RequestBody ResidentConfigDTO dto){
+ //效验数据
+ ValidatorUtils.validateEntity(dto, UpdateGroup.class, DefaultGroup.class);
+ residentConfigService.update(dto);
+ return new Result();
+ }
+
+ @DeleteMapping
+ public Result delete(@RequestBody String[] ids){
+ //效验数据
+ AssertUtils.isArrayEmpty(ids, "id");
+ residentConfigService.delete(ids);
+ return new Result();
+ }
+
+ @GetMapping("export")
+ public void export(@RequestParam Map params, HttpServletResponse response) throws Exception {
+ List list = residentConfigService.list(params);
+ ExcelUtils.exportExcelToTarget(response, null, list, ResidentConfigExcel.class);
+ }
+
+}
\ No newline at end of file
diff --git a/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/dao/ResidentConfigDao.java b/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/dao/ResidentConfigDao.java
new file mode 100644
index 00000000..61b8c3de
--- /dev/null
+++ b/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/dao/ResidentConfigDao.java
@@ -0,0 +1,63 @@
+/**
+ * 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.dao;
+
+import com.elink.esua.epdc.commons.mybatis.dao.BaseDao;
+import com.elink.esua.epdc.dto.ResidentConfigDTO;
+import com.elink.esua.epdc.dto.result.ResidentConfigResultDTO;
+import com.elink.esua.epdc.entity.ResidentConfigEntity;
+import org.apache.ibatis.annotations.Mapper;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * 居民端配置表
+ *
+ * @author elink elink@elink-cn.com
+ * @since v1.0.0 2020-06-08
+ */
+@Mapper
+public interface ResidentConfigDao extends BaseDao {
+ /**
+ * @Description pc获取列表
+ * @Author songyunpeng
+ * @Date 2020/6/8
+ * @Param [params]
+ * @return java.util.List
+ **/
+ List selectListResidentConfig(Map params);
+
+
+ /**
+ * @Description app根据类型获取居民配置列表
+ * @Author songyunpeng
+ * @Date 2020/6/8
+ * @Param [residentType]
+ * @return java.util.List
+ **/
+ List selectListResidentConfigByResidentType(String residentType);
+ /**
+ * @Description 根据类型和编码获取配置
+ * @Author songyunpeng
+ * @Date 2020/6/8
+ * @Param [residentType, residentCode]
+ * @return com.elink.esua.epdc.dto.ResidentConfigDTO
+ **/
+ ResidentConfigDTO selectResidentConfigDTOByTypeAndCode(String residentType, String residentCode);
+}
\ No newline at end of file
diff --git a/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/entity/ResidentConfigEntity.java b/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/entity/ResidentConfigEntity.java
new file mode 100644
index 00000000..c0deebb2
--- /dev/null
+++ b/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/entity/ResidentConfigEntity.java
@@ -0,0 +1,61 @@
+/**
+ * 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.entity;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.elink.esua.epdc.commons.mybatis.entity.BaseEpdcEntity;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+/**
+ * 居民端配置表
+ *
+ * @author elink elink@elink-cn.com
+ * @since v1.0.0 2020-06-08
+ */
+@Data
+@EqualsAndHashCode(callSuper=false)
+@TableName("epdc_resident_config")
+public class ResidentConfigEntity extends BaseEpdcEntity {
+
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * 配置类型
+ */
+ private String residentType;
+
+ /**
+ * 配置编码
+ */
+ private String residentCode;
+
+ /**
+ * 配置内容
+ */
+ private String residentValue;
+
+ /**
+ * 排序
+ */
+ private String sort;
+ /**
+ * 备注
+ */
+ private String remark;
+}
\ No newline at end of file
diff --git a/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/excel/ResidentConfigExcel.java b/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/excel/ResidentConfigExcel.java
new file mode 100644
index 00000000..5239e47d
--- /dev/null
+++ b/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/excel/ResidentConfigExcel.java
@@ -0,0 +1,68 @@
+/**
+ * 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.excel;
+
+import cn.afterturn.easypoi.excel.annotation.Excel;
+import lombok.Data;
+
+import java.util.Date;
+
+/**
+ * 居民端配置表
+ *
+ * @author elink elink@elink-cn.com
+ * @since v1.0.0 2020-06-08
+ */
+@Data
+public class ResidentConfigExcel {
+
+ @Excel(name = "主键")
+ private String id;
+
+ @Excel(name = "配置类型")
+ private String residentType;
+
+ @Excel(name = "配置编码")
+ private String residentCode;
+
+ @Excel(name = "配置内容")
+ private String residentValue;
+
+ @Excel(name = "排序")
+ private String sort;
+
+ @Excel(name = "删除标识 0:未删除,1:删除")
+ private String delFlag;
+
+ @Excel(name = "乐观锁")
+ private Integer revision;
+
+ @Excel(name = "创建人")
+ private String createdBy;
+
+ @Excel(name = "创建时间")
+ private Date createdTime;
+
+ @Excel(name = "更新人")
+ private String updatedBy;
+
+ @Excel(name = "更新时间")
+ private Date updatedTime;
+
+
+}
\ No newline at end of file
diff --git a/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/redis/ResidentConfigRedis.java b/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/redis/ResidentConfigRedis.java
new file mode 100644
index 00000000..dd463a49
--- /dev/null
+++ b/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/redis/ResidentConfigRedis.java
@@ -0,0 +1,47 @@
+/**
+ * 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.RedisUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+
+/**
+ * 居民端配置表
+ *
+ * @author elink elink@elink-cn.com
+ * @since v1.0.0 2020-06-08
+ */
+@Component
+public class ResidentConfigRedis {
+ @Autowired
+ private RedisUtils redisUtils;
+
+ public void delete(Object[] ids) {
+
+ }
+
+ public void set(){
+
+ }
+
+ public String get(String id){
+ return null;
+ }
+
+}
\ No newline at end of file
diff --git a/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/ResidentConfigService.java b/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/ResidentConfigService.java
new file mode 100644
index 00000000..d53db97e
--- /dev/null
+++ b/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/ResidentConfigService.java
@@ -0,0 +1,116 @@
+/**
+ * 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.
+ *
+ * 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.service.impl;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.elink.esua.epdc.commons.mybatis.service.impl.BaseServiceImpl;
+import com.elink.esua.epdc.commons.tools.constant.FieldConstant;
+import com.elink.esua.epdc.commons.tools.exception.RenException;
+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.ResidentConfigDao;
+import com.elink.esua.epdc.dto.ResidentConfigDTO;
+import com.elink.esua.epdc.dto.result.ResidentConfigResultDTO;
+import com.elink.esua.epdc.entity.ResidentConfigEntity;
+import com.elink.esua.epdc.redis.ResidentConfigRedis;
+import com.elink.esua.epdc.service.ResidentConfigService;
+import org.apache.commons.lang3.StringUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.util.Arrays;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * 居民端配置表
+ *
+ * @author elink elink@elink-cn.com
+ * @since v1.0.0 2020-06-08
+ */
+@Service
+public class ResidentConfigServiceImpl extends BaseServiceImpl implements ResidentConfigService {
+
+ @Autowired
+ private ResidentConfigRedis residentConfigRedis;
+
+ @Override
+ public PageData page(Map params) {
+ IPage page = getPage(params);
+ List list = baseDao.selectListResidentConfig(params);
+ return new PageData<>(list, page.getTotal());
+ }
+
+ @Override
+ public List list(Map params) {
+ List entityList = baseDao.selectList(getWrapper(params));
+
+ return ConvertUtils.sourceToTarget(entityList, ResidentConfigDTO.class);
+ }
+
+ private QueryWrapper getWrapper(Map params){
+ String id = (String)params.get(FieldConstant.ID_HUMP);
+
+ QueryWrapper wrapper = new QueryWrapper<>();
+ wrapper.eq(StringUtils.isNotBlank(id), FieldConstant.ID, id);
+
+ return wrapper;
+ }
+
+ @Override
+ public ResidentConfigDTO get(String id) {
+ ResidentConfigEntity entity = baseDao.selectById(id);
+ return ConvertUtils.sourceToTarget(entity, ResidentConfigDTO.class);
+ }
+
+ @Override
+ @Transactional(rollbackFor = Exception.class)
+ public void save(ResidentConfigDTO dto) {
+ //校验同意类型下 编码是否重复
+ ResidentConfigDTO residentConfigDTOByTypeAndCode = getResidentConfigDTOByTypeAndCode(dto.getResidentType(), dto.getResidentCode());
+ if(residentConfigDTOByTypeAndCode!=null){
+ throw new RenException("同一类型下编码不能重复!");
+ }
+ ResidentConfigEntity entity = ConvertUtils.sourceToTarget(dto, ResidentConfigEntity.class);
+ insert(entity);
+ }
+
+ @Override
+ @Transactional(rollbackFor = Exception.class)
+ public void update(ResidentConfigDTO dto) {
+ //校验同意类型下 编码是否重复
+ ResidentConfigDTO residentConfigDTOByTypeAndCode = getResidentConfigDTOByTypeAndCode(dto.getResidentType(), dto.getResidentCode());
+ //若是存在相同且ID不同的话代表编码重复!
+ if(residentConfigDTOByTypeAndCode!=null && !residentConfigDTOByTypeAndCode.getId().equals(dto.getId())){
+ throw new RenException("同一类型下编码不能重复!");
+ }
+ ResidentConfigEntity entity = ConvertUtils.sourceToTarget(dto, ResidentConfigEntity.class);
+ updateById(entity);
+ }
+
+ @Override
+ @Transactional(rollbackFor = Exception.class)
+ public void delete(String[] ids) {
+ // 逻辑删除(@TableLogic 注解)
+ baseDao.deleteBatchIds(Arrays.asList(ids));
+ }
+
+ @Override
+ public Result> listResidentConfig(String residentType) {
+ return new Result>().ok(baseDao.selectListResidentConfigByResidentType(residentType));
+ }
+
+ @Override
+ public ResidentConfigDTO getResidentConfigDTOByTypeAndCode(String residentType, String residentCode) {
+ return baseDao.selectResidentConfigDTOByTypeAndCode(residentType,residentCode);
+ }
+
+}
\ No newline at end of file
diff --git a/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/resources/mapper/ResidentConfigDao.xml b/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/resources/mapper/ResidentConfigDao.xml
new file mode 100644
index 00000000..0a243b2c
--- /dev/null
+++ b/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/resources/mapper/ResidentConfigDao.xml
@@ -0,0 +1,72 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file