diff --git a/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/controller/ApiWorkIssueController.java b/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/controller/ApiWorkIssueController.java new file mode 100644 index 000000000..6d5cae00c --- /dev/null +++ b/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/controller/ApiWorkIssueController.java @@ -0,0 +1,28 @@ +package com.elink.esua.epdc.controller; + + +import com.elink.esua.epdc.commons.tools.utils.Result; +import com.elink.esua.epdc.dto.issue.form.IssueStateStatisticsFormDTO; +import com.elink.esua.epdc.dto.issue.result.IssueStateStatisticsResultDTO; +import com.elink.esua.epdc.service.WorkIssueService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +@RestController +@RequestMapping("work/event/issue/") +public class ApiWorkIssueController { + + @Autowired + private WorkIssueService workIssueService; + + + @GetMapping("statistics") + public Result statistics(@RequestBody IssueStateStatisticsFormDTO formDto) { + return workIssueService.stateStatistics(formDto); + + } + +} diff --git a/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/WorkIssueFeignClient.java b/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/WorkIssueFeignClient.java new file mode 100644 index 000000000..950722e33 --- /dev/null +++ b/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/WorkIssueFeignClient.java @@ -0,0 +1,23 @@ +package com.elink.esua.epdc.feign; + +import com.elink.esua.epdc.commons.tools.constant.ServiceConstant; +import com.elink.esua.epdc.commons.tools.utils.Result; +import com.elink.esua.epdc.dto.issue.form.*; +import com.elink.esua.epdc.dto.issue.result.*; +import com.elink.esua.epdc.feign.fallback.IssueFeignClientFallback; +import com.elink.esua.epdc.feign.fallback.WorkIssueFeignClientFallback; +import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.http.MediaType; +import org.springframework.web.bind.annotation.GetMapping; + +import java.util.List; + + +@FeignClient(name = ServiceConstant.EPDC_EVENTS_SERVER, fallback = WorkIssueFeignClientFallback.class) +public interface WorkIssueFeignClient { + + @GetMapping(value = "events/epdc-app/issue/stateStatistics", consumes = MediaType.APPLICATION_JSON_VALUE) + Result stateStatistics(IssueStateStatisticsFormDTO formDto); + + +} diff --git a/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/fallback/WorkIssueFeignClientFallback.java b/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/fallback/WorkIssueFeignClientFallback.java new file mode 100644 index 000000000..0eafcb566 --- /dev/null +++ b/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/fallback/WorkIssueFeignClientFallback.java @@ -0,0 +1,27 @@ +package com.elink.esua.epdc.feign.fallback; + +import com.elink.esua.epdc.commons.tools.constant.ServiceConstant; +import com.elink.esua.epdc.commons.tools.utils.ModuleUtils; +import com.elink.esua.epdc.commons.tools.utils.Result; +import com.elink.esua.epdc.dto.events.form.EpdcEventSubmitFormDTO; +import com.elink.esua.epdc.dto.events.result.EventAppDetailResultDTO; +import com.elink.esua.epdc.dto.issue.form.*; +import com.elink.esua.epdc.dto.issue.result.*; +import com.elink.esua.epdc.feign.IssueFeignClient; +import com.elink.esua.epdc.feign.WorkIssueFeignClient; +import org.springframework.stereotype.Component; + +import java.util.List; + +/** + * @Author LC + * @Date 2019/9/7 11:34 + */ +@Component +public class WorkIssueFeignClientFallback implements WorkIssueFeignClient { + + @Override + public Result stateStatistics(IssueStateStatisticsFormDTO formDto) { + return ModuleUtils.feignConError(ServiceConstant.EPDC_EVENTS_SERVER, "stateStatistics", formDto); + } +} diff --git a/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/WorkIssueService.java b/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/WorkIssueService.java new file mode 100644 index 000000000..8070a1a5a --- /dev/null +++ b/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/WorkIssueService.java @@ -0,0 +1,30 @@ +/** + * 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.service; + + +import com.elink.esua.epdc.commons.tools.utils.Result; +import com.elink.esua.epdc.dto.issue.form.IssueStateStatisticsFormDTO; +import com.elink.esua.epdc.dto.issue.result.IssueStateStatisticsResultDTO; +import org.springframework.web.bind.annotation.RequestBody; + +public interface WorkIssueService { + + Result stateStatistics(@RequestBody IssueStateStatisticsFormDTO formDto); + +} diff --git a/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/impl/WorkIssueServiceImpl.java b/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/impl/WorkIssueServiceImpl.java new file mode 100644 index 000000000..b5e3faa13 --- /dev/null +++ b/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/impl/WorkIssueServiceImpl.java @@ -0,0 +1,39 @@ +/** + * 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.service.impl; + +import com.elink.esua.epdc.commons.tools.utils.Result; +import com.elink.esua.epdc.dto.issue.form.IssueStateStatisticsFormDTO; +import com.elink.esua.epdc.dto.issue.result.IssueStateStatisticsResultDTO; +import com.elink.esua.epdc.feign.WorkIssueFeignClient; +import com.elink.esua.epdc.service.WorkIssueService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + + +@Service +public class WorkIssueServiceImpl implements WorkIssueService { + + @Autowired + private WorkIssueFeignClient workIssueFeignClient; + + @Override + public Result stateStatistics(IssueStateStatisticsFormDTO formDto) { + return workIssueFeignClient.stateStatistics(formDto); + } +} diff --git a/esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/constant/ImageConstant.java b/esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/constant/ImageConstant.java index dd5cd3dfc..eae9328ae 100644 --- a/esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/constant/ImageConstant.java +++ b/esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/constant/ImageConstant.java @@ -16,4 +16,9 @@ public interface ImageConstant { * 图片类型-头像 */ public final static String TYPE_IMAGE_BIZ_FACE = "face"; + + /** + * 图片类型-事件拒绝 + */ + public final static String TYPE_IMAGE_BIZ_EVENTS_REJECT = "eventsReject"; } diff --git a/esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/dto/issue/form/IssueStateStatisticsFormDTO.java b/esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/dto/issue/form/IssueStateStatisticsFormDTO.java new file mode 100644 index 000000000..97088ba74 --- /dev/null +++ b/esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/dto/issue/form/IssueStateStatisticsFormDTO.java @@ -0,0 +1,17 @@ +package com.elink.esua.epdc.dto.issue.form; + +import lombok.Data; + +import javax.validation.constraints.NotNull; +import java.io.Serializable; + +@Data +public class IssueStateStatisticsFormDTO implements Serializable { + private static final long serialVersionUID = -8864248267071206774L; + + /** + * 用户所属网格ID + */ + private Long deptId; + +} diff --git a/esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/dto/issue/result/IssueStateStatisticsResultDTO.java b/esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/dto/issue/result/IssueStateStatisticsResultDTO.java new file mode 100644 index 000000000..ea6d474b3 --- /dev/null +++ b/esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/dto/issue/result/IssueStateStatisticsResultDTO.java @@ -0,0 +1,20 @@ +package com.elink.esua.epdc.dto.issue.result; + +import lombok.Data; + +import java.io.Serializable; + +@Data +public class IssueStateStatisticsResultDTO implements Serializable { + + private static final long serialVersionUID = -4512771534907006929L; + + private Integer pendingResponseNum; + + private Integer pendingHandleNum; + + private Integer rejectedNum; + + private Integer closed; +} + diff --git a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/events/dao/EpdcEventsDao.java b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/events/dao/EpdcEventsDao.java index acf532d2c..f9ac7fec0 100644 --- a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/events/dao/EpdcEventsDao.java +++ b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/events/dao/EpdcEventsDao.java @@ -124,4 +124,7 @@ public interface EpdcEventsDao extends BaseDao { * @since 2019/10/30 12:36 */ int selectCountOfDeptNotice(Long deptId, int state); + + int selectCountOfEventState(List deptIdList, int state); + } diff --git a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/events/service/EpdcEventsService.java b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/events/service/EpdcEventsService.java index 58fd5bb72..68f8f7eef 100644 --- a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/events/service/EpdcEventsService.java +++ b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/events/service/EpdcEventsService.java @@ -178,4 +178,7 @@ public interface EpdcEventsService extends BaseService { * @since 2019/10/30 13:43 */ void initMenuNotice(); + + int selectCountOfEventState(List deptIdList, int 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 b97407fab..72aea73dd 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 @@ -348,4 +348,9 @@ public class EpdcEventsServiceImpl extends BaseServiceImpl deptIdList, int state) { + return baseDao.selectCountOfEventState(deptIdList,state); + } } diff --git a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/issue/controller/EpdcAppIssueController.java b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/issue/controller/EpdcAppIssueController.java index 8231f18fb..889d289cb 100644 --- a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/issue/controller/EpdcAppIssueController.java +++ b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/issue/controller/EpdcAppIssueController.java @@ -115,4 +115,15 @@ public class EpdcAppIssueController { public Result eventDetail(@PathVariable String eventId) { return issueService.getEventDetail(eventId); } + + /** + * 议题状态统计 + * @param formDto + * @return + */ + @GetMapping("stateStatistics") + public Result stateStatistics(@RequestBody IssueStateStatisticsFormDTO formDto) { + return issueService.stateStatistics(formDto); + } + } diff --git a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/issue/dao/IssueDao.java b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/issue/dao/IssueDao.java index 8ea7d5b0b..af2f48c39 100644 --- a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/issue/dao/IssueDao.java +++ b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/issue/dao/IssueDao.java @@ -106,7 +106,7 @@ public interface IssueDao extends BaseDao { /** * 移动端-议题处理进度 * @Params: [issueId] - * @Return: java.util.List + * @Return: java.util.List, * @Author: liuchuang * @Date: 2019/9/9 14:18 */ @@ -141,4 +141,13 @@ public interface IssueDao extends BaseDao { */ int selectCountOfDeptNotice(Long deptId, int state); + /** + * 根据网格id和状态查询数量 + * @param deptIdList + * @param state + * @return + */ + int selectCountOfIssueState(List deptIdList, int state); + + } 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 ef70d6f12..c74d4c7d2 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 @@ -31,6 +31,7 @@ import com.elink.esua.epdc.dto.issue.form.IssueFormDTO; import com.elink.esua.epdc.dto.issue.form.IssueWaitHandleSubmitFormDTO; import com.elink.esua.epdc.dto.issue.result.*; import com.elink.esua.epdc.modules.issue.entity.IssueEntity; +import org.springframework.web.bind.annotation.RequestBody; import java.util.List; import java.util.Map; @@ -212,4 +213,11 @@ public interface IssueService extends BaseService { * @since 2019/10/29 18:13 */ void sendIssueHandleMenuNotice(Long deptId, Long userId); + + /** + * 移动端-议题状态统计 + * @param formDto + * @return + */ + Result stateStatistics(@RequestBody IssueStateStatisticsFormDTO formDto); } 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 03e0a8d61..92f785503 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 @@ -58,10 +58,7 @@ 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.Date; -import java.util.List; -import java.util.Map; +import java.util.*; /** * 议题表 议题表 @@ -359,4 +356,26 @@ public class IssueServiceImpl extends BaseServiceImpl imp return itemEntity; } + @Override + public Result stateStatistics(IssueStateStatisticsFormDTO formDto) { + List list; + if (formDto.getDeptId() == null){ + list = SecurityUser.getUser().getDeptIdList(); + }else { + list = new ArrayList<>(); + list.add(formDto.getDeptId()); + } + Integer pendingHandleNum = baseDao.selectCountOfIssueState(list,0); + Integer closed = baseDao.selectCountOfIssueState(list,2); + + Integer pendingResponseNum = epdcEventsService.selectCountOfEventState(list,0); + Integer rejectedNum = epdcEventsService.selectCountOfEventState(list,2); + + IssueStateStatisticsResultDTO dto = new IssueStateStatisticsResultDTO(); + dto.setClosed(closed); + dto.setPendingHandleNum(pendingHandleNum); + dto.setRejectedNum(rejectedNum); + dto.setPendingResponseNum(pendingResponseNum); + return new Result().ok(dto); + } } diff --git a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/resources/mapper/events/EpdcEventsDao.xml b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/resources/mapper/events/EpdcEventsDao.xml index bbe12d26b..76472b13f 100644 --- a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/resources/mapper/events/EpdcEventsDao.xml +++ b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/resources/mapper/events/EpdcEventsDao.xml @@ -249,4 +249,16 @@ SELECT COUNT(ID) AS num FROM epdc_events WHERE DEL_FLAG = '0' AND grid_id = #{deptId} AND EVENT_STATE = #{state} + + diff --git a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/resources/mapper/issue/IssueDao.xml b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/resources/mapper/issue/IssueDao.xml index 47a641a18..ace6b830f 100644 --- a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/resources/mapper/issue/IssueDao.xml +++ b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/resources/mapper/issue/IssueDao.xml @@ -450,4 +450,19 @@ AND ID NOT IN ( SELECT ISSUE_ID FROM epdc_issue_handle WHERE DEL_FLAG = '0' AND HANDLER_DEPT_ID = #{deptId} AND STATE ]]> 0 ) + + +