yuxc
2025-01-15 9503c595d3508c80cbbacf6e69dca459771d250e
头像上传获取等接口上传
已修改8个文件
379 ■■■■ 文件已修改
Source/plt-web/plt-web-parent/plt-web-api/src/main/java/com/vci/dto/PLIconDTO.java 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/plt-web/plt-web-parent/plt-web-api/src/main/java/com/vci/pagemodel/PLIconVO.java 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/plt-web/plt-web-parent/plt-web-permission/src/main/java/com/vci/web/controller/SmUserQueryController.java 33 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/plt-web/plt-web-parent/plt-web-permission/src/main/java/com/vci/web/service/SmUserQueryServiceI.java 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/plt-web/plt-web-parent/plt-web-permission/src/main/java/com/vci/web/service/impl/SmUserQueryServiceImpl.java 150 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/plt-web/plt-web-parent/plt-web-permission/src/main/java/com/vci/web/util/PlatformClientUtil.java 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/OsBtmServiceImpl.java 130 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/WebIconServiceImpl.java 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/plt-web/plt-web-parent/plt-web-api/src/main/java/com/vci/dto/PLIconDTO.java
@@ -2,6 +2,8 @@
import lombok.Data;
import java.util.Date;
/**
 * @Description 图标传输对象
 * @Author dangsn
@@ -38,4 +40,21 @@
     * 图标分组
     */
    private String groups;
    /**
     * 创建时间
     */
    private long plCreateTime ;
    /**
     * 创建人
     */
    private String plCreateUser;
    /**
     * 修改时间
     */
    private long plModifyTime ;
    /**
     * 修改人
     */
    private String plModifyUser;
}
Source/plt-web/plt-web-parent/plt-web-api/src/main/java/com/vci/pagemodel/PLIconVO.java
@@ -43,4 +43,21 @@
     * 图标所属库
     */
    private String lable;
    /**
     * 创建时间
     */
    private long plCreateTime ;
    /**
     * 创建人
     */
    private String plCreateUser;
    /**
     * 修改时间
     */
    private long plModifyTime ;
    /**
     * 修改人
     */
    private String plModifyUser;
}
Source/plt-web/plt-web-parent/plt-web-permission/src/main/java/com/vci/web/controller/SmUserQueryController.java
@@ -290,6 +290,39 @@
    }
    /**
     * 修改用户头像
     * @param file 文件
     * @return
     */
    @RequestMapping(value = "/updateUserPhoto",method = RequestMethod.POST)
    public BaseResult updateUserPhoto(MultipartFile file){
        try {
            return userQueryService.updateUserPhoto(file) ? BaseResult.success("用户头像修改成功!"):BaseResult.fail("用户头像修改失败!");
        }catch (Exception e){
            e.printStackTrace();
            String exceptionMessage = "修改用户头像时出现错误,原因:" + VciBaseUtil.getExceptionMessage(e);
            logger.error(exceptionMessage);
            return BaseResult.fail(exceptionMessage);
        }
    }
    /**
     * 获取用户头像
     * @param response
     * @return
     */
    @RequestMapping(value = "/getUserPhoto",method = RequestMethod.GET)
    public void getUserPhoto(HttpServletResponse response){
        try {
            ControllerUtil.writeFileToResponse(response,userQueryService.getUserPhoto());
        } catch (Exception e) {
            throw new VciBaseException(e.getMessage(),new String[0],e);
        }
    }
    /**
     * 删除用户
     * @param ids
     * @return
Source/plt-web/plt-web-parent/plt-web-permission/src/main/java/com/vci/web/service/SmUserQueryServiceI.java
@@ -5,6 +5,7 @@
import com.vci.pagemodel.SmUserVO;
import com.vci.starter.web.exception.VciBaseException;
import com.vci.starter.web.pagemodel.*;
import org.springframework.web.multipart.MultipartFile;
import java.io.File;
import java.util.Collection;
@@ -283,4 +284,12 @@
     * @return
     */
    String expUser() throws PLException;
    /**
     * 修改用户头像
     * @param file 文件
     * @return
     */
    boolean updateUserPhoto(MultipartFile file) throws PLException;
    String getUserPhoto() throws PLException;
}
Source/plt-web/plt-web-parent/plt-web-permission/src/main/java/com/vci/web/service/impl/SmUserQueryServiceImpl.java
@@ -2,21 +2,27 @@
import com.vci.common.util.ThreeDES;
import com.vci.common.utility.ObjectUtility;
import com.vci.constant.FrameWorkLangCodeConstant;
import com.vci.constant.WebLangCodeConstant;
import com.vci.corba.common.PLException;
import com.vci.corba.common.data.UserEntityInfo;
import com.vci.corba.framework.data.*;
import com.vci.corba.omd.data.BusinessObject;
import com.vci.corba.omd.etm.EnumItem;
import com.vci.corba.omd.etm.EnumType;
import com.vci.corba.volume.VolumeServicePrx;
import com.vci.dto.SmUserDTO;
import com.vci.dto.VciFileObjectDTO;
import com.vci.enumpck.UI.OrgTypeEnum;
import com.vci.enumpck.UI.VciFileTransProtocolEnum;
import com.vci.enumpck.UserTypeEnum;
import com.vci.lcstatuspck.FileLCStatus;
import com.vci.model.SmUserDO;
import com.vci.model.VciFileDocClassifyDO;
import com.vci.model.VciFileObjectDO;
import com.vci.model.VciFileVolumeDO;
import com.vci.omd.utils.ObjectTool;
import com.vci.pagemodel.OrgDepartmentVO;
import com.vci.pagemodel.SmPasswordStrategyVO;
import com.vci.pagemodel.SmRoleVO;
import com.vci.pagemodel.SmUserVO;
import com.vci.pagemodel.*;
import com.vci.po.SmUserPO;
import com.vci.properties.OsConfig;
import com.vci.starter.poi.bo.ReadExcelOption;
@@ -24,16 +30,21 @@
import com.vci.starter.poi.bo.WriteExcelOption;
import com.vci.starter.poi.constant.ExcelLangCodeConstant;
import com.vci.starter.poi.util.ExcelUtil;
import com.vci.starter.revision.service.RevisionModelUtil;
import com.vci.starter.web.enumpck.BooleanEnum;
import com.vci.starter.web.enumpck.DataSecretEnum;
import com.vci.starter.web.enumpck.UserSecretEnum;
import com.vci.starter.web.exception.VciBaseException;
import com.vci.starter.web.pagemodel.*;
import com.vci.starter.web.util.*;
import com.vci.starter.web.util.Lcm.Func;
import com.vci.starter.web.wrapper.VciQueryWrapperForDO;
import com.vci.web.dao.VciFileObjectDaoI;
import com.vci.web.properties.WebProperties;
import com.vci.web.service.*;
import com.vci.web.util.PlatformClientUtil;
import com.vci.web.util.WebUtil;
import org.apache.commons.io.FilenameUtils;
import org.apache.commons.lang3.StringUtils;
import org.apache.poi.hssf.util.HSSFColor;
import org.slf4j.Logger;
@@ -42,10 +53,14 @@
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.CollectionUtils;
import org.springframework.web.multipart.MultipartFile;
import java.io.File;
import javax.annotation.Resource;
import java.io.*;
import java.util.*;
import java.util.stream.Collectors;
import static com.vci.constant.FrameWorkLangCodeConstant.UPLOAD_FAIL;
/**
 * 用户的查询相关的服务,可以兼容老平台和老的pdm
@@ -86,6 +101,24 @@
     */
    @Autowired
    private WebPwdStrategyQueryServiceI smPwdStrategyQueryService;
    /**
     * 文件的卷服务
     */
    @Autowired
    private VciFileVolumeServiceI vciFileVolumeServiceI;
    /**
     * 版本和对象操作类
     */
    @Autowired(required = false)
    private RevisionModelUtil revisionModelUtil;
    /**
     * 配置对象
     */
    @Autowired
    private WebProperties webProperties;
    /**
     * 使用角色的属性查询用户时
@@ -141,6 +174,18 @@
     * 日志
     */
    private Logger logger = LoggerFactory.getLogger(getClass());
    /**
     * 文件上传业务层
     */
    @Autowired
    private VciFileUploadServiceI vciFileUploadServiceI;
    /**
     * 文件信息数据层
     */
    @Resource
    private VciFileObjectDaoI vciFileObjectMapper;
    /**
     * 平台配置
@@ -390,6 +435,7 @@
        smUserVO.setLastModifier(userInfo.updateUser);
        smUserVO.setLastLoginTime(VciDateUtil.long2Date(userInfo.updateTime));
        smUserVO.setLastModifyPasswordTime(VciDateUtil.long2Date(userInfo.pwdUpdateTime));
        smUserVO.setPhoto(userInfo.photo);
        return smUserVO;
    }
@@ -1457,6 +1503,7 @@
        userInfo.grantor = user.getGrantor() == null ? "" : user.getGrantor();
        userInfo.secretGrade = user.getSecretGrade() == null ? 2 : Integer.valueOf(user.getSecretGrade());
        userInfo.isDeptLeader = user.getIsDeptLeader() == null ? "0" : user.getIsDeptLeader();
        userInfo.photo = user.getPhoto()  == null ? "" : user.getPhoto();
        return userInfo;
    }
@@ -1776,6 +1823,99 @@
        ExcelUtil.writeDataToFile(excelPath, excelOption);
        return excelPath;
    }
    /**
     * 修改用户头像
     * @param file 文件
     * @return
     */
    @Override
    public boolean updateUserPhoto(MultipartFile file) throws PLException {
        //获取文件仓位置
        VciFileVolumeDO vciFileVolumeDO = vciFileVolumeServiceI.getUploadVolume();
        String volumeName = vciFileVolumeDO.getName();
        VolumeServicePrx volumnCorbaService = platformClientUtil.getVolumeService(volumeName);
        if(volumnCorbaService == null){
            throw new VciBaseException("没有获取到卷服务");
        }
        InputStream in = null;
        String path = vciFileVolumeDO.getId() + ":/userphoto/" + WebUtil.getSessionInfo().getUserOid() + "." +
                FilenameUtils.getExtension(file.getOriginalFilename());
        UserInfo userInfo = platformClientUtil.getFrameworkService().getUserObjectByoid(WebUtil.getSessionInfo().getUserOid());
        if(StringUtils.isNotBlank(userInfo.photo)){
            volumnCorbaService.deleteFile(userInfo.photo);
        }
        try{
            long currentTime = volumnCorbaService.getCurrrentTimeMillions();
            in = file.getInputStream();
            long fileSize = file.getSize();
            int blockSize = webProperties.getBlockLength()*1024;
            byte[] buffer = new byte[blockSize];
            long temp =0L;
            for(temp = 0L; temp < fileSize - (long)blockSize; temp += (long)blockSize) {
                in.read(buffer, 0, blockSize);
                volumnCorbaService.receiveFile(path, buffer, temp, currentTime, fileSize);
            }
            int remainSize = (int)(fileSize - temp);
            buffer = new byte[remainSize];
            in.read(buffer, 0, remainSize);
            volumnCorbaService.receiveFile(path, buffer, temp, currentTime, fileSize);
        }catch(IOException e){
            throw new VciBaseException("读取文件[" + file.getName() + "]出现了错误," + e.getMessage() ,new String[0],e);
        }catch(Exception e){
            throw new VciBaseException("处理上传文件[" + file.getName() + "]出现了错误," + e.getMessage() ,new String[0],e);
        }finally {
            if(in!=null){
                try {
                    in.close();
                } catch (IOException e) {
                }
            }
        }
        userInfo.photo = path;
        boolean b = platformClientUtil.getFrameworkService().updateUser(userInfo, new UserEntityInfo(WebThreadLocalUtil.getCurrentUserSessionInfoInThread().getUserId(), null));
        if(!b){
            return false;
        }
        return true;
    }
    @Override
    public String getUserPhoto() throws PLException {
        //获取文件仓位置
        VciFileVolumeDO vciFileVolumeDO = vciFileVolumeServiceI.getUploadVolume();
        String volumeName = vciFileVolumeDO.getName();
        VolumeServicePrx volumnCorbaService = platformClientUtil.getVolumeService(volumeName);
        if(volumnCorbaService == null){
            throw new VciBaseException("没有获取到卷服务");
        }
        UserInfo userInfo = platformClientUtil.getFrameworkService().getUserObjectByoid(WebUtil.getSessionInfo().getUserOid());
        String serverPath = userInfo.photo;
        String tempFilePath = LocalFileUtil.getDefaultTempFolder() + File.separator+serverPath.substring(serverPath.lastIndexOf("/") + 1);
        try {
            FileOutputStream destFileOs = new FileOutputStream(tempFilePath);
            long blockSize = webProperties.getBlockLength()*1024;
            if(blockSize> Integer.MAX_VALUE){
                blockSize = Integer.MAX_VALUE;
            }
            long fileSize = volumnCorbaService.getFileSize(serverPath);
            long temp = 0;
            while (fileSize - temp > blockSize) {
                destFileOs.write(volumnCorbaService.sendFile(serverPath, temp));
                temp += blockSize;
            }
            destFileOs.write(volumnCorbaService.sendFile(serverPath, temp));
            destFileOs.flush();
            destFileOs.close();
        } catch (FileNotFoundException e) {
            throw new VciBaseException("要写入的文件没有找到",new String[]{tempFilePath},e);
        } catch (IOException e) {
            throw new VciBaseException("写入文件出错" + e.getMessage(),new String[]{tempFilePath},e);
        } catch (Exception e){
            throw new VciBaseException("卷服务传输文件时出现了错误" + e.getMessage(),new String[0],e);
        }
        return tempFilePath;
    }
    //根据子部门查询所属的父类部门,并拼接成字符串形式,返回
    public String getDeptObjectAllByDeptId(DeptInfo obj) throws PLException {
        String fetchDepName = "";
Source/plt-web/plt-web-parent/plt-web-permission/src/main/java/com/vci/web/util/PlatformClientUtil.java
@@ -12,6 +12,7 @@
import com.vci.corba.omd.ltm.LinkTypeServicePrx;
import com.vci.corba.omd.qtm.QTDServicePrx;
import com.vci.corba.omd.stm.StatePoolServicePrx;
import com.vci.corba.omd.tim.TypeIndexServicePrx;
import com.vci.corba.omd.vrm.VersionRuleServicePrx;
import com.vci.corba.pllog.LogServicePrx;
import com.vci.corba.portal.PortalServicePrx;
@@ -115,6 +116,14 @@
   }
    /**
     * 获取类型索引管理服务
     * @return 服务的对象
     */
    public TypeIndexServicePrx getTypeIndexService() throws PLException {
        return WebServiceProvider.getOMDService().getTypeIndexService();
    }
    /**
     * 获取生命周期的服务
     * @return 生命周期的服务对象
     */
Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/OsBtmServiceImpl.java
@@ -19,6 +19,7 @@
import com.vci.corba.omd.lcm.LifeCycle;
import com.vci.corba.omd.ltm.LinkType;
import com.vci.corba.omd.stm.StatePool;
import com.vci.corba.omd.tim.TypeIndexDef;
import com.vci.corba.omd.vrm.VersionRule;
import com.vci.dto.OsBtmTypeDTO;
import com.vci.model.IndexObject;
@@ -1285,29 +1286,18 @@
        if (Func.isEmpty(conditionMap)) {
            return new ArrayList<>();
        }
        List<String> indexNameList = new ArrayList<String>();
        QueryTemplate qtl = new QueryTemplate();
        List<String> list = new ArrayList<String>();
        list.add("*");
        qtl.setBtmType("indexobject");
        qtl.setClauseList(list);
        qtl.setId("p");
        qtl.setType("btm");
        qtl.setRightFlag(false);
        Condition condition = OQTool.getCondition(conditionMap);
        qtl.setCondition(condition);
        //HashMap<String, String> indexmap = new HashMap<String, String>();
        BusinessObject findBTMObjects[] = platformClientUtil.getQueryService().findBTMObjects(qtl.getId(), OQTool.qtTOXMl(qtl).asXML());
        List<IndexObject> indexObjects = new ArrayList<>();
        for (int i = 0; i < findBTMObjects.length; i++) {
            BusinessObject findBTMObject = findBTMObjects[i];
        TypeIndexDef[] typenames = ClientServiceProvider.getOMDService().getTypeIndexService().getBTIndexDefs(conditionMap.get("typename"));
        for (int i = 0; i < typenames.length; i++) {
            TypeIndexDef typename = typenames[i];
            IndexObject indexObject = new IndexObject();
            indexObject.setOid(findBTMObject.oid);
            indexObject.setDescription(findBTMObject.description);
            indexObject.setCreateTime(Func.format(new Date(findBTMObject.createTime), DateUtil.PATTERN_DATE));
            indexObject.setIndexName(ObjectTool.getBOAttributeValue(findBTMObject, "indexname"));
            indexObject.setTypeName(ObjectTool.getBOAttributeValue(findBTMObject, "typename"));
            indexObject.setAttrNames(ObjectTool.getBOAttributeValue(findBTMObject, "attrname"));
            indexObject.setOid(typename.oid);
            indexObject.setDescription(typename.description);
            indexObject.setCreateTime(Func.format(new Date(typename.createTime), DateUtil.PATTERN_DATE));
            indexObject.setIndexName(typename.name);
            indexObject.setTypeName(typename.typeName);
            indexObject.setAttrNames(typename.attributes);
            indexObjects.add(indexObject);
        }
        return indexObjects;
@@ -1323,11 +1313,8 @@
    @Override
    public boolean delIndex(String btmName, String indexName) throws PLException {
        VciBaseUtil.alertNotNull(btmName, "业务类型名", indexName, "索引名");
        Map<String, String> conditionMap = new HashMap<>();
        conditionMap.put("typename", btmName);
        conditionMap.put("indexname", indexName);
        List<IndexObject> bo2 = getIndexByCondition(conditionMap);
        if (bo2 != null && bo2.size() > 0) {
        TypeIndexDef[] typeIndexDef= ClientServiceProvider.getOMDService().getTypeIndexService().getBTIndexDefs(btmName);
        if( typeIndexDef != null && typeIndexDef.length > 0 ){
            String[] indexAttr = {indexName};
            boolean alterFlag = platformClientUtil.getBtmService().dropIndex(btmName, indexAttr);
@@ -1335,10 +1322,12 @@
            if (!alterFlag) {
                return false;
            }
            for (int i = 0; i < bo2.size(); i++) {
                String oid = bo2.get(i).getOid();
                BusinessObject bo = platformClientUtil.getBOFactoryService().readBusinessObject(oid, "indexobject");
                platformClientUtil.getBOFactoryService().deleteBusinessObject(bo, 1);
            for (int i = 0; i < typeIndexDef.length; i++) {
                if(!typeIndexDef[i].name.equals(indexName)) {
                    continue;
                }
                String oid = typeIndexDef[i].oid;
                ClientServiceProvider.getOMDService().getTypeIndexService().delIndexDef(oid);
            }
        }
        return true;
@@ -1356,49 +1345,50 @@
        String btmName = indexObjectList.get(0).getTypeName();
        String indexNames = indexObjectList.stream().map(IndexObject::getIndexName).collect(Collectors.joining(","));
        String[] oldindexAttr = {indexNames};
        BusinessObject bo;
        List<BusinessObject> boList = new ArrayList<>();
        //先查询当前添加索引是否已经存在,如果存在就先删除再新增实现替换操作
        Map<String, String> conditionMap = new HashMap<>();
        conditionMap.put("typename", btmName);
        //先这样处理,前端现在只做了单次保存,所以不用in
        conditionMap.put("indexname", indexNames);
        List<IndexObject> indexObjects = getIndexByCondition(conditionMap);
        if (indexObjects != null && indexObjects.size() > 0) {
            //索引不存在时删除就会报错索引不存在,所以这里有索引才去删除
            boolean b = platformClientUtil.getBtmService().dropIndex(btmName, oldindexAttr);
            if (b) {
                for (int i = 0; i < indexObjects.size(); i++) {
                    String oid = (String) indexObjects.get(i).getOid();
                    bo = platformClientUtil.getBOFactoryService().readBusinessObject(oid, "indexobject");
                    platformClientUtil.getBOFactoryService().deleteBusinessObject(bo, 1);
                }
            }
        }
//        BusinessObject bo;
//        List<BusinessObject> boList = new ArrayList<>();
//        //先查询当前添加索引是否已经存在,如果存在就先删除再新增实现替换操作
//        Map<String, String> conditionMap = new HashMap<>();
//        conditionMap.put("typename", btmName);
//        //先这样处理,前端现在只做了单次保存,所以不用in
//        conditionMap.put("indexname", indexNames);
        TypeIndexDef[] typeIndexDefs = platformClientUtil.getTypeIndexService().getBTIndexDefs(btmName);
        for (int i = 0; i < indexObjectList.size(); i++) {
            IndexObject indexObject = indexObjectList.get(i);
            //bo = platformClientUtil.getBOFService().initBusinessObject("indexobject");
            bo = boService.createCBOByBtmName("indexobject");
            List<AttributeValue> attributeValues = new ArrayList<>();
            attributeValues.add(new AttributeValue("typename", btmName));
            attributeValues.add(new AttributeValue("indexname", indexObject.getIndexName()));
            attributeValues.add(new AttributeValue("attrname", indexObject.getAttrNames()));
            bo.newAttrValList = attributeValues.toArray(new AttributeValue[attributeValues.size()]);
            bo.description = indexObject.getDescription();
            String[] indexAttr = {indexObject.getIndexName(), indexObject.getAttrNames()};
            //给指定业务类型的指定属性创建索引
            boolean alterFlag = platformClientUtil.getBtmService().addIndex(btmName, indexAttr);
            //索引创建成功之后,需要存储成功索引到索引表中
            if (!alterFlag) {
                return false;
        if(typeIndexDefs!=null && typeIndexDefs.length>0){
            boolean hasIndex = false;
            for(int i = 0; i < typeIndexDefs.length; i ++){
                if(!typeIndexDefs[i].name.equals(indexNames)) {
                    continue;
                }
                String oid = typeIndexDefs[i].oid;
                platformClientUtil.getTypeIndexService().delIndexDef(oid);
                hasIndex = true;
            }
            boList.add(bo);
            //添加索引信息到索引的业务表中
            //platformClientUtil.getBOFactoryService().createBusinessObject(bo,false,false);
            //索引不存在时删除就会报错索引不存在,所以这里有索引才去删除
            if(hasIndex) {
                platformClientUtil.getBtmService().dropIndex(btmName, oldindexAttr);
            }
        }
        //添加索引信息到索引的业务表中
        platformClientUtil.getBOFactoryService().batchCreateBusinessObject(boList.toArray(new BusinessObject[boList.size()]), false, false);
        StringBuilder sb = new StringBuilder();
        List<TypeIndexDef> saveDefs = new ArrayList<>();
        for(int i = 0; i < indexObjectList.size(); i ++){
            TypeIndexDef saveDef = new TypeIndexDef();
            saveDef.typeName = indexObjectList.get(i).getTypeName();
            saveDef.name = indexObjectList.get(i).getIndexName();
            saveDef.description = indexObjectList.get(i).getDescription();
            saveDef.attributes = indexObjectList.get(i).getAttrNames();
            sb.append(indexObjectList.get(i).getAttrNames());
            if(i<indexObjectList.size()-1){
                sb.append(",");
            }
            saveDefs.add(saveDef);
        }
        String[] indexAttr = {indexObjectList.get(0).getIndexName(),sb.toString()};
        boolean alterFlag = platformClientUtil.getBtmService().addIndex(btmName, indexAttr);
        if(!alterFlag) {
            return false;
        }
        ClientServiceProvider.getOMDService().getTypeIndexService().saveIndexDefs(saveDefs.toArray(new TypeIndexDef[saveDefs.size()]));
        return true;
    }
Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/WebIconServiceImpl.java
@@ -81,6 +81,7 @@
                    icon.content = iconContent;
                    icon.type = type;
                    icon.groups = groups;
                    icon.plModifyUser = WebUtil.getCurrentUserId();
                    updateList.add(icon);
                }else{
                    PLIcon icon = new PLIcon();
@@ -89,6 +90,7 @@
                    icon.content = iconContent;
                    icon.type = type;
                    icon.groups = groups;
                    icon.plCreateUser = WebUtil.getCurrentUserId();
                    addList.add(icon);
                }
            }
@@ -121,7 +123,8 @@
        plIcon.content = iconContent;
        plIcon.type = iconDTO.getType();
        plIcon.groups = iconDTO.getGroups();
        plIcon.plCreateUser = WebUtil.getCurrentUserId();
        plIcon.plModifyUser = WebUtil.getCurrentUserId();
        try {
            PortalServicePrx portalServicePrx = platformClientUtil.getPortalService();
            portalServicePrx.savePLIcon(plIcon);
@@ -154,6 +157,9 @@
            plIcon.content = iconContent;
            plIcon.type = iconDTO.getType();
            plIcon.groups = iconDTO.getGroups();
            plIcon.plCreateUser = iconDTO.getPlCreateUser();
            plIcon.plCreateTime = iconDTO.getPlCreateTime();
            plIcon.plModifyUser = WebUtil.getCurrentUserId();
            portalServicePrx.updatePLIcon(plIcon);
        } catch (Exception e) {
            throw new RuntimeException(e);
@@ -244,6 +250,10 @@
        vo.setContent(icon.content);
        vo.setType(icon.type);
        vo.setGroups(icon.groups);
        vo.setPlCreateTime(icon.plCreateTime);
        vo.setPlCreateUser(icon.plCreateUser);
        vo.setPlModifyTime(icon.plModifyTime);
        vo.setPlModifyUser(icon.plModifyUser);
        String[] nameArr = icon.name.split(":");
        if(nameArr.length > 1){
            vo.setLable(nameArr[0]);