ludc
2024-10-25 9ae1c10cb364c8b499447a83a5cb387f8eb98cbd
类型Action查询、添加、移除接口上传
已修改1个文件
已删除3个文件
已添加4个文件
382 ■■■■■ 文件已修改
Source/plt-web/plt-web-parent/plt-web-api/src/main/java/com/vci/dto/PLTypeActionDTO.java 31 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/controller/OsAttributeController.java 7 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/controller/OsTypeActionController.java 89 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/controller/WebActionController.java 33 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/OsTypeActionServiceI.java 40 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/WebActionServiceI.java 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/OsTypeActionServiceImpl.java 97 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/WebActionServiceImpl.java 67 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/plt-web/plt-web-parent/plt-web-api/src/main/java/com/vci/dto/PLTypeActionDTO.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,31 @@
package com.vci.dto;
import com.vci.corba.portal.data.PLAction;
import lombok.Data;
import java.util.List;
/**
 * ç±»åž‹Action数据传输对象
 * @author ludc
 * @date 2024/10/24 18:11
 */
@Data
public class PLTypeActionDTO implements java.io.Serializable{
    /**
     * ç¦æ­¢ä¿®æ”¹è¿™ä¸ªå€¼
     */
    private static final long serialVersionUID = 2009350578651813261L;
    /**
     * Action所在的业务类型名
     */
    private String plTypeName;
    /**
     * action对象
     */
    private List<PLAction> actions;
}
Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/controller/OsAttributeController.java
@@ -48,10 +48,8 @@
     */
    private Logger logger = LoggerFactory.getLogger(getClass());
    /**
     * èŽ·å–æ‰€æœ‰ä¸šåŠ¡ç±»åž‹ï¼ˆæ ‘å½¢ç»“æž„ï¼‰
     * èŽ·å–æ‰€æœ‰å±žæ€§ï¼ˆæ ‘å½¢ç»“æž„ï¼‰
     * @return æŸ¥è¯¢ç»“æžœ
     */
    @GetMapping( "/getTreeAttributes")
@@ -68,7 +66,6 @@
            return BaseResult.fail(exceptionMessage);
        }
    }
    /**
     * å±žæ€§åˆ—表
@@ -109,7 +106,7 @@
    /**
     * æ·»åŠ å•æ¡å±žæ€§åˆ°å±žæ€§æ± 
     * @param osAttributeDTO
     * @return åˆ—表的内容
     * @return
     */
    @PostMapping( "/addAttribute")
    @VciBusinessLog(operateName = "添加属性")
Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/controller/OsTypeActionController.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,89 @@
package com.vci.web.controller;
import com.vci.corba.common.PLException;
import com.vci.dto.OsAttributeDTO;
import com.vci.dto.PLActionClsDTO;
import com.vci.dto.PLTypeActionDTO;
import com.vci.starter.web.annotation.log.VciBusinessLog;
import com.vci.starter.web.pagemodel.BaseResult;
import com.vci.starter.web.util.VciBaseUtil;
import com.vci.web.service.OsTypeActionServiceI;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import java.util.Arrays;
/**
 * ç±»åž‹Action管理控制器
 * @author ludc
 * @date 2024/10/24 17:36
 */
@RequestMapping("/typeActionController")
@RestController
public class OsTypeActionController {
    @Resource
    private OsTypeActionServiceI actionServiceI;
    /**
     * æ—¥å¿—
     */
    private Logger logger = LoggerFactory.getLogger(getClass());
    /**
     * æ ¹æ®ä¸šåŠ¡ç±»åž‹åèŽ·å–ç±»åž‹action
     * @param typeName æŸ¥è¯¢æ¡ä»¶-业务类型名称
     * @return ä¿å­˜ç»“æžœ
     */
    @GetMapping("/getTypeActionByType")
    public BaseResult getTypeActionByType(String typeName){
        try {
            return BaseResult.dataList(actionServiceI.getTypeActionByType(typeName));
        } catch (PLException e) {
            BaseResult objectBaseResult = new BaseResult<>();
            objectBaseResult.setCode(Integer.parseInt(e.code));
            objectBaseResult.setMsg(Arrays.toString(e.messages));
            return objectBaseResult;
        }
    }
    /**
     * ä¿å­˜ç±»åž‹Action
     * @param plActionDTO
     * @return
     */
    @PostMapping( "/savePLTypeAction")
    @VciBusinessLog(operateName = "添加属性")
    public BaseResult savePLTypeAction(@RequestBody PLTypeActionDTO plActionDTO) {
        try {
            return actionServiceI.savePLTypeAction(plActionDTO);
        }catch (Exception e) {
            e.printStackTrace();
            String exceptionMessage = "保存类型Action时出现错误,原因:" + VciBaseUtil.getExceptionMessage(e);
            logger.error(exceptionMessage);
            return BaseResult.fail(exceptionMessage);
        }
    }
    /**
     * ç§»é™¤ç±»åž‹Action
     * @param typeName
     * @param typeActionOIds
     * @return
     */
    @DeleteMapping( "/delPLTypeActions")
    @VciBusinessLog(operateName = "移除类型Action")
    public BaseResult delPLTypeActions(String typeName, String typeActionOIds) {
        try {
            return actionServiceI.delPLTypeActions(typeName,typeActionOIds);
        }catch (Exception e) {
            e.printStackTrace();
            String exceptionMessage = "移除类型Action时出现错误,原因:" + VciBaseUtil.getExceptionMessage(e);
            logger.error(exceptionMessage);
            return BaseResult.fail(exceptionMessage);
        }
    }
}
Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/controller/WebActionController.java
ÎļþÒÑɾ³ý
Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/OsTypeActionServiceI.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,40 @@
package com.vci.web.service;
import com.vci.corba.common.PLException;
import com.vci.corba.portal.data.PLAction;
import com.vci.dto.PLTypeActionDTO;
import com.vci.starter.web.pagemodel.BaseResult;
import java.util.List;
/**
 * ç±»åž‹Action管理服务
 * @author ludc
 * @date 2024/10/24 17:02
 */
public interface OsTypeActionServiceI {
    /**
     * æ ¹æ®ä¸šåŠ¡ç±»åž‹åèŽ·å–ç±»åž‹Action
     * @param typeName æŸ¥è¯¢æ¡ä»¶-业务类型名称
     * @return
     */
    List<PLAction> getTypeActionByType(String typeName) throws PLException;
    /**
     * ä¿å­˜ç±»åž‹Action
     * @param plActionDTO
     * @return
     */
    BaseResult savePLTypeAction(PLTypeActionDTO plActionDTO) throws PLException;
    /**
     * ç§»é™¤ç±»åž‹Action
     * @param typeName æ‰€åœ¨ç±»åž‹å
     * @param typeActionOIds ç±»åž‹action
     * @return
     */
    BaseResult delPLTypeActions(String typeName, String typeActionOIds) throws PLException;
}
Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/WebActionServiceI.java
ÎļþÒÑɾ³ý
Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/OsTypeActionServiceImpl.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,97 @@
package com.vci.web.service.impl;
import com.vci.client.mw.ClientContextVariable;
import com.vci.common.utility.ObjectUtility;
import com.vci.corba.common.PLException;
import com.vci.corba.portal.data.PLAction;
import com.vci.corba.portal.data.PLTypeAction;
import com.vci.dto.PLActionDTO;
import com.vci.dto.PLTypeActionDTO;
import com.vci.starter.web.pagemodel.BaseResult;
import com.vci.starter.web.util.VciBaseUtil;
import com.vci.web.service.OsTypeActionServiceI;
import com.vci.web.util.Func;
import com.vci.web.util.PlatformClientUtil;
import com.vci.web.util.UITools;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
/**
 * ç±»åž‹Action管理服务
 * @author ludc
 * @date 2024/10/24 17:05
 */
@Service
public class OsTypeActionServiceImpl implements OsTypeActionServiceI {
    @Autowired
    private PlatformClientUtil platformClientUtil;
    /**
     * æ ¹æ®ä¸šåŠ¡ç±»åž‹åèŽ·å–ç±»åž‹Action
     * @param typeName æŸ¥è¯¢æ¡ä»¶-业务类型名称
     * @return
     */
    @Override
    public List<PLAction> getTypeActionByType(String typeName) throws PLException {
        VciBaseUtil.alertNotNull(typeName,"查询条件【类型名】");
        PLAction[] plActions = platformClientUtil.getUIService().getAllPLActionEntityByType(typeName);
        return Arrays.asList(plActions);
    }
    /**
     * ä¿å­˜ç±»åž‹Action
     * @param plActionDTO
     * @return
     */
    @Override
    public BaseResult savePLTypeAction(PLTypeActionDTO plActionDTO) throws PLException {
        VciBaseUtil.alertNotNull(
                plActionDTO,"添加的类型Action对象",plActionDTO.getPlTypeName(),
                plActionDTO.getActions(),"添加的Action列表"
        );
        String typeName = plActionDTO.getPlTypeName();
        PLAction[] dbActions = platformClientUtil.getUIService().getAllPLActionEntityByType(typeName);
        List<PLAction> actions = plActionDTO.getActions();
        //遍历数组和list,比较新添加的索引行是否已经存在
        for(PLAction ac: dbActions){
            for(int i=0; i<actions.size(); i++){
                if(actions.get(i).plOId.equals(ac.plOId)){
                    return BaseResult.fail("已存在名称为 ã€"+actions.get(i).plName+"】 çš„action!");
                }
            }
        }
        for(int i=0;i<actions.size();i++){
            PLTypeAction plTypeAction = new PLTypeAction(ObjectUtility.getNewObjectID36(), typeName, actions.get(i).plOId);
            boolean res = UITools.getService().savePLTypeActionEntity(plTypeAction);
            if(!res){
                return BaseResult.fail("类型action保存失败!");
            }
        }
        return BaseResult.success("类型action保存成功!");
    }
    /**
     * ç§»é™¤ç±»åž‹Action
     * @param typeName æ‰€åœ¨ç±»åž‹å
     * @param typeActionOIds ç±»åž‹action
     * @return
     */
    @Override
    public BaseResult delPLTypeActions(String typeName, String typeActionOIds) throws PLException {
        VciBaseUtil.alertNotNull(typeName,"类型名",typeActionOIds,"待移除的类型action主键集合");
        List<String> taOIds = Func.toStrList(typeActionOIds);
        for (String taOId : taOIds) {
            boolean res = UITools.getService().deletePLTypeActionEntityByTypeAndAction(typeName, taOId);
            if(!res){
                return BaseResult.success("类型Action移除失败!");
            }
        }
        return BaseResult.success("类型Action移除成功!");
    }
}
Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/WebActionServiceImpl.java
ÎļþÒÑɾ³ý