Browse Source

工作台群众直报红点

dev
yinzuomei 4 years ago
parent
commit
107b50dc23
  1. 5
      epmet-module/gov-grid/gov-grid-client/src/main/java/com/epmet/dto/form/RedDotFormDTO.java
  2. 5
      epmet-module/gov-grid/gov-grid-server/src/main/java/com/epmet/constant/WorkGrassRootsFunctionConstant.java
  3. 20
      epmet-module/gov-grid/gov-grid-server/src/main/java/com/epmet/service/impl/RemindServiceImpl.java
  4. 30
      epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/result/ResiEventManageRedDotRes.java
  5. 12
      epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/feign/GovProjectOpenFeignClient.java
  6. 13
      epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/feign/fallback/GovProjectOpenFeignClientFallback.java
  7. 19
      epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/controller/ResiEventController.java
  8. 4
      epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/dao/ResiEventReportOrgDao.java
  9. 10
      epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/ResiEventService.java
  10. 17
      epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ResiEventServiceImpl.java
  11. 23
      epmet-module/gov-project/gov-project-server/src/main/resources/mapper/ResiEventReportOrgDao.xml

5
epmet-module/gov-grid/gov-grid-client/src/main/java/com/epmet/dto/form/RedDotFormDTO.java

@ -25,5 +25,10 @@ public class RedDotFormDTO implements Serializable {
*/
//@NotBlank(message = "网格id不能为空")
private String gridId;
/**
* 当前工作人员所属的组织id
*/
private String agencyId;
}

5
epmet-module/gov-grid/gov-grid-server/src/main/java/com/epmet/constant/WorkGrassRootsFunctionConstant.java

@ -32,6 +32,9 @@ public class WorkGrassRootsFunctionConstant {
*/
public static final String WORK_GRASSROOTS_BADGE="work_grassroots_badge";
/**
* 基层治理-群众直报 功能入口
*/
public static final String RESI_EVENT_MANAGE="resi_event_manage";
}

20
epmet-module/gov-grid/gov-grid-server/src/main/java/com/epmet/service/impl/RemindServiceImpl.java

@ -44,6 +44,8 @@ public class RemindServiceImpl implements RemindService {
@Autowired
private EpmetUserOpenFeignClient epmetUserOpenFeignClient;
@Autowired
private GovProjectOpenFeignClient govProjectOpenFeignClient;
@Override
public RedDotResultDTO queryGridRedDot(RedDotFormDTO formDTO) {
@ -217,12 +219,11 @@ public class RemindServiceImpl implements RemindService {
RedDotResultDTO redDotResultDTO = new RedDotResultDTO();
redDotResultDTO.setOtherGridRedDot(false);
redDotResultDTO.setFunctionList(Collections.EMPTY_LIST);
List<String> functionList = new ArrayList<>();
List<RedDotDetialDTO> details = new ArrayList<>();
Result<List<CustomerGridByUserIdResultDTO>> govOrgResult = govOrgFeignClient.getMyGrids(formDTO.getStaffId());
if (govOrgResult.success() && !CollectionUtils.isEmpty(govOrgResult.getData())) {
List<String> functionList = new ArrayList<>();
List<RedDotDetialDTO> details = new ArrayList<>();
List<String> gridIdList = govOrgResult.getData().stream().map(CustomerGridByUserIdResultDTO::getGridId).collect(Collectors.toList());
//1、群组管理(待审核的小组申请、变更小组申请)
@ -335,11 +336,20 @@ public class RemindServiceImpl implements RemindService {
}
});
}
redDotResultDTO.setFunctionList(functionList);
redDotResultDTO.setDetails(details);
} else {
logger.warn(String.format("基层治理红点查询,获取工作人员所属网格失败,当前staffId=%s", formDTO.getStaffId()));
}
// 群众直报:当前工作人员所属的组织存在待处理(未读的)、有新的回复的(相当于处理中有红点的)记录就显示红点
if(org.apache.commons.lang3.StringUtils.isNotBlank(formDTO.getAgencyId())){
Result<ResiEventManageRedDotRes> projectRes=govProjectOpenFeignClient.queryResiEventManageRedDot(formDTO.getAgencyId());
if(projectRes.success()&&null !=projectRes.getData()&&projectRes.getData().getTotalCount()>0){
functionList.add(WorkGrassRootsFunctionConstant.RESI_EVENT_MANAGE);
details.add(new RedDotDetialDTO(WorkGrassRootsFunctionConstant.RESI_EVENT_MANAGE, projectRes.getData().getTotalCount().longValue()));
}
}
redDotResultDTO.setFunctionList(functionList);
redDotResultDTO.setDetails(details);
return redDotResultDTO;
}

30
epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/result/ResiEventManageRedDotRes.java

@ -0,0 +1,30 @@
package com.epmet.dto.result;
import lombok.Data;
import java.io.Serializable;
/**
* 描述一下
*
* @author yinzuomei@elink-cn.com
* @date 2021/8/6 13:54
*/
@Data
public class ResiEventManageRedDotRes implements Serializable {
/**
* 待处理未读的事件数
* */
private Integer unReadCount;
/**
* 已经度过但是又有新的回复立项结案
* */
private Integer redDotCount;
/**
* 总数
* */
private Integer totalCount;
}

12
epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/feign/GovProjectOpenFeignClient.java

@ -6,7 +6,6 @@ import com.epmet.dto.ProjectCategoryDTO;
import com.epmet.dto.ProjectDTO;
import com.epmet.dto.form.*;
import com.epmet.dto.result.*;
import com.epmet.feign.fallback.GovProjectOpenFeignClientFallback;
import com.epmet.feign.fallback.GovProjectOpenFeignClientFallbackFactory;
import com.epmet.resi.mine.dto.from.MyPartProjectsFormDTO;
import org.springframework.cloud.openfeign.FeignClient;
@ -124,4 +123,15 @@ public interface GovProjectOpenFeignClient {
*/
@PostMapping("gov/project/project/unresolvedlist")
Result<List<UnResolvedResultDTO>> getUnResolvedList(@RequestBody ShiftProjectListFromDTO formDTO);
/**
* 群众直报当前工作人员所属的组织存在待处理未读的有新的回复的相当于处理中有红点的)记录就显示红点
*
* @param agencyId
* @return com.epmet.commons.tools.utils.Result<com.epmet.dto.result.ResiEventManageRedDotRes>
* @author yinzuomei
* @date 2021/8/6 14:07
*/
@PostMapping("gov/project/resievent/queryResiEventManageRedDot/{agencyId}")
Result<ResiEventManageRedDotRes> queryResiEventManageRedDot(@PathVariable("agencyId") String agencyId);
}

13
epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/feign/fallback/GovProjectOpenFeignClientFallback.java

@ -119,4 +119,17 @@ public class GovProjectOpenFeignClientFallback implements GovProjectOpenFeignCli
public Result<List<UnResolvedResultDTO>> getUnResolvedList(ShiftProjectListFromDTO formDTO) {
return ModuleUtils.feignConError(ServiceConstant.GOV_PROJECT_SERVER, "getUnResolvedList", formDTO);
}
/**
* 群众直报当前工作人员所属的组织存在待处理未读的有新的回复的相当于处理中有红点的)记录就显示红点
*
* @param agencyId
* @return com.epmet.commons.tools.utils.Result<com.epmet.dto.result.ResiEventManageRedDotRes>
* @author yinzuomei
* @date 2021/8/6 14:08
*/
@Override
public Result<ResiEventManageRedDotRes> queryResiEventManageRedDot(String agencyId) {
return ModuleUtils.feignConError(ServiceConstant.GOV_PROJECT_SERVER, "queryResiEventManageRedDot", agencyId);
}
}

19
epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/controller/ResiEventController.java

@ -26,10 +26,7 @@ import com.epmet.dto.form.*;
import com.epmet.dto.result.*;
import com.epmet.service.ResiEventService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.bind.annotation.*;
import java.util.List;
@ -202,4 +199,18 @@ public class ResiEventController {
resiEventService.closeResiEvent(formDTO);
return new Result();
}
/**
* 工作台最新直报是否显示红点
*
* @param agencyId
* @return com.epmet.commons.tools.utils.Result<com.epmet.dto.result.ResiEventManageRedDotRes>
* @author yinzuomei
* @date 2021/8/6 13:57
*/
@PostMapping("queryResiEventManageRedDot/{agencyId}")
Result<ResiEventManageRedDotRes> queryResiEventManageRedDot(@PathVariable("agencyId") String agencyId) {
return new Result<ResiEventManageRedDotRes>().ok(resiEventService.queryResiEventManageRedDot(agencyId));
}
}

4
epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/dao/ResiEventReportOrgDao.java

@ -60,4 +60,8 @@ public interface ResiEventReportOrgDao extends BaseDao<ResiEventReportOrgEntity>
* @date 2021/8/4 17:41
*/
int updateRedDotShow(String resiEventId);
Integer selectUnReadCount(String agencyId);
Integer selectRedCount(String agencyId);
}

10
epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/ResiEventService.java

@ -119,4 +119,14 @@ public interface ResiEventService extends BaseService<ResiEventEntity> {
void shiftProject(EventShiftProjectDTO eventShiftProjectDTO);
ResiEventEntity getById(String eventId);
/**
* 工作台最新直报是否显示红点
*
* @param agencyId
* @return com.epmet.dto.result.ResiEventManageRedDotRes
* @author yinzuomei
* @date 2021/8/6 13:57
*/
ResiEventManageRedDotRes queryResiEventManageRedDot(String agencyId);
}

17
epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ResiEventServiceImpl.java

@ -620,5 +620,22 @@ public class ResiEventServiceImpl extends BaseServiceImpl<ResiEventDao, ResiEven
return baseDao.selectById(eventId);
}
/**
* 工作台最新直报是否显示红点
*
* @param agencyId
* @return com.epmet.dto.result.ResiEventManageRedDotRes
* @author yinzuomei
* @date 2021/8/6 13:57
*/
@Override
public ResiEventManageRedDotRes queryResiEventManageRedDot(String agencyId) {
ResiEventManageRedDotRes res=new ResiEventManageRedDotRes();
res.setUnReadCount(resiEventReportOrgDao.selectUnReadCount(agencyId));
res.setRedDotCount(resiEventReportOrgDao.selectRedCount(agencyId));
res.setTotalCount(res.getUnReadCount()+res.getRedDotCount());
return res;
}
}

23
epmet-module/gov-project/gov-project-server/src/main/resources/mapper/ResiEventReportOrgDao.xml

@ -33,4 +33,27 @@
AND ORG_ID = #{orgId}
AND RESI_EVENT_ID = #{eventId}
</update>
<select id="selectUnReadCount" parameterType="java.lang.String" resultType="java.lang.Integer">
SELECT
COUNT(M.ID)
FROM resi_event_report_org M
INNER JOIN resi_event RE ON(M.RESI_EVENT_ID=RE.ID)
WHERE M.DEL_FLAG='0'
AND RE.DEL_FLAG='0'
AND M.ORG_ID=#{agencyId}
AND M.ORG_READ='un_read'
</select>
<select id="selectRedCount" parameterType="java.lang.String" resultType="java.lang.Integer">
SELECT
COUNT(M.ID)
FROM resi_event_report_org M
INNER JOIN resi_event RE ON(M.RESI_EVENT_ID=RE.ID)
WHERE M.DEL_FLAG='0'
AND RE.DEL_FLAG='0'
AND M.ORG_ID=#{agencyId}
AND M.ORG_READ='read'
and m.RED_DOT='1'
</select>
</mapper>
Loading…
Cancel
Save