Browse Source

优化扫码报警上传数据格式

develop
zhaoxianglong 8 months ago
parent
commit
ee7eb850b8
  1. 90
      zc-business/src/main/java/com/zc/business/controller/CodeScanningAlarmController.java
  2. 18
      zc-business/src/main/java/com/zc/business/mapper/DcWarningMapper.java
  3. 18
      zc-business/src/main/java/com/zc/business/service/IDcWarningService.java
  4. 11
      zc-business/src/main/java/com/zc/business/service/impl/DcWarningServiceImpl.java
  5. 10
      zc-business/src/main/resources/mapper/business/DcWarningMapper.xml

90
zc-business/src/main/java/com/zc/business/controller/CodeScanningAlarmController.java

@ -1,8 +1,8 @@
package com.zc.business.controller;
import com.alibaba.fastjson.JSONObject;
import com.ruoyi.common.core.controller.BaseController;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.utils.uuid.IdUtils;
import com.zc.business.domain.DcWarning;
import com.zc.business.service.IDcWarningService;
import io.swagger.annotations.Api;
@ -36,49 +36,53 @@ public class CodeScanningAlarmController extends BaseController {
*/
@PostMapping(value = "/event")
public AjaxResult codeScanningAlarmControllerEvent(@RequestBody Map<String, Object> returnParameters) {
String id = String.valueOf(returnParameters.get("id"));
DcWarning dcWarning = new DcWarning();
//设置事件Id UUID无下划线格式32
String uuid = IdUtils.fastSimpleUUID();
dcWarning.setId(uuid);
dcWarning.setStakeMark(String.valueOf(returnParameters.get("stakeNum")));
String roadCode = String.valueOf(returnParameters.get("roadCode"));
dcWarning.setDirection(Objects.equals(roadCode, "1") ? "3" : "1");
String createTime = String.valueOf(returnParameters.get("createTime"));
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd'T'HH:mmXXX");
try {
dcWarning.setWarningTime(format.parse(createTime));
} catch (ParseException e) {
dcWarning.setWarningTime(new Date());
dcWarning.setId(id);
dcWarning.setOtherConfig(String.valueOf(JSONObject.parseObject(JSONObject.toJSONString(returnParameters))));
if (dcWarningService.selectDcWarningById(id) == null) {
dcWarning.setStakeMark(String.valueOf(returnParameters.get("stakeNum")));
String roadCode = String.valueOf(returnParameters.get("roadCode"));
dcWarning.setDirection(Objects.equals(roadCode, "1") ? "3" : "1");
String createTime = String.valueOf(returnParameters.get("createTime"));
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd'T'HH:mmXXX");
try {
dcWarning.setWarningTime(format.parse(createTime));
} catch (ParseException e) {
dcWarning.setWarningTime(new Date());
}
dcWarning.setCreateTime(new Date());
String accidentType = String.valueOf(returnParameters.get("accidentType"));
switch (accidentType) {
case "1"://车辆炸胎(无备胎)
dcWarning.setWarningType(11);
dcWarning.setWarningSubclass("11-3");
break;
case "2"://车辆炸胎(有备胎)
dcWarning.setWarningType(11);
dcWarning.setWarningSubclass("11-2");
break;
case "3"://车辆抛锚
dcWarning.setWarningType(11);
dcWarning.setWarningSubclass("11-1");
break;
case "4"://单车事故
dcWarning.setWarningType(10);
dcWarning.setWarningSubclass("10-2");
break;
case "5"://多车事故
dcWarning.setWarningType(10);
dcWarning.setWarningSubclass("10-3");
break;
}
String warningTitle = "济荷高速:" + (Objects.equals(roadCode, "1") ? "济南方向" : "菏泽方向") + "发生" + (Integer.parseInt(accidentType) >= 4 ? "交通事故事件" : "车辆故障事件");
dcWarning.setWarningTitle(warningTitle);
dcWarning.setWarningSource(5);
dcWarning.setWarningState(1);
return AjaxResult.success(dcWarningService.insertDcWarning(dcWarning));
} else {
return AjaxResult.success(dcWarningService.updateDcWarning(dcWarning));
}
dcWarning.setCreateTime(new Date());
String accidentType = String.valueOf(returnParameters.get("accidentType"));
switch (accidentType) {
case "1"://车辆炸胎(无备胎)
dcWarning.setWarningType(11);
dcWarning.setWarningSubclass("11-3");
break;
case "2"://车辆炸胎(有备胎)
dcWarning.setWarningType(11);
dcWarning.setWarningSubclass("11-2");
break;
case "3"://车辆抛锚
dcWarning.setWarningType(11);
dcWarning.setWarningSubclass("11-1");
break;
case "4"://单车事故
dcWarning.setWarningType(10);
dcWarning.setWarningSubclass("10-2");
break;
case "5"://多车事故
dcWarning.setWarningType(10);
dcWarning.setWarningSubclass("10-3");
break;
}
String warningTitle = "济荷高速:" + (Objects.equals(roadCode, "1") ? "济南方向" : "菏泽方向") + "发生" + (Integer.parseInt(accidentType) >= 4 ? "交通事故事件" : "车辆故障事件");
dcWarning.setWarningTitle(warningTitle);
dcWarning.setOtherConfig(returnParameters.toString());
dcWarning.setWarningSource(5);
dcWarning.setWarningState(1);
return AjaxResult.success(dcWarningService.insertDcWarning(dcWarning));
}
}

18
zc-business/src/main/java/com/zc/business/mapper/DcWarningMapper.java

@ -7,23 +7,23 @@ import org.apache.ibatis.annotations.Param;
/**
* 预警信息Mapper接口
*
*
* @author ruoyi
* @date 2024-01-26
*/
public interface DcWarningMapper
public interface DcWarningMapper
{
/**
* 查询预警信息
*
*
* @param id 预警信息主键
* @return 预警信息
*/
public HashMap<String,Object> selectDcWarningById(Integer id);
public DcWarning selectDcWarningById(String id);
/**
* 查询预警信息列表
*
*
* @param dcWarning 预警信息
* @return 预警信息集合
*/
@ -32,7 +32,7 @@ public interface DcWarningMapper
List<DcWarning> export(DcWarning dcWarning);
/**
* 新增预警信息
*
*
* @param dcWarning 预警信息
* @return 结果
*/
@ -40,7 +40,7 @@ public interface DcWarningMapper
/**
* 修改预警信息
*
*
* @param dcWarning 预警信息
* @return 结果
*/
@ -48,7 +48,7 @@ public interface DcWarningMapper
/**
* 删除预警信息
*
*
* @param id 预警信息主键
* @return 结果
*/
@ -56,7 +56,7 @@ public interface DcWarningMapper
/**
* 批量删除预警信息
*
*
* @param id 需要删除的数据主键集合
* @return 结果
*/

18
zc-business/src/main/java/com/zc/business/service/IDcWarningService.java

@ -10,23 +10,23 @@ import org.springframework.web.bind.annotation.RequestBody;
/**
* 预警信息Service接口
*
*
* @author ruoyi
* @date 2024-01-26
*/
public interface IDcWarningService
public interface IDcWarningService
{
/**
* 查询预警信息
*
*
* @param id 预警信息主键
* @return 预警信息
*/
public HashMap<String,Object> selectDcWarningById(Integer id);
public DcWarning selectDcWarningById(String id);
/**
* 查询预警信息列表
*
*
* @param dcWarning 预警信息
* @return 预警信息集合
*/
@ -35,7 +35,7 @@ public interface IDcWarningService
List<DcWarning> export(DcWarning dcWarning);
/**
* 新增预警信息
*
*
* @param dcWarning 预警信息
* @return 结果
*/
@ -43,7 +43,7 @@ public interface IDcWarningService
/**
* 修改预警信息
*
*
* @param dcWarning 预警信息
* @return 结果
*/
@ -51,7 +51,7 @@ public interface IDcWarningService
/**
* 批量删除预警信息
*
*
* @param id 需要删除的预警信息主键集合
* @return 结果
*/
@ -59,7 +59,7 @@ public interface IDcWarningService
/**
* 删除预警信息信息
*
*
* @param id 预警信息主键
* @return 结果
*/

11
zc-business/src/main/java/com/zc/business/service/impl/DcWarningServiceImpl.java

@ -4,6 +4,7 @@ import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.utils.DateUtils;
import com.ruoyi.common.utils.SecurityUtils;
import com.ruoyi.common.utils.uuid.IdUtils;
import com.zc.business.domain.DcDevice;
import com.zc.business.domain.DcEvent;
import com.zc.business.domain.DcWarning;
import com.zc.business.domain.DcWarningBatchConvert;
@ -44,7 +45,7 @@ public class DcWarningServiceImpl implements IDcWarningService
* @return 预警信息
*/
@Override
public HashMap<String, Object> selectDcWarningById(Integer id)
public DcWarning selectDcWarningById(String id)
{
return dcWarningMapper.selectDcWarningById(id);
}
@ -76,9 +77,11 @@ public class DcWarningServiceImpl implements IDcWarningService
public int insertDcWarning(DcWarning dcWarning)
{
dcWarning.setCreateTime(DateUtils.getNowDate());
//设置事件Id UUID无下划线格式32
String uuid = IdUtils.fastSimpleUUID();
dcWarning.setId(uuid);
if (dcWarning.getId()==null) {
//设置事件Id UUID无下划线格式32
String uuid = IdUtils.fastSimpleUUID();
dcWarning.setId(uuid);
}
return dcWarningMapper.insertDcWarning(dcWarning);
}

10
zc-business/src/main/resources/mapper/business/DcWarningMapper.xml

@ -3,7 +3,7 @@
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.zc.business.mapper.DcWarningMapper">
<resultMap type="DcWarning" id="DcWarningResult">
<result property="id" column="id" />
<result property="stakeMark" column="stake_mark" />
@ -45,7 +45,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<select id="selectDcWarningList" parameterType="DcWarning" resultType="hashmap">
<include refid="selectDcWarningVo"/>
<where>
<where>
<if test="stakeMark != null and stakeMark != ''"> and stake_mark = #{stakeMark}</if>
<if test="direction != null and direction != ''"> and direction = #{direction}</if>
<if test="deptId != null "> and dept_id = #{deptId}</if>
@ -63,8 +63,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="endDate != null and endDate != ''"> and date_format(warning_time,'%Y-%m-%d') &lt;= #{endDate}</if>
</where>
</select>
<select id="selectDcWarningById" parameterType="Integer" resultType="hashmap">
<select id="selectDcWarningById" parameterType="string" resultType="com.zc.business.domain.DcWarning">
<include refid="selectDcWarningVo"/>
where id = #{id}
</select>
@ -198,4 +198,4 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
</where>
</select>
</mapper>
</mapper>

Loading…
Cancel
Save