Commit bdd644e9 authored by hanbing's avatar hanbing

[update] utc静态信息接口-优化方案数据入库逻辑

parent bcd6c8eb
......@@ -16,4 +16,6 @@ public interface CrossLightsMapper {
void insertOne(CrossLightsPO crossLightsPO);
List<CrossLightsPO> selectByCrossId(@Param("crossId") String crossId);
void deleteByCrossId(String crossId);
}
......@@ -10,7 +10,7 @@ import java.util.List;
* @date 2022/11/18 10:44
*/
public interface CrossPhaseMapper {
void deleteBatch(@Param("crossId") String crossId, @Param("schemeId") String schemeId);
void deleteBatch(@Param("crossId") String crossId, @Param("schemeId") Integer schemeId);
void insertBatch(@Param("entities") List<CrossPhasePO> crossPhasePOList);
......@@ -21,4 +21,6 @@ public interface CrossPhaseMapper {
List<Integer> selectIdsByPhaseNo(String crossId, @Param("phaseNo") Integer phaseNo);
List<CrossPhasePO> selectByCrossId(@Param("crossId") String crossId);
void deleteByCrossId(String crossId);
}
......@@ -20,4 +20,6 @@ public interface CrossSchemeMapper {
@Param("schemeNo") Integer schemeNo);
List<CrossSchemePO> selectByCrossId(@Param("crossId") String crossId);
void deleteByCrossId(String crossId);
}
......@@ -81,6 +81,8 @@ public class HkSchemePhaseLightsServiceImpl implements HkSchemePhaseLightsServic
if(Constants.HK_SUCCESS_CODE.equals(responseObj.getInteger(Constants.HK_CODE_KEY))) {
JSONObject data = responseObj.getJSONObject("data");
JSONArray list = data.getJSONArray("list");
// 清理数据库
crossLightsMapper.deleteByCrossId(crossId);
for(int i = 0; i < list.size(); i++){
JSONObject crossObj = list.getJSONObject(i);
JSONArray laneEles = crossObj.getJSONArray("laneEles");
......@@ -105,7 +107,6 @@ public class HkSchemePhaseLightsServiceImpl implements HkSchemePhaseLightsServic
crossLightsPO.setInOutType(3); // 海康都是进出口
}
// 插入数据返回自增ID
crossLightsMapper.deleteOne(crossId, laneNo);
crossLightsMapper.insertOne(crossLightsPO);
Integer crossLightsPOId = crossLightsPO.getId();
// 匹配缓存信息,构造相位灯组关系对象列表
......@@ -176,7 +177,9 @@ public class HkSchemePhaseLightsServiceImpl implements HkSchemePhaseLightsServic
private void handleSchemeData(String crossId, String crossCode, Integer patternNo, String patternName,
Map<Integer, PhaseCache> phaseNoMap) throws Exception {
// 清理数据库
crossPhaseMapper.deleteByCrossId(crossId);
crossSchemeMapper.deleteByCrossId(crossId);
// 请求3.1.4接口,获取并处理方案详情
Map<String, String> path = PathUtil.getPathMapByApiCode("getCrossPlanDetail");
Map<String, String> queryMap = new HashMap<>();
......@@ -203,12 +206,6 @@ public class HkSchemePhaseLightsServiceImpl implements HkSchemePhaseLightsServic
crossSchemePO.setSource(2);
crossSchemePO.setIsDeleted(0);
// 插入方案数据返回自增ID
CrossSchemePO crossSchemePO1 = crossSchemeMapper.selectByCrossIdAndSchemeNo(crossId, patternNo);
if (crossSchemePO1 != null) {
Integer schemeId = crossSchemePO1.getId();
crossPhaseMapper.deleteBatch(crossId, schemeId.toString());
crossSchemeMapper.deleteOne(crossId, patternNo.toString());
}
crossSchemeMapper.insertOne(crossSchemePO);
Integer schemePOId = crossSchemePO.getId();
// 生成相位数据
......
......@@ -54,7 +54,7 @@ public class WanJiCommonStaticInfoServiceImpl implements WanJiCommonStaticInfoSe
});
List<CrossPhasePO> crossPhaseList = content.getCrossPhaseList();
crossPhaseList.forEach(crossPhasePO -> {
crossPhaseMapper.deleteBatch(crossId, String.valueOf(crossPhasePO.getPlanId()));
crossPhaseMapper.deleteBatch(crossId, crossPhasePO.getPlanId());
crossPhaseMapper.insertOne(crossPhasePO);
});
......
......@@ -24,6 +24,11 @@
where cross_id = #{crossId} and name = #{elementId}
</delete>
<delete id="deleteByCrossId">
delete from t_cross_lights
where cross_id = #{crossId}
</delete>
<select id="selectByCrossId" resultMap="BaseResultMap">
select
id,lights_no,name,type,dir,turn,cross_id,in_out_type,gmt_create,gmt_modified
......
......@@ -43,6 +43,11 @@
where cross_id = #{crossId} and plan_id = #{schemeId}
</delete>
<delete id="deleteByCrossId">
delete from t_cross_phase
where cross_id = #{crossId}
</delete>
<sql id="baseColumn">
id,phase_no,name,sort,cross_id,plan_id,ring_no,control_mode,phase_time,green_time,
green_flash_time,ped_flash_time,yellow_time,red_time,min_green_time,max_green_time
......
......@@ -34,6 +34,11 @@
where cross_id = #{crossId} and scheme_no = #{patternNo}
</delete>
<delete id="deleteByCrossId">
delete from t_cross_scheme
where cross_id = #{crossId}
</delete>
<select id="selectByCrossIdAndSchemeNo" resultMap="BaseResultMap">
select
id,scheme_no,name,cross_id,cycle,coord_phase,offset,source,is_deleted,gmt_create,gmt_modified
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment