Source/plt-web/plt-web-parent/plt-web-api/src/main/java/com/vci/dto/OsPvolumeDTO.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,24 @@ package com.vci.dto; import lombok.Data; /** * æä»¶æç®¡çä¼ è¾å¯¹è±¡ * @author yuxc * @date 2024/10/14 */ @Data public class OsPvolumeDTO implements java.io.Serializable { /** * ç¦æ¢ä¿®æ¹è¿ä¸ªå¼ */ private static final long serialVersionUID = 2492852474710986720L; private String id; //å·id private String name; //å·åç§° private String host;//å·æå¡ip private String service; // æå¡å private short type; //å·æå¡ç±»å 0:Unix,1:Win NT private String path; //å·æå¡è·¯å¾ private boolean isvalid; //æ¯å¦ä¸ºé¦éè·¯å¾ï¼å¦æä¿®æ¹äºè¿ä¸ªå¼ä¼æéï¼æ¨ç¡®å®è¦ä¿®æ¹å·çé¦éè·¯å¾åï¼ } Source/plt-web/plt-web-parent/plt-web-api/src/main/java/com/vci/dto/RoleRightParamDTOS.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,23 @@ package com.vci.dto; import lombok.Data; import java.io.Serializable; import java.util.ArrayList; /** * ä¿åæéä¼ è¾å¯¹è±¡ * @author yuxc * @date 2024-09-06 */ @Data public class RoleRightParamDTOS implements Serializable { /** * ç¦æ¢ä¿®æ¹è¿ä¸ªå¼ */ private static final long serialVersionUID = 2492852474710986720L; private ArrayList<RoleRightParamDTO> roleData; private String roleId ; } Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/controller/HMSysModConfigController.java
@@ -7,6 +7,7 @@ import com.vci.dto.RoleInfoDTO; import com.vci.dto.RoleRightDTO; import com.vci.dto.RoleRightParamDTO; import com.vci.dto.RoleRightParamDTOS; import com.vci.frameworkcore.compatibility.ISmFunctionQueryService; import com.vci.frameworkcore.compatibility.SmHMSysModConfigServiceI; import com.vci.pagemodel.AppConfigDetailInfoVO; @@ -28,9 +29,7 @@ import javax.servlet.http.HttpServletResponse; import java.io.File; import java.io.IOException; import java.util.Date; import java.util.LinkedList; import java.util.List; import java.util.*; /** * é¦é¡µç³»ç»æ¨¡åé ç½®æ§å¶å¨ @@ -135,8 +134,14 @@ * @throws PLException */ @PostMapping("/saveRoleRight") public BaseResult<List<String>> saveRoleRight(@RequestBody List<RoleRightParamDTO> roleRightDTOS, String roleId) { public BaseResult saveRoleRight(@RequestBody RoleRightParamDTOS roleDto) { try { ArrayList<RoleRightParamDTO> roleRightDTOS = roleDto.getRoleData(); String roleId = roleDto.getRoleId(); if(StringUtils.isBlank(roleId)){ return BaseResult.fail("è¯·éæ©è§è²ï¼"); } return functionQueryService.saveRoleRight(roleRightDTOS, roleId); }catch (Exception e){ e.printStackTrace(); Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/controller/OsPvolumesController.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,86 @@ package com.vci.web.controller; import com.vci.corba.common.PLException; import com.vci.corba.framework.data.PvolumeInfo; import com.vci.dto.*; import com.vci.starter.web.exception.VciBaseException; import com.vci.starter.web.pagemodel.BaseResult; import com.vci.starter.web.util.VciBaseUtil; import com.vci.web.service.OsActionServiceI; import com.vci.web.service.OsPvolumesServiceI; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartFile; import javax.servlet.http.HttpServletResponse; import java.io.IOException; import java.util.Arrays; import java.util.List; /** * æä»¶æç®¡ççæ§å¶å¨ * @author yuxc * @date 2024-10-14 */ @RequestMapping("/pvolumesController") @RestController public class OsPvolumesController { /** * Actionæå¡ */ @Autowired private OsPvolumesServiceI osPvolumesServiceI; /** * å页æ¥è¯¢å· * @param pageSize é¡µæ° * @param pageIndex 第å 页 * @return åé¡µæ°æ® */ @GetMapping("/getPvolumesPage") public BaseResult getPvolumesPage(short pageSize, short pageIndex){ try { return osPvolumesServiceI.getPvolumesPage(pageSize, pageIndex); } catch (PLException e) { BaseResult objectBaseResult = new BaseResult<>(); objectBaseResult.setCode(Integer.parseInt(e.code)); objectBaseResult.setMsg(Arrays.toString(e.messages)); return objectBaseResult; } } /** * å¢å å· * @param dto å·çä¼ è¾ä¿¡æ¯ * @return ä¿åç»æ */ @GetMapping("/savePvolume") public BaseResult savePvolume(@RequestBody OsPvolumeDTO dto){ try { return osPvolumesServiceI.savePvolume(dto); } catch (PLException e) { BaseResult objectBaseResult = new BaseResult<>(); objectBaseResult.setCode(Integer.parseInt(e.code)); objectBaseResult.setMsg(Arrays.toString(e.messages)); return objectBaseResult; } } /** * ä¿®æ¹å· * @param dto å·çä¼ è¾ä¿¡æ¯ * @return ä¿®æ¹ç»æ */ @GetMapping("/updatePvolume") public BaseResult updatePvolume(@RequestBody OsPvolumeDTO dto){ try { return osPvolumesServiceI.updatePvolume(dto); } catch (PLException e) { BaseResult objectBaseResult = new BaseResult<>(); objectBaseResult.setCode(Integer.parseInt(e.code)); objectBaseResult.setMsg(Arrays.toString(e.messages)); return objectBaseResult; } } } Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/other/AllActionThreadLocal.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,24 @@ package com.vci.web.other; import com.vci.pagemodel.UIActionVO; import java.util.Map; public class AllActionThreadLocal { //ææé 彿°ç§æï¼å¤é¢ä¸è½newï¼åªè½éè¿ä¸é¢ä¸¤ä¸ªæ¹æ³æä½ private AllActionThreadLocal(){ } private static final ThreadLocal<Map<String, UIActionVO>> LOCAL = new ThreadLocal<>(); public static void set(Map<String, UIActionVO> data){ LOCAL.set(data); } public static Map<String, UIActionVO> get(){ return LOCAL.get(); } public static void remove(){ LOCAL.remove(); } } Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/OsPvolumesServiceI.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,37 @@ package com.vci.web.service; import com.vci.corba.common.PLException; import com.vci.dto.*; import com.vci.starter.web.pagemodel.BaseResult; import org.springframework.web.multipart.MultipartFile; import javax.servlet.http.HttpServletResponse; import java.io.IOException; import java.util.List; /** * æä»¶æç®¡ççæå¡ * @author yuxc * @date 2024-10-14 */ public interface OsPvolumesServiceI { /** * å页æ¥è¯¢å· * @param pageSize é¡µæ° * @param pageIndex 第å 页 * @return åé¡µæ°æ® */ BaseResult getPvolumesPage(short pageSize, short pageIndex) throws PLException; /** * å¢å å· * @param dto å·çä¼ è¾ä¿¡æ¯ * @return ä¿åç»æ */ BaseResult savePvolume(OsPvolumeDTO dto) throws PLException; /** * ä¿®æ¹å· * @param dto å·çä¼ è¾ä¿¡æ¯ * @return ä¿®æ¹ç»æ */ BaseResult updatePvolume(OsPvolumeDTO dto) throws PLException; } Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/OsPvolumesServiceImpl.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,154 @@ package com.vci.web.service.impl; import cn.hutool.core.io.FileUtil; import com.vci.constant.FrameWorkLangCodeConstant; import com.vci.corba.common.PLException; import com.vci.corba.common.data.UserEntityInfo; import com.vci.corba.framework.data.PvolumeInfo; import com.vci.corba.portal.data.Constraint; import com.vci.corba.portal.data.PLAction; import com.vci.corba.portal.data.PLActionCls; import com.vci.corba.portal.data.PLActionParam; import com.vci.dto.*; import com.vci.starter.poi.bo.WriteExcelData; import com.vci.starter.poi.bo.WriteExcelOption; import com.vci.starter.poi.util.ExcelUtil; import com.vci.starter.web.exception.VciBaseException; import com.vci.starter.web.pagemodel.BaseResult; import com.vci.starter.web.util.ControllerUtil; import com.vci.starter.web.util.LangBaseUtil; import com.vci.starter.web.util.LocalFileUtil; import com.vci.web.enumpck.ActionEnum; import com.vci.web.enumpck.PlTypetypeEnum; import com.vci.web.other.ExportActionLogBean; import com.vci.web.other.ExportBeans; import com.vci.web.service.OsActionServiceI; import com.vci.web.service.OsPvolumesServiceI; import com.vci.web.util.Func; import com.vci.web.util.PinyinCommon; import com.vci.web.util.PlatformClientUtil; import com.vci.web.util.WebUtil; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.web.multipart.MultipartFile; import javax.servlet.http.HttpServletResponse; import java.io.*; import java.util.*; import java.util.stream.Collectors; /** * æä»¶æç®¡ççæå¡å®ç°ç±» * @author yuxc * @date 2024-10-14 */ @Service public class OsPvolumesServiceImpl implements OsPvolumesServiceI { @Autowired private PlatformClientUtil platformClientUtil; /** * å页æ¥è¯¢å· * @param pageSize é¡µæ° * @param pageIndex 第å 页 * @return åé¡µæ°æ® */ @Override public BaseResult getPvolumesPage(short pageSize, short pageIndex) throws PLException { PvolumeInfo[] pvolumesPage = platformClientUtil.getFrameworkService().getPvolumesPage(pageSize, pageIndex); List<OsPvolumeDTO> pvs = new ArrayList<>(); for (PvolumeInfo pvolumeInfo : pvolumesPage) { OsPvolumeDTO osPvolumeDTO = new OsPvolumeDTO(); osPvolumeDTO = tranferCorbaObjToPvolume(pvolumeInfo); pvs.add(osPvolumeDTO); } return BaseResult.dataList(pvs); } @Override public BaseResult savePvolume(OsPvolumeDTO dto) throws PLException { PvolumeInfo pvoInfo = new PvolumeInfo(); pvoInfo.service = dto.getService(); pvoInfo.id = dto.getId(); pvoInfo.name = dto.getName(); pvoInfo.host = dto.getHost(); pvoInfo.isvalid = dto.isIsvalid(); pvoInfo.path = dto.getPath(); //å·æå¡ç±»åï¼æºå¨ç±»å pvoInfo.type = dto.getType(); UserEntityInfo userInfo = new UserEntityInfo(); userInfo.setUserName(WebUtil.getCurrentUserId()); userInfo.setModules("com.vci.client.framework.systemConfig.volumn.PvolumePanel"); if(pvoInfo.isvalid){ PvolumeInfo[] allPvolumes = platformClientUtil.getFrameworkService().getAllPvolumes(); if(allPvolumes.length > 0){ // å°å ¶ä»å·è®¾ç½®ä¸ºéé¦éå· 0 platformClientUtil.getFrameworkService().updatePvolumeInvalid(userInfo); } } String id= platformClientUtil.getFrameworkService().savePvolume(pvoInfo, userInfo); if(StringUtils.isBlank(id)){ return BaseResult.fail("ä¿å失败ï¼"); } return BaseResult.success("ä¿åæåï¼"); } @Override public BaseResult updatePvolume(OsPvolumeDTO dto) throws PLException { PvolumeInfo pvoInfo = new PvolumeInfo(); pvoInfo.service = StringUtils.isBlank(dto.getService()) ? "" : dto.getService(); pvoInfo.id = StringUtils.isBlank(dto.getId()) ? "" : dto.getId(); pvoInfo.name = StringUtils.isBlank(dto.getName()) ? "" : dto.getName(); pvoInfo.host = StringUtils.isBlank(dto.getHost()) ? "" : dto.getHost(); pvoInfo.isvalid = dto.isIsvalid(); pvoInfo.path = StringUtils.isBlank(dto.getPath()) ? "" : dto.getPath(); //å·æå¡ç±»åï¼æºå¨ç±»å pvoInfo.type = dto.getType(); if(StringUtils.isBlank(pvoInfo.service) || StringUtils.isBlank(pvoInfo.name) || StringUtils.isBlank(pvoInfo.path)){ throw new PLException("500", new String[]{"åæ®µæå¡åãå·åç§°ãå·æå¡è·¯å¾ä¸è½ä¸ºç©ºï¼"}); } PvolumeInfo[] allPvo = platformClientUtil.getFrameworkService().getAllPvolumes(); Map<String, PvolumeInfo> pvInfoMap = Arrays.stream(allPvo).collect(Collectors.toMap(e -> e.id, e -> e)); //妿æ¯è¦è¿è¡ä¿®æ¹ï¼åç§°ä¸åçæ åµä¸å¯ä»¥æåä¿®æ¹ï¼è¿ç§æ åµä¸ä¸æ¯åç§°éå¤ã if(pvInfoMap.get(pvoInfo.id) == null){ throw new PLException("500", new String[]{"æªæ¥è¯¢å°ç¸å ³æ°æ®è¯·éæ°æä½ï¼"}); } if ( allPvo.length == 1 && !pvoInfo.isvalid){ throw new PLException("500", new String[]{"ä» ä¸æ¡æ°æ®é设置为é¦éè·¯å¾"}); } UserEntityInfo userInfo = new UserEntityInfo(); userInfo.setUserName(WebUtil.getCurrentUserId()); userInfo.setModules("com.vci.client.framework.systemConfig.volumn.PvolumePanel"); if(pvoInfo.isvalid && allPvo.length > 0){ // å°å ¶ä»å·è®¾ç½®ä¸ºéé¦éå· 0 platformClientUtil.getFrameworkService().updatePvolumeInvalid(userInfo); } boolean b = platformClientUtil.getFrameworkService().updatePvolume(pvoInfo, userInfo); if(!b){ return BaseResult.fail("ä¿®æ¹å¤±è´¥ï¼"); } return BaseResult.success("ä¿®æ¹æåï¼"); } /** * å· ä»Corba端转å°Hibernate对象端 * @param pvoInfo * @return */ private OsPvolumeDTO tranferCorbaObjToPvolume(PvolumeInfo pvoInfo) { OsPvolumeDTO obj = new OsPvolumeDTO(); obj.setId(pvoInfo.id); obj.setName(pvoInfo.name); obj.setHost(pvoInfo.host); obj.setService(pvoInfo.service); obj.setType(pvoInfo.type); obj.setPath(pvoInfo.path); obj.setIsvalid(pvoInfo.isvalid); return obj; } } Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/UIEngineServiceImpl.java
@@ -16,6 +16,7 @@ import com.vci.web.enumpck.UIComponentTypeEnum; import com.vci.web.enumpck.UIFieldTypeEnum; import com.vci.web.enumpck.UILayoutAreaTypeEnum; import com.vci.web.other.AllActionThreadLocal; import com.vci.web.service.OsAttributeServiceI; import com.vci.web.service.OsBtmServiceI; import com.vci.web.service.UIEngineServiceI; @@ -1080,6 +1081,11 @@ Map<String, OsAttributeVO> attributeVOMap; if(pages != null && pages.size() > 0){ attributeVOMap = attrService.selectAllAttributeMap(); Map<String, UIActionVO> actionVOMap = AllActionThreadLocal.get(); if(actionVOMap == null || actionVOMap.isEmpty()){ actionVOMap = selectAllActionMap(); AllActionThreadLocal.set(actionVOMap); } }else{ attributeVOMap = null; } @@ -1097,6 +1103,7 @@ } }); } AllActionThreadLocal.remove(); return contentVOS; } @@ -1456,9 +1463,15 @@ public List<UIButtonDefineVO> buttonDO2VOs(Collection<com.vci.corba.portal.data.PLTabButton> buttons){ List<UIButtonDefineVO> buttonDefineVOS = new ArrayList<>(); if(buttons != null && buttons.size() > 0){ Map<String, UIActionVO> actionVOMap = self.selectAllActionMap(); // Map<String, UIActionVO> actionVOMap = self.selectAllActionMap(); Map<String, UIActionVO> actionVOMap = null; actionVOMap = AllActionThreadLocal.get(); if(actionVOMap == null ){ actionVOMap = self.selectAllActionMap(); } Map<String, UIActionVO> finalActionVOMap = actionVOMap; Optional.ofNullable(buttons).orElseGet(()->new ArrayList<>()).stream().forEach(button->{ buttonDefineVOS.add(buttonDO2VO(button, actionVOMap)); buttonDefineVOS.add(buttonDO2VO(button, finalActionVOMap)); }); }