瀏覽代碼

虚拟场景相关接口

lyhzzz 3 年之前
父節點
當前提交
1b5fc7d5a5

+ 4 - 0
src/main/java/com/fdkankan/ucenter/controller/api/FusionController.java

@@ -3,6 +3,7 @@ package com.fdkankan.ucenter.controller.api;
 import com.fdkankan.common.response.ResultData;
 import com.fdkankan.ucenter.common.Result;
 import com.fdkankan.ucenter.service.IFusionService;
+import com.fdkankan.ucenter.service.IScenePlusVoidService;
 import com.fdkankan.ucenter.vo.request.SceneParam;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
@@ -14,6 +15,7 @@ public class FusionController {
     @Autowired
     IFusionService fusionService;
 
+
     /**
      * 只需获取v4场景数据,无需文件夹
      */
@@ -22,4 +24,6 @@ public class FusionController {
 
         return Result.success(fusionService.scenePageList(param,token));
     }
+
+
 }

+ 38 - 0
src/main/java/com/fdkankan/ucenter/controller/api/VoidController.java

@@ -0,0 +1,38 @@
+package com.fdkankan.ucenter.controller.api;
+
+import com.fdkankan.ucenter.common.Result;
+import com.fdkankan.ucenter.service.IScenePlusVoidService;
+import com.fdkankan.ucenter.vo.request.SceneParam;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+@RestController
+@RequestMapping("/void")
+public class VoidController {
+
+    @Autowired
+    IScenePlusVoidService scenePlusVoidService;
+    /**
+     * 记录虚拟场景计算状态
+     * type  0开始计算
+     * type  1计算完成
+     * type  2计算失败
+     */
+    @GetMapping("/scene/status")
+    public Result setStatus(@RequestParam(required = false) String num,
+                            @RequestParam(required = false) Integer type,
+                            @RequestHeader String token){
+
+        scenePlusVoidService.setStatus(num,type,token);
+        return Result.success();
+    }
+
+    /**
+     * 只需获取v4场景数据,无需文件夹
+     */
+    @PostMapping("/scene/list")
+    public Result sceneList(@RequestBody SceneParam param, @RequestHeader String token){
+
+        return Result.success(scenePlusVoidService.scenePageList(param,token));
+    }
+}

+ 52 - 0
src/main/java/com/fdkankan/ucenter/entity/ScenePlusVoid.java

@@ -0,0 +1,52 @@
+package com.fdkankan.ucenter.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import java.io.Serializable;
+import java.util.Date;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * <p>
+ * 
+ * </p>
+ *
+ * @author 
+ * @since 2022-08-08
+ */
+@Getter
+@Setter
+@TableName("t_scene_plus_void")
+public class ScenePlusVoid implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    @TableId(value = "id", type = IdType.AUTO)
+    private Integer id;
+
+    /**
+     * 场景码
+     */
+    @TableField("num")
+    private String num;
+
+    /**
+     * 0计算中,1计算完成,2计算失败
+     */
+    @TableField("status")
+    private Integer status;
+
+    @TableField("user_id")
+    private Long userId;
+
+    @TableField("create_time")
+    private Date createTime;
+
+    @TableField("update_time")
+    private Date updateTime;
+
+
+}

+ 1 - 1
src/main/java/com/fdkankan/ucenter/generate/AutoGenerate.java

@@ -18,7 +18,7 @@ public class AutoGenerate {
         String path =System.getProperty("user.dir") ;
 
         generate(path,"ucenter", getTables(new String[]{
-                "t_increment_type",
+                "t_scene_plus_void",
         }));
 
 //        generate(path,"goods", getTables(new String[]{

+ 18 - 0
src/main/java/com/fdkankan/ucenter/mapper/IScenePlusVoidMapper.java

@@ -0,0 +1,18 @@
+package com.fdkankan.ucenter.mapper;
+
+import com.fdkankan.ucenter.entity.ScenePlusVoid;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * <p>
+ *  Mapper 接口
+ * </p>
+ *
+ * @author 
+ * @since 2022-08-08
+ */
+@Mapper
+public interface IScenePlusVoidMapper extends BaseMapper<ScenePlusVoid> {
+
+}

+ 20 - 0
src/main/java/com/fdkankan/ucenter/service/IScenePlusVoidService.java

@@ -0,0 +1,20 @@
+package com.fdkankan.ucenter.service;
+
+import com.fdkankan.ucenter.entity.ScenePlusVoid;
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.fdkankan.ucenter.vo.request.SceneParam;
+
+/**
+ * <p>
+ *  服务类
+ * </p>
+ *
+ * @author 
+ * @since 2022-08-08
+ */
+public interface IScenePlusVoidService extends IService<ScenePlusVoid> {
+
+    void setStatus(String num, Integer type,String token);
+
+    String scenePageList(SceneParam param, String token);
+}

+ 4 - 1
src/main/java/com/fdkankan/ucenter/service/impl/FusionService.java

@@ -50,9 +50,12 @@ public class FusionService implements IFusionService {
         if(StringUtils.isNotBlank(param.getSceneName())){
             wrapper.like(ScenePlus::getTitle,param.getSceneName());
         }
-        if(param.getNumList()!= null && param.getNumList().size() >0){
+        if(param.getHaveVoid() == 0 && param.getNumList()!= null && param.getNumList().size() >0){
             wrapper.in(ScenePlus::getNum, param.getNumList());
         }
+        if(param.getHaveVoid() == 1 && param.getNumList()!= null && param.getNumList().size() >0){
+            wrapper.notIn(ScenePlus::getNum, param.getNumList());
+        }
         Page<ScenePlus> page = scenePlusService.page(new Page<>(param.getPageNum(), param.getPageSize()), wrapper);
         if(page.getTotal() <=0){
             return PageInfo.PageInfo(page);

+ 70 - 0
src/main/java/com/fdkankan/ucenter/service/impl/ScenePlusVoidServiceImpl.java

@@ -0,0 +1,70 @@
+package com.fdkankan.ucenter.service.impl;
+
+import com.amazonaws.services.simpleworkflow.flow.annotations.NoWait;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
+import com.fdkankan.ucenter.entity.ScenePlusVoid;
+import com.fdkankan.ucenter.entity.User;
+import com.fdkankan.ucenter.mapper.IScenePlusVoidMapper;
+import com.fdkankan.ucenter.service.IFusionService;
+import com.fdkankan.ucenter.service.IScenePlusVoidService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.fdkankan.ucenter.service.IUserService;
+import com.fdkankan.ucenter.vo.request.SceneParam;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+import java.util.stream.Collectors;
+
+/**
+ * <p>
+ *  服务实现类
+ * </p>
+ *
+ * @author 
+ * @since 2022-08-08
+ */
+@Service
+public class ScenePlusVoidServiceImpl extends ServiceImpl<IScenePlusVoidMapper, ScenePlusVoid> implements IScenePlusVoidService {
+
+    @Autowired
+    IFusionService fusionService;
+    @Autowired
+    IUserService userService;
+
+    @Override
+    public void setStatus(String num, Integer type,String token) {
+        if(type == 0){
+            User user = userService.getByToken(token);
+            ScenePlusVoid plusVoid = new ScenePlusVoid();
+            plusVoid.setUserId(user.getId());
+            plusVoid.setNum(num);
+            this.save(plusVoid);
+        }else{
+            LambdaUpdateWrapper<ScenePlusVoid> wrapper = new LambdaUpdateWrapper<>();
+            if(type == 1){
+                wrapper.eq(ScenePlusVoid::getNum,num).set(ScenePlusVoid::getStatus,1);
+            }else {
+                wrapper.eq(ScenePlusVoid::getNum,num).set(ScenePlusVoid::getStatus,2);
+            }
+            this.update(wrapper);
+        }
+
+    }
+
+    @Override
+    public String scenePageList(SceneParam param, String token) {
+        if(param.getHaveVoid()!=null){
+            User user = userService.getByToken(token);
+            LambdaQueryWrapper<ScenePlusVoid> wrapper = new LambdaQueryWrapper<>();
+            wrapper.eq(ScenePlusVoid::getStatus,1)
+                    .eq(ScenePlusVoid::getUserId,user.getId());
+            List<ScenePlusVoid> list = this.list(wrapper);
+            List<String> numList = list.parallelStream().map(ScenePlusVoid::getNum).collect(Collectors.toList());
+            param.setNumList(numList);
+        }
+        fusionService.scenePageList(param,token);
+        return null;
+    }
+}

+ 2 - 0
src/main/java/com/fdkankan/ucenter/vo/request/SceneParam.java

@@ -22,4 +22,6 @@ public class SceneParam extends RequestBase {
     private String sceneNum;
 
     private Integer type;
+
+    private Integer haveVoid;
 }

+ 5 - 0
src/main/resources/mapper/ucenter/ScenePlusVoidMapper.xml

@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.fdkankan.ucenter.mapper.IScenePlusVoidMapper">
+
+</mapper>