Kaynağa Gözat

Merge branch 'dev' of http://192.168.1.245:11111/jinjilong/onlineEducation-fwd into dev

honorfire 8 ay önce
ebeveyn
işleme
b9faff4725
13 değiştirilmiş dosya ile 244 ekleme ve 51 silme
  1. 1 0
      snowy-modules/snowy-web-app/src/main/java/vip/xiaonuo/web/core/config/GlobalConfigure.java
  2. 43 7
      snowy-plugin/snowy-plugin-disk/snowy-plugin-disk-func/src/main/java/vip/xiaonuo/disk/controller/ExamineController.java
  3. 16 16
      snowy-plugin/snowy-plugin-disk/snowy-plugin-disk-func/src/main/java/vip/xiaonuo/disk/controller/FiletransferController.java
  4. 5 7
      snowy-plugin/snowy-plugin-disk/snowy-plugin-disk-func/src/main/java/vip/xiaonuo/disk/domain/Examine.java
  5. 13 0
      snowy-plugin/snowy-plugin-disk/snowy-plugin-disk-func/src/main/java/vip/xiaonuo/disk/domain/UserFile.java
  6. 17 0
      snowy-plugin/snowy-plugin-disk/snowy-plugin-disk-func/src/main/java/vip/xiaonuo/disk/dto/examine/ExamineReq.java
  7. 8 1
      snowy-plugin/snowy-plugin-disk/snowy-plugin-disk-func/src/main/java/vip/xiaonuo/disk/mapper/ExamineMapper.java
  8. 37 8
      snowy-plugin/snowy-plugin-disk/snowy-plugin-disk-func/src/main/java/vip/xiaonuo/disk/mapper/mapping/ExamineMapper.xml
  9. 11 1
      snowy-plugin/snowy-plugin-disk/snowy-plugin-disk-func/src/main/java/vip/xiaonuo/disk/service/ExamineService.java
  10. 56 3
      snowy-plugin/snowy-plugin-disk/snowy-plugin-disk-func/src/main/java/vip/xiaonuo/disk/service/impl/ExamineServiceImpl.java
  11. 32 5
      snowy-plugin/snowy-plugin-disk/snowy-plugin-disk-func/src/main/java/vip/xiaonuo/disk/service/impl/FiletransferService.java
  12. 3 3
      snowy-plugin/snowy-plugin-disk/snowy-plugin-disk-func/src/main/java/vip/xiaonuo/disk/vo/examine/ExamineVo.java
  13. 2 0
      snowy-server/snowy-gateway-app/src/main/java/vip/xiaonuo/gateway/config/GatewayConfigure.java

+ 1 - 0
snowy-modules/snowy-web-app/src/main/java/vip/xiaonuo/web/core/config/GlobalConfigure.java

@@ -175,6 +175,7 @@ public class GlobalConfigure implements WebMvcConfigurer {
             "/easyTrans/proxy/**",
             /* 文件预览 */
             "/filetransfer/preview",
+            "/filetransfer/downloadfile"
     };
 
     /**

+ 43 - 7
snowy-plugin/snowy-plugin-disk/snowy-plugin-disk-func/src/main/java/vip/xiaonuo/disk/controller/ExamineController.java

@@ -16,17 +16,17 @@ import com.github.xiaoymin.knife4j.annotations.ApiSupport;
 import io.swagger.annotations.Api;
 import io.swagger.v3.oas.annotations.Operation;
 import org.springframework.validation.annotation.Validated;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RequestMethod;
-import org.springframework.web.bind.annotation.ResponseBody;
-import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.bind.annotation.*;
+import vip.xiaonuo.common.pojo.CommonResult;
 import vip.xiaonuo.disk.domain.Examine;
+import vip.xiaonuo.disk.dto.examine.ExamineReq;
 import vip.xiaonuo.disk.service.ExamineService;
 import vip.xiaonuo.disk.util.PageQuery;
 import vip.xiaonuo.disk.util.TableDataInfo;
 import vip.xiaonuo.disk.vo.examine.ExamineVo;
 
 import javax.annotation.Resource;
+import java.util.Map;
 
 /**
  * examine控制器
@@ -44,13 +44,49 @@ public class ExamineController {
     @Resource
     private ExamineService examineService;
 
-    @Operation(summary = "资源概览存储空间统计接口", description = "资源概览存储空间统计接口")
+    @Operation(summary = "审批列表", description = "审批列表查询接口")
     @RequestMapping(value = "/queryList", method = RequestMethod.GET)
     @ResponseBody
-    public TableDataInfo<ExamineVo> queryList(Examine examine, PageQuery pageQuery) {
-        return examineService.queryList(examine,pageQuery);
+    public TableDataInfo<ExamineVo> queryList(ExamineReq examineReq, PageQuery pageQuery) {
+        return examineService.queryList(examineReq,pageQuery);
     }
 
 
+    @Operation(summary = "审核通过", description = "审核通过")
+    @RequestMapping(value = "/pass", method = RequestMethod.POST)
+    @ResponseBody
+    public CommonResult<String> pass(@RequestBody Examine examine) {
+        try {
+            examineService.pass(examine);
+            return CommonResult.ok("审核通过");
+        } catch (Exception e) {
+            return CommonResult.error("审核失败");
+        }
+    }
+
+
+    @Operation(summary = "驳回", description = "审核通过")
+    @RequestMapping(value = "/reject", method = RequestMethod.POST)
+    @ResponseBody
+    public CommonResult<String> reject(@RequestBody Examine examine) {
+        try {
+            examineService.reject(examine);
+            return CommonResult.ok("驳回成功");
+        } catch (Exception e) {
+            return CommonResult.error("驳回失败");
+        }
+    }
+
+
+    @Operation(summary = "文件详情接口", description = "文件详情接口")
+    @RequestMapping(value = "/detail", method = RequestMethod.GET)
+    @ResponseBody
+    public CommonResult<Map<String,Object>> detail(String userFileId) {
+        Map<String,Object> map= examineService.detail(userFileId);
+        return CommonResult.ok().data(map);
+    }
+
+
+
 
 }

+ 16 - 16
snowy-plugin/snowy-plugin-disk/snowy-plugin-disk-func/src/main/java/vip/xiaonuo/disk/controller/FiletransferController.java

@@ -153,14 +153,14 @@ public class FiletransferController {
 //                }
 //            }
 //        }
-        boolean authResult = fileDealComp.checkAuthDownloadAndPreview(downloadFileDTO.getShareBatchNum(),
-                downloadFileDTO.getExtractionCode(),
-                token,
-                downloadFileDTO.getUserFileId(), null);
-        if (!authResult) {
-            log.error("没有权限下载!!!");
-            return;
-        }
+//        boolean authResult = fileDealComp.checkAuthDownloadAndPreview(downloadFileDTO.getShareBatchNum(),
+//                downloadFileDTO.getExtractionCode(),
+//                token,
+//                downloadFileDTO.getUserFileId(), null);
+//        if (!authResult) {
+//            log.error("没有权限下载!!!");
+//            return;
+//        }
         httpServletResponse.setContentType("application/force-download");// 设置强制下载不打开
         UserFile userFile = userFileService.getById(downloadFileDTO.getUserFileId());
         String fileName = "";
@@ -197,14 +197,14 @@ public class FiletransferController {
 //                }
 //            }
 //        }
-        boolean authResult = fileDealComp.checkAuthDownloadAndPreview(downloadFileDTO.getShareBatchNum(),
-                downloadFileDTO.getExtractionCode(),
-                token,
-                downloadFileDTO.getUserFileId(), null);
-        if (!authResult) {
-            log.error("没有权限下载!!!");
-            return;
-        }
+//        boolean authResult = fileDealComp.checkAuthDownloadAndPreview(downloadFileDTO.getShareBatchNum(),
+//                downloadFileDTO.getExtractionCode(),
+//                token,
+//                downloadFileDTO.getUserFileId(), null);
+//        if (!authResult) {
+//            log.error("没有权限下载!!!");
+//            return;
+//        }
         httpServletResponse.setContentType("application/force-download");// 设置强制下载不打开
         UserFile userFile = userFileService.getById(downloadFileDTO.getUserFileId());
         String fileName = "";

+ 5 - 7
snowy-plugin/snowy-plugin-disk/snowy-plugin-disk-func/src/main/java/vip/xiaonuo/disk/domain/Examine.java

@@ -31,7 +31,7 @@ import java.util.Date;
 public class Examine {
 
     /** 主键id */
-    @TableId
+    @TableId(type = IdType.AUTO)
     @ApiModelProperty(value = "主键id", position = 1)
     private Long id;
 
@@ -52,7 +52,7 @@ public class Examine {
     /** 创建者 */
     @ApiModelProperty(value = "创建者", position = 5)
     @TableField(fill = FieldFill.INSERT)
-    private Integer createUser;
+    private String createUser;
 
     /** 创建时间 */
     @ApiModelProperty(value = "创建时间", position = 6)
@@ -62,7 +62,7 @@ public class Examine {
     /** 修改者 */
     @ApiModelProperty(value = "修改者", position = 7)
     @TableField(fill = FieldFill.UPDATE)
-    private Integer updateUser;
+    private String updateUser;
 
     /** 修改时间 */
     @ApiModelProperty(value = "修改时间", position = 8)
@@ -77,8 +77,6 @@ public class Examine {
     @ApiModelProperty(value = "审批时间", position = 10)
     private Date examineTime;
 
-    private String orgName;
-
-    private String fileName;
-
+    @ApiModelProperty(value = "审批时间", position = 10)
+    private String examineReason;
 }

+ 13 - 0
snowy-plugin/snowy-plugin-disk/snowy-plugin-disk-func/src/main/java/vip/xiaonuo/disk/domain/UserFile.java

@@ -9,6 +9,7 @@ import lombok.Data;
 import vip.xiaonuo.disk.io.QiwenFile;
 
 import javax.persistence.*;
+import java.util.Date;
 
 @Data
 @Table(name = "userfile")
@@ -58,6 +59,18 @@ public class UserFile {
     private String modifyTime;
     @Column(columnDefinition="varchar(20) comment '修改用户id'")
     private String modifyUserId;
+    @Column(name = "examine_status", columnDefinition = "varchar(100) comment '审核状态'")
+    private String examineStatus;
+    @Column(name = "is_collet", columnDefinition = "char(2) comment '0未收藏  1已收藏'")
+    private String isCollet;
+
+    private String examineUser;
+
+    private Date examineTime;
+
+    private String examineReason;
+
+
 
     public UserFile() {};
     public UserFile(QiwenFile qiwenFile, String userId, String fileId) {

+ 17 - 0
snowy-plugin/snowy-plugin-disk/snowy-plugin-disk-func/src/main/java/vip/xiaonuo/disk/dto/examine/ExamineReq.java

@@ -0,0 +1,17 @@
+package vip.xiaonuo.disk.dto.examine;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Getter;
+import lombok.Setter;
+
+@Getter
+@Setter
+public class ExamineReq {
+    /** 审核状态 (0未审核  1已审核) */
+    @ApiModelProperty(value = "审核状态 (0未审核  1已审核)", position = 3)
+    private String examineStatus;
+
+    private String orgName;
+
+    private String fileName;
+}

+ 8 - 1
snowy-plugin/snowy-plugin-disk/snowy-plugin-disk-func/src/main/java/vip/xiaonuo/disk/mapper/ExamineMapper.java

@@ -17,8 +17,11 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import org.apache.ibatis.annotations.Mapper;
 import org.apache.ibatis.annotations.Param;
 import vip.xiaonuo.disk.domain.Examine;
+import vip.xiaonuo.disk.dto.examine.ExamineReq;
 import vip.xiaonuo.disk.vo.examine.ExamineVo;
 
+import java.util.Map;
+
 
 /**
  * examineMapper接口
@@ -28,5 +31,9 @@ import vip.xiaonuo.disk.vo.examine.ExamineVo;
  **/
 @Mapper
 public interface ExamineMapper extends BaseMapper<Examine> {
-    Page<ExamineVo> queryList(@Param("examine") Examine examine,@Param("page")  Page<Object> build);
+    Page<ExamineVo> queryList(@Param("examineReq") ExamineReq examineReq, @Param("page")  Page<Object> build);
+
+    void pass(Examine examine);
+
+    Map<String, Object> detail(String userFileId);
 }

+ 37 - 8
snowy-plugin/snowy-plugin-disk/snowy-plugin-disk-func/src/main/java/vip/xiaonuo/disk/mapper/mapping/ExamineMapper.xml

@@ -6,11 +6,11 @@
           a.user_file_id userFileId,
           a.file_id fileId,
           a.file_name fileName,
-          a.examine_user examineUser,
+          su.name createUser,
           a.examine_status examineStatus,
           a.examine_reason examineReason,
           a.create_time createTime,
-          b.file_size fileSize,
+          b.file_size fileSizeNum,
           o.name orgName
       FROM
           userfile a
@@ -19,15 +19,44 @@
       LEFT JOIN sys_user su ON a.CREATE_USER_ID=su.id
       LEFT JOIN sys_org o ON su.ORG_ID =o.id
       <where>
-          <if test="examine.examineStatus!=null">
-              a.examine_status = #{examine.examineStatus}
+          <if test="examineReq.examineStatus!=null">
+              a.examine_status = #{examineReq.examineStatus}
           </if>
-          <if test="examine.fileName!=null">
-              and a.file_name like concat('%',#{examine.fileName},'%')
+          <if test="examineReq.fileName!=null">
+              and a.file_name like concat('%',#{examineReq.fileName},'%')
           </if>
-          <if test="examine.orgName!=null">
-             and o.name like concat('%',#{examine.orgName},'%')
+          <if test="examineReq.orgName!=null">
+             and o.name like concat('%',#{examineReq.orgName},'%')
           </if>
       </where>
   </select>
+
+    <update id="pass" parameterType="vip.xiaonuo.disk.domain.Examine">
+        update examine
+        set examine_status = #{examineStatus},
+            examine_time = #{examineTime},
+            examine_user = #{examineUser},
+            examine_reason = #{examineReason}
+        where target_id = #{targetId}
+    </update>
+
+    <select id="detail" resultType="map">
+        SELECT
+            a.user_file_id userFileId,
+            a.file_id fileId,
+            a.file_name fileName,
+            su.name createUser,
+            a.examine_status examineStatus,
+            a.examine_reason examineReason,
+            a.create_time createTime,
+            b.file_size fileSizeNum,
+            o.name orgName
+        FROM
+            userfile a
+        LEFT JOIN FILE b ON
+        a.file_id = b.file_id
+        LEFT JOIN sys_user su ON a.CREATE_USER_ID=su.id
+        LEFT JOIN sys_org o ON su.ORG_ID =o.id
+        where a.user_file_id=#{userFileId}
+    </select>
 </mapper>

+ 11 - 1
snowy-plugin/snowy-plugin-disk/snowy-plugin-disk-func/src/main/java/vip/xiaonuo/disk/service/ExamineService.java

@@ -15,10 +15,13 @@ package vip.xiaonuo.disk.service;
 
 import com.baomidou.mybatisplus.extension.service.IService;
 import vip.xiaonuo.disk.domain.Examine;
+import vip.xiaonuo.disk.dto.examine.ExamineReq;
 import vip.xiaonuo.disk.util.PageQuery;
 import vip.xiaonuo.disk.util.TableDataInfo;
 import vip.xiaonuo.disk.vo.examine.ExamineVo;
 
+import java.util.Map;
+
 /**
  * examineService接口
  *
@@ -28,5 +31,12 @@ import vip.xiaonuo.disk.vo.examine.ExamineVo;
 public interface ExamineService extends IService<Examine> {
 
 
-    TableDataInfo<ExamineVo> queryList(Examine examine, PageQuery pageQuery);
+    TableDataInfo<ExamineVo> queryList(ExamineReq examineReq, PageQuery pageQuery);
+
+
+    void pass(Examine examine);
+
+    void reject(Examine examine);
+
+    Map<String, Object> detail(String userFileId);
 }

+ 56 - 3
snowy-plugin/snowy-plugin-disk/snowy-plugin-disk-func/src/main/java/vip/xiaonuo/disk/service/impl/ExamineServiceImpl.java

@@ -16,14 +16,20 @@ package vip.xiaonuo.disk.service.impl;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import org.springframework.stereotype.Service;
+import vip.xiaonuo.auth.core.util.StpLoginUserUtil;
 import vip.xiaonuo.disk.domain.Examine;
+import vip.xiaonuo.disk.domain.UserFile;
+import vip.xiaonuo.disk.dto.examine.ExamineReq;
 import vip.xiaonuo.disk.mapper.ExamineMapper;
+import vip.xiaonuo.disk.mapper.UserFileMapper;
 import vip.xiaonuo.disk.service.ExamineService;
 import vip.xiaonuo.disk.util.PageQuery;
 import vip.xiaonuo.disk.util.TableDataInfo;
 import vip.xiaonuo.disk.vo.examine.ExamineVo;
 
 import javax.annotation.Resource;
+import java.util.Date;
+import java.util.Map;
 
 /**
  * examineService接口实现类
@@ -35,10 +41,57 @@ import javax.annotation.Resource;
 public class ExamineServiceImpl extends ServiceImpl<ExamineMapper, Examine> implements ExamineService {
     @Resource
     private ExamineMapper examineMapper;
-
+    @Resource
+    private UserFileMapper userFileMapper;
     @Override
-    public TableDataInfo<ExamineVo> queryList(Examine examine, PageQuery pageQuery) {
-        Page<ExamineVo> sclist=examineMapper.queryList(examine,pageQuery.build());
+    public TableDataInfo<ExamineVo> queryList(ExamineReq examineReq, PageQuery pageQuery) {
+        Page<ExamineVo> sclist=examineMapper.queryList(examineReq,pageQuery.build());
         return TableDataInfo.build(sclist);
     }
+
+    @Override
+    public void pass(Examine examine) {
+        //修改审批记录里边的审核状态、审核时间、审核人
+        String userId = StpLoginUserUtil.getLoginUser().getId();
+        examine.setExamineUser(userId);
+        examine.setExamineStatus("1");
+        examine.setExamineTime(new Date());
+        examineMapper.pass(examine);
+
+        //修改主表中的审批状态
+        UserFile userFile=new UserFile();
+        userFile.setExamineStatus("1");
+        userFile.setExamineUser(userId);
+        userFile.setExamineTime(examine.getExamineTime());
+        userFile.setExamineReason(examine.getExamineReason());
+        userFile.setUserFileId(examine.getTargetId());
+        userFileMapper.updateById(userFile);
+
+    }
+
+    @Override
+    public void reject(Examine examine) {
+
+        //修改审批记录里边的审核状态、审核时间、审核人
+        String userId = StpLoginUserUtil.getLoginUser().getId();
+        examine.setExamineUser(userId);
+        examine.setExamineStatus("2");
+        examine.setExamineTime(new Date());
+        examineMapper.pass(examine);
+
+        //修改主表中的审批状态
+        UserFile userFile=new UserFile();
+        userFile.setExamineStatus("2");
+        userFile.setExamineUser(userId);
+        userFile.setExamineTime(examine.getExamineTime());
+        userFile.setExamineReason(examine.getExamineReason());
+        userFile.setUserFileId(examine.getTargetId());
+        userFileMapper.updateById(userFile);
+
+    }
+
+    @Override
+    public Map<String, Object> detail(String userFileId) {
+        return examineMapper.detail(userFileId);
+    }
 }

+ 32 - 5
snowy-plugin/snowy-plugin-disk/snowy-plugin-disk-func/src/main/java/vip/xiaonuo/disk/service/impl/FiletransferService.java

@@ -47,10 +47,7 @@ import java.awt.image.BufferedImage;
 import java.io.*;
 import java.nio.charset.Charset;
 import java.nio.charset.StandardCharsets;
-import java.util.Base64;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
 import java.util.concurrent.Executor;
 import java.util.concurrent.Executors;
 import java.util.stream.Collectors;
@@ -87,6 +84,10 @@ public class FiletransferService implements IFiletransferService {
     @Resource
     OperationLogUtil operationLogUtil;
 
+
+    @Resource
+    private ExamineMapper examineMapper;
+
     public static final String SUCCESS = "操作成功";
 
     public static final String CURRENT_MODULE = "文件传输接口";
@@ -115,6 +116,8 @@ public class FiletransferService implements IFiletransferService {
             UserFile userFile = new UserFile(qiwenFile, userId, file.getFileId());
 
             try {
+                userFile.setExamineStatus("0");
+                userFile.setIsCollet("0");
                 userFileMapper.insert(userFile);
                 fileDealComp.uploadESByUserFileId(userFile.getUserFileId());
             } catch (Exception e) {
@@ -129,6 +132,17 @@ public class FiletransferService implements IFiletransferService {
                 });
 
             }
+            //添加审核记录
+            Examine examine = new Examine();
+
+            examine.setTargetId(userFile.getUserFileId());
+            examine.setExamineStatus("0");
+            examine.setDeleteFlag(0);
+            examine.setCreateUser(userId);
+            examine.setCreateTime(new Date());
+            examine.setUpdateUser(userId);
+            examine.setUpdateTime(new Date());
+            examineMapper.insert(examine);
 
             uploadFileVo.setSkipUpload(true);
             operationLogUtil.getOperationLogObj(request, StpLoginUserUtil.getLoginUser().getId(), RestResult.success().getMessage(),CURRENT_MODULE,"上传文件",SUCCESS,userFile.getUserFileId(),"upload");
@@ -209,7 +223,21 @@ public class FiletransferService implements IFiletransferService {
 
 
                 try {
+                    userFile.setExamineStatus("0");
+                    userFile.setIsCollet("0");
                     userFileMapper.insert(userFile);
+                    //添加审核记录
+                    Examine examine = new Examine();
+
+                    examine.setTargetId(userFile.getUserFileId());
+                    examine.setExamineStatus("0");
+                    examine.setDeleteFlag(0);
+                    examine.setCreateUser(userId);
+                    examine.setCreateTime(new Date());
+                    examine.setUpdateUser(userId);
+                    examine.setUpdateTime(new Date());
+                    examineMapper.insert(examine);
+
                     fileDealComp.uploadESByUserFileId(userFile.getUserFileId());
                 } catch (Exception e) {
                     UserFile userFile1 = userFileMapper.selectOne(new QueryWrapper<UserFile>().lambda()
@@ -235,7 +263,6 @@ public class FiletransferService implements IFiletransferService {
                     exec.execute(()->{
                         fileDealComp.restoreParentFilePath(finalQiwenFile, userId);
                     });
-
                 }
 
                 LambdaQueryWrapper<UploadTaskDetail> lambdaQueryWrapper = new LambdaQueryWrapper<>();

+ 3 - 3
snowy-plugin/snowy-plugin-disk/snowy-plugin-disk-func/src/main/java/vip/xiaonuo/disk/vo/examine/ExamineVo.java

@@ -18,9 +18,9 @@ public class ExamineVo {
      */
     private String fileName;
     /**
-     * 审核
+     * 申请
      */
-    private String examineUser;
+    private String createUser;
     /**
      * 审核状态
      */
@@ -38,7 +38,7 @@ public class ExamineVo {
     /**
      * 文件大小
      */
-    private String fileSize;
+    private String fileSizeNum;
     /**
      * 组织名称
      */

+ 2 - 0
snowy-server/snowy-gateway-app/src/main/java/vip/xiaonuo/gateway/config/GatewayConfigure.java

@@ -126,6 +126,8 @@ public class GatewayConfigure {
             "/actuator/**",
 
             "/api/webapp/filetransfer/preview",
+            "/api/webapp/filetransfer/downloadfile",
+
             /* 支付相关回调通知 */
             "/api/bizapp/pay/ali/notifyUrl",
             "/api/bizapp/pay/wx/notifyUrl",