|
@@ -1,6 +1,9 @@
|
|
|
package com.fdkankan.ucenter.service.impl;
|
|
|
|
|
|
+import cn.hutool.core.io.FileUtil;
|
|
|
+import cn.hutool.json.JSONUtil;
|
|
|
import com.alibaba.fastjson.JSONObject;
|
|
|
+import com.aliyun.oss.OSS;
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
|
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
|
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
@@ -12,6 +15,7 @@ import com.fdkankan.common.util.*;
|
|
|
import com.fdkankan.rabbitmq.bean.BuildSceneCallMessage;
|
|
|
import com.fdkankan.rabbitmq.util.RabbitMqProducer;
|
|
|
import com.fdkankan.redis.constant.RedisKey;
|
|
|
+import com.fdkankan.ucenter.common.OssPath;
|
|
|
import com.fdkankan.ucenter.common.PageInfo;
|
|
|
import com.fdkankan.fyun.face.FYunFileServiceInterface;
|
|
|
import com.fdkankan.image.MatrixToImageWriterUtil;
|
|
@@ -192,7 +196,6 @@ public class SceneProServiceImpl extends ServiceImpl<ISceneProMapper, ScenePro>
|
|
|
}
|
|
|
|
|
|
wrapper.eq(ScenePro::getCameraId,cameraId)
|
|
|
- .eq(ScenePro::getSceneScheme,4)
|
|
|
.eq(ScenePro::getIsUpgrade,0);
|
|
|
|
|
|
plusWr.eq(ScenePlus::getCameraId,cameraId);
|
|
@@ -213,6 +216,9 @@ public class SceneProServiceImpl extends ServiceImpl<ISceneProMapper, ScenePro>
|
|
|
|
|
|
lockOrUnLockScenes(lockedIds,payStatus);
|
|
|
}
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
private void getSceneLockedIds(List<Long> lockedIds ,List<ScenePro> list,Long count,Long beyondSpace,Long accumulateSpace){
|
|
|
if (list != null && list.size() > 0){
|
|
|
for (ScenePro scenePro : list){
|
|
@@ -256,8 +262,55 @@ public class SceneProServiceImpl extends ServiceImpl<ISceneProMapper, ScenePro>
|
|
|
.in(ScenePlus::getId,lockedIds);
|
|
|
scenePlusService.update(updatePlusWrapper);
|
|
|
|
|
|
+ this.updateOssStatus(lockedIds,payStatus);
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * 修改oss status.json中 payStatus
|
|
|
+ */
|
|
|
+ private void updateOssStatus(List<Long> lockedIds, Integer payStatus) {
|
|
|
+ LambdaQueryWrapper<ScenePro> proWr = new LambdaQueryWrapper<>();
|
|
|
+ proWr.eq(ScenePro::getIsUpgrade,0);
|
|
|
+ proWr.in(ScenePro::getId,lockedIds);
|
|
|
+ List<ScenePro> proList = this.list(proWr);
|
|
|
+
|
|
|
+ LambdaQueryWrapper<ScenePlus> pluWr = new LambdaQueryWrapper<>();
|
|
|
+ pluWr.in(ScenePlus::getId,lockedIds);
|
|
|
+ List<ScenePlus> plusList = scenePlusService.list(pluWr);
|
|
|
+ for (ScenePro scenePro : proList) {
|
|
|
+ this.updateOssProStatus(String.format(OssPath.v3_statusPath,scenePro.getNum()),payStatus);
|
|
|
+ }
|
|
|
+ for (ScenePlus scenePlus : plusList) {
|
|
|
+ this.updateOssProStatus(String.format(OssPath.v4_statusPath,scenePlus.getNum()),payStatus);
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 从oss中获取文件,并重写,上传替换
|
|
|
+ */
|
|
|
+ private void updateOssProStatus(String path,Integer payStatus) {
|
|
|
+ try {
|
|
|
+ if(!fYunFileService.fileExist(path)){
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ String data = fYunFileService.getFileContent(path);
|
|
|
+ if(StringUtils.isBlank(data)){
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ JSONObject jsonObject = JSONObject.parseObject(data);
|
|
|
+ jsonObject.put("payStatus",payStatus);
|
|
|
+ String json = JSONUtil.toJsonStr(jsonObject);
|
|
|
+ FileUtils.writeFile(OssPath.localStatusPath ,json);
|
|
|
+ fYunFileService.uploadFile(OssPath.localStatusPath,path);
|
|
|
+ }catch (Exception e){
|
|
|
+ e.printStackTrace();
|
|
|
+ }finally {
|
|
|
+ FileUtil.del(OssPath.localStatusPath);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
|
|
|
@Override
|
|
|
public List<ScenePro> getListByCameraId(Long cameraId) {
|