Explorar o código

fix of 'bug修复' on 2021.1.26

jiequan.bi %!s(int64=4) %!d(string=hai) anos
pai
achega
c08a86f5c6

+ 5 - 5
jeecg-boot-module-system/src/main/java/org/jeecg/modules/orderplatform/controller/PlatformScriptController.java

@@ -29,17 +29,17 @@ public class PlatformScriptController {
 	/**
 	 * 分页列表查询
 	 */
-/*	@GetMapping(value = "/list")
+	@GetMapping(value = "/list")
 	public Result<PageInfo<JSONObject>> queryPageList(PlatformScript platformScript,
 													  @RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
-													  @RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
-													  HttpServletRequest req) {
+													  @RequestParam(name="pageSize", defaultValue="10") Integer pageSize
+													  ) {
 		Result<PageInfo<JSONObject>> result = new Result<>();
-		IPage<PlatformScript> pageList = platformScriptService.page(page, queryWrapper);
+		PageInfo<JSONObject> pageList = platformScriptService.page(platformScript.getProjectId(),platformScript.getName(),platformScript.getCreator(),pageNo,pageSize);
 		result.setSuccess(true);
 		result.setResult(pageList);
 		return result;
-	}*/
+	}
 
 	/**
 	 *   添加

+ 6 - 0
jeecg-boot-module-system/src/main/java/org/jeecg/modules/orderplatform/mapper/PlatformScriptMapper.java

@@ -1,11 +1,17 @@
 package org.jeecg.modules.orderplatform.mapper;
 
+import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Param;
 import org.jeecg.modules.orderplatform.entity.PlatformScript;
 
+import java.util.List;
+
 /**
  * 下单平台关联脚本
  */
 public interface PlatformScriptMapper extends BaseMapper<PlatformScript> {
 
+    List<JSONObject> pageQuery(@Param("projectId") Long projectId,@Param("name") String name,@Param("creator") String creator);
+
 }

+ 25 - 0
jeecg-boot-module-system/src/main/java/org/jeecg/modules/orderplatform/mapper/xml/PlatformScriptMapper.xml

@@ -2,4 +2,29 @@
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="org.jeecg.modules.orderplatform.mapper.PlatformScriptMapper">
 
+    <select id="pageQuery" resultType="com.alibaba.fastjson.JSONObject">
+        SELECT
+            t1.id,
+            t1.`name`,
+            t1.size,
+            t1.create_time,
+            FROM_UNIXTIME(CAST(t1.create_time/1000 AS INT)) as createTime,
+            (SELECT realname from sys_user where id=t1.creator limit 1) as creatorName,
+            (SELECT project_name from ctop_project where id=t1.project_id limit 1) as projectName,
+            t2.material_name as materialName
+
+        FROM
+            ctop_platform_script t1
+                LEFT JOIN ctop_platform_material t2 ON t1.id = t2.script_id
+        where t2.material_code is not null
+        <if test="projectId != null">
+            AND t1.project_id= #{projectId}
+        </if>
+        <if test="name != null">
+            AND t1.name like '%${name}%'
+        </if>
+        <if test="creator != null">
+            AND t1.creator = #{creator}
+        </if>
+    </select>
 </mapper>

+ 3 - 3
jeecg-boot-module-system/src/main/java/org/jeecg/modules/orderplatform/service/impl/PlatformScriptServiceImpl.java

@@ -54,8 +54,8 @@ public class PlatformScriptServiceImpl extends ServiceImpl<PlatformScriptMapper,
 
     @Override
     public PageInfo<JSONObject> page(Long projectId, String name, String creator, int pageNo, int  pageSize) {
-        /*PageHelper.startPage(pageNo,pageSize);
-        List<JSONObject> result = platformScriptMapper.pageQuery();*/
-        return null;
+        PageHelper.startPage(pageNo,pageSize);
+        List<JSONObject> result = platformScriptMapper.pageQuery(projectId,name,creator);
+        return new PageInfo<>(result);
     }
 }

+ 18 - 0
jeecg-boot-module-system/src/main/java/org/jeecg/modules/wps/controller/UserImplController.java

@@ -1,6 +1,7 @@
 package org.jeecg.modules.wps.controller;
 
 import lombok.extern.slf4j.Slf4j;
+import org.jeecg.modules.orderplatform.service.IPlatformScriptService;
 import org.jeecg.modules.wps.base.Response;
 import org.jeecg.modules.wps.dto.FileListDTO;
 import org.jeecg.modules.wps.service.IWpsFileService;
@@ -20,6 +21,7 @@ import java.util.Map;
 @RestController
 @RequestMapping("v1/api/file")
 public class UserImplController{
+
     @Autowired
     private IWpsFileService wpsFileService;
 
@@ -90,4 +92,20 @@ public class UserImplController{
         }
     }
 
+    /**
+     * 通过fileId获取wpsUrl以及token
+     * @param fileId 文件id
+     * @return token(包含url)
+     */
+    @GetMapping("getPlatformScriptViewUrlDbPath")
+    public ResponseEntity<Object> getPlatformScriptViewUrlDbPath(String fileId, String userId){
+        log.info("getViewUrlDbPath:fileId={},userId={}",fileId,userId);
+        Token t = wpsFileService.getPlatformScriptViewUrl(fileId,userId,true);
+        if (t != null){
+            return Response.success(t);
+        }else {
+            return Response.bad("文件不存在或其它异常!");
+        }
+    }
+
 }

+ 2 - 0
jeecg-boot-module-system/src/main/java/org/jeecg/modules/wps/service/IWpsFileService.java

@@ -34,6 +34,8 @@ public interface IWpsFileService extends IService<WpsFile> {
 
     Token getViewUrl(String fileUrl, String userId,boolean b);
 
+    Token getPlatformScriptViewUrl(String fileUrl, String userId,boolean b);
+
     List<FileListDTO> getFileList();
 
     Map<String,Object> getFileListByPage(int pageNum,int pageSize);

+ 34 - 0
jeecg-boot-module-system/src/main/java/org/jeecg/modules/wps/service/impl/WpsFileServiceImpl.java

@@ -14,6 +14,8 @@ import com.github.pagehelper.PageInfo;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.shiro.SecurityUtils;
 import org.jeecg.common.system.vo.LoginUser;
+import org.jeecg.modules.orderplatform.entity.PlatformScript;
+import org.jeecg.modules.orderplatform.service.IPlatformScriptService;
 import org.jeecg.modules.system.service.ISysUserService;
 import org.jeecg.modules.wps.config.Context;
 import org.jeecg.modules.wps.dto.*;
@@ -54,6 +56,8 @@ public class WpsFileServiceImpl extends ServiceImpl<WpsFileMapper, WpsFile> impl
     private WpsUtil wpsUtil;
     @Autowired
     private ISysUserService sysUserService;
+    @Autowired
+    private IPlatformScriptService platformScriptService;
 
     private static final String OSS_URL_PREFIX = "https://ctop-media.oss-cn-beijing.aliyuncs.com/script-lib/wps/";
     @Override
@@ -117,6 +121,36 @@ public class WpsFileServiceImpl extends ServiceImpl<WpsFileMapper, WpsFile> impl
     }
 
     @Override
+    public Token getPlatformScriptViewUrl(String fileId, String userId, boolean checkToken) {
+        PlatformScript fileEntity = platformScriptService.getById(fileId);
+        if (fileEntity != null){
+            Token t = new Token();
+            String fileName = fileEntity.getName();
+            String fileType = FileUtil.getFileTypeByName(fileName);
+
+            UUID randomUuid = UUID.randomUUID();
+            String uuid = randomUuid.toString().replace("-","");
+
+            Map<String,String> values = new HashMap<>();
+            values.put("_w_appid", WpsUtil.appid);
+            if (checkToken){
+                values.put("_w_tokentype","1");
+            }
+            values.put("_w_filepath",fileName);
+            values.put("_w_userid", userId);
+            values.put("_w_filetype","db");
+
+            String wpsUrl = wpsUtil.getWpsUrl(values,fileType,fileEntity.getId());
+            t.setToken(uuid);
+            t.setExpires_in(600);
+            t.setWpsUrl(wpsUrl);
+
+            return t;
+        }
+        return null;
+    }
+
+    @Override
     public Map<String,Object> getFileInfo(String userId, String filePath,String fileType,String fileId){
         if ("web".equalsIgnoreCase(fileType)){
             return getWebFileInfo(filePath);