Browse Source

Merge branch 'dev_0814' of http://121.42.41.42:7070/r/esua-epdc-cloud into dev_0814

dev
管理员 6 years ago
parent
commit
6feb98f3c6
  1. 38
      esua-epdc/epdc-admin/epdc-admin-client/src/main/java/com/elink/esua/epdc/dto/SysSimpleDeptDTO.java
  2. 2
      esua-epdc/epdc-admin/epdc-admin-server/pom.xml
  3. 21
      esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/controller/AreaController.java
  4. 9
      esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/controller/SysDeptController.java
  5. 13
      esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/dao/SysDeptDao.java
  6. 12
      esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/service/AreaService.java
  7. 19
      esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/service/SysDeptService.java
  8. 15
      esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/service/impl/AreaServiceImpl.java
  9. 41
      esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/service/impl/SysDeptServiceImpl.java
  10. 12
      esua-epdc/epdc-admin/epdc-admin-server/src/main/resources/mapper/SysDeptDao.xml
  11. 2
      esua-epdc/epdc-auth/pom.xml
  12. 3
      esua-epdc/epdc-commons/epdc-commons-tools/src/main/java/com/elink/esua/epdc/commons/tools/constant/FieldConstant.java
  13. 4
      esua-epdc/epdc-gateway/pom.xml
  14. 8
      esua-epdc/epdc-module/epdc-events/epdc-events-client/pom.xml
  15. 80
      esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/constant/EventIssueItemState.java
  16. 91
      esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/dto/category/EventCategoryDTO.java
  17. 52
      esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/dto/events/EpdcEventsDTO.java
  18. 37
      esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/dto/events/EpdcEventsDetailDTO.java
  19. 32
      esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/dto/events/form/EpdcEventsReviewFormDTO.java
  20. 167
      esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/dto/issue/IssueDTO.java
  21. 177
      esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/dto/item/ItemDTO.java
  22. 10
      esua-epdc/epdc-module/epdc-events/epdc-events-server/pom.xml
  23. 95
      esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/category/controller/EventCategoryController.java
  24. 33
      esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/category/dao/EventCategoryDao.java
  25. 61
      esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/category/entity/EventCategoryEntity.java
  26. 68
      esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/category/excel/EventCategoryExcel.java
  27. 47
      esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/category/redis/EventCategoryRedis.java
  28. 96
      esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/category/service/EventCategoryService.java
  29. 106
      esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/category/service/impl/EventCategoryServiceImpl.java
  30. 117
      esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/events/controller/EpdcEventsController.java
  31. 42
      esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/events/dao/EpdcEventsDao.java
  32. 165
      esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/events/entity/EpdcEventsEntity.java
  33. 81
      esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/events/excel/EpdcEventsExcel.java
  34. 47
      esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/events/redis/EpdcEventsRedis.java
  35. 66
      esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/events/service/EpdcEventsService.java
  36. 179
      esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/events/service/impl/EpdcEventsServiceImpl.java
  37. 94
      esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/issue/controller/IssueController.java
  38. 33
      esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/issue/dao/IssueDao.java
  39. 33
      esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/issue/dao/IssueHandleDao.java
  40. 137
      esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/issue/entity/IssueEntity.java
  41. 56
      esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/issue/entity/IssueHandleEntity.java
  42. 114
      esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/issue/excel/IssueExcel.java
  43. 47
      esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/issue/redis/IssueRedis.java
  44. 40
      esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/issue/service/IssueHandleService.java
  45. 95
      esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/issue/service/IssueService.java
  46. 45
      esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/issue/service/impl/IssueHandleServiceImpl.java
  47. 104
      esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/issue/service/impl/IssueServiceImpl.java
  48. 94
      esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/controller/ItemController.java
  49. 33
      esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/dao/ItemDao.java
  50. 147
      esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/entity/ItemEntity.java
  51. 120
      esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/excel/ItemExcel.java
  52. 47
      esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/redis/ItemRedis.java
  53. 95
      esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/service/ItemService.java
  54. 104
      esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/service/impl/ItemServiceImpl.java
  55. 4
      esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/resources/application.yml
  56. 21
      esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/resources/mapper/category/EventCategoryDao.xml
  57. 22
      esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/resources/mapper/events/EpdcEventsDao.xml
  58. 6
      esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/resources/mapper/issue/IssueDao.xml
  59. 6
      esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/resources/mapper/issue/IssueHandleDao.xml
  60. 38
      esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/resources/mapper/item/ItemDao.xml
  61. 10
      esua-epdc/epdc-module/epdc-news/epdc-news-client/pom.xml
  62. 89
      esua-epdc/epdc-module/epdc-news/epdc-news-client/src/main/java/com/elink/esua/epdc/dto/NewsCategoryDTO.java
  63. 101
      esua-epdc/epdc-module/epdc-news/epdc-news-client/src/main/java/com/elink/esua/epdc/dto/NoticeDTO.java
  64. 12
      esua-epdc/epdc-module/epdc-news/epdc-news-server/pom.xml
  65. 106
      esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/java/com/elink/esua/epdc/controller/NewsCategoryController.java
  66. 94
      esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/java/com/elink/esua/epdc/controller/NoticeController.java
  67. 39
      esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/java/com/elink/esua/epdc/dao/NewsCategoryDao.java
  68. 33
      esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/java/com/elink/esua/epdc/dao/NoticeDao.java
  69. 61
      esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/java/com/elink/esua/epdc/entity/NewsCategoryEntity.java
  70. 73
      esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/java/com/elink/esua/epdc/entity/NoticeEntity.java
  71. 68
      esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/java/com/elink/esua/epdc/excel/NewsCategoryExcel.java
  72. 71
      esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/java/com/elink/esua/epdc/excel/NoticeExcel.java
  73. 47
      esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/java/com/elink/esua/epdc/redis/NewsCategoryRedis.java
  74. 47
      esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/java/com/elink/esua/epdc/redis/NoticeRedis.java
  75. 105
      esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/java/com/elink/esua/epdc/service/NewsCategoryService.java
  76. 95
      esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/java/com/elink/esua/epdc/service/NoticeService.java
  77. 115
      esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/java/com/elink/esua/epdc/service/impl/NewsCategoryServiceImpl.java
  78. 117
      esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/java/com/elink/esua/epdc/service/impl/NoticeServiceImpl.java
  79. 41
      esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/resources/mapper/NewsCategoryDao.xml
  80. 2
      esua-epdc/epdc-module/epdc-user/epdc-user-client/src/main/java/com/elink/esua/epdc/dto/PartyMembersDTO.java
  81. 6
      esua-epdc/epdc-module/epdc-user/epdc-user-client/src/main/java/com/elink/esua/epdc/dto/UserDTO.java
  82. 2
      esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/controller/PartyMembersController.java
  83. 15
      esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/controller/UserController.java
  84. 7
      esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/dao/PartyTagRelationDao.java
  85. 5
      esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/service/PartyTagRelationService.java
  86. 2
      esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/service/UserService.java
  87. 15
      esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/service/impl/PartyMembersServiceImpl.java
  88. 5
      esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/service/impl/PartyTagRelationServiceImpl.java
  89. 24
      esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/service/impl/UserServiceImpl.java
  90. 3
      esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/resources/mapper/PartyMembersDao.xml
  91. 23
      esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/resources/mapper/PartyTagRelationDao.xml
  92. 47
      renren-cloud-generator/src/main/java/io/renren/utils/GenUtils.java

38
esua-epdc/epdc-admin/epdc-admin-client/src/main/java/com/elink/esua/epdc/dto/SysSimpleDeptDTO.java

@ -0,0 +1,38 @@
/**
* Copyright (c) 2018 人人开源 All rights reserved.
* <p>
* https://www.renren.io
* <p>
* 版权所有侵权必究
*/
package com.elink.esua.epdc.dto;
import io.swagger.annotations.ApiModel;
import lombok.Data;
import java.io.Serializable;
/**
* 简要部门信息
*
* @author Mark sunlightcs@gmail.com
* @since 1.0.0
*/
@Data
@ApiModel(value = "部门管理")
public class SysSimpleDeptDTO implements Serializable {
private static final long serialVersionUID = -6055457020846692183L;
/**
* 部门ID
*/
private Long id;
/**
* 部门名称
*/
private String name;
}

2
esua-epdc/epdc-admin/epdc-admin-server/pom.xml

@ -84,7 +84,7 @@
<spring.profiles.active>dev</spring.profiles.active>
<!-- nacos -->
<nacos.register-enabled>true</nacos.register-enabled>
<nacos.register-enabled>false</nacos.register-enabled>
<nacos.server-addr>47.104.224.45:8848</nacos.server-addr>
<spring.zipkin.base-url>http://localhost:9411</spring.zipkin.base-url>

21
esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/controller/AreaController.java

@ -1,16 +1,16 @@
package com.elink.esua.epdc.controller;
import com.elink.esua.epdc.commons.mybatis.annotation.DataFilter;
import com.elink.esua.epdc.commons.tools.utils.Result;
import com.elink.esua.epdc.dto.SimpleAreaDTO;
import com.elink.esua.epdc.dto.SysSimpleDeptDTO;
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 org.springframework.web.bind.annotation.*;
import java.util.List;
import java.util.Map;
/**
@ -39,4 +39,17 @@ public class AreaController {
return this.areaService.listSimpleAreaInfo(areaId);
}
/**
* 数据权限控制用户可操作的部门用于下拉菜单显示
*
* @param params
* @return com.elink.esua.epdc.commons.tools.utils.Result<java.util.List < com.elink.esua.epdc.dto.SysSimpleDeptDTO>>
* @author yujintao
* @date 2019/9/4 19:21
*/
@GetMapping("listSimpleDept")
@DataFilter(tableAlias = "temp", deptId = "id", prefix = "WHERE")
public Result<List<SysSimpleDeptDTO>> listSimpleDeptInfo(@RequestParam Map<String, Object> params) {
return this.areaService.listSimpleDeptInfo(params);
}
}

9
esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/controller/SysDeptController.java

@ -16,6 +16,7 @@ import com.elink.esua.epdc.commons.tools.validator.group.AddGroup;
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.SysDeptDTO;
import com.elink.esua.epdc.dto.SysSimpleDeptDTO;
import com.elink.esua.epdc.service.SysDeptService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
@ -49,11 +50,9 @@ public class SysDeptController {
@GetMapping("sublist/{pid}")
@ApiOperation("子列表")
public Result<List<SysDeptDTO>> sublist(@PathVariable("pid") String pid){
Map map = new HashMap();
map.put("pid",pid);
List<SysDeptDTO> list = sysDeptService.subList(map);
return new Result<List<SysDeptDTO>>().ok(list);
public Result<List<SysSimpleDeptDTO>> sublist(@PathVariable("pid") String pid){
List<SysSimpleDeptDTO> list = sysDeptService.subList(pid);
return new Result().ok(list);
}
@GetMapping("{id}")

13
esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/dao/SysDeptDao.java

@ -8,9 +8,9 @@
package com.elink.esua.epdc.dao;
import com.elink.esua.epdc.dto.SysSimpleDeptDTO;
import com.elink.esua.epdc.entity.SysDeptEntity;
import com.elink.esua.epdc.commons.mybatis.dao.BaseDao;
import com.elink.esua.epdc.entity.SysDeptEntity;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;
@ -40,5 +40,14 @@ public interface SysDeptDao extends BaseDao<SysDeptEntity> {
*/
List<Long> getSubDeptIdList(String id);
List<SysDeptEntity> getSubList(Map<String, Object> params);
/**
* 根据上级部门ID获取下属部门简要信息列表
*
* @param params 父部门ID
* @return java.util.List < com.elink.esua.epdc.dto.SysSimpleDeptDTO>
* @author yujintao
* @date 2019/9/4 16:21
*/
List<SysSimpleDeptDTO> listSimpleDeptInfo(Map<String, Object> params);
}

12
esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/service/AreaService.java

@ -4,9 +4,11 @@ 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.dto.SysSimpleDeptDTO;
import com.elink.esua.epdc.entity.AreaEntity;
import java.util.List;
import java.util.Map;
/**
* 行政区划
@ -26,4 +28,14 @@ public interface AreaService extends BaseService<AreaEntity> {
* @date 2019/6/13 10:35
*/
Result<List<SimpleAreaDTO>> listSimpleAreaInfo(String areaId);
/**
* 根据上级部门ID获取下属部门简要信息列表
*
* @param params 父部门ID
* @return com.elink.esua.epdc.commons.tools.utils.Result<java.util.List < com.elink.esua.epdc.dto.SysSimpleDeptDTO>>
* @author yujintao
* @date 2019/9/4 16:21
*/
Result<List<SysSimpleDeptDTO>> listSimpleDeptInfo(Map<String, Object> params);
}

19
esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/service/SysDeptService.java

@ -1,13 +1,14 @@
/**
* Copyright (c) 2018 人人开源 All rights reserved.
*
* <p>
* https://www.renren.io
*
* <p>
* 版权所有侵权必究
*/
package com.elink.esua.epdc.service;
import com.elink.esua.epdc.dto.SysSimpleDeptDTO;
import com.elink.esua.epdc.entity.SysDeptEntity;
import com.elink.esua.epdc.commons.mybatis.service.BaseService;
import com.elink.esua.epdc.dto.SysDeptDTO;
@ -34,12 +35,20 @@ public interface SysDeptService extends BaseService<SysDeptEntity> {
void delete(Long id);
//根据pid获取下一级子列表
List<SysDeptDTO> subList(Map<String, Object> params);
/**
* 根据部门ID获取下属部门
*
* @param pid
* @return java.util.List<com.elink.esua.epdc.dto.SysSimpleDeptDTO>
* @author
* @date 2019/9/4 20:54
*/
List<SysSimpleDeptDTO> subList(String pid);
/**
* 根据部门ID获取本部门及子部门ID列表
* @param id 部门ID
*
* @param id 部门ID
*/
List<Long> getSubDeptIdList(Long id);
}

15
esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/service/impl/AreaServiceImpl.java

@ -7,7 +7,9 @@ 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.dao.SysDeptDao;
import com.elink.esua.epdc.dto.SimpleAreaDTO;
import com.elink.esua.epdc.dto.SysSimpleDeptDTO;
import com.elink.esua.epdc.entity.AreaEntity;
import com.elink.esua.epdc.redis.AreaRedis;
import com.elink.esua.epdc.service.AreaService;
@ -18,6 +20,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
import java.util.Map;
/**
@ -32,6 +35,10 @@ public class AreaServiceImpl extends BaseServiceImpl<AreaDao, AreaEntity> implem
@Autowired
private AreaRedis areaRedis;
@Autowired
private SysDeptDao deptDao;
@Override
public Result<List<SimpleAreaDTO>> listSimpleAreaInfo(String areaId) {
@ -62,4 +69,12 @@ public class AreaServiceImpl extends BaseServiceImpl<AreaDao, AreaEntity> implem
}
return new Result<List<SimpleAreaDTO>>().ok(simpleAreaList);
}
@Override
public Result<List<SysSimpleDeptDTO>> listSimpleDeptInfo(Map<String, Object> params) {
List<SysSimpleDeptDTO> sysSimpleDeptS = this.deptDao.listSimpleDeptInfo(params);
return new Result().ok(sysSimpleDeptS);
}
}

41
esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/service/impl/SysDeptServiceImpl.java

@ -1,15 +1,17 @@
/**
* Copyright (c) 2018 人人开源 All rights reserved.
*
* <p>
* https://www.renren.io
*
* <p>
* 版权所有侵权必究
*/
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.Constant;
import com.elink.esua.epdc.commons.tools.constant.FieldConstant;
import com.elink.esua.epdc.commons.tools.enums.SuperAdminEnum;
import com.elink.esua.epdc.commons.tools.exception.ErrorCode;
import com.elink.esua.epdc.commons.tools.exception.RenException;
@ -19,6 +21,7 @@ import com.elink.esua.epdc.commons.tools.utils.ConvertUtils;
import com.elink.esua.epdc.commons.tools.utils.TreeUtils;
import com.elink.esua.epdc.dao.SysDeptDao;
import com.elink.esua.epdc.dto.SysDeptDTO;
import com.elink.esua.epdc.dto.SysSimpleDeptDTO;
import com.elink.esua.epdc.entity.SysDeptEntity;
import com.elink.esua.epdc.service.SysDeptService;
import com.elink.esua.epdc.service.SysUserService;
@ -47,7 +50,7 @@ public class SysDeptServiceImpl extends BaseServiceImpl<SysDeptDao, SysDeptEntit
public List<SysDeptDTO> list(Map<String, Object> params) {
//普通管理员,只能查询所属部门及子部门的数据
UserDetail user = SecurityUser.getUser();
if(user.getSuperAdmin() == SuperAdminEnum.NO.value()) {
if (user.getSuperAdmin() == SuperAdminEnum.NO.value()) {
params.put("deptIdList", getSubDeptIdList(user.getDeptId()));
}
@ -59,16 +62,19 @@ public class SysDeptServiceImpl extends BaseServiceImpl<SysDeptDao, SysDeptEntit
}
@Override
public List<SysDeptDTO> subList(Map<String, Object> params) {
List<SysDeptEntity> entityList = baseDao.getSubList(params);
List<SysDeptDTO> dtoList = ConvertUtils.sourceToTarget(entityList, SysDeptDTO.class);
return TreeUtils.build(dtoList);
public List<SysSimpleDeptDTO> subList(String pid) {
QueryWrapper<SysDeptEntity> wrapper = new QueryWrapper<>();
wrapper.eq("pid", pid)
.select(FieldConstant.ID, FieldConstant.NAME)
.orderByAsc(FieldConstant.NAME);
List<SysDeptEntity> entities = this.baseDao.selectList(wrapper);
return ConvertUtils.sourceToTarget(entities, SysSimpleDeptDTO.class);
}
@Override
public SysDeptDTO get(Long id) {
//超级管理员,部门ID为null
if(id == null){
if (id == null) {
return null;
}
@ -92,7 +98,7 @@ public class SysDeptServiceImpl extends BaseServiceImpl<SysDeptDao, SysDeptEntit
SysDeptEntity entity = ConvertUtils.sourceToTarget(dto, SysDeptEntity.class);
//上级部门不能为自身
if(entity.getId().equals(entity.getPid())){
if (entity.getId().equals(entity.getPid())) {
throw new RenException(ErrorCode.SUPERIOR_DEPT_ERROR);
}
@ -105,13 +111,13 @@ public class SysDeptServiceImpl extends BaseServiceImpl<SysDeptDao, SysDeptEntit
public void delete(Long id) {
//判断是否有子部门
List<Long> subList = getSubDeptIdList(id);
if(subList.size() > 1){
if (subList.size() > 1) {
throw new RenException(ErrorCode.DEPT_SUB_DELETE_ERROR);
}
//判断部门下面是否有用户
int count = sysUserService.getCountByDeptId(id);
if(count > 0){
if (count > 0) {
throw new RenException(ErrorCode.DEPT_USER_DELETE_ERROR);
}
@ -129,11 +135,12 @@ public class SysDeptServiceImpl extends BaseServiceImpl<SysDeptDao, SysDeptEntit
/**
* 获取所有上级部门ID
*
* @param pid 上级ID
*/
private String getPidList(Long pid){
private String getPidList(Long pid) {
//顶级部门,无上级部门
if(Constant.DEPT_ROOT.equals(pid)){
if (Constant.DEPT_ROOT.equals(pid)) {
return Constant.DEPT_ROOT + "";
}
@ -142,7 +149,7 @@ public class SysDeptServiceImpl extends BaseServiceImpl<SysDeptDao, SysDeptEntit
//list转map
Map<Long, SysDeptEntity> map = new HashMap<>(deptList.size());
for(SysDeptEntity entity : deptList){
for (SysDeptEntity entity : deptList) {
map.put(entity.getId(), entity);
}
@ -155,13 +162,13 @@ public class SysDeptServiceImpl extends BaseServiceImpl<SysDeptDao, SysDeptEntit
private void getPidTree(Long pid, Map<Long, SysDeptEntity> map, List<Long> pidList) {
//顶级部门,无上级部门
if(Constant.DEPT_ROOT.equals(pid)){
return ;
if (Constant.DEPT_ROOT.equals(pid)) {
return;
}
//上级部门存在
SysDeptEntity parent = map.get(pid);
if(parent != null){
if (parent != null) {
getPidTree(parent.getPid(), map, pidList);
}

12
esua-epdc/epdc-admin/epdc-admin-server/src/main/resources/mapper/SysDeptDao.xml

@ -15,10 +15,6 @@
order by t1.sort asc
</select>
<select id="getSubList" resultType="com.elink.esua.epdc.entity.SysDeptEntity">
SELECT * FROM sys_dept WHERE pid = #{pid} and del_flag = '0'
</select>
<select id="getById" resultType="com.elink.esua.epdc.entity.SysDeptEntity">
select t1.*,(select t2.name from sys_dept t2 where t2.id=t1.pid)parentName from sys_dept t1
where t1.id = #{value} and t1.del_flag = 0
@ -31,4 +27,12 @@
<select id="getSubDeptIdList" resultType="long">
select id from sys_dept where pids like #{id} and del_flag = 0
</select>
<select id="listSimpleDeptInfo" resultType="com.elink.esua.epdc.dto.SysSimpleDeptDTO">
SELECT
temp.id,temp.name
FROM
( SELECT * FROM sys_dept d WHERE d.pid = #{deptId} ) temp
</select>
</mapper>

2
esua-epdc/epdc-auth/pom.xml

@ -99,7 +99,7 @@
<spring.redis.password>elink@888</spring.redis.password>
<!-- nacos -->
<nacos.register-enabled>true</nacos.register-enabled>
<nacos.register-enabled>false</nacos.register-enabled>
<nacos.server-addr>47.104.224.45:8848</nacos.server-addr>
<spring.zipkin.base-url>http://localhost:9411</spring.zipkin.base-url>

3
esua-epdc/epdc-commons/epdc-commons-tools/src/main/java/com/elink/esua/epdc/commons/tools/constant/FieldConstant.java

@ -30,4 +30,7 @@ public interface FieldConstant {
String DEL_FLAG = "DEL_FLAG";
String DEL_FLAG_HUMP = "delFlag";
String NAME = "NAME";
String NAME_HUMP = "name";
}

4
esua-epdc/epdc-gateway/pom.xml

@ -93,8 +93,8 @@
<gateway.routes.epdc-message-server.uri>lb://epdc-message-server</gateway.routes.epdc-message-server.uri>
<gateway.routes.epdc-neighbor-server.uri>lb://epdc-neighbor-server</gateway.routes.epdc-neighbor-server.uri>
<!-- <gateway.routes.epdc-neighbor-server.uri>http://127.0.0.1:9063</gateway.routes.epdc-neighbor-server.uri>-->
<gateway.routes.epdc-news-server.uri>lb://epdc-news-server</gateway.routes.epdc-news-server.uri>
<!-- <gateway.routes.epdc-news-server.uri>http://127.0.0.1:9064</gateway.routes.epdc-news-server.uri>-->
<!--<gateway.routes.epdc-news-server.uri>lb://epdc-news-server</gateway.routes.epdc-news-server.uri>-->
<gateway.routes.epdc-news-server.uri>http://127.0.0.1:9064</gateway.routes.epdc-news-server.uri>
<gateway.routes.epdc-oss-server.uri>lb://epdc-oss-server</gateway.routes.epdc-oss-server.uri>
<gateway.routes.epdc-events-server.uri>lb://epdc-events-server</gateway.routes.epdc-events-server.uri>
<!-- <gateway.routes.epdc-events-server.uri>http://127.0.0.1:9066</gateway.routes.epdc-events-server.uri>-->

8
esua-epdc/epdc-module/epdc-events/epdc-events-client/pom.xml

@ -12,5 +12,13 @@
<artifactId>epdc-events-client</artifactId>
<packaging>jar</packaging>
<dependencies>
<dependency>
<groupId>com.esua.epdc</groupId>
<artifactId>epdc-commons-tools</artifactId>
<version>1.0.0</version>
</dependency>
</dependencies>
</project>

80
esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/constant/EventIssueItemState.java

@ -0,0 +1,80 @@
package com.elink.esua.epdc.constant;
/**
* 事件议题项目状态常量
* @Author LC
* @Date 2019/9/5 9:14
*/
public interface EventIssueItemState {
/**
* 事件-待审核
*/
int EVENT_PENDING_REVIEW = 0;
/**
* 事件-驳回
*/
int EVENT_REVIEW_REJECT = 2;
/**
* 事件-审核通过
*/
int EVENT_REVIEW_PASS = 4;
/**
* 议题-审核通过
*/
int ISSUE_REVIEW_PASS = 0;
/**
* 议题-已关闭
*/
int ISSUE_CLOSED = 2;
/**
* 议题-已转项目
*/
int ISSUE_CHANGE_TO_ITEM = 4;
/**
* 项目-待网格长处理
*/
int ITEM_WAITING_GRID_HANDLE = 0;
/**
* 项目-待社区处理
*/
int ITEM_WAITING_COMMUNITY_HANDLE = 5;
/**
* 项目-待街道党工委处理
*/
int ITEM_WAITING_STREET_FIRST_HANDLE = 10;
/**
* 项目-待街道处理
*/
int ITEM_WAITING_STREET_SECOND_HANDLE = 15;
/**
* 项目-待区直部门处理
*/
int ITEM_WAITING_AREA_HANDLE = 20;
/**
* 项目-处理中
*/
int ITEM_HANDLING = 25;
/**
* 项目-关闭
*/
int ITEM_CLOSED= 30;
/**
* 项目-结案
*/
int ITEM_CLOSEING_CASE= 35;
/**
* 议题处理-审核通过
*/
int ISSUE_HANDLED_PASS= 0;
/**
* 议题处理-反馈
*/
int ISSUE_HANDLED_FEEDBACK= 1;
/**
* 议题处理-关闭
*/
int ISSUE_HANDLED_CLOSED= 2;
}

91
esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/dto/category/EventCategoryDTO.java

@ -0,0 +1,91 @@
/**
* 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.category;
import java.io.Serializable;
import java.util.Date;
import lombok.Data;
/**
* 事件分类字典表 事件分类字典表
*
* @author yujintao yujintao@elink-cn.com
* @since v1.0.0 2019-09-05
*/
@Data
public class EventCategoryDTO implements Serializable {
private static final long serialVersionUID = 1L;
/**
* ID
*/
private String id;
/**
* 分类名称
*/
private String categoryName;
/**
* 类别编码
*/
private String categoryCode;
/**
* 描述
*/
private String description;
/**
* 排序
*/
private Integer sort;
/**
* 删除标识 0未删除1已删除
*/
private String delFlag;
/**
* 乐观锁
*/
private Integer revision;
/**
* 创建人
*/
private String createdBy;
/**
* 创建时间
*/
private Date createdTime;
/**
* 更新人
*/
private String updatedBy;
/**
* 更新时间
*/
private Date updatedTime;
}

52
esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/dto/events/EpdcEventsDTO.java

@ -0,0 +1,52 @@
/**
* 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.events;
import lombok.Data;
import java.io.Serializable;
import java.util.Date;
/**
* 党群议事-议题管理-待审核列表
*
* @author Mark sunlightcs@gmail.com
* @since v1.0.0 2019-09-04
*/
@Data
public class EpdcEventsDTO implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 事件ID
*/
private String id;
/**
* 用户昵称
*/
private String nickName;
/**
* 事件内容
*/
private String eventContent;
/**
* 提交时间
*/
private Date createdTime;
}

37
esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/dto/events/EpdcEventsDetailDTO.java

@ -0,0 +1,37 @@
package com.elink.esua.epdc.dto.events;
import lombok.Data;
import java.io.Serializable;
import java.util.Date;
import java.util.List;
/**
* @Author LC
* @Date 2019/9/4 20:18
*/
@Data
public class EpdcEventsDetailDTO implements Serializable {
private static final long serialVersionUID = 7859650300609726002L;
/**
* 事件ID
*/
private String id;
/**
* 用户昵称
*/
private String nickName;
/**
* 事件内容
*/
private String eventContent;
/**
* 提交时间
*/
private Date createdTime;
/**
* 图片
*/
private List<String> images;
}

32
esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/dto/events/form/EpdcEventsReviewFormDTO.java

@ -0,0 +1,32 @@
package com.elink.esua.epdc.dto.events.form;
import lombok.Data;
import java.io.Serializable;
/**
* 审核事件提交表单DTO
* @Author LC
* @Date 2019/9/4 21:11
*/
@Data
public class EpdcEventsReviewFormDTO implements Serializable {
private static final long serialVersionUID = 3950470078846120789L;
/**
* 事件ID
*/
private String id;
/**
* 类别ID
*/
private String categoryId;
/**
* 事件状态
*/
private Integer eventState;
/**
* 处理意见
*/
private String advice;
}

167
esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/dto/issue/IssueDTO.java

@ -0,0 +1,167 @@
/**
* 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.issue;
import java.io.Serializable;
import java.util.Date;
import lombok.Data;
import java.math.BigDecimal;
/**
* 议题表 议题表
*
* @author yujintao yujintao@elink-cn.com
* @since v1.0.0 2019-09-05
*/
@Data
public class IssueDTO implements Serializable {
private static final long serialVersionUID = 1L;
/**
* ID
*/
private String id;
/**
* 事件ID
*/
private String eventId;
/**
* 用户ID
*/
private String userId;
/**
* 用户昵称
*/
private String nickName;
/**
* 用户头像
*/
private String userFace;
/**
* 议题内容
*/
private String issueContent;
/**
*
*/
private String area;
/**
* 区ID
*/
private String areaId;
/**
* 街道
*/
private String street;
/**
* 街道ID
*/
private String streetId;
/**
* 社区
*/
private String community;
/**
* 社区ID
*/
private String communityId;
/**
* 网格
*/
private String grid;
/**
* 网格ID
*/
private String gridId;
/**
* 议题位置地址
*/
private String issueAddress;
/**
* 议题分类ID
*/
private String issueCategoryId;
/**
* 议题位置纬度
*/
private BigDecimal issusLatitude;
/**
* 议题位置经度
*/
private BigDecimal issueLongitude;
/**
* 友邻社区ID
*/
private String friendlyCommunityId;
/**
* 议题状态 0-审核通过2-已关闭4-已转项目
*/
private Integer issueState;
/**
* 删除标识 0未删除1已删除
*/
private String delFlag;
/**
* 乐观锁
*/
private Integer revision;
/**
* 创建人
*/
private String createdBy;
/**
* 创建时间
*/
private Date createdTime;
/**
* 更新人
*/
private String updatedBy;
/**
* 更新时间
*/
private Date updatedTime;
}

177
esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/dto/item/ItemDTO.java

@ -0,0 +1,177 @@
/**
* 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.item;
import java.io.Serializable;
import java.util.Date;
import lombok.Data;
import java.math.BigDecimal;
/**
* 项目表 项目表
*
* @author yujintao yujintao@elink-cn.com
* @since v1.0.0 2019-09-04
*/
@Data
public class ItemDTO implements Serializable {
private static final long serialVersionUID = 1L;
/**
* ID
*/
private String id;
/**
* 事件ID
*/
private String eventId;
/**
* 议题ID
*/
private String issueId;
/**
* 用户ID
*/
private String userId;
/**
* 用户昵称
*/
private String nickName;
/**
* 用户头像
*/
private String userFace;
/**
* 议题内容
*/
private String issueContent;
/**
*
*/
private String area;
/**
* 区ID
*/
private String areaId;
/**
* 街道
*/
private String street;
/**
* 街道ID
*/
private String streetId;
/**
* 社区
*/
private String community;
/**
* 社区ID
*/
private String communityId;
/**
* 网格
*/
private String grid;
/**
* 网格ID
*/
private String gridId;
/**
* 议题位置地址
*/
private String issueAddress;
/**
* 议题分类ID
*/
private String issueCategoryId;
/**
* 议题位置纬度
*/
private BigDecimal issusLatitude;
/**
* 议题位置经度
*/
private BigDecimal issueLongitude;
/**
* 友邻社区ID
*/
private String friendlyCommunityId;
/**
* 评价打分
*/
private Integer issueScore;
/**
* 项目状态 0-待网格长处理5-待社区处理10-待街道党建办处理15-待街道处理20-待区直部门党建办处理25-待区直部门处理30-处理35-关闭40-结束议题
*/
private Integer itemState;
/**
* 删除标识 0未删除1已删除
*/
private String delFlag;
/**
* 乐观锁
*/
private Integer revision;
/**
* 创建人
*/
private String createdBy;
/**
* 创建时间
*/
private Date createdTime;
/**
* 更新人
*/
private String updatedBy;
/**
* 更新时间
*/
private Date updatedTime;
}

10
esua-epdc/epdc-module/epdc-events/epdc-events-server/pom.xml

@ -86,10 +86,10 @@
<spring.redis.password>elink@888</spring.redis.password>
<spring.datasource.druid.url>
<![CDATA[jdbc:mysql://47.104.224.45:3308/esua_epdc_job?allowMultiQueries=true&useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=Asia/Shanghai]]>
<![CDATA[jdbc:mysql://47.104.224.45:3308/esua_epdc_events?allowMultiQueries=true&useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=Asia/Shanghai]]>
</spring.datasource.druid.url>
<spring.datasource.druid.username>epdc</spring.datasource.druid.username>
<spring.datasource.druid.password>elink888</spring.datasource.druid.password>
<spring.datasource.druid.password>elink833066</spring.datasource.druid.password>
<nacos.register-enabled>false</nacos.register-enabled>
<nacos.server-addr>47.104.224.45:8848</nacos.server-addr>
@ -109,10 +109,10 @@
<spring.redis.password>elink@888</spring.redis.password>
<spring.datasource.druid.url>
<![CDATA[jdbc:mysql://47.104.224.45:3308/esua_epdc_job?allowMultiQueries=true&useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=Asia/Shanghai]]>
<![CDATA[jdbc:mysql://47.104.224.45:3308/esua_epdc_events?allowMultiQueries=true&useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=Asia/Shanghai]]>
</spring.datasource.druid.url>
<spring.datasource.druid.username>epdc</spring.datasource.druid.username>
<spring.datasource.druid.password>elink888</spring.datasource.druid.password>
<spring.datasource.druid.password>elink833066</spring.datasource.druid.password>
<nacos.register-enabled>false</nacos.register-enabled>
<nacos.server-addr>47.104.224.45:8848</nacos.server-addr>
@ -132,7 +132,7 @@
<spring.redis.password>elink@888</spring.redis.password>
<spring.datasource.druid.url>
<![CDATA[jdbc:mysql://47.104.224.45:3308/esua_epdc_job?allowMultiQueries=true&useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=Asia/Shanghai]]>
<![CDATA[jdbc:mysql://47.104.224.45:3308/esua_epdc_events?allowMultiQueries=true&useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=Asia/Shanghai]]>
</spring.datasource.druid.url>
<spring.datasource.druid.username>epdc</spring.datasource.druid.username>
<spring.datasource.druid.password>elink888</spring.datasource.druid.password>

95
esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/category/controller/EventCategoryController.java

@ -0,0 +1,95 @@
/**
* 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.modules.category.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.DefaultGroup;
import com.elink.esua.epdc.commons.tools.validator.group.UpdateGroup;
import com.elink.esua.epdc.dto.category.EventCategoryDTO;
import com.elink.esua.epdc.modules.category.excel.EventCategoryExcel;
import com.elink.esua.epdc.modules.category.service.EventCategoryService;
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 yujintao yujintao@elink-cn.com
* @since v1.0.0 2019-09-05
*/
@RestController
@RequestMapping("eventcategory")
public class EventCategoryController {
@Autowired
private EventCategoryService eventCategoryService;
@GetMapping("page")
public Result<PageData<EventCategoryDTO>> page(@RequestParam Map<String, Object> params){
PageData<EventCategoryDTO> page = eventCategoryService.page(params);
return new Result<PageData<EventCategoryDTO>>().ok(page);
}
@GetMapping("{id}")
public Result<EventCategoryDTO> get(@PathVariable("id") String id){
EventCategoryDTO data = eventCategoryService.get(id);
return new Result<EventCategoryDTO>().ok(data);
}
@PostMapping
public Result save(@RequestBody EventCategoryDTO dto){
//效验数据
ValidatorUtils.validateEntity(dto, AddGroup.class, DefaultGroup.class);
eventCategoryService.save(dto);
return new Result();
}
@PutMapping
public Result update(@RequestBody EventCategoryDTO dto){
//效验数据
ValidatorUtils.validateEntity(dto, UpdateGroup.class, DefaultGroup.class);
eventCategoryService.update(dto);
return new Result();
}
@DeleteMapping
public Result delete(@RequestBody String[] ids){
//效验数据
AssertUtils.isArrayEmpty(ids, "id");
eventCategoryService.delete(ids);
return new Result();
}
@GetMapping("export")
public void export(@RequestParam Map<String, Object> params, HttpServletResponse response) throws Exception {
List<EventCategoryDTO> list = eventCategoryService.list(params);
ExcelUtils.exportExcelToTarget(response, null, list, EventCategoryExcel.class);
}
}

33
esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/category/dao/EventCategoryDao.java

@ -0,0 +1,33 @@
/**
* 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.modules.category.dao;
import com.elink.esua.epdc.commons.mybatis.dao.BaseDao;
import com.elink.esua.epdc.modules.category.entity.EventCategoryEntity;
import org.apache.ibatis.annotations.Mapper;
/**
* 事件分类字典表 事件分类字典表
*
* @author yujintao yujintao@elink-cn.com
* @since v1.0.0 2019-09-05
*/
@Mapper
public interface EventCategoryDao extends BaseDao<EventCategoryEntity> {
}

61
esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/category/entity/EventCategoryEntity.java

@ -0,0 +1,61 @@
/**
* 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.modules.category.entity;
import com.baomidou.mybatisplus.annotation.TableName;
import com.elink.esua.epdc.commons.mybatis.entity.BaseEpdcEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.util.Date;
/**
* 事件分类字典表 事件分类字典表
*
* @author yujintao yujintao@elink-cn.com
* @since v1.0.0 2019-09-05
*/
@Data
@EqualsAndHashCode(callSuper=false)
@TableName("epdc_event_category")
public class EventCategoryEntity extends BaseEpdcEntity {
private static final long serialVersionUID = 1L;
/**
* 分类名称
*/
private String categoryName;
/**
* 类别编码
*/
private String categoryCode;
/**
* 描述
*/
private String description;
/**
* 排序
*/
private Integer sort;
}

68
esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/category/excel/EventCategoryExcel.java

@ -0,0 +1,68 @@
/**
* 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.modules.category.excel;
import cn.afterturn.easypoi.excel.annotation.Excel;
import lombok.Data;
import java.util.Date;
/**
* 事件分类字典表 事件分类字典表
*
* @author yujintao yujintao@elink-cn.com
* @since v1.0.0 2019-09-05
*/
@Data
public class EventCategoryExcel {
@Excel(name = "ID")
private String id;
@Excel(name = "分类名称")
private String categoryName;
@Excel(name = "类别编码")
private String categoryCode;
@Excel(name = "描述")
private String description;
@Excel(name = "排序")
private Integer 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;
}

47
esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/category/redis/EventCategoryRedis.java

@ -0,0 +1,47 @@
/**
* 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.modules.category.redis;
import com.elink.esua.epdc.commons.tools.redis.RedisUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
/**
* 事件分类字典表 事件分类字典表
*
* @author yujintao yujintao@elink-cn.com
* @since v1.0.0 2019-09-05
*/
@Component
public class EventCategoryRedis {
@Autowired
private RedisUtils redisUtils;
public void delete(Object[] ids) {
}
public void set(){
}
public String get(String id){
return null;
}
}

96
esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/category/service/EventCategoryService.java

@ -0,0 +1,96 @@
/**
* 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.modules.category.service;
import com.elink.esua.epdc.commons.mybatis.service.BaseService;
import com.elink.esua.epdc.commons.tools.page.PageData;
import com.elink.esua.epdc.dto.category.EventCategoryDTO;
import com.elink.esua.epdc.modules.category.entity.EventCategoryEntity;
import java.util.List;
import java.util.Map;
/**
* 事件分类字典表 事件分类字典表
*
* @author yujintao yujintao@elink-cn.com
* @since v1.0.0 2019-09-05
*/
public interface EventCategoryService extends BaseService<EventCategoryEntity> {
/**
* 默认分页
*
* @param params
* @return PageData<EventCategoryDTO>
* @author
* @date
*/
PageData<EventCategoryDTO> page(Map<String, Object> params);
/**
* 默认查询
*
* @param params
* @return java.util.List<EventCategoryDTO>
* @author
* @date
*/
List<EventCategoryDTO> list(Map<String, Object> params);
/**
* 单条查询
*
* @param id
* @return EventCategoryDTO
* @author
* @date
*/
EventCategoryDTO get(String id);
/**
* 默认保存
*
* @param dto
* @return void
* @author
* @date
*/
void save(EventCategoryDTO dto);
/**
* 默认更新
*
* @param dto
* @return void
* @author
* @date
*/
void update(EventCategoryDTO dto);
/**
* 批量删除
*
* @param ids
* @return void
* @author
* @date
*/
void delete(String[] ids);
}

106
esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/category/service/impl/EventCategoryServiceImpl.java

@ -0,0 +1,106 @@
/**
* 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.modules.category.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.page.PageData;
import com.elink.esua.epdc.commons.tools.utils.ConvertUtils;
import com.elink.esua.epdc.dto.category.EventCategoryDTO;
import com.elink.esua.epdc.modules.category.dao.EventCategoryDao;
import com.elink.esua.epdc.modules.category.entity.EventCategoryEntity;
import com.elink.esua.epdc.modules.category.redis.EventCategoryRedis;
import com.elink.esua.epdc.modules.category.service.EventCategoryService;
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 yujintao yujintao@elink-cn.com
* @since v1.0.0 2019-09-05
*/
@Service
public class EventCategoryServiceImpl extends BaseServiceImpl<EventCategoryDao, EventCategoryEntity> implements EventCategoryService {
@Autowired
private EventCategoryRedis eventCategoryRedis;
@Override
public PageData<EventCategoryDTO> page(Map<String, Object> params) {
IPage<EventCategoryEntity> page = baseDao.selectPage(
getPage(params, FieldConstant.CREATED_TIME, false),
getWrapper(params)
);
return getPageData(page, EventCategoryDTO.class);
}
@Override
public List<EventCategoryDTO> list(Map<String, Object> params) {
List<EventCategoryEntity> entityList = baseDao.selectList(getWrapper(params));
return ConvertUtils.sourceToTarget(entityList, EventCategoryDTO.class);
}
private QueryWrapper<EventCategoryEntity> getWrapper(Map<String, Object> params){
String id = (String)params.get(FieldConstant.ID_HUMP);
String categoryCode = (String)params.get("categoryCode");
QueryWrapper<EventCategoryEntity> wrapper = new QueryWrapper<>();
wrapper.eq(StringUtils.isNotBlank(id), FieldConstant.ID, id);
wrapper.eq(StringUtils.isNotBlank(categoryCode), "CATEGORY_CODE", categoryCode);
return wrapper;
}
@Override
public EventCategoryDTO get(String id) {
EventCategoryEntity entity = baseDao.selectById(id);
return ConvertUtils.sourceToTarget(entity, EventCategoryDTO.class);
}
@Override
@Transactional(rollbackFor = Exception.class)
public void save(EventCategoryDTO dto) {
EventCategoryEntity entity = ConvertUtils.sourceToTarget(dto, EventCategoryEntity.class);
insert(entity);
}
@Override
@Transactional(rollbackFor = Exception.class)
public void update(EventCategoryDTO dto) {
EventCategoryEntity entity = ConvertUtils.sourceToTarget(dto, EventCategoryEntity.class);
updateById(entity);
}
@Override
@Transactional(rollbackFor = Exception.class)
public void delete(String[] ids) {
// 逻辑删除(@TableLogic 注解)
baseDao.deleteBatchIds(Arrays.asList(ids));
}
}

117
esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/events/controller/EpdcEventsController.java

@ -0,0 +1,117 @@
/**
* 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.modules.events.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.DefaultGroup;
import com.elink.esua.epdc.commons.tools.validator.group.UpdateGroup;
import com.elink.esua.epdc.constant.EventIssueItemState;
import com.elink.esua.epdc.dto.events.EpdcEventsDTO;
import com.elink.esua.epdc.dto.events.EpdcEventsDetailDTO;
import com.elink.esua.epdc.dto.events.form.EpdcEventsReviewFormDTO;
import com.elink.esua.epdc.modules.events.excel.EpdcEventsExcel;
import com.elink.esua.epdc.modules.events.service.EpdcEventsService;
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 Mark sunlightcs@gmail.com
* @since v1.0.0 2019-09-04
*/
@RestController
@RequestMapping("epdcevents")
public class EpdcEventsController {
@Autowired
private EpdcEventsService epdcEventsService;
@GetMapping("page")
public Result<PageData<EpdcEventsDTO>> page(@RequestParam Map<String, Object> params){
PageData<EpdcEventsDTO> page = epdcEventsService.page(params);
return new Result<PageData<EpdcEventsDTO>>().ok(page);
}
@GetMapping("{id}")
public Result<EpdcEventsDetailDTO> get(@PathVariable("id") String id){
EpdcEventsDetailDTO data = epdcEventsService.get(id);
return new Result<EpdcEventsDetailDTO>().ok(data);
}
@PostMapping
public Result save(@RequestBody EpdcEventsDTO dto){
//效验数据
ValidatorUtils.validateEntity(dto, AddGroup.class, DefaultGroup.class);
epdcEventsService.save(dto);
return new Result();
}
@PutMapping
public Result update(@RequestBody EpdcEventsDTO dto){
//效验数据
ValidatorUtils.validateEntity(dto, UpdateGroup.class, DefaultGroup.class);
epdcEventsService.update(dto);
return new Result();
}
@DeleteMapping
public Result delete(@RequestBody String[] ids){
//效验数据
AssertUtils.isArrayEmpty(ids, "id");
epdcEventsService.delete(ids);
return new Result();
}
@GetMapping("export")
public void export(@RequestParam Map<String, Object> params, HttpServletResponse response) throws Exception {
List<EpdcEventsDTO> list = epdcEventsService.list(params);
ExcelUtils.exportExcelToTarget(response, null, list, EpdcEventsExcel.class);
}
/**
* 事件审核
* @Params: [dto]
* @Return: com.elink.esua.epdc.commons.tools.utils.Result
* @Author: liuchuang
* @Date: 2019/9/5 9:02
*/
@PostMapping("review")
public Result eventReview(@RequestBody EpdcEventsReviewFormDTO dto) {
return epdcEventsService.eventReview(dto);
}
}

42
esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/events/dao/EpdcEventsDao.java

@ -0,0 +1,42 @@
/**
* 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.modules.events.dao;
import com.elink.esua.epdc.commons.mybatis.dao.BaseDao;
import com.elink.esua.epdc.dto.events.EpdcEventsDetailDTO;
import com.elink.esua.epdc.modules.events.entity.EpdcEventsEntity;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
/**
* 事件表 事件表
*
* @author Mark sunlightcs@gmail.com
* @since v1.0.0 2019-09-04
*/
@Mapper
public interface EpdcEventsDao extends BaseDao<EpdcEventsEntity> {
/**
* 根据ID获取事件详情
* @Params: [id]
* @Return: com.elink.esua.epdc.dto.events.EpdcEventsDetailDTO
* @Author: liuchuang
* @Date: 2019/9/4 20:31
*/
EpdcEventsDetailDTO getEventDetailById(@Param("id") String id);
}

165
esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/events/entity/EpdcEventsEntity.java

@ -0,0 +1,165 @@
/**
* 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.modules.events.entity;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.elink.esua.epdc.commons.mybatis.entity.BaseEntity;
import com.elink.esua.epdc.commons.mybatis.entity.BaseEpdcEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.math.BigDecimal;
import java.util.Date;
/**
* 事件表 事件表
*
* @author Mark sunlightcs@gmail.com
* @since v1.0.0 2019-09-04
*/
@Data
@EqualsAndHashCode(callSuper=false)
@TableName("epdc_events")
public class EpdcEventsEntity extends BaseEpdcEntity {
private static final long serialVersionUID = 1L;
/**
* ID
*/
private String id;
/**
* 用户ID
*/
private String userId;
/**
* 用户昵称
*/
private String nickName;
/**
* 用户头像
*/
private String userFace;
/**
* 议题内容
*/
private String eventContent;
/**
*
*/
private String area;
/**
* 区ID
*/
private String areaId;
/**
* 街道
*/
private String street;
/**
* 街道ID
*/
private String streetId;
/**
* 社区
*/
private String community;
/**
* 社区ID
*/
private String communityId;
/**
* 网格
*/
private String grid;
/**
* 网格ID
*/
private String gridId;
/**
* 议题位置地址
*/
private String issueAddress;
/**
* 议题分类ID
*/
private String issueCategoryId;
/**
* 议题位置纬度
*/
private BigDecimal issusLatitude;
/**
* 议题位置经度
*/
private BigDecimal issueLongitude;
/**
* 友邻社区ID
*/
private String friendlyCommunityId;
/**
* 事件状态 0-待审核2-驳回4-审核通过
*/
private Integer eventState;
/**
* 意见
*/
private String advice;
/**
* 点赞次数
*/
private Integer approveNum;
/**
* 踩次数
*/
private Integer opposeNum;
/**
* 评论数
*/
private Integer commentNum;
/**
* 浏览数
*/
private Integer browseNum;
/**
* 删除标识 0未删除1已删除
*/
private String delFlag;
/**
* 乐观锁
*/
private Integer revision;
/**
* 创建人
*/
private String createdBy;
/**
* 创建时间
*/
private Date createdTime;
/**
* 更新人
*/
private String updatedBy;
/**
* 更新时间
*/
private Date updatedTime;
}

81
esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/events/excel/EpdcEventsExcel.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.modules.events.excel;
import cn.afterturn.easypoi.excel.annotation.Excel;
import lombok.Data;
import java.math.BigDecimal;
import java.util.Date;
/**
* 事件表 事件表
*
* @author Mark sunlightcs@gmail.com
* @since v1.0.0 2019-09-04
*/
@Data
public class EpdcEventsExcel {
@Excel(name = "ID")
private String id;
@Excel(name = "用户ID")
private String userId;
@Excel(name = "议题内容")
private String issueContent;
@Excel(name = "区")
private String area;
@Excel(name = "区ID")
private String areaId;
@Excel(name = "街道")
private String street;
@Excel(name = "街道ID")
private String streetId;
@Excel(name = "社区")
private String community;
@Excel(name = "社区ID")
private String communityId;
@Excel(name = "网格")
private String grid;
@Excel(name = "网格ID")
private String gridId;
@Excel(name = "议题位置地址")
private String issueAddress;
@Excel(name = "议题分类ID")
private String issueCategoryId;
@Excel(name = "议题位置纬度")
private BigDecimal issusLatitude;
@Excel(name = "议题位置经度")
private BigDecimal issueLongitude;
@Excel(name = "友邻社区ID")
private String friendlyCommunityId;
@Excel(name = "事件状态 0-待审核,2-驳回,4-审核通过")
private Integer eventState;
@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;
}

47
esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/events/redis/EpdcEventsRedis.java

@ -0,0 +1,47 @@
/**
* 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.modules.events.redis;
import com.elink.esua.epdc.commons.tools.redis.RedisUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
/**
* 事件表 事件表
*
* @author Mark sunlightcs@gmail.com
* @since v1.0.0 2019-09-04
*/
@Component
public class EpdcEventsRedis {
@Autowired
private RedisUtils redisUtils;
public void delete(Object[] ids) {
}
public void set(){
}
public String get(String id){
return null;
}
}

66
esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/events/service/EpdcEventsService.java

@ -0,0 +1,66 @@
/**
* 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.modules.events.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.events.EpdcEventsDTO;
import com.elink.esua.epdc.dto.events.EpdcEventsDetailDTO;
import com.elink.esua.epdc.dto.events.form.EpdcEventsReviewFormDTO;
import com.elink.esua.epdc.modules.events.entity.EpdcEventsEntity;
import java.util.List;
import java.util.Map;
/**
* 事件表 事件表
*
* @author Mark sunlightcs@gmail.com
* @since v1.0.0 2019-09-04
*/
public interface EpdcEventsService extends BaseService<EpdcEventsEntity> {
PageData<EpdcEventsDTO> page(Map<String, Object> params);
List<EpdcEventsDTO> list(Map<String, Object> params);
/**
* 根据ID获取事件详情
* @Params: [id]
* @Return: com.elink.esua.epdc.dto.events.EpdcEventsDetailDTO
* @Author: liuchuang
* @Date: 2019/9/4 20:47
*/
EpdcEventsDetailDTO get(String id);
void save(EpdcEventsDTO dto);
void update(EpdcEventsDTO dto);
void delete(String[] ids);
/**
* 事件审核
* @Params: [dto]
* @Return: com.elink.esua.epdc.commons.tools.utils.Result
* @Author: liuchuang
* @Date: 2019/9/5 9:35
*/
Result eventReview(EpdcEventsReviewFormDTO dto);
}

179
esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/events/service/impl/EpdcEventsServiceImpl.java

@ -0,0 +1,179 @@
/**
* 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.modules.events.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.elink.esua.epdc.commons.mybatis.enums.DelFlagEnum;
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.constant.EventIssueItemState;
import com.elink.esua.epdc.dto.events.EpdcEventsDTO;
import com.elink.esua.epdc.dto.events.EpdcEventsDetailDTO;
import com.elink.esua.epdc.dto.events.form.EpdcEventsReviewFormDTO;
import com.elink.esua.epdc.modules.events.dao.EpdcEventsDao;
import com.elink.esua.epdc.modules.events.entity.EpdcEventsEntity;
import com.elink.esua.epdc.modules.events.redis.EpdcEventsRedis;
import com.elink.esua.epdc.modules.events.service.EpdcEventsService;
import com.elink.esua.epdc.modules.issue.entity.IssueEntity;
import com.elink.esua.epdc.modules.issue.entity.IssueHandleEntity;
import com.elink.esua.epdc.modules.issue.service.IssueHandleService;
import com.elink.esua.epdc.modules.issue.service.IssueService;
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 Mark sunlightcs@gmail.com
* @since v1.0.0 2019-09-04
*/
@Service
public class EpdcEventsServiceImpl extends BaseServiceImpl<EpdcEventsDao, EpdcEventsEntity> implements EpdcEventsService {
@Autowired
private IssueService issueService;
@Autowired
private IssueHandleService issueHandleService;
@Override
public PageData<EpdcEventsDTO> page(Map<String, Object> params) {
IPage<EpdcEventsEntity> page = baseDao.selectPage(
getPage(params, Constant.CREATED_TIME, false),
getWrapper(params)
);
return getPageData(page, EpdcEventsDTO.class);
}
@Override
public List<EpdcEventsDTO> list(Map<String, Object> params) {
List<EpdcEventsEntity> entityList = baseDao.selectList(getWrapper(params));
return ConvertUtils.sourceToTarget(entityList, EpdcEventsDTO.class);
}
private QueryWrapper<EpdcEventsEntity> getWrapper(Map<String, Object> params){
String startTime = (String)params.get("startTime");
String endTime = (String)params.get("endTime");
QueryWrapper<EpdcEventsEntity> wrapper = new QueryWrapper<>();
wrapper.between(StringUtils.isNotBlank(startTime), Constant.CREATED_TIME, startTime, endTime);
wrapper.eq(Constant.DEL_FLAG, DelFlagEnum.NORMAL.value());
return wrapper;
}
@Override
public EpdcEventsDetailDTO get(String id) {
return baseDao.getEventDetailById(id);
}
@Override
@Transactional(rollbackFor = Exception.class)
public void save(EpdcEventsDTO dto) {
EpdcEventsEntity entity = ConvertUtils.sourceToTarget(dto, EpdcEventsEntity.class);
insert(entity);
}
@Override
@Transactional(rollbackFor = Exception.class)
public void update(EpdcEventsDTO dto) {
EpdcEventsEntity entity = ConvertUtils.sourceToTarget(dto, EpdcEventsEntity.class);
updateById(entity);
}
@Override
@Transactional(rollbackFor = Exception.class)
public void delete(String[] ids) {
//逻辑删除
//logicDelete(ids, EpdcEventsEntity.class);
//物理删除
baseDao.deleteBatchIds(Arrays.asList(ids));
}
@Override
@Transactional(rollbackFor = Exception.class)
public Result eventReview(EpdcEventsReviewFormDTO dto) {
EpdcEventsEntity entity = new EpdcEventsEntity();
entity.setId(dto.getId());
entity.setEventState(dto.getEventState());
entity.setAdvice(dto.getAdvice());
// 更新事件表审核状态
updateById(entity);
// 审核通过
if (EventIssueItemState.EVENT_REVIEW_PASS== dto.getEventState()) {
// 事件插入议题表
IssueEntity issueEntity = initIssueEntity(selectById(dto.getId()));
issueService.insert(issueEntity);
// 插入议题处理表一条审核通过记录
IssueHandleEntity issueHandleEntity = new IssueHandleEntity();
issueHandleEntity.setIssueId(issueEntity.getId());
issueHandleEntity.setState(EventIssueItemState.ISSUE_HANDLED_PASS);
issueHandleEntity.setAdvice(dto.getAdvice());
issueHandleService.insert(issueHandleEntity);
}
return new Result();
}
/**
* 初始化议题
* @Params: [entity]
* @Return: com.elink.esua.epdc.modules.issue.entity.IssueEntity
* @Author: liuchuang
* @Date: 2019/9/5 10:33
*/
public IssueEntity initIssueEntity(EpdcEventsEntity entity) {
IssueEntity issueEntity = new IssueEntity();
issueEntity.setEventId(entity.getId());
issueEntity.setUserId(entity.getUserId());
issueEntity.setNickName(entity.getNickName());
issueEntity.setUserFace(entity.getUserFace());
issueEntity.setIssueContent(entity.getEventContent());
issueEntity.setArea(entity.getArea());
issueEntity.setAreaId(entity.getAreaId());
issueEntity.setStreet(entity.getStreet());
issueEntity.setStreetId(entity.getStreetId());
issueEntity.setCommunity(entity.getCommunity());
issueEntity.setCommunityId(entity.getCommunityId());
issueEntity.setGrid(entity.getGrid());
issueEntity.setGridId(entity.getGridId());
issueEntity.setIssueAddress(entity.getIssueAddress());
issueEntity.setIssueCategoryId(entity.getIssueCategoryId());
issueEntity.setIssusLatitude(entity.getIssusLatitude());
issueEntity.setIssueLongitude(entity.getIssueLongitude());
issueEntity.setFriendlyCommunityId(entity.getFriendlyCommunityId());
issueEntity.setIssueState(EventIssueItemState.ISSUE_REVIEW_PASS);
return issueEntity;
}
}

94
esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/issue/controller/IssueController.java

@ -0,0 +1,94 @@
/**
* 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.modules.issue.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.issue.IssueDTO;
import com.elink.esua.epdc.modules.issue.excel.IssueExcel;
import com.elink.esua.epdc.modules.issue.service.IssueService;
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 yujintao yujintao@elink-cn.com
* @since v1.0.0 2019-09-05
*/
@RestController
@RequestMapping("issue")
public class IssueController {
@Autowired
private IssueService issueService;
@GetMapping("page")
public Result<PageData<IssueDTO>> page(@RequestParam Map<String, Object> params){
PageData<IssueDTO> page = issueService.page(params);
return new Result<PageData<IssueDTO>>().ok(page);
}
@GetMapping("{id}")
public Result<IssueDTO> get(@PathVariable("id") String id){
IssueDTO data = issueService.get(id);
return new Result<IssueDTO>().ok(data);
}
@PostMapping
public Result save(@RequestBody IssueDTO dto){
//效验数据
ValidatorUtils.validateEntity(dto, AddGroup.class, DefaultGroup.class);
issueService.save(dto);
return new Result();
}
@PutMapping
public Result update(@RequestBody IssueDTO dto){
//效验数据
ValidatorUtils.validateEntity(dto, UpdateGroup.class, DefaultGroup.class);
issueService.update(dto);
return new Result();
}
@DeleteMapping
public Result delete(@RequestBody String[] ids){
//效验数据
AssertUtils.isArrayEmpty(ids, "id");
issueService.delete(ids);
return new Result();
}
@GetMapping("export")
public void export(@RequestParam Map<String, Object> params, HttpServletResponse response) throws Exception {
List<IssueDTO> list = issueService.list(params);
ExcelUtils.exportExcelToTarget(response, null, list, IssueExcel.class);
}
}

33
esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/issue/dao/IssueDao.java

@ -0,0 +1,33 @@
/**
* 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.modules.issue.dao;
import com.elink.esua.epdc.commons.mybatis.dao.BaseDao;
import com.elink.esua.epdc.modules.issue.entity.IssueEntity;
import org.apache.ibatis.annotations.Mapper;
/**
* 议题表 议题表
*
* @author yujintao yujintao@elink-cn.com
* @since v1.0.0 2019-09-05
*/
@Mapper
public interface IssueDao extends BaseDao<IssueEntity> {
}

33
esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/issue/dao/IssueHandleDao.java

@ -0,0 +1,33 @@
/**
* 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.modules.issue.dao;
import com.elink.esua.epdc.commons.mybatis.dao.BaseDao;
import com.elink.esua.epdc.modules.issue.entity.IssueHandleEntity;
import org.apache.ibatis.annotations.Mapper;
/**
* 议题处理表 议题处理表
*
* @author yujintao yujintao@elink-cn.com
* @since v1.0.0 2019-09-05
*/
@Mapper
public interface IssueHandleDao extends BaseDao<IssueHandleEntity> {
}

137
esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/issue/entity/IssueEntity.java

@ -0,0 +1,137 @@
/**
* 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.modules.issue.entity;
import com.baomidou.mybatisplus.annotation.TableName;
import com.elink.esua.epdc.commons.mybatis.entity.BaseEpdcEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.math.BigDecimal;
import java.util.Date;
/**
* 议题表 议题表
*
* @author yujintao yujintao@elink-cn.com
* @since v1.0.0 2019-09-05
*/
@Data
@EqualsAndHashCode(callSuper=false)
@TableName("epdc_issue")
public class IssueEntity extends BaseEpdcEntity {
private static final long serialVersionUID = 1L;
/**
* 事件ID
*/
private String eventId;
/**
* 用户ID
*/
private String userId;
/**
* 用户昵称
*/
private String nickName;
/**
* 用户头像
*/
private String userFace;
/**
* 议题内容
*/
private String issueContent;
/**
*
*/
private String area;
/**
* 区ID
*/
private String areaId;
/**
* 街道
*/
private String street;
/**
* 街道ID
*/
private String streetId;
/**
* 社区
*/
private String community;
/**
* 社区ID
*/
private String communityId;
/**
* 网格
*/
private String grid;
/**
* 网格ID
*/
private String gridId;
/**
* 议题位置地址
*/
private String issueAddress;
/**
* 议题分类ID
*/
private String issueCategoryId;
/**
* 议题位置纬度
*/
private BigDecimal issusLatitude;
/**
* 议题位置经度
*/
private BigDecimal issueLongitude;
/**
* 友邻社区ID
*/
private String friendlyCommunityId;
/**
* 议题状态 0-审核通过2-已关闭4-已转项目
*/
private Integer issueState;
}

56
esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/issue/entity/IssueHandleEntity.java

@ -0,0 +1,56 @@
/**
* 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.modules.issue.entity;
import com.baomidou.mybatisplus.annotation.TableName;
import com.elink.esua.epdc.commons.mybatis.entity.BaseEpdcEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.util.Date;
/**
* 议题处理表 议题处理表
*
* @author yujintao yujintao@elink-cn.com
* @since v1.0.0 2019-09-05
*/
@Data
@EqualsAndHashCode(callSuper=false)
@TableName("epdc_issue_handle")
public class IssueHandleEntity extends BaseEpdcEntity {
private static final long serialVersionUID = 1L;
/**
* 议题ID
*/
private String issueId;
/**
* 状态 0-审核通过1-反馈2-关闭
*/
private Integer state;
/**
* 意见
*/
private String advice;
}

114
esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/issue/excel/IssueExcel.java

@ -0,0 +1,114 @@
/**
* 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.modules.issue.excel;
import cn.afterturn.easypoi.excel.annotation.Excel;
import lombok.Data;
import java.math.BigDecimal;
import java.util.Date;
/**
* 议题表 议题表
*
* @author yujintao yujintao@elink-cn.com
* @since v1.0.0 2019-09-05
*/
@Data
public class IssueExcel {
@Excel(name = "ID")
private String id;
@Excel(name = "事件ID")
private String eventId;
@Excel(name = "用户ID")
private String userId;
@Excel(name = "用户昵称")
private String nickName;
@Excel(name = "用户头像")
private String userFace;
@Excel(name = "议题内容")
private String issueContent;
@Excel(name = "区")
private String area;
@Excel(name = "区ID")
private String areaId;
@Excel(name = "街道")
private String street;
@Excel(name = "街道ID")
private String streetId;
@Excel(name = "社区")
private String community;
@Excel(name = "社区ID")
private String communityId;
@Excel(name = "网格")
private String grid;
@Excel(name = "网格ID")
private String gridId;
@Excel(name = "议题位置地址")
private String issueAddress;
@Excel(name = "议题分类ID")
private String issueCategoryId;
@Excel(name = "议题位置纬度")
private BigDecimal issusLatitude;
@Excel(name = "议题位置经度")
private BigDecimal issueLongitude;
@Excel(name = "友邻社区ID")
private String friendlyCommunityId;
@Excel(name = "议题状态 0-审核通过,2-已关闭,4-已转项目")
private Integer issueState;
@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;
}

47
esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/issue/redis/IssueRedis.java

@ -0,0 +1,47 @@
/**
* 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.modules.issue.redis;
import com.elink.esua.epdc.commons.tools.redis.RedisUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
/**
* 议题表 议题表
*
* @author yujintao yujintao@elink-cn.com
* @since v1.0.0 2019-09-05
*/
@Component
public class IssueRedis {
@Autowired
private RedisUtils redisUtils;
public void delete(Object[] ids) {
}
public void set(){
}
public String get(String id){
return null;
}
}

40
esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/issue/service/IssueHandleService.java

@ -0,0 +1,40 @@
/**
* 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.modules.issue.service;
import com.elink.esua.epdc.commons.mybatis.service.BaseService;
import com.elink.esua.epdc.modules.issue.entity.IssueHandleEntity;
/**
* 议题处理表 议题处理表
*
* @author yujintao yujintao@elink-cn.com
* @since v1.0.0 2019-09-05
*/
public interface IssueHandleService extends BaseService<IssueHandleEntity> {
/**
* 批量删除
*
* @param ids
* @return void
* @author
* @date
*/
void delete(String[] ids);
}

95
esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/issue/service/IssueService.java

@ -0,0 +1,95 @@
/**
* 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.modules.issue.service;
import com.elink.esua.epdc.commons.mybatis.service.BaseService;
import com.elink.esua.epdc.commons.tools.page.PageData;
import com.elink.esua.epdc.dto.issue.IssueDTO;
import com.elink.esua.epdc.modules.issue.entity.IssueEntity;
import java.util.List;
import java.util.Map;
/**
* 议题表 议题表
*
* @author yujintao yujintao@elink-cn.com
* @since v1.0.0 2019-09-05
*/
public interface IssueService extends BaseService<IssueEntity> {
/**
* 默认分页
*
* @param params
* @return PageData<IssueDTO>
* @author
* @date
*/
PageData<IssueDTO> page(Map<String, Object> params);
/**
* 默认查询
*
* @param params
* @return java.util.List<IssueDTO>
* @author
* @date
*/
List<IssueDTO> list(Map<String, Object> params);
/**
* 单条查询
*
* @param id
* @return IssueDTO
* @author
* @date
*/
IssueDTO get(String id);
/**
* 默认保存
*
* @param dto
* @return void
* @author
* @date
*/
void save(IssueDTO dto);
/**
* 默认更新
*
* @param dto
* @return void
* @author
* @date
*/
void update(IssueDTO dto);
/**
* 批量删除
*
* @param ids
* @return void
* @author
* @date
*/
void delete(String[] ids);
}

45
esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/issue/service/impl/IssueHandleServiceImpl.java

@ -0,0 +1,45 @@
/**
* 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.modules.issue.service.impl;
import com.elink.esua.epdc.commons.mybatis.service.impl.BaseServiceImpl;
import com.elink.esua.epdc.modules.issue.dao.IssueHandleDao;
import com.elink.esua.epdc.modules.issue.entity.IssueHandleEntity;
import com.elink.esua.epdc.modules.issue.service.IssueHandleService;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.Arrays;
/**
* 议题处理表 议题处理表
*
* @author yujintao yujintao@elink-cn.com
* @since v1.0.0 2019-09-05
*/
@Service
public class IssueHandleServiceImpl extends BaseServiceImpl<IssueHandleDao, IssueHandleEntity> implements IssueHandleService {
@Override
@Transactional(rollbackFor = Exception.class)
public void delete(String[] ids) {
// 逻辑删除(@TableLogic 注解)
baseDao.deleteBatchIds(Arrays.asList(ids));
}
}

104
esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/issue/service/impl/IssueServiceImpl.java

@ -0,0 +1,104 @@
/**
* 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.modules.issue.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.page.PageData;
import com.elink.esua.epdc.commons.tools.utils.ConvertUtils;
import com.elink.esua.epdc.dto.issue.IssueDTO;
import com.elink.esua.epdc.modules.issue.dao.IssueDao;
import com.elink.esua.epdc.modules.issue.entity.IssueEntity;
import com.elink.esua.epdc.modules.issue.redis.IssueRedis;
import com.elink.esua.epdc.modules.issue.service.IssueService;
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 yujintao yujintao@elink-cn.com
* @since v1.0.0 2019-09-05
*/
@Service
public class IssueServiceImpl extends BaseServiceImpl<IssueDao, IssueEntity> implements IssueService {
@Autowired
private IssueRedis issueRedis;
@Override
public PageData<IssueDTO> page(Map<String, Object> params) {
IPage<IssueEntity> page = baseDao.selectPage(
getPage(params, FieldConstant.CREATED_TIME, false),
getWrapper(params)
);
return getPageData(page, IssueDTO.class);
}
@Override
public List<IssueDTO> list(Map<String, Object> params) {
List<IssueEntity> entityList = baseDao.selectList(getWrapper(params));
return ConvertUtils.sourceToTarget(entityList, IssueDTO.class);
}
private QueryWrapper<IssueEntity> getWrapper(Map<String, Object> params){
String id = (String)params.get(FieldConstant.ID_HUMP);
QueryWrapper<IssueEntity> wrapper = new QueryWrapper<>();
wrapper.eq(StringUtils.isNotBlank(id), FieldConstant.ID, id);
return wrapper;
}
@Override
public IssueDTO get(String id) {
IssueEntity entity = baseDao.selectById(id);
return ConvertUtils.sourceToTarget(entity, IssueDTO.class);
}
@Override
@Transactional(rollbackFor = Exception.class)
public void save(IssueDTO dto) {
IssueEntity entity = ConvertUtils.sourceToTarget(dto, IssueEntity.class);
insert(entity);
}
@Override
@Transactional(rollbackFor = Exception.class)
public void update(IssueDTO dto) {
IssueEntity entity = ConvertUtils.sourceToTarget(dto, IssueEntity.class);
updateById(entity);
}
@Override
@Transactional(rollbackFor = Exception.class)
public void delete(String[] ids) {
// 逻辑删除(@TableLogic 注解)
baseDao.deleteBatchIds(Arrays.asList(ids));
}
}

94
esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/controller/ItemController.java

@ -0,0 +1,94 @@
/**
* 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.modules.item.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.item.ItemDTO;
import com.elink.esua.epdc.modules.item.excel.ItemExcel;
import com.elink.esua.epdc.modules.item.service.ItemService;
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 yujintao yujintao@elink-cn.com
* @since v1.0.0 2019-09-04
*/
@RestController
@RequestMapping("item")
public class ItemController {
@Autowired
private ItemService itemService;
@GetMapping("page")
public Result<PageData<ItemDTO>> page(@RequestParam Map<String, Object> params){
PageData<ItemDTO> page = itemService.page(params);
return new Result<PageData<ItemDTO>>().ok(page);
}
@GetMapping("{id}")
public Result<ItemDTO> get(@PathVariable("id") String id){
ItemDTO data = itemService.get(id);
return new Result<ItemDTO>().ok(data);
}
@PostMapping
public Result save(@RequestBody ItemDTO dto){
//效验数据
ValidatorUtils.validateEntity(dto, AddGroup.class, DefaultGroup.class);
itemService.save(dto);
return new Result();
}
@PutMapping
public Result update(@RequestBody ItemDTO dto){
//效验数据
ValidatorUtils.validateEntity(dto, UpdateGroup.class, DefaultGroup.class);
itemService.update(dto);
return new Result();
}
@DeleteMapping
public Result delete(@RequestBody String[] ids){
//效验数据
AssertUtils.isArrayEmpty(ids, "id");
itemService.delete(ids);
return new Result();
}
@GetMapping("export")
public void export(@RequestParam Map<String, Object> params, HttpServletResponse response) throws Exception {
List<ItemDTO> list = itemService.list(params);
ExcelUtils.exportExcelToTarget(response, null, list, ItemExcel.class);
}
}

33
esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/dao/ItemDao.java

@ -0,0 +1,33 @@
/**
* 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.modules.item.dao;
import com.elink.esua.epdc.commons.mybatis.dao.BaseDao;
import com.elink.esua.epdc.modules.item.entity.ItemEntity;
import org.apache.ibatis.annotations.Mapper;
/**
* 项目表 项目表
*
* @author yujintao yujintao@elink-cn.com
* @since v1.0.0 2019-09-04
*/
@Mapper
public interface ItemDao extends BaseDao<ItemEntity> {
}

147
esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/entity/ItemEntity.java

@ -0,0 +1,147 @@
/**
* 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.modules.item.entity;
import com.baomidou.mybatisplus.annotation.TableName;
import com.elink.esua.epdc.commons.mybatis.entity.BaseEpdcEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.math.BigDecimal;
import java.util.Date;
/**
* 项目表 项目表
*
* @author yujintao yujintao@elink-cn.com
* @since v1.0.0 2019-09-04
*/
@Data
@EqualsAndHashCode(callSuper=false)
@TableName("epdc_item")
public class ItemEntity extends BaseEpdcEntity {
private static final long serialVersionUID = 1L;
/**
* 事件ID
*/
private String eventId;
/**
* 议题ID
*/
private String issueId;
/**
* 用户ID
*/
private String userId;
/**
* 用户昵称
*/
private String nickName;
/**
* 用户头像
*/
private String userFace;
/**
* 议题内容
*/
private String issueContent;
/**
*
*/
private String area;
/**
* 区ID
*/
private String areaId;
/**
* 街道
*/
private String street;
/**
* 街道ID
*/
private String streetId;
/**
* 社区
*/
private String community;
/**
* 社区ID
*/
private String communityId;
/**
* 网格
*/
private String grid;
/**
* 网格ID
*/
private String gridId;
/**
* 议题位置地址
*/
private String issueAddress;
/**
* 议题分类ID
*/
private String issueCategoryId;
/**
* 议题位置纬度
*/
private BigDecimal issusLatitude;
/**
* 议题位置经度
*/
private BigDecimal issueLongitude;
/**
* 友邻社区ID
*/
private String friendlyCommunityId;
/**
* 评价打分
*/
private Integer issueScore;
/**
* 项目状态 0-待网格长处理5-待社区处理10-待街道党建办处理15-待街道处理20-待区直部门党建办处理25-待区直部门处理30-处理35-关闭40-结束议题
*/
private Integer itemState;
}

120
esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/excel/ItemExcel.java

@ -0,0 +1,120 @@
/**
* 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.modules.item.excel;
import cn.afterturn.easypoi.excel.annotation.Excel;
import lombok.Data;
import java.math.BigDecimal;
import java.util.Date;
/**
* 项目表 项目表
*
* @author yujintao yujintao@elink-cn.com
* @since v1.0.0 2019-09-04
*/
@Data
public class ItemExcel {
@Excel(name = "ID")
private String id;
@Excel(name = "事件ID")
private String eventId;
@Excel(name = "议题ID")
private String issueId;
@Excel(name = "用户ID")
private String userId;
@Excel(name = "用户昵称")
private String nickName;
@Excel(name = "用户头像")
private String userFace;
@Excel(name = "议题内容")
private String issueContent;
@Excel(name = "区")
private String area;
@Excel(name = "区ID")
private String areaId;
@Excel(name = "街道")
private String street;
@Excel(name = "街道ID")
private String streetId;
@Excel(name = "社区")
private String community;
@Excel(name = "社区ID")
private String communityId;
@Excel(name = "网格")
private String grid;
@Excel(name = "网格ID")
private String gridId;
@Excel(name = "议题位置地址")
private String issueAddress;
@Excel(name = "议题分类ID")
private String issueCategoryId;
@Excel(name = "议题位置纬度")
private BigDecimal issusLatitude;
@Excel(name = "议题位置经度")
private BigDecimal issueLongitude;
@Excel(name = "友邻社区ID")
private String friendlyCommunityId;
@Excel(name = "评价打分")
private Integer issueScore;
@Excel(name = "项目状态 0-待网格长处理,5-待社区处理,10-待街道党建办处理,15-待街道处理,20-待区直部门党建办处理,25-待区直部门处理,30-处理,35-关闭,40-结束议题")
private Integer itemState;
@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;
}

47
esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/redis/ItemRedis.java

@ -0,0 +1,47 @@
/**
* 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.modules.item.redis;
import com.elink.esua.epdc.commons.tools.redis.RedisUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
/**
* 项目表 项目表
*
* @author yujintao yujintao@elink-cn.com
* @since v1.0.0 2019-09-04
*/
@Component
public class ItemRedis {
@Autowired
private RedisUtils redisUtils;
public void delete(Object[] ids) {
}
public void set(){
}
public String get(String id){
return null;
}
}

95
esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/service/ItemService.java

@ -0,0 +1,95 @@
/**
* 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.modules.item.service;
import com.elink.esua.epdc.commons.mybatis.service.BaseService;
import com.elink.esua.epdc.commons.tools.page.PageData;
import com.elink.esua.epdc.dto.item.ItemDTO;
import com.elink.esua.epdc.modules.item.entity.ItemEntity;
import java.util.List;
import java.util.Map;
/**
* 项目表 项目表
*
* @author yujintao yujintao@elink-cn.com
* @since v1.0.0 2019-09-04
*/
public interface ItemService extends BaseService<ItemEntity> {
/**
* 默认分页
*
* @param params
* @return PageData<ItemDTO>
* @author
* @date
*/
PageData<ItemDTO> page(Map<String, Object> params);
/**
* 默认查询
*
* @param params
* @return java.util.List<ItemDTO>
* @author
* @date
*/
List<ItemDTO> list(Map<String, Object> params);
/**
* 单条查询
*
* @param id
* @return ItemDTO
* @author
* @date
*/
ItemDTO get(String id);
/**
* 默认保存
*
* @param dto
* @return void
* @author
* @date
*/
void save(ItemDTO dto);
/**
* 默认更新
*
* @param dto
* @return void
* @author
* @date
*/
void update(ItemDTO dto);
/**
* 批量删除
*
* @param ids
* @return void
* @author
* @date
*/
void delete(String[] ids);
}

104
esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/service/impl/ItemServiceImpl.java

@ -0,0 +1,104 @@
/**
* 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.modules.item.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.page.PageData;
import com.elink.esua.epdc.commons.tools.utils.ConvertUtils;
import com.elink.esua.epdc.dto.item.ItemDTO;
import com.elink.esua.epdc.modules.item.dao.ItemDao;
import com.elink.esua.epdc.modules.item.entity.ItemEntity;
import com.elink.esua.epdc.modules.item.redis.ItemRedis;
import com.elink.esua.epdc.modules.item.service.ItemService;
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 yujintao yujintao@elink-cn.com
* @since v1.0.0 2019-09-04
*/
@Service
public class ItemServiceImpl extends BaseServiceImpl<ItemDao, ItemEntity> implements ItemService {
@Autowired
private ItemRedis itemRedis;
@Override
public PageData<ItemDTO> page(Map<String, Object> params) {
IPage<ItemEntity> page = baseDao.selectPage(
getPage(params, FieldConstant.CREATED_TIME, false),
getWrapper(params)
);
return getPageData(page, ItemDTO.class);
}
@Override
public List<ItemDTO> list(Map<String, Object> params) {
List<ItemEntity> entityList = baseDao.selectList(getWrapper(params));
return ConvertUtils.sourceToTarget(entityList, ItemDTO.class);
}
private QueryWrapper<ItemEntity> getWrapper(Map<String, Object> params){
String id = (String)params.get(FieldConstant.ID_HUMP);
QueryWrapper<ItemEntity> wrapper = new QueryWrapper<>();
wrapper.eq(StringUtils.isNotBlank(id), FieldConstant.ID, id);
return wrapper;
}
@Override
public ItemDTO get(String id) {
ItemEntity entity = baseDao.selectById(id);
return ConvertUtils.sourceToTarget(entity, ItemDTO.class);
}
@Override
@Transactional(rollbackFor = Exception.class)
public void save(ItemDTO dto) {
ItemEntity entity = ConvertUtils.sourceToTarget(dto, ItemEntity.class);
insert(entity);
}
@Override
@Transactional(rollbackFor = Exception.class)
public void update(ItemDTO dto) {
ItemEntity entity = ConvertUtils.sourceToTarget(dto, ItemEntity.class);
updateById(entity);
}
@Override
@Transactional(rollbackFor = Exception.class)
public void delete(String[] ids) {
// 逻辑删除(@TableLogic 注解)
baseDao.deleteBatchIds(Arrays.asList(ids));
}
}

4
esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/resources/application.yml

@ -49,12 +49,12 @@ management:
mybatis-plus:
mapper-locations: classpath:/mapper/**/*.xml
#实体扫描,多个package用逗号或者分号分隔
typeAliasesPackage: io.renren.entity;com.elink.esua.epdc.entity
typeAliasesPackage: com.elink.esua.epdc.modules.*.entity
global-config:
#数据库相关配置
db-config:
#主键类型 AUTO:"数据库ID自增", INPUT:"用户输入ID", ID_WORKER:"全局唯一ID (数字类型唯一ID)", UUID:"全局唯一ID UUID";
id-type: ID_WORKER
id-type: UUID
#字段策略 IGNORED:"忽略判断",NOT_NULL:"非 NULL 判断"),NOT_EMPTY:"非空判断"
field-strategy: NOT_NULL
#驼峰下划线转换

21
esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/resources/mapper/category/EventCategoryDao.xml

@ -0,0 +1,21 @@
<?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">
<mapper namespace="com.elink.esua.epdc.modules.category.dao.EventCategoryDao">
<resultMap type="com.elink.esua.epdc.modules.category.entity.EventCategoryEntity" id="eventCategoryMap">
<result property="id" column="ID"/>
<result property="categoryName" column="CATEGORY_NAME"/>
<result property="categoryCode" column="CATEGORY_CODE"/>
<result property="description" column="DESCRIPTION"/>
<result property="sort" column="SORT"/>
<result property="delFlag" column="DEL_FLAG"/>
<result property="revision" column="REVISION"/>
<result property="createdBy" column="CREATED_BY"/>
<result property="createdTime" column="CREATED_TIME"/>
<result property="updatedBy" column="UPDATED_BY"/>
<result property="updatedTime" column="UPDATED_TIME"/>
</resultMap>
</mapper>

22
esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/resources/mapper/events/EpdcEventsDao.xml

@ -0,0 +1,22 @@
<?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">
<mapper namespace="com.elink.esua.epdc.modules.events.dao.EpdcEventsDao">
<select id="getEventDetailById" resultType="com.elink.esua.epdc.dto.events.EpdcEventsDetailDTO">
SELECT
e.ID,
e.ISSUE_CONTENT AS issueContent,
i.IMG_URL AS images,
e.NICK_NAME AS nickName,
e.CREATED_TIME AS createdTime
FROM
epdc_events e
LEFT JOIN epdc_img i ON e.ID = i.REFERENCE_ID
AND i.DEL_FLAG = '0'
WHERE
e.DEL_FLAG = '0'
AND e.ID = #{id}
ORDER BY
i.CREATED_TIME
</select>
</mapper>

6
esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/resources/mapper/issue/IssueDao.xml

@ -0,0 +1,6 @@
<?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">
<mapper namespace="com.elink.esua.epdc.modules.issue.dao.IssueDao">
</mapper>

6
esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/resources/mapper/issue/IssueHandleDao.xml

@ -0,0 +1,6 @@
<?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">
<mapper namespace="com.elink.esua.epdc.modules.issue.dao.IssueHandleDao">
</mapper>

38
esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/resources/mapper/item/ItemDao.xml

@ -0,0 +1,38 @@
<?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">
<mapper namespace="com.elink.esua.epdc.modules.item.dao.ItemDao">
<resultMap type="com.elink.esua.epdc.modules.item.entity.ItemEntity" id="itemMap">
<result property="id" column="ID"/>
<result property="eventId" column="EVENT_ID"/>
<result property="issueId" column="ISSUE_ID"/>
<result property="userId" column="USER_ID"/>
<result property="nickName" column="NICK_NAME"/>
<result property="userFace" column="USER_FACE"/>
<result property="issueContent" column="ISSUE_CONTENT"/>
<result property="area" column="AREA"/>
<result property="areaId" column="AREA_ID"/>
<result property="street" column="STREET"/>
<result property="streetId" column="STREET_ID"/>
<result property="community" column="COMMUNITY"/>
<result property="communityId" column="COMMUNITY_ID"/>
<result property="grid" column="GRID"/>
<result property="gridId" column="GRID_ID"/>
<result property="issueAddress" column="ISSUE_ADDRESS"/>
<result property="issueCategoryId" column="ISSUE_CATEGORY_ID"/>
<result property="issusLatitude" column="ISSUS_LATITUDE"/>
<result property="issueLongitude" column="ISSUE_LONGITUDE"/>
<result property="friendlyCommunityId" column="FRIENDLY_COMMUNITY_ID"/>
<result property="issueScore" column="ISSUE_SCORE"/>
<result property="itemState" column="ITEM_STATE"/>
<result property="delFlag" column="DEL_FLAG"/>
<result property="revision" column="REVISION"/>
<result property="createdBy" column="CREATED_BY"/>
<result property="createdTime" column="CREATED_TIME"/>
<result property="updatedBy" column="UPDATED_BY"/>
<result property="updatedTime" column="UPDATED_TIME"/>
</resultMap>
</mapper>

10
esua-epdc/epdc-module/epdc-news/epdc-news-client/pom.xml

@ -12,5 +12,15 @@
<artifactId>epdc-news-client</artifactId>
<packaging>jar</packaging>
<dependencies>
<dependency>
<groupId>com.esua.epdc</groupId>
<artifactId>epdc-commons-tools</artifactId>
<version>1.0.0</version>
</dependency>
</dependencies>
<build>
<finalName>${project.artifactId}</finalName>
</build>
</project>

89
esua-epdc/epdc-module/epdc-news/epdc-news-client/src/main/java/com/elink/esua/epdc/dto/NewsCategoryDTO.java

@ -0,0 +1,89 @@
/**
* 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 java.io.Serializable;
import java.util.Date;
import lombok.Data;
/**
* 新闻类别表
*
* @author qu qu@elink-cn.com
* @since v1.0.0 2019-09-04
*/
@Data
public class NewsCategoryDTO implements Serializable {
private static final long serialVersionUID = 1L;
/**
* ID
*/
private String id;
/**
* 类别名称
*/
private String categoryName;
/**
* 类别编码
*/
private String categoryCode;
/**
* 描述
*/
private String description;
/**
* 排序
*/
private Integer sort;
/**
* 删除标识 0未删除1已删除
*/
private String delFlag;
/**
* 乐观锁
*/
private Integer revision;
/**
* 创建人
*/
private String createdBy;
/**
* 创建时间
*/
private Date createdTime;
/**
* 更新人
*/
private String updatedBy;
/**
* 更新时间
*/
private Date updatedTime;
}

101
esua-epdc/epdc-module/epdc-news/epdc-news-client/src/main/java/com/elink/esua/epdc/dto/NoticeDTO.java

@ -0,0 +1,101 @@
/**
* 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 java.io.Serializable;
import java.util.Date;
import lombok.Data;
/**
* 通知表
*
* @author yujintao yujintao@elink-cn.com
* @since v1.0.0 2019-09-04
*/
@Data
public class NoticeDTO implements Serializable {
private static final long serialVersionUID = 37499709778679686L;
/**
* 主键
*/
private String id;
/**
* 通知标题
*/
private String noticeTitle;
/**
* 通知内容
*/
private String noticeContent;
/**
* 发布通知者姓名
*/
private String creatorName;
/**
* 发布通知部门
*/
private String dept;
/**
* 发布通知部门ID
*/
private Long deptId;
/**
* 阅读量
*/
private Integer readingAmount;
/**
* 乐观锁
*/
private Integer revision;
/**
* 创建人
*/
private String createdBy;
/**
* 创建时间
*/
private Date createdTime;
/**
* 更新人
*/
private String updatedBy;
/**
* 更新时间
*/
private Date updatedTime;
/**
* 删除标记
*/
private String delFlag;
}

12
esua-epdc/epdc-module/epdc-news/epdc-news-server/pom.xml

@ -86,10 +86,10 @@
<spring.redis.password>elink@888</spring.redis.password>
<spring.datasource.druid.url>
<![CDATA[jdbc:mysql://47.104.224.45:3308/esua_epdc_job?allowMultiQueries=true&useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=Asia/Shanghai]]>
<![CDATA[jdbc:mysql://47.104.224.45:3308/esua_epdc_news?allowMultiQueries=true&useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=Asia/Shanghai]]>
</spring.datasource.druid.url>
<spring.datasource.druid.username>epdc</spring.datasource.druid.username>
<spring.datasource.druid.password>elink888</spring.datasource.druid.password>
<spring.datasource.druid.password>elink833066</spring.datasource.druid.password>
<nacos.register-enabled>false</nacos.register-enabled>
<nacos.server-addr>47.104.224.45:8848</nacos.server-addr>
@ -109,10 +109,10 @@
<spring.redis.password>elink@888</spring.redis.password>
<spring.datasource.druid.url>
<![CDATA[jdbc:mysql://47.104.224.45:3308/esua_epdc_job?allowMultiQueries=true&useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=Asia/Shanghai]]>
<![CDATA[jdbc:mysql://47.104.224.45:3308/esua_epdc_news?allowMultiQueries=true&useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=Asia/Shanghai]]>
</spring.datasource.druid.url>
<spring.datasource.druid.username>epdc</spring.datasource.druid.username>
<spring.datasource.druid.password>elink888</spring.datasource.druid.password>
<spring.datasource.druid.password>elink833066</spring.datasource.druid.password>
<nacos.register-enabled>false</nacos.register-enabled>
<nacos.server-addr>47.104.224.45:8848</nacos.server-addr>
@ -132,10 +132,10 @@
<spring.redis.password>elink@888</spring.redis.password>
<spring.datasource.druid.url>
<![CDATA[jdbc:mysql://47.104.224.45:3308/esua_epdc_job?allowMultiQueries=true&useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=Asia/Shanghai]]>
<![CDATA[jdbc:mysql://47.104.224.45:3308/esua_epdc_news?allowMultiQueries=true&useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=Asia/Shanghai]]>
</spring.datasource.druid.url>
<spring.datasource.druid.username>epdc</spring.datasource.druid.username>
<spring.datasource.druid.password>elink888</spring.datasource.druid.password>
<spring.datasource.druid.password>elink833066</spring.datasource.druid.password>
<nacos.register-enabled>false</nacos.register-enabled>
<nacos.server-addr>47.104.224.45:8848</nacos.server-addr>

106
esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/java/com/elink/esua/epdc/controller/NewsCategoryController.java

@ -0,0 +1,106 @@
/**
* 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.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.NewsCategoryDTO;
import com.elink.esua.epdc.excel.NewsCategoryExcel;
import com.elink.esua.epdc.service.NewsCategoryService;
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 qu qu@elink-cn.com
* @since v1.0.0 2019-09-04
*/
@RestController
@RequestMapping("newscategory")
public class NewsCategoryController {
@Autowired
private NewsCategoryService newsCategoryService;
@GetMapping("page")
public Result<PageData<NewsCategoryDTO>> page(@RequestParam Map<String, Object> params){
PageData<NewsCategoryDTO> page = newsCategoryService.page(params);
return new Result<PageData<NewsCategoryDTO>>().ok(page);
}
@GetMapping("{id}")
public Result<NewsCategoryDTO> get(@PathVariable("id") String id){
NewsCategoryDTO data = newsCategoryService.get(id);
return new Result<NewsCategoryDTO>().ok(data);
}
@PostMapping
public Result save(@RequestBody NewsCategoryDTO dto){
//效验数据
ValidatorUtils.validateEntity(dto, AddGroup.class, DefaultGroup.class);
if(newsCategoryService.checkCodeCategory(dto.getCategoryCode(),dto.getId())>0){
return new Result().error("类别编码已存在");
}
if(newsCategoryService.checkNameCategory(dto.getCategoryName(),dto.getId())>0){
return new Result().error("类别名称已存在");
}
newsCategoryService.save(dto);
return new Result();
}
@PutMapping
public Result update(@RequestBody NewsCategoryDTO dto){
//效验数据
ValidatorUtils.validateEntity(dto, UpdateGroup.class, DefaultGroup.class);
if(newsCategoryService.checkCodeCategory(dto.getCategoryCode(),dto.getId())>0){
return new Result().error("类别编码已存在");
}
if(newsCategoryService.checkNameCategory(dto.getCategoryName(),dto.getId())>0){
return new Result().error("类别名称已存在");
}
newsCategoryService.update(dto);
return new Result();
}
@DeleteMapping
public Result delete(@RequestBody String[] ids){
//效验数据
AssertUtils.isArrayEmpty(ids, "id");
newsCategoryService.delete(ids);
return new Result();
}
@GetMapping("export")
public void export(@RequestParam Map<String, Object> params, HttpServletResponse response) throws Exception {
List<NewsCategoryDTO> list = newsCategoryService.list(params);
ExcelUtils.exportExcelToTarget(response, null, list, NewsCategoryExcel.class);
}
}

94
esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/java/com/elink/esua/epdc/controller/NoticeController.java

@ -0,0 +1,94 @@
/**
* 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.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.NoticeDTO;
import com.elink.esua.epdc.excel.NoticeExcel;
import com.elink.esua.epdc.service.NoticeService;
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 yujintao yujintao@elink-cn.com
* @since v1.0.0 2019-09-04
*/
@RestController
@RequestMapping("/notice")
public class NoticeController {
@Autowired
private NoticeService noticeService;
@GetMapping("page")
public Result<PageData<NoticeDTO>> page(@RequestParam Map<String, Object> params){
PageData<NoticeDTO> page = noticeService.page(params);
return new Result<PageData<NoticeDTO>>().ok(page);
}
@GetMapping("{id}")
public Result<NoticeDTO> get(@PathVariable("id") String id){
NoticeDTO data = noticeService.get(id);
return new Result<NoticeDTO>().ok(data);
}
@PostMapping
public Result save(@RequestBody NoticeDTO dto){
//效验数据
ValidatorUtils.validateEntity(dto, AddGroup.class, DefaultGroup.class);
noticeService.save(dto);
return new Result();
}
@PutMapping
public Result update(@RequestBody NoticeDTO dto){
//效验数据
ValidatorUtils.validateEntity(dto, UpdateGroup.class, DefaultGroup.class);
noticeService.update(dto);
return new Result();
}
@DeleteMapping
public Result delete(@RequestBody String[] ids){
//效验数据
AssertUtils.isArrayEmpty(ids, "id");
noticeService.delete(ids);
return new Result();
}
@GetMapping("export")
public void export(@RequestParam Map<String, Object> params, HttpServletResponse response) throws Exception {
List<NoticeDTO> list = noticeService.list(params);
ExcelUtils.exportExcelToTarget(response, null, list, NoticeExcel.class);
}
}

39
esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/java/com/elink/esua/epdc/dao/NewsCategoryDao.java

@ -0,0 +1,39 @@
/**
* 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.dao;
import com.elink.esua.epdc.commons.mybatis.dao.BaseDao;
import com.elink.esua.epdc.entity.NewsCategoryEntity;
import org.apache.ibatis.annotations.Mapper;
import java.util.Map;
/**
* 新闻类别表
*
* @author qu qu@elink-cn.com
* @since v1.0.0 2019-09-04
*/
@Mapper
public interface NewsCategoryDao extends BaseDao<NewsCategoryEntity> {
int selectCodeCount(String categoryCode,String id);
int selectNameCount(String categoryName,String id);
}

33
esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/java/com/elink/esua/epdc/dao/NoticeDao.java

@ -0,0 +1,33 @@
/**
* 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.dao;
import com.elink.esua.epdc.commons.mybatis.dao.BaseDao;
import com.elink.esua.epdc.entity.NoticeEntity;
import org.apache.ibatis.annotations.Mapper;
/**
* 通知表
*
* @author yujintao yujintao@elink-cn.com
* @since v1.0.0 2019-09-04
*/
@Mapper
public interface NoticeDao extends BaseDao<NoticeEntity> {
}

61
esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/java/com/elink/esua/epdc/entity/NewsCategoryEntity.java

@ -0,0 +1,61 @@
/**
* 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.entity;
import com.baomidou.mybatisplus.annotation.TableName;
import com.elink.esua.epdc.commons.mybatis.entity.BaseEpdcEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.util.Date;
/**
* 新闻类别表
*
* @author qu qu@elink-cn.com
* @since v1.0.0 2019-09-04
*/
@Data
@EqualsAndHashCode(callSuper=false)
@TableName("epdc_news_category")
public class NewsCategoryEntity extends BaseEpdcEntity {
private static final long serialVersionUID = 1L;
/**
* 类别名称
*/
private String categoryName;
/**
* 类别编码
*/
private String categoryCode;
/**
* 描述
*/
private String description;
/**
* 排序
*/
private Integer sort;
}

73
esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/java/com/elink/esua/epdc/entity/NoticeEntity.java

@ -0,0 +1,73 @@
/**
* 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.entity;
import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.elink.esua.epdc.commons.mybatis.entity.BaseEpdcEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
/**
* 通知表
*
* @author yujintao yujintao@elink-cn.com
* @since v1.0.0 2019-09-04
*/
@Data
@EqualsAndHashCode(callSuper = false)
@TableName("epdc_notice")
public class NoticeEntity extends BaseEpdcEntity {
private static final long serialVersionUID = -6126856752206177133L;
/**
* 通知标题
*/
private String noticeTitle;
/**
* 通知内容
*/
private String noticeContent;
/**
* 发布通知者姓名
*/
private String creatorName;
/**
* 发布通知部门
*/
private String dept;
/**
* 发布通知部门ID
*/
@TableField(fill = FieldFill.DEFAULT)
private Long deptId;
/**
* 阅读量
*/
private Integer readingAmount;
}

68
esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/java/com/elink/esua/epdc/excel/NewsCategoryExcel.java

@ -0,0 +1,68 @@
/**
* 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.excel;
import cn.afterturn.easypoi.excel.annotation.Excel;
import lombok.Data;
import java.util.Date;
/**
* 新闻类别表
*
* @author qu qu@elink-cn.com
* @since v1.0.0 2019-09-04
*/
@Data
public class NewsCategoryExcel {
@Excel(name = "ID")
private String id;
@Excel(name = "类别名称")
private String categoryName;
@Excel(name = "类别编码")
private String categoryCode;
@Excel(name = "描述")
private String description;
@Excel(name = "排序")
private Integer 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;
}

71
esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/java/com/elink/esua/epdc/excel/NoticeExcel.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.excel;
import cn.afterturn.easypoi.excel.annotation.Excel;
import lombok.Data;
import java.util.Date;
/**
* 通知表
*
* @author yujintao yujintao@elink-cn.com
* @since v1.0.0 2019-09-04
*/
@Data
public class NoticeExcel {
@Excel(name = "主键")
private String id;
@Excel(name = "通知标题")
private String noticeTitle;
@Excel(name = "通知内容")
private String noticeContent;
@Excel(name = "发布通知部门")
private String dept;
@Excel(name = "发布通知部门ID")
private String deptId;
@Excel(name = "阅读量")
private Integer readingAmount;
@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;
@Excel(name = "删除标记")
private String delFlag;
}

47
esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/java/com/elink/esua/epdc/redis/NewsCategoryRedis.java

@ -0,0 +1,47 @@
/**
* 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.news.redis;
import com.elink.esua.epdc.commons.tools.redis.RedisUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
/**
* 新闻类别表
*
* @author qu qu@elink-cn.com
* @since v1.0.0 2019-09-04
*/
@Component
public class NewsCategoryRedis {
@Autowired
private RedisUtils redisUtils;
public void delete(Object[] ids) {
}
public void set(){
}
public String get(String id){
return null;
}
}

47
esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/java/com/elink/esua/epdc/redis/NoticeRedis.java

@ -0,0 +1,47 @@
/**
* 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.RedisUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
/**
* 通知表
*
* @author yujintao yujintao@elink-cn.com
* @since v1.0.0 2019-09-04
*/
@Component
public class NoticeRedis {
@Autowired
private RedisUtils redisUtils;
public void delete(Object[] ids) {
}
public void set(){
}
public String get(String id){
return null;
}
}

105
esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/java/com/elink/esua/epdc/service/NewsCategoryService.java

@ -0,0 +1,105 @@
/**
* 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.service;
import com.elink.esua.epdc.commons.mybatis.service.BaseService;
import com.elink.esua.epdc.commons.tools.page.PageData;
import com.elink.esua.epdc.dto.NewsCategoryDTO;
import com.elink.esua.epdc.entity.NewsCategoryEntity;
import java.util.List;
import java.util.Map;
/**
* 新闻类别表
*
* @author qu qu@elink-cn.com
* @since v1.0.0 2019-09-04
*/
public interface NewsCategoryService extends BaseService<NewsCategoryEntity> {
/**
* 默认分页
*
* @param params
* @return PageData<NewsCategoryDTO>
* @author
* @date
*/
PageData<NewsCategoryDTO> page(Map<String, Object> params);
/**
* 默认查询
*
* @param params
* @return java.util.List<NewsCategoryDTO>
* @author
* @date
*/
List<NewsCategoryDTO> list(Map<String, Object> params);
/**
* 单条查询
*
* @param id
* @return NewsCategoryDTO
* @author
* @date
*/
NewsCategoryDTO get(String id);
/**
* 默认保存
*
* @param dto
* @return void
* @author
* @date
*/
void save(NewsCategoryDTO dto);
/**
* 默认更新
*
* @param dto
* @return void
* @author
* @date
*/
void update(NewsCategoryDTO dto);
/**
* 批量删除
*
* @param ids
* @return void
* @author
* @date
*/
void delete(String[] ids);
/**
*
*/
int checkNameCategory(String categoryName,String id);
/**
*
*/
int checkCodeCategory(String categoryCode,String id);
}

95
esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/java/com/elink/esua/epdc/service/NoticeService.java

@ -0,0 +1,95 @@
/**
* 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.service;
import com.elink.esua.epdc.commons.mybatis.service.BaseService;
import com.elink.esua.epdc.commons.tools.page.PageData;
import com.elink.esua.epdc.dto.NoticeDTO;
import com.elink.esua.epdc.entity.NoticeEntity;
import java.util.List;
import java.util.Map;
/**
* 通知表
*
* @author yujintao yujintao@elink-cn.com
* @since v1.0.0 2019-09-04
*/
public interface NoticeService extends BaseService<NoticeEntity> {
/**
* 默认分页
*
* @param params
* @return PageData<NoticeDTO>
* @author
* @date
*/
PageData<NoticeDTO> page(Map<String, Object> params);
/**
* 默认查询
*
* @param params
* @return java.util.List<NoticeDTO>
* @author
* @date
*/
List<NoticeDTO> list(Map<String, Object> params);
/**
* 单条查询
*
* @param id
* @return NoticeDTO
* @author
* @date
*/
NoticeDTO get(String id);
/**
* 默认保存
*
* @param dto
* @return void
* @author
* @date
*/
void save(NoticeDTO dto);
/**
* 默认更新
*
* @param dto
* @return void
* @author
* @date
*/
void update(NoticeDTO dto);
/**
* 批量删除
*
* @param ids
* @return void
* @author
* @date
*/
void delete(String[] ids);
}

115
esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/java/com/elink/esua/epdc/service/impl/NewsCategoryServiceImpl.java

@ -0,0 +1,115 @@
/**
* 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.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.page.PageData;
import com.elink.esua.epdc.commons.tools.utils.ConvertUtils;
import com.elink.esua.epdc.commons.tools.constant.FieldConstant;
import com.elink.esua.epdc.dao.NewsCategoryDao;
import com.elink.esua.epdc.dto.NewsCategoryDTO;
import com.elink.esua.epdc.entity.NewsCategoryEntity;
import com.elink.esua.epdc.news.redis.NewsCategoryRedis;
import com.elink.esua.epdc.service.NewsCategoryService;
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 qu qu@elink-cn.com
* @since v1.0.0 2019-09-04
*/
@Service
public class NewsCategoryServiceImpl extends BaseServiceImpl<NewsCategoryDao, NewsCategoryEntity> implements NewsCategoryService {
@Autowired
private NewsCategoryRedis newsCategoryRedis;
@Override
public PageData<NewsCategoryDTO> page(Map<String, Object> params) {
IPage<NewsCategoryEntity> page = baseDao.selectPage(
getPage(params, FieldConstant.CREATED_TIME, false),
getWrapper(params)
);
return getPageData(page, NewsCategoryDTO.class);
}
@Override
public List<NewsCategoryDTO> list(Map<String, Object> params) {
List<NewsCategoryEntity> entityList = baseDao.selectList(getWrapper(params));
return ConvertUtils.sourceToTarget(entityList, NewsCategoryDTO.class);
}
private QueryWrapper<NewsCategoryEntity> getWrapper(Map<String, Object> params){
String id = (String)params.get(FieldConstant.ID_HUMP);
QueryWrapper<NewsCategoryEntity> wrapper = new QueryWrapper<>();
wrapper.eq(StringUtils.isNotBlank(id), FieldConstant.ID, id);
wrapper.orderByDesc("SORT");
return wrapper;
}
@Override
public NewsCategoryDTO get(String id) {
NewsCategoryEntity entity = baseDao.selectById(id);
return ConvertUtils.sourceToTarget(entity, NewsCategoryDTO.class);
}
@Override
@Transactional(rollbackFor = Exception.class)
public void save(NewsCategoryDTO dto) {
NewsCategoryEntity entity = ConvertUtils.sourceToTarget(dto, NewsCategoryEntity.class);
insert(entity);
}
@Override
@Transactional(rollbackFor = Exception.class)
public void update(NewsCategoryDTO dto) {
NewsCategoryEntity entity = ConvertUtils.sourceToTarget(dto, NewsCategoryEntity.class);
updateById(entity);
}
@Override
@Transactional(rollbackFor = Exception.class)
public void delete(String[] ids) {
// 逻辑删除(@TableLogic 注解)
baseDao.deleteBatchIds(Arrays.asList(ids));
}
@Override
public int checkNameCategory(String categoryName,String id) {
return baseDao.selectNameCount(categoryName,id);
}
@Override
public int checkCodeCategory(String categoryCode,String id) {
return baseDao.selectCodeCount(categoryCode,id);
}
}

117
esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/java/com/elink/esua/epdc/service/impl/NoticeServiceImpl.java

@ -0,0 +1,117 @@
/**
* 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.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.exception.RenException;
import com.elink.esua.epdc.commons.tools.page.PageData;
import com.elink.esua.epdc.commons.tools.security.user.SecurityUser;
import com.elink.esua.epdc.commons.tools.security.user.UserDetail;
import com.elink.esua.epdc.commons.tools.utils.ConvertUtils;
import com.elink.esua.epdc.commons.tools.constant.FieldConstant;
import com.elink.esua.epdc.dao.NoticeDao;
import com.elink.esua.epdc.dto.NoticeDTO;
import com.elink.esua.epdc.entity.NoticeEntity;
import com.elink.esua.epdc.redis.NoticeRedis;
import com.elink.esua.epdc.service.NoticeService;
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 yujintao yujintao@elink-cn.com
* @since v1.0.0 2019-09-04
*/
@Service
public class NoticeServiceImpl extends BaseServiceImpl<NoticeDao, NoticeEntity> implements NoticeService {
@Autowired
private NoticeRedis noticeRedis;
@Override
public PageData<NoticeDTO> page(Map<String, Object> params) {
IPage<NoticeEntity> page = baseDao.selectPage(
getPage(params, FieldConstant.CREATED_TIME, false),
getWrapper(params)
);
return getPageData(page, NoticeDTO.class);
}
@Override
public List<NoticeDTO> list(Map<String, Object> params) {
List<NoticeEntity> entityList = baseDao.selectList(getWrapper(params));
return ConvertUtils.sourceToTarget(entityList, NoticeDTO.class);
}
private QueryWrapper<NoticeEntity> getWrapper(Map<String, Object> params) {
String id = (String) params.get(FieldConstant.ID_HUMP);
QueryWrapper<NoticeEntity> wrapper = new QueryWrapper<>();
wrapper.eq(StringUtils.isNotBlank(id), FieldConstant.ID, id);
return wrapper;
}
@Override
public NoticeDTO get(String id) {
NoticeEntity entity = baseDao.selectById(id);
return ConvertUtils.sourceToTarget(entity, NoticeDTO.class);
}
@Override
@Transactional(rollbackFor = Exception.class)
public void save(NoticeDTO dto) {
UserDetail user = SecurityUser.getUser();
if (!user.getDeptIdList().contains(dto.getDeptId())) {
throw new RenException("您没有操作此部门的数据权限");
}
dto.setCreatorName(user.getRealName());
NoticeEntity entity = ConvertUtils.sourceToTarget(dto, NoticeEntity.class);
insert(entity);
}
@Override
@Transactional(rollbackFor = Exception.class)
public void update(NoticeDTO dto) {
UserDetail user = SecurityUser.getUser();
if (!user.getDeptIdList().contains(dto.getDeptId())) {
throw new RenException("您没有操作此部门的数据权限");
}
NoticeEntity entity = ConvertUtils.sourceToTarget(dto, NoticeEntity.class);
updateById(entity);
}
@Override
@Transactional(rollbackFor = Exception.class)
public void delete(String[] ids) {
//物理删除
baseDao.deleteBatchIds(Arrays.asList(ids));
}
}

41
esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/resources/mapper/NewsCategoryDao.xml

@ -0,0 +1,41 @@
<?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">
<mapper namespace="com.elink.esua.epdc.dao.NewsCategoryDao">
<resultMap type="com.elink.esua.epdc.entity.NewsCategoryEntity" id="newsCategoryMap">
<result property="id" column="ID"/>
<result property="categoryName" column="CATEGORY_NAME"/>
<result property="categoryCode" column="CATEGORY_CODE"/>
<result property="description" column="DESCRIPTION"/>
<result property="sort" column="SORT"/>
<result property="delFlag" column="DEL_FLAG"/>
<result property="revision" column="REVISION"/>
<result property="createdBy" column="CREATED_BY"/>
<result property="createdTime" column="CREATED_TIME"/>
<result property="updatedBy" column="UPDATED_BY"/>
<result property="updatedTime" column="UPDATED_TIME"/>
</resultMap>
<select id="selectCodeCount" resultType="int">
SELECT
COUNT(CATEGORY_CODE) AS codeCount
FROM
esua_epdc_news.epdc_news_category
WHERE
CATEGORY_CODE = #{categoryCode}
<if test="id!=null and id!=''">
AND id != #{id}
</if>
</select>
<select id="selectNameCount" resultType="int">
SELECT
COUNT(CATEGORY_NAME) AS codeCount
FROM
esua_epdc_news.epdc_news_category
WHERE
CATEGORY_NAME = #{categoryName}
<if test="id!=null and id!=''">
AND id != #{id}
</if>
</select>
</mapper>

2
esua-epdc/epdc-module/epdc-user/epdc-user-client/src/main/java/com/elink/esua/epdc/dto/PartyMembersDTO.java

@ -36,6 +36,8 @@ public class PartyMembersDTO implements Serializable {
private String tagIds;
private String[] tagIdsNew;
private String tagName;
private String id;

6
esua-epdc/epdc-module/epdc-user/epdc-user-client/src/main/java/com/elink/esua/epdc/dto/UserDTO.java

@ -155,5 +155,11 @@ public class UserDTO implements Serializable {
private String community;
private String communityId;
//干部下沉 0不
private String cadreFlag;
//是否通过 0不
private String pass;
private String tagIds;
}

2
esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/controller/PartyMembersController.java

@ -59,7 +59,7 @@ public class PartyMembersController {
@GetMapping("{id}")
public Result<PartyMembersDTO> get(@PathVariable("id") String id){
PartyMembersDTO data = partyMembersService.get(id);
data.setTagIdsNew(data.getTagIds().split(","));
return new Result<PartyMembersDTO>().ok(data);
}

15
esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/controller/UserController.java

@ -28,6 +28,7 @@ import com.elink.esua.epdc.commons.tools.validator.group.UpdateGroup;
import com.elink.esua.epdc.dto.UserDTO;
import com.elink.esua.epdc.excel.UserExcel;
import com.elink.esua.epdc.service.UserService;
import io.seata.spring.annotation.GlobalTransactional;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletResponse;
@ -81,6 +82,20 @@ public class UserController {
return new Result();
}
/**
* 审核
* @param dto
* @return
*/
@PostMapping("audit")
public Result audit(@RequestBody UserDTO dto){
//效验数据
ValidatorUtils.validateEntity(dto, UpdateGroup.class, DefaultGroup.class);
userService.audit(dto);
return new Result();
}
@DeleteMapping
public Result delete(@RequestBody String[] ids){
//效验数据

7
esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/dao/PartyTagRelationDao.java

@ -29,5 +29,8 @@ import org.apache.ibatis.annotations.Mapper;
*/
@Mapper
public interface PartyTagRelationDao extends BaseDao<PartyTagRelationEntity> {
}
void deleteByPartyId(String partyId);
}

5
esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/service/PartyTagRelationService.java

@ -44,4 +44,7 @@ public interface PartyTagRelationService extends BaseService<PartyTagRelationEnt
void update(PartyTagRelationDTO dto);
void delete(String[] ids);
}
void deleteByPartyId(String partyId);
}

2
esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/service/UserService.java

@ -44,4 +44,6 @@ public interface UserService extends BaseService<UserEntity> {
void update(UserDTO dto);
void delete(String[] ids);
void audit(UserDTO dto);
}

15
esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/service/impl/PartyMembersServiceImpl.java

@ -107,10 +107,8 @@ public class PartyMembersServiceImpl extends BaseServiceImpl<PartyMembersDao, Pa
insert(entity);
JSONArray jsonArray = JSON.parseArray(dto.getTagIds());
for (int i = 0; i<jsonArray.size(); i++){
String tagId = jsonArray.getString(i);
PartyTagRelationDTO partyTagRelationDTO = new PartyTagRelationDTO();
partyTagRelationDTO.setPartyId(entity.getId());
partyTagRelationDTO.setTagId(tagId);
@ -122,8 +120,19 @@ public class PartyMembersServiceImpl extends BaseServiceImpl<PartyMembersDao, Pa
@Transactional(rollbackFor = Exception.class)
public void update(PartyMembersDTO dto) {
PartyMembersEntity entity = ConvertUtils.sourceToTarget(dto, PartyMembersEntity.class);
updateById(entity);
partyTagRelationService.deleteByPartyId(entity.getId());
JSONArray jsonArray = JSON.parseArray(dto.getTagIds());
for (int i = 0; i<jsonArray.size(); i++){
String tagId = jsonArray.getString(i);
PartyTagRelationDTO partyTagRelationDTO = new PartyTagRelationDTO();
partyTagRelationDTO.setPartyId(entity.getId());
partyTagRelationDTO.setTagId(tagId);
partyTagRelationService.save(partyTagRelationDTO);
}
}
@Override

5
esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/service/impl/PartyTagRelationServiceImpl.java

@ -110,4 +110,9 @@ public class PartyTagRelationServiceImpl extends BaseServiceImpl<PartyTagRelatio
baseDao.deleteBatchIds(Arrays.asList(ids));
}
@Override
@Transactional(rollbackFor = Exception.class)
public void deleteByPartyId(String partyId) {
baseDao.deleteByPartyId(partyId);
}
}

24
esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/service/impl/UserServiceImpl.java

@ -25,10 +25,16 @@ import com.elink.esua.epdc.commons.tools.constant.Constant;
import com.elink.esua.epdc.commons.tools.constant.FieldConstant;
import com.elink.esua.epdc.commons.tools.page.PageData;
import com.elink.esua.epdc.commons.tools.utils.ConvertUtils;
import com.elink.esua.epdc.dao.PartyMembersDao;
import com.elink.esua.epdc.dao.UserDao;
import com.elink.esua.epdc.dto.PartyMembersDTO;
import com.elink.esua.epdc.dto.PartyTagRelationDTO;
import com.elink.esua.epdc.dto.UserDTO;
import com.elink.esua.epdc.entity.PartyMembersEntity;
import com.elink.esua.epdc.entity.UserEntity;
import com.elink.esua.epdc.redis.UserRedis;
import com.elink.esua.epdc.service.PartyMembersService;
import com.elink.esua.epdc.service.PartyTagRelationService;
import com.elink.esua.epdc.service.UserService;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
@ -50,6 +56,9 @@ public class UserServiceImpl extends BaseServiceImpl<UserDao, UserEntity> implem
@Autowired
private UserRedis userRedis;
@Autowired
private PartyMembersService partyMembersService;
@Override
public PageData<UserDTO> page(Map<String, Object> params) {
IPage<UserEntity> page = baseDao.selectPage(
@ -67,6 +76,7 @@ public class UserServiceImpl extends BaseServiceImpl<UserDao, UserEntity> implem
}
private QueryWrapper<UserEntity> getWrapper(Map<String, Object> params){
String auditState= (String) params.get("auditState");
String id = (String)params.get("id");
String streetId=(String) params.get("streetId");
String communityId=(String) params.get("communityId");
@ -87,6 +97,7 @@ public class UserServiceImpl extends BaseServiceImpl<UserDao, UserEntity> implem
wrapper.eq(StringUtils.isNotBlank(identityNo),"IDENTITY_NO",identityNo);
wrapper.ge(StringUtils.isNotBlank(startTime),"REGISTER_TIME",startTime);
wrapper.lt(StringUtils.isNotBlank(endTime),"REGISTER_TIME",endTime);
wrapper.eq(StringUtils.isNotBlank(auditState),"STATE",auditState);
// wrapper.eq(Constant.DEL_FLAG, DelFlagEnum.NORMAL.value());
return wrapper;
}
@ -124,4 +135,17 @@ public class UserServiceImpl extends BaseServiceImpl<UserDao, UserEntity> implem
baseDao.deleteBatchIds(Arrays.asList(ids));
}
@Override
public void audit(UserDTO dto) {
UserEntity entity = ConvertUtils.sourceToTarget(dto, UserEntity.class);
updateById(entity);
if("1".equals(dto.getPass())){
PartyMembersDTO partyMembersDTO=ConvertUtils.sourceToTarget(dto, PartyMembersDTO.class);
partyMembersDTO.setStreetName(dto.getStreet());
partyMembersDTO.setCommunityName(dto.getCommunity());
partyMembersDTO.setGridName(dto.getGrid());
partyMembersService.save(partyMembersDTO);
}
}
}

3
esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/resources/mapper/PartyMembersDao.xml

@ -61,6 +61,8 @@
and pm.ID = partytag.PARTY_ID
and tag.ID = partytag.TAG_ID
and pm.DEL_FLAG = '0'
and partytag.DEL_FLAG = '0'
and tag.DEL_FLAG = '0'
<if test="realName != null and realName != '' ">
and pm.REAL_NAME = #{realName}
</if>
@ -100,6 +102,7 @@
and pm.ID = partytag.PARTY_ID
and pm.ID = #{id}
and pm.DEL_FLAG = '0'
and partytag.DEL_FLAG = '0'
</select>

23
esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/resources/mapper/PartyTagRelationDao.xml

@ -0,0 +1,23 @@
<?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">
<mapper namespace="com.elink.esua.epdc.dao.PartyTagRelationDao">
<resultMap type="com.elink.esua.epdc.entity.PartyTagRelationEntity" id="partyTagRelationMap">
<result property="id" column="ID"/>
<result property="partyId" column="PARTY_ID"/>
<result property="tagId" column="TAG_ID"/>
<result property="revision" column="REVISION"/>
<result property="createdBy" column="CREATED_BY"/>
<result property="createdTime" column="CREATED_TIME"/>
<result property="updatedBy" column="UPDATED_BY"/>
<result property="updatedTime" column="UPDATED_TIME"/>
<result property="delFlag" column="DEL_FLAG"/>
</resultMap>
<update id="deleteByPartyId">
UPDATE epdc_party_tag_relation SET DEL_FLAG = '1' WHERE PARTY_ID = #{partyId}
</update>
</mapper>

47
renren-cloud-generator/src/main/java/io/renren/utils/GenUtils.java

@ -37,7 +37,7 @@ import java.util.zip.ZipOutputStream;
/**
* 代码生成器 工具类
*
*
* @author chenshun
* @email sunlightcs@gmail.com
*/
@ -58,7 +58,7 @@ public class GenUtils {
templates.add("template/add-or-update.vue.vm");
return templates;
}
/**
* 生成代码
*/
@ -75,7 +75,7 @@ public class GenUtils {
String className = tableToJava(tableEntity.getTableName(), config.getString("tablePrefix"));
tableEntity.setClassName(className);
tableEntity.setClassname(StringUtils.uncapitalize(className));
//列信息
List<ColumnEntity> columsList = new ArrayList<>();
for(Map<String, String> column : columns){
@ -84,12 +84,12 @@ public class GenUtils {
columnEntity.setDataType(column.get("dataType"));
columnEntity.setComments(column.get("columnComment"));
columnEntity.setExtra(column.get("extra"));
//列名转换成Java属性名
String attrName = columnToJava(columnEntity.getColumnName());
columnEntity.setAttrName(attrName);
columnEntity.setAttrname(StringUtils.uncapitalize(attrName));
//列的数据类型,转换成Java类型
String attrType = config.getString(columnEntity.getDataType(), "unknowType");
columnEntity.setAttrType(attrType);
@ -100,24 +100,24 @@ public class GenUtils {
if("PRI".equalsIgnoreCase(column.get("columnKey")) && tableEntity.getPk() == null){
tableEntity.setPk(columnEntity);
}
columsList.add(columnEntity);
}
tableEntity.setColumns(columsList);
//没主键,则第一个字段为主键
if(tableEntity.getPk() == null){
tableEntity.setPk(tableEntity.getColumns().get(0));
}
//设置velocity资源加载器
Properties prop = new Properties();
prop.put("file.resource.loader.class", "org.apache.velocity.runtime.resource.loader.ClasspathResourceLoader");
Properties prop = new Properties();
prop.put("file.resource.loader.class", "org.apache.velocity.runtime.resource.loader.ClasspathResourceLoader");
Velocity.init(prop);
String main = config.getString("main" );
main = StringUtils.isBlank(main) ? config.getString("package" ) : main;
//封装模板数据
Map<String, Object> map = new HashMap<>();
map.put("tableName", tableEntity.getTableName());
@ -129,14 +129,7 @@ public class GenUtils {
map.put("columns", tableEntity.getColumns());
map.put("hasBigDecimal", hasBigDecimal);
map.put("main", main);
String moduleName = config.getString("moduleName" );
if(StringUtils.isNotBlank(moduleName)){
map.put("package", config.getString("package" ) + "." + moduleName);
}else {
map.put("package", config.getString("package" ));
}
map.put("package", config.getString("package" ));
map.put("moduleName", config.getString("moduleName" ));
map.put("author", config.getString("author"));
map.put("version", config.getString("version"));
@ -146,7 +139,7 @@ public class GenUtils {
VelocityContext context = new VelocityContext(map);
//获取模板列表
List<String> templates = getTemplates();
for(String template : templates){
@ -154,7 +147,7 @@ public class GenUtils {
StringWriter sw = new StringWriter();
Template tpl = Velocity.getTemplate(template, "UTF-8");
tpl.merge(context, sw);
try {
//添加到zip
zip.putNextEntry(new ZipEntry(getFileName(template, tableEntity.getClassName(), config.getString("package"), config.getString("moduleName"))));
@ -166,15 +159,15 @@ public class GenUtils {
}
}
}
/**
* 列名转换成Java属性名
*/
public static String columnToJava(String columnName) {
return WordUtils.capitalizeFully(columnName, new char[]{'_'}).replace("_", "");
}
/**
* 表名转换成Java类名
*/
@ -184,7 +177,7 @@ public class GenUtils {
}
return columnToJava(tableName);
}
/**
* 获取配置信息
*/
@ -202,7 +195,7 @@ public class GenUtils {
public static String getFileName(String template, String className, String packageName, String moduleName) {
String packagePath = "main" + File.separator + "java" + File.separator;
if (StringUtils.isNotBlank(packageName)) {
packagePath += packageName.replace(".", File.separator) + File.separator + moduleName + File.separator;
packagePath += packageName.replace(".", File.separator) + File.separator;
}
if (template.contains("Entity.java.vm" )) {
@ -234,7 +227,7 @@ public class GenUtils {
}
if (template.contains("DTO.java.vm" )) {
return moduleName + File.separator + "dto" + File.separator + className + "DTO.java";
return "dto" + File.separator + className + "DTO.java";
}
if (template.contains("Dao.xml.vm" )) {

Loading…
Cancel
Save