|
@@ -7,7 +7,9 @@ import cn.hutool.core.util.StrUtil;
|
|
|
import com.alibaba.fastjson.JSONArray;
|
|
|
import com.alibaba.fastjson.JSONObject;
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
|
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
|
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
|
|
+import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
|
|
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
|
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
@@ -19,8 +21,8 @@ import com.fdkankan.common.util.DateExtUtil;
|
|
|
import com.fdkankan.common.util.FileUtils;
|
|
|
import com.fdkankan.fyun.oss.UploadToOssUtil;
|
|
|
import com.fdkankan.fyun.qiniu.QiniuUpload;
|
|
|
-import com.fdkankan.platform.api.feign.PlatformUserClient;
|
|
|
import com.fdkankan.platform.api.dto.User;
|
|
|
+import com.fdkankan.platform.api.feign.PlatformUserClient;
|
|
|
import com.fdkankan.redis.constant.RedisKey;
|
|
|
import com.fdkankan.redis.constant.RedisLockKey;
|
|
|
import com.fdkankan.redis.util.RedisLockUtil;
|
|
@@ -28,16 +30,8 @@ import com.fdkankan.redis.util.RedisUtil;
|
|
|
import com.fdkankan.scene.entity.*;
|
|
|
import com.fdkankan.scene.mapper.ISceneMapper;
|
|
|
import com.fdkankan.scene.mapper.ISceneProMapper;
|
|
|
-import com.fdkankan.scene.service.ISceneDataDownloadService;
|
|
|
-import com.fdkankan.scene.service.ISceneExtService;
|
|
|
-import com.fdkankan.scene.service.ISceneProExtService;
|
|
|
-import com.fdkankan.scene.service.ISceneProService;
|
|
|
-import com.fdkankan.scene.service.ISceneService;
|
|
|
-import com.fdkankan.scene.vo.BaseSceneParamVO;
|
|
|
-import com.fdkankan.scene.vo.SceneDataDownloadVO;
|
|
|
-import com.fdkankan.scene.vo.SceneEditParamVO;
|
|
|
-import com.fdkankan.scene.vo.SceneParamVO;
|
|
|
-import com.fdkankan.scene.vo.SceneVO;
|
|
|
+import com.fdkankan.scene.service.*;
|
|
|
+import com.fdkankan.scene.vo.*;
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
import org.apache.commons.lang3.StringUtils;
|
|
|
import org.joda.time.DateTime;
|
|
@@ -1242,5 +1236,87 @@ public class SceneServiceImpl extends ServiceImpl<ISceneMapper, Scene> implement
|
|
|
return ResultData.ok(BeanUtil.copyProperties(sceneDataDownload, SceneDataDownloadVO.class));
|
|
|
}
|
|
|
|
|
|
+ @Override
|
|
|
+ public ResultData getScenes(DeviceSceneParamVO param) {
|
|
|
+
|
|
|
+ QueryWrapper queryWrapper = new QueryWrapper();
|
|
|
+ if(param.getCameraType() == null || param.getCameraType() == 0){
|
|
|
+ queryWrapper.setEntityClass(Scene.class);
|
|
|
+ }else {
|
|
|
+ queryWrapper.setEntityClass(ScenePro.class);
|
|
|
+ }
|
|
|
+ queryWrapper.eq("tb_status",TbStatus.VALID);
|
|
|
+ queryWrapper.orderByDesc("create_time");
|
|
|
+ if (param.getCameraId() != null) {
|
|
|
+ if (StringUtils.isNotEmpty(param.getStartTime()) && StringUtils.isNotEmpty(param.getEndTime())) {
|
|
|
+ queryWrapper.between("create_time", com.fdkankan.common.util.DateUtil.convert2CST(Long.parseLong(param.getStartTime())),
|
|
|
+ com.fdkankan.common.util.DateUtil.convert2CST(Long.parseLong(param.getEndTime())));
|
|
|
+ }
|
|
|
+
|
|
|
+ if(StringUtils.isNotEmpty(param.getSceneType())){
|
|
|
+ queryWrapper.eq("scene_type",param.getSceneType());
|
|
|
+ }else{
|
|
|
+ queryWrapper.ne("scene_type",99);
|
|
|
+ }
|
|
|
+ queryWrapper.eq("camera_id", param.getCameraId());
|
|
|
+ if(StringUtils.isNotEmpty(param.getSearchKey())){
|
|
|
+ queryWrapper.like("scene_name", "%" + param.getSearchKey() + "%");
|
|
|
+ }
|
|
|
+ }
|
|
|
+ Page page = new Page(param.getPageNum(), param.getPageSize());
|
|
|
+ if(param.getCameraType() == null || param.getCameraType() == 0){
|
|
|
+ page = this.page(page, queryWrapper);
|
|
|
+ }else {
|
|
|
+ page = sceneProService.page(page,queryWrapper);
|
|
|
+ }
|
|
|
+
|
|
|
+ return ResultData.ok(page);
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public ResultData deleteScene(String sceneNum) throws IOException {
|
|
|
+ ScenePO bySceneNum = this.findBySceneNum(sceneNum);
|
|
|
+ if(bySceneNum != null){
|
|
|
+ UpdateWrapper<Scene> updateWrapper = new UpdateWrapper<>();
|
|
|
+ updateWrapper.lambda()
|
|
|
+ .eq(Scene::getNum,sceneNum).set(Scene::getTbStatus,TbStatus.DELETE.code());
|
|
|
+ sceneService.update(updateWrapper);
|
|
|
+ return ResultData.ok();
|
|
|
+ }
|
|
|
+ UpdateWrapper<ScenePro> updateWrapper = new UpdateWrapper<>();
|
|
|
+ updateWrapper.lambda()
|
|
|
+ .eq(ScenePro::getNum,sceneNum).set(ScenePro::getTbStatus,TbStatus.DELETE.code());
|
|
|
+ sceneProService.update(updateWrapper);
|
|
|
+
|
|
|
+ ScenePro sceneProEntity = sceneProService.findBySceneNum(sceneNum);
|
|
|
+
|
|
|
+ JSONObject statusJson = new JSONObject();
|
|
|
+ //临时将-2改成1,app还没完全更新
|
|
|
+ statusJson.put("status", sceneProEntity.getSceneStatus() == -2? 1 : sceneProEntity.getSceneStatus());
|
|
|
+ statusJson.put("webSite", sceneProEntity.getWebSite());
|
|
|
+ statusJson.put("sceneNum", sceneProEntity.getNum());
|
|
|
+ statusJson.put("thumb", sceneProEntity.getThumb());
|
|
|
+ statusJson.put("payStatus", sceneProEntity.getPayStatus());
|
|
|
+ statusJson.put("recStatus", sceneProEntity.getTbStatus() == 0 ? "A" :"I");
|
|
|
+ FileUtils.writeFile(ConstantFilePath.SCENE_PATH+"data/data"+sceneNum+File.separator+"status.json", statusJson.toString());
|
|
|
+ uploadToOssUtil.upload(ConstantFilePath.SCENE_PATH+"data/data"+sceneNum+File.separator+"status.json",
|
|
|
+ "data/data"+sceneNum+File.separator+"status.json");
|
|
|
+
|
|
|
+ return ResultData.ok();
|
|
|
+
|
|
|
+ }
|
|
|
|
|
|
+ @Override
|
|
|
+ public Long getSceneCount(Long cameraId,Long userId) {
|
|
|
+ LambdaQueryWrapper<Scene> queryWrapper = new LambdaQueryWrapper<Scene>()
|
|
|
+ .eq(Scene::getTbStatus, TbStatus.VALID.code())
|
|
|
+ .notIn(Scene::getSceneType, SceneType.YJHZXNFY.code());
|
|
|
+ if(cameraId !=null){
|
|
|
+ queryWrapper.eq(Scene::getCameraId ,cameraId);
|
|
|
+ }
|
|
|
+ if(userId !=null){
|
|
|
+ queryWrapper.eq(Scene::getUserId ,userId);
|
|
|
+ }
|
|
|
+ return this.count(queryWrapper);
|
|
|
+ }
|
|
|
}
|