test:(指标预警)

dev
zhang xu 2024-06-26 22:40:19 +08:00
parent cdff710a90
commit bc8ff2fdcc
12 changed files with 515 additions and 8 deletions

View File

@ -0,0 +1,35 @@
package com.muyu.domain.data;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.SuperBuilder;
/**
* @ClassDescription:
* @JdkVersion: 17
* @Author: zhangxu
* @Created: 2024/6/26 17:04
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
@SuperBuilder
@TableName("message")
public class Message {
/**
* id
* */
private Long id;
/**
*
* */
private String name;
/**
*
* */
private String description;
}

View File

@ -0,0 +1,108 @@
package com.muyu.domain.data;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.muyu.common.core.annotation.Excel;
import com.muyu.common.core.web.domain.BaseEntity;
import com.muyu.domain.req.MessageDetailEditReq;
import com.muyu.domain.req.MessageDetailQueryReq;
import com.muyu.domain.req.MessageDetailSaveReq;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.experimental.SuperBuilder;
/**
* @ClassDescription:
* @JdkVersion: 17
* @Author: zhangxu
* @Created: 2024/6/26 21:45
*/
@Data
@SuperBuilder
@NoArgsConstructor
@AllArgsConstructor
@TableName("message_detail")
@EqualsAndHashCode(callSuper = true)
@ApiModel(value = "MessageDetail", description = "报文详情")
public class MessageDetail extends BaseEntity {
private static final long serialVersionUID = 1L;
/** 主键 */
@TableId(value = "id",type = IdType.AUTO)
@ApiModelProperty(name = "主键", value = "主键")
private Long id;
/** 指标项key */
@Excel(name = "指标项key")
@ApiModelProperty(name = "指标项key", value = "指标项key")
private String key;
/** 起始位 */
@Excel(name = "起始位")
@ApiModelProperty(name = "起始位", value = "起始位")
private Long startBit;
/** 终止位 */
@Excel(name = "终止位")
@ApiModelProperty(name = "终止位", value = "终止位")
private Long stopBit;
/** 指标项标签 */
@Excel(name = "指标项标签")
@ApiModelProperty(name = "指标项标签", value = "指标项标签")
private String label;
/** 类型 */
@Excel(name = "类型")
@ApiModelProperty(name = "类型", value = "类型")
private String type;
/**
*
*/
public static MessageDetail queryBuild(MessageDetailQueryReq messageDetailQueryReq){
return MessageDetail.builder()
.key(messageDetailQueryReq.getKey())
.startBit(messageDetailQueryReq.getStartBit())
.stopBit(messageDetailQueryReq.getStopBit())
.label(messageDetailQueryReq.getLabel())
.type(messageDetailQueryReq.getType())
.build();
}
/**
*
*/
public static MessageDetail saveBuild(MessageDetailSaveReq messageDetailSaveReq){
return MessageDetail.builder()
.key(messageDetailSaveReq.getKey())
.startBit(messageDetailSaveReq.getStartBit())
.stopBit(messageDetailSaveReq.getStopBit())
.label(messageDetailSaveReq.getLabel())
.type(messageDetailSaveReq.getType())
.build();
}
/**
*
*/
public static MessageDetail editBuild(Long id, MessageDetailEditReq messageDetailEditReq){
return MessageDetail.builder()
.id(id)
.key(messageDetailEditReq.getKey())
.startBit(messageDetailEditReq.getStartBit())
.stopBit(messageDetailEditReq.getStopBit())
.label(messageDetailEditReq.getLabel())
.type(messageDetailEditReq.getType())
.build();
}
}

View File

@ -0,0 +1,46 @@
package com.muyu.domain.req;
import com.muyu.common.core.web.domain.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.SuperBuilder;
/**
* @ClassDescription:
* @JdkVersion: 17
* @Author: zhangxu
* @Created: 2024/6/26 21:47
*/
@Data
@SuperBuilder
@NoArgsConstructor
@AllArgsConstructor
@ApiModel(value = "MessageDetailEditReq", description = "报文详情")
public class MessageDetailEditReq {
private static final long serialVersionUID = 1L;
/** 指标项key */
@ApiModelProperty(name = "指标项key", value = "指标项key")
private String key;
/** 起始位 */
@ApiModelProperty(name = "起始位", value = "起始位")
private Long startBit;
/** 终止位 */
@ApiModelProperty(name = "终止位", value = "终止位")
private Long stopBit;
/** 指标项标签 */
@ApiModelProperty(name = "指标项标签", value = "指标项标签")
private String label;
/** 类型 */
@ApiModelProperty(name = "类型", value = "类型")
private String type;
}

View File

@ -0,0 +1,51 @@
package com.muyu.domain.req;
import com.muyu.common.core.web.domain.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.experimental.SuperBuilder;
import java.io.Serial;
/**
* @ClassDescription:
* @JdkVersion: 17
* @Author: zhangxu
* @Created: 2024/6/26 21:47
*/
@Data
@SuperBuilder
@AllArgsConstructor
@NoArgsConstructor
public class MessageDetailQueryReq{
private static final long serialVersionUID = 1L;
/** 指标项key */
@ApiModelProperty(name = "指标项key", value = "指标项key")
private String key;
/** 起始位 */
@ApiModelProperty(name = "起始位", value = "起始位")
private Long startBit;
/** 终止位 */
@ApiModelProperty(name = "终止位", value = "终止位")
private Long stopBit;
/** 指标项标签 */
@ApiModelProperty(name = "指标项标签", value = "指标项标签")
private String label;
/** 类型 */
@ApiModelProperty(name = "类型", value = "类型")
private String type;
}

View File

@ -0,0 +1,58 @@
package com.muyu.domain.req;
import com.muyu.common.core.web.domain.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.SuperBuilder;
/**
* @ClassDescription:
* @JdkVersion: 17
* @Author: zhangxu
* @Created: 2024/6/26 21:46
*/
@Data
@SuperBuilder
@NoArgsConstructor
@AllArgsConstructor
@ApiModel(value = "MessageDetailSaveReq", description = "报文详情")
public class MessageDetailSaveReq {
private static final long serialVersionUID = 1L;
/** 主键 */
@ApiModelProperty(name = "主键", value = "主键")
private Long id;
/** 指标项key */
@ApiModelProperty(name = "指标项key", value = "指标项key")
private String key;
/** 起始位 */
@ApiModelProperty(name = "起始位", value = "起始位")
private Long startBit;
/** 终止位 */
@ApiModelProperty(name = "终止位", value = "终止位")
private Long stopBit;
/** 指标项标签 */
@ApiModelProperty(name = "指标项标签", value = "指标项标签")
private String label;
/** 类型 */
@ApiModelProperty(name = "类型", value = "类型")
private String type;
}

View File

@ -1,17 +1,21 @@
package com.muyu.networking.controller;
package com.muyu.vehicle.controller;
import com.muyu.common.core.domain.Result;
import com.muyu.common.core.utils.poi.ExcelUtil;
import com.muyu.common.core.web.controller.BaseController;
import com.muyu.common.core.web.page.TableDataInfo;
import com.muyu.common.log.annotation.Log;
import com.muyu.domain.req.FaultRecordReqVo;
import com.muyu.domain.vo.FaultRecordVo;
import com.muyu.common.log.enums.BusinessType;
import com.muyu.common.security.annotation.RequiresPermissions;
import com.muyu.domain.FaultRecord;
import com.muyu.domain.req.FaultRecordEditReq;
import com.muyu.domain.req.FaultRecordQueryReq;
import com.muyu.domain.req.FaultRecordSaveReq;
import com.muyu.networking.service.FaultRecordService;
import com.muyu.domain.vo.FaultRecordVo;
import com.muyu.vehicle.service.FaultRecordService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiOperation;
@ -38,7 +42,7 @@ public class FaultRecordController extends BaseController {
*
*/
@ApiOperation("获取故障记录列表")
@RequiresPermissions("client:faultRecord:list")
@GetMapping("/list")
public Result<TableDataInfo<FaultRecord>> list(FaultRecordQueryReq faultRecordQueryReq) {
startPage();
@ -50,7 +54,7 @@ public class FaultRecordController extends BaseController {
*
*/
@ApiOperation("导出故障记录列表")
@RequiresPermissions("client:faultRecord:export")
@Log(title = "故障记录", businessType = BusinessType.EXPORT)
@PostMapping("/export")
public void export(HttpServletResponse response, FaultRecord faultRecord) {
@ -63,7 +67,7 @@ public class FaultRecordController extends BaseController {
*
*/
@ApiOperation("获取故障记录详细信息")
@RequiresPermissions("client:faultRecord:query")
@GetMapping(value = "/{id}")
@ApiImplicitParam(name = "id", value = "id", required = true, dataType = "Long", paramType = "path", dataTypeClass = Long.class)
public Result<FaultRecord> getInfo(@PathVariable("id") Long id) {
@ -73,7 +77,7 @@ public class FaultRecordController extends BaseController {
/**
*
*/
@RequiresPermissions("client:faultRecord:add")
@Log(title = "故障记录", businessType = BusinessType.INSERT)
@PostMapping
@ApiOperation("新增故障记录")
@ -84,7 +88,7 @@ public class FaultRecordController extends BaseController {
/**
*
*/
@RequiresPermissions("client:faultRecord:edit")
@Log(title = "故障记录", businessType = BusinessType.UPDATE)
@PutMapping("/{id}")
@ApiOperation("修改故障记录")
@ -95,7 +99,7 @@ public class FaultRecordController extends BaseController {
/**
*
*/
@RequiresPermissions("client:faultRecord:remove")
@Log(title = "故障记录", businessType = BusinessType.DELETE)
@DeleteMapping("/{ids}")
@ApiOperation("删除故障记录")
@ -106,4 +110,11 @@ public class FaultRecordController extends BaseController {
@Log(title = "图",businessType = BusinessType.DELETE)
@PostMapping("/countList")
@ApiOperation("图展示")
public Result<List<FaultRecordVo>> countList(@RequestBody FaultRecordReqVo recordReqVo) {
return Result.success(faultRecordService.countList(recordReqVo));
}
}

View File

@ -0,0 +1,110 @@
package com.muyu.vehicle.controller;
import com.muyu.common.core.domain.Result;
import com.muyu.common.core.utils.poi.ExcelUtil;
import com.muyu.common.core.web.controller.BaseController;
import com.muyu.common.core.web.page.TableDataInfo;
import com.muyu.common.log.annotation.Log;
import com.muyu.common.log.enums.BusinessType;
import com.muyu.common.security.annotation.RequiresPermissions;
import com.muyu.domain.data.MessageDetail;
import com.muyu.domain.req.MessageDetailEditReq;
import com.muyu.domain.req.MessageDetailQueryReq;
import com.muyu.domain.req.MessageDetailSaveReq;
import com.muyu.vehicle.service.MessageDetailService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletResponse;
import java.util.List;
/**
* @ClassDescription:
* @JdkVersion: 17
* @Author: zhangxu
* @Created: 2024/6/26 21:52
*/
@Api(tags = "报文详情")
@RestController
@RequestMapping("/messageDetail")
public class MessageDetailController extends BaseController {
@Autowired
private MessageDetailService messageDetailService;
/**
*
*/
@ApiOperation("获取报文详情列表")
@RequiresPermissions("car:messageDetail:list")
@GetMapping("/list")
public Result<TableDataInfo<MessageDetail>> list(MessageDetailQueryReq messageDetailQueryReq) {
startPage();
List<MessageDetail> list = messageDetailService.list(MessageDetail.queryBuild(messageDetailQueryReq));
return getDataTable(list);
}
/**
*
*/
@ApiOperation("导出报文详情列表")
@RequiresPermissions("car:messageDetail:export")
@Log(title = "报文详情", businessType = BusinessType.EXPORT)
@PostMapping("/export")
public void export(HttpServletResponse response, MessageDetail messageDetail) {
List<MessageDetail> list = messageDetailService.list(messageDetail);
ExcelUtil<MessageDetail> util = new ExcelUtil<MessageDetail>(MessageDetail.class);
util.exportExcel(response, list, "报文详情数据");
}
/**
*
*/
@ApiOperation("获取报文详情详细信息")
@RequiresPermissions("car:messageDetail:query")
@GetMapping(value = "/{id}")
@ApiImplicitParam(name = "id", value = "id", required = true, dataType = "Long", paramType = "path", dataTypeClass = Long.class)
public Result<MessageDetail> getInfo(@PathVariable("id") Long id) {
return Result.success(messageDetailService.getById(id));
}
/**
*
*/
@RequiresPermissions("car:messageDetail:add")
@Log(title = "报文详情", businessType = BusinessType.INSERT)
@PostMapping
@ApiOperation("新增报文详情")
public Result<String> add(@RequestBody MessageDetailSaveReq messageDetailSaveReq) {
return toAjax(messageDetailService.save(MessageDetail.saveBuild(messageDetailSaveReq)));
}
/**
*
*/
@RequiresPermissions("car:messageDetail:edit")
@Log(title = "报文详情", businessType = BusinessType.UPDATE)
@PutMapping("/{id}")
@ApiOperation("修改报文详情")
public Result<String> edit(@PathVariable Long id, @RequestBody MessageDetailEditReq messageDetailEditReq) {
return toAjax(messageDetailService.updateById(MessageDetail.editBuild(id,messageDetailEditReq)));
}
/**
*
*/
@RequiresPermissions("car:messageDetail:remove")
@Log(title = "报文详情", businessType = BusinessType.DELETE)
@DeleteMapping("/{ids}")
@ApiOperation("删除报文详情")
@ApiImplicitParam(name = "id", value = "id", required = true, dataType = "Long", paramType = "path", dataTypeClass = String.class, example = "1,2,3,4")
public Result<String> remove(@PathVariable List<Long> ids) {
return toAjax(messageDetailService.removeBatchByIds(ids));
}
}

View File

@ -0,0 +1,13 @@
package com.muyu.vehicle.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.muyu.domain.data.MessageDetail;
/**
* @ClassDescription:
* @JdkVersion: 17
* @Author: zhangxu
* @Created: 2024/6/26 21:44
*/
public interface MessageDetailMapper extends BaseMapper<MessageDetail> {
}

View File

@ -108,4 +108,9 @@ public class InformationServiceImpl extends ServiceImpl<InformationMapper, Infor
List<Information> information1 = informationMapper.selectVehicleListAll(information);
return information1;
}
@Override
public List<Information> getSelectVehicleListAll() {
return informationMapper.getSelectVehicleListAll();
}
}

View File

@ -0,0 +1,26 @@
package com.muyu.vehicle.service.Impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.muyu.domain.data.MessageDetail;
import com.muyu.vehicle.mapper.MessageDetailMapper;
import com.muyu.vehicle.service.MessageDetailService;
import org.springframework.stereotype.Service;
import java.util.List;
/**
* @ClassDescription:
* @JdkVersion: 17
* @Author: zhangxu
* @Created: 2024/6/26 21:51
*/
@Service
public class MessageDetailServiceImpl extends ServiceImpl<MessageDetailMapper, MessageDetail> implements MessageDetailService {
@Override
public List<MessageDetail> list(MessageDetail messageDetail) {
LambdaQueryWrapper<MessageDetail> queryWrapper = new LambdaQueryWrapper<>();
return list(queryWrapper);
}
}

View File

@ -0,0 +1,25 @@
package com.muyu.vehicle.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.muyu.domain.data.MessageDetail;
import java.util.List;
/**
* @ClassDescription:
* @JdkVersion: 17
* @Author: zhangxu
* @Created: 2024/6/26 21:50
*/
public interface MessageDetailService extends IService<MessageDetail> {
/**
*
*
* @param messageDetail
* @return
*/
public List<MessageDetail> list(MessageDetail messageDetail);
}

View File

@ -0,0 +1,19 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.muyu.vehicle.mapper.MessageDetailMapper">
<resultMap type="com.muyu.domain.data.MessageDetail" id="MessageDetailResult">
<result property="id" column="id" />
<result property="key" column="key" />
<result property="startBit" column="start_bit" />
<result property="stopBit" column="stop_bit" />
<result property="label" column="label" />
<result property="type" column="type" />
</resultMap>
<sql id="selectMessageDetailVo">
select id, key, start_bit, stop_bit, label, type from message_detail
</sql>
</mapper>