Browse Source

增加作品上传接口

wuweihao 3 năm trước cách đây
mục cha
commit
7b1d8631a2

+ 11 - 5
720yun_local_manage/gis_pano/src/main/java/com/gis/cms/controller/WorkController.java

@@ -47,11 +47,11 @@ public class WorkController  {
     }
 
 
-//    @ApiOperation(value = "修改实体", position = 1)
-//    @PostMapping("save")
-//    public Result<WorkEntity> save(@RequestBody WorkDto param) {
-//        return workService.entitySave(param);
-//    }
+    @ApiOperation(value = "修改实体", position = 1)
+    @PostMapping("save")
+    public Result<WorkEntity> save(@RequestBody WorkDto param) {
+        return workService.entitySave(param);
+    }
 
     @Transactional(rollbackFor = Exception.class)
     @ApiOperation(value = "修改someData", position = 1)
@@ -86,6 +86,12 @@ public class WorkController  {
         return workService.upload(file, sceneCode);
     }
 
+    @ApiOperation(value = "上传-文件(文件固定命名)", notes = "上传资料会放到场景码的跟目录, 文件固定命名, 作品码:必传")
+    @PostMapping(value = "uploadFixByWork/{workId}")
+    public Result uploadFixByWork(@RequestParam("file") MultipartFile file, @PathVariable String workId) {
+        return workService.uploadFixByWork(file, workId);
+    }
+
 
     @ApiOperation(value = "检查作品token是否有效" , position = 3)
     @GetMapping("checkToken/{workId}")

+ 3 - 0
720yun_local_manage/gis_pano/src/main/java/com/gis/cms/entity/dto/WorkDto.java

@@ -15,6 +15,9 @@ public class WorkDto {
     @ApiModelProperty(value = "场景密码")
     private String password;
 
+    @ApiModelProperty(value = "封面图")
+    private String icon;
+
 
 
 

+ 5 - 2
720yun_local_manage/gis_pano/src/main/java/com/gis/cms/service/WorkService.java

@@ -9,7 +9,6 @@ import com.gis.common.base.entity.dto.PageDto;
 import com.gis.common.util.Result;
 import org.springframework.web.multipart.MultipartFile;
 
-import java.util.List;
 
 
 /**
@@ -20,7 +19,7 @@ public interface WorkService extends IService<WorkEntity> {
 
     Result search(PageDto param);
 
-//    Result<WorkEntity> entitySave(WorkDto param);
+
 
     Result<WorkEntity> entityAdd();
 
@@ -47,4 +46,8 @@ public interface WorkService extends IService<WorkEntity> {
 
 
     Result upload(MultipartFile file, String sceneCode);
+
+    Result uploadFixByWork(MultipartFile file, String workId);
+
+    Result<WorkEntity> entitySave(WorkDto param);
 }

+ 1 - 3
720yun_local_manage/gis_pano/src/main/java/com/gis/cms/service/impl/FodderServiceImpl.java

@@ -77,9 +77,7 @@ public class FodderServiceImpl extends ServiceImpl<FodderMapper, FodderEntity> i
             BaseRuntimeException.isHas(exist, null, "此场景被作品使用中,不能删除");
             // 真删除目录
             fileUtils.del(entity.getFilePath());
-            entity.setUpdateTime(LocalDateTime.now());
-            entity.setIsDelete(1);
-            this.updateById(entity);
+            this.removeById(id);
         }
 
         return Result.success();

+ 24 - 21
720yun_local_manage/gis_pano/src/main/java/com/gis/cms/service/impl/WorkServiceImpl.java

@@ -9,6 +9,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.gis.cms.entity.dto.SomeDataDto;
+import com.gis.cms.entity.dto.WorkDto;
 import com.gis.cms.entity.po.WorkEntity;
 import com.gis.cms.mapper.WorkMapper;
 import com.gis.cms.service.WorkService;
@@ -25,6 +26,7 @@ import com.gis.common.util.RedisUtil;
 import com.gis.common.util.Result;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.lang3.StringUtils;
+import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.web.multipart.MultipartFile;
@@ -85,23 +87,17 @@ public class WorkServiceImpl extends ServiceImpl<WorkMapper, WorkEntity> impleme
     /**
      * 目前只是用来保存密码, 也可以使用保存实体信息
      */
-//    @Override
-//    public Result<WorkEntity> entitySave(WorkDto param) {
-////        String id = param.getId();
-//////        WorkEntity entity = this.findById(id);
-////
-////        WorkEntity entity = entityMapper.selectByPrimaryKey(id);
-////
-////        if (entity == null) {
-////            return Result.failure("对象不存在");
-////        }
-////        BeanUtils.copyProperties(param, entity);
-////
-////        entity.setUpdateTime(new Date());
-////        this.update(entity);
-//
-//        return Result.success();
-//    }
+    @Override
+    public Result<WorkEntity> entitySave(WorkDto param) {
+        WorkEntity entity = this.getById(param.getId());
+        BaseRuntimeException.isNull(entity, ErrorEnum.FAILURE_SYS_2001);
+
+        BeanUtils.copyProperties(param, entity);
+
+        entity.setUpdateTime(LocalDateTime.now());
+        this.updateById(entity);
+        return Result.success(entity);
+    }
 
 
     @Override
@@ -149,10 +145,7 @@ public class WorkServiceImpl extends ServiceImpl<WorkMapper, WorkEntity> impleme
         if (entity == null) {
             return Result.success();
         }
-        entity.setIsDelete(1);
-        entity.setUpdateTime(LocalDateTime.now());
-
-        this.updateById(entity);
+        this.removeById(id);
 
         // 删除redis
         redisUtil.del(RedisConstant.WORK_ID + id);
@@ -417,6 +410,16 @@ public class WorkServiceImpl extends ServiceImpl<WorkMapper, WorkEntity> impleme
         return Result.success(uploadMap);
     }
 
+    @Override
+    public Result uploadFixByWork(MultipartFile file, String workId) {
+        // 检查非法文件上传
+        BaseRuntimeException.isHas(!fileUtils.checkFile(file), null, "上传文件格式有误, 请重新上传");
+        Map<String, Object> uploadMap = fileUtils.uploadMap(file, "/" + workId, true);
+        return Result.success(uploadMap);
+    }
+
+
+
 //    @Override
 //    public List<WorkEntity> likeSceneCode(String sceneCode) {
 //        sceneCode = "%" + sceneCode + "%";

+ 4 - 4
720yun_local_manage/gis_pano_producer/src/main/java/com/gis/cms/controller/ProducerController.java

@@ -18,16 +18,16 @@ import java.io.IOException;
  */
 @Api(tags = "全景图生产者")
 @RestController
-@RequestMapping("cms/producer")
+@RequestMapping("/cms/producer")
 public class ProducerController {
 
     @Autowired
     ProducerService entityService;
 
     @WebControllerLog(description = "上传全景图")
-    @ApiOperation(value = "上传全景图", notes = "调用算法切图, tempId:前端提供")
-    @PostMapping("upload/{tempId}")
-    public Result upload(MultipartFile file,  @PathVariable String tempId) throws IOException {
+    @ApiOperation(value = "上传全景图", notes = "调用算法切图, tempId:前端提供, 非必传")
+    @PostMapping("upload")
+    public Result upload(MultipartFile file,  String tempId) throws IOException {
         return entityService.upload(file, tempId);
     }
 

+ 1 - 0
720yun_local_manage/gis_pano_producer/src/main/java/com/gis/cms/service/impl/ProduceServiceImpl.java

@@ -98,6 +98,7 @@ public class ProduceServiceImpl implements ProducerService {
         LambdaQueryWrapper<FodderEntity> wrapper = new LambdaQueryWrapper<>();
         wrapper.eq(FodderEntity::getCreatorId, userId);
         wrapper.in(FodderEntity::getId, ids);
+        wrapper.orderByDesc(FodderEntity::getCreateTime);
 
         return Result.success(fodderMapper.selectList(wrapper));
     }