ludc
2024-09-26 085df90e488067783759dcd63cdb5fb43a51ff1f
Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/controller/HMSysModConfigController.java
@@ -1,11 +1,17 @@
package com.vci.web.controller;
import com.vci.constant.FrameWorkLangCodeConstant;
import com.vci.corba.common.PLException;
import com.vci.corba.framework.data.FuncOperationInfo;
import com.vci.corba.framework.data.OperateInfo;
import com.vci.dto.RoleInfoDTO;
import com.vci.dto.RoleRightDTO;
import com.vci.dto.RoleRightParamDTO;
import com.vci.frameworkcore.compatibility.ISmFunctionQueryService;
import com.vci.frameworkcore.compatibility.SmHMSysModConfigServiceI;
import com.vci.pagemodel.AppConfigDetailInfoVO;
import com.vci.pagemodel.ExpExcelConditionVO;
import com.vci.pagemodel.MenuVO;
import com.vci.starter.web.annotation.controller.VciUnCheckRight;
import com.vci.starter.web.exception.VciBaseException;
import com.vci.starter.web.pagemodel.BaseResult;
import com.vci.starter.web.util.ControllerUtil;
@@ -15,7 +21,6 @@
import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
@@ -34,7 +39,6 @@
 */
@RestController
@RequestMapping("/hmSysModConfigController")
@VciUnCheckRight
public class HMSysModConfigController {
    /**
@@ -67,6 +71,76 @@
        }catch (Exception e){
            e.printStackTrace();
            String errorMsg = "查询子模块时出现错误,原因:"+ VciBaseUtil.getExceptionMessage(e);
            logger.error(errorMsg);
            throw new VciBaseException(errorMsg);
        }
    }
    /**
     * 获取当前模块下的子模块
     * @return
     */
    @GetMapping("/getSysModelAuthTreeMenuByPID")
    public BaseResult<List<MenuVO>> getSysModelAuthTreeMenuByPID() {
        try {
            return BaseResult.dataList(functionQueryService.getSysModelAuthTreeMenuByPID(false));
        }catch (Exception e){
            e.printStackTrace();
            String errorMsg = "查询子模块时出现错误,原因:"+ VciBaseUtil.getExceptionMessage(e);
            logger.error(errorMsg);
            throw new VciBaseException(errorMsg);
        }
    }
    /**
     * 获取所授权的模块权限
     * @param roleId 角色
     * @return
     */
    @GetMapping("/getSysModelAuth")
    public BaseResult<List<String>> getSysModelAuth(String roleId) {
        try {
            return BaseResult.dataList(functionQueryService.getSysModelAuth(roleId));
        }catch (Exception e){
            e.printStackTrace();
            String errorMsg = "查询子模块时出现错误,原因:"+ VciBaseUtil.getExceptionMessage(e);
            logger.error(errorMsg);
            throw new VciBaseException(errorMsg);
        }
    }
    /**
     * 角色列表
     * @param roleName 搜索的角色
     * @return 角色列表
     */
    @GetMapping("/getRoleList")
    public BaseResult<List<RoleInfoDTO>> getRoleList(String roleName) {
        try {
            return BaseResult.dataList(functionQueryService.getRoleList(roleName));
        }catch (Exception e){
            e.printStackTrace();
            String errorMsg = "查询时出现错误,原因:"+ VciBaseUtil.getExceptionMessage(e);
            logger.error(errorMsg);
            throw new VciBaseException(errorMsg);
        }
    }
    /**
     * 保存授权的模块
     * @param roleRightDTOS 用户选择授权模块信息
     * @param roleId 角色主键
     * @return 授权结果
     * @throws PLException
     */
    @PostMapping("/saveRoleRight")
    public BaseResult<List<String>> saveRoleRight(@RequestBody List<RoleRightParamDTO> roleRightDTOS, String roleId) {
        try {
            return functionQueryService.saveRoleRight(roleRightDTOS, roleId);
        }catch (Exception e){
            e.printStackTrace();
            String errorMsg = "保存模块时出现错误,原因:"+ VciBaseUtil.getExceptionMessage(e);
            logger.error(errorMsg);
            throw new VciBaseException(errorMsg);
        }
@@ -151,7 +225,24 @@
            return BaseResult.success(hmSysModConfigService.updateAlias(menuVO),"操作别名修改成功");
        }catch (Exception e){
            e.printStackTrace();
            String errorMsg = "操作别名修改时出现错误,原因:"+ VciBaseUtil.getExceptionMessage(e);
            String errorMsg = "操作类型别名修改时出现错误,原因:"+ VciBaseUtil.getExceptionMessage(e);
            logger.error(errorMsg);
            throw new VciBaseException(errorMsg);
        }
    }
    /**
     * 添加操作类型与模块的关联关系
     * @param funcOperationInfoList
     * @return
     */
    @PostMapping("/addFuncOperationType")
    public BaseResult addFuncOperationType(@RequestBody List<FuncOperationInfo> funcOperationInfoList) {
        try {
            return BaseResult.success(hmSysModConfigService.addFuncOperationType(funcOperationInfoList),"为当前模块添加操作类型成功");
        }catch (Exception e){
            e.printStackTrace();
            String errorMsg = "为当前模块添加操作类型时出现错误,原因:"+ VciBaseUtil.getExceptionMessage(e);
            logger.error(errorMsg);
            throw new VciBaseException(errorMsg);
        }
@@ -159,16 +250,50 @@
    /**
     * 添加操作类型
     * @param funcOperationInfoList
     * @param operateInfo
     * @return
     */
    @PostMapping("/addOperationType")
    public BaseResult addOperationType(@RequestBody List<FuncOperationInfo> funcOperationInfoList) {
    public BaseResult addOperationType(@RequestBody OperateInfo operateInfo) {
        try {
            return BaseResult.success(hmSysModConfigService.addOperationType(funcOperationInfoList),"操作类型添加成功");
            return BaseResult.success(hmSysModConfigService.addOperationType(operateInfo),"添加操作类型成功");
        }catch (Exception e){
            e.printStackTrace();
            String errorMsg = "删除模块时出现错误,原因:"+ VciBaseUtil.getExceptionMessage(e);
            String errorMsg = "添加操作类型时出现错误,原因:"+ VciBaseUtil.getExceptionMessage(e);
            logger.error(errorMsg);
            throw new VciBaseException(errorMsg);
        }
    }
    /**
     * 修改操作类型
     * @param operateInfo
     * @return
     */
    @PutMapping("/updateOperationType")
    public BaseResult updateOperationType(@RequestBody OperateInfo operateInfo) {
        try {
            return BaseResult.success(hmSysModConfigService.updateOperationType(operateInfo),"修改操作类型成功");
        }catch (Exception e){
            e.printStackTrace();
            String errorMsg = "修改操作类型时出现错误,原因:"+ VciBaseUtil.getExceptionMessage(e);
            logger.error(errorMsg);
            throw new VciBaseException(errorMsg);
        }
    }
    /**
     * 删除操作类型
     * @param operateInfo
     * @return
     */
    @DeleteMapping("/delOperationType")
    public BaseResult delOperationType(@RequestBody OperateInfo operateInfo) {
        try {
            return BaseResult.success(hmSysModConfigService.delOperationType(operateInfo),"删除操作类型成功");
        }catch (Exception e){
            e.printStackTrace();
            String errorMsg = "删除操作类型时出现错误,原因:"+ VciBaseUtil.getExceptionMessage(e);
            logger.error(errorMsg);
            throw new VciBaseException(errorMsg);
        }
@@ -274,4 +399,127 @@
        }
    }
    /**
     *查询系统配置树
     * @return
     */
    @GetMapping("/getAppConfigCategoryInfo")
    public BaseResult getAppConfigCategoryInfo() {
        try {
            return BaseResult.dataList(hmSysModConfigService.getAppConfigCategoryInfo());
        }catch (Exception e){
            e.printStackTrace();
            String errorMsg = "查询系统配置列表时出现错误,原因:"+ VciBaseUtil.getExceptionMessage(e);
            logger.error(errorMsg);
            throw new VciBaseException(errorMsg);
        }
    }
    /**
     *根据分类ID返回全部的 AppConfigDetail 对象
     * @return
     */
    @GetMapping("/getAppConfigDetailsByID")
    public BaseResult getAppConfigDetailsByID(String clsId) {
        try {
            return BaseResult.dataList(hmSysModConfigService.getAppConfigDetailsByID(clsId));
        }catch (Exception e){
            e.printStackTrace();
            String errorMsg = "查询配置项列表时出现错误,原因:"+ VciBaseUtil.getExceptionMessage(e);
            logger.error(errorMsg);
            throw new VciBaseException(errorMsg);
        }
    }
    /**
     * 添加操作类型
     * @param appConfigDetailInfoVO
     * @return
     */
    @PostMapping("/addAppConf")
    public BaseResult addAppConf(@RequestBody AppConfigDetailInfoVO appConfigDetailInfoVO) {
        try {
            boolean res = hmSysModConfigService.addAppConf(appConfigDetailInfoVO.getAppConfigDetailInfo(), appConfigDetailInfoVO.isConfCategorys());
            return res ? BaseResult.success("添加操作类型成功"):BaseResult.fail("添加操作类型失败!");
        }catch (Exception e){
            e.printStackTrace();
            String errorMsg = "添加操作类型时出现错误,原因:"+ VciBaseUtil.getExceptionMessage(e);
            logger.error(errorMsg);
            throw new VciBaseException(errorMsg);
        }
    }
    /**
     * 修改操作类型
     * @param appConfigDetailInfoVO
     * @return
     */
    @PutMapping("/updateAppConf")
    public BaseResult updateAppConf(@RequestBody AppConfigDetailInfoVO appConfigDetailInfoVO) {
        try {
            boolean res = hmSysModConfigService.updateAppConf(appConfigDetailInfoVO.getAppConfigDetailInfo(),appConfigDetailInfoVO.isConfCategorys());
            return res ? BaseResult.success("修改操作类型成功"):BaseResult.fail("修改操作类型失败!");
        }catch (Exception e){
            e.printStackTrace();
            String errorMsg = "修改操作类型时出现错误,原因:"+ VciBaseUtil.getExceptionMessage(e);
            logger.error(errorMsg);
            throw new VciBaseException(errorMsg);
        }
    }
    /**
     * 删除操作类型
     * @param ids
     * @param isConfCategorys
     * @return
     */
    @DeleteMapping("/delAppConf")
    public BaseResult delAppConf(String[] ids,boolean isConfCategorys) {
        try {
            return hmSysModConfigService.delAppConf(ids,isConfCategorys) ? BaseResult.success("删除操作类型成功"):BaseResult.fail("删除操作类型失败!");
        }catch (Exception e){
            e.printStackTrace();
            String errorMsg = "删除操作类型时出现错误,原因:"+ VciBaseUtil.getExceptionMessage(e);
            logger.error(errorMsg);
            throw new VciBaseException(errorMsg);
        }
    }
    /**
     * 导出系统配置(配置项分类或配置项)
     * @return
     */
    @PostMapping("/exportSysConf")
    public void exportSysConf(@RequestBody ExpExcelConditionVO expExcelConditionVO, HttpServletResponse response) {
        try {
            String excelPath = hmSysModConfigService.exportSysConf(expExcelConditionVO,response);
            ControllerUtil.writeFileToResponse(response,excelPath);
        } catch (Exception e) {
            String msg = "导出系统配置时出现错误,原因:" + VciBaseUtil.getExceptionMessage(e);
            try {
                //出错时
                e.printStackTrace();
                ControllerUtil.writeDataToResponse(response,"error_" + Func.format(new Date(),"yyyy-MM-dd HHmmss.sss") + ".txt", StringUtils.isNotBlank(msg)?msg.getBytes():new byte[0],null);
            } catch (IOException ioException) {
                ioException.printStackTrace();
            }
        }
    }
    /**
     * 获取当前用户在线人数
     * @return
     */
    @GetMapping("/getOnlineUsersNum")
    public BaseResult getOnlineUsersNum() {
        try {
            long onlineUsersNum = hmSysModConfigService.getOnlineUsersNum();
            return BaseResult.success(onlineUsersNum);
        } catch (Exception e) {
            String errorMsg = "获取当前用户在线人数时出现错误,原因:" + VciBaseUtil.getExceptionMessage(e);
            logger.error(errorMsg);
            throw new VciBaseException(errorMsg);
        }
    }
}