Source/plt-web/plt-web-parent/plt-web-api/src/main/java/com/vci/dto/PLIconDTO.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,41 @@ package com.vci.dto; import lombok.Data; /** * @Description 徿 ä¼ è¾å¯¹è±¡ * @Author dangsn * @Date 2024/12/20 11:35 */ @Data public class PLIconDTO implements java.io.Serializable{ /** * ç¦æ¢ä¿®æ¹è¿ä¸ªå¼ */ private static final long serialVersionUID = -8274239331362353099L; /** * å¯ä¸æ è¯ */ private String oid; /** * 徿 åç§° */ private String name; /** * 徿 å 容 */ private String content; /** * 徿 ç±»å */ private String type; /** * 徿 åç» */ private String groups; } Source/plt-web/plt-web-parent/plt-web-api/src/main/java/com/vci/pagemodel/PLIconGroupVO.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,29 @@ package com.vci.pagemodel; import lombok.Data; import java.io.Serializable; import java.util.List; /** * @Description * @Author dangsn * @Date 2024/12/20 17:35 */ @Data public class PLIconGroupVO implements Serializable { /** * ç¦æ¢ä¿®æ¹è¿ä¸ªå¼ */ private static final long serialVersionUID = -2130637697533772413L; /** * 徿 æå±åº */ private String lable; /** * 徿 */ private List<PLIconVO> list; } Source/plt-web/plt-web-parent/plt-web-api/src/main/java/com/vci/pagemodel/PLIconVO.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,46 @@ package com.vci.pagemodel; import lombok.Data; /** * @Description 徿 æ¾ç¤ºå¯¹è±¡ * @Author dangsn * @Date 2024/12/20 11:37 */ @Data public class PLIconVO implements java.io.Serializable{ /** * ç¦æ¢ä¿®æ¹è¿ä¸ªå¼ */ private static final long serialVersionUID = -8797180178702594251L; /** * å¯ä¸æ è¯ */ private String oid; /** * 徿 åç§° */ private String name; /** * 徿 å 容 */ private String content; /** * 徿 ç±»å */ private String type; /** * 徿 åç» */ private String groups; /** * 徿 æå±åº */ private String lable; } Source/plt-web/plt-web-parent/plt-web-base/src/main/java/com/vci/starter/web/annotation/VciEnum.java
@@ -22,7 +22,7 @@ * å¼ç±»åï¼é»è®¤ä¸ºå符串 * @return */ Class valueType() default java.lang.String.class; Class valueType() default String.class; /** * æ¾ç¤ºææ¬ Source/plt-web/plt-web-parent/plt-web-base/src/main/java/com/vci/starter/web/annotation/VciLifeCycleTrans.java
@@ -9,7 +9,7 @@ * çå½å¨æç¶ææµå * @author weidy */ @Target({java.lang.annotation.ElementType.TYPE, ElementType.FIELD}) @Target({ElementType.TYPE, ElementType.FIELD}) @Retention(RetentionPolicy.RUNTIME) public @interface VciLifeCycleTrans { Source/plt-web/plt-web-parent/plt-web-base/src/main/java/com/vci/starter/web/util/ClassUtilForVCI.java
@@ -35,16 +35,16 @@ /** * å¤æåºæ¬ç±»å * @see java.lang.String * @see java.lang.Boolean#TYPE * @see java.lang.Character#TYPE * @see java.lang.Byte#TYPE * @see java.lang.Short#TYPE * @see java.lang.Integer#TYPE * @see java.lang.Long#TYPE * @see java.lang.Float#TYPE * @see java.lang.Double#TYPE * @see java.lang.Boolean#TYPE * @see String * @see Boolean#TYPE * @see Character#TYPE * @see Byte#TYPE * @see Short#TYPE * @see Integer#TYPE * @see Long#TYPE * @see Float#TYPE * @see Double#TYPE * @see Boolean#TYPE * @see byte * @see short * @see int Source/plt-web/plt-web-parent/plt-web-base/src/main/java/com/vci/starter/web/util/Lcm/DigestUtil.java
@@ -9,6 +9,7 @@ import javax.crypto.SecretKey; import javax.crypto.spec.IvParameterSpec; import javax.crypto.spec.SecretKeySpec; import java.nio.charset.StandardCharsets; import java.security.InvalidKeyException; import java.security.MessageDigest; import java.security.NoSuchAlgorithmException; @@ -333,16 +334,16 @@ /** * aesè§£å¯ * @param secretKey ç§é¥ * @param encryptedData Data * @param encryptedData 坿 * @return digest as a hex string */ public static String decryptAes(String encryptedData, String secretKey) throws Exception { // AES å¯é¥é¿åº¦éè¦æ¯ 128, 192, æ 256 ä½ï¼16, 24, æ 32 åèï¼ byte[] keyBytes = secretKey.getBytes("UTF-8"); byte[] keyBytes = secretKey.getBytes(StandardCharsets.UTF_8); SecretKeySpec key = new SecretKeySpec(keyBytes, "AES"); // åå§ååé IV ä¹éè¦æ¯ 128 ä½ï¼16 åèï¼ byte[] ivBytes = secretKey.substring(0, 16).getBytes("UTF-8"); byte[] ivBytes = secretKey.substring(0, 16).getBytes(StandardCharsets.UTF_8); IvParameterSpec iv = new IvParameterSpec(ivBytes); // è§£å¯ @@ -353,7 +354,30 @@ byte[] decodedValue = Base64.getDecoder().decode(encryptedData); byte[] decryptedBytes = cipher.doFinal(decodedValue); return new String(decryptedBytes, "UTF-8"); return new String(decryptedBytes, StandardCharsets.UTF_8); } /** * aesè§£å¯ * @param secretKey ç§é¥ * @param decryptData ææ * @return digest as a hex string */ public static String encryptAes(String decryptData, String secretKey) throws Exception{ // AES å¯é¥é¿åº¦éè¦æ¯ 128, 192, æ 256 ä½ï¼16, 24, æ 32 åèï¼ byte[] keyBytes = secretKey.getBytes(StandardCharsets.UTF_8); SecretKeySpec key = new SecretKeySpec(keyBytes, "AES"); // åå§ååé IV ä¹éè¦æ¯ 128 ä½ï¼16 åèï¼ byte[] ivBytes = secretKey.substring(0, 16).getBytes(StandardCharsets.UTF_8); IvParameterSpec iv = new IvParameterSpec(ivBytes); // å å¯ Cipher cipher = Cipher.getInstance("AES/CBC/PKCS5Padding"); cipher.init(Cipher.ENCRYPT_MODE, key, iv); byte[] encryptBytes = cipher.doFinal(decryptData.getBytes(StandardCharsets.UTF_8)); return Base64.getEncoder().encodeToString(encryptBytes); } /** Source/plt-web/plt-web-parent/plt-web-base/src/main/java/com/vci/starter/web/util/Lcm/Func.java
@@ -395,7 +395,7 @@ * @param o2 second Object to compare * @return whether the given objects are equal * @see Object#equals(Object) * @see java.util.Arrays#equals * @see Arrays#equals */ public static boolean equalsSafe(@Nullable Object o1, @Nullable Object o2) { return ObjectUtil.nullSafeEquals(o1, o2); @@ -1243,6 +1243,16 @@ } /** * AES è§£å¯ * @param decryptData * @param secretKey * @return */ public static String encryptAes(String decryptData, String secretKey) throws Exception { return DigestUtil.encryptAes(decryptData, secretKey); } /** * hmacMd5 Hex * * @param bytes Data to digest Source/plt-web/plt-web-parent/plt-web-base/src/main/java/com/vci/starter/web/util/VciBaseUtil.java
@@ -1322,7 +1322,7 @@ Map<String,Object> map = new HashMap<String,Object>(); if(o!=null) { String jsonString = JSONObject.toJSONStringWithDateFormat(o, VciDateUtil.DateTimeMillFormat, SerializerFeature.WriteDateUseDateFormat); if(org.apache.commons.lang3.StringUtils.isNotBlank(jsonString)) { if(StringUtils.isNotBlank(jsonString)) { JSONObject jsonObject = JSONObject.parseObject(jsonString); if(jsonObject!=null){ for(String key : jsonObject.keySet()){ @@ -1343,7 +1343,7 @@ Map<String,String> map = new HashMap<String,String>(); if(o!=null) { String jsonString = JSONObject.toJSONStringWithDateFormat(o, VciDateUtil.DateTimeMillFormat, SerializerFeature.WriteDateUseDateFormat); if(org.apache.commons.lang3.StringUtils.isNotBlank(jsonString)) { if(StringUtils.isNotBlank(jsonString)) { JSONObject jsonObject = JSONObject.parseObject(jsonString); if(jsonObject!=null){ for(String key : jsonObject.keySet()){ Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/controller/WebIconController.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,184 @@ package com.vci.web.controller; import com.vci.constant.FrameWorkLangCodeConstant; import com.vci.dto.PLIconDTO; import com.vci.pagemodel.PLIconGroupVO; import com.vci.pagemodel.PLIconVO; import com.vci.starter.web.annotation.log.VciBusinessLog; import com.vci.starter.web.exception.VciBaseException; import com.vci.starter.web.pagemodel.BaseQueryObject; import com.vci.starter.web.pagemodel.BaseResult; import com.vci.starter.web.pagemodel.DataGrid; import com.vci.starter.web.util.LocalFileUtil; import com.vci.starter.web.util.VciBaseUtil; import com.vci.web.service.WebIconserviceI; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartFile; import javax.annotation.Resource; import java.io.File; import java.util.List; /** * @Description 徿 æ§å¶å¨ * @Author dangsn * @Date 2024/12/20 10:24 */ @VciBusinessLog(modelName="徿 æ§å¶å¨",notStore=true) @RestController @RequestMapping("/webIconController") public class WebIconController { /** * æ¥å¿ */ private Logger logger = LoggerFactory.getLogger(getClass()); /** * 徿 æå¡ */ @Resource private WebIconserviceI iconserviceI; /** * å¯¼å ¥å¾æ * @param file 徿 æä»¶ */ @PostMapping("/importIcon") @VciBusinessLog(operateName = "å¯¼å ¥å¾æ åº", description = "å¯¼å ¥å¾æ åº") public BaseResult importIcon(String type, String groups, MultipartFile file){ String fileName = LocalFileUtil.getDefaultTempFolder() + File.separator + LocalFileUtil.getFileNameForIE(file.getOriginalFilename()); File iconFile = new File(fileName); try { file.transferTo(iconFile); if (iconFile != null) { iconserviceI.importIcon(type, groups, iconFile); return BaseResult.successMsg("å¯¼å ¥æåï¼"); } else { return BaseResult.fail(FrameWorkLangCodeConstant.IMPORT_FAIL, new String[]{"æ å¯¼å ¥çæä»¶"}); } }catch (Throwable e) { throw new VciBaseException(VciBaseUtil.getExceptionMessage(e),new String[0],e); }finally { iconFile.delete(); } } /** * æ°å¢å¾æ * @param iconDTO 徿 ä¼ è¾å¯¹è±¡ * @return æ§è¡ç»æ */ @PostMapping("/addIcon") @VciBusinessLog(operateName = "æ°å¢å¾æ ", description = "æ°å¢å¾æ ") public BaseResult addIcon(@RequestBody PLIconDTO iconDTO){ try { iconserviceI.addIcon(iconDTO); return BaseResult.successMsg("æ°å¢å¾æ æåï¼"); }catch (Exception e) { e.printStackTrace(); String exceptionMessage = "æ°å¢å¾æ åºç°é误ï¼åå ï¼" + VciBaseUtil.getExceptionMessage(e); logger.error(exceptionMessage); return BaseResult.fail(exceptionMessage); } } /** * ä¿®æ¹å¾æ * @param iconDTO 徿 ä¼ è¾å¯¹è±¡ * @return æ§è¡ç»æ */ @PutMapping("/editIcon") @VciBusinessLog(operateName = "ä¿®æ¹å¾æ ", description = "ä¿®æ¹å¾æ ") public BaseResult editIcon(@RequestBody PLIconDTO iconDTO){ try { iconserviceI.editIcon(iconDTO); return BaseResult.successMsg("ä¿®æ¹å¾æ æåï¼"); }catch (Exception e) { e.printStackTrace(); String exceptionMessage = "ä¿®æ¹å¾æ åºç°é误ï¼åå ï¼" + VciBaseUtil.getExceptionMessage(e); logger.error(exceptionMessage); return BaseResult.fail(exceptionMessage); } } /** * å é¤å¾æ * @param iconDTO 徿 ä¼ è¾å¯¹è±¡ * @return æ§è¡ç»æ */ @DeleteMapping("/delIcon") @VciBusinessLog(operateName = "å é¤å¾æ ", description = "å é¤å¾æ ") public BaseResult delIcon(PLIconDTO iconDTO){ try { iconserviceI.delIcon(iconDTO); return BaseResult.successMsg("å é¤å¾æ æåï¼"); }catch (Exception e) { e.printStackTrace(); String exceptionMessage = "å é¤å¾æ åºç°é误ï¼åå ï¼" + VciBaseUtil.getExceptionMessage(e); logger.error(exceptionMessage); return BaseResult.fail(exceptionMessage); } } /** * è·å徿 åç§° * @return 徿 åç§° */ @VciBusinessLog(operateName = "è·å徿 åç§°", description = "è·å徿 åç§°") @GetMapping("/getIconName") public BaseResult<String> getIconName(){ try{ List<String> iconNameList = iconserviceI.getIconName(); BaseResult baseResult = BaseResult.success(); baseResult.setData(iconNameList); return baseResult; }catch (Exception e){ e.printStackTrace(); String exceptionMessage = "è·å徿 åç§°åºç°é误ï¼åå ï¼" + VciBaseUtil.getExceptionMessage(e); logger.error(exceptionMessage); return BaseResult.fail(exceptionMessage); } } /** * è·åææå¾æ ä¿¡æ¯ * @param baseQueryObject æ¥è¯¢å¯¹è±¡ * @return 徿 ä¿¡æ¯ */ @VciBusinessLog(operateName = "è·åææå¾æ ", description = "è·åææå¾æ ") @GetMapping("/getAllIcon") public BaseResult<PLIconGroupVO> getAllIcon(BaseQueryObject baseQueryObject){ try{ List<PLIconGroupVO> iconList = iconserviceI.getAllIcon(baseQueryObject); BaseResult baseResult = BaseResult.success(); baseResult.setData(iconList); return baseResult; }catch (Exception e){ e.printStackTrace(); String exceptionMessage = "è·å徿 åºç°é误ï¼åå ï¼" + VciBaseUtil.getExceptionMessage(e); logger.error(exceptionMessage); return BaseResult.fail(exceptionMessage); } } /** * è·å徿 ä¿¡æ¯ï¼å页 * @param baseQueryObject æ¥è¯¢å¯¹è±¡ * @return 徿 ä¿¡æ¯ */ @VciBusinessLog(operateName = "è·å徿 ", description = "è·å徿 è¡¨æ ¼æ°æ®") @GetMapping("/getGrid") public DataGrid<PLIconVO> getGrid(BaseQueryObject baseQueryObject){ try{ return iconserviceI.getGrid(baseQueryObject); }catch (Exception e){ e.printStackTrace(); String exceptionMessage = "è·å徿 åºç°é误ï¼åå ï¼" + VciBaseUtil.getExceptionMessage(e); logger.error(exceptionMessage); return new DataGrid<>(exceptionMessage); } } } Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/OsLifeCycleServiceI.java
@@ -129,7 +129,7 @@ * @param releaseStatus åå¸ç¶æï¼å¦æç®æ ç¶ææ¯åå¸ç¶ææ¶ä¼ éè¿ä¸ªå¼ * @throws VciBaseException è·è¿åºéçæ¯ä¼æåºå¼å¸¸ */ void batchTransVo(com.vci.corba.omd.data.BusinessObject[] bos, OsLifeCycleLineVO[] lineVOs, void batchTransVo(BusinessObject[] bos, OsLifeCycleLineVO[] lineVOs, String[] releaseStatus) throws VciBaseException; /** @@ -138,7 +138,7 @@ * @param vos è·è¿å¯¹è±¡ * @throws VciBaseException è·è¿åºéçæ¯ä¼æåºå¼å¸¸ */ void batchTransVo(com.vci.corba.omd.data.BusinessObject[] bos, OsLifeCycleLineVO[] vos) void batchTransVo(BusinessObject[] bos, OsLifeCycleLineVO[] vos) throws VciBaseException; /** Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/WebIconserviceI.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,66 @@ package com.vci.web.service; import com.vci.dto.PLIconDTO; import com.vci.pagemodel.PLIconGroupVO; import com.vci.pagemodel.PLIconVO; import com.vci.starter.web.pagemodel.BaseQueryObject; import com.vci.starter.web.pagemodel.DataGrid; import java.io.File; import java.util.List; /** * @Description 徿 æå¡ * @Author dangsn * @Date 2024/12/20 10:26 */ public interface WebIconserviceI { /** * å¯¼å ¥å¾æ * * @param type 徿 ç±»å * @param groups 徿 åç» * @param iconFile 徿 æä»¶ * @return æ§è¡ç»æ */ void importIcon(String type, String groups, File iconFile); /** * æ°å¢å¾æ * @param iconDTO 徿 ä¼ è¾å¯¹è±¡ */ void addIcon(PLIconDTO iconDTO); /** * ä¿®æ¹å¾æ * @param iconDTO 徿 ä¼ è¾å¯¹è±¡ */ void editIcon(PLIconDTO iconDTO); /** * å é¤å¾æ * @param iconDTO 徿 ä¼ è¾å¯¹è±¡ */ void delIcon(PLIconDTO iconDTO); /** * è·å徿 åç§° * @return 徿 åç§° */ List<String> getIconName(); /** * è·å徿 * @param baseQueryObject æ¥è¯¢å¯¹è±¡ * @return 徿 ä¿¡æ¯ */ List<PLIconGroupVO> getAllIcon(BaseQueryObject baseQueryObject); /** * è·å徿 è¡¨æ ¼æ°æ® * @param baseQueryObject æ¥è¯¢å¯¹è±¡ * @return 徿 ä¿¡æ¯ */ DataGrid<PLIconVO> getGrid(BaseQueryObject baseQueryObject); } Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/OsLifeCycleServiceImpl.java
@@ -129,7 +129,7 @@ public void transStatus(List<BusinessObject> boList, String targetStatus) throws VciBaseException { WebUtil.alertNotNull(boList,"ä¸å¡æ°æ®å¯¹è±¡",targetStatus,"ç®æ 对象"); transStatus(boList.toArray(new com.vci.corba.omd.data.BusinessObject[0]), targetStatus); transStatus(boList.toArray(new BusinessObject[0]), targetStatus); } /** @@ -264,7 +264,7 @@ }else { OsLifeCycleLineEventVO[] eventVOs = new OsLifeCycleLineEventVO[route.transitionVOEvents.length]; for (int i = 0; i < route.transitionVOEvents.length; i++) { com.vci.corba.omd.lcm.TransitionVOEvent event = route.transitionVOEvents[i]; TransitionVOEvent event = route.transitionVOEvents[i]; OsLifeCycleLineEventVO eventVO = new OsLifeCycleLineEventVO(); eventVO.setOid(event.id); eventVO.setEventFullName(event.name); @@ -422,7 +422,7 @@ * @return å¹³å°çè¿æ¥çº¿å¯¹è±¡ */ private TransitionVO lifeCycleLineVO2DO(OsLifeCycleLineVO lineVO) throws PLException { com.vci.corba.omd.lcm.TransitionVO transitionVO = new com.vci.corba.omd.lcm.TransitionVO(); TransitionVO transitionVO = new TransitionVO(); transitionVO.id = lineVO.getOid(); transitionVO.source = lineVO.getSourceLifeStatus(); transitionVO.destination = lineVO.getTargetLifeStatus(); @@ -1095,7 +1095,7 @@ releaseStatus[i] = ""; } } com.vci.corba.omd.lcm.TransitionVO[] vos = new com.vci.corba.omd.lcm.TransitionVO[lineVOs.length]; TransitionVO[] vos = new TransitionVO[lineVOs.length]; for(int i = 0 ; i < lineVOs.length; i ++){ vos[i] = lifeCycleLineVO2DO(lineVOs[i]); } Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/WebIconServiceImpl.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,267 @@ package com.vci.web.service.impl; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import com.vci.corba.portal.PortalServicePrx; import com.vci.corba.portal.data.PLIcon; import com.vci.dto.PLIconDTO; import com.vci.pagemodel.PLIconGroupVO; import com.vci.pagemodel.PLIconVO; import com.vci.starter.web.exception.VciBaseException; import com.vci.starter.web.pagemodel.BaseQueryObject; import com.vci.starter.web.pagemodel.DataGrid; import com.vci.starter.web.pagemodel.PageHelper; import com.vci.web.service.WebIconserviceI; import com.vci.web.util.PlatformClientUtil; import com.vci.web.util.WebUtil; import edu.stanford.smi.protege.util.HashList; import org.apache.commons.io.FileUtils; import org.apache.commons.lang3.StringUtils; import org.springframework.stereotype.Service; import org.springframework.util.CollectionUtils; import javax.annotation.Resource; import java.io.File; import java.util.*; import java.util.stream.Collectors; /** * @Description 徿 æå¡ * @Author dangsn * @Date 2024/12/20 10:27 */ @Service public class WebIconServiceImpl implements WebIconserviceI { /** * 客æ·ç«¯å·¥å · */ @Resource private PlatformClientUtil platformClientUtil; /** * å¯¼å ¥å¾æ * * @param type * @param groups * @param iconFile 徿 æä»¶ * @return æ§è¡ç»æ */ @Override public void importIcon(String type, String groups, File iconFile) { try { String fileContent = FileUtils.readFileToString(iconFile, "UTF-8"); JSONArray jsonArray = JSON.parseArray(fileContent); //è·åææç徿 ä¿¡æ¯ PortalServicePrx portalServicePrx = platformClientUtil.getPortalService(); PLIcon[] iconArr = portalServicePrx.getAllPLIcon(); List<String> nameList = new ArrayList<>(); Map<String, PLIcon> iconMap = new HashMap<>(); for(PLIcon icon : iconArr){ nameList.add(icon.name); iconMap.put(icon.name, icon); } List<PLIcon> addList = new ArrayList<>(); List<PLIcon> updateList = new ArrayList<>(); for(int i = 0; i<jsonArray.size(); i++){ JSONObject jsonObject = jsonArray.getJSONObject(i); String iconContent = jsonObject.getString("svg"); String iconName = jsonObject.getString("name").toLowerCase(); if(nameList.contains(iconName)){ PLIcon icon = iconMap.get(iconName); icon.content = iconContent; icon.type = type; icon.groups = groups; updateList.add(icon); }else{ PLIcon icon = new PLIcon(); icon.oid = WebUtil.getPk(); icon.name = iconName; icon.content = iconContent; icon.type = type; icon.groups = groups; addList.add(icon); } } portalServicePrx.batchSavePLIcon(addList.toArray(new PLIcon[0])); portalServicePrx.batchUpdatePLIcon(updateList.toArray(new PLIcon[0])); } catch (Exception e) { throw new RuntimeException(e); } } /** * æ°å¢å¾æ * * @param iconDTO 徿 ä¼ è¾å¯¹è±¡ */ @Override public void addIcon(PLIconDTO iconDTO) { WebUtil.alertNotNull(iconDTO.getName(),"徿 åç§°", iconDTO.getContent(),"徿 å 容"); PLIcon plIcon = new PLIcon(); plIcon.oid = WebUtil.getPk(); plIcon.name = iconDTO.getName().toLowerCase(); plIcon.content = iconDTO.getContent(); plIcon.type = iconDTO.getType(); plIcon.groups = iconDTO.getGroups(); try { PortalServicePrx portalServicePrx = platformClientUtil.getPortalService(); portalServicePrx.savePLIcon(plIcon); } catch (Exception e) { throw new RuntimeException(e); } } /** * ä¿®æ¹å¾æ * * @param iconDTO 徿 ä¼ è¾å¯¹è±¡ */ @Override public void editIcon(PLIconDTO iconDTO) { WebUtil.alertNotNull(iconDTO.getName(),"徿 åç§°", iconDTO.getContent(),"徿 å 容"); try { PortalServicePrx portalServicePrx = platformClientUtil.getPortalService(); PLIcon plIcon = portalServicePrx.getPLIconByName(iconDTO.getName().toLowerCase()); if(StringUtils.isBlank(plIcon.oid)){ throw new VciBaseException("æªè·åå°ã"+iconDTO.getName()+"ã徿 ä¿¡æ¯ï¼"); } plIcon.content = iconDTO.getContent(); plIcon.type = iconDTO.getType(); plIcon.groups = iconDTO.getGroups(); portalServicePrx.updatePLIcon(plIcon); } catch (Exception e) { throw new RuntimeException(e); } } /** * å é¤å¾æ * * @param iconDTO 徿 ä¼ è¾å¯¹è±¡ */ @Override public void delIcon(PLIconDTO iconDTO) { WebUtil.alertNotNull(iconDTO.getOid(),"徿 主é®", iconDTO.getName(),"徿 åç§°"); try { PortalServicePrx portalServicePrx = platformClientUtil.getPortalService(); portalServicePrx.deletePLIconByName(iconDTO.getName()); } catch (Exception e) { throw new RuntimeException(e); } } /** * è·å徿 åç§° * * @return 徿 åç§° */ @Override public List<String> getIconName() { try { PortalServicePrx portalServicePrx = platformClientUtil.getPortalService(); String[] nameArr = portalServicePrx.getPLIconName(); return Arrays.asList(nameArr); } catch (Exception e) { throw new RuntimeException(e); } } /** * @param baseQueryObject * @return */ @Override public List<PLIconGroupVO> getAllIcon(BaseQueryObject baseQueryObject) { Map<String, String> conditionMap = baseQueryObject.getConditionMap(); PLIcon plIcon = new PLIcon(); String iconName = conditionMap.get("name"); if(StringUtils.isNotBlank(iconName)){ plIcon.name = iconName.toLowerCase(); } plIcon.type = conditionMap.get("type"); plIcon.groups = conditionMap.get("groups"); try { PortalServicePrx portalServicePrx = platformClientUtil.getPortalService(); PLIcon[] iconArr = portalServicePrx.getPagePLIcon(plIcon, 0, -1); List<PLIconGroupVO> groupVOS = new ArrayList<>(); List<PLIconVO> voList = COS2VOS(Arrays.asList(iconArr)); Map<String, List<PLIconVO>> voMap = voList.stream().collect(Collectors.groupingBy(PLIconVO::getLable)); voMap.forEach((key, value)->{ PLIconGroupVO groupVO = new PLIconGroupVO(); groupVO.setLable(key); groupVO.setList(value); groupVOS.add(groupVO); }); return groupVOS; } catch (Exception e) { throw new RuntimeException(e); } } private List<PLIconVO> COS2VOS(List<PLIcon> iconList){ List<PLIconVO> voList = new ArrayList<>(); if(!CollectionUtils.isEmpty(iconList)){ iconList.forEach(co->{ voList.add(CO2VO(co)); }); } return voList; } private PLIconVO CO2VO(PLIcon icon){ PLIconVO vo = new PLIconVO(); vo.setOid(icon.oid); vo.setName(icon.name); vo.setContent(icon.content); vo.setType(icon.type); vo.setGroups(icon.groups); String[] nameArr = icon.name.split(":"); if(nameArr.length > 1){ vo.setLable(nameArr[0]); } return vo; } /** * è·å徿 è¡¨æ ¼æ°æ® * * @param baseQueryObject æ¥è¯¢å¯¹è±¡ * @return 徿 ä¿¡æ¯ */ @Override public DataGrid<PLIconVO> getGrid(BaseQueryObject baseQueryObject) { Map<String, String> conditionMap = baseQueryObject.getConditionMap(); PageHelper pageHelper = baseQueryObject.getPageHelper(); PLIcon plIcon = new PLIcon(); String iconName = conditionMap.get("name"); if(StringUtils.isNotBlank(iconName)){ plIcon.name = iconName.toLowerCase(); } plIcon.type = conditionMap.get("type"); plIcon.groups = conditionMap.get("groups"); try { PortalServicePrx portalServicePrx = platformClientUtil.getPortalService(); PLIcon[] iconArr = portalServicePrx.getPagePLIcon(plIcon, pageHelper.getPage(), pageHelper.getLimit()); List<PLIconVO> voList = COS2VOS(Arrays.asList(iconArr)); DataGrid<PLIconVO> dataGrid = new DataGrid<>(); dataGrid.setData(voList); long count = portalServicePrx.getCountPLIcon(plIcon); dataGrid.setTotal(count); return dataGrid; } catch (Exception e) { throw new RuntimeException(e); } } }