diff --git a/epmet-module/epmet-ext/epmet-ext-server/src/main/java/com/epmet/controller/OpenUpController.java b/epmet-module/epmet-ext/epmet-ext-server/src/main/java/com/epmet/controller/OpenUpController.java index 84c852d7c4..147308f38e 100644 --- a/epmet-module/epmet-ext/epmet-ext-server/src/main/java/com/epmet/controller/OpenUpController.java +++ b/epmet-module/epmet-ext/epmet-ext-server/src/main/java/com/epmet/controller/OpenUpController.java @@ -102,3 +102,4 @@ public class OpenUpController { } } + diff --git a/epmet-module/epmet-ext/epmet-ext-server/src/main/java/com/epmet/controller/OpenUpUserController.java b/epmet-module/epmet-ext/epmet-ext-server/src/main/java/com/epmet/controller/OpenUpUserController.java new file mode 100644 index 0000000000..341715b6ae --- /dev/null +++ b/epmet-module/epmet-ext/epmet-ext-server/src/main/java/com/epmet/controller/OpenUpUserController.java @@ -0,0 +1,44 @@ +package com.epmet.controller; + +import com.epmet.commons.extappauth.annotation.ExternalAppRequestAuth; +import com.epmet.commons.tools.annotation.LoginUser; +import com.epmet.commons.tools.security.dto.TokenDto; +import com.epmet.commons.tools.utils.Result; +import com.epmet.commons.tools.validator.ValidatorUtils; +import com.epmet.dto.form.CommonUserIdFormDTO; +import com.epmet.dto.result.ExtUserInfoResultDTO; +import com.epmet.feign.EpmetUserOpenFeignClient; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + * @Description + * @ClassName OpenUpUserController + * @Auth wangc + * @Date 2020-08-21 17:56 + */ +@RestController +@RequestMapping("user") +public class OpenUpUserController { + + @Autowired + private EpmetUserOpenFeignClient epmetUserOpenFeignClient; + + /** + * @Description 查找当前用户的信息 + * @param + * @return + * @author wangc + * @date 2020.08.17 10:30 + **/ + @ExternalAppRequestAuth + @PostMapping("userinfo") + Result userInfo(@LoginUser TokenDto token){ + CommonUserIdFormDTO userParam = new CommonUserIdFormDTO(); + userParam.setUserId(token.getUserId()); + ValidatorUtils.validateEntity(userParam, CommonUserIdFormDTO.CommonUserIdGroup.class); + return epmetUserOpenFeignClient.extUserInfo(userParam); + } +} diff --git a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/ExtStaffInfoResultDTO.java b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/ExtStaffInfoResultDTO.java index a0f76c8787..e8d385c116 100644 --- a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/ExtStaffInfoResultDTO.java +++ b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/ExtStaffInfoResultDTO.java @@ -15,6 +15,10 @@ import java.util.List; public class ExtStaffInfoResultDTO implements Serializable { private static final long serialVersionUID = 3874334777882476292L; + /** + * 当前用户id + * */ + private String userId; /** * 工作人员昵称 * */ diff --git a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/ExtUserInfoResultDTO.java b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/ExtUserInfoResultDTO.java new file mode 100644 index 0000000000..a7649e03a2 --- /dev/null +++ b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/ExtUserInfoResultDTO.java @@ -0,0 +1,82 @@ +package com.epmet.dto.result; + +import lombok.Data; + +import java.io.Serializable; +import java.util.ArrayList; +import java.util.List; + +/** + * @Description + * @ClassName ExtUserInfoResultDTO + * @Auth wangc + * @Date 2020-08-21 17:09 + */ +@Data +public class ExtUserInfoResultDTO implements Serializable { + private static final long serialVersionUID = 5888986115026957874L; + + /** + * 当前用户id + * */ + private String userId = ""; + /** + * 工作人员昵称 + * */ + private String nickname = ""; + + /** + * 工作人员头像 + * */ + private String profile = ""; + + /** + * + * */ + private String realName = ""; + + /** + * 客户Id + * */ + private String customerId = ""; + + /** + * 客户名称 + * */ + private String customerName = ""; + + /** + * 机关Id + * */ + private String agencyId = ""; + + /** + * 机关名称 + * */ + private String agencyName = ""; + + /** + * 机关路径Id + * */ + private String agencyIdPath = ""; + + /** + * 机关路径名称 + * */ + private String agencyNamePath = ""; + + /** + * 网格Id + * */ + private String gridId = ""; + + /** + * 网格名称 + * */ + private String gridName = ""; + + /** + * 用户角色列表 + * */ + private List roleList = new ArrayList<>(); +} diff --git a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/feign/GovOrgOpenFeignClient.java b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/feign/GovOrgOpenFeignClient.java index 78d6300d62..2ebce80475 100644 --- a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/feign/GovOrgOpenFeignClient.java +++ b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/feign/GovOrgOpenFeignClient.java @@ -240,4 +240,14 @@ public interface GovOrgOpenFeignClient { **/ @PostMapping("/gov/org/customeragency/permissionext/{staffId}") Result staffPermissionExt(@PathVariable(value = "staffId") String staffId); + + /** + * @Description User模块调用gov-org查询用户所在机关的信息以及客户信息 + * @param result ExtStaffInfoResultDTO.class + * @return Result + * @author wangc + * @date 2020.08.17 13:52 + **/ + @PostMapping("/gov/org/customeragency/userinfoext") + Result userInfoExt(@RequestBody ExtUserInfoResultDTO result); } diff --git a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/feign/fallback/GovOrgOpenFeignClientFallback.java b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/feign/fallback/GovOrgOpenFeignClientFallback.java index 15ea830edb..8f70da4530 100644 --- a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/feign/fallback/GovOrgOpenFeignClientFallback.java +++ b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/feign/fallback/GovOrgOpenFeignClientFallback.java @@ -141,4 +141,9 @@ public class GovOrgOpenFeignClientFallback implements GovOrgOpenFeignClient { public Result staffPermissionExt(String staffId) { return ModuleUtils.feignConError(ServiceConstant.GOV_ORG_SERVER, "staffPermissionExt", staffId); } + + @Override + public Result userInfoExt(ExtUserInfoResultDTO result) { + return ModuleUtils.feignConError(ServiceConstant.GOV_ORG_SERVER, "userInfoExt", result); + } } diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/CustomerAgencyController.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/CustomerAgencyController.java index eda5db2edf..fb76995133 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/CustomerAgencyController.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/CustomerAgencyController.java @@ -217,4 +217,16 @@ public class CustomerAgencyController { Result staffPermissionExt(@PathVariable(value = "staffId") String staffId){ return new Result().ok(customerAgencyService.staffPermissionExt(staffId)); } + + /** + * @Description 对外接口 获用户员基本信息 + * @param result ExtUserInfoResultDTO.class + * @return Result + * @author wangc + * @date 2020.08.17 13:52 + **/ + @PostMapping("userinfoext") + Result userInfoExt(@RequestBody ExtUserInfoResultDTO result){ + return new Result().ok(customerAgencyService.extUserInfo(result)); + } } \ No newline at end of file diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/CustomerAgencyService.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/CustomerAgencyService.java index 62b527e6ba..02d05a373c 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/CustomerAgencyService.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/CustomerAgencyService.java @@ -196,4 +196,13 @@ public interface CustomerAgencyService extends BaseService * @date 2020.08.17 17:30 **/ ExtStaffPermissionResultDTO staffPermissionExt(String staffId); + + /** + * @Description 查询当前用户的信息,多客户/单客户,epmet-plugin,对外开放调用 + * @param result + * @return + * @author wangc + * @date 2020.08.21 17:31 + **/ + ExtUserInfoResultDTO extUserInfo(ExtUserInfoResultDTO result); } \ No newline at end of file diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/CustomerAgencyServiceImpl.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/CustomerAgencyServiceImpl.java index 69b292364e..c401f89afc 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/CustomerAgencyServiceImpl.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/CustomerAgencyServiceImpl.java @@ -899,6 +899,36 @@ public class CustomerAgencyServiceImpl extends BaseServiceImpl customerResult = + operCrmFeignClient.getCustomerInfo(customerParam); + if(customerResult.success() && null != customerResult.getData()){ + result.setCustomerName(customerResult.getData().getCustomerName()); + } + return result; + } + public void mergeObject(T origin, T destination) { if (origin == null || destination == null) diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/CommonUserIdFormDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/CommonUserIdFormDTO.java new file mode 100644 index 0000000000..340e91be92 --- /dev/null +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/CommonUserIdFormDTO.java @@ -0,0 +1,22 @@ +package com.epmet.dto.form; + +import com.epmet.commons.tools.validator.group.CustomerClientShowGroup; +import lombok.Data; + +import javax.validation.constraints.NotBlank; +import java.io.Serializable; + +/** + * @Description userId + * @ClassName CommonUserIdFormDTO + * @Auth wangc + * @Date 2020-08-21 17:14 + */ +@Data +public class CommonUserIdFormDTO implements Serializable { + private static final long serialVersionUID = 3934409262981136977L; + public interface CommonUserIdGroup extends CustomerClientShowGroup{} + + @NotBlank(message = "用户Id不可为空", groups = CommonUserIdGroup.class) + private String userId; +} diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/feign/EpmetUserOpenFeignClient.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/feign/EpmetUserOpenFeignClient.java index 7dec227f1c..63e3380b6b 100644 --- a/epmet-user/epmet-user-client/src/main/java/com/epmet/feign/EpmetUserOpenFeignClient.java +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/feign/EpmetUserOpenFeignClient.java @@ -1,6 +1,6 @@ package com.epmet.feign; -import com.epmet.commons.tools.annotation.LoginUser; + import com.epmet.commons.tools.constant.ServiceConstant; import com.epmet.commons.tools.security.dto.TokenDto; import com.epmet.commons.tools.utils.Result; @@ -298,4 +298,14 @@ public interface EpmetUserOpenFeignClient { **/ @PostMapping("epmetuser/customerstaff/extstaffinfo") Result extStaffInfo(@RequestBody CommonStaffIdFormDTO staffParam); + + /** + * @Description 查询当前用户信息 - 对外接口 + * @param param + * @return + * @author wangc + * @date 2020.08.21 17:16 + **/ + @PostMapping("/epmetuser/userbaseinfo/extuserinfo") + Result extUserInfo( @RequestBody CommonUserIdFormDTO param); } diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/feign/fallback/EpmetUserOpenFeignClientFallback.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/feign/fallback/EpmetUserOpenFeignClientFallback.java index 66aede9450..480ba8862e 100644 --- a/epmet-user/epmet-user-client/src/main/java/com/epmet/feign/fallback/EpmetUserOpenFeignClientFallback.java +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/feign/fallback/EpmetUserOpenFeignClientFallback.java @@ -203,4 +203,9 @@ public class EpmetUserOpenFeignClientFallback implements EpmetUserOpenFeignClien public Result extStaffInfo(CommonStaffIdFormDTO staffParam) { return ModuleUtils.feignConError(ServiceConstant.EPMET_USER_SERVER, "extStaffInfo", staffParam); } + + @Override + public Result extUserInfo(CommonUserIdFormDTO param) { + return ModuleUtils.feignConError(ServiceConstant.EPMET_USER_SERVER, "extUserInfo", param); + } } diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/UserBaseInfoController.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/UserBaseInfoController.java index 154ec7d643..d8d9d969f3 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/UserBaseInfoController.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/UserBaseInfoController.java @@ -28,9 +28,11 @@ import com.epmet.commons.tools.validator.group.AddGroup; import com.epmet.commons.tools.validator.group.DefaultGroup; import com.epmet.commons.tools.validator.group.UpdateGroup; import com.epmet.dto.UserBaseInfoDTO; +import com.epmet.dto.form.CommonUserIdFormDTO; import com.epmet.dto.form.IssueInitiatorFormDTO; import com.epmet.dto.form.ResiVolunteerAuthenticateFormDTO; import com.epmet.dto.result.CustomerUserDetailResultDTO; +import com.epmet.dto.result.ExtUserInfoResultDTO; import com.epmet.dto.result.ResiUserBaseInfoResultDTO; import com.epmet.dto.result.UserBaseInfoResultDTO; import com.epmet.entity.UserBaseInfoEntity; @@ -188,5 +190,18 @@ public class UserBaseInfoController { userBaseInfoService.clearUserCache(userIds); return new Result(); } + + /** + * @Description 查询当前用户信息 - 对外接口 + * @param param + * @return + * @author wangc + * @date 2020.08.21 17:16 + **/ + @PostMapping("extuserinfo") + Result extUserInfo( @RequestBody CommonUserIdFormDTO param){ + ValidatorUtils.validateEntity(param, CommonUserIdFormDTO.CommonUserIdGroup.class); + return new Result().ok(userBaseInfoService.extUserInfo(param)); + } } diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/UserBaseInfoService.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/UserBaseInfoService.java index 33e27f88a6..bf5cf90e67 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/UserBaseInfoService.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/UserBaseInfoService.java @@ -21,8 +21,10 @@ import com.epmet.commons.mybatis.service.BaseService; import com.epmet.commons.tools.page.PageData; import com.epmet.commons.tools.utils.Result; import com.epmet.dto.UserBaseInfoDTO; +import com.epmet.dto.form.CommonUserIdFormDTO; import com.epmet.dto.form.ResiVolunteerAuthenticateFormDTO; import com.epmet.dto.result.CustomerUserDetailResultDTO; +import com.epmet.dto.result.ExtUserInfoResultDTO; import com.epmet.dto.result.ResiUserBaseInfoResultDTO; import com.epmet.dto.result.UserBaseInfoResultDTO; import com.epmet.entity.UserBaseInfoEntity; @@ -161,4 +163,13 @@ public interface UserBaseInfoService extends BaseService { * @date 2020.08.06 14:38 **/ void clearUserCache(List ids); + + /** + * @Description 查询当前用户信息 - 对外接口 + * @param param + * @return + * @author wangc + * @date 2020.08.21 17:16 + **/ + ExtUserInfoResultDTO extUserInfo(CommonUserIdFormDTO param); } diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/CustomerStaffServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/CustomerStaffServiceImpl.java index 0ebbbc0afa..030a917e71 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/CustomerStaffServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/CustomerStaffServiceImpl.java @@ -589,6 +589,7 @@ public class CustomerStaffServiceImpl extends BaseServiceImpl govOrgResult = govOrgOpenFeignClient.staffInfoExt(result); diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/UserBaseInfoServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/UserBaseInfoServiceImpl.java index ccfe47dc70..7143b7d171 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/UserBaseInfoServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/UserBaseInfoServiceImpl.java @@ -25,23 +25,24 @@ import com.epmet.commons.tools.constant.NumConstant; import com.epmet.commons.tools.page.PageData; import com.epmet.commons.tools.utils.ConvertUtils; import com.epmet.commons.tools.utils.Result; -import com.epmet.dao.UserBaseInfoDao; -import com.epmet.dao.UserResiInfoDao; -import com.epmet.dao.UserWechatDao; +import com.epmet.dao.*; import com.epmet.dto.UserBaseInfoDTO; import com.epmet.dto.UserResiInfoDTO; import com.epmet.dto.UserWechatDTO; +import com.epmet.dto.form.CommonUserIdFormDTO; import com.epmet.dto.form.ResiVolunteerAuthenticateFormDTO; -import com.epmet.dto.result.CustomerUserDetailResultDTO; -import com.epmet.dto.result.ResiUserBaseInfoResultDTO; -import com.epmet.dto.result.UserBaseInfoResultDTO; +import com.epmet.dto.form.UserRoleFormDTO; +import com.epmet.dto.result.*; import com.epmet.entity.UserBaseInfoEntity; +import com.epmet.feign.GovOrgOpenFeignClient; import com.epmet.redis.UserBaseInfoRedis; import com.epmet.resi.partymember.dto.partymember.PartymemberInfoDTO; import com.epmet.resi.partymember.feign.ResiPartyMemberOpenFeignClient; import com.epmet.service.UserBaseInfoService; import com.epmet.util.ModuleConstant; import org.apache.commons.lang3.StringUtils; +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -57,6 +58,8 @@ import java.util.*; @Service public class UserBaseInfoServiceImpl extends BaseServiceImpl implements UserBaseInfoService { + private Logger logger = LogManager.getLogger(getClass()); + @Autowired private UserBaseInfoRedis userBaseInfoRedis; @Autowired @@ -65,6 +68,12 @@ public class UserBaseInfoServiceImpl extends BaseServiceImpl page(Map params) { @@ -296,4 +305,52 @@ public class UserBaseInfoServiceImpl extends BaseServiceImpl roleList = userRoleDao.getUserRoleInfo(roleParam); + List roleListFormat = new LinkedList<>(); + if(null != roleList && !roleList.isEmpty()){ + roleList.forEach(role -> { + ExtRoleMapResultDTO object = ConvertUtils.sourceToTarget(role,ExtRoleMapResultDTO.class); + roleListFormat.add(object); + }); + result.setRoleList(roleListFormat); + } + + Result govOrgResult = + govOrgOpenFeignClient.userInfoExt(result); + if(govOrgResult.success() && null != govOrgResult.getData()){ + return govOrgResult.getData();} + + return result; + } }