|
@@ -5,6 +5,7 @@ import api.common.pojo.constants.DictConstants;
|
|
|
import api.common.pojo.constants.LogConstants;
|
|
|
import api.common.pojo.param.MinioParameter;
|
|
|
import api.common.pojo.param.scene.SceneAccidentParam;
|
|
|
+import api.common.pojo.param.scene.SceneDeleteParam;
|
|
|
import api.common.pojo.param.scene.SceneImportParam;
|
|
|
import api.common.pojo.po.scene.SceneAccidentPO;
|
|
|
import api.common.pojo.po.system.SceneImportPO;
|
|
@@ -14,13 +15,15 @@ import api.common.util.TimeUtil;
|
|
|
import com.css.simulation.resource.common.utils.AuthUtil;
|
|
|
import com.css.simulation.resource.feign.FileDownService;
|
|
|
import com.css.simulation.resource.log.service.LogService;
|
|
|
-import com.css.simulation.resource.system.service.DictService;
|
|
|
+import com.css.simulation.resource.scene.mapper.SceneAccidentMapper;
|
|
|
+import com.css.simulation.resource.scene.mapper.ScenePackageMapper;
|
|
|
+import com.css.simulation.resource.scene.mapper.ScenePackageSublistMapper;
|
|
|
+import com.css.simulation.resource.scene.mapper.SystemScenePackageSublistMapper;
|
|
|
import com.fasterxml.jackson.databind.JsonNode;
|
|
|
import com.fasterxml.jackson.databind.ObjectMapper;
|
|
|
import feign.Response;
|
|
|
import lombok.SneakyThrows;
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
-import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
|
import javax.annotation.Resource;
|
|
@@ -34,16 +37,17 @@ import java.util.Map;
|
|
|
public class SceneAccidentService {
|
|
|
|
|
|
@Resource
|
|
|
- com.css.simulation.resource.scene.mapper.SceneAccidentMapper SceneAccidentMapper;
|
|
|
-
|
|
|
-
|
|
|
+ private SceneAccidentMapper sceneAccidentMapper;
|
|
|
+ @Resource
|
|
|
+ private ScenePackageSublistMapper scenePackageSublistMapper;
|
|
|
+ @Resource
|
|
|
+ private ScenePackageMapper scenePackageMapper;
|
|
|
+ @Resource
|
|
|
+ private SystemScenePackageSublistMapper systemScenePackageSublistMapper;
|
|
|
@Resource
|
|
|
private FileDownService fileDownService;
|
|
|
-
|
|
|
- @Autowired
|
|
|
- LogService logService;
|
|
|
- @Autowired
|
|
|
- DictService dictService;
|
|
|
+ @Resource
|
|
|
+ private LogService logService;
|
|
|
|
|
|
/**
|
|
|
* 获取交通事故场景数据:
|
|
@@ -65,7 +69,7 @@ public class SceneAccidentService {
|
|
|
SceneAccidentPO sceneAccidentPO = new SceneAccidentPO();
|
|
|
sceneAccidentPO.setShare("0");
|
|
|
sceneAccidentPO.setSceneName(sceneName);
|
|
|
- SceneAccidentPO sceneAccidentPOByName = SceneAccidentMapper.querySceneAccidentByNmae(sceneAccidentPO);
|
|
|
+ SceneAccidentPO sceneAccidentPOByName = sceneAccidentMapper.querySceneAccidentByNmae(sceneAccidentPO);
|
|
|
|
|
|
sceneAccidentPO = sceneAccidentPO.builder()
|
|
|
.accidentId(StringUtil.getRandomUUID())
|
|
@@ -106,13 +110,13 @@ public class SceneAccidentService {
|
|
|
/* if (null != param.getVideoPreview() && !param.getVideoPreview().equals("")) {
|
|
|
sceneAccidentPO.setVideoPreview(param.getVideoPreview());
|
|
|
}*/
|
|
|
- SceneAccidentMapper.saveSceneAccident(sceneAccidentPO);
|
|
|
+ sceneAccidentMapper.saveSceneAccident(sceneAccidentPO);
|
|
|
} else {
|
|
|
// -------------------------------- 修改数据到 mysql --------------------------------
|
|
|
sceneAccidentPO.setAccidentId(sceneAccidentPOByName.getAccidentId());
|
|
|
sceneAccidentPO.setModifyTime(TimeUtil.getNowForMysql());
|
|
|
sceneAccidentPO.setModifyUserId(AuthUtil.getCurrentUserId());
|
|
|
- SceneAccidentMapper.updateSceneAccident(sceneAccidentPO);
|
|
|
+ sceneAccidentMapper.updateSceneAccident(sceneAccidentPO);
|
|
|
}
|
|
|
return new ResponseBodyVO(ResponseBodyVO.Response.SUCCESS);
|
|
|
|
|
@@ -185,7 +189,7 @@ public class SceneAccidentService {
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
- SceneAccidentMapper.saveSceneAccident(sceneAccidentPO);
|
|
|
+ sceneAccidentMapper.saveSceneAccident(sceneAccidentPO);
|
|
|
} catch (Exception e) {
|
|
|
log.error("标准法规场景" + fileName + " 解析出错:", e);
|
|
|
}
|
|
@@ -198,35 +202,35 @@ public class SceneAccidentService {
|
|
|
log.info("交通事故查询------" + roleCode);
|
|
|
String userId = AuthUtil.getCurrentUserId();
|
|
|
if (DictConstants.ROLE_CODE_ADMIN.equals(roleCode) || DictConstants.ROLE_CODE_SYSADMIN.equals(roleCode)) { //管理员账户
|
|
|
- list = SceneAccidentMapper.querySceneAccidentList(params);
|
|
|
+ list = sceneAccidentMapper.querySceneAccidentList(params);
|
|
|
log.info("泛华----list--" + list.size() + "----------" + params);
|
|
|
} else if (DictConstants.ROLE_CODE_SUBUESR.equals(roleCode)) {
|
|
|
//查询父账户
|
|
|
userId = AuthUtil.getCreateUserId();
|
|
|
params.setUserId(userId);
|
|
|
if (params.getShare().equals("0")) {
|
|
|
- list = SceneAccidentMapper.querySceneAccidentList(params);
|
|
|
+ list = sceneAccidentMapper.querySceneAccidentList(params);
|
|
|
} else {
|
|
|
- list = SceneAccidentMapper.querySceneAccidentListByQx(params);
|
|
|
+ list = sceneAccidentMapper.querySceneAccidentListByQx(params);
|
|
|
}
|
|
|
|
|
|
} else if (DictConstants.ROLE_CODE_UESR.equals(roleCode)) {
|
|
|
//查询普通账户
|
|
|
params.setUserId(userId);
|
|
|
if (params.getShare().equals("0")) {
|
|
|
- list = SceneAccidentMapper.querySceneAccidentList(params);
|
|
|
+ list = sceneAccidentMapper.querySceneAccidentList(params);
|
|
|
} else {
|
|
|
- list = SceneAccidentMapper.querySceneAccidentListByQx(params);
|
|
|
+ list = sceneAccidentMapper.querySceneAccidentListByQx(params);
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
/* if ((params.getXlk().equals("1") && params.getBq().equals(1)) || (params.getXlk().equals("0") && params.getBq().equals(0)) || (params.getXlk().equals("1") && params.getBq().equals(0))) {
|
|
|
- list = SceneAccidentMapper.querySceneAccidentList(params);
|
|
|
+ list = sceneAccidentMapper.querySceneAccidentList(params);
|
|
|
}*//*else if(params.getXlk().equals("1")&¶ms.getBq().equals("0")){
|
|
|
- list = SceneAccidentMapper.querySceneAccidentListByXlk(params);
|
|
|
+ list = sceneAccidentMapper.querySceneAccidentListByXlk(params);
|
|
|
}*//* else if (params.getXlk().equals("0") && params.getBq().equals(1)) {
|
|
|
- list = SceneAccidentMapper.querySceneAccidentListByBq(params);
|
|
|
+ list = sceneAccidentMapper.querySceneAccidentListByBq(params);
|
|
|
}*/
|
|
|
|
|
|
//追尾
|
|
@@ -328,9 +332,9 @@ public class SceneAccidentService {
|
|
|
}
|
|
|
List<SceneAccidentPO> list = new ArrayList<>();
|
|
|
if ((params.getXlk().equals("1") && params.getBq().equals(1)) || (params.getXlk().equals("0") && params.getBq().equals(0)) || (params.getXlk().equals("1") && params.getBq().equals(0))) {
|
|
|
- list = SceneAccidentMapper.querySceneAccidentList(params);
|
|
|
+ list = sceneAccidentMapper.querySceneAccidentList(params);
|
|
|
} else if (params.getXlk().equals("0") && params.getBq().equals(1)) {
|
|
|
- list = SceneAccidentMapper.querySceneAccidentListByBq(params);
|
|
|
+ list = sceneAccidentMapper.querySceneAccidentListByBq(params);
|
|
|
}
|
|
|
|
|
|
|
|
@@ -367,11 +371,26 @@ public class SceneAccidentService {
|
|
|
}
|
|
|
|
|
|
public void deleteSceneAccidentList(SceneAccidentPO params) {
|
|
|
- params.setIsDeleted("1");
|
|
|
- params.setModifyTime(TimeUtil.getNowForMysql());
|
|
|
- params.setModifyUserId(AuthUtil.getCurrentUserId());
|
|
|
- SceneAccidentMapper.deleteSceneAccidentList(params);
|
|
|
- Map map = new HashMap();
|
|
|
+ //1 获取参数
|
|
|
+ String sceneName = params.getSceneName(); // 场景名称
|
|
|
+ //2 根据场景名称查询出同名的所有场景id,包括公有和私有
|
|
|
+ List<String> sceneIdList = sceneAccidentMapper.selectIdByName(sceneName);
|
|
|
+ for (String sceneId : sceneIdList) {
|
|
|
+ //3 将所有场景测试包指标中的该场景删除
|
|
|
+ SceneDeleteParam param = new SceneDeleteParam();
|
|
|
+ param.setModifyTime(TimeUtil.getNowForMysql());
|
|
|
+ param.setSceneJtId(sceneId);
|
|
|
+ param.setModifyUserId(AuthUtil.getCurrentUserId());
|
|
|
+ scenePackageSublistMapper.updateScenePackageSublistById(param);
|
|
|
+ //4 将所有包含该场景的场景测试包状态为已禁用
|
|
|
+ scenePackageMapper.updateIsUnavailableByAccidentId("1", sceneId);
|
|
|
+ }
|
|
|
+ //5 将所有场景包中的该场景删除
|
|
|
+ systemScenePackageSublistMapper.deleteBySceneName(sceneName);
|
|
|
+ //6 删除所有同名场景(包括公有和私有)
|
|
|
+ sceneAccidentMapper.deleteByName(sceneName, AuthUtil.getCreateUserId());
|
|
|
+ //7 记录日志
|
|
|
+ Map<String, String> map = new HashMap<>();
|
|
|
map.put("sceneId", params.getAccidentId());
|
|
|
map.put("sceneName", params.getSceneName());
|
|
|
map.put("type", DictConstants.SCENE_ACCIDENT);
|
|
@@ -429,7 +448,7 @@ public class SceneAccidentService {
|
|
|
JsonNode root = objMap.readTree(json);
|
|
|
//判断是否存在
|
|
|
String sceneName = root.path("场景名称").asText();
|
|
|
- String sceneId = SceneAccidentMapper.querySceneAccidentByNmae(root.path("场景名称").asText());
|
|
|
+ String sceneId = sceneAccidentMapper.querySceneAccidentByNmae(root.path("场景名称").asText());
|
|
|
sceneAccidentPO = sceneAccidentPO.builder()
|
|
|
.accidentId(StringUtil.getRandomUUID())
|
|
|
.sceneName(root.path("场景名称").asText())
|
|
@@ -480,10 +499,10 @@ public class SceneAccidentService {
|
|
|
wJNum++;
|
|
|
}
|
|
|
if (ObjectUtil.isNotNull(list)) {
|
|
|
- SceneAccidentMapper.saveSceneAccidentList(list);
|
|
|
+ sceneAccidentMapper.saveSceneAccidentList(list);
|
|
|
}
|
|
|
if (ObjectUtil.isNotNull(updateList)) {
|
|
|
- SceneAccidentMapper.updateSceneAccidentList(updateList);
|
|
|
+ sceneAccidentMapper.updateSceneAccidentList(updateList);
|
|
|
}
|
|
|
return new ResponseBodyVO(ResponseBodyVO.Response.SUCCESS);
|
|
|
} catch (Exception e) {
|
|
@@ -535,7 +554,7 @@ public class SceneAccidentService {
|
|
|
JsonNode root = objMap.readTree(json);
|
|
|
//判断是否存在
|
|
|
String sceneName = root.path("场景名称").asText();
|
|
|
- String sceneId = SceneAccidentMapper.querySceneAccidentByNmae(sceneName);
|
|
|
+ String sceneId = sceneAccidentMapper.querySceneAccidentByNmae(sceneName);
|
|
|
sceneAccidentPO = sceneAccidentPO.builder()
|
|
|
.accidentId(StringUtil.getRandomUUID())
|
|
|
.sceneName(sceneName)
|
|
@@ -598,10 +617,10 @@ public class SceneAccidentService {
|
|
|
|
|
|
}
|
|
|
if (ObjectUtil.isNotNull(list)) {
|
|
|
- SceneAccidentMapper.saveSceneAccidentList(list);
|
|
|
+ sceneAccidentMapper.saveSceneAccidentList(list);
|
|
|
}
|
|
|
if (ObjectUtil.isNotNull(updateList)) {
|
|
|
- SceneAccidentMapper.updateSceneAccidentList(updateList);
|
|
|
+ sceneAccidentMapper.updateSceneAccidentList(updateList);
|
|
|
}
|
|
|
return new ResponseBodyVO(ResponseBodyVO.Response.SUCCESS);
|
|
|
} catch (Exception e) {
|
|
@@ -689,7 +708,7 @@ public class SceneAccidentService {
|
|
|
|
|
|
sceneAccidentPO.setSceneName(sceneName);
|
|
|
sceneAccidentPO.setShare("0");
|
|
|
- SceneAccidentPO sceneAccidentPOByName = SceneAccidentMapper.querySceneAccidentByNmae(sceneAccidentPO);
|
|
|
+ SceneAccidentPO sceneAccidentPOByName = sceneAccidentMapper.querySceneAccidentByNmae(sceneAccidentPO);
|
|
|
if (ObjectUtil.isNull(sceneAccidentPOByName)) { // 新增数据
|
|
|
isupdate = "0";
|
|
|
} else { // 覆盖(更新)数据
|
|
@@ -736,12 +755,12 @@ public class SceneAccidentService {
|
|
|
sceneAccidentPO.setCreateTime(TimeUtil.getNowForMysql());
|
|
|
sceneAccidentPO.setCreateUserId(AuthUtil.getCurrentUserId());
|
|
|
sceneAccidentPO.setModifyTime(TimeUtil.getNowForMysql());
|
|
|
- SceneAccidentMapper.saveSceneAccident(sceneAccidentPO);
|
|
|
+ sceneAccidentMapper.saveSceneAccident(sceneAccidentPO);
|
|
|
} else if (isupdate.equals("1")) {
|
|
|
// -------------------------------- 修改数据到 mysql --------------------------------
|
|
|
sceneAccidentPO.setModifyTime(TimeUtil.getNowForMysql());
|
|
|
sceneAccidentPO.setModifyUserId(AuthUtil.getCurrentUserId());
|
|
|
- SceneAccidentMapper.updateSceneAccident(sceneAccidentPO);
|
|
|
+ sceneAccidentMapper.updateSceneAccident(sceneAccidentPO);
|
|
|
}
|
|
|
successNum = successNum + 1;
|
|
|
} catch (Exception e) {
|
|
@@ -777,9 +796,9 @@ public class SceneAccidentService {
|
|
|
* 分享
|
|
|
*/
|
|
|
public void instShareSceneAccident(SceneAccidentPO po) {
|
|
|
- SceneAccidentPO syPO = SceneAccidentMapper.querySceneAccidentById(po.getAccidentId());
|
|
|
+ SceneAccidentPO syPO = sceneAccidentMapper.querySceneAccidentById(po.getAccidentId());
|
|
|
syPO.setShare("1");
|
|
|
- SceneAccidentPO sceneAccidentPOByName = SceneAccidentMapper.querySceneAccidentByNmae(syPO);
|
|
|
+ SceneAccidentPO sceneAccidentPOByName = sceneAccidentMapper.querySceneAccidentByNmae(syPO);
|
|
|
if (ObjectUtil.isNull(sceneAccidentPOByName)) {
|
|
|
// -------------------------------- 保存数据到 mysql --------------------------------
|
|
|
syPO.setCreateTime(TimeUtil.getNowForMysql());
|
|
@@ -787,13 +806,13 @@ public class SceneAccidentService {
|
|
|
syPO.setModifyTime(TimeUtil.getNowForMysql());
|
|
|
syPO.setModifyUserId("");
|
|
|
syPO.setAccidentId(StringUtil.getRandomUUID());
|
|
|
- SceneAccidentMapper.saveSceneAccident(syPO);
|
|
|
+ sceneAccidentMapper.saveSceneAccident(syPO);
|
|
|
} else {
|
|
|
// -------------------------------- 修改数据到 mysql --------------------------------
|
|
|
syPO.setModifyTime(TimeUtil.getNowForMysql());
|
|
|
syPO.setModifyUserId(AuthUtil.getCurrentUserId());
|
|
|
syPO.setAccidentId(sceneAccidentPOByName.getAccidentId());
|
|
|
- SceneAccidentMapper.updateSceneAccident(syPO);
|
|
|
+ sceneAccidentMapper.updateSceneAccident(syPO);
|
|
|
}
|
|
|
|
|
|
}
|