wangting
2024-10-25 6c170b6b427f0882da35957e73f385d318970a06
Merge remote-tracking branch 'origin/master'
已修改3个文件
已添加3个文件
270 ■■■■■ 文件已修改
Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/frameworkcore/compatibility/SmUserQueryServiceI.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/frameworkcore/compatibility/impl/SmUserQueryServiceImpl.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/controller/OsTypeActionController.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/controller/SecretGradeController.java 61 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/SecretGradeServiceI.java 28 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/SecretGradeServiceImpl.java 175 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/frameworkcore/compatibility/SmUserQueryServiceI.java
@@ -29,7 +29,7 @@
    boolean checkUserExist(String userName,String oid) throws PLException;
    /**
     *  æ ¹æ®ç”¨æˆ·åèŽ·å–ç”¨æˆ·çš„å¯¹è±¡ï¼Œä¸åŒºåˆ†å¤§å°å†™
     * æ ¹æ®ç”¨æˆ·åèŽ·å–ç”¨æˆ·çš„å¯¹è±¡ï¼Œä¸åŒºåˆ†å¤§å°å†™
     * @param userId ç”¨æˆ·å
     * @return ç”¨æˆ·çš„æ˜¾ç¤ºå¯¹è±¡ï¼Œå¦‚果用户不存在则返回null,不会抛出异常
     * @throws VciBaseException å‚数为空或者数据库存在问题的时候会抛出异常
Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/frameworkcore/compatibility/impl/SmUserQueryServiceImpl.java
@@ -1040,7 +1040,7 @@
                        rootTreeList.add(childTree);
                    });
                }
            }else   if(OrgTypeEnum.ORG_TYPE_DEPT.getValue().equals(dataType)) {//如果是部门
            }else if(OrgTypeEnum.ORG_TYPE_DEPT.getValue().equals(dataType)) {//如果是部门
                DeptInfo[] deptInfos=new DeptInfo[]{};
                Tree departmentTree=new Tree();
                if(OrgTypeEnum.ORG_TYPE_DEPT.getValue().equals(parentId)) {
Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/controller/OsTypeActionController.java
@@ -55,7 +55,7 @@
     * @return
     */
    @PostMapping( "/savePLTypeAction")
    @VciBusinessLog(operateName = "添加属性")
    @VciBusinessLog(operateName = "添加类型Action")
    public BaseResult savePLTypeAction(@RequestBody PLTypeActionDTO plActionDTO) {
        try {
            return actionServiceI.savePLTypeAction(plActionDTO);
Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/controller/SecretGradeController.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,61 @@
package com.vci.web.controller;
import com.vci.corba.common.PLException;
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.SecretGradeServiceI;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import java.util.Arrays;
import java.util.Map;
/**
 * å¯†çº§ç®¡ç†æŽ§åˆ¶å™¨
 * @author ludc
 * @date 2024/10/25 16:58
 */
@RequestMapping("/secretGradeController")
@RestController
public class SecretGradeController {
    @Resource
    private SecretGradeServiceI secretGradeServiceI;
    /**
     * æ—¥å¿—
     */
    private Logger logger = LoggerFactory.getLogger(getClass());
    /**
     * èŽ·å–å¯†çº§ç®¡ç†é…ç½®
     * @return
     */
    @GetMapping("/getSecretGradeConfig")
    public BaseResult getSecretGradeConfig(){
        try {
            return BaseResult.dataList(secretGradeServiceI.getSecretGradeConfig());
        } catch (PLException e) {
            BaseResult objectBaseResult = new BaseResult<>();
            objectBaseResult.setCode(Integer.parseInt(e.code));
            objectBaseResult.setMsg(Arrays.toString(e.messages));
            return objectBaseResult;
        }
    }
    /**
     * ç”¨æˆ·/机器密级停启配置保存
     * @param secretGradeMap
     * @return
     */
    @PostMapping( "/secretGradeServiceI")
    @VciBusinessLog(operateName = "添加属性")
    public BaseResult saveSecretGrade(Map<String, Boolean> secretGradeMap) {
        return secretGradeServiceI.saveSecretGrade(secretGradeMap);
    }
}
Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/SecretGradeServiceI.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,28 @@
package com.vci.web.service;
import com.vci.corba.common.PLException;
import com.vci.starter.web.pagemodel.BaseResult;
import java.util.Map;
/**
 * å¯†çº§ç®¡ç†æœåŠ¡
 * @author ludc
 * @date 2024/10/25 16:47
 */
public interface SecretGradeServiceI {
    /**
     * èŽ·å–å¯†çº§ç®¡ç†é…ç½®
     * @return
     */
    Map<String,Boolean> getSecretGradeConfig() throws PLException;
    /**
     * ç”¨æˆ·/机器密级停启配置保存
     * @param secretGradeMap
     * @return
     */
    BaseResult saveSecretGrade(Map<String,Boolean> secretGradeMap);
}
Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/SecretGradeServiceImpl.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,175 @@
package com.vci.web.service.impl;
import com.vci.client.common.providers.ClientServiceProvider;
import com.vci.common.exception.VciException;
import com.vci.corba.common.PLException;
import com.vci.corba.common.data.UserEntityInfo;
import com.vci.corba.framework.data.AppConfigCategoryInfo;
import com.vci.corba.framework.data.AppConfigDetailInfo;
import com.vci.corba.omd.etm.EnumItem;
import com.vci.corba.omd.etm.EnumType;
import com.vci.starter.web.pagemodel.BaseResult;
import com.vci.starter.web.util.VciBaseUtil;
import com.vci.starter.web.util.WebThreadLocalUtil;
import com.vci.web.service.SecretGradeServiceI;
import com.vci.web.util.PlatformClientUtil;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import javax.swing.*;
import java.util.HashMap;
import java.util.Map;
/**
 * å¯†çº§ç®¡ç†æœåŠ¡
 * @author ludc
 * @date 2024/10/25 16:49
 */
@Service
public class SecretGradeServiceImpl implements SecretGradeServiceI {
    @Autowired
    private PlatformClientUtil platformClientUtil;
    /**
     * æ—¥å¿—
     */
    private Logger logger = LoggerFactory.getLogger(getClass());
    /**
     * èŽ·å–å¯†çº§ç®¡ç†é…ç½®
     * @return
     */
    @Override
    public Map<String, Boolean> getSecretGradeConfig() throws PLException {
        Map<String, Boolean> returnMap = new HashMap<>();
        //map.put();
        String userId = WebThreadLocalUtil.getCurrentUserSessionInfoInThread().getUserId();
        UserEntityInfo userEntityInfo = new UserEntityInfo(userId,"");
        AppConfigDetailInfo userConfigDetail = platformClientUtil.getFrameworkService().getAppConfigDetailByKey("userSecuritySwith", userEntityInfo);
        AppConfigDetailInfo ipConfigDetail = platformClientUtil.getFrameworkService().getAppConfigDetailByKey("ipSecuritySwitch",userEntityInfo);
        if ("on".equals(userConfigDetail.value)) {
            returnMap.put("userSecuritySwith",true);
        }else{
            returnMap.put("userSecuritySwith",false);
        }
        if ("on".equals(ipConfigDetail.value)) {
            returnMap.put("ipSecuritySwitch",true);
        }else{
            returnMap.put("ipSecuritySwitch",false);
        }
        return returnMap;
    }
    /**
     * ç”¨æˆ·/机器密级停启配置保存
     * @param secretGradeMap
     * @return
     */
    @Override
    public BaseResult saveSecretGrade(Map<String, Boolean> secretGradeMap){
        VciBaseUtil.alertNotNull(secretGradeMap,"密级配置对象");
        Boolean userSecuritySwith = secretGradeMap.getOrDefault("userSecuritySwith", false);
        Boolean ipSecuritySwitch = secretGradeMap.getOrDefault("ipSecuritySwitch", false);
        try{
            String userId = WebThreadLocalUtil.getCurrentUserSessionInfoInThread().getUserId();
            UserEntityInfo userEntityInfo = new UserEntityInfo(userId,"");
            AppConfigCategoryInfo[] categories = platformClientUtil.getFrameworkService().getAppConfigCategorys(userEntityInfo);
            String secretGradeCategoryId = "";
            for (int i = 0; i < categories.length; i++) {
                if ("系统密级配置".equals(categories[i].name)) {
                    secretGradeCategoryId = categories[i].id;
                    break;
                }
            }
            if ("".equals(secretGradeCategoryId)) {
                AppConfigCategoryInfo categoryObj = new AppConfigCategoryInfo();
                categoryObj.name = "系统密级配置";
                categoryObj.desc = "系统密级配置";
                secretGradeCategoryId = platformClientUtil.getFrameworkService().saveAppConfigCategory(categoryObj,userEntityInfo);
            }
            AppConfigDetailInfo userConfigDetail = platformClientUtil.getFrameworkService().getAppConfigDetailByKey("userSecuritySwith", userEntityInfo);
            AppConfigDetailInfo ipConfigDetail = platformClientUtil.getFrameworkService().getAppConfigDetailByKey("ipSecuritySwitch",userEntityInfo);
            if (ipSecuritySwitch) {
                if (ipConfigDetail.id != null && !"".equals(ipConfigDetail.id)) {
                    ipConfigDetail.value = "on";
                    boolean res = platformClientUtil.getFrameworkService().updateAppConfigDetail(ipConfigDetail,userEntityInfo);
                    System.out.println("ip配置修改结果-------" + res);
                } else {
                    ipConfigDetail = new AppConfigDetailInfo();
                    ipConfigDetail.key = "ipSecuritySwitch";
                    ipConfigDetail.value = "on";
                    ipConfigDetail.name = "机器密级停启";
                    ipConfigDetail.desc = "value值为on时代表机器密级开启,值为其他或者不配置时代表不开启。";
                    ipConfigDetail.categoryId = secretGradeCategoryId;
                    String res = platformClientUtil.getFrameworkService().saveAppConfigDetail(ipConfigDetail,userEntityInfo);
                    System.out.println("ip配置保存结果-------" + res);
                }
            } else {
                if (ipConfigDetail.id != null && !"".equals(ipConfigDetail.id)) {
                    ipConfigDetail.value = "off";
                    platformClientUtil.getFrameworkService().updateAppConfigDetail(ipConfigDetail,userEntityInfo);
                }
            }
            if (userSecuritySwith) {
                if (userConfigDetail.id != null && !"".equals(userConfigDetail.id)) {
                    userConfigDetail.value = "on";
                    boolean res = platformClientUtil.getFrameworkService().updateAppConfigDetail(userConfigDetail,userEntityInfo);
                    System.out.println("user配置修改结果-------" + res);
                } else {
                    userConfigDetail = new AppConfigDetailInfo();
                    userConfigDetail.key = "userSecuritySwith";
                    userConfigDetail.value = "on";
                    userConfigDetail.name = "用户密级停启";
                    userConfigDetail.categoryId = secretGradeCategoryId;
                    userConfigDetail.desc = ("value值为on时代表用户密级开启,值为其他或者不配置时代表不开启。");
                    String res = platformClientUtil.getFrameworkService().saveAppConfigDetail(userConfigDetail,userEntityInfo);
                    System.out.println("user配置保存结果-------" + res);
                }
                updateUserSecretGrade();
            } else {
                if (userConfigDetail.id != null && !"".equals(userConfigDetail.id)) {
                    userConfigDetail.value = "off";
                    boolean res = platformClientUtil.getFrameworkService().updateAppConfigDetail(userConfigDetail,userEntityInfo);
                    System.out.println("user配置修改结果-------" + res);
                }
            }
            return BaseResult.success("保存配置成功");
        }catch (Exception e){
            String errorLog = "保存配置失败,原因:"+VciBaseUtil.getExceptionMessage(e);
            logger.error(errorLog);
            return BaseResult.fail(errorLog);
        }
    }
    /**
     * ä¿®æ”¹ç”¨æˆ·çš„密集
     * @throws PLException
     */
    private void updateUserSecretGrade() throws PLException {
        EnumType enumType = platformClientUtil.getEnumService().getEnumTypeByName("usersecurityenum");
        EnumItem[] children = enumType.items;
        int grade = 10;
        if (children.length > 0) {
            grade = Integer.parseInt(children[0].value);
            for (int i = 0; i < children.length; i++) {
                EnumItem child = children[i];
                if (grade >= Integer.parseInt(child.value)) {
                    grade = Integer.parseInt(child.value);
                }
            }
        }
        String updateSql = "update pluser set plsecretgrade = '" + grade + "' " +
                "where plsecretgrade is null";
        platformClientUtil.getBOFService().executeUpdateSql(updateSql);
    }
}