Browse Source

事件获取详情、审核init

dev
liuchuang 6 years ago
parent
commit
f4ffa11b12
  1. 80
      esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/constant/EventIssueItemState.java
  2. 69
      esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/dto/events/EpdcEventsDTO.java
  3. 37
      esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/dto/events/EpdcEventsDetailDTO.java
  4. 32
      esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/dto/events/form/EpdcEventsReviewFormDTO.java
  5. 167
      esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/dto/issue/IssueDTO.java
  6. 21
      esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/events/controller/EpdcEventsController.java
  7. 11
      esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/events/dao/EpdcEventsDao.java
  8. 14
      esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/events/entity/EpdcEventsEntity.java
  9. 21
      esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/events/service/EpdcEventsService.java
  10. 76
      esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/events/service/impl/EpdcEventsServiceImpl.java
  11. 94
      esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/issue/controller/IssueController.java
  12. 33
      esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/issue/dao/IssueDao.java
  13. 33
      esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/issue/dao/IssueHandleDao.java
  14. 137
      esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/issue/entity/IssueEntity.java
  15. 56
      esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/issue/entity/IssueHandleEntity.java
  16. 114
      esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/issue/excel/IssueExcel.java
  17. 47
      esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/issue/redis/IssueRedis.java
  18. 40
      esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/issue/service/IssueHandleService.java
  19. 95
      esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/issue/service/IssueService.java
  20. 45
      esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/issue/service/impl/IssueHandleServiceImpl.java
  21. 104
      esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/issue/service/impl/IssueServiceImpl.java
  22. 18
      esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/resources/mapper/events/EpdcEventsDao.xml
  23. 6
      esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/resources/mapper/issue/IssueDao.xml
  24. 6
      esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/resources/mapper/issue/IssueHandleDao.xml

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

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

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

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>
Loading…
Cancel
Save