解析系统

master
ZhangXushuo 2023-12-05 08:02:50 +08:00
parent 5add5062b9
commit e026594df3
20 changed files with 749 additions and 107 deletions

View File

@ -25,18 +25,36 @@ import java.util.Date;
@AllArgsConstructor @AllArgsConstructor
@TableName("t_firm") @TableName("t_firm")
public class Firm { public class Firm {
/**
* id
*/
@TableId(value = "firm_id",type = IdType.AUTO) @TableId(value = "firm_id",type = IdType.AUTO)
private Integer firmId; private Integer firmId;
/**
*
*/
@TableField("firm_name") @TableField("firm_name")
private String firmName; private String firmName;
/**
*
*/
@TableField("firm_admin") @TableField("firm_admin")
private String firmAdmin; private String firmAdmin;
/**
*
*/
@TableField("firm_time") @TableField("firm_time")
@DateTimeFormat(pattern = "yyyy-MM-dd") @DateTimeFormat(pattern = "yyyy-MM-dd")
@JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8") @JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8")
private Date firmTime; private Date firmTime;
/**
*
*/
@TableField("firm_home") @TableField("firm_home")
private String firmHome; private String firmHome;
/**
* vip
*/
@TableField("firm_vip") @TableField("firm_vip")
private Integer firmVip; private Integer firmVip;
} }

View File

@ -1,6 +1,6 @@
# Tomcat # Tomcat
server: server:
port: 8080 port: 8089
# Spring # Spring
spring: spring:
application: application:

View File

@ -11,6 +11,7 @@ import org.springframework.boot.autoconfigure.SpringBootApplication;
@EnableMyFeignClients @EnableMyFeignClients
@SpringBootApplication @SpringBootApplication
public class FiveGroupAnalysisApplication { public class FiveGroupAnalysisApplication {
public static void main(String[] args) { public static void main(String[] args) {
SpringApplication.run(FiveGroupAnalysisApplication.class); SpringApplication.run(FiveGroupAnalysisApplication.class);
} }

View File

@ -1,7 +1,5 @@
package com.fivegroup.analysis.feign; package com.fivegroup.analysis.feign;
import com.fivegroup.common.core.domain.Result;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.cloud.openfeign.FeignClient; import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestBody;

View File

@ -1,47 +1,39 @@
# Tomcat
server: server:
port: 8081 port: 8081
feign:
client:
config:
default:
connectTimeout: 30000
# Spring
spring: spring:
rabbitmq: rabbitmq:
host: 101.34.69.116
port: 5672
username: guest username: guest
password: guest password: guest
virtualHost: / template:
port: 5672 mandatory: true
host: 101.34.69.116
listener: listener:
simple: simple:
prefetch: 1 # 每次只能获取一条,处理完成才能获取下一条 prefetch: 1 # 每次取一条消息消费 消费完成取下一条
publisher-confirm-type: correlated #确认消息已发送到交换机(Exchange) acknowledge-mode: manual # 设置消费端手动ack确认
retry:
enabled: true # 支持重试
publisher-confirms: true #确认消息已发送到交换机(Exchange)
publisher-returns: true #确认消息已发送到队列(Queue) publisher-returns: true #确认消息已发送到队列(Queue)
application: redis:
# 应用名称 host: 101.34.69.116 # Redis服务器主机地址
name: fivegroup-analysis port: 6379 # Redis服务器端口号
profiles: password: # Redis密码如果没有则为空
# 环境配置 timeout: 3000 # 连接超时时间,单位为毫秒
active: dev database: 0 # Redis数据库索引号默认为0
cloud: datasource:
nacos: url: jdbc:mysql://101.34.69.116:3306/car?characterEncoding=utf-8&serverTimezone=Asia/Shanghai
discovery: username: root
# 服务注册地址 password: zhang0318.
server-addr: 101.34.69.116:8848 driver-class-name: com.mysql.cj.jdbc.Driver
config: druid:
# 配置中心地址 initial-size: 5 # 初始化时建立物理连接的个数。初始化发生在显示调用init方法或者第一次getConnection时
server-addr: 101.34.69.116:8848 min-idle: 5 # 最小连接池数量
# 配置文件格式 max-active: 20 # 最大连接池数量
file-extension: yml max-wait: 60000 # 获取连接时最大等待时间单位毫秒。配置了maxWait之后缺省启用公平锁
# 共享配置 mybatis:
shared-configs: # 搜索指定包别名
- application-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension} typeAliasesPackage: com.fivegroup.analysis.domain
logging: # 配置mapper的扫描找到所有的mapper.xml映射文件
level: mapperLocations: classpath:mapper/**/*.xml
com.fivegroup.system.mapper: DEBUG

View File

@ -29,6 +29,7 @@ spring:
transport: transport:
# 控制台地址 # 控制台地址
dashboard: 101.34.69.116:8718 dashboard: 101.34.69.116:8718
# # nacos配置持久化 # # nacos配置持久化
# datasource: # datasource:
# ds1: # ds1:

View File

@ -1,6 +1,6 @@
# Tomcat # Tomcat
server: server:
port: 9202 port: 9230
# Spring # Spring
spring: spring:

View File

@ -86,6 +86,14 @@
<groupId>com.fivegroup</groupId> <groupId>com.fivegroup</groupId>
<artifactId>fivegroup-common-security</artifactId> <artifactId>fivegroup-common-security</artifactId>
</dependency> </dependency>
<dependency>
<groupId>org.junit.platform</groupId>
<artifactId>junit-platform-commons</artifactId>
</dependency>
<dependency>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
</dependency>
</dependencies> </dependencies>

View File

@ -0,0 +1,25 @@
package com.fivegroup.real.aop;
import org.springframework.web.bind.annotation.RestController;
import java.lang.annotation.*;
/**
*
*
* @author ZhangXushuo
* @version 2023/12/4 - 19:31
*/
@Retention(RetentionPolicy.RUNTIME)
@Target({ElementType.METHOD})
@Documented
public @interface WebLog {
/**
*
*
* @return
*/
String value() default "";
}

View File

@ -0,0 +1,94 @@
package com.fivegroup.real.aop;
import com.google.gson.Gson;
import org.aspectj.lang.JoinPoint;
import org.aspectj.lang.ProceedingJoinPoint;
import org.aspectj.lang.annotation.*;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Component;
import org.aspectj.lang.ProceedingJoinPoint;
import org.springframework.web.context.request.RequestContextHolder;
import org.springframework.web.context.request.ServletRequestAttributes;
import javax.servlet.http.HttpServletRequest;
import java.lang.reflect.Method;
/**
*
*
* @author ZhangXushuo
* @version 2023/12/4 - 19:35
*/
@Aspect
@Component
public class WebLogAspect {
private final static Logger logger= LoggerFactory.getLogger(WebLogAspect.class);
private static final Gson gson=new Gson();
private static final String LINE_SEPARATOR = System.lineSeparator();
@Pointcut("@annotation(com.fivegroup.real.aop.WebLog)")
public void webLog(){}
@Before("webLog()")
public void doBefore(JoinPoint joinPoint){
ServletRequestAttributes attributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes();
if (attributes!=null) {
HttpServletRequest request = attributes.getRequest();
//获取@WebLog()注解的描述信息
String methodDescription;
try {
methodDescription = getAspectLogDescription(joinPoint);
}catch (Exception e){
methodDescription="无法获取方法描述信息";
logger.error("获取方法描述信息时发生的异常:",e);
}
logger.info("======================start=======================");
logger.info("URL: :{}",request.getRequestURL().toString());
logger.info("描述信息 {}",methodDescription);
logger.info("HTTP: {}",request.getMethod());
logger.info("类方法 :{},{}",joinPoint.getSignature());
logger.info("Ip :{}",request.getRemoteAddr());
logger.info("请求参数 {}",gson.toJson(joinPoint.getArgs()));
}
}
@Around("webLog()")
public void daAfter(){
logger.info("=========================end==========================");
}
/**
*
* @param proceedingJoinPoint
* @return
* @throws Throwable
*/
@Around("webLog()")
public Object doAround(ProceedingJoinPoint proceedingJoinPoint) throws Throwable {
long startTime = System.currentTimeMillis();
Object result = proceedingJoinPoint.proceed();
logger.info("执行方法:"+gson.toJson(result));
logger.info(",耗时:"+(System.currentTimeMillis()-startTime)+"毫秒");
return result;
}
private String getAspectLogDescription(JoinPoint joinPoint) throws ClassNotFoundException {
String targetName = joinPoint.getTarget().getClass().getName();
String methodName = joinPoint.getSignature().getName();
Object[] arguments= joinPoint.getArgs();
Class<?> targetClass = Class.forName(targetName);
Method[] methods = targetClass.getMethods();
for (Method method : methods) {
if (method.getName().equals(methodName) && method.getParameterTypes().length == arguments.length) {
WebLog webLog = method.getAnnotation(WebLog.class);
if (webLog != null) {
return webLog.value();
}
}
}
return "";
}
}

View File

@ -1,12 +1,15 @@
package com.fivegroup.real.controller; package com.fivegroup.real.controller;
import com.fivegroup.common.core.domain.Result; import com.fivegroup.common.core.domain.Result;
import com.fivegroup.common.core.trajectory.Vehicle;
import com.fivegroup.common.log.annotation.Log; import com.fivegroup.common.log.annotation.Log;
import com.fivegroup.common.log.enums.BusinessType; import com.fivegroup.common.log.enums.BusinessType;
import com.fivegroup.common.real.domain.Car; import com.fivegroup.common.real.domain.Car;
import com.fivegroup.common.security.annotation.RequiresPermissions; import com.fivegroup.common.security.annotation.RequiresPermissions;
import com.fivegroup.real.domain.RequestVehicle; import com.fivegroup.real.domain.RequestVehicle;
import com.fivegroup.real.domain.VehicleData;
import com.fivegroup.real.domain.response.ResponseCar;
import com.fivegroup.real.service.RealService; import com.fivegroup.real.service.RealService;
import lombok.extern.log4j.Log4j2; import lombok.extern.log4j.Log4j2;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
@ -26,16 +29,25 @@ import java.util.List;
@Log4j2 @Log4j2
public class RealController { public class RealController {
/**
*
*/
@Autowired @Autowired
public RealService realService; public RealService realService;
@PostMapping("ResponseCarList")
public Result<List<ResponseCar>> ResponseCarList(){
return realService.ResponseCarList();
}
/** /**
* *
* @return * @return
*/ */
@PostMapping("/carList") @PostMapping("vehicleList")
public List<Car> carList(){ private Result<List<VehicleData>> vehicleList(){
return realService.carList(); List<VehicleData> list= realService.vehicleList();
Result<List<VehicleData>> result = Result.success(list);
return result;
} }
/** /**
@ -50,6 +62,19 @@ public class RealController {
return result; return result;
} }
/**
*
* @return
* @return
*/
// @RequiresPermissions("car:car:seeList")
@PostMapping("seeList")
public Result<List<Car>> seeList(){
List<Car> list = realService.seeList();
Result<List<Car>> result = Result.success(list);
return result;
}
/** /**
* *
* @param car * @param car
@ -90,20 +115,30 @@ public class RealController {
return result; return result;
} }
/**
*
* @param requestVehicle
* @return
*/
// @RequiresPermissions("car:insertVehicle") // @RequiresPermissions("car:insertVehicle")
@PostMapping("insertVehicle") @PostMapping("insertVehicle")
public Result<String> insertVehicle(@RequestBody RequestVehicle requestVehicle){ public Result<String> insertVehicle(@RequestBody RequestVehicle requestVehicle){
return realService.insertVehicle(requestVehicle); return realService.insertVehicle(requestVehicle);
} }
@PostMapping("/insert")
public Result insert(@RequestBody Car car){ /**
return realService.insert(car); * ID
} * @param carId
* @return
*/
@PostMapping("/delete/{carId}") @PostMapping("/delete/{carId}")
public int delete(@RequestBody Integer carId){ public int delete(@RequestBody Integer carId){
return realService.delete(carId); return realService.delete(carId);
} }
@PostMapping("/insert")
public int insert(@RequestBody Car carId){
return realService.insert(carId);
}
} }

View File

@ -24,7 +24,7 @@ public class Car {
* *
* *
*/ */
private String carCode; private String carBh;
/** /**
* vin * vin
*/ */
@ -36,7 +36,7 @@ public class Car {
/** /**
* id * id
*/ */
private Integer fenceId; private Integer wallId;
/** /**
* *
*/ */
@ -44,19 +44,19 @@ public class Car {
/** /**
* *
*/ */
private Integer batterymakerId; private Integer motorManufacturerId;
/** /**
* *
*/ */
private Integer motormanufacturerId; private Integer batteryMakerId;
/** /**
* *
*/ */
private Integer motorId; private Integer motorBh;
/** /**
* *
*/ */
private Integer batteryId; private Integer batteryBh;
/** /**
* *
*/ */

View File

@ -0,0 +1,308 @@
package com.fivegroup.real.domain;
import lombok.*;
import java.math.BigDecimal;
import java.util.Date;
/**
*
*
* @author ZhangXushuo
* @version 2023/12/4 - 21:28
*/
@Data
@ToString
@NoArgsConstructor
@AllArgsConstructor
@Builder
public class VehicleData {
/**
* id
*/
private Integer id;
/**
* VIN
*/
private String vin;
/**
*
*/
private Date createTime;
/**
*
*/
private String longitude;
/**
*
*/
private String latitude;
/**
*
*/
private String speed;
/**
*
*/
private BigDecimal mileage;
/**
*
*/
private String voltage;
/**
*
*/
private String current;
/**
*
*/
private String resistance;
/**
*
*/
private String gear;
/**
*
*/
private String accelerationPedal;
/**
*
*/
private String brakePedal;
/**
*
*/
private String fuelConsumptionRate;
/**
*
*/
private String motorControllerTemperature;
/**
*
*/
private String motorSpeed;
/**
*
*/
private String motorTorque;
/**
*
*/
private String motorTemperature;
/**
*
*/
private String motorVoltage;
/**
*
*/
private String motorCurrent;
/**
* SOC
*/
private BigDecimal remainingBattery;
/**
*
*/
private String maximumFeedbackPower;
/**
*
*/
private String maximumDischargePower;
/**
* BMS
*/
private String selfCheckCounter;
/**
*
*/
private String totalBatteryCurrent;
/**
* V3
*/
private String totalBatteryVoltage;
/**
*
*/
private String singleBatteryMaxVoltage;
/**
*
*/
private String singleBatteryMinVoltage;
/**
*
*/
private String singleBatteryMaxTemperature;
/**
*
*/
private String singleBatteryMinTemperature;
/**
*
*/
private String availableBatteryCapacity;
/**
*
*/
private int vehicleStatus;
/**
*
*/
private int chargingStatus;
/**
*
*/
private int operatingStatus;
/**
* SOC
*/
private int socStatus;
/**
*
*/
private int chargingEnergyStorageStatus;
/**
*
*/
private int driveMotorStatus;
/**
*
*/
private int positionStatus;
/**
* EAS()
*/
private int easStatus;
/**
* PTC()
*/
private int ptcStatus;
/**
* EPS()
*/
private int epsStatus;
/**
* ABS()
*/
private int absStatus;
/**
* MCU(/)
*/
private int mcuStatus;
/**
*
*/
private int heatingStatus;
/**
*
*/
private int batteryStatus;
/**
*
*/
private int batteryInsulationStatus;
public static VehicleData getBuild(String messages) {
char start = messages.charAt(0);
char end = messages.charAt(messages.length() - 1);
System.out.println(start);
System.out.println(end);
return VehicleData.builder()
.vin(messages.substring(1, 18))
//messages.substring(18, 31)
.createTime(new Date())
.longitude(messages.substring(31, 42))
.latitude(messages.substring(42, 52))
.speed(messages.substring(52, 58))
.mileage(new BigDecimal(messages.substring(58, 69)))
.voltage(messages.substring(69, 75))
.current(messages.substring(75, 80))
.resistance(messages.substring(80, 89))
.gear(messages.substring(89, 90))
.accelerationPedal(messages.substring(90, 92))
.brakePedal(messages.substring(92, 94))
.fuelConsumptionRate(messages.substring(94, 99))
.motorControllerTemperature(messages.substring(99, 105))
.motorSpeed(messages.substring(105, 110))
.motorTorque(messages.substring(110, 114))
.motorTemperature(messages.substring(114, 120))
.motorVoltage(messages.substring(120, 125))
.motorCurrent(messages.substring(125, 133))
.remainingBattery(new BigDecimal(messages.substring(133, 139)))
.maximumFeedbackPower(messages.substring(139, 145))
.maximumDischargePower(messages.substring(145, 151))
.selfCheckCounter(messages.substring(151, 153))
.totalBatteryCurrent(messages.substring(153, 158))
.totalBatteryVoltage(messages.substring(158, 164))
.singleBatteryMaxVoltage(messages.substring(164, 168))
.singleBatteryMinVoltage(messages.substring(168, 172))
.singleBatteryMaxTemperature(messages.substring(172, 178))
.singleBatteryMinTemperature(messages.substring(178, 184))
.availableBatteryCapacity(messages.substring(184, 190))
.vehicleStatus(Integer.valueOf(messages.substring(190, 191)))
.chargingStatus(Integer.valueOf(messages.substring(191, 192)))
.operatingStatus(Integer.valueOf(messages.substring(192, 193)))
.socStatus(Integer.valueOf(messages.substring(193, 194)))
.chargingEnergyStorageStatus(Integer.valueOf(messages.substring(194, 195)))
.driveMotorStatus(Integer.valueOf(messages.substring(195, 196)))
.positionStatus(Integer.valueOf(messages.substring(196, 197)))
.easStatus(Integer.valueOf(messages.substring(197, 198)))
.ptcStatus(Integer.valueOf(messages.substring(198, 199)))
.epsStatus(Integer.valueOf(messages.substring(199, 200)))
.absStatus(Integer.valueOf(messages.substring(200, 201)))
.mcuStatus(Integer.valueOf(messages.substring(201, 202)))
.heatingStatus(Integer.valueOf(messages.substring(202, 203)))
.batteryStatus(Integer.valueOf(messages.substring(203, 204)))
.batteryInsulationStatus(Integer.valueOf(messages.substring(204, 205)))
.build();
}
}

View File

@ -0,0 +1,47 @@
package com.fivegroup.real.domain;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
*
*
* @author ZhangXushuo
* @version 2023/12/3 - 19:12
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
@Builder
public class Wall {
/**
* id
*/
private Integer wallId;
/**
*
*/
private String wallName;
/**
*
*/
private String wallData;
/**
*
*/
private Integer status;
/**
*
*/
private Integer allarmType;
/**
* id
*/
private Integer wallTagId;
}

View File

@ -1,10 +1,14 @@
package com.fivegroup.real.domain.response; package com.fivegroup.real.domain.response;
import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.Data; import lombok.Data;
import lombok.NoArgsConstructor; import lombok.NoArgsConstructor;
import org.springframework.format.annotation.DateTimeFormat;
import java.util.Date;
/** /**
* *
@ -106,5 +110,80 @@ public class ResponseCar {
@ApiModelProperty(name = "电池厂家名称") @ApiModelProperty(name = "电池厂家名称")
@TableField("battery_maker_name") @TableField("battery_maker_name")
private String batterymakerName; private String batterymakerName;
/**
* id
*/
@ApiModelProperty(name = "电子围栏id")
@TableField("wall_id")
private Integer wallId;
/**
*
*/
@ApiModelProperty(name = "电子围栏名字")
@TableField("wall_name")
private String wallName;
/**
*
*/
@ApiModelProperty(name = "电子围栏时间")
@TableField("wall_data")
private String wallData;
/**
*
*/
@ApiModelProperty(name = "电子围栏状态")
@TableField("status")
private Integer status;
/**
*
*/
@ApiModelProperty(name = "行驶类型")
@TableField("allarm_type")
private Integer allarmType;
/**
* id
*/
@ApiModelProperty(name = "电子围栏标签id")
@TableField("wall_tag_id")
private Integer wallTagId;
/**
* name
*/
@ApiModelProperty(name = "电机厂家name")
@TableField("motor_manufacturer_name")
private String motorManufacturerName;
/**
*
*/
@ApiModelProperty(name = "电池厂家name")
@TableField("battery_maker_name")
private String batteryMakerName;
/**
*
*/
@TableField("firm_name")
private String firmName;
/**
*
*/
@TableField("firm_admin")
private String firmAdmin;
/**
*
*/
@TableField("firm_time")
@DateTimeFormat(pattern = "yyyy-MM-dd")
@JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8")
private Date firmTime;
/**
*
*/
@TableField("firm_home")
private String firmHome;
/**
* vip
*/
@TableField("firm_vip")
private Integer firmVip;
} }

View File

@ -3,9 +3,10 @@ package com.fivegroup.real.mapper;
import com.fivegroup.common.core.domain.Result; import com.fivegroup.common.core.domain.Result;
import com.fivegroup.common.real.domain.Car; import com.fivegroup.common.real.domain.Car;
import com.fivegroup.real.domain.RequestVehicle; import com.fivegroup.real.domain.RequestVehicle;
import com.fivegroup.real.domain.VehicleData;
import com.fivegroup.real.domain.response.ResponseCar;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
import java.util.List; import java.util.List;
/** /**
@ -18,21 +19,22 @@ public interface RealMapper {
void deleteCar(Integer carId); void deleteCar(Integer carId);
List<Car> carList(); List<Car> carList();
List<Car> showCar(); List<Car> showCar();
List<Car> list();
Result insertVehicle(RequestVehicle requestVehicle); Result insertVehicle(RequestVehicle requestVehicle);
int insert(Car carId);
Result insert(Car car);
int delete(@Param("carId") Integer carId); int delete(@Param("carId") Integer carId);
List<Car> seeList();
Result<List<ResponseCar>> ResponseCarList();
List<VehicleData> vehicleList();
} }

View File

@ -3,6 +3,8 @@ package com.fivegroup.real.service;
import com.fivegroup.common.core.domain.Result; import com.fivegroup.common.core.domain.Result;
import com.fivegroup.common.real.domain.Car; import com.fivegroup.common.real.domain.Car;
import com.fivegroup.real.domain.RequestVehicle; import com.fivegroup.real.domain.RequestVehicle;
import com.fivegroup.real.domain.VehicleData;
import com.fivegroup.real.domain.response.ResponseCar;
import java.util.List; import java.util.List;
@ -13,25 +15,24 @@ import java.util.List;
public interface RealService { public interface RealService {
void insertCar(Car car); void insertCar(Car car);
void updateCar(Car carId); void updateCar(Car carId);
void deleteCar(Integer carId); void deleteCar(Integer carId);
List<Car> carList();
List<Car> showCar(); List<Car> showCar();
List<Car> list();
Result<String> insertVehicle(RequestVehicle requestVehicle); Result<String> insertVehicle(RequestVehicle requestVehicle);
Result insert(Car car);
int delete(Integer carId); int delete(Integer carId);
List<Car> seeList();
Result<List<ResponseCar>> ResponseCarList();
int insert(Car carId);
List<VehicleData> vehicleList();
} }

View File

@ -2,11 +2,15 @@ package com.fivegroup.real.service.impl;
import com.fivegroup.common.core.domain.Result; import com.fivegroup.common.core.domain.Result;
import com.fivegroup.common.core.exception.ServiceException; import com.fivegroup.common.core.exception.ServiceException;
import com.fivegroup.common.log.annotation.Log;
import com.fivegroup.common.real.domain.Car; import com.fivegroup.common.real.domain.Car;
import com.fivegroup.real.domain.RequestVehicle; import com.fivegroup.real.domain.RequestVehicle;
import com.fivegroup.real.domain.VehicleData;
import com.fivegroup.real.domain.response.ResponseCar;
import com.fivegroup.real.mapper.RealMapper; import com.fivegroup.real.mapper.RealMapper;
import com.fivegroup.real.service.RealService; import com.fivegroup.real.service.RealService;
import lombok.extern.log4j.Log4j2; import lombok.extern.log4j.Log4j2;
import org.bouncycastle.cert.ocsp.jcajce.JcaRespID;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
@ -18,6 +22,7 @@ import java.util.List;
* @version 2023/11/24 - 21:21 * @version 2023/11/24 - 21:21
*/ */
@Service @Service
@Log4j2
public class RealServiceImpl implements RealService { public class RealServiceImpl implements RealService {
@Autowired @Autowired
private RealMapper realMapper; private RealMapper realMapper;
@ -34,49 +39,51 @@ public class RealServiceImpl implements RealService {
} }
} }
@Override
public Result insert(Car car) {
Result result= realMapper.insert(car);
if(result!=null){
return result;
}else {
return null;
}
}
@Override @Override
public int delete(Integer carId) { public int delete(Integer carId) {
int i= realMapper.delete(carId); int i= realMapper.delete(carId);
if(i!=0){ if(i!=0){
System.out.println("删除失败"); log.info("删除成功");
return 0; return 0;
}else { }else {
System.out.println("删除成功"); log.info("删除成功");
return i; return i;
} }
} }
@Override @Override
public List<Car> carList() { public List<Car> seeList() {
List<Car> car= realMapper.carList(); List<Car> car= realMapper.seeList();
return car; return car;
} }
@Override
public Result<List<ResponseCar>> ResponseCarList() {
if(realMapper.ResponseCarList()==null){
return realMapper.ResponseCarList();
}
if(realMapper.ResponseCarList()!=null){
return realMapper.ResponseCarList();
}
return Result.success();
}
@Override
public int insert(Car carId) {
return 0;
}
@Override
public List<VehicleData> vehicleList() {
return realMapper.vehicleList();
}
@Override @Override
public List<Car> showCar() { public List<Car> showCar() {
return realMapper.showCar(); return realMapper.showCar();
} }
@Override
public List<Car> list() {
return realMapper.list();
}
// @Override
// public void insertCar(Car car) {
// realMapper.insertCar(car);
// }
@Override @Override
public void insertCar(Car car) { public void insertCar(Car car) {

View File

@ -6,6 +6,7 @@
<resultMap type="com.fivegroup.real.domain.Car" id="selectCqr"> <resultMap type="com.fivegroup.real.domain.Car" id="selectCqr">
<id property="carId" column="car_id"/> <id property="carId" column="car_id"/>
<result property="carBh" column="car_bh"/>
<result property="carVin" column="car_vin"/> <result property="carVin" column="car_vin"/>
<result property="cartypeId" column="car_type_id"/> <result property="cartypeId" column="car_type_id"/>
<result property="fenceId" column="fence_id"/> <result property="fenceId" column="fence_id"/>
@ -17,10 +18,10 @@
<result property="operatingArea" column="operating_area"/> <result property="operatingArea" column="operating_area"/>
</resultMap> </resultMap>
<insert id="insert"> <insert id="insert">
insert into t_car ('car_id','car_code','car_vin', 'car_type_id', 'fence_id', 'car_status', 'battery_maker_id' insert into t_car ('car_id','car_bh','car_vin', 'car_type_id', 'fence_id', 'car_status', 'battery_maker_id'
,'motor_manufacturer_id','motor_id', 'battery_id','actuate_id', 'operating_area','firm_id') ,'motor_manufacturer_id','motor_id', 'battery_id','actuate_id', 'operating_area','firm_id')
values (#{carId}, values (#{carId},
#{carCode}, #{carBh},
#{carVin}, #{carVin},
#{cartypeId}, #{cartypeId},
#{fenceId}, #{fenceId},
@ -44,7 +45,8 @@
</insert> </insert>
<update id="updateCar"> <update id="updateCar">
update t_car update t_car
set car_vin =carVin, set car_bh=carBh,
car_vin =carVin,
car_type_id =cartypeId, car_type_id =cartypeId,
fence_id =fenceId, fence_id =fenceId,
car_status =carStatus, car_status =carStatus,
@ -67,6 +69,7 @@
</delete> </delete>
<select id="carList" resultMap="selectCqr" parameterType="com.fivegroup.common.real.domain.Car"> <select id="carList" resultMap="selectCqr" parameterType="com.fivegroup.common.real.domain.Car">
SELECT car_id, SELECT car_id,
car_bh,
car_vin, car_vin,
car_type_id, car_type_id,
fence_id, fence_id,
@ -84,9 +87,32 @@
WHERE car_vin = #{carVin} WHERE car_vin = #{carVin}
</select> </select>
<select id="showCar" resultType="com.fivegroup.common.real.domain.Car"> <select id="showCar" resultType="com.fivegroup.common.real.domain.Car">
select * from t_car SELECT * FROM t_car t1
LEFT JOIN t_car_type t2 ON t1.car_type_id = t2.car_type_id
LEFT JOIN t_wall t3 ON t1.wall_id = t3.wall_id
LEFT JOIN t_battery_maker t4 ON t1.battery_maker_id = t4.battery_maker_id
LEFT JOIN t_motor_manufacturer t5 ON t1.motor_manufacturer_id = t5.motor_manufacturer_id
LEFT JOIN t_firm t6 ON t1.firm_id = t6.firm_id
</select> </select>
<select id="list" resultType="com.fivegroup.common.real.domain.Car">
select * from t_car <select id="seeList" resultType="com.fivegroup.common.real.domain.Car">
SELECT * FROM t_car t1
LEFT JOIN t_car_type t2 ON t1.car_type_id = t2.car_type_id
LEFT JOIN t_wall t3 ON t1.wall_id = t3.wall_id
LEFT JOIN t_battery_maker t4 ON t1.battery_maker_id = t4.battery_maker_id
LEFT JOIN t_motor_manufacturer t5 ON t1.motor_manufacturer_id = t5.motor_manufacturer_id
LEFT JOIN t_firm t6 ON t1.firm_id = t6.firm_id
</select>
<select id="ResponseCarList" resultType="java.util.List">
SELECT * FROM t_car t1
LEFT JOIN t_car_type t2 ON t1.car_type_id = t2.car_type_id
LEFT JOIN t_wall t3 ON t1.wall_id = t3.wall_id
LEFT JOIN t_battery_maker t4 ON t1.battery_maker_id = t4.battery_maker_id
LEFT JOIN t_motor_manufacturer t5 ON t1.motor_manufacturer_id = t5.motor_manufacturer_id
LEFT JOIN t_firm t6 ON t1.firm_id = t6.firm_id
</select>
<select id="vehicleList" resultType="com.fivegroup.real.domain.VehicleData">
select * from t_vehicle
</select> </select>
</mapper> </mapper>

View File

@ -1,6 +1,6 @@
# Tomcat # Tomcat
server: server:
port: 9201 port: 9220
# Spring # Spring
spring: spring: