故障改动

master
chenchenxinhai 2023-11-25 08:34:28 +08:00
parent 82a3e58710
commit 75c4d0367f
12 changed files with 506 additions and 36 deletions

View File

@ -1,14 +1,14 @@
package com.god.base.common.domain;
import com.baomidou.mybatisplus.annotation.TableName;
import com.god.common.core.web.domain.BaseEntity;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.god.base.common.domain.request.BreakdownRequest;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.SuperBuilder;
import org.springframework.format.annotation.DateTimeFormat;
import javax.validation.constraints.NotEmpty;
import java.util.Date;
/**
@ -22,24 +22,45 @@ import java.util.Date;
@AllArgsConstructor
@Builder
@TableName("t_car_breakdown")
public class Breakdown {
public class Breakdown {
// 故障信息表Id
private Integer id;
// 车辆VIN
private String carVin;
// 故障码Id
@NotEmpty(message = "故障码Id不能为空")
private String breadownId;
// 故障状态
private Integer status;
// 故障开始时间
@DateTimeFormat(pattern = "yyyy-MM-dd HH-mm-ss")
@JsonFormat(pattern = "yyyy-MM-dd HH-mm-ss",timezone = "GMT+8")
private Date createTime;
// 故障结束时间
@DateTimeFormat(pattern = "yyyy-MM-dd HH-mm-ss")
@JsonFormat(pattern = "yyyy-MM-dd HH-mm-ss",timezone = "GMT+8")
private Date endTime;
// 创建者
private String createBy;
// 更新人
private String updateBy;
// 更新时间
@DateTimeFormat(pattern = "yyyy-MM-dd HH-mm-ss")
@JsonFormat(pattern = "yyyy-MM-dd HH-mm-ss",timezone = "GMT+8")
private Date updateTime;
public static Breakdown addReqBuild(BreakdownRequest breakdownRequest) {
return Breakdown.builder()
//把所有的属性点加上
.id(breakdownRequest.getId())
.carVin(breakdownRequest.getCarVin())
.breadownId(breakdownRequest.getBreadownId())
.status(breakdownRequest.getStatus())
.createTime(breakdownRequest.getCreateTime())
.endTime(breakdownRequest.getEndTime())
.createBy(breakdownRequest.getCreateBy())
.updateBy(breakdownRequest.getUpdateBy())
.updateTime(breakdownRequest.getUpdateTime())
.build();
}
}

View File

@ -1,13 +1,11 @@
package com.god.base.common.domain;
import com.god.common.core.annotation.Excel;
import com.god.common.core.web.domain.BaseEntity;
import com.baomidou.mybatisplus.annotation.TableName;
import com.god.base.common.domain.request.FaultRequest;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.SuperBuilder;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
/**
*
@ -19,37 +17,44 @@ import org.apache.commons.lang3.builder.ToStringStyle;
@AllArgsConstructor
@NoArgsConstructor
@SuperBuilder
public class Fault {
@TableName("t_fault")
public class Fault {
/** 故障id */
private Integer faultId;
/** 故障类型 */
@Excel(name = "故障类型")
private String faultType;
/** 故障组 */
@Excel(name = "故障组")
private String faultGroup;
/** 故障位 */
@Excel(name = "故障位")
private String faultSite;
/** 故障值 */
@Excel(name = "故障值")
private String faultValue;
/** 故障标签 */
@Excel(name = "故障标签")
private String faultLabel;
/** 故障码 */
@Excel(name = "故障码")
private String faultCoed;
/** 是否警告 */
@Excel(name = "是否警告")
private Long isWarn;
public static Fault addFault(FaultRequest faultRequest) {
return Fault.builder()
//把所有的属性点加上
.faultId(faultRequest.getFaultId())
.faultType(faultRequest.getFaultType())
.faultGroup(faultRequest.getFaultGroup())
.faultSite(faultRequest.getFaultSite())
.faultValue(faultRequest.getFaultValue())
.faultLabel(faultRequest.getFaultLabel())
.faultCoed(faultRequest.getFaultCoed())
.isWarn(faultRequest.getIsWarn())
.build();
}
}

View File

@ -1,30 +1,51 @@
package com.god.base.common.domain.request;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.god.base.common.domain.PageQuery;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.SuperBuilder;
import org.springframework.format.annotation.DateTimeFormat;
import javax.validation.constraints.NotEmpty;
import java.util.Date;
/**
*
* request
*
* @author ChenXinHai
* @version 2023/11/20 - 19:39
* @version 2023/11/24 - 19:01
*/
@Data
@SuperBuilder
@NoArgsConstructor
@AllArgsConstructor
@SuperBuilder
@TableName("t_car_breakdown")
public class BreakdownRequest extends PageQuery {
// 故障信息表Id
private Integer id;
// 车辆VIN
private String carVin;
// 故障码Id
@NotEmpty(message = "故障码Id不能为空")
private String breadownId;
// 故障状态
private Integer status;
// 故障开始时间
@DateTimeFormat(pattern = "yyyy-MM-dd HH-mm-ss")
@JsonFormat(pattern = "yyyy-MM-dd HH-mm-ss",timezone = "GMT+8")
private Date createTime;
// 故障结束时间
@DateTimeFormat(pattern = "yyyy-MM-dd HH-mm-ss")
@JsonFormat(pattern = "yyyy-MM-dd HH-mm-ss",timezone = "GMT+8")
private Date endTime;
// 创建者
private String createBy;
// 更新人
private String updateBy;
// 更新时间
@DateTimeFormat(pattern = "yyyy-MM-dd HH-mm-ss")
@JsonFormat(pattern = "yyyy-MM-dd HH-mm-ss",timezone = "GMT+8")
private Date updateTime;
}

View File

@ -1,8 +1,7 @@
package com.god.base.common.domain.request;
import com.god.common.core.annotation.Excel;
import com.god.base.common.domain.PageQuery;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.SuperBuilder;
@ -17,35 +16,28 @@ import lombok.experimental.SuperBuilder;
@AllArgsConstructor
@NoArgsConstructor
@SuperBuilder
public class FaultRequest {
public class FaultRequest extends PageQuery {
/** 故障id */
private Integer faultId;
/** 故障类型 */
@Excel(name = "故障类型")
private String faultType;
/** 故障组 */
@Excel(name = "故障组")
private String faultGroup;
/** 故障位 */
@Excel(name = "故障位")
private String faultSite;
/** 故障值 */
@Excel(name = "故障值")
private String faultValue;
/** 故障标签 */
@Excel(name = "故障标签")
private String faultLabel;
/** 故障码 */
@Excel(name = "故障码")
private String faultCoed;
/** 是否警告 */
@Excel(name = "是否警告")
private Long isWarn;
}

View File

@ -0,0 +1,105 @@
package com.god.base.server.controller;
import com.alibaba.fastjson.JSONObject;
import com.alibaba.nacos.api.model.v2.Result;
import com.god.base.common.domain.Breakdown;
import com.god.base.common.domain.request.BreakdownRequest;
import com.god.base.server.service.BreakdownService;
import com.god.common.core.web.page.TableDataInfo;
import lombok.extern.log4j.Log4j2;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletRequest;
/**
* controller
*
* @author ChenXinHai
* @version 2023/11/20 - 19:31
*/
@RestController
@RequestMapping("/Breakdown")
@Log4j2
public class BreakdownController {
@Autowired
private BreakdownService breakdownService;
private HttpServletRequest request;
/**
*
* @param breakdownRequest
* @return
*/
@GetMapping("list")
public Result<TableDataInfo<Breakdown>> breakdownList(@RequestBody BreakdownRequest breakdownRequest){
log.info("功能介绍:查询车辆故障码列表,请求方式:{},请求路径:{},请求参数:{}",
request.getMethod(),
request.getRequestURL(),
JSONObject.toJSONString(breakdownRequest));
//分页查询列表
TableDataInfo<Breakdown> dataInfo = breakdownService.breakdownList(breakdownRequest);
return Result.success(dataInfo);
}
/**
*
* @param breakdownRequest
* @return
*/
@PostMapping("/breakdownAdd")
public Result<String> breakdownAdd(@RequestBody @Validated BreakdownRequest breakdownRequest){
log.info("功能介绍新增故障信息,请求方式;{},请求路径:{},请求参数:{}",
request.getMethod(),
request.getRequestURL(),
JSONObject.toJSONString(breakdownRequest));
//故障信息添加
breakdownService.save(Breakdown.addReqBuild(breakdownRequest));
return Result.success();
}
/**
*
* @param breakdown
* @return
*/
@PostMapping("/breakdownUpdate")
public Result<String> breakdownUpdate(@RequestBody @Validated Breakdown breakdown){
log.info("功能介绍:编辑故障信息,请求方式:{},请求路径:{},请求参数:{}",
request.getMethod(),
request.getRequestURL(),
JSONObject.toJSONString(breakdown));
//编辑故障信息
breakdownService.updateById(breakdown);
return Result.success();
}
/**
*
* @param id
* @return
*/
@GetMapping("/breakdownDelete")
public Result<String> breakdownDelete(@RequestParam("id") Integer id){
log.info("功能介绍:通过故障编号删除故障,请求方式:{},请求路径:{},请求参数:{}",
request.getMethod(),
request.getRequestURL(),
JSONObject.toJSONString(id));
//根据故障编号删除故障
breakdownService.removeById(id);
return Result.success();
}
}

View File

@ -0,0 +1,83 @@
package com.god.base.server.controller;
import com.alibaba.fastjson.JSONObject;
import com.alibaba.nacos.api.model.v2.Result;
import com.god.base.common.domain.Fault;
import com.god.base.common.domain.request.FaultRequest;
import com.god.base.server.service.FaultService;
import com.god.common.core.web.controller.BaseController;
import com.god.common.core.web.page.TableDataInfo;
import lombok.extern.log4j.Log4j2;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletRequest;
/**
*
*
* @author ChenXinHai
* @version 2023/11/21 - 18:33
*/
@RestController
@RequestMapping("/fault")
@Log4j2
public class FaultController extends BaseController {
@Autowired
private FaultService faultService;
private HttpServletRequest request;
@GetMapping("list")
public Result<TableDataInfo<Fault>> faultList(@RequestBody @Validated FaultRequest faultRequest){
log.info("功能介绍:查询车辆故障码列表,请求方式:{},请求路径:{},请求参数:{}",
request.getMethod(),
request.getRequestURL(),
JSONObject.toJSONString(faultRequest));
//分页查询列表
TableDataInfo<Fault> dataInfo = faultService.faultList(faultRequest);
return Result.success(dataInfo);
}
/**
*
* @param faultRequest
* @return
*/
@PostMapping("/faultAdd")
public Result<String> faultAdd(@RequestBody @Validated FaultRequest faultRequest){
log.info("功能介绍:添加车辆故障,请求方式:{},请求路径:{},请求参数:{}",
request.getRequestURI(),
request.getMethod(),
JSONObject.toJSONString(faultRequest));
faultService.save(Fault.addFault(faultRequest));
return Result.success();
}
/**
*
* @param fault
* @return
*/
@PostMapping("/faultUpdate")
public Result<String> faultUpdate(@RequestBody @Validated Fault fault){
log.info("功能介绍:修改车辆故障,请求方式:{},请求路径:{},请求参数:{}",
request.getRequestURI(),
request.getMethod(),
JSONObject.toJSONString(fault));
faultService.updateById(fault);
return Result.success();
}
@PostMapping("/faultDelete")
public Result<String> faultDelete(@RequestParam("faultId") Integer faultId){
log.info("功能介绍:删除车辆故障,请求方式:{},请求路径:{},请求参数:{}",
request.getRequestURI(),
request.getMethod(),
JSONObject.toJSONString(faultId));
// 根据故障id删除故障
faultService.removeById(faultId);
return Result.success();
}
}

View File

@ -0,0 +1,16 @@
package com.god.base.server.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.god.base.common.domain.Breakdown;
import org.apache.ibatis.annotations.Mapper;
/**
* mapper
*
* @author ChenXinHai
* @version 2023/11/20 - 19:31
*/
@Mapper
public interface BreakdownMapper extends BaseMapper<Breakdown> {
}

View File

@ -0,0 +1,16 @@
package com.god.base.server.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.god.base.common.domain.Fault;
import org.apache.ibatis.annotations.Mapper;
/**
* Mapper
*
* @author ChenXinHai
* @version 2023/11/21 - 18:33
*/
@Mapper
public interface FaultMapper extends BaseMapper<Fault> {
}

View File

@ -0,0 +1,25 @@
package com.god.base.server.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.god.base.common.domain.Breakdown;
import com.god.base.common.domain.request.BreakdownRequest;
import com.god.common.core.web.page.TableDataInfo;
/**
* service
*
* @author ChenXinHai
* @version 2023/11/20 - 19:32
*/
public interface BreakdownService extends IService<Breakdown> {
/**
*
* @param breakdownRequest
* @return
*/
TableDataInfo<Breakdown> breakdownList(BreakdownRequest breakdownRequest);
}

View File

@ -0,0 +1,22 @@
package com.god.base.server.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.god.base.common.domain.Fault;
import com.god.base.common.domain.request.FaultRequest;
import com.god.common.core.web.page.TableDataInfo;
/**
* service
*
* @author ChenXinHai
* @version 2023/11/21 - 18:33
*/
public interface FaultService extends IService<Fault> {
/**
*
* @param faultRequest
* @return
*/
TableDataInfo<Fault> faultList(FaultRequest faultRequest);
}

View File

@ -0,0 +1,88 @@
package com.god.base.server.service.impl;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.god.base.common.domain.Breakdown;
import com.god.base.common.domain.request.BreakdownRequest;
import com.god.base.server.mapper.BreakdownMapper;
import com.god.base.server.service.BreakdownService;
import com.god.common.core.web.page.TableDataInfo;
import lombok.extern.log4j.Log4j2;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.io.Serializable;
/**
* serviceImpl
*/
@Log4j2
@Service
public class BreakdownServiceImpl extends ServiceImpl<BreakdownMapper, Breakdown> implements BreakdownService {
@Autowired
private BreakdownMapper breakdownMapper;
@Override
public TableDataInfo<Breakdown> breakdownList(BreakdownRequest breakdownRequest) {
LambdaQueryWrapper<Breakdown> lambdaQueryWrapper = new LambdaQueryWrapper<>();
//判断车辆VIN是否为空
if (StringUtils.isNotEmpty(breakdownRequest.getCarVin())){
//模糊查询
lambdaQueryWrapper.like(Breakdown::getCarVin,breakdownRequest.getCarVin());
}
if (null!=breakdownRequest.getStatus()){ // 故障码状态
lambdaQueryWrapper.eq(Breakdown::getStatus,breakdownRequest.getStatus());
}
Page<Breakdown> fencePage = breakdownRequest.buildPage();
log.info("分页查询:[ {} ]", JSONObject.toJSONString(fencePage));
Page<Breakdown> page = this.page(fencePage,lambdaQueryWrapper);
return TableDataInfo.<Breakdown>builder()
.rows(page.getRecords())
.total(page.getTotal())
.build();
}
@Override
public boolean save(Breakdown entity) {
int i = breakdownMapper.insert(entity);
if (i<1){
log.warn("增加故障信息:[/-{}-/]失败! 请求参数:{}",
entity.getBreadownId(),
JSONObject.toJSONString(entity));
throw new RuntimeException("增添围栏失败!");
}
return true;
}
@Override
public boolean removeById(Serializable id) {
int i = breakdownMapper.deleteById(id);
if (i<1){
log.warn("删除故障编号:[/-{}-/]失败!",
id);
throw new RuntimeException("删除故障失败!");
}
return true;
}
/**
*
* @param breakdown
* @return
*/
@Override
public boolean updateById(Breakdown breakdown) {
boolean update = this.updateById(breakdown);
if (!update){
log.warn("编辑故障信息[/-{}-/]未成功! 请求参数:{}",
breakdown.getBreadownId(),
JSONObject.toJSONString(breakdown));
throw new RuntimeException("编辑故障失败!");
}
return true;
}
}

View File

@ -0,0 +1,76 @@
package com.god.base.server.service.impl;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.god.base.common.domain.Fault;
import com.god.base.common.domain.request.FaultRequest;
import com.god.base.server.mapper.FaultMapper;
import com.god.base.server.service.FaultService;
import com.god.common.core.web.page.TableDataInfo;
import lombok.extern.log4j.Log4j2;
import org.springframework.stereotype.Service;
import java.io.Serializable;
/**
* serviceImpl
*
* @author ChenXinHai
* @version 2023/11/21 - 18:34
*/
@Service
@Log4j2
public class FaultServiceImpl extends ServiceImpl<FaultMapper, Fault> implements FaultService {
@Override
public TableDataInfo<Fault> faultList(FaultRequest faultRequest) {
LambdaQueryWrapper<Fault> lambdaQueryWrapper = new LambdaQueryWrapper<>();
Page<Fault> page = faultRequest.buildPage();
log.info("分页查询:[{}]", JSONObject.toJSONString(page));
Page<Fault> page1 = this.page(page, lambdaQueryWrapper);
return TableDataInfo.<Fault>builder()
.rows(page1.getRecords())
.total(page1.getTotal())
.build();
}
@Override
public boolean save(Fault fault){
boolean save = super.save(fault);
if (!save){
log.warn("增加故障:[/-{}-/]失败! 请求参数:{}",
fault.getFaultId(),
JSONObject.toJSONString(fault));
throw new RuntimeException("添加故障失败!");
}
return true;
}
@Override
public boolean removeById(Serializable faultId){
boolean remove = super.removeById(faultId);
if (!remove){
log.warn("删除故障编号:[/-{}-/]失败!",
faultId);
throw new RuntimeException("删除故障失败");
}
return true;
}
@Override
public boolean updateById(Fault fault){
boolean update = super.updateById(fault);
if (!update){
log.warn("编辑故障信息:[/-{}-/未成功!]请求参数:{}",
fault.getFaultId(),
JSONObject.toJSONString(fault));
throw new RuntimeException("编辑故障失败!");
}
return true;
}
}