diff --git a/esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/dto/issue/form/IssueWaitHandleSubmitFormDTO.java b/esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/dto/issue/form/IssueWaitHandleSubmitFormDTO.java new file mode 100644 index 000000000..1ede54762 --- /dev/null +++ b/esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/dto/issue/form/IssueWaitHandleSubmitFormDTO.java @@ -0,0 +1,28 @@ +package com.elink.esua.epdc.dto.issue.form; + +import lombok.Data; + +import java.io.Serializable; + +/** + * 议题待处理提交DTO + * @Author LC + * @Date 2019/9/6 11:14 + */ +@Data +public class IssueWaitHandleSubmitFormDTO implements Serializable { + private static final long serialVersionUID = 6440846393548873868L; + + /** + * 议题ID + */ + private String id; + /** + * 处理意见 + */ + private String advice; + /** + * 状态 1 添加处理意见,2 关闭,0 转项目 + */ + private Integer state; +} diff --git a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/events/service/impl/EpdcEventsServiceImpl.java b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/events/service/impl/EpdcEventsServiceImpl.java index 37fbf70ce..d47c2fb50 100644 --- a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/events/service/impl/EpdcEventsServiceImpl.java +++ b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/events/service/impl/EpdcEventsServiceImpl.java @@ -150,7 +150,7 @@ public class EpdcEventsServiceImpl extends BaseServiceImpl + * @Author: liuchuang + * @Date: 2019/9/6 11:24 + */ @GetMapping("waitHandleIssueDetail/{id}") public Result waitHandleIssueDetail(@PathVariable("id") String id) { IssueWaitHandleDetailDTO data = issueService.getWaitHandleIssueDetail(id); return new Result().ok(data); } + /** + * 议题待处理提交 + * @Params: [dto] + * @Return: com.elink.esua.epdc.commons.tools.utils.Result + * @Author: liuchuang + * @Date: 2019/9/6 11:26 + */ + @PostMapping("issueWaitHandleSubmit") + public Result issueWaitHandleSubmit(@RequestBody IssueWaitHandleSubmitFormDTO dto) { + return issueService.saveIssueHandleResult(dto); + } + } diff --git a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/issue/service/IssueService.java b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/issue/service/IssueService.java index a3105d282..62a1976f0 100644 --- a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/issue/service/IssueService.java +++ b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/issue/service/IssueService.java @@ -19,9 +19,11 @@ 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.commons.tools.utils.Result; import com.elink.esua.epdc.dto.issue.IssueDTO; import com.elink.esua.epdc.dto.issue.IssueWaitHandleDetailDTO; import com.elink.esua.epdc.dto.issue.IssueWaitHandleOrClosedDTO; +import com.elink.esua.epdc.dto.issue.form.IssueWaitHandleSubmitFormDTO; import com.elink.esua.epdc.modules.issue.entity.IssueEntity; import java.util.List; @@ -103,4 +105,13 @@ public interface IssueService extends BaseService { * @Date: 2019/9/6 10:55 */ IssueWaitHandleDetailDTO getWaitHandleIssueDetail(String id); + + /** + * 议题待处理提交 + * @Params: [dto] + * @Return: com.elink.esua.epdc.commons.tools.utils.Result + * @Author: liuchuang + * @Date: 2019/9/6 11:26 + */ + Result saveIssueHandleResult(IssueWaitHandleSubmitFormDTO dto); } diff --git a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/issue/service/impl/IssueServiceImpl.java b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/issue/service/impl/IssueServiceImpl.java index 963218c2e..75f15e09a 100644 --- a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/issue/service/impl/IssueServiceImpl.java +++ b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/issue/service/impl/IssueServiceImpl.java @@ -23,13 +23,23 @@ 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.commons.tools.utils.Result; +import com.elink.esua.epdc.constant.EventIssueItemState; import com.elink.esua.epdc.dto.issue.IssueDTO; import com.elink.esua.epdc.dto.issue.IssueWaitHandleDetailDTO; import com.elink.esua.epdc.dto.issue.IssueWaitHandleOrClosedDTO; +import com.elink.esua.epdc.dto.issue.form.IssueWaitHandleSubmitFormDTO; 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.entity.IssueHandleEntity; +import com.elink.esua.epdc.modules.issue.service.IssueHandleService; import com.elink.esua.epdc.modules.issue.service.IssueService; +import com.elink.esua.epdc.modules.item.entity.ItemEntity; +import com.elink.esua.epdc.modules.item.entity.ItemHandleProcessEntity; +import com.elink.esua.epdc.modules.item.service.ItemHandleProcessService; +import com.elink.esua.epdc.modules.item.service.ItemService; import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -46,6 +56,15 @@ import java.util.Map; @Service public class IssueServiceImpl extends BaseServiceImpl implements IssueService { + @Autowired + private IssueHandleService issueHandleService; + + @Autowired + private ItemService itemService; + + @Autowired + private ItemHandleProcessService itemHandleProcessService; + @Override public PageData listOfIssues(Map params) { IPage page = getPage(params); @@ -101,4 +120,72 @@ public class IssueServiceImpl extends BaseServiceImpl imp return baseDao.selectOneOfWaitHandleIssueDetail(id); } + @Override + @Transactional(rollbackFor = Exception.class) + public Result saveIssueHandleResult(IssueWaitHandleSubmitFormDTO dto) { + IssueHandleEntity handleEntity = new IssueHandleEntity(); + handleEntity.setAdvice(dto.getAdvice()); + handleEntity.setState(dto.getState()); + handleEntity.setIssueId(dto.getId()); + + IssueEntity issueEntity = new IssueEntity(); + issueEntity.setId(dto.getId()); + issueEntity.setIssueState(dto.getState()); + // 反馈、关闭 + if (EventIssueItemState.ISSUE_HANDLED_FEEDBACK == dto.getState() || EventIssueItemState.ISSUE_CLOSED== dto.getState()) { + issueHandleService.insert(handleEntity); + } + // 关闭、转项目 + if (EventIssueItemState.ISSUE_CLOSED== dto.getState() || EventIssueItemState.ISSUE_CHANGE_TO_ITEM == dto.getState()) { + updateById(issueEntity); + } + // 转项目 + if (EventIssueItemState.ISSUE_CHANGE_TO_ITEM == dto.getState()) { + updateById(issueEntity); + // 插入项目表 + ItemEntity itemEntity = initItemEntity(issueEntity); + itemService.insert(itemEntity); + // 插入项目处理流程表 + ItemHandleProcessEntity itemHandleProcessEntity = new ItemHandleProcessEntity(); + itemHandleProcessEntity.setItemId(itemEntity.getId()); + itemHandleProcessEntity.setState(EventIssueItemState.ITEM_WAITING_GRID_HANDLE); + itemHandleProcessEntity.setHandleAdvice(dto.getAdvice()); + itemHandleProcessService.insert(itemHandleProcessEntity); + } + return new Result(); + } + + /** + * 初始化项目 + * @Params: [issueEntity] + * @Return: com.elink.esua.epdc.modules.item.entity.ItemEntity + * @Author: liuchuang + * @Date: 2019/9/6 13:48 + */ + private ItemEntity initItemEntity(IssueEntity issueEntity) { + ItemEntity itemEntity = new ItemEntity(); + itemEntity.setEventId(issueEntity.getEventId()); + itemEntity.setIssueId(issueEntity.getId()); + itemEntity.setUserId(issueEntity.getUserId()); + itemEntity.setNickName(issueEntity.getNickName()); + itemEntity.setUserFace(issueEntity.getUserFace()); + itemEntity.setItemContent(issueEntity.getIssueContent()); + itemEntity.setDistributeTime(issueEntity.getDistributeTime()); + itemEntity.setArea(issueEntity.getArea()); + itemEntity.setAreaId(issueEntity.getAreaId()); + itemEntity.setStreet(issueEntity.getStreet()); + itemEntity.setStreetId(issueEntity.getStreetId()); + itemEntity.setGrid(issueEntity.getGrid()); + itemEntity.setGridId(issueEntity.getGridId()); + itemEntity.setCommunity(issueEntity.getCommunity()); + itemEntity.setCommunityId(issueEntity.getCommunityId()); + itemEntity.setIssueCategoryId(issueEntity.getIssueCategoryId()); + itemEntity.setIssueAddress(issueEntity.getIssueAddress()); + itemEntity.setIssueLongitude(issueEntity.getIssueLongitude()); + itemEntity.setIssusLatitude(issueEntity.getIssusLatitude()); + itemEntity.setFriendlyCommunityId(issueEntity.getFriendlyCommunityId()); + itemEntity.setItemState(EventIssueItemState.ITEM_WAITING_GRID_HANDLE); + return itemEntity; + } + } diff --git a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/dao/ItemHandleProcessDao.java b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/dao/ItemHandleProcessDao.java new file mode 100644 index 000000000..92845a960 --- /dev/null +++ b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/dao/ItemHandleProcessDao.java @@ -0,0 +1,33 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

+ * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + *

+ * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.elink.esua.epdc.modules.item.dao; + +import com.elink.esua.epdc.commons.mybatis.dao.BaseDao; +import com.elink.esua.epdc.modules.item.entity.ItemHandleProcessEntity; +import org.apache.ibatis.annotations.Mapper; + +/** + * 项目处理流程表 项目处理流程表 + * + * @author qu qu@elink-cn.com + * @since v1.0.0 2019-09-06 + */ +@Mapper +public interface ItemHandleProcessDao extends BaseDao { + +} diff --git a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/entity/ItemEntity.java b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/entity/ItemEntity.java index 973b8fb70..0174e296b 100755 --- a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/entity/ItemEntity.java +++ b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/entity/ItemEntity.java @@ -67,7 +67,7 @@ public class ItemEntity extends BaseEpdcEntity { /** * 议题内容 */ - private String issueContent; + private String itemContent; /** * 发布时间 @@ -142,7 +142,7 @@ public class ItemEntity extends BaseEpdcEntity { /** * 评价打分 */ - private Integer issueScore; + private Integer itemScore; /** * 项目状态 0-待网格长处理,5-待社区处理,10-待街道党建办处理,15-待街道处理,20-待区直部门党建办处理,25-待区直部门处理,30-处理,35-关闭,40-结束议题 diff --git a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/entity/ItemHandleProcessEntity.java b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/entity/ItemHandleProcessEntity.java new file mode 100644 index 000000000..55a3bb424 --- /dev/null +++ b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/entity/ItemHandleProcessEntity.java @@ -0,0 +1,64 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

+ * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + *

+ * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.elink.esua.epdc.modules.item.entity; + +import com.baomidou.mybatisplus.annotation.TableName; + +import com.elink.esua.epdc.commons.mybatis.entity.BaseEpdcEntity; +import lombok.Data; +import lombok.EqualsAndHashCode; + +/** + * 项目处理流程表 项目处理流程表 + * + * @author qu qu@elink-cn.com + * @since v1.0.0 2019-09-06 + */ +@Data +@EqualsAndHashCode(callSuper=false) +@TableName("epdc_item_handle_process") +public class ItemHandleProcessEntity extends BaseEpdcEntity { + + private static final long serialVersionUID = 1L; + + /** + * 项目ID + */ + private String itemId; + + /** + * 状态 0-待网格长处理,5-待社区处理,10-待街道党建办处理,15-待街道处理,20-待区直部门处理,25-处理,30-关闭,35-结案 + */ + private Integer state; + + /** + * 处理意见 + */ + private String handleAdvice; + + /** + * 流转部门ID + */ + private String cycleDeptDi; + + /** + * 操作人部门ID + */ + private String handlerDeptId; + +} diff --git a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/service/ItemHandleProcessService.java b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/service/ItemHandleProcessService.java new file mode 100644 index 000000000..36ce09c82 --- /dev/null +++ b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/service/ItemHandleProcessService.java @@ -0,0 +1,44 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

+ * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + *

+ * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.elink.esua.epdc.modules.item.service; + +import com.elink.esua.epdc.commons.mybatis.service.BaseService; +import com.elink.esua.epdc.commons.tools.page.PageData; +import com.elink.esua.epdc.modules.item.entity.ItemHandleProcessEntity; + +import java.util.List; +import java.util.Map; + +/** + * 项目处理流程表 项目处理流程表 + * + * @author qu qu@elink-cn.com + * @since v1.0.0 2019-09-06 + */ +public interface ItemHandleProcessService extends BaseService { + + /** + * 批量删除 + * + * @param ids + * @return void + * @author + * @date + */ + void delete(String[] ids); +} diff --git a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/service/impl/ItemHandleProcessServiceImpl.java b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/service/impl/ItemHandleProcessServiceImpl.java new file mode 100644 index 000000000..0c677424d --- /dev/null +++ b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/service/impl/ItemHandleProcessServiceImpl.java @@ -0,0 +1,45 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

+ * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + *

+ * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.elink.esua.epdc.modules.item.service.impl; + +import com.elink.esua.epdc.commons.mybatis.service.impl.BaseServiceImpl; +import com.elink.esua.epdc.modules.item.dao.ItemHandleProcessDao; +import com.elink.esua.epdc.modules.item.entity.ItemHandleProcessEntity; +import com.elink.esua.epdc.modules.item.service.ItemHandleProcessService; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.Arrays; + +/** + * 项目处理流程表 项目处理流程表 + * + * @author qu qu@elink-cn.com + * @since v1.0.0 2019-09-06 + */ +@Service +public class ItemHandleProcessServiceImpl extends BaseServiceImpl implements ItemHandleProcessService { + + @Override + @Transactional(rollbackFor = Exception.class) + public void delete(String[] ids) { + // 逻辑删除(@TableLogic 注解) + baseDao.deleteBatchIds(Arrays.asList(ids)); + } + +}