ludc
2023-11-24 9f9f7637f0cfd99497d2a5457089c7e92951a426
本地日志文件下载工具类中的方法修改,sql拼接错误修改
已修改14个文件
已添加3个文件
550 ■■■■ 文件已修改
Source/UBCS/ubcs-codeApply/src/main/java/com/vci/rmip/code/client/codeapply/Apply410/utils/HttpUtil.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-ops-api/ubcs-log-api/src/main/java/com/vci/ubcs/log/dto/LocalLogVO.java 31 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-ops-api/ubcs-log-api/src/main/java/com/vci/ubcs/log/entity/LocalLog.java 63 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-ops-api/ubcs-log-api/src/main/java/com/vci/ubcs/log/entity/LogOperate.java 69 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-ops-api/ubcs-resource-api/src/main/java/com/vci/ubcs/resource/entity/Attach.java 11 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-ops-api/ubcs-resource-api/src/main/java/com/vci/ubcs/resource/utils/FileDownloadUtil.java 114 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-ops/ubcs-resource/src/main/java/com/vci/ubcs/resource/controller/FileController.java 230 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-ops/ubcs-resource/src/main/resources/application-prod.yml 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-ops/ubcs-resource/src/main/resources/mapper/AttachMapper.xml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-ops/ubcs-resource/src/main/resources/mapper/SmsMapper.xml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-applyjtcodeservice/src/main/java/com/vci/ubcs/code/applyjtcodeservice/service/impl/DockingPreAttrMappingServiceImpl.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-applyjtcodeservice/src/main/java/com/vci/ubcs/code/applyjtcodeservice/service/impl/GroupMdmInterServiceImpl.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/CodeSyncUniversalController.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeApplyWebManagementServiceImpl.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmEngineServiceImpl.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/UniversalInterfaceImpl.java 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/wrapper/CodeButtonWrapper.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-codeApply/src/main/java/com/vci/rmip/code/client/codeapply/Apply410/utils/HttpUtil.java
@@ -346,7 +346,7 @@
                return result;
            }
        }catch (Throwable e){
            e.printStackTrace();;
            e.printStackTrace();
        }
        return result;
    }
Source/UBCS/ubcs-ops-api/ubcs-log-api/src/main/java/com/vci/ubcs/log/dto/LocalLogVO.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,31 @@
package com.vci.ubcs.log.dto;
import com.vci.ubcs.log.entity.LocalLog;
import javafx.scene.Parent;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
import java.util.List;
/**
 * @author ludc
 * @date 2023/11/23 11:17
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
public class LocalLogVO extends LocalLog implements Serializable {
    /**
     * åºåˆ—化
     */
    private static final long serialVersionUID = 2217599544701726981L;
    /**
     * æ—¥å¿—全路径集合
     */
    private String logFullPaths;
}
Source/UBCS/ubcs-ops-api/ubcs-log-api/src/main/java/com/vci/ubcs/log/entity/LocalLog.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,63 @@
package com.vci.ubcs.log.entity;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
/**
 * @author ludc
 * @date 2023/10/31 15:43
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
public class LocalLog implements Serializable {
    /**
     * åºåˆ—化
     */
    private static final long serialVersionUID = 2217599544701726181L;
    /**
     * æ—¥å¿—所属服务名称
     */
    private String serviceName;
    /**
     * æœåŠ¡id
     */
    private String serviceId;
    /**
     * æ—¥å¿—文件所在的路径
     */
    private String logPath;
    /**
     * æ—¥å¿—名称
     */
    private String logName;
    /**
     * æ—¥å¿—类型
     */
    private String logType;
    /**
     * æ—¥å¿—创建时间
     */
    private String createTime;
    /**
     * æ—¥å¿—的最后修改时间
     */
    private String lastModifier;
    /**
     * æ˜¯å¦åŒ…含存在子文件
     */
    private Boolean hasChildren;
}
Source/UBCS/ubcs-ops-api/ubcs-log-api/src/main/java/com/vci/ubcs/log/entity/LogOperate.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,69 @@
package com.vci.ubcs.log.entity;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
/**
 * æ“ä½œæ—¥å¿—管理:(包括登录日志、操作日志、授权日志,以及管理员的以上三种日志)
 * @author ludc
 * @date 2023/11/24 10:58
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
public class LogOperate implements Serializable {
    /**
     * åºåˆ—化
     */
    private static final long serialVersionUID = 2217599544701724211L;
    /**
     * ä¸»é”®
     */
    private String oid;
    /**
     * ç”¨æˆ·å
     */
    private String userName;
    /**
     * å§“名
     */
    private String realName;
    /**
     * ip地址
     */
    private String ip;
    /**
     * æ¨¡å—
     */
    private String model;
    /**
     * æ“ä½œ
     */
    private String operate;
    /**
     * æ—¶é—´
     */
    private String time;
    /**
     * æ“ä½œç»“æžœ
     */
    private String operateResult;
    /**
     * æè¿°
     */
    private String description;
}
Source/UBCS/ubcs-ops-api/ubcs-resource-api/src/main/java/com/vci/ubcs/resource/entity/Attach.java
@@ -16,11 +16,13 @@
 */
package com.vci.ubcs.resource.entity;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.springblade.core.mp.base.BaseEntity;
import org.springblade.core.tenant.mp.TenantEntity;
/**
@@ -32,7 +34,7 @@
@TableName("pl_attach")
@EqualsAndHashCode(callSuper = true)
@ApiModel(value = "Attach对象", description = "附件表")
public class Attach extends TenantEntity {
public class Attach extends BaseEntity {
    private static final long serialVersionUID = 1L;
@@ -66,6 +68,11 @@
     */
    @ApiModelProperty(value = "附件大小")
    private Long attachSize;
    /**
     * ç§Ÿæˆ·ID
     */
    @ApiModelProperty(value = "租户ID")
    @TableField("TENANT_ID")
    private String tenantId;
}
Source/UBCS/ubcs-ops-api/ubcs-resource-api/src/main/java/com/vci/ubcs/resource/utils/FileDownloadUtil.java
@@ -21,39 +21,39 @@
@Slf4j
public class FileDownloadUtil {
    /**
     * ä¸‹è½½æ–‡ä»¶
     * @param response å“åº”对象
     * @param fileObjectBO æ–‡ä»¶çš„信息,包含文件的输入流
     * @throws IOException ä¸‹è½½å¼‚常会抛出
     */
    public static void downloadFile(HttpServletResponse response, FileObjectBO fileObjectBO) throws IOException {
        downloadFile(response,fileObjectBO,true);
    }
    /**
     * ä¸‹è½½æ–‡ä»¶
     * @param response å“åº”对象
     * @param fileObjectBO æ–‡ä»¶çš„信息,包含文件的输入流
     * @throws IOException ä¸‹è½½å¼‚常会抛出
     */
    public static void downloadFile(HttpServletResponse response, FileObjectBO fileObjectBO) throws IOException {
        downloadFile(response,fileObjectBO,true);
    }
    /**
     * ä¸‹è½½æ–‡ä»¶
     * @param response å“åº”对象
     * @param fileObjectBO æ–‡ä»¶çš„信息,包含文件的输入流
     * @param closeInputStream æ˜¯å¦å…³é—­æµ
     * @throws IOException ä¸‹è½½å‡ºé”™çš„æ—¶å€™æŠ›å‡ºå¼‚常
     */
    public static void downloadFile(HttpServletResponse response, FileObjectBO fileObjectBO,boolean closeInputStream) throws IOException {
        MediaType mediaType = MediaTypeFactory.getMediaType(fileObjectBO.getBucketName() + "." + fileObjectBO.getFileExtension()).orElse(MediaType.APPLICATION_OCTET_STREAM);
        // è®¾ç½®å¼ºåˆ¶ä¸‹è½½ä¸æ‰“å¼€
        response.setContentType(mediaType.toString()+";application/force-download;charset=UTF-8");
        try{
            String fileName = URLEncoder.encode(fileObjectBO.getName() + "." + fileObjectBO.getFileExtension(), "UTF8");
            response.addHeader("Content-Disposition", "attachment;filename="+ fileName+ ";filename*=utf-8''");
        }catch(Exception e){
            if(log.isErrorEnabled()){
                log.error("设置文件的名称到响应流的时候出错",e);
            }
        }
        response.setCharacterEncoding("UTF-8");
        Cookie cookie = new Cookie("fileDownload", "true");
        cookie.setPath("/");
        response.addCookie(cookie);
    /**
     * ä¸‹è½½æ–‡ä»¶
     * @param response å“åº”对象
     * @param fileObjectBO æ–‡ä»¶çš„信息,包含文件的输入流
     * @param closeInputStream æ˜¯å¦å…³é—­æµ
     * @throws IOException ä¸‹è½½å‡ºé”™çš„æ—¶å€™æŠ›å‡ºå¼‚常
     */
    public static void downloadFile(HttpServletResponse response, FileObjectBO fileObjectBO,boolean closeInputStream) throws IOException {
        MediaType mediaType = MediaTypeFactory.getMediaType(fileObjectBO.getBucketName() + "." + fileObjectBO.getFileExtension()).orElse(MediaType.APPLICATION_OCTET_STREAM);
        // è®¾ç½®å¼ºåˆ¶ä¸‹è½½ä¸æ‰“å¼€
        response.setContentType(mediaType.toString()+";application/force-download;charset=UTF-8");
        try{
            String fileName = URLEncoder.encode(fileObjectBO.getName() + "." + fileObjectBO.getFileExtension(), "UTF8");
            response.addHeader("Content-Disposition", "attachment;filename="+ fileName+ ";filename*=utf-8''");
        }catch(Exception e){
            if(log.isErrorEnabled()){
                log.error("设置文件的名称到响应流的时候出错",e);
            }
        }
        response.setCharacterEncoding("UTF-8");
        Cookie cookie = new Cookie("fileDownload", "true");
        cookie.setPath("/");
        response.addCookie(cookie);
        if(closeInputStream) {
            try (InputStream ins = (fileObjectBO.getInputStream() != null ? fileObjectBO.getInputStream() : new FileInputStream(fileObjectBO.getFileLocalPath()))) {
                IOUtils.copy(ins, response.getOutputStream());
@@ -76,5 +76,53 @@
                throw e;
            }
        }
    }
    }
    /**
     * ä¸‹è½½æ–‡ä»¶
     * @param response å“åº”对象
     * @param fileObjectBO æ–‡ä»¶çš„信息,包含文件的输入流
     * @param closeInputStream æ˜¯å¦å…³é—­æµ
     * @throws IOException ä¸‹è½½å‡ºé”™çš„æ—¶å€™æŠ›å‡ºå¼‚常
     */
    public static void downloadFileLocal(HttpServletResponse response, FileObjectBO fileObjectBO,boolean closeInputStream) throws IOException {
        MediaType mediaType = MediaTypeFactory.getMediaType(fileObjectBO.getFileExtension()).orElse(MediaType.APPLICATION_OCTET_STREAM);
        // è®¾ç½®å¼ºåˆ¶ä¸‹è½½ä¸æ‰“å¼€
        response.setContentType(mediaType.toString()+";application/force-download;charset=UTF-8");
        try{
            String fileName = URLEncoder.encode(fileObjectBO.getName(), "UTF8");
            response.addHeader("Content-Disposition", "attachment;filename="+ fileName+ ";filename*=utf-8''");
        }catch(Exception e){
            if(log.isErrorEnabled()){
                log.error("设置文件的名称到响应流的时候出错",e);
            }
        }
        response.setCharacterEncoding("UTF-8");
        Cookie cookie = new Cookie("fileDownload", "true");
        cookie.setPath("/");
        response.addCookie(cookie);
        if(closeInputStream) {
            try (InputStream ins = (fileObjectBO.getInputStream() != null ? fileObjectBO.getInputStream() : new FileInputStream(fileObjectBO.getFileLocalPath()))) {
                IOUtils.copy(ins, response.getOutputStream());
            } catch (IOException e) {
                //有可能客户端的链接
                if (log.isErrorEnabled()) {
                    log.error("写入文件到响应流出错", e);
                }
                throw e;
            }
        }else{
            try {
                InputStream ins = (fileObjectBO.getInputStream() != null ? fileObjectBO.getInputStream() : new FileInputStream(fileObjectBO.getFileLocalPath()));
                IOUtils.copy(ins, response.getOutputStream());
            } catch (IOException e) {
                //有可能客户端的链接
                if (log.isErrorEnabled()) {
                    log.error("写入文件到响应流出错", e);
                }
                throw e;
            }
        }
    }
}
Source/UBCS/ubcs-ops/ubcs-resource/src/main/java/com/vci/ubcs/resource/controller/FileController.java
@@ -1,6 +1,7 @@
package com.vci.ubcs.resource.controller;
import com.alibaba.fastjson.JSON;
import com.alibaba.nacos.common.utils.StringUtils;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.vci.ubcs.resource.dto.FileObjectDTO;
import com.vci.ubcs.resource.dto.FileReleaseDTO;
@@ -24,6 +25,7 @@
import org.springframework.web.multipart.MultipartFile;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.nio.charset.StandardCharsets;
import java.util.Collection;
import java.util.List;
@@ -38,36 +40,40 @@
@Slf4j
public class FileController {
    /**
     * æ–‡ä»¶æœåŠ¡
     */
    @Autowired
    private IFileService fileService;
    /**
     * æ–‡ä»¶æœåŠ¡
     */
    @Autowired
    private IFileService fileService;
    /**
     * æ ¹æ®æ–‡ä»¶ä¸»é”®ä¸‹è½½æ–‡ä»¶
     * @param fileOids æ–‡ä»¶çš„主键
     * @param response å“åº”的对象
     * @return æ‰§è¡Œç»“果,只有下载失败的时候才会这样
     */
    /**
     * æ ¹æ®æ–‡ä»¶ä¸»é”®ä¸‹è½½æ–‡ä»¶
     * @param fileOids æ–‡ä»¶çš„主键
     * @param response å“åº”的对象
     * @return æ‰§è¡Œç»“果,只有下载失败的时候才会这样
     */
    @RequestMapping(value = "/downloadFilesByOids",method = {RequestMethod.GET,RequestMethod.POST})
    public String downloadFilesByOids(@RequestParam String fileOids, HttpServletResponse response){
        try{
    public void downloadFilesByOids(@RequestParam String fileOids, HttpServletResponse response) throws IOException {
        try {
            //ControllerUtil.writeFileToResponse(response,excelName);
            FileDownloadUtil.downloadFile(response, fileService.downloadFileByOids(VciBaseUtil.str2List(fileOids)));
        }catch (Throwable e){
            return JSON.toJSONString(R.fail(LangBaseUtil.getErrorMsg(e)));
        } catch (Throwable e) {
            //如果出错,把错误信息写到text
            String msg = LangBaseUtil.getErrorMsg(e);
            if(StringUtils.isBlank(msg)){
                msg = "未知错误";
            }
            ControllerUtil.writeDataToResponse(response,msg.getBytes(StandardCharsets.UTF_8),null);
        }
        //因为设置了响应contentType,所以这儿不能再直接返回R了,可能会导致报错
        return JSON.toJSONString(R.success("下载完成")) ;
    }
    /**
     * æ–‡ä»¶åˆ é™¤
     * @param oids æ–‡ä»¶çš„主键
     * @return æ–‡ä»¶å†…容
     */
    @DeleteMapping("/deleteFile")
    public R deleteFile(@RequestBody Collection<String> oids){
    /**
     * æ–‡ä»¶åˆ é™¤
     * @param oids æ–‡ä»¶çš„主键
     * @return æ–‡ä»¶å†…容
     */
    @DeleteMapping("/deleteFile")
    public R deleteFile(@RequestBody Collection<String> oids){
        try {
            fileService.deleteFiles(oids);
        }catch (Throwable e){
@@ -79,104 +85,104 @@
            log.debug(msg);
            return R.fail(msg);
        }
        return R.success("删除成功");
    }
        return R.success("删除成功");
    }
    /**
     * å‰ç«¯é¡µé¢å•文件上传。(先数据,后文件模式上传)
     * @param file ä¸Šä¼ çš„æ–‡ä»¶
     * @param fileObjectDTO æ–‡ä»¶ä¿¡æ¯ä¼ è¾“对象
     * @return æ–‡ä»¶ä¿¡æ¯æ˜¾ç¤ºå¯¹è±¡
     */
    @PostMapping("/uploadFile")
    public R<FileObjectVO> uploadFile(MultipartFile file, FileObjectDTO fileObjectDTO){
        if (file != null ) {
            return fileService.uploadFile(file, fileObjectDTO);
        } else {
            return R.fail("无上传的文件");
        }
    }
    /**
     * å‰ç«¯é¡µé¢å•文件上传。(先数据,后文件模式上传)
     * @param file ä¸Šä¼ çš„æ–‡ä»¶
     * @param fileObjectDTO æ–‡ä»¶ä¿¡æ¯ä¼ è¾“对象
     * @return æ–‡ä»¶ä¿¡æ¯æ˜¾ç¤ºå¯¹è±¡
     */
    @PostMapping("/uploadFile")
    public R<FileObjectVO> uploadFile(MultipartFile file, FileObjectDTO fileObjectDTO){
        if (file != null ) {
            return fileService.uploadFile(file, fileObjectDTO);
        } else {
            return R.fail("无上传的文件");
        }
    }
    /**
     * åœ¨ä¸Šä¼ æ–‡ä»¶åŽï¼Œä¿å­˜æ–‡ä»¶çš„信息
     * @param fileObjectDTO æ–‡ä»¶ä¿¡æ¯ä¼ è¾“对象
     * @return æ–‡ä»¶ä¿¡æ¯æ˜¾ç¤ºå¯¹è±¡
     */
    @PostMapping("/saveFileAfterUpload")
    public R<FileObjectVO> saveFileAfterUpload( @RequestBody FileObjectDTO fileObjectDTO){
       return fileService.saveFileAfterUpload(fileObjectDTO);
    }
    /**
     * åœ¨ä¸Šä¼ æ–‡ä»¶åŽï¼Œä¿å­˜æ–‡ä»¶çš„信息
     * @param fileObjectDTO æ–‡ä»¶ä¿¡æ¯ä¼ è¾“对象
     * @return æ–‡ä»¶ä¿¡æ¯æ˜¾ç¤ºå¯¹è±¡
     */
    @PostMapping("/saveFileAfterUpload")
    public R<FileObjectVO> saveFileAfterUpload( @RequestBody FileObjectDTO fileObjectDTO){
        return fileService.saveFileAfterUpload(fileObjectDTO);
    }
    /**
     * å°†åŽŸæ•°æ®ä¸‹çš„æ‰€æœ‰æ–‡ä»¶å…±äº«åˆ°å…¶ä»–çš„ä¸šåŠ¡æ•°æ®ä¸‹
     * @param shareDTO æ–‡ä»¶åˆ†äº«
     * @return æ–‡ä»¶ä¿¡æ¯æ˜¾ç¤ºå¯¹è±¡,是多个
     */
    @PostMapping("/shareFiles")
    public R<List<FileObjectVO>> shareFiles(@RequestBody FileShareDTO shareDTO){
        return fileService.shareFiles(shareDTO);
    }
    /**
     * å°†åŽŸæ•°æ®ä¸‹çš„æ‰€æœ‰æ–‡ä»¶å…±äº«åˆ°å…¶ä»–çš„ä¸šåŠ¡æ•°æ®ä¸‹
     * @param shareDTO æ–‡ä»¶åˆ†äº«
     * @return æ–‡ä»¶ä¿¡æ¯æ˜¾ç¤ºå¯¹è±¡,是多个
     */
    @PostMapping("/shareFiles")
    public R<List<FileObjectVO>> shareFiles(@RequestBody FileShareDTO shareDTO){
        return fileService.shareFiles(shareDTO);
    }
    /**
     * ä¿®æ”¹æ–‡ä»¶ä¿¡æ¯(不含文件),注意objectName和filePath不会变化
     * @param fileDTOs æ–‡ä»¶çš„æ•°æ®å¯¹è±¡
     * @return æ‰§è¡Œç»“æžœ
     */
    @PostMapping("/updateFileInfos")
    public R updateFileInfos(@RequestBody Collection<FileObjectDTO> fileDTOs){
        return fileService.updateFileInfos(fileDTOs);
    }
    /**
     * ä¿®æ”¹æ–‡ä»¶ä¿¡æ¯(不含文件),注意objectName和filePath不会变化
     * @param fileDTOs æ–‡ä»¶çš„æ•°æ®å¯¹è±¡
     * @return æ‰§è¡Œç»“æžœ
     */
    @PostMapping("/updateFileInfos")
    public R updateFileInfos(@RequestBody Collection<FileObjectDTO> fileDTOs){
        return fileService.updateFileInfos(fileDTOs);
    }
    /**
     * æ–‡ä»¶ç”Ÿæ•ˆ
     * @param ids æ–‡ä»¶çš„主键
     * @return æ‰§è¡Œç»“æžœ
     */
    @PutMapping("/releasedFiles")
    public R releasedFiles(@RequestBody Collection<String> ids){
        return fileService.releasedFiles(ids);
    }
    /**
     * æ–‡ä»¶ç”Ÿæ•ˆ
     * @param ids æ–‡ä»¶çš„主键
     * @return æ‰§è¡Œç»“æžœ
     */
    @PutMapping("/releasedFiles")
    public R releasedFiles(@RequestBody Collection<String> ids){
        return fileService.releasedFiles(ids);
    }
    /**
     * æ‰¹é‡æŒ‡å®šæ–‡ä»¶ä¸šåŠ¡æ•°æ®åŽç”Ÿæ•ˆ
     * @param releaseDTOS ç”Ÿæ•ˆçš„相关信息
     * @return æ‰§è¡Œç»“æžœ
     */
    @PutMapping("/releasedFilesForOwn")
    public R releasedFilesForOwn(@RequestBody Collection<FileReleaseDTO> releaseDTOS){
        return fileService.releasedFilesForOwn(releaseDTOS);
    }
    /**
     * æ‰¹é‡æŒ‡å®šæ–‡ä»¶ä¸šåŠ¡æ•°æ®åŽç”Ÿæ•ˆ
     * @param releaseDTOS ç”Ÿæ•ˆçš„相关信息
     * @return æ‰§è¡Œç»“æžœ
     */
    @PutMapping("/releasedFilesForOwn")
    public R releasedFilesForOwn(@RequestBody Collection<FileReleaseDTO> releaseDTOS){
        return fileService.releasedFilesForOwn(releaseDTOS);
    }
    /**
     * ä½¿ç”¨ä¸šåŠ¡ç±»åž‹æŸ¥è¯¢æ–‡ä»¶çš„ä¿¡æ¯ï¼Œæä¾›ç»™é¡µé¢è°ƒç”¨
     * @param fileQuery æŸ¥è¯¢å¯¹è±¡
     * @return æ–‡ä»¶çš„æ˜¾ç¤ºå¯¹è±¡
     */
    @RequestMapping(value = "/listFiles",method = {RequestMethod.GET,RequestMethod.POST})
    public R<IPage<FileObjectVO>> listFiles(FileQuery fileQuery, Query query){
        return R.data(fileService.listFiles(fileQuery,query));
    }
    /**
     * ä½¿ç”¨ä¸šåŠ¡ç±»åž‹æŸ¥è¯¢æ–‡ä»¶çš„ä¿¡æ¯ï¼Œæä¾›ç»™é¡µé¢è°ƒç”¨
     * @param fileQuery æŸ¥è¯¢å¯¹è±¡
     * @return æ–‡ä»¶çš„æ˜¾ç¤ºå¯¹è±¡
     */
    @RequestMapping(value = "/listFiles",method = {RequestMethod.GET,RequestMethod.POST})
    public R<IPage<FileObjectVO>> listFiles(FileQuery fileQuery, Query query){
        return R.data(fileService.listFiles(fileQuery,query));
    }
    /**
     * ä½¿ç”¨æ–‡ä»¶ä¸»é”®èŽ·å–å¯¹è±¡
     * @param oid ä¸»é”®
     * @return æ–‡ä»¶æ˜¾ç¤ºå¯¹è±¡
     */
    @GetMapping("/get")
    public FileObjectVO get(String oid){
        return fileService.get(oid);
    }
    /**
     * ä½¿ç”¨æ–‡ä»¶ä¸»é”®èŽ·å–å¯¹è±¡
     * @param oid ä¸»é”®
     * @return æ–‡ä»¶æ˜¾ç¤ºå¯¹è±¡
     */
    @GetMapping("/get")
    public FileObjectVO get(String oid){
        return fileService.get(oid);
    }
    /**
     * ä½¿ç”¨æ–‡ä»¶çš„主键批量获取对象
     * @param oids æ–‡ä»¶çš„主键集合
     * @return æ–‡ä»¶çš„æ˜¾ç¤ºä¿¡æ¯
     */
    @GetMapping("/listFilesByOids")
    public List<FileObjectVO> listFilesByOids( Collection<String> oids){
        return fileService.listFilesByOids(oids);
    }
    /**
     * ä½¿ç”¨æ–‡ä»¶çš„主键批量获取对象
     * @param oids æ–‡ä»¶çš„主键集合
     * @return æ–‡ä»¶çš„æ˜¾ç¤ºä¿¡æ¯
     */
    @GetMapping("/listFilesByOids")
    public List<FileObjectVO> listFilesByOids( Collection<String> oids){
        return fileService.listFilesByOids(oids);
    }
}
Source/UBCS/ubcs-ops/ubcs-resource/src/main/resources/application-prod.yml
@@ -23,7 +23,3 @@
  secret-key: Reo4wW8EWF4gSizUmVsNjWfbDZzR3rBYFn5Jehd9
  bucket-name: vci-ubcs
#关闭驼峰命名映射
mybatis-plus:
  configuration:
    map-underscore-to-camel-case: false
Source/UBCS/ubcs-ops/ubcs-resource/src/main/resources/mapper/AttachMapper.xml
@@ -22,7 +22,7 @@
    <select id="selectAttachPage" resultMap="attachResultMap">
        select * from blade_attach where is_deleted = 0
        select * from blade_attach where isdeleted = 0
    </select>
</mapper>
Source/UBCS/ubcs-ops/ubcs-resource/src/main/resources/mapper/SmsMapper.xml
@@ -24,7 +24,7 @@
    <select id="selectSmsPage" resultMap="smsResultMap">
        select * from pl_sys_sms where is_deleted = 0
        select * from pl_sys_sms where isdeleted = 0
    </select>
</mapper>
Source/UBCS/ubcs-service/ubcs-applyjtcodeservice/src/main/java/com/vci/ubcs/code/applyjtcodeservice/service/impl/DockingPreAttrMappingServiceImpl.java
@@ -225,7 +225,7 @@
        try {
            count = dockingPreAttrMappingMapper.selectCount(Wrappers.<DockingPreAttrMapping>query().lambda().eq(DockingPreAttrMapping::getTargetClassifyId, targetClassifyId).eq(DockingPreAttrMapping::getSourceClassifyId,sourceClassifyId));
        }catch (Throwable e){
            e.printStackTrace();;
            e.printStackTrace();
        } finally {
            return  count>0?true:false;
        }
Source/UBCS/ubcs-service/ubcs-applyjtcodeservice/src/main/java/com/vci/ubcs/code/applyjtcodeservice/service/impl/GroupMdmInterServiceImpl.java
@@ -471,7 +471,7 @@
            }
            return R.success(message);
        }catch (Throwable e){
            e.printStackTrace();;
            e.printStackTrace();
            log.error("获取数据模型失败"+e);
            R.fail(message);
        }
@@ -537,7 +537,7 @@
            }
        }catch (Throwable e){
            e.printStackTrace();;
            e.printStackTrace();
            log.error("获取申请单状态失败"+e);
            throw  new VciBaseException(message);
        }
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/CodeSyncUniversalController.java
@@ -71,7 +71,7 @@
            this.setHttpToThreadLocal(request);
            result= universalInterfaceI.syncEditData(dataString,dataType);
        }catch (Throwable e){
            e.printStackTrace();;
            e.printStackTrace();
            logger.error("syncData->"+e.getMessage());
        }
        return result;
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeApplyWebManagementServiceImpl.java
@@ -48,7 +48,7 @@
        QueryWrapper<SystemClassifyRole> wrapper = new QueryWrapper<>();
        wrapper.eq("systemOid",systemOid);
        wrapper.eq("systemId",systemId);
        List<SystemClassifyRole> systemClassifyRoles = this.listByIds(roleList.stream().map(SystemClassifyRole ::getOid).collect(Collectors.toList()));;
        List<SystemClassifyRole> systemClassifyRoles = this.listByIds(roleList.stream().map(SystemClassifyRole ::getOid).collect(Collectors.toList()));
        this.remove(wrapper);
        List<SystemClassifyRole> newSCRoles = new ArrayList<>();
        //数据处理
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmEngineServiceImpl.java
@@ -1961,7 +1961,7 @@
        String sqlHasPage = pageHelper.getLimit() > 0 ? ("select * from (select A.*,rownum RN from (" + sql + whereSubfixForPage) : sql;
        String sqlCount = "select count(1) from " + tableName + SPACE + "t" + SPACE + joinTableList.values().stream().collect(Collectors.joining(SPACE))
                + (StringUtils.isBlank(whereSql) ? "" : " where ") + whereSql;
        String sqlId = "select ID from " + tableName + SPACE + "t" + SPACE + joinTableList.values().stream().collect(Collectors.joining(SPACE))
        String sqlId = "select t.ID from " + tableName + SPACE + "t" + SPACE + joinTableList.values().stream().collect(Collectors.joining(SPACE))
            + (StringUtils.isBlank(whereSql) ? "" : " where ") + whereSql;
        CodeTemplateAttrSqlBO sqlBO = new CodeTemplateAttrSqlBO();
        sqlBO.setTableName(tableName);
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/UniversalInterfaceImpl.java
@@ -1070,7 +1070,7 @@
                }
            });
        }catch (Throwable e){
            e.printStackTrace();;
            e.printStackTrace();
            msg="编码更改/状态更改/删除:"+e.getMessage();
          /*  XMLResultSystemVO XMLResultSystemVO=new XMLResultSystemVO();
            XMLResultSystemVO.setErrorid(errorid);
@@ -1254,7 +1254,7 @@
            issucess=true;
            resultData.setLibrary(libraryVo);
        }catch (Throwable e){
            e.printStackTrace();;
            e.printStackTrace();
            msg="查询分类失败:"+e.getMessage();
        }finally {
            resultData.setErrorid(errorid);
@@ -1473,7 +1473,7 @@
                msg = "接口参数:library æœªæŸ¥è¯¢åˆ°å¯¹åº”的库节点信息";
            }
        }catch (Throwable e){
            e.printStackTrace();;
            e.printStackTrace();
            msg="查询数据失败:"+e.getMessage();
        }finally {
            resultDataVO.setErrorid(errorid);
@@ -1925,7 +1925,7 @@
            issucess=true;
            resultClassifyRuleData.setLibrary(resultLibraryVO);
        }catch (Throwable e){
            e.printStackTrace();;
            e.printStackTrace();
            msg="查询分类失败:"+e.getMessage();
        }finally {
            resultClassifyRuleData.setErrorid(errorid);
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/wrapper/CodeButtonWrapper.java
@@ -38,7 +38,7 @@
    @Override
    public CodeButtonVO entityVO(CodeButton codebutton) {
        CodeButtonVO codebuttonVO = new CodeButtonVO();;
        CodeButtonVO codebuttonVO = new CodeButtonVO();
        BeanUtilForVCI.copyPropertiesIgnoreCase(codebutton,codebuttonVO);
        Objects.requireNonNull(codebuttonVO);
        codebuttonVO.setUsedpositiontypeText(DictCache.getValue("codeButtonPosition", codebutton.getUsedPositionType()));