master
WeiRan 2024-09-26 14:47:00 +08:00
parent 66adba7bdc
commit 1d8aea440b
27 changed files with 1648 additions and 1 deletions

View File

@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.muyu.cloud.faultmanage.domain.*;
import com.muyu.cloud.faultmanage.mapper.FaultRuleMapper;
import com.muyu.cloud.faultmanage.service.FaultRuleService;
import org.apache.poi.ss.formula.functions.Intercept;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.lang.reflect.Field;
@ -65,6 +66,7 @@ public class FaultRuleServiceImpl extends ServiceImpl<FaultRuleMapper, CarFaultR
bigDecimalValue = BigDecimal.valueOf(numberValue.doubleValue());
}
}
//判断条件选择
if (faultconditionIdentification.equals(">") || faultconditionIdentification.equals("&gt;") ){
if (bigDecimalValue.compareTo(faultconditionParameter)>0){

View File

@ -0,0 +1,112 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>com.muyu</groupId>
<artifactId>cloud-modules</artifactId>
<version>3.6.3</version>
</parent>
<artifactId>cloud-modules-car</artifactId>
<properties>
<maven.compiler.source>17</maven.compiler.source>
<maven.compiler.target>17</maven.compiler.target>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<dependencies>
<!-- SpringCloud Alibaba Nacos -->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>
<!-- SpringCloud Alibaba Nacos Config -->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
</dependency>
<!-- SpringCloud Alibaba Sentinel -->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-sentinel</artifactId>
</dependency>
<!-- SpringBoot Actuator -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
<!-- Mysql Connector -->
<dependency>
<groupId>com.mysql</groupId>
<artifactId>mysql-connector-j</artifactId>
</dependency>
<!-- MuYu Common DataSource -->
<dependency>
<groupId>com.muyu</groupId>
<artifactId>cloud-common-datasource</artifactId>
</dependency>
<!-- MuYu Common DataScope -->
<dependency>
<groupId>com.muyu</groupId>
<artifactId>cloud-common-datascope</artifactId>
</dependency>
<!-- MuYu Common Log -->
<dependency>
<groupId>com.muyu</groupId>
<artifactId>cloud-common-log</artifactId>
</dependency>
<!-- XllJob定时任务 -->
<dependency>
<groupId>com.muyu</groupId>
<artifactId>cloud-common-xxl</artifactId>
</dependency>
<dependency>
<groupId>com.muyu</groupId>
<artifactId>cloud-common-rabbit</artifactId>
</dependency>
<!-- MuYu Common System-->
<dependency>
<groupId>com.muyu</groupId>
<artifactId>cloud-common-system</artifactId>
</dependency>
<!-- 接口模块 -->
<dependency>
<groupId>com.muyu</groupId>
<artifactId>cloud-common-api-doc</artifactId>
</dependency>
</dependencies>
<build>
<finalName>${project.artifactId}</finalName>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<executions>
<execution>
<goals>
<goal>repackage</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>

View File

@ -0,0 +1,18 @@
package com.muyu.car;
import com.muyu.common.security.annotation.EnableCustomConfig;
import com.muyu.common.security.annotation.EnableMyFeignClients;
import lombok.extern.log4j.Log4j2;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@EnableCustomConfig
@EnableMyFeignClients
@SpringBootApplication
public class CarApplication {
public static void main(String[] args){
SpringApplication.run(CarApplication.class,args);
}
}

View File

@ -0,0 +1,110 @@
package com.muyu.car.controller;
import com.github.pagehelper.PageInfo;
import com.muyu.car.domain.CarInformation;
import com.muyu.car.domain.req.CarInformationAddReq;
import com.muyu.car.domain.req.CarInformationListReq;
import com.muyu.car.domain.req.CarInformationUpdReq;
import com.muyu.car.service.CarInformationService;
import com.muyu.common.core.domain.Result;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag;
import lombok.extern.log4j.Log4j2;
import org.springframework.stereotype.Controller;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.context.annotation.RequestScope;
import javax.annotation.Resource;
import java.util.List;
@Log4j2
@RestController
@RequestMapping("/carinformation")
@Tag(name = "车辆信息管理控制层" ,description = "进行车辆管理基础业务操作")
public class CarInformationController {
@Resource
private CarInformationService carInformationService;
/**
*
* --> ----
* -->(VIN carInformationVIN
* ID carTypeId
* ID carInformationFence
* (1.线 2.线 3. 4. 5.)
* carInformationState
* carInformationMotorManufacturer
* carInformationMotorModel
* carInformationBatteryManufacturer
* carInformationBatteryModel
* )
* --> pageNum pageSize
*
* @param carInformationListReq
* @return
*/
@PostMapping("/selectCarInformationList")
@Operation(summary = "企业车辆管理列表")
public Result<PageInfo<CarInformation>> selectCarInformationList(@Validated @RequestBody CarInformationListReq carInformationListReq) {
PageInfo<CarInformation> pageInfo = carInformationService.selectCarInformationList(carInformationListReq);
log.info("企业车辆管理列表查询",carInformationListReq,pageInfo);
return Result.success(pageInfo);
}
/**
*
* @param carInformationAddReq
* @return
*/
@PostMapping("/addCarInformation")
@Operation(summary = "企业车辆添加管理")
public Result addCarInformation(@Validated @RequestBody CarInformationAddReq carInformationAddReq){
return carInformationService.addCarInformation(carInformationAddReq);
}
/**
*
* @param carInformationId
* @return
*/
@GetMapping("/delBycarInformationId/{carInformationId}")
@Operation(summary = "企业车辆删除")
public Result delBycarInformationId(@Validated @PathVariable("carInformationId") Integer carInformationId){
return carInformationService.delBycarInformationId(carInformationId);
}
/**
*
* @param carInformationUpdReq
* @return
*/
@PostMapping("/updatecarInformation")
@Operation(summary = "企业车辆修改管理")
public Result updatecarInformation(@Validated @RequestBody CarInformationUpdReq carInformationUpdReq) {
log.info(carInformationUpdReq);
return carInformationService.updatecarInformation(carInformationUpdReq);
}
/**
* To
* carInformationID carInformationLicensePlate
*
* @return
*/
@GetMapping("/selectCarInformationIdAndLicensePlate")
@Operation(summary = "查询企业车辆 carInformationID 和 carInformationLicensePlate")
public Result<List<CarInformation>> selectCarInformationIdAndLicensePlate(){
List<CarInformation> carInformations = carInformationService.selectBycarInformationIDAndLicensePlate();
return Result.success(carInformations);
}
}

View File

@ -0,0 +1,71 @@
package com.muyu.car.controller;
import com.muyu.car.domain.CarMessage;
import com.muyu.car.service.CarMessageService;
import com.muyu.common.core.domain.Result;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag;
import lombok.extern.log4j.Log4j2;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource;
import java.util.List;
@Log4j2
@RestController
@RequestMapping("/carMessage")
@Tag(name = "信息报文模块" )
public class CarMessageController {
@Resource
private CarMessageService carMessageService;
/**
*
* @param
* @return
*/
@PostMapping("/selectCarMessageList")
@Operation(summary = "报文模板展示列表")
public Result<List<CarMessage>> selectCarMessageList(){
List<CarMessage> carMessages = carMessageService.selectCarMessageList();
return Result.success(carMessages);
}
/**
*
*/
@PostMapping("/insertCarMessage")
@Operation(summary = "添加报文信息")
public Result insertCarMessage(@Validated @RequestBody CarMessage carMessage){
Result carMessage1 = carMessageService.insertCarMessage(carMessage);
return Result.success(carMessage1);
}
/**
*
*
*/
@PostMapping("/delectByCarMessageId")
@Operation(summary = "删除报文信息")
public Result delectByCarMessageId(Integer carMessageId){
Result carMessage1 = carMessageService.delectByCarMessageId(carMessageId);
return Result.success(carMessage1);
}
/**
*
*/
@PostMapping("/updateCarMessage")
@Operation(summary = "修改报文信息")
public Result updateCarMessage(@Validated @RequestBody CarMessage carMessage){
Result carMessage1 = carMessageService.updateCarMessage(carMessage);
return Result.success(carMessage1);
}
}

View File

@ -0,0 +1,123 @@
package com.muyu.car.domain;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.SuperBuilder;
import org.springframework.format.annotation.DateTimeFormat;
import java.util.Date;
@Data
@AllArgsConstructor
@NoArgsConstructor
@SuperBuilder
@TableName(value = "企业车辆管理实体类",autoResultMap = true)
public class CarInformation {
/**
* ID
*/
private Long carInformationId;
/**
* VIN
* ()
*/
private String carInformationVIN;
/**
*
* ()
*/
private String carInformationLicensePlate;
/**
*
*/
private String carInformationBrand;
/**
*
*/
private String carInformationColor;
/**
*
*/
private String carInformationDriver;
/**
*
* ()
*/
@DateTimeFormat(pattern = "yyyy-MM-dd")
@JsonFormat(locale="zh", timezone="GMT+8", pattern="yyyy-MM-dd")
private Date carInformationExamineEnddata;
/**
*
*/
private String carInformationMotorManufacturer;
/**
*
*/
private String carInformationMotorModel;
/**
*
*/
private String carInformationBatteryManufacturer;
/**
*
*/
private String carInformationBatteryModel;
/**
* ID
*/
private Integer carInformationFence;
/**
* ID
*/
private Integer carInformationType;
/**
* (0 1 )
*/
private Integer carInformationFocus;
/**
* (1.线 2.线 3. 4. 5.)
*/
private Integer carInformationState;
//车辆类型表
/**
* ID
*/
private Integer carTypeId;
/**
*
*/
private String carTypeName;
//电子围栏
/**
*ID
*/
private Integer fenceid;
/**
*
*/
private String fencename;
}

View File

@ -0,0 +1,84 @@
package com.muyu.car.domain;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.v3.oas.models.security.SecurityScheme;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.SuperBuilder;
@Data
@AllArgsConstructor
@NoArgsConstructor
@SuperBuilder
@TableName(value = "车辆报文模板实体类",autoResultMap = true)
public class CarMessage {
//报文类型模块表
/**
*
*/
private Long messageTypeId;
/**
*
*/
private String messageTypeCode;
/**
*
*/
private String messageTypeName;
/**
*
*/
private String messageTypeBelongs;
//报文拆分位置主表
/**
*
*/
private Long carMessageId;
/**
*
*/
private Integer carMessageCartype;
/**
*
*/
private Integer carMessageType;
/**
*
*/
private Integer carMessageStartIndex;
/**
*
*/
private Integer carMessageEndIndex;
/**
* ( )
*/
private String messageTypeClass;
/**
* (0 1)
*/
private Integer carMessageState;
/*
private Long messageTypeId ;
private String messageTypeCode ;
private String messageTypeName ;
private String messageTypeBelongs ;
private String messageTypeClass ;
private Long carMessageId ;
private Integer carMessageCartype ;
private Integer carMessageType ;
private Integer carMessageStartIndex ;
private Integer carMessageEndIndex ;
private Integer carMessageState ;
*/
}

View File

@ -0,0 +1,83 @@
package com.muyu.car.domain.req;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.v3.oas.annotations.tags.Tag;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.springframework.format.annotation.DateTimeFormat;
@Data
@AllArgsConstructor
@NoArgsConstructor
@Builder
@Tag(name = "车辆管理信息添加对象")
public class CarInformationAddReq {
/**
* VIN
*/
private String carInformationVIN;
/**
*
*/
private String carInformationLicensePlate;
/**
*
*/
private String carInformationBrand;
/**
*
*/
private String carInformationColor;
/**
*
*/
private String carInformationDriver;
/**
*
*/
@DateTimeFormat(pattern = "yyyy-MM-dd")
@JsonFormat(locale="zh", timezone="GMT+8", pattern="yyyy-MM-dd")
private String carInformationExamineEnddata;
/**
*
*/
private String carInformationMotorManufacturer;
/**
*
*/
private String carInformationMotorModel;
/**
*
*/
private String carInformationBatteryManufacturer;
/**
*
*/
private String carInformationBatteryModel;
/**
* ID
*/
private Integer carInformationFence;
/**
* ID
*/
private Integer carInformationType;
}

View File

@ -0,0 +1,110 @@
package com.muyu.car.domain.req;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.v3.oas.annotations.media.Schema;
import io.swagger.v3.oas.annotations.tags.Tag;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.SuperBuilder;
@Data
@AllArgsConstructor
@NoArgsConstructor
@SuperBuilder
@Tag(name="车辆管理列表请求对象")
public class CarInformationListReq {
/**
* VIN
*/
@Schema(
description = "车辆唯一VIN",
type = "String"
)
private String carInformationVIN;
/**
* ID
*/
@Schema(
description = "车辆类型ID",
type = "Interger"
)
private Integer carTypeId;
/**
* ID
*/
@Schema(
description = "车辆电子围栏外键ID",
type = "Interger"
)
private Integer carInformationFence;
/**
* (1.线 2.线 3. 4. 5.)
*/
@Schema(
description = "启用状态(1.在线 2.离线 3.已断开 4.待连接 5.维修中)",
type = "Interger"
)
private Integer carInformationState;
/**
*
*/
@Schema(
description = "车辆电机厂商",
type = "String"
)
private String carInformationMotorManufacturer;
/**
*
*/
@Schema(
description = "车辆电机型号",
type = "String"
)
private String carInformationMotorModel;
/**
*
*/
@Schema(
description = "车辆电池厂商",
type = "String"
)
private String carInformationBatteryManufacturer;
/**
*
*/
@Schema(
description = "车辆电池型号",
type = "String"
)
private String carInformationBatteryModel;
//分页页数
private Integer pageNum = 1;
//分页条数
private Integer pageSize = 5;
}

View File

@ -0,0 +1,99 @@
package com.muyu.car.domain.req;
import io.swagger.v3.oas.annotations.media.Schema;
import io.swagger.v3.oas.annotations.tags.Tag;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.SuperBuilder;
@Data
@AllArgsConstructor
@NoArgsConstructor
@SuperBuilder
@Tag(name = "车辆管理修改操作请求对象")
public class CarInformationUpdReq {
/**
* ID
*/
@Schema(title = "车辆管理主键", type = "Long")
private Long carInformationId;
/**
*
*/
@Schema(title = "车辆品牌", type = "String")
private String carInformationBrand;
/**
*
*/
@Schema(title = "车辆颜色", type = "String")
private String carInformationColor;
/**
*
*/
@Schema(title = "车辆驾驶员", type = "String")
private String carInformationDriver;
/**
*
*/
@Schema(title = "车辆电机厂商", type = "String")
private String carInformationMotorManufacturer;
/**
*
*/
@Schema(title = "车辆电机型号", type = "String")
private String carInformationMotorModel;
/**
*
*/
@Schema(title = "车辆电池厂商", type = "String")
private String carInformationBatteryManufacturer;
/**
*
*/
@Schema(title = "车辆电池型号", type = "String")
private String carInformationBatteryModel;
/**
* ID
*/
@Schema(title = "车辆电子围栏外键ID", type = "Integer")
private Integer carInformationFence;
/**
* ID
*/
@Schema(title = "车辆类型外键ID", type = "Integer")
private Integer carInformationType;
/**
* (0 1 )
*/
@Schema(title = "是否重点车辆 (0否默认 1是 )", type = "Integer")
private Integer carInformationFocus;
/**
* (1.线 2.线 3. 4. 5.)
*/
@Schema(title = "启用状态(1.在线 2.离线 3.已断开 4.待连接 5.维修中)", type = "Integer")
private Integer carInformationState;
}

View File

@ -0,0 +1,66 @@
package com.muyu.car.mapper;
import com.muyu.car.domain.CarInformation;
import com.muyu.car.domain.req.CarInformationAddReq;
import com.muyu.car.domain.req.CarInformationListReq;
import com.muyu.car.domain.req.CarInformationUpdReq;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;
@Mapper
public interface CarInformationMapper {
/**
*
* --> ----
* -->(VIN carInformationVIN
* ID carTypeId
* ID carInformationFence
* (1.线 2.线 3. 4. 5.)
* carInformationState
* carInformationMotorManufacturer
* carInformationMotorModel
* carInformationBatteryManufacturer
* carInformationBatteryModel
* )
* --> pageNum pageSize
* @param carInformationListReq
* @return
*/
List<CarInformation> selectCarInformationList(CarInformationListReq carInformationListReq);
/**
*
* @param carInformationAddReq
* @return
*/
Integer addCarInformation(CarInformationAddReq carInformationAddReq);
/**
*
* @param carInformationId
* @return
*/
Integer delBycarInformationId(Integer carInformationId);
/**
*
* @param carInformationUpdReq
* @return
*/
Integer updatecarInformation(CarInformationUpdReq carInformationUpdReq);
/**
* To
* carInformationID carInformationLicensePlate
*
* @return
*/
List<CarInformation> selectBycarInformationIDAndLicensePlate();
}

View File

@ -0,0 +1,34 @@
package com.muyu.car.mapper;
import com.muyu.car.domain.CarMessage;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;
@Mapper
public interface CarMessageMapper {
/**
*
* @param
* @return
*/
List<CarMessage> selectCarMessageList();
/**
*
*/
Integer insertCarMessage(CarMessage carMessage);
/**
*
*/
Integer deleteByCarMessageId(Integer carMessageId);
/**
*
*/
Integer updateCarMessage(CarMessage carMessage);
}

View File

@ -0,0 +1,64 @@
package com.muyu.car.service;
import com.github.pagehelper.PageInfo;
import com.muyu.car.domain.CarInformation;
import com.muyu.car.domain.req.CarInformationAddReq;
import com.muyu.car.domain.req.CarInformationListReq;
import com.muyu.car.domain.req.CarInformationUpdReq;
import com.muyu.common.core.domain.Result;
import java.util.List;
public interface CarInformationService {
/**
*
* --> ----
* -->(VIN carInformationVIN
* ID carTypeId
* ID carInformationFence
* (1.线 2.线 3. 4. 5.)
* carInformationState
* carInformationMotorManufacturer
* carInformationMotorModel
* carInformationBatteryManufacturer
* carInformationBatteryModel
* )
* --> pageNum pageSize
* @param carInformationListReq
* @return
*/
PageInfo<CarInformation> selectCarInformationList(CarInformationListReq carInformationListReq);
/**
*
* @param carInformationAddReq
* @return
*/
Result addCarInformation(CarInformationAddReq carInformationAddReq);
/**
*
* @param carInformationId
* @return
*/
Result delBycarInformationId(Integer carInformationId);
/**
*
* @param carInformationUpdReq
* @return
*/
Result updatecarInformation(CarInformationUpdReq carInformationUpdReq);
/**
* To
* carInformationID carInformationLicensePlate
*
* @return
*/
List<CarInformation> selectBycarInformationIDAndLicensePlate();
}

View File

@ -0,0 +1,36 @@
package com.muyu.car.service;
import com.muyu.car.domain.CarMessage;
import com.muyu.common.core.domain.Result;
import java.util.List;
public interface CarMessageService {
/**
*
* @param
* @return
*/
List<CarMessage> selectCarMessageList();
/**
*
*/
Result insertCarMessage(CarMessage carMessage);
/**
*
*/
Result delectByCarMessageId(Integer carMessageId);
/**
*
*/
Result updateCarMessage(CarMessage carMessage);
}

View File

@ -0,0 +1,66 @@
package com.muyu.car.service.Impl;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import com.muyu.car.domain.CarInformation;
import com.muyu.car.domain.req.CarInformationAddReq;
import com.muyu.car.domain.req.CarInformationListReq;
import com.muyu.car.domain.req.CarInformationUpdReq;
import com.muyu.car.mapper.CarInformationMapper;
import com.muyu.car.service.CarInformationService;
import com.muyu.common.core.domain.Result;
import jakarta.servlet.http.HttpServletResponse;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.List;
@Service
public class CarInformationServiceImpl implements CarInformationService {
@Resource
private CarInformationMapper carInformationMapper;
@Autowired
private HttpServletResponse response;
@Override
public PageInfo<CarInformation> selectCarInformationList(CarInformationListReq carInformationListReq) {
PageHelper.startPage(carInformationListReq.getPageNum(),carInformationListReq.getPageSize());
List<CarInformation> carInformations = carInformationMapper.selectCarInformationList(carInformationListReq);
PageInfo<CarInformation> pageInfo = new PageInfo<>(carInformations);
return pageInfo;
}
@Override
public Result addCarInformation(CarInformationAddReq carInformationAddReq) {
Integer addCarInformation = carInformationMapper.addCarInformation(carInformationAddReq);
if(addCarInformation > 0){
return Result.success(addCarInformation,"添加车辆成功");
}
return Result.error(402,"添加车辆失败");
}
@Override
public Result delBycarInformationId(Integer carInformationId) {
Integer delBycarInformationId = carInformationMapper.delBycarInformationId(carInformationId);
if (delBycarInformationId > 0){
return Result.success(delBycarInformationId ,"删除车辆成功");
}
return Result.success(402,"删除车辆失败");
}
@Override
public Result updatecarInformation(CarInformationUpdReq carInformationUpdReq) {
Integer updatecarInformation = carInformationMapper.updatecarInformation(carInformationUpdReq);
if (updatecarInformation > 0){
return Result.success(updatecarInformation,"修改车辆信息成功");
}
return Result.error(402,"修改车辆信息失败");
}
@Override
public List<CarInformation> selectBycarInformationIDAndLicensePlate() {
return carInformationMapper.selectBycarInformationIDAndLicensePlate();
}
}

View File

@ -0,0 +1,55 @@
package com.muyu.car.service.Impl;
import com.muyu.car.domain.CarMessage;
import com.muyu.car.mapper.CarMessageMapper;
import com.muyu.car.service.CarMessageService;
import com.muyu.common.core.domain.Result;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.List;
@Service
public class CarMessageServiceImpl implements CarMessageService {
@Resource
private CarMessageMapper carMessageMapper;
@Override
public List<CarMessage> selectCarMessageList() {
return carMessageMapper.selectCarMessageList();
}
@Override
public Result insertCarMessage(CarMessage carMessage) {
Integer inserted = carMessageMapper.insertCarMessage(carMessage);
if (inserted > 0){
return Result.success(inserted,"添加成功");
}
return Result.error(402,"添加失败");
}
@Override
public Result delectByCarMessageId(Integer carMessageId) {
Integer deleteByCarMessageId = carMessageMapper.deleteByCarMessageId(carMessageId);
if (deleteByCarMessageId >0){
return Result.success(carMessageId ,"删除成功");
}
return Result.error(402,"删除失败");
}
@Override
public Result updateCarMessage(CarMessage carMessage) {
Integer integer = carMessageMapper.updateCarMessage(carMessage);
if(integer > 0)
{
return Result.success(carMessage,"修改成功");
}
return Result.error( 402,"修改失败");
}
}

View File

@ -0,0 +1,2 @@
Spring Boot Version: ${spring-boot.version}
Spring Application Name: ${spring.application.name}

View File

@ -0,0 +1,74 @@
<?xml version="1.0" encoding="UTF-8"?>
<configuration scan="true" scanPeriod="60 seconds" debug="false">
<!-- 日志存放路径 -->
<property name="log.path" value="logs/cloud-market"/>
<!-- 日志输出格式 -->
<property name="log.pattern" value="%d{HH:mm:ss.SSS} [%thread] %-5level %logger{20} - [%method,%line] - %msg%n"/>
<!-- 控制台输出 -->
<appender name="console" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>${log.pattern}</pattern>
</encoder>
</appender>
<!-- 系统日志输出 -->
<appender name="file_info" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>${log.path}/info.log</file>
<!-- 循环政策:基于时间创建日志文件 -->
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<!-- 日志文件名格式 -->
<fileNamePattern>${log.path}/info.%d{yyyy-MM-dd}.log</fileNamePattern>
<!-- 日志最大的历史 60天 -->
<maxHistory>60</maxHistory>
</rollingPolicy>
<encoder>
<pattern>${log.pattern}</pattern>
</encoder>
<filter class="ch.qos.logback.classic.filter.LevelFilter">
<!-- 过滤的级别 -->
<level>INFO</level>
<!-- 匹配时的操作:接收(记录) -->
<onMatch>ACCEPT</onMatch>
<!-- 不匹配时的操作:拒绝(不记录) -->
<onMismatch>DENY</onMismatch>
</filter>
</appender>
<appender name="file_error" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>${log.path}/error.log</file>
<!-- 循环政策:基于时间创建日志文件 -->
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<!-- 日志文件名格式 -->
<fileNamePattern>${log.path}/error.%d{yyyy-MM-dd}.log</fileNamePattern>
<!-- 日志最大的历史 60天 -->
<maxHistory>60</maxHistory>
</rollingPolicy>
<encoder>
<pattern>${log.pattern}</pattern>
</encoder>
<filter class="ch.qos.logback.classic.filter.LevelFilter">
<!-- 过滤的级别 -->
<level>ERROR</level>
<!-- 匹配时的操作:接收(记录) -->
<onMatch>ACCEPT</onMatch>
<!-- 不匹配时的操作:拒绝(不记录) -->
<onMismatch>DENY</onMismatch>
</filter>
</appender>
<!-- 系统模块日志级别控制 -->
<logger name="com.muyu" level="info"/>
<!-- Spring日志级别控制 -->
<logger name="org.springframework" level="warn"/>
<root level="info">
<appender-ref ref="console"/>
</root>
<!--系统操作日志-->
<root level="info">
<appender-ref ref="file_info"/>
<appender-ref ref="file_error"/>
</root>
</configuration>

View File

@ -0,0 +1,81 @@
<?xml version="1.0" encoding="UTF-8"?>
<configuration scan="true" scanPeriod="60 seconds" debug="false">
<!-- 日志存放路径 -->
<property name="log.path" value="logs/cloud-market"/>
<!-- 日志输出格式 -->
<property name="log.pattern" value="%d{HH:mm:ss.SSS} [%thread] %-5level %logger{20} - [%method,%line] - %msg%n"/>
<property name="log.sky.pattern" value="%d{HH:mm:ss.SSS} %yellow([%tid]) [%thread] %-5level %logger{20} - [%method,%line] - %msg%n"/>
<!-- 控制台输出 -->
<appender name="console" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>${log.sky.pattern}</pattern>
</encoder>
</appender>
<!-- 系统日志输出 -->
<appender name="file_info" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>${log.path}/info.log</file>
<!-- 循环政策:基于时间创建日志文件 -->
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<!-- 日志文件名格式 -->
<fileNamePattern>${log.path}/info.%d{yyyy-MM-dd}.log</fileNamePattern>
<!-- 日志最大的历史 60天 -->
<maxHistory>60</maxHistory>
</rollingPolicy>
<filter class="ch.qos.logback.classic.filter.LevelFilter">
<!-- 过滤的级别 -->
<level>INFO</level>
<!-- 匹配时的操作:接收(记录) -->
<onMatch>ACCEPT</onMatch>
<!-- 不匹配时的操作:拒绝(不记录) -->
<onMismatch>DENY</onMismatch>
</filter>
</appender>
<appender name="file_error" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>${log.path}/error.log</file>
<!-- 循环政策:基于时间创建日志文件 -->
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<!-- 日志文件名格式 -->
<fileNamePattern>${log.path}/error.%d{yyyy-MM-dd}.log</fileNamePattern>
<!-- 日志最大的历史 60天 -->
<maxHistory>60</maxHistory>
</rollingPolicy>
<filter class="ch.qos.logback.classic.filter.LevelFilter">
<!-- 过滤的级别 -->
<level>ERROR</level>
<!-- 匹配时的操作:接收(记录) -->
<onMatch>ACCEPT</onMatch>
<!-- 不匹配时的操作:拒绝(不记录) -->
<onMismatch>DENY</onMismatch>
</filter>
</appender>
<!-- 使用gRpc将日志发送到skywalking服务端 -->
<appender name="GRPC_LOG" class="org.apache.skywalking.apm.toolkit.log.logback.v1.x.log.GRPCLogClientAppender">
<encoder class="ch.qos.logback.core.encoder.LayoutWrappingEncoder">
<layout class="org.apache.skywalking.apm.toolkit.log.logback.v1.x.TraceIdPatternLogbackLayout">
<Pattern>${log.sky.pattern}</Pattern>
</layout>
</encoder>
</appender>
<!-- 系统模块日志级别控制 -->
<logger name="com.muyu" level="info"/>
<!-- Spring日志级别控制 -->
<logger name="org.springframework" level="warn"/>
<root level="info">
<appender-ref ref="GRPC_LOG"/>
<appender-ref ref="console"/>
</root>
<!--系统操作日志-->
<root level="info">
<appender-ref ref="file_info"/>
<appender-ref ref="file_error"/>
</root>
</configuration>

View File

@ -0,0 +1,81 @@
<?xml version="1.0" encoding="UTF-8"?>
<configuration scan="true" scanPeriod="60 seconds" debug="false">
<!-- 日志存放路径 -->
<property name="log.path" value="logs/cloud-market"/>
<!-- 日志输出格式 -->
<property name="log.pattern" value="%d{HH:mm:ss.SSS} [%thread] %-5level %logger{20} - [%method,%line] - %msg%n"/>
<property name="log.sky.pattern" value="%d{HH:mm:ss.SSS} %yellow([%tid]) [%thread] %-5level %logger{20} - [%method,%line] - %msg%n"/>
<!-- 控制台输出 -->
<appender name="console" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>${log.sky.pattern}</pattern>
</encoder>
</appender>
<!-- 系统日志输出 -->
<appender name="file_info" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>${log.path}/info.log</file>
<!-- 循环政策:基于时间创建日志文件 -->
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<!-- 日志文件名格式 -->
<fileNamePattern>${log.path}/info.%d{yyyy-MM-dd}.log</fileNamePattern>
<!-- 日志最大的历史 60天 -->
<maxHistory>60</maxHistory>
</rollingPolicy>
<filter class="ch.qos.logback.classic.filter.LevelFilter">
<!-- 过滤的级别 -->
<level>INFO</level>
<!-- 匹配时的操作:接收(记录) -->
<onMatch>ACCEPT</onMatch>
<!-- 不匹配时的操作:拒绝(不记录) -->
<onMismatch>DENY</onMismatch>
</filter>
</appender>
<appender name="file_error" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>${log.path}/error.log</file>
<!-- 循环政策:基于时间创建日志文件 -->
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<!-- 日志文件名格式 -->
<fileNamePattern>${log.path}/error.%d{yyyy-MM-dd}.log</fileNamePattern>
<!-- 日志最大的历史 60天 -->
<maxHistory>60</maxHistory>
</rollingPolicy>
<filter class="ch.qos.logback.classic.filter.LevelFilter">
<!-- 过滤的级别 -->
<level>ERROR</level>
<!-- 匹配时的操作:接收(记录) -->
<onMatch>ACCEPT</onMatch>
<!-- 不匹配时的操作:拒绝(不记录) -->
<onMismatch>DENY</onMismatch>
</filter>
</appender>
<!-- 使用gRpc将日志发送到skywalking服务端 -->
<appender name="GRPC_LOG" class="org.apache.skywalking.apm.toolkit.log.logback.v1.x.log.GRPCLogClientAppender">
<encoder class="ch.qos.logback.core.encoder.LayoutWrappingEncoder">
<layout class="org.apache.skywalking.apm.toolkit.log.logback.v1.x.TraceIdPatternLogbackLayout">
<Pattern>${log.sky.pattern}</Pattern>
</layout>
</encoder>
</appender>
<!-- 系统模块日志级别控制 -->
<logger name="com.muyu" level="info"/>
<!-- Spring日志级别控制 -->
<logger name="org.springframework" level="warn"/>
<root level="info">
<appender-ref ref="GRPC_LOG"/>
<appender-ref ref="console"/>
</root>
<!--系统操作日志-->
<root level="info">
<appender-ref ref="file_info"/>
<appender-ref ref="file_error"/>
</root>
</configuration>

View File

@ -0,0 +1,177 @@
<?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">
<!-- 1.在mybats的开发中namespace有特殊的意思一定要是对应接口的全限定名通过namespace可以简历mapper.xml和接口之间的关系(名字不重要,位置不重要)-->
<mapper namespace="com.muyu.car.mapper.CarInformationMapper">
<resultMap id="carInformationResult" type="com.muyu.car.domain.CarInformation">
<result column="car_information_id" property="carInformationId"/>
<result column="car_information_VIN" property="carInformationVIN"/>
<result column="car_information_license_plate" property="carInformationLicensePlate"/>
<result column="car_information_brand" property="carInformationBrand"/>
<result column="car_information_color" property="carInformationColor"/>
<result column="car_information_driver" property="carInformationDriver"/>
<result column="car_information_examine_enddata" property="carInformationExamineEnddata"/>
<result column="car_information_motor_manufacturer" property="carInformationMotorManufacturer"/>
<result column="car_information_motor_model" property="carInformationMotorModel"/>
<result column="car_information_battery_manufacturer" property="carInformationBatteryManufacturer"/>
<result column="car_information_battery_model" property="carInformationBatteryModel"/>
<result column="car_information_fence" property="carInformationFence"/>
<result column="car_information_type" property="carInformationType"/>
<result column="car_information_focus" property="carInformationFocus"/>
<result column="car_information_state" property="carInformationState"/>
<result column="car_type_id" property="carTypeId"/>
<result column="car_type_name" property="carTypeName"/>
</resultMap>
<sql id="carinformationSql">
SELECT
car_information_id,
car_information_VIN,
car_information_license_plate,
car_information_brand,
car_information_color,
car_information_driver,
car_information_examine_enddata,
car_information_motor_manufacturer,
car_information_motor_model,
car_information_battery_manufacturer,
car_information_battery_model,
car_information_fence,
car_information_type,
car_information_focus,
car_information_state
FROM `car_information`
</sql>
<select id="selectCarInformationList" resultMap="carInformationResult" >
SELECT
car_information_id , car_information_VIN , car_information_license_plate,
car_information_brand , car_information_color , car_information_driver,
car_information_examine_enddata , car_information_motor_manufacturer , car_information_motor_model,
car_information_battery_manufacturer, car_information_battery_model , car_information_fence,
car_information_type , car_information_focus , car_information_state,
car_type_id , car_type_name ,
id , name
FROM `car_information`
LEFT JOIN `car_type`
ON `car_information`.car_information_type = `car_type`.car_type_id
LEFT JOIN `car_fence`
ON `car_information`.car_information_fence = `car_fence`.id
<where>
<if test= "carInformationVIN != null and carInformationVIN!='' " >
AND `car_information`.car_information_VIN = #{carInformationVIN}
</if>
<if test= "carTypeId != null" >
AND `car_information`. car_information_type = #{carTypeId}
</if>
<if test= "carInformationFence != null" >
AND `car_information`.car_information_fence = #{carInformationFence}
</if>
<if test= "carInformationState != null " >
AND `car_information`.car_information_state = #{carInformationState}
</if>
<if test= "carInformationMotorManufacturer != null and carInformationMotorManufacturer !=''" >
AND instr(`car_information`.car_information_motor_manufacturer , #{carInformationMotorManufacturer})
</if>
<if test= "carInformationMotorModel != null and carInformationMotorModel !='' " >
AND `car_information`.car_information_motor_model = #{carInformationMotorModel}
</if>
<if test= "carInformationBatteryManufacturer != null and carInformationBatteryManufacturer != '' " >
AND instr(`car_information`.car_information_battery_manufacturer , #{carInformationBatteryManufacturer})
</if>
<if test= "carInformationBatteryModel != null and carInformationBatteryModel != '' " >
AND `car_information`.car_information_battery_model = #{carInformationBatteryModel}
</if>
</where>
</select>
<select id="selectBycarInformationIDAndLicensePlate" resultType="com.muyu.car.domain.CarInformation">
SELECT
car_information_id ,
car_information_license_plate
FROM `car_information`
</select>
<insert id="addCarInformation">
INSERT INTO `car_information`
(
<if test= "carInformationVIN != null and carInformationVIN!='' " >car_information_VIN,</if>
<if test= "carInformationLicensePlate != null and carInformationLicensePlate!='' "> car_information_license_plate,</if>
<if test= "carInformationBrand != null and carInformationBrand!='' " >car_information_brand, </if>
<if test= "carInformationColor != null and carInformationColor!='' " > car_information_color, </if>
<if test= "carInformationDriver != null and carInformationDriver!='' " > car_information_driver, </if>
<if test= "carInformationExamineEnddata != null and carInformationExamineEnddata!='' " > car_information_examine_enddata, </if>
<if test= "carInformationMotorManufacturer != null and carInformationMotorManufacturer!='' " >car_information_motor_manufacturer, </if>
<if test= "carInformationMotorModel != null and carInformationMotorModel!='' " >car_information_motor_model, </if>
<if test= "carInformationBatteryManufacturer != null and carInformationBatteryManufacturer!='' " >car_information_battery_manufacturer, </if>
<if test= "carInformationBatteryModel != null and carInformationBatteryModel!='' " >car_information_battery_model, </if>
<if test= "carInformationFence != null " >car_information_fence, </if>
<if test= "carInformationType != null " >car_information_type </if> )
VALUES (
<if test= "carInformationVIN != null and carInformationVIN!='' " >#{carInformationVIN},</if>
<if test= "carInformationLicensePlate != null and carInformationLicensePlate!='' "> #{carInformationLicensePlate},</if>
<if test= "carInformationBrand != null and carInformationBrand!='' " > #{carInformationBrand} , </if>
<if test= "carInformationColor != null and carInformationColor!='' " > #{carInformationColor}, </if>
<if test= "carInformationDriver != null and carInformationDriver!='' " > #{carInformationDriver}, </if>
<if test= "carInformationExamineEnddata != null and carInformationExamineEnddata!='' " > #{carInformationExamineEnddata}, </if>
<if test= "carInformationMotorManufacturer != null and carInformationMotorManufacturer!='' " >#{carInformationMotorManufacturer}, </if>
<if test= "carInformationMotorModel != null and carInformationMotorModel!='' " > #{carInformationMotorModel}, </if>
<if test= "carInformationBatteryManufacturer != null and carInformationBatteryManufacturer!='' " > #{carInformationBatteryManufacturer}, </if>
<if test= "carInformationBatteryModel != null and carInformationBatteryModel!='' " > #{carInformationBatteryModel}, </if>
<if test= "carInformationFence != null " >#{carInformationFence}, </if>
<if test= "carInformationType != null " > #{carInformationType} </if> );
</insert>
<update id="updatecarInformation">
UPDATE `car_information`
SET
`car_information_VIN` = #{carInformationVIN},
`car_information_license_plate` = #{carInformationLicensePlate},
`car_information_brand` = #{carInformationBrand},
`car_information_color` = #{carInformationColor},
`car_information_driver` = #{carInformationDriver},
`car_information_examine_enddata` = #{carInformationExamineEnddata},
`car_information_motor_manufacturer` = #{carInformationMotorManufacturer},
`car_information_motor_model` = #{carInformationMotorModel} ,
`car_information_battery_manufacturer` = #{carInformationBatteryManufacturer},
`car_information_battery_model` = #{carInformationBatteryModel},
`car_information_fence` = #{carInformationFence},
`car_information_type` = #{carInformationType}
WHERE `car_information_id` = #{carInformationId}
</update>
<delete id="delBycarInformationId">
DELETE FROM `car_information`
WHERE `car_information`.car_information_id= #{carInformationId}
</delete>
</mapper>

View File

@ -0,0 +1,94 @@
<?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">
<!-- 1.在mybats的开发中namespace有特殊的意思一定要是对应接口的全限定名通过namespace可以简历mapper.xml和接口之间的关系(名字不重要,位置不重要)-->
<mapper namespace="com.muyu.car.mapper.CarMessageMapper">
<resultMap id="carMessageResult" type="com.muyu.car.domain.CarMessage">
<result property="messageTypeId" column="message_type_id"/>
<result property="messageTypeCode" column="message_type_code"/>
<result property="messageTypeName" column="message_type_name"/>
<result property="messageTypeBelongs" column="message_type_belongs"/>
<result property="messageTypeClass" column="message_type_class"/>
<result property="carMessageId" column="car_message_id"/>
<result property="carMessageCartype" column="car_message_cartype"/>
<result property="carMessageType" column="car_message_type"/>
<result property="carMessageStartIndex" column="car_message_start_index"/>
<result property="carMessageEndIndex" column="car_message_end_index"/>
<result property="carMessageState" column= "car_message_state"/>
</resultMap>
<insert id="insertCarMessage">
INSERT INTO `car_message` (
car_message_cartype,
car_message_type,
car_message_start_index,
car_message_end_index,
message_type_class,
car_message_state
)
VALUES(
#{carMessageCartype},
#{carMessageType},
#{carMessageStartIndex},
#{carMessageEndIndex},
#{messageTypeClass},
#{carMessageState}
)
</insert>
<update id="updateCarMessage">
UPDATE `car_message`
SET
<if test="carMessageCartype != null" >
car_message_cartype = #{carMessageCartype} ,
</if>
<if test="carMessageType != null">
car_message_type = #{carMessageType} ,
</if>
<if test="carMessageStartIndex != null">
car_message_start_index = #{carMessageStartIndex} ,
</if>
<if test="carMessageEndIndex != null">
car_message_end_index = #{carMessageEndIndex} ,
</if>
<if test="messageTypeClass != null and messageTypeClass !=''">
message_type_class = #{messageTypeClass} ,
</if>
<if test="carMessageState != null ">
car_message_state = #{carMessageState}
</if>
</update>
<delete id="deleteByCarMessageId">
DELETE FROM `car_message`
WHERE `car_message`.car_message_id = #{carMessageId}
</delete>
<select id="selectCarMessageList" resultMap="carMessageResult">
SELECT
car_message_id,
car_message_cartype,
car_message_type,
car_message_start_index,
car_message_end_index,
message_type_class,
car_message_state,
message_type_id,
message_type_code,
message_type_name,
message_type_belongs,
car_type_id,
car_type_name
FROM `car_message`
LEFT JOIN `car_message_type`
ON `car_message`.car_message_type = `car_message_type`.message_type_id
LEFT JOIN `car_type`
ON `car_message` .car_message_cartype = `car_type`.car_type_id
</select>
</mapper>

View File

@ -110,4 +110,6 @@ public class SysDeptController extends BaseController {
deptService.checkDeptDataScope(deptId);
return toAjax(deptService.deleteDeptById(deptId));
}
}

View File

@ -35,4 +35,6 @@ public class DataSourceInterceptor implements HandlerInterceptor {
//请求完成之后进行清理操作
DataSourceContextHolder.clearDataSourceKey();
}
}

View File

@ -5,7 +5,6 @@ import com.muyu.system.domain.SysConfig;
import jakarta.annotation.PostConstruct;
import lombok.extern.log4j.Log4j2;
import org.springframework.amqp.core.Queue;
import org.springframework.amqp.rabbit.annotation.RabbitHandler;
import org.springframework.amqp.rabbit.annotation.RabbitListener;
import org.springframework.amqp.rabbit.core.RabbitTemplate;
import org.springframework.beans.factory.annotation.Autowired;

View File

@ -70,6 +70,7 @@ public class SysDeptServiceImpl extends ServiceImpl<SysDeptMapper, SysDept> impl
return buildDeptTreeSelect(depts);
}
/**
*
*

View File

@ -12,6 +12,7 @@
<module>cloud-modules-system</module>
<module>cloud-modules-gen</module>
<module>cloud-modules-file</module>
<module>cloud-modules-car</module>
</modules>
<artifactId>cloud-modules</artifactId>