¶Ô±ÈÐÂÎļþ |
| | |
| | | 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("ä¿®æ¹æåï¼"); |
| | | } |
| | | /** |
| | | * å é¤å· |
| | | * @param ids 主é®éå |
| | | * @return å é¤ç»æ |
| | | */ |
| | | @Override |
| | | public BaseResult deletePvolume(String[] ids) throws PLException { |
| | | if ( ids.length == 0){ |
| | | throw new PLException("500", new String[]{"è¯·éæ©ç¸å
³æ°æ®ï¼ï¼"}); |
| | | } |
| | | for (String id : ids) { |
| | | boolean isvalid = platformClientUtil.getFrameworkService().checkIsvalid(id); |
| | | if(isvalid) { |
| | | throw new PLException("500", new String[]{"éæ©æ°æ®ä¸ºé¦éè·¯å¾ï¼ä¸è½å é¤ï¼"}); |
| | | } |
| | | } |
| | | UserEntityInfo userInfo = new UserEntityInfo(); |
| | | userInfo.setUserName(WebUtil.getCurrentUserId()); |
| | | userInfo.setModules("com.vci.client.framework.systemConfig.volumn.PvolumePanel"); |
| | | boolean rs = platformClientUtil.getFrameworkService().deletePvolume(ids, userInfo); |
| | | if(!rs){ |
| | | 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; |
| | | } |
| | | |
| | | } |