puzhibing
2025-06-05 5393e1b43f7148adc93dd5a29f7b6fd4a054eec6
Merge remote-tracking branch 'origin/master'
4个文件已添加
4个文件已修改
203 ■■■■■ 已修改文件
ruoyi-api/ruoyi-api-dataInterchange/src/main/java/com/ruoyi/dataInterchange/api/factory/UPWarnMsgOperationInfoClientFallbackFactory.java 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-api/ruoyi-api-dataInterchange/src/main/java/com/ruoyi/dataInterchange/api/feignClient/UPWarnMsgOperationInfoClient.java 27 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-api/ruoyi-api-dataInterchange/src/main/java/com/ruoyi/dataInterchange/api/vo/UPWarnMsgOperationInfoVo.java 70 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-api/ruoyi-api-dataInterchange/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/WarnServiceImpl.java 27 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-system/src/main/resources/mapping/system/WarnMapper.xml 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-dataInterchange/src/main/java/com/ruoyi/dataInterchange/controller/UPWarnMsgOperationInfoController.java 42 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-dataInterchange/src/main/java/com/ruoyi/dataInterchange/dao/UPWarnMsgOperationInfoDao.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-api/ruoyi-api-dataInterchange/src/main/java/com/ruoyi/dataInterchange/api/factory/UPWarnMsgOperationInfoClientFallbackFactory.java
New file
@@ -0,0 +1,23 @@
package com.ruoyi.dataInterchange.api.factory;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.dataInterchange.api.feignClient.UPWarnMsgOperationInfoClient;
import com.ruoyi.dataInterchange.api.vo.UPWarnMsgOperationInfoVo;
import org.springframework.cloud.openfeign.FallbackFactory;
/**
 * @author zhibing.pu
 * @Date 2025/6/5 15:59
 */
public class UPWarnMsgOperationInfoClientFallbackFactory implements FallbackFactory<UPWarnMsgOperationInfoClient> {
    @Override
    public UPWarnMsgOperationInfoClient create(Throwable cause) {
        return new UPWarnMsgOperationInfoClient() {
            @Override
            public R<UPWarnMsgOperationInfoVo> getUPWarnMsgOperationInfo(String infoId) {
                return R.fail("根据infoId查询报警处置记录失败:" + cause.getMessage());
            }
        };
    }
}
ruoyi-api/ruoyi-api-dataInterchange/src/main/java/com/ruoyi/dataInterchange/api/feignClient/UPWarnMsgOperationInfoClient.java
New file
@@ -0,0 +1,27 @@
package com.ruoyi.dataInterchange.api.feignClient;
import com.ruoyi.common.core.constant.ServiceNameConstants;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.dataInterchange.api.factory.UPWarnMsgOperationInfoClientFallbackFactory;
import com.ruoyi.dataInterchange.api.vo.UPWarnMsgOperationInfoVo;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestParam;
/**
 * @author zhibing.pu
 * @Date 2025/6/5 15:58
 */
@FeignClient(contextId = "UPWarnMsgOperationInfoClient", value = ServiceNameConstants.DATA_INTERCHANGE_SERVICE, fallbackFactory = UPWarnMsgOperationInfoClientFallbackFactory.class)
public interface UPWarnMsgOperationInfoClient {
    /**
     * 根据infoId查询报警处置记录
     * @param infoId
     * @return
     */
    @PostMapping("/getUPWarnMsgOperationInfo")
    R<UPWarnMsgOperationInfoVo> getUPWarnMsgOperationInfo(@RequestParam("infoId") String infoId);
}
ruoyi-api/ruoyi-api-dataInterchange/src/main/java/com/ruoyi/dataInterchange/api/vo/UPWarnMsgOperationInfoVo.java
New file
@@ -0,0 +1,70 @@
package com.ruoyi.dataInterchange.api.vo;
import lombok.Data;
/**
 * @author zhibing.pu
 * @Date 2025/6/5 16:01
 */
@Data
public class UPWarnMsgOperationInfoVo {
    private String id;
    /**
     * 下级平台唯一标识
     */
    private Integer inferiorPlatformId;
    /**
     * 添加时间
     */
    private Long createTime;
    /**
     * 车牌号
     */
    private String vehicleNo;
    /**
     * 车牌颜色
     */
    private int vehicleColor;
    /**
     * 子业务类型标识
     */
    private int dataType;
    /**
     * 后续数据长度
     */
    private int dataLength;
    /**
     * 报警信息ID
     */
    private String infoId;
    /**
     * 报警处理结果
     * 0x00:处理中
     * 0x01:已处理完毕
     */
    private int result;
    /**
     * 报警处理方式
     * 0x00: 快速拍照
     * 0x01: 语音下发
     * 0x02: 不做处理
     * 0x03: 其他
     */
    private int method;
    /**
     * 报警处理人姓名长度
     */
    private int operatorLength;
    /**
     * 报警处理人姓名
     */
    private String operator;
    /**
     * 报警处理人所属公司名称长度
     */
    private int companyLength;
    /**
     * 报警处理人所属公司名称
     */
    private String company;
}
ruoyi-api/ruoyi-api-dataInterchange/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports
@@ -5,4 +5,5 @@
com.ruoyi.dataInterchange.api.factory.UPWarnMsgAdptInfoClientFallbackFactory
com.ruoyi.dataInterchange.api.factory.UPExgMsgTakeEwayBillAckClientFallbackFactory
com.ruoyi.dataInterchange.api.factory.PlaybackMsgClientFallbackFactory
com.ruoyi.dataInterchange.api.factory.HaiKangClientFallbackFactory
com.ruoyi.dataInterchange.api.factory.HaiKangClientFallbackFactory
com.ruoyi.dataInterchange.api.factory.UPWarnMsgOperationInfoClientFallbackFactory
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/WarnServiceImpl.java
@@ -5,8 +5,10 @@
import com.ruoyi.common.core.utils.StringUtils;
import com.ruoyi.common.core.web.page.PageInfo;
import com.ruoyi.dataInterchange.api.feignClient.UPWarnMsgAdptInfoClient;
import com.ruoyi.dataInterchange.api.feignClient.UPWarnMsgOperationInfoClient;
import com.ruoyi.dataInterchange.api.model.enums.WarnType;
import com.ruoyi.dataInterchange.api.vo.UPWarnMsgAdptInfoVo;
import com.ruoyi.dataInterchange.api.vo.UPWarnMsgOperationInfoVo;
import com.ruoyi.system.api.model.Car;
import com.ruoyi.system.api.model.Driver;
import com.ruoyi.system.api.model.Enterprise;
@@ -49,6 +51,9 @@
    
    @Resource
    private ICarService carService;
    @Resource
    private UPWarnMsgOperationInfoClient upWarnMsgOperationInfoClient;
    
    
    /**
@@ -180,6 +185,28 @@
                        warn.setTreatmentState("将来处理");
                        break;
                }
                UPWarnMsgOperationInfoVo upWarnMsgOperationInfoVo = upWarnMsgOperationInfoClient.getUPWarnMsgOperationInfo(warn.getObjectId()).getData();
                if(null != upWarnMsgOperationInfoVo){
                    warn.setTreatmentUser(upWarnMsgOperationInfoVo.getOperator());
                    warn.setTreatmentTime(LocalDateTime.ofEpochSecond(upWarnMsgOperationInfoVo.getCreateTime(), 0, ZoneOffset.ofHours(8)).format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
                    switch (upWarnMsgOperationInfoVo.getMethod()) {
                        case 0x01:
                            warn.setTreatmentRemark("快速拍照");
                            break;
                        case 0x02:
                            warn.setTreatmentRemark("语音下发");
                            break;
                        case 0x03:
                            warn.setTreatmentRemark("不做处理");
                            break;
                        case 0x04:
                            warn.setTreatmentRemark("其他");
                            break;
                        default:
                            warn.setTreatmentRemark("其他");
                            break;
                    }
                }
            }
            if(null == warn.getPicUrl()){
                warn.setPicUrl(vo.getPicUrl());
ruoyi-modules/ruoyi-system/src/main/resources/mapping/system/WarnMapper.xml
@@ -142,7 +142,7 @@
            count(1) as total
            from t_warn a
            left join t_car b on (a.car_id = b.id)
            where a.car_id is not null and a.treatment_state = '已处理' group by b.operate_type
            where a.car_id is not null and a.treatment_state = '已处理完毕' group by b.operate_type
        ) as bb on (ct.name = bb.operate_type)
        left join (
            select
@@ -150,7 +150,7 @@
            count(1) as total
            from t_warn a
            left join t_car b on (a.car_id = b.id)
            where a.car_id is not null and a.treatment_state = '处理中' group by b.operate_type
            where a.car_id is not null and a.treatment_state != '已处理完毕' group by b.operate_type
        ) as cc on (ct.name = cc.operate_type)
    </select>
</mapper>
ruoyi-service/ruoyi-dataInterchange/src/main/java/com/ruoyi/dataInterchange/controller/UPWarnMsgOperationInfoController.java
New file
@@ -0,0 +1,42 @@
package com.ruoyi.dataInterchange.controller;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.dataInterchange.api.vo.UPWarnMsgOperationInfoVo;
import com.ruoyi.dataInterchange.dao.UPWarnMsgOperationInfoDao;
import com.ruoyi.dataInterchange.model.UPWarnMsgOperationInfo;
import org.springframework.beans.BeanUtils;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
/**
 * @author zhibing.pu
 * @Date 2025/6/5 15:54
 */
@RestController
@RequestMapping("/uPWarnMsgOperationInfo")
public class UPWarnMsgOperationInfoController {
    @Resource
    private UPWarnMsgOperationInfoDao upWarnMsgOperationInfoDao;
    /**
     * 根据infoId查询报警处置记录
     * @param infoId
     * @return
     */
    @ResponseBody
    @PostMapping("/getUPWarnMsgOperationInfo")
    public R<UPWarnMsgOperationInfoVo> getUPWarnMsgOperationInfo(@RequestParam("infoId") String infoId){
        UPWarnMsgOperationInfo upWarnMsgOperationInfo = upWarnMsgOperationInfoDao.findByInfoIdIsOrderByCreateTimeDesc(infoId);
        if(null != upWarnMsgOperationInfo){
            UPWarnMsgOperationInfoVo vo = new UPWarnMsgOperationInfoVo();
            BeanUtils.copyProperties(upWarnMsgOperationInfo, vo);
            return R.ok(vo);
        }
        return R.ok();
    }
}
ruoyi-service/ruoyi-dataInterchange/src/main/java/com/ruoyi/dataInterchange/dao/UPWarnMsgOperationInfoDao.java
@@ -10,4 +10,11 @@
 */
@Repository
public interface UPWarnMsgOperationInfoDao extends ElasticsearchRepository<UPWarnMsgOperationInfo, String> {
    /**
     * 根据infoId查询最新一条数据
     * @param infoId
     * @return
     */
    UPWarnMsgOperationInfo findByInfoIdIsOrderByCreateTimeDesc(String infoId);
}