dangsn
2024-06-11 dba1e53cd7652f1b973ffec118e5b3312278c814
调整获取用户的接口
已修改3个文件
已添加1个文件
218 ■■■■■ 文件已修改
Source/plt-web/plt-web-parent/plt-web-base/src/main/java/com/vci/starter/web/util/VciBaseUtil.java 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/frameworkcore/compatibility/impl/SmUserQueryServiceImpl.java 86 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/constant/EnumIdConstant.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/enumpck/UserTypeEnum.java 116 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/plt-web/plt-web-parent/plt-web-base/src/main/java/com/vci/starter/web/util/VciBaseUtil.java
@@ -1929,4 +1929,15 @@
        }
        return new String(c);
    }
    /**
     * å°†string集合转为stirng数组
     * @param strCollection string集合
     * @return string数组
     */
    public static String[] collection2StrArr(Collection<String> strCollection){
        String[] strArr = new String[strCollection.size()];
        strCollection.toArray(strArr);
        return strArr;
    }
}
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();
    }
Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/constant/EnumIdConstant.java
@@ -57,4 +57,9 @@
     */
    public static final String CODE_DATE_VALUE_TYPE = "codeDateValueType";
    /**
     * ç”¨æˆ·ç±»åž‹æžšä¸¾
     */
    public static final String USER_TYPE_ENUM = "userTypeEnum";
}
Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/enumpck/UserTypeEnum.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,116 @@
package com.vci.web.enumpck;
import com.vci.starter.web.annotation.VciEnum;
import com.vci.starter.web.enumpck.BaseEnum;
import com.vci.web.constant.EnumIdConstant;
/**
 * @Description
 * @Author dangsn
 * @Date 2024/6/11 15:00
 */
@VciEnum(name = EnumIdConstant.USER_TYPE_ENUM,text = "用户类型枚举")
public enum UserTypeEnum implements BaseEnum {
    /**
     * è¶…级管理员
     */
    SUPPER_ADMIN("0","超级管理员"),
    /**
     * ä¸‰å‘˜ç®¡ç†å‘˜/业务管理员
     */
    ADMIN("1","管理员"),
    /**
     * æ™®é€šç”¨æˆ·
     */
    USER("2","普通用户"),
    /**
     * å®¢äºº
     */
    GUEST("3","访客");
    /**
     * å€¼
     */
    private String value;
    /**
     * æ˜¾ç¤ºæ–‡æœ¬
     */
    private String text;
    /**
     * æž„造函数
     * @param value å€¼
     * @param text æ˜¾ç¤ºæ–‡æœ¬
     */
    private UserTypeEnum(String value,String text){
        this.value = value;
        this.text = text;
    }
    /**
     * èŽ·å–æžšä¸¾å€¼
     *
     * @return æžšä¸¾å€¼
     */
    @Override
    public String getValue() {
        return value;
    }
    /**
     * èŽ·å–æ˜¾ç¤ºæ–‡æœ¬
     *
     * @return æ˜¾ç¤ºæ–‡æœ¬
     */
    @Override
    public String getText() {
        return text;
    }
    /**
     * æ ¹æ®åç§°èŽ·å–å¯¹åº”çš„æžšä¸¾å€¼
     * @param text åç§°
     * @return æžšä¸¾å€¼
     */
    public static String getValueByText(String text){
        for(UserTypeEnum wenum : UserTypeEnum.values()){
            if(wenum.getText().equalsIgnoreCase(text)){
                return wenum.getValue();
            }
        }
        return "";
    }
    /**
     * æ ¹æ®æžšä¸¾å€¼èŽ·å–åç§°
     * @param value æžšä¸¾å€¼
     * @return åç§°
     */
    public static String getTextByValue(String value){
        for(UserTypeEnum wenum : UserTypeEnum.values()){
            if(wenum.getValue().equalsIgnoreCase(value)){
                return wenum.getText();
            }
        }
        return "";
    }
    /**
     * æ ¹æ®æžšä¸¾å€¼èŽ·å–æžšä¸¾å¯¹è±¡
     * @param value æžšä¸¾å€¼
     * @return å¯¹åº”的枚举对象,不匹配的时候返回null
     */
    public static UserTypeEnum forValue(String value){
        for(UserTypeEnum wenum : UserTypeEnum.values()){
            if(wenum.getValue().equalsIgnoreCase(value)){
                return wenum;
            }
        }
        return null;
    }
}