更新代码

master
张小东 2023-12-04 14:52:35 +08:00
parent fb31cec0f5
commit 1eba3f0867
21 changed files with 236 additions and 204 deletions

View File

@ -29,5 +29,4 @@ public class HistoryTrackController {
return historyTrackService.vehicleHistoryTrack(vehicleId);
}
}

View File

@ -5,11 +5,9 @@ import com.fivegroup.common.log.annotation.WebLog;
import com.fivegroup.trajectory.domain.Track;
import com.fivegroup.trajectory.service.TrackService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.bind.annotation.*;
import java.util.List;
/**
@ -25,9 +23,15 @@ public class TrackController {
@WebLog(name = "查看车辆实时轨迹")
@GetMapping("/vehicleTrack")
public Result<Track> vehicleTrack(@RequestParam("vehicleId") Integer vehicleId) {
public Result<List<Track>> vehicleTrack(@RequestParam("vehicleId") Integer vehicleId) {
return trackService.vehicleTrack(vehicleId);
}
@WebLog(name = "添加数据")
@PostMapping("/insertTrack")
public Result<Object> insertTrack(@RequestBody Track track) {
return trackService.insertTrack(track);
}
}

View File

@ -2,10 +2,7 @@ package com.fivegroup.trajectory.controller;
import com.fivegroup.common.core.domain.Result;
import com.fivegroup.common.log.annotation.WebLog;
import com.fivegroup.trajectory.domain.BatteryMaker;
import com.fivegroup.trajectory.domain.Brand;
import com.fivegroup.trajectory.domain.Vehicle;
import com.fivegroup.trajectory.domain.VehicleType;
import com.fivegroup.trajectory.domain.*;
import com.fivegroup.trajectory.service.VehicleService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
@ -23,9 +20,6 @@ public class VehicleController {
@Autowired
private VehicleService vehicleService;
/**
* 线
*/
@WebLog(name = "查询在线的车辆")
@GetMapping("/vehicleList")
public Result<List<Vehicle>> vehicleList() {
@ -45,7 +39,7 @@ public class VehicleController {
}
@WebLog(name = "修改车辆状态")
@PutMapping("/updateVehicleStatus")
@PostMapping("/updateVehicle")
public Result<String> updateVehicleStatus(@RequestBody Vehicle vehicle){
return vehicleService.updateVehicleStatus(vehicle);
}
@ -56,21 +50,33 @@ public class VehicleController {
return vehicleService.deleteVehicle(vehicleId);
}
@WebLog(name = "车辆品牌")
@GetMapping("/brandList")
public Result<List<Brand>> BrandList() {
return vehicleService.BrandList();
}
@WebLog(name = "车辆类型")
@GetMapping("/vehicleTypeList")
public Result<List<VehicleType>> vehicleTypeList() {
return vehicleService.vehicleTypeList();
}
@WebLog(name = "电池制造商")
@GetMapping("/batteryMerchantList")
public Result<List<BatteryMerchant>> batteryMerchantList() {
return vehicleService.batteryMerchantList();
}
@WebLog(name = "电池")
@GetMapping("/batteryList")
public Result<List<Battery>> batteryList() {
return vehicleService.batteryList();
}
@WebLog(name = "电机制造商")
@GetMapping("/batteryMakerList")
public Result<List<BatteryMaker>> batteryMakerList() {
return vehicleService.batteryMakerList();
@GetMapping("/motorMerchantList")
public Result<List<MotorMerchant>> motorMerchantList() {
return vehicleService.motorMerchantList();
}
@WebLog(name = "电机")
@GetMapping("/motorList")
public Result<List<Motor>> motorList() {
return vehicleService.motorList();
}
}

View File

@ -6,7 +6,7 @@ import lombok.Data;
import lombok.NoArgsConstructor;
/**
* v_battery
* v_battery
*
* @author fivegroup
*/
@ -17,12 +17,12 @@ import lombok.NoArgsConstructor;
@AllArgsConstructor
public class Battery {
/**
* ID
* ID
*/
private int batteryId;
/**
*
*
*/
private String batteryName;
}

View File

@ -6,7 +6,7 @@ import lombok.Data;
import lombok.NoArgsConstructor;
/**
* v_motor_maker
* v_battery_merchant
*
* @author fivegroup
*/
@ -15,14 +15,14 @@ import lombok.NoArgsConstructor;
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class MotorMaker {
public class BatteryMerchant {
/**
* ID
*/
private int motorMakerId;
private int batteryMerchantId;
/**
*
*/
private String motorMakerName;
private String batteryMerchantName;
}

View File

@ -1,28 +0,0 @@
package com.fivegroup.trajectory.domain;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* v_brand
*
* @author fivegroup
*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class Brand {
/**
* ID
*/
private int brandId;
/**
*
*/
private String brandName;
}

View File

@ -6,7 +6,7 @@ import lombok.Data;
import lombok.NoArgsConstructor;
/**
* v_motor
* v_motor
*
* @author fivegroup
*/

View File

@ -6,7 +6,7 @@ import lombok.Data;
import lombok.NoArgsConstructor;
/**
* v_battery_maker
* v_motor_merchant
*
* @author fivegroup
*/
@ -15,14 +15,14 @@ import lombok.NoArgsConstructor;
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class BatteryMaker {
public class MotorMerchant {
/**
* ID
*/
private int batteryMakerId;
private int motorMerchantId;
/**
*
*/
private String batteryMakerName;
private String motorMerchantName;
}

View File

@ -5,6 +5,8 @@ import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.Date;
/**
* v_track
*
@ -35,4 +37,9 @@ public class Track {
*
*/
private double longitude;
/**
*
*/
private Date timestamp;
}

View File

@ -19,25 +19,25 @@ public class Vehicle {
*/
private int vehicleId;
/**
*
*/
private String vehiclePlateNumber;
/**
* VIN
*/
private String vehicleVin;
/**
* Id
*/
private String brandId;
/**
*
*/
private String brandName;
private String vehicleBrand;
/**
* Id
*/
private String vehicleTypeId;
private int vehicleTypeId;
/**
*
@ -45,83 +45,48 @@ public class Vehicle {
private String vehicleTypeName;
/**
* Id
* Id
*/
private String batteryMakerId;
private int motorMerchantId;
/**
*
*
*/
private String batteryMakerName;
private String motorMerchantName;
/**
* Id
*/
private String batteryId;
private int motorId;
/**
*
*/
private String batteryName;
private String motorName;
/**
* Id
* Id
*/
private String motorMakerId;
private int batteryMerchantId;
/**
*
*
*/
private String motorMakerName;
private String batteryMerchantName;
/**
* Id
*/
private String motorId;
private int batteryId;
/**
*
*/
private String motorName;
private String batteryName;
/**
*
*/
private String vehicleStatus;
public void setVehicleId(int vehicleId) {
this.vehicleId = vehicleId;
}
public void setVehicleVin(String vehicleVin) {
this.vehicleVin = vehicleVin;
}
public void setBrandName(String brandName) {
this.brandName = brandName;
}
public void setVehicleTypeName(String vehicleTypeName) {
this.vehicleTypeName = vehicleTypeName;
}
public void setBatteryMakerName(String batteryMakerName) {
this.batteryMakerName = batteryMakerName;
}
public void setBatteryName(String batteryName) {
this.batteryName = batteryName;
}
public void setMotorMakerName(String motorMakerName) {
this.motorMakerName = motorMakerName;
}
public void setMotorName(String motorName) {
this.motorName = motorName;
}
public void setVehicleStatus(String vehicleStatus) {
this.vehicleStatus = vehicleStatus;
}
}

View File

@ -4,6 +4,8 @@ import com.fivegroup.trajectory.domain.Track;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
*
@ -12,5 +14,7 @@ import org.apache.ibatis.annotations.Param;
*/
@Mapper
public interface TrackMapper {
Track vehicleTrack(@Param("vehicleId") Integer vehicleId);
List<Track> vehicleTrack(@Param("vehicleId") Integer vehicleId);
Integer insertTrack(Track track);
}

View File

@ -1,10 +1,7 @@
package com.fivegroup.trajectory.mapper;
import com.fivegroup.common.core.domain.Result;
import com.fivegroup.trajectory.domain.BatteryMaker;
import com.fivegroup.trajectory.domain.Brand;
import com.fivegroup.trajectory.domain.Vehicle;
import com.fivegroup.trajectory.domain.VehicleType;
import com.fivegroup.common.core.trajectory.Brand;
import com.fivegroup.trajectory.domain.*;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
@ -27,9 +24,13 @@ public interface VehicleMapper {
Vehicle getVehicleByVehicleId(@Param("vehicleId") Integer vehicleId);
List<Brand> BrandList();
List<VehicleType> vehicleTypeList();
List<BatteryMaker> batteryMakerList();
List<BatteryMerchant> batteryMerchantList();
List<Battery> batteryList();
List<MotorMerchant> motorMerchantList();
List<Motor> motorList();
}

View File

@ -2,12 +2,18 @@ package com.fivegroup.trajectory.service;
import com.fivegroup.common.core.domain.Result;
import com.fivegroup.trajectory.domain.Track;
import org.springframework.stereotype.Service;
import java.util.List;
/**
*
*
* @author fivegroup
*/
@Service
public interface TrackService {
Result<Track> vehicleTrack(Integer vehicleId);
Result<List<Track>> vehicleTrack(Integer vehicleId);
Result<Object> insertTrack(Track track);
}

View File

@ -1,10 +1,8 @@
package com.fivegroup.trajectory.service;
import com.fivegroup.common.core.domain.Result;
import com.fivegroup.trajectory.domain.BatteryMaker;
import com.fivegroup.trajectory.domain.Brand;
import com.fivegroup.trajectory.domain.Vehicle;
import com.fivegroup.trajectory.domain.VehicleType;
import com.fivegroup.common.core.trajectory.Brand;
import com.fivegroup.trajectory.domain.*;
import java.util.List;
/**
@ -23,10 +21,13 @@ public interface VehicleService {
Result<Vehicle> getVehicleByVehicleId(Integer vehicleId);
Result<List<Brand>> BrandList();
Result<List<VehicleType>> vehicleTypeList();
Result<List<BatteryMaker>> batteryMakerList();
Result<List<BatteryMerchant>> batteryMerchantList();
Result<List<Battery>> batteryList();
Result<List<MotorMerchant>> motorMerchantList();
Result<List<Motor>> motorList();
}

View File

@ -8,6 +8,8 @@ import org.springframework.stereotype.Service;
import com.fivegroup.trajectory.domain.Track;
import java.util.List;
/**
*
@ -21,8 +23,19 @@ public class TrackServiceImpl implements TrackService {
@Override
public Result<Track> vehicleTrack(Integer vehicleId) {
Track track = trackMapper.vehicleTrack(vehicleId);
return Result.success(track);
public Result<List<Track>> vehicleTrack(Integer vehicleId) {
List<Track> trackList = trackMapper.vehicleTrack(vehicleId);
return Result.success(trackList,"查询成功");
}
@Override
public Result<Object> insertTrack(Track track) {
Integer i = trackMapper.insertTrack(track);
if (i>0) {
return Result.success(i,"数据接收成功");
}
return Result.error(i,"数据接收失败");
}
}

View File

@ -1,12 +1,11 @@
package com.fivegroup.trajectory.service.impl;
import com.fivegroup.common.core.domain.Result;
import com.fivegroup.trajectory.domain.BatteryMaker;
import com.fivegroup.trajectory.domain.Brand;
import com.fivegroup.trajectory.domain.Vehicle;
import com.fivegroup.trajectory.domain.VehicleType;
import com.fivegroup.common.core.trajectory.Brand;
import com.fivegroup.trajectory.domain.*;
import com.fivegroup.trajectory.mapper.VehicleMapper;
import com.fivegroup.trajectory.service.VehicleService;
import lombok.extern.log4j.Log4j2;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@ -17,6 +16,7 @@ import java.util.List;
*
* @author fivegroup
*/
@Log4j2
@Service
public class VehicleIServiceImpl implements VehicleService {
@Autowired
@ -27,7 +27,7 @@ public class VehicleIServiceImpl implements VehicleService {
List<Vehicle> vehicles = vehicleMapper.vehicleList();
return Result.success(vehicles,"全部车辆查询成功");
}
//
@Override
public Result<String> insertVehicle(Vehicle vehicle) {
Integer i = vehicleMapper.insertVehicle(vehicle);
@ -48,10 +48,14 @@ public class VehicleIServiceImpl implements VehicleService {
@Override
public Result<String> deleteVehicle(Integer vehicleId) {
if (vehicleMapper.deleteVehicle(vehicleId) > 0) {
try {
vehicleMapper.deleteVehicle(vehicleId);
return Result.success("删除成功");
} catch (Exception e) {
// 记录异常日志
log.error("删除车辆信息失败", e);
return Result.error("删除失败");
}
return Result.error("删除失败");
}
@Override
@ -60,12 +64,6 @@ public class VehicleIServiceImpl implements VehicleService {
return Result.success(vehicle,"车辆查询成功");
}
@Override
public Result<List<Brand>> BrandList() {
List<Brand> brandList = vehicleMapper.BrandList();
return Result.success(brandList,"品牌查询成功");
}
@Override
public Result<List<VehicleType>> vehicleTypeList() {
List<VehicleType> vehicleTypeList = vehicleMapper.vehicleTypeList();
@ -73,9 +71,27 @@ public class VehicleIServiceImpl implements VehicleService {
}
@Override
public Result<List<BatteryMaker>> batteryMakerList() {
List<BatteryMaker> batteryMakerList = vehicleMapper.batteryMakerList();
return Result.success(batteryMakerList,"厂家查询成功");
public Result<List<BatteryMerchant>> batteryMerchantList() {
List<BatteryMerchant> batteryMerchantList = vehicleMapper.batteryMerchantList();
return Result.success(batteryMerchantList,"电池厂家查询成功");
}
@Override
public Result<List<Battery>> batteryList() {
List<Battery> batteryList = vehicleMapper.batteryList();
return Result.success(batteryList,"电池查询成功");
}
@Override
public Result<List<MotorMerchant>> motorMerchantList() {
List<MotorMerchant> motorMerchantList = vehicleMapper.motorMerchantList();
return Result.success(motorMerchantList,"电机厂商查询成功");
}
@Override
public Result<List<Motor>> motorList() {
List<Motor> motorList = vehicleMapper.motorList();
return Result.success(motorList,"电机查询成功");
}

View File

@ -1,6 +1,11 @@
<?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.fivegroup.trajectory.mapper.TrackMapper">
<insert id="insertTrack">
INSERT INTO v_track ( track_id, vehicle_id, latitude, longitude, timestamp )
VALUES
( 0, #{vehicleId}, #{latitude}, #{longitude}, Now() );
</insert>
<select id="vehicleTrack" resultType="com.fivegroup.trajectory.domain.Track"
@ -9,7 +14,8 @@
track_id,
vehicle_id,
latitude,
longitude
longitde,
timestamp
FROM
v_track
WHERE

View File

@ -1,64 +1,71 @@
<?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.fivegroup.trajectory.mapper.VehicleMapper">
<insert id="insertVehicle">
INSERT INTO v_vehicle ( vehicle_id, vehicle_vin, brand_id, vehicle_type_id, battery_maker_id, battery_id, motor_maker_id, motor_id, vehicle_status )
<insert id="insertVehicle" parameterType="com.fivegroup.trajectory.domain.Vehicle">
INSERT INTO v_vehicle ( vehicle_id, vehicle_vin,vehicle_plateNumber, vehicle_brand, vehicle_type_id, battery_merchant_id, battery_id, motor_merchant_id, motor_id, vehicle_status )
VALUES
( 0, #{vehicleVin}, #{brandId}, #{vehicleTypeId}, #{batteryMakerId}, #{batteryId}, #{motorMakerId}, #{motorId}, #{vehicleStatus} );
( 0, #{vehicleVin}, #{vehiclePlateNumber},#{vehicleBrand}, #{vehicleTypeId}, #{batteryMerchantId}, #{batteryId}, #{motorMerchantId}, #{motorId}, 0 );
</insert>
<update id="updateVehicleStatus">
<update id="updateVehicleStatus" parameterType="com.fivegroup.trajectory.domain.Vehicle">
UPDATE v_vehicle
SET vehicle_status = #{vehicleStatus}
WHERE vehicle_id = #{vehicleId}
SET vehicle_vin = #{vehicleVin},
vehicle_plateNumber = #{vehiclePlateNumber},
vehicle_brand = #{vehicleBrand},
vehicle_type_id = #{vehicleTypeId},
battery_merchant_id = #{batteryMerchantId},
battery_id = #{batteryId},
motor_merchant_id = #{motorMerchantId},
motor_id = #{motorId}
WHERE
vehicle_id = #{vehicleId}
</update>
<delete id="deleteVehicle">
<delete id="deleteVehicle" parameterType="java.lang.Integer">
DELETE FROM v_vehicle
WHERE vehicle_id = #{vehicleId}
</delete>
<select id="vehicleList" resultType="com.fivegroup.trajectory.domain.Vehicle">
SELECT v.vehicle_id,
v.vehicle_vin,
b.brand_name,
t.vehicle_type_name,
bm.battery_maker_name,
ba.battery_name,
mm.motor_maker_name,
mo.motor_name,
v.vehicle_status
FROM v_vehicle v
JOIN v_brand b ON v.brand_id = b.brand_id
JOIN v_vehicle_type t ON v.vehicle_type_id = t.vehicle_type_id
JOIN v_battery_maker bm ON v.battery_maker_id = bm.battery_maker_id
JOIN v_battery ba ON v.battery_id = ba.battery_id
JOIN v_motor_maker mm ON v.motor_maker_id = mm.motor_maker_id
JOIN v_motor mo ON v.motor_id = mo.motor_id
WHERE v.vehicle_status = 1
SELECT
v.vehicle_id,
v.vehicle_vin,
v.vehicle_plateNumber,
type.vehicle_type_name,
v.vehicle_brand,
mm.motor_merchant_name,
m.motor_name,
bm.battery_merchant_name,
b.battery_name,
v.vehicle_status
FROM
v_vehicle v
LEFT JOIN v_vehicle_type type ON v.vehicle_type_id = type.vehicle_type_id
LEFT JOIN v_motor_merchant mm ON v.motor_merchant_id = mm.motor_merchant_id
LEFT JOIN v_motor m ON v.motor_id = m.motor_id
LEFT JOIN v_battery_merchant bm ON v.battery_merchant_id = bm.battery_merchant_id
LEFT JOIN v_battery b ON v.battery_id = b.battery_id
</select>
<select id="getVehicleByVehicleId" resultType="com.fivegroup.trajectory.domain.Vehicle">
SELECT v.vehicle_id,
v.vehicle_vin,
b.brand_name,
t.vehicle_type_name,
bm.battery_maker_name,
ba.battery_name,
mm.motor_maker_name,
mo.motor_name,
v.vehicle_status
FROM v_vehicle v
JOIN v_brand b ON v.brand_id = b.brand_id
JOIN v_vehicle_type t ON v.vehicle_type_id = t.vehicle_type_id
JOIN v_battery_maker bm ON v.battery_maker_id = bm.battery_maker_id
JOIN v_battery ba ON v.battery_id = ba.battery_id
JOIN v_motor_maker mm ON v.motor_maker_id = mm.motor_maker_id
JOIN v_motor mo ON v.motor_id = mo.motor_id
SELECT
v.vehicle_id,
v.vehicle_vin,
v.vehicle_plateNumber,
v.vehicle_brand,
type.vehicle_type_name,
mm.motor_merchant_name,
m.motor_name,
bm.battery_merchant_name,
b.battery_name,
v.vehicle_status
FROM
v_vehicle v
JOIN v_vehicle_type type ON v.vehicle_type_id = type.vehicle_type_id
JOIN v_motor_merchant mm ON v.motor_merchant_id = mm.motor_merchant_id
JOIN v_motor m ON v.motor_id = m.motor_id
JOIN v_battery_merchant bm ON v.battery_merchant_id = bm.battery_merchant_id
JOIN v_battery b ON v.battery_id = b.battery_id
WHERE v.vehicle_id = #{vehicleId}
</select>
<select id="BrandList" resultType="com.fivegroup.trajectory.domain.Brand">
SELECT brand_id,
brand_name
FROM v_brand
</select>
<select id="vehicleTypeList" resultType="com.fivegroup.trajectory.domain.VehicleType">
SELECT
vehicle_type_id,
@ -66,10 +73,31 @@
FROM
v_vehicle_type
</select>
<select id="batteryMakerList" resultType="com.fivegroup.trajectory.domain.BatteryMaker">
<select id="batteryMerchantList" resultType="com.fivegroup.trajectory.domain.BatteryMerchant">
SELECT
battery_maker_id,
battery_maker_name
FROM v_battery_maker
battery_merchant_id,
battery_merchant_name
FROM v_battery_merchant
</select>
<select id="batteryList" resultType="com.fivegroup.trajectory.domain.Battery">
SELECT
battery_id,
battery_name
FROM
v_battery
</select>
<select id="motorMerchantList" resultType="com.fivegroup.trajectory.domain.MotorMerchant">
SELECT
motor_merchant_id,
motor_merchant_name
FROM
v_motor_merchant
</select>
<select id="motorList" resultType="com.fivegroup.trajectory.domain.Motor">
SELECT
motor_id,
motor_name
FROM
v_motor
</select>
</mapper>

View File

@ -88,6 +88,9 @@
</dependency>
</dependencies>
<build>

View File

@ -1,6 +1,6 @@
# Tomcat
server:
port: 9289
port: 9290
# Spring
spring:

View File

@ -29,3 +29,4 @@
</description>
</project>