Compare commits
2 Commits
4cbc8e470e
...
f56838a6e9
Author | SHA1 | Date |
---|---|---|
|
f56838a6e9 | |
|
e8550ba001 |
|
@ -55,13 +55,13 @@ public class FaultInfo extends BaseEntity {
|
||||||
private String failureLevel;
|
private String failureLevel;
|
||||||
|
|
||||||
/** 故障开始时间 */
|
/** 故障开始时间 */
|
||||||
@JsonFormat(pattern = "yyyy-MM-dd")
|
@JsonFormat(pattern = "yyyy-MM-dd HH-mm-ss")
|
||||||
@Excel(name = "故障开始时间", width = 30, dateFormat = "yyyy-MM-dd")
|
@Excel(name = "故障开始时间", width = 30, dateFormat = "yyyy-MM-dd")
|
||||||
@ApiModelProperty(name = "故障开始时间", value = "故障开始时间")
|
@ApiModelProperty(name = "故障开始时间", value = "故障开始时间")
|
||||||
private Date startTime;
|
private Date startTime;
|
||||||
|
|
||||||
/** 故障结束时间 */
|
/** 故障结束时间 */
|
||||||
@JsonFormat(pattern = "yyyy-MM-dd")
|
@JsonFormat(pattern = "yyyy-MM-dd HH-mm-ss")
|
||||||
@Excel(name = "故障结束时间", width = 30, dateFormat = "yyyy-MM-dd")
|
@Excel(name = "故障结束时间", width = 30, dateFormat = "yyyy-MM-dd")
|
||||||
@ApiModelProperty(name = "故障结束时间", value = "故障结束时间")
|
@ApiModelProperty(name = "故障结束时间", value = "故障结束时间")
|
||||||
private Date endTime;
|
private Date endTime;
|
||||||
|
|
|
@ -18,6 +18,7 @@ import lombok.experimental.SuperBuilder;
|
||||||
@NoArgsConstructor
|
@NoArgsConstructor
|
||||||
@AllArgsConstructor
|
@AllArgsConstructor
|
||||||
public class DefectInfoAndFaultInfoList {
|
public class DefectInfoAndFaultInfoList {
|
||||||
private String defectCode;
|
private String vin ;
|
||||||
private Integer numCode;
|
private String faultCode;
|
||||||
|
private Integer count;
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
package com.muyu.many.domain.vo;
|
package com.muyu.many.domain.vo;
|
||||||
|
|
||||||
|
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||||
import lombok.AllArgsConstructor;
|
import lombok.AllArgsConstructor;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import lombok.NoArgsConstructor;
|
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;
|
private Date startTime;
|
||||||
/**
|
/**
|
||||||
* 结束时间
|
* 结束时间
|
||||||
*/
|
*/
|
||||||
|
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||||
|
@JsonFormat(pattern = "yyyy-MM-dd HH-mm-ss")
|
||||||
private Date endTime;
|
private Date endTime;
|
||||||
}
|
}
|
||||||
|
|
|
@ -3,6 +3,8 @@ package com.muyu.authentication.mapper;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||||
import com.muyu.many.domain.FaultInfo;
|
import com.muyu.many.domain.FaultInfo;
|
||||||
|
import com.muyu.many.domain.req.DefectInfoAndFaultInfoList;
|
||||||
|
import com.muyu.many.domain.vo.FaultInfoVo;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 故障记录Mapper接口
|
* 故障记录Mapper接口
|
||||||
|
@ -12,4 +14,5 @@ import com.muyu.many.domain.FaultInfo;
|
||||||
*/
|
*/
|
||||||
public interface FaultInfoMapper extends BaseMapper<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.data.redis.core.StringRedisTemplate;
|
||||||
import org.springframework.stereotype.Component;
|
import org.springframework.stereotype.Component;
|
||||||
|
|
||||||
|
import java.util.Date;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -40,6 +41,7 @@ public class BreakdownAbnormalMq {
|
||||||
FaultInfo faultInfo = JSON.parseObject(message, FaultInfo.class);
|
FaultInfo faultInfo = JSON.parseObject(message, FaultInfo.class);
|
||||||
|
|
||||||
log.info("faultInfo:{}", faultInfo);
|
log.info("faultInfo:{}", faultInfo);
|
||||||
|
|
||||||
String key=faultInfo.getVin()+"123";
|
String key=faultInfo.getVin()+"123";
|
||||||
String ent = redisTemplate.opsForValue().get(key);
|
String ent = redisTemplate.opsForValue().get(key);
|
||||||
DynamicDataSourceHolder.setDynamicDataSourceKey(ent);
|
DynamicDataSourceHolder.setDynamicDataSourceKey(ent);
|
||||||
|
@ -54,13 +56,24 @@ public class BreakdownAbnormalMq {
|
||||||
log.info("开始消费");
|
log.info("开始消费");
|
||||||
FaultInfo faultInfo = JSON.parseObject(message, FaultInfo.class);
|
FaultInfo faultInfo = JSON.parseObject(message, FaultInfo.class);
|
||||||
log.info("faultInfo:{}", faultInfo);
|
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);
|
String ent = redisTemplate.opsForValue().get(key);
|
||||||
DynamicDataSourceHolder.setDynamicDataSourceKey(ent);
|
DynamicDataSourceHolder.setDynamicDataSourceKey(ent);
|
||||||
|
|
||||||
//获取最新一天数据
|
//获取最新一天数据
|
||||||
List<FaultInfo> faultInfos = faultInfoMapper.selectList(
|
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()) {
|
if (!faultInfos.isEmpty()) {
|
||||||
|
@ -73,9 +86,10 @@ public class BreakdownAbnormalMq {
|
||||||
faultInfoMapper.updateById(
|
faultInfoMapper.updateById(
|
||||||
FaultInfo.builder()
|
FaultInfo.builder()
|
||||||
.id(latestFaultInfo.getId())
|
.id(latestFaultInfo.getId())
|
||||||
.endTime(faultInfo.getEndTime())
|
.endTime(new Date())
|
||||||
.build()
|
.build()
|
||||||
);
|
);
|
||||||
|
DynamicDataSourceHolder.removeDynamicDataSourceKey();
|
||||||
log.info("消费结束");
|
log.info("消费结束");
|
||||||
}
|
}
|
||||||
log.info("消费结束");
|
log.info("消费结束");
|
||||||
|
|
|
@ -6,11 +6,13 @@ import java.util.List;
|
||||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
import com.muyu.authentication.mapper.FaultInfoMapper;
|
import com.muyu.authentication.mapper.FaultInfoMapper;
|
||||||
import com.muyu.authentication.service.FaultInfoService;
|
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.common.core.utils.ObjUtils;
|
||||||
import com.muyu.many.domain.FaultInfo;
|
import com.muyu.many.domain.FaultInfo;
|
||||||
import com.muyu.many.domain.req.DefectInfoAndFaultInfoList;
|
import com.muyu.many.domain.req.DefectInfoAndFaultInfoList;
|
||||||
import com.muyu.many.domain.vo.FaultInfoVo;
|
import com.muyu.many.domain.vo.FaultInfoVo;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
|
@ -25,6 +27,9 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
@Service
|
@Service
|
||||||
public class FaultInfoServiceImpl extends ServiceImpl<FaultInfoMapper, FaultInfo> implements FaultInfoService {
|
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
|
@Override
|
||||||
public List<DefectInfoAndFaultInfoList> getDefectInfoAndFaultInfoList(FaultInfoVo faultInfoVo) {
|
public List<DefectInfoAndFaultInfoList> getDefectInfoAndFaultInfoList(FaultInfoVo faultInfoVo) {
|
||||||
//条件
|
List<DefectInfoAndFaultInfoList> defectInfoAndFaultInfoList = faultInfoMapper.getDefectInfoAndFaultInfoList(faultInfoVo);
|
||||||
LambdaQueryWrapper<FaultInfo> queryWrapper = new LambdaQueryWrapper<>();
|
DynamicDataSourceHolder.removeDynamicDataSourceKey();
|
||||||
if (ObjUtils.notNull(faultInfoVo.getEndTime())){
|
return defectInfoAndFaultInfoList;
|
||||||
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;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
<!DOCTYPE mapper
|
<!DOCTYPE mapper
|
||||||
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||||
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
"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">
|
<resultMap type="com.muyu.many.domain.FaultInfo" id="FaultInfoResult">
|
||||||
<result property="id" column="id" />
|
<result property="id" column="id" />
|
||||||
|
@ -21,4 +21,18 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||||
<sql id="selectFaultInfoVo">
|
<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
|
select id, fault_code, vin, failure_level, start_time, end_time, remark, create_by, create_time, update_by, update_time from fault_info
|
||||||
</sql>
|
</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>
|
</mapper>
|
||||||
|
|
Loading…
Reference in New Issue