Compare commits

..

No commits in common. "041aaa46544c2833b7c237f48f04a471d4062728" and "6ab26976d630cf4bc27d70d951f7262a73b24ffd" have entirely different histories.

152 changed files with 2239 additions and 636 deletions

View File

@ -17,9 +17,11 @@ spring:
discovery:
# 服务注册地址
server-addr: 121.89.211.230:8848
namespace: 172469
config:
# 配置中心地址
server-addr: 121.89.211.230:8848
namespace: 172469
# 配置文件格式
file-extension: yml
# 共享配置

View File

@ -26,8 +26,8 @@ public class ServiceNameConstants {
* @param null:
* @return null
* @author
* @description couplet-business
* @description
* @date
*/
public static final String BUSINESS_SERVICE = "couplet-business";
public static final String VEHICLE_SERVICE = "couplet-vehicle";
}

View File

@ -1,25 +0,0 @@
package com.couplet.common.core.exception.analyze;
/**
* @Author: LiJiaYao
* @Date: 2024/4/4
* @Description:
*/
public class AnalyzeException extends RuntimeException{
private int code;
private String message;
public AnalyzeException(int code, String message) {
this.code = code;
this.message = message;
}
public AnalyzeException(String message) {
super(message);
}
public AnalyzeException() {
}
}

View File

@ -1,33 +0,0 @@
package com.couplet.common.redis.configure;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.data.redis.connection.RedisConnectionFactory;
import org.springframework.data.redis.listener.KeyExpirationEventMessageListener;
import org.springframework.data.redis.listener.RedisMessageListenerContainer;
/**
* @Author: LiJiaYao
* @Date: 2024/4/4
* @Description: redis
*/
@Configuration
public class RedisListenerConfig {
@Bean
RedisMessageListenerContainer listenerContainer(RedisConnectionFactory redisConnectionFactory) {
RedisMessageListenerContainer container = new RedisMessageListenerContainer();
container.setConnectionFactory(redisConnectionFactory);
return container;
}
@Bean
KeyExpirationEventMessageListener redisKeyExpirationListener(RedisMessageListenerContainer listenerContainer) {
return new KeyExpirationEventMessageListener(listenerContainer);
}
}

View File

@ -9,8 +9,7 @@
<version>3.6.3</version>
</parent>
<artifactId>couplet-common-business</artifactId>
<artifactId>couplet-common-vehicle</artifactId>
<properties>
<maven.compiler.source>17</maven.compiler.source>
@ -18,6 +17,7 @@
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<dependencies>
<!-- MuYu Common Core-->
<dependency>
<groupId>com.couplet</groupId>
<artifactId>couplet-common-core</artifactId>

View File

@ -0,0 +1,89 @@
package com.couplet.common.system.domain;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.SuperBuilder;
import java.io.Serializable;
/**
* @ProjectName: five-groups-couplet
* @Author: LiuYunHu
* @CreateTime: 2024/3/26
* @Description:
*/
@Data
@SuperBuilder
@AllArgsConstructor
@NoArgsConstructor
@TableName("couplet_vehicle")
public class Vehicle{
/*
*id
* */
@TableId(type = IdType.AUTO, value = "vehicle_id")
private Long vehicleId;
/*
*
* */
@TableField(value = "vehicle_type")
private Long vehicleType;
/*
*
* */
@TableField(exist = false)
private String vehicleTypeName;
/*
*
* */
@TableField(value = "motor_manufacturer")
private String motorManufacturer;
/*
*
* */
@TableField(value = "battery_manufacturer")
private String batteryManufacturer;
/*
*
* */
@TableField(value = "motor_number")
private String motorNumber;
/*
*
* */
@TableField(value = "battery_number")
private String batteryNumber;
/*
*vin
* */
@TableField(value = "vin")
private String vin;
/*
*0线 1线
* */
@TableField(value = "vehicle_state")
private Integer vehicleState;
/*
*0 1
* */
@TableField(value = "isdelete")
private Integer isdelete;
}

View File

@ -0,0 +1,44 @@
package com.couplet.common.system.domain;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.SuperBuilder;
/**
* @ProjectName: five-groups-couplet
* @Author: LiuYunHu
* @CreateTime: 2024/3/30
* @Description:
*/
@Data
@SuperBuilder
@AllArgsConstructor
@NoArgsConstructor
@TableName("couplet_vehicle_and_logo")
public class VehicleAndLogo {
/*
* id
* */
@TableId(type = IdType.AUTO, value = "vehicle_logo_middle_id")
private Long vehicleLogoMiddleId;
/*
* id
* */
@TableField("vehicle_id")
private Long vehicleId;
/*
* id
* */
@TableField("logo_id")
private Long logoId;
}

View File

@ -1,4 +1,4 @@
package com.couplet.common.domain;
package com.couplet.common.system.domain;
import lombok.AllArgsConstructor;
import lombok.Data;

View File

@ -1,4 +1,4 @@
package com.couplet.common.domain;
package com.couplet.common.system.domain;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
@ -7,6 +7,7 @@ import com.baomidou.mybatisplus.annotation.TableName;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.SuperBuilder;
/**
* @ProjectName: five-groups-couplet

View File

@ -1,17 +1,20 @@
package com.couplet.remote;
package com.couplet.common.system.remote;
import com.couplet.common.core.constant.ServiceNameConstants;
import com.couplet.common.core.domain.Result;
import com.couplet.common.domain.Vehicle;
import com.couplet.common.domain.VehicleMiddle;
import com.couplet.remote.factory.RemoteVehicleFallbackFactory;
import com.couplet.common.system.domain.Vehicle;
import com.couplet.common.system.domain.VehicleMiddle;
import com.couplet.common.system.remote.factory.RemoteVehicleFallbackFactory;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import java.util.List;
@FeignClient(contextId = "remoteVehicleService" ,
value = ServiceNameConstants.BUSINESS_SERVICE,
value = ServiceNameConstants.VEHICLE_SERVICE,
fallbackFactory = RemoteVehicleFallbackFactory.class,
path = "/vehicle"
)
@ -46,9 +49,4 @@ public interface RemoteVehicleService {
@PostMapping("vehicleAll")
public Result<List<Vehicle>> VehicleManageList();
@GetMapping("/findByVIN/{vin}")
public Result<List<Vehicle>> findByVIN(@PathVariable("vin") String vin);
}

View File

@ -1,13 +1,10 @@
package com.couplet.remote.factory;
package com.couplet.common.system.remote.factory;
import com.couplet.common.core.domain.Result;
import com.couplet.common.domain.Vehicle;
import com.couplet.common.domain.VehicleMiddle;
import com.couplet.remote.RemoteVehicleService;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import com.couplet.common.system.domain.Vehicle;
import com.couplet.common.system.domain.VehicleMiddle;
import com.couplet.common.system.remote.RemoteVehicleService;
import org.springframework.cloud.openfeign.FallbackFactory;
import org.springframework.stereotype.Component;
import java.util.List;
@ -17,9 +14,7 @@ import java.util.List;
* @description: TODO
* @date 2024/4/2 14:46
*/
@Component
public class RemoteVehicleFallbackFactory implements FallbackFactory<RemoteVehicleService> {
private static final Logger log = LoggerFactory.getLogger(RemoteVehicleFallbackFactory.class);
@Override
@ -44,13 +39,6 @@ public class RemoteVehicleFallbackFactory implements FallbackFactory<RemoteVehic
public Result<List<Vehicle>> VehicleManageList() {
return Result.error("调用失败....."+cause.getMessage());
}
@Override
public Result<List<Vehicle>> findByVIN(String vin) {
log.error("车辆服务调用失败:"+cause.getMessage());
return Result.error("车辆服务调用失败:" + cause.getMessage());
}
};
}
}

View File

@ -0,0 +1 @@
com.couplet.common.system.remote.factory.RemoteVehicleFallbackFactory

View File

@ -0,0 +1,20 @@
<?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.couplet</groupId>
<artifactId>couplet-common</artifactId>
<version>3.6.3</version>
</parent>
<artifactId>couplet-trouble-log</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>
</project>

View File

@ -1,4 +1,4 @@
package com.couplet.log.annotation;
package com.couplet.common.log.annotation;
/**
* @author DongXiaoDong

View File

@ -1,4 +1,4 @@
package com.couplet.log.aop;
package com.couplet.common.log.aop;
/**
* @author DongXiaoDong

View File

@ -18,8 +18,8 @@
<module>couplet-common-datascope</module>
<module>couplet-common-datasource</module>
<module>couplet-common-system</module>
<module>couplet-common-business</module>
<module>couplet-trouble-log</module>
<module>couplet-common-vehicle</module>
</modules>
<artifactId>couplet-common</artifactId>

View File

@ -15,9 +15,11 @@ spring:
discovery:
# 服务注册地址
server-addr: 121.89.211.230:8848
namespace: 172469
config:
# 配置中心地址
server-addr: 121.89.211.230:8848
namespace: 172469
# 配置文件格式
file-extension: yml
# 共享配置

View File

@ -86,14 +86,6 @@
<artifactId>org.eclipse.paho.client.mqttv3</artifactId>
<version>1.2.5</version>
</dependency>
<dependency>
<groupId>com.couplet</groupId>
<artifactId>couplet-modules-mq</artifactId>
</dependency>
<dependency>
<groupId>com.couplet</groupId>
<artifactId>couplet-common-business</artifactId>
</dependency>
</dependencies>
</project>

View File

@ -11,7 +11,7 @@ import org.springframework.scheduling.annotation.EnableScheduling;
* @date 2024/4/2 8:39
* @description
*/
@SpringBootApplication(scanBasePackages = "com.couplet")
@SpringBootApplication
@EnableScheduling
@EnableFeignClients(basePackages = "com.couplet.**")
public class CoupletMsgApplication {

View File

@ -1,39 +0,0 @@
package com.couplet.analyze.msg.consumer;
import com.rabbitmq.client.Channel;
import lombok.extern.log4j.Log4j2;
import org.springframework.amqp.core.Message;
import org.springframework.amqp.rabbit.annotation.RabbitHandler;
import org.springframework.amqp.rabbit.annotation.RabbitListener;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.StringRedisTemplate;
import org.springframework.stereotype.Component;
/**
* @Author: LiJiaYao
* @Date: 2024/4/4
* @Description:
*/
@Log4j2
@Component
@RabbitListener(queues = "")
public class MsgConsumer {
@Autowired
private StringRedisTemplate redisTemplate;
@RabbitHandler
public void realTimeDataConsumer(Channel channel, Message message){
// log.info();
String messageId = message.getMessageProperties().getMessageId();
long deliveryTag = message.getMessageProperties().getDeliveryTag();
}
}

View File

@ -1,89 +0,0 @@
package com.couplet.analyze.msg.contents;
import io.swagger.models.auth.In;
import org.springframework.stereotype.Component;
/**
* @Author: LiJiaYao
* @Date: 2024/4/4
* @Description:
*/
@Component
public class StateConstant {
/**
*
*/
public static final Integer VEHICLE_STATUS = 1;
/**
*
*/
public static final Integer CHARGING_STATUS = 1;
/**
*
*/
public static final Integer OPERATING_STATUS = 1;
/**
* soc
*/
public static final Integer SOC_STATUS = 1;
/**
*
*/
public static final Integer CHARGING_ENERGY_STORAGE_STATUS = 1;
/**
*
*/
public static final Integer DRIVE_MOTOR_STATUS = 1;
/**
*
*/
public static final Integer POSITION_STATUS = 1;
/**
* EAS()
*/
public static final Integer EAS_STATUS = 1;
/**
* PTC()
*/
public static final Integer PTC_STATUS = 1;
/**
* ABS()
*/
public static final Integer ABS_STATUS = 1;
/**
* MCU(/)
*/
public static final Integer MCU_STATUS = 1;
/**
*
*/
public static final Integer HEATING_STATUS = 1;
/**
*
*/
public static final Integer BATTERY_STATUS = 1;
/**
*
*/
public static final Integer BATTERY_INSULATION_STATUS = 1;
/**
* DCDC()
*/
public static final Integer DCDC_STATUS = 1;
/**
* CHG()
*/
public static final Integer CHG_STATUS = 1;
}

View File

@ -2,7 +2,6 @@ package com.couplet.analyze.msg.model;
import com.couplet.analyze.msg.domain.CoupletMsgData;
import com.couplet.analyze.msg.service.IncidentService;
import com.couplet.common.core.exception.analyze.AnalyzeException;
import com.couplet.common.core.utils.SpringUtils;
import com.couplet.common.core.utils.uuid.IdUtils;
import lombok.extern.slf4j.Slf4j;
@ -109,9 +108,9 @@ public class ModelMessage {
});
mqttClient.subscribe("test",0);
Thread.sleep(1000*6*10);
Thread.sleep(1000*60*10);
} catch (Exception e) {
throw new AnalyzeException("连接断开:"+ e.getMessage());
throw new RuntimeException(e);
}
}

View File

@ -1,88 +1,38 @@
package com.couplet.analyze.msg.service.impl;
import com.alibaba.fastjson.JSON;
import com.couplet.analyze.msg.contents.StateConstant;
import com.couplet.analyze.msg.domain.CoupletMsgData;
import com.couplet.analyze.msg.service.IncidentService;
import lombok.extern.log4j.Log4j2;
import org.aspectj.bridge.Message;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.data.redis.core.StringRedisTemplate;
import org.springframework.data.redis.listener.KeyExpirationEventMessageListener;
import org.springframework.data.redis.listener.RedisMessageListenerContainer;
import org.springframework.stereotype.Service;
import java.util.concurrent.TimeUnit;
/**
* @Author: LiJiaYao
* @Date: 2024/4/2
* @Description:
*/
@Service("breakdown")
public class BreakdownServiceImpl extends KeyExpirationEventMessageListener implements IncidentService {
/**
* redis
*/
@Autowired
private StringRedisTemplate redisTemplate;
private static Logger log = LoggerFactory.getLogger(BreakdownServiceImpl.class);
public BreakdownServiceImpl(RedisMessageListenerContainer listenerContainer) {
super(listenerContainer);
}
/**
*
*
* @param coupletMsgData
*/
@Override
public void incident(CoupletMsgData coupletMsgData) {
log.info("故障事件开始.....");
long l = System.currentTimeMillis();
log.info("开始时间是:"+l);
if (StateConstant.VEHICLE_STATUS != coupletMsgData.getVehicleStatus()
|| StateConstant.CHARGING_STATUS!=coupletMsgData.getChgStatus()
|| StateConstant.OPERATING_STATUS!=coupletMsgData.getOperatingStatus()
|| StateConstant.SOC_STATUS!=coupletMsgData.getSocStatus()
|| StateConstant.CHARGING_ENERGY_STORAGE_STATUS != coupletMsgData.getChargingEnergyStorageStatus()
|| StateConstant.DRIVE_MOTOR_STATUS != coupletMsgData.getDriveMotorStatus()
|| StateConstant.POSITION_STATUS != coupletMsgData.getPositionStatus()
|| StateConstant.EAS_STATUS != coupletMsgData.getEasStatus()
|| StateConstant.PTC_STATUS != coupletMsgData.getPtcStatus()
|| StateConstant.ABS_STATUS != coupletMsgData.getAbsStatus()
|| StateConstant.MCU_STATUS != coupletMsgData.getMcuStatus()
|| StateConstant.HEATING_STATUS != coupletMsgData.getHeatingStatus()
|| StateConstant.BATTERY_STATUS != coupletMsgData.getBatteryStatus()
|| StateConstant.BATTERY_INSULATION_STATUS != coupletMsgData.getBatteryInsulationStatus()
|| StateConstant.DCDC_STATUS != coupletMsgData.getDcdcStatus()
|| StateConstant.CHG_STATUS != coupletMsgData.getChgStatus()){
//获取过期的key
String expireKey = coupletMsgData.toString();
redisTemplate.opsForValue().set(String.valueOf(coupletMsgData),JSON.toJSONString(coupletMsgData),10, TimeUnit.MINUTES);
long timeMillis = System.currentTimeMillis();
log.debug("失效+key is:"+ "coupletMsgData");
log.info("故障事件结束时间:"+timeMillis);
log.info("故障事件检测结束.....");
}
log.info("故障事件检测结束.....");
}
/**
* @return
*/
@Override
public String getName() {
return "breakdown";
}
}
//package com.couplet.analyze.msg.service.impl;
//
//import com.couplet.analyze.msg.domain.CoupletMsgData;
//import com.couplet.analyze.msg.service.IncidentService;
//import com.couplet.common.log.annotation.Log;
//import lombok.extern.log4j.Log4j2;
//import org.springframework.stereotype.Service;
//
///**
// * @Author: LiJiaYao
// * @Date: 2024/4/2
// * @Description: 故障事件
// */
//@Service("breakdown")
//@Log4j2
//public class BreakdownServiceImpl implements IncidentService {
// /**
// * 故障事件
// *
// * @param coupletMsgData
// */
// @Override
// public void incident(CoupletMsgData coupletMsgData) {
//
// log.info("故障事件开始.....");
// log.info("故障事件结束.....");
//
//
// }
//
// /**
// * @return 获取事件名称
// */
// @Override
// public String getName() {
// return "breakdown";
// }
//}

View File

@ -1,40 +1,33 @@
package com.couplet.analyze.msg.service.impl;
import com.couplet.analyze.msg.domain.CoupletMsgData;
import com.couplet.analyze.msg.service.IncidentService;
import lombok.extern.log4j.Log4j2;
import org.springframework.stereotype.Service;
/**
* @Author: LiJiaYao
* @Date: 2024/4/2
* @Description:
*/
@Service("electronic-fence")
@Log4j2
public class ElectronicFenceServiceImpl implements IncidentService {
/**
*
*
* @param coupletMsgData
*/
@Override
public void incident(CoupletMsgData coupletMsgData) {
log.info("电子围栏事件开始.......");
log.info("电子围栏事件结束.......");
}
/**
* @return service
*/
@Override
public String getName() {
return "electronic-fence";
}
}
//package com.couplet.analyze.msg.service.impl;
//
//import com.couplet.analyze.msg.domain.CoupletMsgData;
//import com.couplet.analyze.msg.service.IncidentService;
//import org.springframework.stereotype.Service;
//
///**
// * @Author: LiJiaYao
// * @Date: 2024/4/2
// * @Description: 电子围栏事件服务实现类
// */
//@Service("electronic-fence")
//public class ElectronicFenceServiceImpl implements IncidentService {
//
//
// /**
// * 电子围栏事件
// *
// * @param coupletMsgData
// */
// @Override
// public void incident(CoupletMsgData coupletMsgData) {
//
// }
//
// /**
// * @return 电子围栏service 名称
// */
// @Override
// public String getName() {
// return "electronic-fence";
// }
//}

View File

@ -1,52 +1,33 @@
package com.couplet.analyze.msg.service.impl;
import com.couplet.analyze.msg.domain.CoupletMsgData;
import com.couplet.analyze.msg.mapper.IncidentMapper;
import com.couplet.analyze.msg.service.IncidentService;
import lombok.extern.log4j.Log4j2;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
/**
* @Author: LiJiaYao
* @Date: 2024/4/2
* @Description:
*/
@Service("real-time-data")
@Log4j2
public class RealTimeDataServiceImpl implements IncidentService {
/**
*
*/
@Autowired
private IncidentMapper incidentMapper;
/**
*
*
* @param coupletMsgData
*/
@Override
public void incident(CoupletMsgData coupletMsgData) {
log.info("实时数据事件开始.....");
log.info("实时数据事件结束.....");
}
/**
*
* @return
*/
@Override
public String getName() {
return "real-time-data";
}
}
//package com.couplet.analyze.msg.service.impl;
//
//import com.couplet.analyze.msg.domain.CoupletMsgData;
//import com.couplet.analyze.msg.service.IncidentService;
//import org.springframework.stereotype.Service;
//
///**
// * @Author: LiJiaYao
// * @Date: 2024/4/2
// * @Description: 实时数据事件
// */
//@Service("real-time-data")
//public class RealTimeDataServiceImpl implements IncidentService {
//
// /**
// * 实时数据事件
// *
// * @param coupletMsgData
// */
// @Override
// public void incident(CoupletMsgData coupletMsgData) {
//
// }
//
// /**
// * 实时数据事件
// * @return
// */
// @Override
// public String getName() {
// return "real-time-data";
// }
//}

View File

@ -6,7 +6,7 @@
<insert id="reportMapper">
INSERT INTO `couplet-cloud`.`couplet_msg_data`
INSERT INTO `vehicle-resolver`.`resolver_report_data`
(`vin`, `create_time`, `longitude`, `latitude`,
`speed`, `mileage`, `voltage`, `current`, `resistance`, `gear`,
`acceleration_pedal`, `fuel_consumption_rate`,
@ -18,7 +18,7 @@
`single_battery_max_voltage`, `single_battery_min_voltage`,
`single_battery_max_temperature`, `single_battery_min_temperature`,
`available_battery_capacity`, `vehicle_status`, `charging_status`,
`operating_status`, `soc_status`, `charging_energy_storage_status`,
`operatingStatus`, `soc_status`, `charging_energy_storage_status`,
`drive_motor_status`, `position_status`, `eas_status`, `ptc_status`,
`eps_status`, `abs_status`, `mcu_status`, `heating_status`, `battery_status`,
`battery_insulation_status`, `dcdc_status`, `chg_status`, `brake_pedal`)

View File

@ -0,0 +1,38 @@
target/
!.mvn/wrapper/maven-wrapper.jar
!**/src/main/**/target/
!**/src/test/**/target/
### IntelliJ IDEA ###
.idea/modules.xml
.idea/jarRepositories.xml
.idea/compiler.xml
.idea/libraries/
*.iws
*.iml
*.ipr
### Eclipse ###
.apt_generated
.classpath
.factorypath
.project
.settings
.springBeans
.sts4-cache
### NetBeans ###
/nbproject/private/
/nbbuild/
/dist/
/nbdist/
/.nb-gradle/
build/
!**/src/main/**/build/
!**/src/test/**/build/
### VS Code ###
.vscode/
### Mac OS ###
.DS_Store

View File

@ -0,0 +1,38 @@
target/
!.mvn/wrapper/maven-wrapper.jar
!**/src/main/**/target/
!**/src/test/**/target/
### IntelliJ IDEA ###
.idea/modules.xml
.idea/jarRepositories.xml
.idea/compiler.xml
.idea/libraries/
*.iws
*.iml
*.ipr
### Eclipse ###
.apt_generated
.classpath
.factorypath
.project
.settings
.springBeans
.sts4-cache
### NetBeans ###
/nbproject/private/
/nbbuild/
/dist/
/nbdist/
/.nb-gradle/
build/
!**/src/main/**/build/
!**/src/test/**/build/
### VS Code ###
.vscode/
### Mac OS ###
.DS_Store

View File

@ -0,0 +1,34 @@
<?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.couplet</groupId>
<artifactId>couplet-electronic-fence</artifactId>
<version>3.6.3</version>
</parent>
<artifactId>couplet-electronic-fence-common</artifactId>
<description>
couplet-electronic-fence-common
</description>
<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>
<dependency>
<groupId>com.couplet</groupId>
<artifactId>couplet-common-core</artifactId>
</dependency>
</dependencies>
</project>

View File

@ -1,20 +1,25 @@
package com.couplet.common.domain;
package com.couplet.map.common.domain;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.couplet.common.core.web.domain.BaseEntity;
import com.couplet.common.domain.request.FenceUpdateRequest;
import com.couplet.map.common.domain.request.FenceRequest;
import com.couplet.map.common.domain.request.FenceUpdateRequest;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.experimental.SuperBuilder;
import org.springframework.format.annotation.DateTimeFormat;
import org.springframework.validation.annotation.Validated;
import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import java.util.Date;
import java.util.List;
/**
* @Author: LiJiaYao

View File

@ -1,4 +1,4 @@
package com.couplet.common.domain;
package com.couplet.map.common.domain;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.AllArgsConstructor;

View File

@ -1,4 +1,4 @@
package com.couplet.common.domain.request;
package com.couplet.map.common.domain.request;
import lombok.AllArgsConstructor;
import lombok.Builder;

View File

@ -1,4 +1,4 @@
package com.couplet.common.domain.request;
package com.couplet.map.common.domain.request;
import com.baomidou.mybatisplus.annotation.TableField;
import lombok.AllArgsConstructor;
@ -8,6 +8,7 @@ import lombok.NoArgsConstructor;
import org.springframework.format.annotation.DateTimeFormat;
import java.util.Date;
import java.util.List;
/**
* @Author: LiJiaYao

View File

@ -1,5 +1,6 @@
package com.couplet.common.domain.request;
package com.couplet.map.common.domain.request;
import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.AllArgsConstructor;
import lombok.Builder;

View File

@ -0,0 +1,38 @@
target/
!.mvn/wrapper/maven-wrapper.jar
!**/src/main/**/target/
!**/src/test/**/target/
### IntelliJ IDEA ###
.idea/modules.xml
.idea/jarRepositories.xml
.idea/compiler.xml
.idea/libraries/
*.iws
*.iml
*.ipr
### Eclipse ###
.apt_generated
.classpath
.factorypath
.project
.settings
.springBeans
.sts4-cache
### NetBeans ###
/nbproject/private/
/nbbuild/
/dist/
/nbdist/
/.nb-gradle/
build/
!**/src/main/**/build/
!**/src/test/**/build/
### VS Code ###
.vscode/
### Mac OS ###
.DS_Store

View File

@ -0,0 +1,29 @@
<?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.couplet</groupId>
<artifactId>couplet-electronic-fence</artifactId>
<version>3.6.3</version>
</parent>
<artifactId>couplet-electronic-fence-remote</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>
<dependency>
<groupId>com.couplet</groupId>
<artifactId>couplet-electronic-fence-common</artifactId>
</dependency>
</dependencies>
</project>

View File

@ -0,0 +1,38 @@
target/
!.mvn/wrapper/maven-wrapper.jar
!**/src/main/**/target/
!**/src/test/**/target/
### IntelliJ IDEA ###
.idea/modules.xml
.idea/jarRepositories.xml
.idea/compiler.xml
.idea/libraries/
*.iws
*.iml
*.ipr
### Eclipse ###
.apt_generated
.classpath
.factorypath
.project
.settings
.springBeans
.sts4-cache
### NetBeans ###
/nbproject/private/
/nbbuild/
/dist/
/nbdist/
/.nb-gradle/
build/
!**/src/main/**/build/
!**/src/test/**/build/
### VS Code ###
.vscode/
### Mac OS ###
.DS_Store

View File

@ -5,22 +5,25 @@
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>com.couplet</groupId>
<artifactId>couplet-modules</artifactId>
<artifactId>couplet-electronic-fence</artifactId>
<version>3.6.3</version>
</parent>
<artifactId>couplet-business</artifactId>
<artifactId>couplet-electronic-fence-server</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>
<dependency>
<groupId>com.couplet</groupId>
<artifactId>couplet-common-business</artifactId>
<artifactId>couplet-electronic-fence-common</artifactId>
</dependency>
<!-- SpringCloud Alibaba Nacos -->
<dependency>
<groupId>com.alibaba.cloud</groupId>
@ -45,6 +48,7 @@
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
<!-- Swagger UI -->
<dependency>
<groupId>io.springfox</groupId>
@ -81,6 +85,14 @@
<groupId>com.couplet</groupId>
<artifactId>couplet-common-swagger</artifactId>
</dependency>
<dependency>
<groupId>com.couplet</groupId>
<artifactId>couplet-common-system</artifactId>
</dependency>
<dependency>
<groupId>org.apache.kafka</groupId>
<artifactId>kafka-clients</artifactId>
</dependency>
</dependencies>
@ -109,4 +121,5 @@
</plugins>
</build>
</project>

View File

@ -1,4 +1,4 @@
package com.couplet.business.server;
package com.couplet.map.server;
import com.couplet.common.security.annotation.EnableCustomConfig;
import com.couplet.common.security.annotation.EnableMyFeignClients;
@ -7,17 +7,16 @@ import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
/**
* @Author: LiJiaYao
* @Date: 2024/4/3
* @Description:
*
*
* @author couplet
*/
@EnableCustomConfig
@EnableCustomSwagger2
@EnableMyFeignClients(basePackages = ("com.couplet"))
@SpringBootApplication(scanBasePackages = {"com.couplet"})
public class CoupletBusinessApplication {
@EnableMyFeignClients
@SpringBootApplication
public class CoupletElectronicFenceApplication {
public static void main (String[] args) {
SpringApplication.run(CoupletBusinessApplication.class, args);
SpringApplication.run(CoupletElectronicFenceApplication.class, args);
}
}

View File

@ -1,15 +1,15 @@
package com.couplet.business.server.controller;
package com.couplet.map.server.controller;
import com.couplet.business.server.service.FenceService;
import com.couplet.common.core.domain.Result;
import com.couplet.common.core.web.controller.BaseController;
import com.couplet.common.domain.Fence;
import com.couplet.common.domain.request.FenceConfig;
import com.couplet.common.domain.request.FenceRequest;
import com.couplet.common.domain.request.FenceUpdateRequest;
import com.couplet.common.log.annotation.Log;
import com.couplet.common.log.enums.BusinessType;
import com.couplet.common.security.annotation.RequiresPermissions;
import com.couplet.map.common.domain.Fence;
import com.couplet.map.common.domain.request.FenceConfig;
import com.couplet.map.common.domain.request.FenceRequest;
import com.couplet.map.common.domain.request.FenceUpdateRequest;
import com.couplet.map.server.service.FenceService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
@ -83,7 +83,7 @@ public class FenceController extends BaseController {
@DeleteMapping("/{fenceId}")
@RequiresPermissions("couplet:fence:fenceDelete")
@Log(title = "电子围栏删除",businessType = BusinessType.DELETE)
public Result<?> fenceDelete(@PathVariable Long fenceId){
public Result<?> fenceDelete(@PathVariable Long fenceId){
fenceService.removeByFenceId(fenceId);
return Result.success();
}

View File

@ -1,17 +1,19 @@
package com.couplet.business.server.controller;
package com.couplet.map.server.controller;
import com.couplet.business.server.service.LogoService;
import com.couplet.common.core.domain.Result;
import com.couplet.common.core.web.controller.BaseController;
import com.couplet.common.domain.Logo;
import com.couplet.common.log.annotation.Log;
import com.couplet.common.log.enums.BusinessType;
import com.couplet.common.security.annotation.RequiresPermissions;
import com.couplet.map.common.domain.Logo;
import com.couplet.map.common.domain.request.FenceRequest;
import com.couplet.map.common.domain.request.FenceUpdateRequest;
import com.couplet.map.server.service.LogoService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletRequest;
import java.util.List;
/**

View File

@ -1,7 +1,7 @@
package com.couplet.business.server.mapper;
package com.couplet.map.server.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.couplet.common.domain.Fence;
import com.couplet.map.common.domain.Fence;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

View File

@ -1,11 +1,10 @@
package com.couplet.business.server.mapper;
package com.couplet.map.server.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.couplet.common.domain.Fence;
import com.couplet.common.domain.request.FenceConfig;
import com.couplet.common.domain.request.FenceRequest;
import com.couplet.common.domain.request.FenceUpdateRequest;
import com.couplet.map.common.domain.Fence;
import com.couplet.map.common.domain.request.FenceConfig;
import com.couplet.map.common.domain.request.FenceRequest;
import com.couplet.map.common.domain.request.FenceUpdateRequest;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;
@ -20,7 +19,7 @@ public interface FenceMapper extends BaseMapper<Fence> {
*
* @param fenceUpdateRequest
*/
void changeFence(FenceUpdateRequest fenceUpdateRequest);
void changeFence(FenceUpdateRequest fenceUpdateRequest);
int insertFence(FenceRequest fenceRequest);

View File

@ -1,7 +1,9 @@
package com.couplet.business.server.mapper;
package com.couplet.map.server.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.couplet.common.domain.Logo;
import com.couplet.map.common.domain.Fence;
import com.couplet.map.common.domain.Logo;
import com.couplet.map.common.domain.request.FenceUpdateRequest;
import org.apache.ibatis.annotations.Mapper;
/**

View File

@ -1,8 +1,7 @@
package com.couplet.business.server.service;
package com.couplet.map.server.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.couplet.common.domain.Fence;
import com.couplet.map.common.domain.Fence;
/**
* @Author: LiJiaYao

View File

@ -1,10 +1,10 @@
package com.couplet.business.server.service;
package com.couplet.map.server.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.couplet.common.domain.Fence;
import com.couplet.common.domain.request.FenceConfig;
import com.couplet.common.domain.request.FenceRequest;
import com.couplet.common.domain.request.FenceUpdateRequest;
import com.couplet.map.common.domain.Fence;
import com.couplet.map.common.domain.request.FenceConfig;
import com.couplet.map.common.domain.request.FenceRequest;
import com.couplet.map.common.domain.request.FenceUpdateRequest;
import javax.servlet.http.HttpServletRequest;
import java.util.List;
@ -27,7 +27,7 @@ public interface FenceService extends IService<Fence> {
*
* @param fenceRequest
*/
void fenceInsert(HttpServletRequest request, FenceRequest fenceRequest);
void fenceInsert(HttpServletRequest request,FenceRequest fenceRequest);
/**
*

View File

@ -1,8 +1,7 @@
package com.couplet.business.server.service;
package com.couplet.map.server.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.couplet.common.domain.Logo;
import com.couplet.map.common.domain.Logo;
import java.util.List;

View File

@ -1,9 +1,9 @@
package com.couplet.business.server.service.impl;
package com.couplet.map.server.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.couplet.business.server.mapper.FenAndLogoMapper;
import com.couplet.business.server.service.FenAndLogoService;
import com.couplet.common.domain.Fence;
import com.couplet.map.common.domain.Fence;
import com.couplet.map.server.mapper.FenAndLogoMapper;
import com.couplet.map.server.service.FenAndLogoService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.StringRedisTemplate;
import org.springframework.stereotype.Service;

View File

@ -1,13 +1,13 @@
package com.couplet.business.server.service.impl;
package com.couplet.map.server.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.couplet.business.server.mapper.FenceMapper;
import com.couplet.business.server.service.FenAndLogoService;
import com.couplet.business.server.service.FenceService;
import com.couplet.common.domain.Fence;
import com.couplet.common.domain.request.FenceConfig;
import com.couplet.common.domain.request.FenceRequest;
import com.couplet.common.domain.request.FenceUpdateRequest;
import com.couplet.map.common.domain.Fence;
import com.couplet.map.common.domain.request.FenceConfig;
import com.couplet.map.common.domain.request.FenceRequest;
import com.couplet.map.common.domain.request.FenceUpdateRequest;
import com.couplet.map.server.mapper.FenceMapper;
import com.couplet.map.server.service.FenAndLogoService;
import com.couplet.map.server.service.FenceService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.StringRedisTemplate;
import org.springframework.stereotype.Service;
@ -58,7 +58,7 @@ public class FenceServiceImpl extends ServiceImpl<FenceMapper, Fence> implements
* @param fenceRequest
*/
@Override
public void fenceInsert(HttpServletRequest request, FenceRequest fenceRequest) {
public void fenceInsert(HttpServletRequest request,FenceRequest fenceRequest) {
//先添加围栏
int a= fenceMapper.insertFence(fenceRequest);

View File

@ -1,14 +1,19 @@
package com.couplet.business.server.service.impl;
package com.couplet.map.server.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.StringUtils;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.couplet.business.server.mapper.LogoMapper;
import com.couplet.business.server.service.LogoService;
import com.couplet.common.domain.Logo;
import com.couplet.map.common.domain.Fence;
import com.couplet.map.common.domain.Logo;
import com.couplet.map.common.domain.request.FenceRequest;
import com.couplet.map.common.domain.request.FenceUpdateRequest;
import com.couplet.map.server.mapper.LogoMapper;
import com.couplet.map.server.service.LogoService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.StringRedisTemplate;
import org.springframework.stereotype.Service;
import javax.servlet.http.HttpServletRequest;
import java.util.List;
/**

View File

@ -6,7 +6,7 @@ server:
spring:
application:
# 应用名称
name: couplet-business
name: couplet-electronic-fence
profiles:
# 环境配置

View File

@ -2,9 +2,9 @@
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.couplet.business.server.mapper.FenAndLogoMapper">
<mapper namespace="com.couplet.map.server.mapper.FenAndLogoMapper">
<resultMap id="map" type="com.couplet.common.domain.Fence">
<resultMap id="map" type="com.couplet.map.common.domain.Fence">
<id property="fenceId" column="fence_id"/>
<result property="fenceName" column="fence_name"/>
<result property="fenceDescription" column="fence_description"/>
@ -15,7 +15,7 @@
<result property="isDelete" column="is_delete" />
<result property="maintainerName" column="maintainer_name" />
</resultMap>
<resultMap id="logoMap" type="com.couplet.common.domain.Logo">
<resultMap id="logoMap" type="com.couplet.map.common.domain.Logo">
<id property="logoId" column="logo_id"/>
<result property="logoName" column="logo_name" />
</resultMap>

View File

@ -2,9 +2,9 @@
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.couplet.business.server.mapper.FenceMapper">
<mapper namespace="com.couplet.map.server.mapper.FenceMapper">
<resultMap id="map" type="com.couplet.common.domain.Fence">
<resultMap id="map" type="com.couplet.map.common.domain.Fence">
<id property="fenceId" column="fence_id"/>
<result property="fenceName" column="fence_name"/>
<result property="fenceDescription" column="fence_description"/>
@ -15,7 +15,7 @@
<result property="isDelete" column="is_delete" />
<result property="maintainerName" column="maintainer_name" />
</resultMap>
<resultMap id="logoMap" type="com.couplet.common.domain.Logo">
<resultMap id="logoMap" type="com.couplet.map.common.domain.Logo">
<id property="logoId" column="logo_id"/>
<result property="logoName" column="logo_name" />
</resultMap>
@ -52,7 +52,7 @@
alarm_status
FROM couplet_fence_info
</sql>
<insert id="insertFence" parameterType="com.couplet.common.domain.request.FenceRequest" keyProperty="fenceId"
<insert id="insertFence" parameterType="com.couplet.map.common.domain.request.FenceRequest" keyProperty="fenceId"
useGeneratedKeys="true">
INSERT INTO `couplet-cloud`.`couplet_fence_info`
(`fence_name`, `fence_longitude_latitude`, `fence_description`, `is_delete`, `fence_state`, `create_time`,
@ -63,7 +63,7 @@
</insert>
<update id="changeFence" parameterType="com.couplet.common.domain.request.FenceUpdateRequest">
<update id="changeFence" parameterType="com.couplet.map.common.domain.request.FenceUpdateRequest">
UPDATE `couplet-cloud`.`couplet_fence_info`
SET `fence_name` = #{fenceName},
@ -81,7 +81,7 @@
delete from couplet_fence_info where fence_id = #{fenceId}
</delete>
<select id="pageQuery" resultMap="map"
parameterType="com.couplet.common.domain.request.FenceConfig">
parameterType="com.couplet.map.common.domain.request.FenceConfig">
<include refid="selectFence"></include>
<where>
<if test="fenceName!=null and fenceName!='' ">

View File

@ -0,0 +1,33 @@
import org.apache.kafka.clients.producer.KafkaProducer;
import org.apache.kafka.clients.producer.ProducerRecord;
import java.util.Properties;
/**
* @Author: LiJiaYao
* @Date: 2024/4/1
*
*/
public class test {
public static void main(String[] args) {
Properties props = new Properties();
props.put("bootstrap.servers","39.103.133.136:9092");
//使用默认的配置
// props.put("acks","all");
// props.put("retries",0);
// props.put("batch.size",16384);
// props.put("linger.ms",1);
// props.put("buffer.memory",33554432);
props.put("key.serializer","org.apache.kafka.common.serialization.StringSerializer");
props.put("value.serializer","org.apache.kafka.common.serialization.StringSerializer");
KafkaProducer<String, String> producer = new KafkaProducer<>(props);
for (int i = 0; i < 10; i++) {
producer.send(new ProducerRecord<String,String>("my-topic",Integer.toString(i),Integer.toString(i)));
}
producer.close();
}
}

View File

@ -0,0 +1,40 @@
import org.apache.kafka.clients.producer.KafkaProducer;
import org.apache.kafka.clients.producer.Producer;
import org.apache.kafka.clients.producer.ProducerRecord;
import org.apache.kafka.clients.producer.RecordMetadata;
import org.yaml.snakeyaml.introspector.Property;
import java.util.Properties;
import java.util.concurrent.ExecutionException;
import java.util.concurrent.Future;
/**
* @Author: LiJiaYao
* @Date: 2024/4/1
*
*/
public class test2 {
public static void main(String[] args) {
Properties properties = new Properties();
properties.put("bootstrap.servers", "39.103.133.136:9092");
properties.put("key.serializer", "org.apache.kafka.common.serialization.StringSerializer");
properties.put("value.serializer", "org.apache.kafka.common.serialization.StringSerializer");
KafkaProducer<String, String> producer = new KafkaProducer<String, String>(properties);
for (int i = 0; i < 10; i++) {
Future<RecordMetadata> result = producer.send(new ProducerRecord<>("test", Integer.toString(i), Integer.toString(i)));
try {
RecordMetadata recordMetadata =result.get();
} catch (InterruptedException e) {
e.printStackTrace();
} catch (ExecutionException e) {
e.printStackTrace();
}
}
producer.close();
}
}

View File

@ -0,0 +1,30 @@
<?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.couplet</groupId>
<artifactId>couplet-modules</artifactId>
<version>3.6.3</version>
</parent>
<packaging>pom</packaging>
<artifactId>couplet-electronic-fence</artifactId>
<modules>
<module>couplet-electronic-fence-server</module>
<module>couplet-electronic-fence-common</module>
<module>couplet-electronic-fence-remote</module>
</modules>
<properties>
<maven.compiler.source>17</maven.compiler.source>
<maven.compiler.target>17</maven.compiler.target>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
</project>

View File

@ -0,0 +1,30 @@
<?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.couplet</groupId>
<artifactId>couplet-enterprisemanagement</artifactId>
<version>3.6.3</version>
</parent>
<artifactId>couplet-enterprisemanagement-common</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>
<dependency>
<groupId>com.couplet</groupId>
<artifactId>couplet-common-core</artifactId>
</dependency>
<dependency>
<groupId>com.couplet</groupId>
<artifactId>couplet-common-system</artifactId>
</dependency>
</dependencies>
</project>

View File

@ -0,0 +1,34 @@
<?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.couplet</groupId>
<artifactId>couplet-enterprisemanagement</artifactId>
<version>3.6.3</version>
</parent>
<artifactId>couplet-enterprisemanagement-remote</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>
<dependency>
<groupId>com.couplet</groupId>
<artifactId>couplet-enterprisemanagement-common</artifactId>
</dependency>
<dependency>
<groupId>com.couplet</groupId>
<artifactId>couplet-common-security</artifactId>
</dependency>
<dependency>
<groupId>com.couplet</groupId>
<artifactId>couplet-common-security</artifactId>
</dependency>
</dependencies>
</project>

View File

@ -0,0 +1,99 @@
<?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.couplet</groupId>
<artifactId>couplet-enterprisemanagement</artifactId>
<version>3.6.3</version>
</parent>
<artifactId>couplet-enterprisemanagement-server</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>
<dependency>
<groupId>com.couplet</groupId>
<artifactId>couplet-enterprisemanagement-common</artifactId>
</dependency>
<!-- 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>
<!-- Swagger UI -->
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
<version>${swagger.fox.version}</version>
</dependency>
<!-- Mysql Connector -->
<dependency>
<groupId>com.mysql</groupId>
<artifactId>mysql-connector-j</artifactId>
</dependency>
<!-- MuYu Common DataSource -->
<dependency>
<groupId>com.couplet</groupId>
<artifactId>couplet-common-datasource</artifactId>
</dependency>
<!-- MuYu Common DataScope -->
<dependency>
<groupId>com.couplet</groupId>
<artifactId>couplet-common-datascope</artifactId>
</dependency>
<!-- MuYu Common Log -->
<dependency>
<groupId>com.couplet</groupId>
<artifactId>couplet-common-log</artifactId>
</dependency>
<!-- MuYu Common Swagger -->
<dependency>
<groupId>com.couplet</groupId>
<artifactId>couplet-common-swagger</artifactId>
</dependency>
<dependency>
<groupId>com.couplet</groupId>
<artifactId>couplet-modules-vehicle</artifactId>
</dependency>
<dependency>
<groupId>com.couplet</groupId>
<artifactId>couplet-common-vehicle</artifactId>
<version>3.6.3</version>
<scope>compile</scope>
</dependency>
</dependencies>
</project>

View File

@ -0,0 +1,27 @@
package com.couplet.server;
import com.couplet.common.security.annotation.EnableCustomConfig;
import com.couplet.common.security.annotation.EnableMyFeignClients;
import com.couplet.common.swagger.annotation.EnableCustomSwagger2;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
/**
* @author fufanrui
* @version 1.0
* @description:
* @date 2024/3/27 14:04
*/
@EnableCustomConfig
@EnableCustomSwagger2
@EnableMyFeignClients
@SpringBootApplication
public class CoupleManagementApp {
public static void main(String[] args) {
SpringApplication.run(CoupleManagementApp.class, args);
}
}

View File

@ -1,11 +1,11 @@
package com.couplet.business.server.controller;
package com.couplet.server.controller;
import com.couplet.business.server.service.EmployeeService;
import com.couplet.common.core.domain.Result;
import com.couplet.common.core.web.controller.BaseController;
import com.couplet.common.core.web.page.TableDataInfo;
import com.couplet.common.security.annotation.RequiresPermissions;
import com.couplet.common.system.domain.SysUser;
import com.couplet.server.service.EmployeeService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

View File

@ -1,11 +1,11 @@
package com.couplet.business.server.controller;
package com.couplet.server.controller;
import com.couplet.business.server.service.ManageServer;
import com.couplet.common.core.domain.Result;
import com.couplet.common.log.annotation.Log;
import com.couplet.common.log.enums.BusinessType;
import com.couplet.common.security.annotation.RequiresPermissions;
import com.couplet.common.system.domain.SysDept;
import com.couplet.server.service.ManageServer;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

View File

@ -1,9 +1,9 @@
package com.couplet.business.server.controller;
package com.couplet.server.controller;
import com.couplet.business.server.service.VehicleManageService;
import com.couplet.common.core.domain.Result;
import com.couplet.common.domain.Vehicle;
import com.couplet.common.domain.VehicleMiddle;
import com.couplet.common.system.domain.Vehicle;
import com.couplet.common.system.domain.VehicleMiddle;
import com.couplet.server.service.VehicleManageService;
import io.swagger.v3.oas.annotations.parameters.RequestBody;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

View File

@ -1,4 +1,4 @@
package com.couplet.business.server.service;
package com.couplet.server.service;
import com.couplet.common.core.domain.Result;
import com.couplet.common.core.web.page.TableDataInfo;

View File

@ -1,7 +1,8 @@
package com.couplet.business.server.service;
package com.couplet.server.service;
import com.couplet.common.core.domain.Result;
import com.couplet.common.system.domain.SysDept;
import org.springframework.beans.factory.annotation.Autowired;
import java.util.List;

View File

@ -1,9 +1,9 @@
package com.couplet.business.server.service;
package com.couplet.server.service;
import com.couplet.common.core.domain.Result;
import com.couplet.common.domain.Vehicle;
import com.couplet.common.domain.VehicleMiddle;
import com.couplet.common.system.domain.Vehicle;
import com.couplet.common.system.domain.VehicleMiddle;
import java.util.List;

View File

@ -1,6 +1,5 @@
package com.couplet.business.server.service.impl;
package com.couplet.server.service.impl;
import com.couplet.business.server.service.EmployeeService;
import com.couplet.common.core.constant.SecurityConstants;
import com.couplet.common.core.domain.Result;
import com.couplet.common.core.web.page.TableDataInfo;
@ -9,6 +8,7 @@ import com.couplet.common.system.domain.LoginUser;
import com.couplet.common.system.domain.SysUser;
import com.couplet.common.system.remote.RemoteEmployeeService;
import com.couplet.common.system.remote.RemoteUserService;
import com.couplet.server.service.EmployeeService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@ -21,7 +21,7 @@ import java.util.List;
* @date 2024/3/31 19:42
*/
@Service
public class EmployeeServiceImpl implements EmployeeService {
public class EmployeeServiceImpl implements EmployeeService{
@Autowired

View File

@ -1,16 +1,18 @@
package com.couplet.business.server.service.impl;
package com.couplet.server.service.impl;
import com.couplet.business.server.service.ManageServer;
import com.couplet.common.core.constant.SecurityConstants;
import com.couplet.common.core.domain.Result;
import com.couplet.common.core.utils.StringUtils;
import com.couplet.common.security.utils.SecurityUtils;
import com.couplet.common.system.domain.LoginUser;
import com.couplet.common.system.domain.SysDept;
import com.couplet.common.system.remote.RemoteDeptService;
import com.couplet.common.system.remote.RemoteUserService;
import com.couplet.server.service.ManageServer;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.List;
/**
@ -20,7 +22,7 @@ import java.util.List;
* @date 2024/3/27 15:34
*/
@Service
public class ManageServiceImpl implements ManageServer {
public class ManageServiceImpl implements ManageServer{
@Autowired
private RemoteDeptService remoteDeptService;

View File

@ -1,11 +1,11 @@
package com.couplet.business.server.service.impl;
package com.couplet.server.service.impl;
import com.couplet.business.server.service.VehicleManageService;
import com.couplet.common.core.domain.Result;
import com.couplet.common.domain.Vehicle;
import com.couplet.common.domain.VehicleMiddle;
import com.couplet.common.security.utils.SecurityUtils;
import com.couplet.remote.RemoteVehicleService;
import com.couplet.common.system.domain.Vehicle;
import com.couplet.common.system.domain.VehicleMiddle;
import com.couplet.common.system.remote.RemoteVehicleService;
import com.couplet.server.service.VehicleManageService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@ -18,7 +18,7 @@ import java.util.List;
* @date 2024/4/2 9:05
*/
@Service
public class VehicleManageServiceImpl implements VehicleManageService {
public class VehicleManageServiceImpl implements VehicleManageService{
@Autowired

View File

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

View File

@ -0,0 +1,32 @@
# Tomcat
server:
port: 9222
# Spring
spring:
application:
# 应用名称
name: couplet-enterprisemanagement
profiles:
# 环境配置
active: dev
cloud:
nacos:
discovery:
# 服务注册地址
server-addr: 121.89.211.230:8848
namespace: 172469
config:
# 配置中心地址
server-addr: 121.89.211.230:8848
namespace: 172469
# 配置文件格式
file-extension: yml
# 共享配置
shared-configs:
- application-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension}
main:
allow-bean-definition-overriding: true
logging:
level:
com.couplet.system.mapper: DEBUG

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/couplet-system"/>
<!-- 日志输出格式 -->
<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.couplet" 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,26 @@
<?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.couplet</groupId>
<artifactId>couplet-modules</artifactId>
<version>3.6.3</version>
</parent>
<artifactId>couplet-enterprisemanagement</artifactId>
<packaging>pom</packaging>
<modules>
<module>couplet-enterprisemanagement-common</module>
<module>couplet-enterprisemanagement-server</module>
<module>couplet-enterprisemanagement-remote</module>
</modules>
<properties>
<maven.compiler.source>17</maven.compiler.source>
<maven.compiler.target>17</maven.compiler.target>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
</project>

View File

@ -19,6 +19,6 @@ import org.springframework.boot.autoconfigure.SpringBootApplication;
public class CoupletMqApplatcaion {
public static void main(String[] args) {
SpringApplication.run(CoupletMqApplatcaion.class, args);
System.out.println("RabbitMQ模块启动成功");
System.out.println("获取报文、RabbitMQ模块启动成功");
}
}

View File

@ -94,7 +94,7 @@
<!-- 注入车辆服务,调用接口-->
<dependency>
<groupId>com.couplet</groupId>
<artifactId>couplet-common-business</artifactId>
<artifactId>couplet-modules-vehicle</artifactId>
</dependency>
</dependencies>

View File

@ -18,9 +18,9 @@ import org.springframework.boot.autoconfigure.SpringBootApplication;
@EnableMyFeignClients
@SpringBootApplication
//@EnableFeignClients
public class CoupletOnlineApplication {
public class OnlineApplication {
public static void main(String[] args) {
SpringApplication.run(CoupletOnlineApplication.class);
SpringApplication.run(OnlineApplication.class);
System.out.println("车辆上线模块启动成功");
}
}

View File

@ -1,9 +1,9 @@
package com.couplet.online.utils;
import com.alibaba.fastjson2.JSON;
import com.couplet.common.domain.Vehicle;
import com.couplet.common.redis.service.RedisService;
import com.couplet.remote.RemoteVehicleService;
import com.couplet.vehicle.domain.Vehicle;
import com.couplet.vehicle.remote.RemoteVehicleService;
import lombok.extern.slf4j.Slf4j;
import org.eclipse.paho.client.mqttv3.*;
import org.eclipse.paho.client.mqttv3.persist.MemoryPersistence;

View File

@ -0,0 +1,126 @@
<?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">
<parent>
<groupId>com.couplet</groupId>
<artifactId>couplet-modules</artifactId>
<version>3.6.3</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>couplet-modules-vehicle</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>-->
<description>
couplet-modules-vehicle车辆管理模块
</description>
<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>
<!-- Swagger UI -->
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
<version>${swagger.fox.version}</version>
</dependency>
<!-- Mysql Connector -->
<dependency>
<groupId>com.mysql</groupId>
<artifactId>mysql-connector-j</artifactId>
</dependency>
<!-- MuYu Common DataSource -->
<dependency>
<groupId>com.couplet</groupId>
<artifactId>couplet-common-datasource</artifactId>
</dependency>
<!-- MuYu Common DataScope -->
<dependency>
<groupId>com.couplet</groupId>
<artifactId>couplet-common-datascope</artifactId>
</dependency>
<!-- MuYu Common Log -->
<dependency>
<groupId>com.couplet</groupId>
<artifactId>couplet-common-log</artifactId>
</dependency>
<!-- MuYu Common Swagger -->
<dependency>
<groupId>com.couplet</groupId>
<artifactId>couplet-common-swagger</artifactId>
</dependency>
<!-- Pagehelper -->
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper-spring-boot-starter</artifactId>
<version>1.4.1</version>
</dependency>
<dependency>
<groupId>com.couplet</groupId>
<artifactId>couplet-common-core</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>
<!-- 加入maven deploy插件当在deploy时忽略些model-->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-deploy-plugin</artifactId>
<configuration>
<skip>true</skip>
</configuration>
</plugin>
</plugins>
</build>
</project>

View File

@ -0,0 +1,24 @@
package com.couplet.vehicle;
import com.couplet.common.security.annotation.EnableCustomConfig;
import com.couplet.common.security.annotation.EnableMyFeignClients;
import com.couplet.common.swagger.annotation.EnableCustomSwagger2;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
/**
* @ProjectName: Default (Template) Project
* @Author: LiuYunHu
* @CreateTime: 2024/3/26
* @Description:
*/
@EnableCustomConfig
@EnableCustomSwagger2
@EnableMyFeignClients
@SpringBootApplication
public class CoupletVehicleApplication {
public static void main(String[] args) {
SpringApplication.run(CoupletVehicleApplication.class, args);
System.out.println("车辆管理模块启动成功");
}
}

View File

@ -1,15 +1,16 @@
package com.couplet.business.server.controller;
package com.couplet.vehicle.controller;
import com.couplet.business.server.service.VehicleService;
import com.couplet.common.core.domain.Result;
import com.couplet.common.core.web.controller.BaseController;
import com.couplet.common.domain.Vehicle;
import com.couplet.common.domain.request.VehicleEditParams;
import com.couplet.common.domain.request.VehicleInsertParams;
import com.couplet.common.domain.request.VehicleListParams;
import com.couplet.common.log.annotation.Log;
import com.couplet.common.log.enums.BusinessType;
import com.couplet.common.security.annotation.RequiresPermissions;
import com.couplet.vehicle.domain.Vehicle;
import com.couplet.vehicle.domain.VehicleMiddle;
import com.couplet.vehicle.domain.req.VehicleEditParams;
import com.couplet.vehicle.domain.req.VehicleInsertParams;
import com.couplet.vehicle.domain.req.VehicleListParams;
import com.couplet.vehicle.service.VehicleService;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import org.springframework.beans.factory.annotation.Autowired;

View File

@ -1,10 +1,10 @@
package com.couplet.business.server.controller;
package com.couplet.vehicle.controller;
import com.couplet.business.server.service.VehicleTypeService;
import com.couplet.common.core.domain.Result;
import com.couplet.common.core.web.controller.BaseController;
import com.couplet.common.domain.VehicleType;
import com.couplet.common.security.annotation.RequiresPermissions;
import com.couplet.vehicle.domain.VehicleType;
import com.couplet.vehicle.service.VehicleTypeService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;

View File

@ -1,4 +1,4 @@
package com.couplet.common.domain;
package com.couplet.vehicle.domain;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
@ -17,11 +17,12 @@ import lombok.experimental.SuperBuilder;
*/
@Data
@SuperBuilder
@AllArgsConstructor
@NoArgsConstructor
@TableName("couplet_vehicle")
public class Vehicle{
/*
*id
* */

View File

@ -1,4 +1,4 @@
package com.couplet.common.domain;
package com.couplet.vehicle.domain;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;

View File

@ -0,0 +1,27 @@
package com.couplet.vehicle.domain;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.ToString;
/**
* @author fufanrui
* @version 1.0
* @description: TODO
* @date 2024/4/2 11:22
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
@ToString
public class VehicleMiddle{
private Long middleId;
private Long userId;
private Long vehicleId;
private Long delFlag;
}

View File

@ -0,0 +1,36 @@
package com.couplet.vehicle.domain;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.SuperBuilder;
/**
* @ProjectName: five-groups-couplet
* @Author: LiuYunHu
* @CreateTime: 2024/3/31
* @Description:
*/
@Data
@SuperBuilder
@AllArgsConstructor
@NoArgsConstructor
@TableName("couplet_vehicle_type")
public class VehicleType {
/*
* id
* */
@TableId(type = IdType.AUTO, value = "vehicle_type_id")
private Long vehicleTypeId;
/*
*
* */
@TableField(value = "vehicle_type_name")
private String vehicleTypeName;
}

View File

@ -1,4 +1,4 @@
package com.couplet.common.domain.request;
package com.couplet.vehicle.domain.req;
import lombok.AllArgsConstructor;
import lombok.Data;

View File

@ -1,4 +1,4 @@
package com.couplet.common.domain.request;
package com.couplet.vehicle.domain.req;
import lombok.AllArgsConstructor;
import lombok.Data;

View File

@ -1,4 +1,4 @@
package com.couplet.common.domain.request;
package com.couplet.vehicle.domain.req;
import lombok.AllArgsConstructor;
import lombok.Data;

View File

@ -1,4 +1,4 @@
package com.couplet.common.core.exception.vehicle;
package com.couplet.vehicle.exception;
/**
* @ProjectName: five-groups-couplet

View File

@ -1,7 +1,7 @@
package com.couplet.business.server.mapper;
package com.couplet.vehicle.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.couplet.common.domain.VehicleAndLogo;
import com.couplet.vehicle.domain.VehicleAndLogo;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Component;

View File

@ -1,8 +1,8 @@
package com.couplet.business.server.mapper;
package com.couplet.vehicle.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.couplet.common.domain.Vehicle;
import com.couplet.common.domain.VehicleMiddle;
import com.couplet.vehicle.domain.Vehicle;
import com.couplet.vehicle.domain.VehicleMiddle;
import org.apache.ibatis.annotations.Mapper;
import org.springframework.stereotype.Component;

View File

@ -1,7 +1,7 @@
package com.couplet.business.server.mapper;
package com.couplet.vehicle.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.couplet.common.domain.VehicleType;
import com.couplet.vehicle.domain.VehicleType;
import org.apache.ibatis.annotations.Mapper;
import org.springframework.stereotype.Component;

View File

@ -0,0 +1,27 @@
package com.couplet.vehicle.remote;
import com.couplet.common.core.constant.ServiceNameConstants;
import com.couplet.common.core.domain.Result;
import com.couplet.vehicle.domain.Vehicle;
import com.couplet.vehicle.remote.factory.RemoteVehicleFallbackFactory;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.stereotype.Component;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import java.util.List;
/**
*
*
* @author couplet
*/
@FeignClient(contextId = "remoteVehicleService",value = ServiceNameConstants.VEHICLE_SERVICE, fallbackFactory = RemoteVehicleFallbackFactory.class, path = "/vehicle")
@Component
public interface RemoteVehicleService {
@GetMapping("/findByVIN/{vin}")
public Result<List<Vehicle>> findByVIN(@PathVariable("vin") String vin);
}

View File

@ -0,0 +1,33 @@
package com.couplet.vehicle.remote.factory;
import com.couplet.common.core.domain.Result;
import com.couplet.vehicle.domain.Vehicle;
import com.couplet.vehicle.remote.RemoteVehicleService;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.cloud.openfeign.FallbackFactory;
import org.springframework.stereotype.Component;
import java.util.List;
/**
*
*
* @author couplet
*/
@Component
public class RemoteVehicleFallbackFactory implements FallbackFactory<RemoteVehicleService> {
private static final Logger log = LoggerFactory.getLogger(RemoteVehicleFallbackFactory.class);
@Override
public RemoteVehicleService create(Throwable throwable) {
log.error("车辆服务调用失败:{}", throwable.getMessage());
return new RemoteVehicleService() {
@Override
public Result<List<Vehicle>> findByVIN(String vin) {
return Result.error("车辆服务调用失败:" + throwable.getMessage());
}
};
}
}

View File

@ -1,8 +1,7 @@
package com.couplet.business.server.service;
package com.couplet.vehicle.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.couplet.common.domain.VehicleAndLogo;
import com.couplet.vehicle.domain.VehicleAndLogo;
import java.util.List;

View File

@ -1,11 +1,11 @@
package com.couplet.business.server.service;
package com.couplet.vehicle.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.couplet.common.domain.Vehicle;
import com.couplet.common.domain.VehicleMiddle;
import com.couplet.common.domain.request.VehicleEditParams;
import com.couplet.common.domain.request.VehicleInsertParams;
import com.couplet.common.domain.request.VehicleListParams;
import com.couplet.vehicle.domain.Vehicle;
import com.couplet.vehicle.domain.VehicleMiddle;
import com.couplet.vehicle.domain.req.VehicleEditParams;
import com.couplet.vehicle.domain.req.VehicleInsertParams;
import com.couplet.vehicle.domain.req.VehicleListParams;
import java.util.List;

View File

@ -1,8 +1,7 @@
package com.couplet.business.server.service;
package com.couplet.vehicle.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.couplet.common.domain.VehicleType;
import com.couplet.vehicle.domain.VehicleType;
import java.util.List;

View File

@ -1,9 +1,9 @@
package com.couplet.business.server.service.impl;
package com.couplet.vehicle.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.couplet.business.server.mapper.VehicleAndLogoMapper;
import com.couplet.business.server.service.VehicleAndLogoService;
import com.couplet.common.domain.VehicleAndLogo;
import com.couplet.vehicle.domain.VehicleAndLogo;
import com.couplet.vehicle.mapper.VehicleAndLogoMapper;
import com.couplet.vehicle.service.VehicleAndLogoService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

Some files were not shown because too many files have changed in this diff Show More