ソースを参照

产品运营管理,带看服务

lyhzzz 2 年 前
コミット
6e348ebea2

+ 56 - 0
src/main/java/com/fdkankan/manage/controller/TakeLookController.java

@@ -0,0 +1,56 @@
+package com.fdkankan.manage.controller;
+
+import com.fdkankan.common.exception.BusinessException;
+import com.fdkankan.manage.common.ResultData;
+import com.fdkankan.manage.httpClient.client.TakeLookClient;
+import com.fdkankan.manage.httpClient.param.TakeLookParam;
+import com.fdkankan.manage.httpClient.vo.TakeLookResponse;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+@RestController
+@RequestMapping("/service/manage/takeLook")
+public class TakeLookController {
+
+
+    @Autowired
+    TakeLookClient takeLookClient;
+
+    /**
+     * 全部房间列表
+     */
+    @PostMapping("roomList")
+    public Object list(@RequestBody TakeLookParam param){
+        TakeLookResponse takeLookResponse = takeLookClient.roomList(param);
+        if(takeLookResponse.getCode() != 0){
+            throw new BusinessException(takeLookResponse.getCode(),takeLookResponse.getMessage());
+        }
+        return takeLookResponse;
+    }
+    /**
+     * 修改显示状态
+     */
+    @PostMapping("updateRoomShow")
+    public ResultData updateRoomShow(@RequestBody TakeLookParam param){
+        TakeLookResponse takeLookResponse = takeLookClient.updateRoomShow(param);
+        if(takeLookResponse.getCode() != 0){
+            throw new BusinessException(takeLookResponse.getCode(),takeLookResponse.getMessage());
+        }
+        return ResultData.ok();
+    }
+    /**
+     * 删除
+     */
+    @PostMapping("deleteRoom")
+    public ResultData deleteRoom(@RequestBody TakeLookParam param){
+        TakeLookResponse takeLookResponse =takeLookClient.deleteRoom(param);
+        if(takeLookResponse.getCode() != 0){
+            throw new BusinessException(takeLookResponse.getCode(),takeLookResponse.getMessage());
+        }
+        return ResultData.ok();
+    }
+
+}

+ 20 - 0
src/main/java/com/fdkankan/manage/httpClient/address/TakeLookAddressSource.java

@@ -0,0 +1,20 @@
+package com.fdkankan.manage.httpClient.address;
+
+import com.dtflys.forest.callback.AddressSource;
+import com.dtflys.forest.http.ForestAddress;
+import com.dtflys.forest.http.ForestRequest;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.stereotype.Component;
+
+@Component
+public class TakeLookAddressSource implements AddressSource {
+
+    @Value("${4dkk.takeLookService.basePath}")
+    private String basePath;
+
+
+    @Override
+    public ForestAddress getAddress(ForestRequest forestRequest) {
+        return new ForestAddress("","",null,basePath);
+    }
+}

+ 25 - 0
src/main/java/com/fdkankan/manage/httpClient/client/TakeLookClient.java

@@ -0,0 +1,25 @@
+package com.fdkankan.manage.httpClient.client;
+
+import com.dtflys.forest.annotation.*;
+import com.fdkankan.manage.httpClient.address.OverallAddressSource;
+import com.fdkankan.manage.httpClient.address.TakeLookAddressSource;
+import com.fdkankan.manage.httpClient.param.TakeLookParam;
+import com.fdkankan.manage.httpClient.vo.OverallParam;
+import com.fdkankan.manage.httpClient.vo.OverallVo;
+import com.fdkankan.manage.httpClient.vo.TakeLookResponse;
+
+/**
+ * 获取,调用带看服务
+ */
+@Address(source = TakeLookAddressSource.class)
+public interface TakeLookClient {
+
+    @Post("/_inner/roomList")
+    TakeLookResponse roomList(@JSONBody TakeLookParam param);
+
+    @Post("/_inner/updateRoomShow")
+    TakeLookResponse updateRoomShow(@JSONBody TakeLookParam param);
+
+    @Post("/_inner/deleteRoom")
+    TakeLookResponse deleteRoom(@JSONBody TakeLookParam param);
+}

+ 12 - 0
src/main/java/com/fdkankan/manage/httpClient/param/TakeLookParam.java

@@ -0,0 +1,12 @@
+package com.fdkankan.manage.httpClient.param;
+
+import com.fdkankan.manage.vo.request.RequestBase;
+import lombok.Data;
+
+@Data
+public class TakeLookParam extends RequestBase {
+    private String roomId;
+    private String roomTitle;
+    private String roomUserName;
+    private Integer IsShow;
+}

+ 11 - 0
src/main/java/com/fdkankan/manage/httpClient/vo/TakeLookResponse.java

@@ -0,0 +1,11 @@
+package com.fdkankan.manage.httpClient.vo;
+
+import com.alibaba.fastjson.JSONObject;
+import lombok.Data;
+
+@Data
+public class TakeLookResponse<T> {
+    private Integer code;
+    private String message;
+    private Object data;
+}

+ 0 - 2
src/main/java/com/fdkankan/manage/service/IScene3dNumService.java

@@ -12,6 +12,4 @@ import com.baomidou.mybatisplus.extension.service.IService;
  * @since 2022-08-12
  */
 public interface IScene3dNumService extends IService<Scene3dNum> {
-
-    String generateSceneNum(Integer type);
 }

+ 0 - 100
src/main/java/com/fdkankan/manage/service/impl/Scene3dNumServiceImpl.java

@@ -31,106 +31,6 @@ import java.util.stream.Collectors;
 @Slf4j
 public class Scene3dNumServiceImpl extends ServiceImpl<IScene3dNumMapper, Scene3dNum> implements IScene3dNumService {
 
-    @Autowired
-    RedisUtil redisUtil;
 
-    @Override
-    public String generateSceneNum(Integer cameraType) {
-        String sceneNum = redisUtil.lLeftPop(RedisKeyUtil.SCENE_UNUSED_NUMS);
-        if(!StringUtils.isEmpty(sceneNum)){
-            return addPrefix(sceneNum,cameraType);
-        }
-        long incr = redisUtil.incr(RedisKeyUtil.SCENE_NUMS_LOADING, 1);
-        if(incr == 1){
-            try {
-                log.info("开始从数据库加载场景码");
-                List<String> numList = this.getSceneNum();
-                redisUtil.lRightPushAll(RedisKeyUtil.SCENE_UNUSED_NUMS,numList);
-                log.info("场景码加载完成");
-            }catch ( Exception e){
-                e.printStackTrace();
-            }finally {
-                redisUtil.del(RedisKeyUtil.SCENE_NUMS_LOADING);
-            }
-        }else {
-            // 等待1秒加载缓存
-            try {
-                Thread.sleep(1000);
-            } catch (InterruptedException e) {
-                e.printStackTrace();
-            }
-        }
-        String num = redisUtil.lLeftPop(RedisKeyUtil.SCENE_UNUSED_NUMS);
-        if(ObjectUtils.isEmpty(num)){
-            log.error("场景码加载失败");
-            throw new BusinessException(-1,"场景码生成失败,请重试");
-        }
-        return addPrefix(num,cameraType);
-    }
-
-    private  static  String addPrefix( String num,Integer cameraType){
-        if(cameraType == null){
-            return num;
-        }
-        return CameraTypeEnum.getSceneNumPrefixByType(cameraType) + num;
-    }
-
-    private List<String> getSceneNum() {
-        LambdaQueryWrapper<Scene3dNum> wrapper = new LambdaQueryWrapper<>();
-        wrapper.eq(Scene3dNum::getUsed,0);
-        long count = this.count(wrapper);
-        List<Scene3dNum> numList ;
-        if(count < 10){
-            log.info("场景码数量不足生成场景码");
-            numList = this.createNum(10);
-        }else {
-            wrapper.last("limit 100");
-            numList = this.list(wrapper);
-            for (Scene3dNum scene3dNum : numList) {
-                scene3dNum.setUsed(1);
-            }
-            this.updateBatchById(numList);
-        }
-        return  numList.parallelStream().map(Scene3dNum::getCode).collect(Collectors.toList());
-    }
-
-    private List<Scene3dNum> createNum(Integer size) {
-        //uuid 作为生成批次
-        List<Scene3dNum> scene3dNums = new ArrayList<>();
-        String uuid = UUID.randomUUID().toString().replace("-", "");
-        HashSet<String> codeList = this.createCode(size);
-        while (codeList.size() < size){
-            codeList.addAll(this.createCode(size - codeList.size()));
-        }
-        for (String code : codeList) {
-            Scene3dNum scene3dNum = new Scene3dNum();
-            scene3dNum.setUsed(1);
-            scene3dNum.setCode(code);
-            scene3dNum.setFolderName(uuid);
-            scene3dNum.setCreateTime(new Date());
-            scene3dNum.setUpdateTime(new Date());
-            scene3dNums.add(scene3dNum);
-        }
-        this.saveBatch(scene3dNums);
-        return scene3dNums;
-    }
-
-    private HashSet<String> createCode(Integer size) {
-        HashSet<String> codeList = new HashSet<>();
-        while (codeList.size() < size){
-            String code = RandomUtil.generateShortUuid().substring(0,8);
-            codeList.add(code);
-        }
-        LambdaQueryWrapper<Scene3dNum> wrapper = new LambdaQueryWrapper<>();
-        wrapper.in(Scene3dNum::getCode,codeList);
-        List<Scene3dNum> list = this.list(wrapper);
-        if(list.size() <=0){
-            return codeList;
-        }
-        for (Scene3dNum scene3dNum : list) {
-            codeList.remove(scene3dNum.getCode());
-        }
-        return codeList;
-    }
 
 }