test(测试故障记录)
commit
e8550ba001
|
@ -55,13 +55,13 @@ public class FaultInfo extends BaseEntity {
|
|||
private String failureLevel;
|
||||
|
||||
/** 故障开始时间 */
|
||||
@JsonFormat(pattern = "yyyy-MM-dd")
|
||||
@JsonFormat(pattern = "yyyy-MM-dd HH-mm-ss")
|
||||
@Excel(name = "故障开始时间", width = 30, dateFormat = "yyyy-MM-dd")
|
||||
@ApiModelProperty(name = "故障开始时间", value = "故障开始时间")
|
||||
private Date startTime;
|
||||
|
||||
/** 故障结束时间 */
|
||||
@JsonFormat(pattern = "yyyy-MM-dd")
|
||||
@JsonFormat(pattern = "yyyy-MM-dd HH-mm-ss")
|
||||
@Excel(name = "故障结束时间", width = 30, dateFormat = "yyyy-MM-dd")
|
||||
@ApiModelProperty(name = "故障结束时间", value = "故障结束时间")
|
||||
private Date endTime;
|
||||
|
|
|
@ -18,6 +18,7 @@ import lombok.experimental.SuperBuilder;
|
|||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public class DefectInfoAndFaultInfoList {
|
||||
private String defectCode;
|
||||
private Integer numCode;
|
||||
private String vin ;
|
||||
private String faultCode;
|
||||
private Integer count;
|
||||
}
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
package com.muyu.many.domain.vo;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
@ -24,9 +25,13 @@ public class FaultInfoVo {
|
|||
/**
|
||||
* 开始时间
|
||||
*/
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
@JsonFormat(pattern = "yyyy-MM-dd HH-mm-ss")
|
||||
private Date startTime;
|
||||
/**
|
||||
* 结束时间
|
||||
*/
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
@JsonFormat(pattern = "yyyy-MM-dd HH-mm-ss")
|
||||
private Date endTime;
|
||||
}
|
||||
|
|
|
@ -3,6 +3,8 @@ package com.muyu.authentication.mapper;
|
|||
import java.util.List;
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.muyu.many.domain.FaultInfo;
|
||||
import com.muyu.many.domain.req.DefectInfoAndFaultInfoList;
|
||||
import com.muyu.many.domain.vo.FaultInfoVo;
|
||||
|
||||
/**
|
||||
* 故障记录Mapper接口
|
||||
|
@ -12,4 +14,5 @@ import com.muyu.many.domain.FaultInfo;
|
|||
*/
|
||||
public interface FaultInfoMapper extends BaseMapper<FaultInfo> {
|
||||
|
||||
List<DefectInfoAndFaultInfoList> getDefectInfoAndFaultInfoList(FaultInfoVo faultInfoVo);
|
||||
}
|
||||
|
|
|
@ -13,6 +13,7 @@ import org.springframework.beans.factory.annotation.Autowired;
|
|||
import org.springframework.data.redis.core.StringRedisTemplate;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
|
@ -40,6 +41,7 @@ public class BreakdownAbnormalMq {
|
|||
FaultInfo faultInfo = JSON.parseObject(message, FaultInfo.class);
|
||||
|
||||
log.info("faultInfo:{}", faultInfo);
|
||||
|
||||
String key=faultInfo.getVin()+"123";
|
||||
String ent = redisTemplate.opsForValue().get(key);
|
||||
DynamicDataSourceHolder.setDynamicDataSourceKey(ent);
|
||||
|
@ -54,13 +56,24 @@ public class BreakdownAbnormalMq {
|
|||
log.info("开始消费");
|
||||
FaultInfo faultInfo = JSON.parseObject(message, FaultInfo.class);
|
||||
log.info("faultInfo:{}", faultInfo);
|
||||
String key=faultInfo.getVin()+"123";
|
||||
String[] split = faultInfo.getVin().split("-");
|
||||
log.info("split:{}",split[0]);
|
||||
|
||||
FaultInfo build = FaultInfo.builder()
|
||||
.faultCode(split[1])
|
||||
.vin(split[0])
|
||||
.endTime(faultInfo.getEndTime())
|
||||
.build();
|
||||
String key=build.getVin()+"123";
|
||||
String ent = redisTemplate.opsForValue().get(key);
|
||||
DynamicDataSourceHolder.setDynamicDataSourceKey(ent);
|
||||
|
||||
//获取最新一天数据
|
||||
List<FaultInfo> faultInfos = faultInfoMapper.selectList(
|
||||
new QueryWrapper<FaultInfo>().orderByDesc("id").last("limit 1")
|
||||
new QueryWrapper<FaultInfo>()
|
||||
.eq("fault_code", build.getFaultCode()) // 替换 yourFaultCode 为实际的故障代码值
|
||||
.orderByDesc("start_time")
|
||||
.last("LIMIT 1")
|
||||
);
|
||||
//判断非空
|
||||
if (!faultInfos.isEmpty()) {
|
||||
|
@ -73,9 +86,10 @@ public class BreakdownAbnormalMq {
|
|||
faultInfoMapper.updateById(
|
||||
FaultInfo.builder()
|
||||
.id(latestFaultInfo.getId())
|
||||
.endTime(faultInfo.getEndTime())
|
||||
.endTime(new Date())
|
||||
.build()
|
||||
);
|
||||
DynamicDataSourceHolder.removeDynamicDataSourceKey();
|
||||
log.info("消费结束");
|
||||
}
|
||||
log.info("消费结束");
|
||||
|
|
|
@ -6,11 +6,13 @@ import java.util.List;
|
|||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.muyu.authentication.mapper.FaultInfoMapper;
|
||||
import com.muyu.authentication.service.FaultInfoService;
|
||||
import com.muyu.clw.common.many.datasource.holder.DynamicDataSourceHolder;
|
||||
import com.muyu.common.core.utils.ObjUtils;
|
||||
import com.muyu.many.domain.FaultInfo;
|
||||
import com.muyu.many.domain.req.DefectInfoAndFaultInfoList;
|
||||
import com.muyu.many.domain.vo.FaultInfoVo;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
|
@ -25,6 +27,9 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|||
@Service
|
||||
public class FaultInfoServiceImpl extends ServiceImpl<FaultInfoMapper, FaultInfo> implements FaultInfoService {
|
||||
|
||||
@Autowired
|
||||
private FaultInfoMapper faultInfoMapper;
|
||||
|
||||
/**
|
||||
* 查询故障记录列表
|
||||
*
|
||||
|
@ -61,20 +66,8 @@ public class FaultInfoServiceImpl extends ServiceImpl<FaultInfoMapper, FaultInfo
|
|||
|
||||
@Override
|
||||
public List<DefectInfoAndFaultInfoList> getDefectInfoAndFaultInfoList(FaultInfoVo faultInfoVo) {
|
||||
//条件
|
||||
LambdaQueryWrapper<FaultInfo> queryWrapper = new LambdaQueryWrapper<>();
|
||||
if (ObjUtils.notNull(faultInfoVo.getEndTime())){
|
||||
queryWrapper.le(FaultInfo::getEndTime,faultInfoVo.getEndTime());
|
||||
}
|
||||
|
||||
if (ObjUtils.notNull(faultInfoVo.getStartTime())){
|
||||
queryWrapper.ge(FaultInfo::getStartTime,faultInfoVo.getStartTime());
|
||||
}
|
||||
List<FaultInfo> list = list(queryWrapper);
|
||||
List<DefectInfoAndFaultInfoList> arrayList = new ArrayList<>();
|
||||
for (FaultInfo faultInfo : list) {
|
||||
|
||||
}
|
||||
return null;
|
||||
List<DefectInfoAndFaultInfoList> defectInfoAndFaultInfoList = faultInfoMapper.getDefectInfoAndFaultInfoList(faultInfoVo);
|
||||
DynamicDataSourceHolder.removeDynamicDataSourceKey();
|
||||
return defectInfoAndFaultInfoList;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
<!DOCTYPE mapper
|
||||
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="com.muyu.fault.mapper.FaultInfoMapper">
|
||||
<mapper namespace="com.muyu.authentication.mapper.FaultInfoMapper">
|
||||
|
||||
<resultMap type="com.muyu.many.domain.FaultInfo" id="FaultInfoResult">
|
||||
<result property="id" column="id" />
|
||||
|
@ -21,4 +21,18 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||
<sql id="selectFaultInfoVo">
|
||||
select id, fault_code, vin, failure_level, start_time, end_time, remark, create_by, create_time, update_by, update_time from fault_info
|
||||
</sql>
|
||||
<select id="getDefectInfoAndFaultInfoList"
|
||||
resultType="com.muyu.many.domain.req.DefectInfoAndFaultInfoList">
|
||||
SELECT vin,fault_code, COUNT(*) as count
|
||||
FROM fault_info
|
||||
<where>
|
||||
<if test="startTime != null and startTime != ''">
|
||||
and start_time < #{startTime}
|
||||
</if>
|
||||
<if test="endTime != null and endTime != ''">
|
||||
and end_time >= #{endTime}
|
||||
</if>
|
||||
</where>
|
||||
GROUP BY fault_code;
|
||||
</select>
|
||||
</mapper>
|
||||
|
|
Loading…
Reference in New Issue