server_five_liuyunhu
ffr 2024-04-08 09:59:48 +08:00
parent 1c6cebb2cc
commit 663111d885
22 changed files with 106 additions and 85 deletions

View File

@ -4,6 +4,7 @@ import com.couplet.common.security.annotation.EnableMyFeignClients;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration;
import org.springframework.context.annotation.ComponentScan;
/**
*
@ -12,6 +13,7 @@ import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration;
*/
@EnableMyFeignClients
@SpringBootApplication(exclude = {DataSourceAutoConfiguration.class})
@ComponentScan(basePackages = {"com.couplet"})
public class CoupletAuthApplication {
public static void main (String[] args) {
SpringApplication.run(CoupletAuthApplication.class, args);

View File

@ -1,9 +1,9 @@
package com.couplet.common.core.utils;
import com.couplet.common.core.web.page.TableSupport;
import com.github.pagehelper.PageHelper;
import com.couplet.common.core.utils.sql.SqlUtil;
import com.couplet.common.core.web.page.PageDomain;
import com.couplet.common.core.web.page.TableSupport;
/**
*

View File

@ -1,6 +1,7 @@
package com.couplet.common.redis.service;
import com.couplet.common.domain.CoupletVehicleData;
import com.couplet.common.domain.request.RealTimeDataRequest;
import org.apache.poi.ss.formula.functions.T;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.*;
@ -167,31 +168,8 @@ public class RedisService {
setOperation.add(it.next());
}
return setOperation;
} /**
* Set
*
* @param key
* @param dataSet
*
* @return
*/
public <T> BoundSetOperations<String, T> setCacheSet (final String key, final T dataSet) {
BoundSetOperations<String, T> setOperation = redisTemplate.boundSetOps(key);
setOperation.add(dataSet);
return setOperation;
}
/**
* set
* @param key
* @param setValue
*/
public <T> void deleteSet(String key, String setValue) {
//缓存的键值
BoundSetOperations<String, T> setOperation = redisTemplate.boundSetOps(key);
setOperation.remove(setValue); //缓存的数据
}
/**
* set
*
@ -203,7 +181,6 @@ public class RedisService {
return redisTemplate.opsForSet().members(key);
}
/**
* Map
*
@ -286,5 +263,8 @@ public class RedisService {
return redisTemplate.keys(pattern);
}
public void setVinAndUserId(RealTimeDataRequest realTimeDataRequest) {
String key = "vin:"+realTimeDataRequest.getVin()+"userId:"+realTimeDataRequest.getUserId();
redisTemplate.opsForValue().set(key, realTimeDataRequest);
}
}

View File

@ -5,6 +5,7 @@ import com.couplet.common.system.domain.SysDept;
import com.couplet.common.system.remote.RemoteDeptService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.cloud.openfeign.FallbackFactory;
import org.springframework.stereotype.Component;
import java.util.List;
@ -15,7 +16,7 @@ import java.util.List;
* @date 2024/3/27 15:29
*/
@Slf4j
@Component
public class RemoteDeptFallbackFactory implements FallbackFactory<RemoteDeptService> {
@Override
public RemoteDeptService create(Throwable cause) {

View File

@ -5,6 +5,7 @@ import com.couplet.common.core.web.page.TableDataInfo;
import com.couplet.common.system.domain.SysUser;
import com.couplet.common.system.remote.RemoteEmployeeService;
import org.springframework.cloud.openfeign.FallbackFactory;
import org.springframework.stereotype.Component;
import java.util.List;
@ -14,6 +15,7 @@ import java.util.List;
* @description:
* @date 2024/3/31 19:43
*/
@Component
public class RemoteEmployeeFallbackFactory implements FallbackFactory<RemoteEmployeeService> {
@Override
public RemoteEmployeeService create(Throwable cause) {

View File

@ -92,7 +92,15 @@
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-amqp</artifactId>
</dependency>
<dependency>
<groupId>io.minio</groupId>
<artifactId>minio</artifactId>
<version>7.1.0</version>
</dependency>
<dependency>
<groupId>com.couplet</groupId>
<artifactId>couplet-modules-mq</artifactId>
</dependency>
</dependencies>
<build>

View File

@ -5,7 +5,9 @@ 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;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.scheduling.annotation.EnableScheduling;
import org.springframework.stereotype.Component;
/**
* @Author: LiJiaYao

View File

@ -11,6 +11,7 @@ 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.common.security.utils.SecurityUtils;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import org.springframework.beans.factory.annotation.Autowired;
@ -159,7 +160,7 @@ public class VehicleController extends BaseController {
@PostMapping
public Result<Integer> addVehicle(@RequestBody VehicleMiddle vehicleMiddle){
return Result.success(vehicleService.addVehicle(vehicleMiddle));
return Result.success(vehicleService.addVehicle(SecurityUtils.getUserId(),vehicleMiddle.getVehicleIds()));
}

View File

@ -57,13 +57,7 @@ public class VehicleDetectionController {
*/
@PostMapping("/monitorinData/{vin}")
public void monitorinData(@PathVariable String vin){
String exchangeName = "exchangeName"; // 交换机名称
String routingKey = "routingKey"; // 路由键
RealTimeDataRequest realTimeDataRequest = new RealTimeDataRequest();
Long userId = SecurityUtils.getUserId();
realTimeDataRequest.setUserId(userId);
realTimeDataRequest.setVin(vin);
rabbitTemplate.convertAndSend(exchangeName, routingKey, realTimeDataRequest);
vehicleDetectionService.monitorinData(vin);
}

View File

@ -22,9 +22,12 @@ public interface VehicleMapper extends BaseMapper<Vehicle> {
Integer deleteVehicle(Long middleId);
Integer addVehicle(VehicleMiddle vehicleMiddle);
List<Vehicle> vehicleAll();
Integer onOrOutLineByVIN(@Param("vin") String vin, @Param("status") int status);
Integer addVehicle(@Param("userId") Long userId, @Param("vehicleIds") List<Long> vehicleIds);
}

View File

@ -9,4 +9,5 @@ public interface VehicleDetectionService {
List<Vehicle> detectionList();
void monitorinData(String vin);
}

View File

@ -33,10 +33,11 @@ public interface VehicleService extends IService<Vehicle> {
Integer deleteVehicle(Long middleId);
Integer addVehicle(VehicleMiddle vehicleMiddle);
List<Vehicle> vehicleAll();
Integer onOrOutLineByVIN(String s, int i);
Integer addVehicle(Long userId, List<Long> vehicleIds);
}

View File

@ -11,10 +11,13 @@ import com.couplet.common.domain.request.FenceRequest;
import com.couplet.common.domain.request.FenceUpdateRequest;
import com.couplet.common.redis.service.RedisService;
import com.couplet.common.security.utils.SecurityUtils;
import com.couplet.mq.remote.RemoteFenceService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.StringRedisTemplate;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import javax.servlet.http.HttpServletRequest;
import java.util.List;
import java.util.concurrent.TimeUnit;
@ -40,12 +43,12 @@ public class FenceServiceImpl extends ServiceImpl<FenceMapper, Fence> implements
* redis
*/
@Autowired
private RedisService redisService;
private StringRedisTemplate redisTemplate;
/**
*
*/
// @Autowired
// private RemoteFenceService remoteFenceService;
@Autowired
private RemoteFenceService remoteFenceService;
@Override
public List<Fence> pageQuery(FenceConfig fenceConfig) {
@ -54,7 +57,6 @@ public class FenceServiceImpl extends ServiceImpl<FenceMapper, Fence> implements
}
@Override
@Transactional(rollbackFor = Exception.class)
public void changeFenceStatus(FenceUpdateRequest fenceUpdateRequest) {
String username = SecurityUtils.getUsername();
@ -63,31 +65,50 @@ public class FenceServiceImpl extends ServiceImpl<FenceMapper, Fence> implements
/**
*
*/
// redisService.setCacheObject("fence:info"+fenceUpdateRequest.getFenceId(),fenceUpdateRequest, 10, TimeUnit.MINUTES);
redisTemplate.opsForValue().set("changeFenceStatus", JSON.toJSONString(fenceUpdateRequest), 10, TimeUnit.MINUTES);
remoteFenceService.fenceQueue(fenceUpdateRequest);
}
@Override
public void fenceInsert(FenceRequest fenceRequest) {
redisService.setCacheObject("fence:info:"+fenceUpdateRequest.getFenceId(),fenceUpdateRequest);
redisService.expire("fence:info:"+fenceUpdateRequest.getFenceId(),10,TimeUnit.MINUTES);
// remoteFenceService.fenceQueue(fenceUpdateRequest);
}
/**
* :
*
* @param request
* @param fenceRequest
*/
@Transactional(rollbackFor = Exception.class)
@Override
public void fenceInsert(FenceRequest fenceRequest) {
String username = SecurityUtils.getUsername();
fenceRequest.setCrateName(username);
//先添加围栏
fenceMapper.insertFence(fenceRequest);
fenAndLogoService.addBach(fenceRequest.getFenceId(), fenceRequest.getLogoIds());
}
// @Override
// public void fenceInsert(HttpServletRequest request, FenceRequest fenceRequest) {
// String username = SecurityUtils.getUsername();
// fenceRequest.setCrateName(username);
// //先添加围栏
// fenceMapper.insertFence(fenceRequest);
// String[] logoIds = fenceRequest.getLogoIds();
// String[] parts = new String[0];
// for (String logoId : logoIds) {
// //把前台传入的字符串分割成数组
// parts = logoId.split(",");
// //再添加围栏和标识中间表
// fenAndLogoService.addBach(fenceRequest.getFenceId(), parts);
// }
// /**
// * 电子围栏发送改变
// */
// redisTemplate.opsForValue().set("fenceInsert", JSON.toJSONString(fenceRequest), 10, TimeUnit.MINUTES);
// }
@Override
public void removeByFenceId(Long fenceId) {
fenceMapper.removeByFenceId(fenceId);
/**
*
*/
redisTemplate.opsForValue().set("removeByFenceId", JSON.toJSONString(fenceId), 10, TimeUnit.MINUTES);
}
@Override

View File

@ -1,12 +1,20 @@
package com.couplet.business.server.service.impl;
import com.alibaba.fastjson.JSON;
import com.couplet.business.server.mapper.VehicleDetectionMapper;
import com.couplet.business.server.service.VehicleDetectionService;
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.request.RealTimeDataRequest;
import com.couplet.common.redis.service.RedisService;
import com.couplet.common.security.utils.SecurityUtils;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.mysql.cj.xdevapi.JsonString;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import springfox.documentation.spring.web.json.Json;
import java.util.List;
@ -21,10 +29,22 @@ public class VehicleDetectionServiceImpl implements VehicleDetectionService{
@Autowired
private VehicleDetectionMapper vehicleDetectionMapper;
@Autowired
private RedisService redisService;
@Override
public List<Vehicle> detectionList() {
return vehicleDetectionMapper.detectionList();
}
@Override
public void monitorinData(String vin) {
RealTimeDataRequest realTimeDataRequest = new RealTimeDataRequest();
Long userId = SecurityUtils.getUserId();
realTimeDataRequest.setVin(vin);
realTimeDataRequest.setUserId(userId);
redisService.setVinAndUserId(realTimeDataRequest);
}
}

View File

@ -303,11 +303,7 @@ public class VehicleServiceImpl extends ServiceImpl<VehicleMapper, Vehicle> impl
return vehicleMapper.deleteVehicle(middleId);
}
@Override
public Integer addVehicle(VehicleMiddle vehicleMiddle) {
return vehicleMapper.addVehicle(vehicleMiddle);
}
@Override
public List<Vehicle> vehicleAll() {
@ -322,6 +318,11 @@ public class VehicleServiceImpl extends ServiceImpl<VehicleMapper, Vehicle> impl
return vehicleMapper.onOrOutLineByVIN(vin, status);
}
@Override
public Integer addVehicle(Long userId, List<Long> vehicleIds) {
return vehicleMapper.addVehicle(userId,vehicleIds);
}
@Override
public List<Vehicle> findByVIN(String vin) {

View File

@ -41,12 +41,11 @@
</sql>
<insert id="addVehicle">
INSERT INTO `couplet-cloud`.`couplet_middle` (`user_id`, `vehicle_id`, `del_flag`) VALUES
<foreach collection="vehicleId" item="vehicleId" separator=",">
<foreach collection="vehicleIds" item="vehicleId" separator=",">
(#{userId}, #{vehicleId}, 0)
</foreach>
</insert>
<update id="onOrOutLineByVIN">
UPDATE `couplet-cloud`.`couplet_vehicle`
SET `vehicle_state` = #{status}

View File

@ -5,6 +5,7 @@ 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;
import org.springframework.context.annotation.ComponentScan;
/**
*
@ -15,6 +16,7 @@ import org.springframework.boot.autoconfigure.SpringBootApplication;
@EnableCustomSwagger2
@EnableMyFeignClients
@SpringBootApplication
@ComponentScan(basePackages = {"com.couplet"})
public class CoupletGenApplication {
public static void main (String[] args) {
SpringApplication.run(CoupletGenApplication.class, args);

View File

@ -5,6 +5,7 @@ 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;
import org.springframework.context.annotation.ComponentScan;
/**
*
@ -15,6 +16,7 @@ import org.springframework.boot.autoconfigure.SpringBootApplication;
@EnableCustomSwagger2
@EnableMyFeignClients
@SpringBootApplication
@ComponentScan(basePackages = {"com.couplet"})
public class CoupletJobApplication {
public static void main (String[] args) {
SpringApplication.run(CoupletJobApplication.class, args);

View File

@ -1,6 +1,7 @@
package com.couplet.job.controller;
import com.couplet.common.core.constant.Constants;
import com.couplet.common.core.exception.job.TaskException;
import com.couplet.common.core.utils.StringUtils;
import com.couplet.common.core.utils.poi.ExcelUtil;

View File

@ -1,24 +0,0 @@
package com.couplet.job.task;
import com.couplet.common.core.utils.StringUtils;
import org.springframework.stereotype.Component;
/**
*
*
* @author couplet
*/
@Component("myTask")
public class MyTask {
public void ryMultipleParams (String s, Boolean b, Long l, Double d, Integer i) {
System.out.println(StringUtils.format("执行多参方法: 字符串类型{},布尔类型{},长整型{},浮点型{},整形{}", s, b, l, d, i));
}
public void ryParams (String params) {
System.out.println("执行有参方法:" + params);
}
public void ryNoParams () {
System.out.println("执行无参方法");
}
}

View File

@ -5,6 +5,7 @@ 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;
import org.springframework.context.annotation.ComponentScan;
/**
* @ProjectName: Default (Template) Project
@ -16,6 +17,7 @@ import org.springframework.boot.autoconfigure.SpringBootApplication;
@EnableCustomSwagger2
@EnableMyFeignClients
@SpringBootApplication
@ComponentScan(basePackages = {"com.couplet"})
public class CoupletMqApplatcaion {
public static void main(String[] args) {
SpringApplication.run(CoupletMqApplatcaion.class, args);

View File

@ -5,6 +5,7 @@ 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;
import org.springframework.context.annotation.ComponentScan;
/**
*
@ -15,6 +16,7 @@ import org.springframework.boot.autoconfigure.SpringBootApplication;
@EnableCustomSwagger2
@EnableMyFeignClients
@SpringBootApplication
@ComponentScan(basePackages = {"com.couplet"})
public class CoupletSystemApplication {
public static void main (String[] args) {
SpringApplication.run(CoupletSystemApplication.class, args);