Browse Source

新增:我要报事-查询人大代表列表

dev_shibei_match
wxz 4 years ago
parent
commit
0f003b38ad
  1. 5
      epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/feign/ResultDataResolver.java
  2. 13
      epmet-module/resi-home/resi-home-client/src/main/java/com/epmet/dto/form/ResiEventNpcListFormDTO.java
  3. 28
      epmet-module/resi-home/resi-home-client/src/main/java/com/epmet/dto/result/ResiEventNpcResultDTO.java
  4. 10
      epmet-module/resi-home/resi-home-server/pom.xml
  5. 25
      epmet-module/resi-home/resi-home-server/src/main/java/com/epmet/controller/ResiEventController.java
  6. 11
      epmet-module/resi-home/resi-home-server/src/main/java/com/epmet/service/ResiEventService.java
  7. 47
      epmet-module/resi-home/resi-home-server/src/main/java/com/epmet/service/impl/ResiEventServiceImpl.java
  8. 3
      epmet-user/epmet-user-client/src/main/java/com/epmet/constant/BadgeConstant.java
  9. 20
      epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/ListUserByBadgeFormDTO.java
  10. 20
      epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/ListUserByBadgeResultDTO.java
  11. 9
      epmet-user/epmet-user-client/src/main/java/com/epmet/feign/EpmetUserOpenFeignClient.java
  12. 10
      epmet-user/epmet-user-client/src/main/java/com/epmet/feign/fallback/EpmetUserOpenFeignClientFallback.java
  13. 23
      epmet-user/epmet-user-server/src/main/java/com/epmet/controller/BadgeController.java
  14. 8
      epmet-user/epmet-user-server/src/main/java/com/epmet/dao/BadgeDao.java
  15. 8
      epmet-user/epmet-user-server/src/main/java/com/epmet/service/BadgeService.java
  16. 4
      epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/BadgeServiceImpl.java
  17. 20
      epmet-user/epmet-user-server/src/main/resources/mapper/BadgeDao.xml

5
epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/feign/ResultDataResolver.java

@ -30,8 +30,11 @@ public interface ResultDataResolver {
//} //}
/** /**
* @Description 获取Result种的data如果失败(返回result为null或者result.success为false)那么抛出异常 * @Description
* @return * @return
* @param targetServiceName 目标service名称
* @param errorCode 错误码可以为空为空则使用上游服务抛出的错误码
* @param errorInternalMsg 错误信息可以为空为空则使用上游服务抛出的异常信息
* @author wxz * @author wxz
* @date 2021.06.07 22:45 * @date 2021.06.07 22:45
*/ */

13
epmet-module/resi-home/resi-home-client/src/main/java/com/epmet/dto/form/ResiEventNpcListFormDTO.java

@ -0,0 +1,13 @@
package com.epmet.dto.form;
import lombok.Data;
/**
* @Description 我要报事人大代表列表
* @author wxz
* @date 2021.08.03 09:16:59
*/
@Data
public class ResiEventNpcListFormDTO {
private String gridId;
}

28
epmet-module/resi-home/resi-home-client/src/main/java/com/epmet/dto/result/ResiEventNpcResultDTO.java

@ -0,0 +1,28 @@
package com.epmet.dto.result;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import javax.validation.constraints.NotBlank;
/**
* @Description 我要报事-人大代表列表
* @author wxz
* @date 2021.08.03 09:12:57
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
public class ResiEventNpcResultDTO {
private String userId;
private String gridId;
private String displayName;
private String headImgUrl;
private String agencyId;
}

10
epmet-module/resi-home/resi-home-server/pom.xml

@ -68,6 +68,16 @@
<version>2.0.0</version> <version>2.0.0</version>
<scope>compile</scope> <scope>compile</scope>
</dependency> </dependency>
<dependency>
<groupId>com.epmet</groupId>
<artifactId>gov-org-client</artifactId>
<version>2.0.0</version>
</dependency>
<dependency>
<groupId>com.epmet</groupId>
<artifactId>epmet-user-client</artifactId>
<version>2.0.0</version>
</dependency>
</dependencies> </dependencies>

25
epmet-module/resi-home/resi-home-server/src/main/java/com/epmet/controller/ResiEventController.java

@ -1,8 +1,18 @@
package com.epmet.controller; package com.epmet.controller;
import com.epmet.commons.tools.utils.Result;
import com.epmet.commons.tools.validator.ValidatorUtils;
import com.epmet.dto.form.ResiEventNpcListFormDTO;
import com.epmet.dto.result.ResiEventNpcResultDTO;
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.RequestMapping;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
import java.util.List;
/** /**
* @Description 群众直报/报事controller * @Description 群众直报/报事controller
* @author wxz * @author wxz
@ -12,6 +22,21 @@ import org.springframework.web.bind.annotation.RestController;
@RequestMapping("resi-event") @RequestMapping("resi-event")
public class ResiEventController { public class ResiEventController {
@Autowired
private ResiEventService resiEventService;
/**
* @Description 查询人大代表列表
* @return
* @author wxz
* @date 2021.08.03 09:17
*/
@PostMapping("/npc-list-ingrid")
public Result<List<ResiEventNpcResultDTO>> listNpc(@RequestBody ResiEventNpcListFormDTO input) {
ValidatorUtils.validateEntity(input);
String gridId = input.getGridId();
List<ResiEventNpcResultDTO> npcs = resiEventService.listNpcByGrid(gridId);
return new Result<List<ResiEventNpcResultDTO>>().ok(npcs);
}
} }

11
epmet-module/resi-home/resi-home-server/src/main/java/com/epmet/service/ResiEventService.java

@ -1,9 +1,20 @@
package com.epmet.service; package com.epmet.service;
import com.epmet.dto.result.ResiEventNpcResultDTO;
import java.util.List;
/** /**
* @Description 报事service * @Description 报事service
* @author wxz * @author wxz
* @date 2021.08.02 09:59:16 * @date 2021.08.02 09:59:16
*/ */
public interface ResiEventService { public interface ResiEventService {
/**
* @Description 查询网格的人大代表列表
* @return
* @author wxz
* @date 2021.08.03 09:29
*/
List<ResiEventNpcResultDTO> listNpcByGrid(String gridId);
} }

47
epmet-module/resi-home/resi-home-server/src/main/java/com/epmet/service/impl/ResiEventServiceImpl.java

@ -1,13 +1,54 @@
package com.epmet.service.impl; package com.epmet.service.impl;
import com.epmet.commons.tools.constant.ServiceConstant;
import com.epmet.commons.tools.exception.EpmetErrorCode;
import com.epmet.commons.tools.feign.ResultDataResolver;
import com.epmet.commons.tools.utils.Result;
import com.epmet.constant.BadgeConstant;
import com.epmet.dto.form.ListUserByBadgeFormDTO;
import com.epmet.dto.result.GridInfoResultDTO;
import com.epmet.dto.result.ListUserByBadgeResultDTO;
import com.epmet.dto.result.ResiEventNpcResultDTO;
import com.epmet.feign.EpmetUserOpenFeignClient;
import com.epmet.feign.GovOrgOpenFeignClient;
import com.epmet.service.ResiEventService; import com.epmet.service.ResiEventService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.util.List;
import java.util.stream.Collectors;
/** /**
* @Description 报事service
* @author wxz * @author wxz
* @Description 报事service
* @date 2021.08.02 09:59:36 * @date 2021.08.02 09:59:36
*/ */
@Service @Service
public class ResiEventServiceImpl implements ResiEventService { public class ResiEventServiceImpl implements ResiEventService, ResultDataResolver {
@Autowired
GovOrgOpenFeignClient govOrgOpenFeignClient;
@Autowired
private EpmetUserOpenFeignClient epmetUserOpenFeignClient;
@Override
public List<ResiEventNpcResultDTO> listNpcByGrid(String gridId) {
// 查询网格所属的组织信息
Result<GridInfoResultDTO> gridInfoResult = govOrgOpenFeignClient.queryGridInfo(gridId);
GridInfoResultDTO gridInfoData = getResultDataOrThrowsException(gridInfoResult, ServiceConstant.GOV_ORG_SERVER, null, null);
String parentAgencyId = gridInfoData.getParentAgencyId();
//查询人大代表列表
ListUserByBadgeFormDTO npcForm = new ListUserByBadgeFormDTO(gridId, BadgeConstant.BADGE_KEY_NPC);
Result<List<ListUserByBadgeResultDTO>> npcResult = epmetUserOpenFeignClient.listUsersByBadge(npcForm);
List<ListUserByBadgeResultDTO> npcData = getResultDataOrThrowsException(npcResult, ServiceConstant.EPMET_USER_SERVER, null, null);
List<ResiEventNpcResultDTO> npcResultList = npcData.stream()
.map(npc -> new ResiEventNpcResultDTO(npc.getUserId(), gridId, "人大代表-".concat(npc.getRealName()), npc.getHeadImgUrl(), parentAgencyId))
.collect(Collectors.toList());
return npcResultList;
}
} }

3
epmet-user/epmet-user-client/src/main/java/com/epmet/constant/BadgeConstant.java

@ -42,4 +42,7 @@ public interface BadgeConstant {
String DEFAULT = "default"; String DEFAULT = "default";
// 人大代表徽章KEY
String BADGE_KEY_NPC = "NPC";
} }

20
epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/ListUserByBadgeFormDTO.java

@ -0,0 +1,20 @@
package com.epmet.dto.form;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import javax.validation.constraints.NotBlank;
@Data
@AllArgsConstructor
@NoArgsConstructor
public class ListUserByBadgeFormDTO {
@NotBlank(message = "网格ID不能为空")
private String gridId;
@NotBlank(message = "徽章key不能为空")
private String badgeKey;
}

20
epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/ListUserByBadgeResultDTO.java

@ -0,0 +1,20 @@
package com.epmet.dto.result;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* @author wxz
* @Description 根据徽章查询用户结果集
* @date 2021.08.02 10:23:37
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
public class ListUserByBadgeResultDTO {
private String userId;
private String gridId;
private String realName;
private String headImgUrl;
}

9
epmet-user/epmet-user-client/src/main/java/com/epmet/feign/EpmetUserOpenFeignClient.java

@ -605,4 +605,13 @@ public interface EpmetUserOpenFeignClient {
*/ */
@PostMapping("/epmetuser/staffpatrol/endpatrolJob") @PostMapping("/epmetuser/staffpatrol/endpatrolJob")
Result endPatrolJob(@RequestBody StartPatrolFormDTO formDTO); Result endPatrolJob(@RequestBody StartPatrolFormDTO formDTO);
/**
* @Description 根据徽章查询用户列表
* @return
* @author wxz
* @date 2021.08.02 10:27
*/
@PostMapping("/epmetuser/badge/list-users-by-badge")
Result<List<ListUserByBadgeResultDTO>> listUsersByBadge(ListUserByBadgeFormDTO input);
} }

10
epmet-user/epmet-user-client/src/main/java/com/epmet/feign/fallback/EpmetUserOpenFeignClientFallback.java

@ -422,4 +422,14 @@ public class EpmetUserOpenFeignClientFallback implements EpmetUserOpenFeignClien
return ModuleUtils.feignConError(ServiceConstant.EPMET_USER_SERVER, "endPatrolJob", formDTO); return ModuleUtils.feignConError(ServiceConstant.EPMET_USER_SERVER, "endPatrolJob", formDTO);
} }
/**
* @Description 根据徽章查询用户列表
* @return
* @author wxz
* @date 2021.08.03 09:03
*/
@Override
public Result<List<ListUserByBadgeResultDTO>> listUsersByBadge(ListUserByBadgeFormDTO input) {
return ModuleUtils.feignConError(ServiceConstant.EPMET_USER_SERVER, "listUsersByBadge", input);
}
} }

23
epmet-user/epmet-user-server/src/main/java/com/epmet/controller/BadgeController.java

@ -10,11 +10,9 @@ import com.epmet.dto.result.*;
import com.epmet.redis.UserBadgeRedis; import com.epmet.redis.UserBadgeRedis;
import com.epmet.service.BadgeService; import com.epmet.service.BadgeService;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.*;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import javax.validation.constraints.NotBlank;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
@ -190,4 +188,21 @@ public class BadgeController {
public Result<List<UserBadgesResultDTO>> userBadges(@RequestBody UserBadgesFormDTO formDTO){ public Result<List<UserBadgesResultDTO>> userBadges(@RequestBody UserBadgesFormDTO formDTO){
return new Result<List<UserBadgesResultDTO>>().ok(badgeService.userBadges(formDTO)); return new Result<List<UserBadgesResultDTO>>().ok(badgeService.userBadges(formDTO));
} }
/**
* @Description
* @return
* @author wxz
* @date 2021.08.02 10:27
*/
@PostMapping("list-users-by-badge")
public Result<List<ListUserByBadgeResultDTO>> listUsersByBadge(@RequestBody ListUserByBadgeFormDTO input) {
ValidatorUtils.validateEntity(input);
String gridId = input.getGridId();
String badgeKey = input.getBadgeKey();
List<ListUserByBadgeResultDTO> users = badgeService.listUsersByBadge(gridId, badgeKey);
return new Result<List<ListUserByBadgeResultDTO>>().ok(users);
}
} }

8
epmet-user/epmet-user-server/src/main/java/com/epmet/dao/BadgeDao.java

@ -196,4 +196,12 @@ public interface BadgeDao extends BaseDao<BadgeEntity> {
* @date 2020/11/19 10:18 上午 * @date 2020/11/19 10:18 上午
*/ */
int selectNextSort(@Param("customerId") String customerId); int selectNextSort(@Param("customerId") String customerId);
/**
* @Description 根据徽章查询人列表
* @return
* @author wxz
* @date 2021.08.02 10:40
*/
List<ListUserByBadgeResultDTO> listUsersByBadge(@Param("gridId") String gridId, @Param("badgeKey") String badgeKey);
} }

8
epmet-user/epmet-user-server/src/main/java/com/epmet/service/BadgeService.java

@ -192,4 +192,12 @@ public interface BadgeService extends BaseService<BadgeEntity> {
* @date 2021/4/22 下午4:17 * @date 2021/4/22 下午4:17
*/ */
List<UserBadgesResultDTO> userBadges(UserBadgesFormDTO formDTO); List<UserBadgesResultDTO> userBadges(UserBadgesFormDTO formDTO);
/**
* @Description 根据徽章查询用户列表
* @return
* @author wxz
* @date 2021.08.02 10:39
*/
List<ListUserByBadgeResultDTO> listUsersByBadge(String gridId, String badgeKey);
} }

4
epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/BadgeServiceImpl.java

@ -480,4 +480,8 @@ public class BadgeServiceImpl extends BaseServiceImpl<BadgeDao, BadgeEntity> imp
return result; return result;
} }
@Override
public List<ListUserByBadgeResultDTO> listUsersByBadge(String gridId, String badgeKey) {
return baseDao.listUsersByBadge(gridId, badgeKey);
}
} }

20
epmet-user/epmet-user-server/src/main/resources/mapper/BadgeDao.xml

@ -310,4 +310,24 @@
ORDER BY CREATED_TIME DESC ORDER BY CREATED_TIME DESC
LIMIT 1 LIMIT 1
</select> </select>
<!--根据徽章查询居民列表-->
<select id="listUsersByBadge" resultType="com.epmet.dto.result.ListUserByBadgeResultDTO">
select
resi_user_badge.USER_ID,
resi_user_badge.GRID_ID,
user_base_info.REAL_NAME,
user_base_info.HEAD_IMG_URL
from resi_user_badge
inner join badge on (badge.BADGE_KEY = #{badgeKey}
and resi_user_badge.GRID_ID = #{gridId}
and resi_user_badge.CERTIFICATION_AUTID_STATUS = 'approved'
and resi_user_badge.DEL_FLAG = 0
and resi_user_badge.BADGE_ID = badge.ID
and badge.DEL_FLAG = 0)
inner join user_base_info
on (user_base_info.USER_ID = resi_user_badge.USER_ID
and user_base_info.DEL_FLAG = 0)
</select>
</mapper> </mapper>
Loading…
Cancel
Save