From dba1e53cd7652f1b973ffec118e5b3312278c814 Mon Sep 17 00:00:00 2001 From: dangsn <dangsn@chicecm.com> Date: 星期二, 11 六月 2024 15:45:24 +0800 Subject: [PATCH] 调整获取用户的接口 --- Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/frameworkcore/compatibility/impl/SmUserQueryServiceImpl.java | 86 ++++++++++++++++++++++++++++++++++++------- 1 files changed, 72 insertions(+), 14 deletions(-) diff --git a/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/frameworkcore/compatibility/impl/SmUserQueryServiceImpl.java b/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/frameworkcore/compatibility/impl/SmUserQueryServiceImpl.java index b0ae3c0..45314e6 100644 --- a/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/frameworkcore/compatibility/impl/SmUserQueryServiceImpl.java +++ b/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/frameworkcore/compatibility/impl/SmUserQueryServiceImpl.java @@ -3,10 +3,12 @@ import com.vci.client.common.providers.ServiceProvider; import com.vci.common.util.ThreeDES; import com.vci.corba.common.PLException; +import com.vci.corba.framework.data.UserInfo; import com.vci.frameworkcore.compatibility.SmUserQueryServiceI; import com.vci.frameworkcore.pagemodel.SmPasswordStrategyVO; import com.vci.frameworkcore.pagemodel.SmUserVO; import com.vci.starter.web.enumpck.BooleanEnum; +import com.vci.starter.web.enumpck.UserSecretEnum; import com.vci.starter.web.exception.VciBaseException; import com.vci.starter.web.pagemodel.DataGrid; import com.vci.starter.web.pagemodel.PageHelper; @@ -14,7 +16,9 @@ import com.vci.starter.web.pagemodel.TreeQueryObject; import com.vci.starter.web.util.BeanUtil; import com.vci.starter.web.util.VciBaseUtil; +import com.vci.starter.web.util.VciDateUtil; import com.vci.starter.web.wrapper.VciQueryWrapperForDO; +import com.vci.web.enumpck.UserTypeEnum; import com.vci.web.model.SmPasswordStrategyDO; import com.vci.web.model.SmUserDO; import com.vci.web.service.WebBoServiceI; @@ -22,7 +26,6 @@ import com.vci.web.util.WebUtil; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.context.annotation.Lazy; import org.springframework.stereotype.Service; import org.springframework.util.CollectionUtils; @@ -80,13 +83,6 @@ public static final String QUERY_FIELD_ROLE = "roleUser.plroleuid"; /** - * 鑷紩鐢� - */ - @Autowired(required = false) - @Lazy - private SmUserQueryServiceI self; - - /** * 鏍规嵁鐢ㄦ埛鍚嶈幏鍙栫敤鎴风殑瀵硅薄锛屼笉鍖哄垎澶у皬鍐� * @param userId 鐢ㄦ埛鍚� * @return 鐢ㄦ埛鐨勬樉绀哄璞★紝濡傛灉鐢ㄦ埛涓嶅瓨鍦ㄥ垯杩斿洖null锛屼笉浼氭姏鍑哄紓甯� @@ -95,7 +91,41 @@ @Override public SmUserVO getUserByUserId(String userId) throws VciBaseException { WebUtil.alertNotNull(userId,"鐢ㄦ埛鍚�"); - return getUserByField("plusername",userId); + try { + UserInfo userInfo = platformClientUtil.getFrameworkService().getUserObjectByUserName(userId); + return userInfo2VO(userInfo); + } catch (PLException e) { + throw new VciBaseException("鐧诲綍鏃讹紝鑾峰彇鐢ㄦ埛淇℃伅澶辫触锛�"+e.getMessage()); + } + } + + /** + * 涓氬姟鏁版嵁杞崲涓烘樉绀哄璞� + * @param userInfo 骞冲彴杩斿洖鐨勪笟鍔℃暟鎹� + * @return 鐢ㄦ埛鏄剧ず瀵硅薄 + */ + private SmUserVO userInfo2VO(UserInfo userInfo) { + SmUserVO smUserVO = new SmUserVO(); + smUserVO.setOid(userInfo.id); + smUserVO.setId(userInfo.userName); + smUserVO.setName(userInfo.trueName); + smUserVO.setSecretGrade(userInfo.secretGrade); + smUserVO.setSecretGradeText(UserSecretEnum.getSecretText(smUserVO.getSecretGrade())); + smUserVO.setUserType(String.valueOf(userInfo.userType)); + smUserVO.setUserTypeText(UserTypeEnum.getTextByValue(smUserVO.getUserType())); + smUserVO.setDescription(userInfo.desc); + smUserVO.setEmail(userInfo.email); + if(userInfo.status == 0){ + smUserVO.setLockFlag(false); + }else{ + smUserVO.setLockFlag(true); + } + smUserVO.setCreator(userInfo.createUser); + smUserVO.setCreateTime(VciDateUtil.long2Date(userInfo.createTime)); + smUserVO.setLastModifier(userInfo.updateUser); + smUserVO.setLastLoginTime(VciDateUtil.long2Date(userInfo.updateTime)); + smUserVO.setLastModifyPasswordTime(VciDateUtil.long2Date(userInfo.pwdUpdateTime)); + return smUserVO; } /** @@ -166,7 +196,12 @@ @Override public List<SmUserVO> listUserByUserIds(Collection<String> userIdCollections)throws VciBaseException { WebUtil.alertNotNull(userIdCollections,"鐢ㄦ埛鍚嶉泦鍚�"); - return listUserByField("plusername",userIdCollections); + try { + UserInfo[] userInfo = platformClientUtil.getFrameworkService().fetchUserInfoByNames(VciBaseUtil.collection2StrArr(userIdCollections)); + return userInfoArr2VO(userInfo); + } catch (PLException e) { + throw new VciBaseException("鑾峰彇鐢ㄦ埛澶辫触锛�"+e.getMessage()); + } } /** * 鏍规嵁鐢ㄦ埛涓婚敭鑾峰彇鐢ㄦ埛鐨勪俊鎭� @@ -177,7 +212,12 @@ @Override public SmUserVO getUserByUserOid(String userOid) throws VciBaseException { WebUtil.alertNotNull(userOid,"鐢ㄦ埛涓婚敭"); - return getUserByField("pluid",userOid); + try { + UserInfo userInfo = platformClientUtil.getFrameworkService().getUserObjectByoid(userOid); + return userInfo2VO(userInfo); + } catch (PLException e) { + throw new VciBaseException("鑾峰彇鐢ㄦ埛澶辫触锛�"+e.getMessage()); + } } /** * 鎵归噺鑾峰彇鐢ㄦ埛鐨勪俊鎭� 锛堟牴鎹敤鎴蜂富閿級 @@ -189,7 +229,25 @@ public List<SmUserVO> listUserByUserOids( Collection<String> userOidCollections) throws VciBaseException { WebUtil.alertNotNull(userOidCollections,"鐢ㄦ埛涓婚敭闆嗗悎"); - return listUserByField("pluid",userOidCollections); + try { + UserInfo[] userInfoArr = platformClientUtil.getFrameworkService().getUserObjectByoids(VciBaseUtil.collection2StrArr(userOidCollections)); + return userInfoArr2VO(userInfoArr); + } catch (PLException e) { + throw new VciBaseException("鑾峰彇鐢ㄦ埛淇℃伅澶辫触:"+e.getMessage()); + } + } + + /** + * 涓氬姟鏁版嵁鏁扮粍杞樉绀哄璞¢泦鍚� + * @param userInfoArr 涓氬姟鏁版嵁鏁扮粍 + * @return 鏄剧ず瀵硅薄闆嗗悎 + */ + private List<SmUserVO> userInfoArr2VO(UserInfo[] userInfoArr) { + List<SmUserVO> userVOList = new ArrayList<>(); + for(UserInfo userInfo : userInfoArr){ + userVOList.add(userInfo2VO(userInfo)); + } + return userVOList; } /** @@ -351,7 +409,7 @@ */ @Override public String getUserNameByUserId(String userId) { - SmUserVO userVO = self.getUserByUserId(userId); + SmUserVO userVO = getUserByUserId(userId); return userVO == null?"":userVO.getName(); } /** @@ -361,7 +419,7 @@ */ @Override public String getUserNameByUserOid(String userOid) { - SmUserVO userVO = self.getUserByUserOid(userOid); + SmUserVO userVO = getUserByUserOid(userOid); return userVO.getName(); } -- Gitblit v1.9.3