Browse Source

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

dev
qushutong 6 years ago
parent
commit
85e2f48ebb
  1. 9
      esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/controller/SysDeptController.java
  2. 2
      esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/dao/SysDeptDao.java
  3. 19
      esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/service/SysDeptService.java
  4. 41
      esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/service/impl/SysDeptServiceImpl.java
  5. 4
      esua-epdc/epdc-admin/epdc-admin-server/src/main/resources/mapper/SysDeptDao.xml
  6. 3
      esua-epdc/epdc-commons/epdc-commons-tools/src/main/java/com/elink/esua/epdc/commons/tools/constant/FieldConstant.java
  7. 80
      esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/constant/EventIssueItemState.java
  8. 91
      esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/dto/category/EventCategoryDTO.java
  9. 69
      esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/dto/events/EpdcEventsDTO.java
  10. 37
      esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/dto/events/EpdcEventsDetailDTO.java
  11. 32
      esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/dto/events/form/EpdcEventsReviewFormDTO.java
  12. 167
      esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/dto/issue/IssueDTO.java
  13. 95
      esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/category/controller/EventCategoryController.java
  14. 33
      esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/category/dao/EventCategoryDao.java
  15. 61
      esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/category/entity/EventCategoryEntity.java
  16. 68
      esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/category/excel/EventCategoryExcel.java
  17. 47
      esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/category/redis/EventCategoryRedis.java
  18. 96
      esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/category/service/EventCategoryService.java
  19. 106
      esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/category/service/impl/EventCategoryServiceImpl.java
  20. 21
      esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/events/controller/EpdcEventsController.java
  21. 11
      esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/events/dao/EpdcEventsDao.java
  22. 14
      esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/events/entity/EpdcEventsEntity.java
  23. 21
      esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/events/service/EpdcEventsService.java
  24. 76
      esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/events/service/impl/EpdcEventsServiceImpl.java
  25. 94
      esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/issue/controller/IssueController.java
  26. 33
      esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/issue/dao/IssueDao.java
  27. 33
      esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/issue/dao/IssueHandleDao.java
  28. 137
      esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/issue/entity/IssueEntity.java
  29. 56
      esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/issue/entity/IssueHandleEntity.java
  30. 114
      esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/issue/excel/IssueExcel.java
  31. 47
      esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/issue/redis/IssueRedis.java
  32. 40
      esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/issue/service/IssueHandleService.java
  33. 95
      esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/issue/service/IssueService.java
  34. 45
      esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/issue/service/impl/IssueHandleServiceImpl.java
  35. 104
      esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/issue/service/impl/IssueServiceImpl.java
  36. 21
      esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/resources/mapper/category/EventCategoryDao.xml
  37. 18
      esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/resources/mapper/events/EpdcEventsDao.xml
  38. 6
      esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/resources/mapper/issue/IssueDao.xml
  39. 6
      esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/resources/mapper/issue/IssueHandleDao.xml
  40. 4
      esua-epdc/epdc-module/epdc-news/epdc-news-client/pom.xml
  41. 101
      esua-epdc/epdc-module/epdc-news/epdc-news-client/src/main/java/com/elink/esua/epdc/dto/NoticeDTO.java
  42. 94
      esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/java/com/elink/esua/epdc/controller/NoticeController.java
  43. 33
      esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/java/com/elink/esua/epdc/dao/NoticeDao.java
  44. 73
      esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/java/com/elink/esua/epdc/entity/NoticeEntity.java
  45. 71
      esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/java/com/elink/esua/epdc/excel/NoticeExcel.java
  46. 47
      esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/java/com/elink/esua/epdc/redis/NoticeRedis.java
  47. 95
      esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/java/com/elink/esua/epdc/service/NoticeService.java
  48. 117
      esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/java/com/elink/esua/epdc/service/impl/NoticeServiceImpl.java
  49. 47
      renren-cloud-generator/src/main/java/io/renren/utils/GenUtils.java

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}")

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

@ -40,8 +40,6 @@ public interface SysDeptDao extends BaseDao<SysDeptEntity> {
*/
List<Long> getSubDeptIdList(String id);
List<SysDeptEntity> getSubList(Map<String, Object> params);
/**
* 根据上级部门ID获取下属部门简要信息列表
*

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

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

4
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

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

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

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

@ -22,10 +22,8 @@ import lombok.Data;
import java.io.Serializable;
import java.util.Date;
import java.math.BigDecimal;
/**
* 事件表 事件
* 党群议事-议题管理-待审核列表
*
* @author Mark sunlightcs@gmail.com
* @since v1.0.0 2019-09-04
@ -34,58 +32,21 @@ import java.math.BigDecimal;
public class EpdcEventsDTO implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 事件ID
*/
private String id;
private String userId;
private String issueContent;
private String area;
private String areaId;
private String street;
private String streetId;
private String community;
private String communityId;
private String grid;
private String gridId;
private String issueAddress;
private String issueCategoryId;
private BigDecimal issusLatitude;
private BigDecimal issueLongitude;
private String friendlyCommunityId;
private Integer eventState;
private Integer approveNum;
private Integer opposeNum;
private Integer commentNum;
private Integer browseNum;
private String delFlag;
private Integer revision;
private String createdBy;
/**
* 用户昵称
*/
private String nickName;
/**
* 事件内容
*/
private String eventContent;
/**
* 提交时间
*/
private Date createdTime;
private String updatedBy;
private Date updatedTime;
}

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

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

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

@ -25,7 +25,10 @@ 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;
@ -56,10 +59,10 @@ public class EpdcEventsController {
}
@GetMapping("{id}")
public Result<EpdcEventsDTO> get(@PathVariable("id") String id){
EpdcEventsDTO data = epdcEventsService.get(id);
public Result<EpdcEventsDetailDTO> get(@PathVariable("id") String id){
EpdcEventsDetailDTO data = epdcEventsService.get(id);
return new Result<EpdcEventsDTO>().ok(data);
return new Result<EpdcEventsDetailDTO>().ok(data);
}
@PostMapping
@ -99,4 +102,16 @@ public class EpdcEventsController {
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);
}
}

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

@ -18,8 +18,10 @@
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;
/**
* 事件表 事件表
@ -29,5 +31,12 @@ import org.apache.ibatis.annotations.Mapper;
*/
@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);
}

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

@ -50,10 +50,18 @@ public class EpdcEventsEntity extends BaseEpdcEntity {
* 用户ID
*/
private String userId;
/**
* 用户昵称
*/
private String nickName;
/**
* 用户头像
*/
private String userFace;
/**
* 议题内容
*/
private String issueContent;
private String eventContent;
/**
*
*/
@ -110,6 +118,10 @@ public class EpdcEventsEntity extends BaseEpdcEntity {
* 事件状态 0-待审核2-驳回4-审核通过
*/
private Integer eventState;
/**
* 意见
*/
private String advice;
/**
* 点赞次数
*/

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

@ -19,7 +19,10 @@ 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;
@ -37,11 +40,27 @@ public interface EpdcEventsService extends BaseService<EpdcEventsEntity> {
List<EpdcEventsDTO> list(Map<String, Object> params);
EpdcEventsDTO get(String id);
/**
* 根据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);
}

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

@ -24,11 +24,19 @@ 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;
@ -46,8 +54,12 @@ import java.util.Map;
*/
@Service
public class EpdcEventsServiceImpl extends BaseServiceImpl<EpdcEventsDao, EpdcEventsEntity> implements EpdcEventsService {
@Autowired
private IssueService issueService;
@Autowired
private EpdcEventsRedis epdcEventsRedis;
private IssueHandleService issueHandleService;
@Override
public PageData<EpdcEventsDTO> page(Map<String, Object> params) {
@ -78,10 +90,8 @@ public class EpdcEventsServiceImpl extends BaseServiceImpl<EpdcEventsDao, EpdcEv
}
@Override
public EpdcEventsDTO get(String id) {
EpdcEventsEntity entity = baseDao.selectById(id);
return ConvertUtils.sourceToTarget(entity, EpdcEventsDTO.class);
public EpdcEventsDetailDTO get(String id) {
return baseDao.getEventDetailById(id);
}
@Override
@ -110,4 +120,60 @@ public class EpdcEventsServiceImpl extends BaseServiceImpl<EpdcEventsDao, EpdcEv
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));
}
}

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>

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

@ -2,5 +2,21 @@
<!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>

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

@ -19,4 +19,8 @@
<version>1.0.0</version>
</dependency>
</dependencies>
<build>
<finalName>${project.artifactId}</finalName>
</build>
</project>

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

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

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

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

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

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

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

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