feat(新增实时数据查询)

master
031026 2024-06-17 22:29:52 +08:00
commit daea9d9dc8
12 changed files with 331 additions and 0 deletions

View File

@ -9,6 +9,7 @@ import com.muyu.common.log.annotation.Log;
import com.muyu.common.log.enums.BusinessType; import com.muyu.common.log.enums.BusinessType;
import com.muyu.common.security.annotation.RequiresPermissions; import com.muyu.common.security.annotation.RequiresPermissions;
import com.muyu.domain.AddService; import com.muyu.domain.AddService;
import com.muyu.many.domain.MessageData;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
@ -95,4 +96,6 @@ public class AddServiceController extends BaseController
{ {
return toAjax(addServiceService.deleteAddServiceByIds(ids)); return toAjax(addServiceService.deleteAddServiceByIds(ids));
} }
} }

View File

@ -5,6 +5,7 @@ import javax.servlet.http.HttpServletResponse;
import com.muyu.authentication.service.IEnterpriseService; import com.muyu.authentication.service.IEnterpriseService;
import com.muyu.domain.vo.EnterpriseReq; import com.muyu.domain.vo.EnterpriseReq;
import com.muyu.many.domain.MessageData;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import com.muyu.common.log.annotation.Log; import com.muyu.common.log.annotation.Log;
@ -125,4 +126,11 @@ public class EnterpriseController extends BaseController
enterpriseService.list() enterpriseService.list()
); );
} }
@GetMapping("/redisList/{vin}")
public Result<MessageData> redisList(@PathVariable String vin){
return Result.success(
enterpriseService.redisList(vin)
);
}
} }

View File

@ -1,6 +1,7 @@
package com.muyu.authentication.service; package com.muyu.authentication.service;
import com.muyu.domain.AddService; import com.muyu.domain.AddService;
import com.muyu.many.domain.MessageData;
import java.util.List; import java.util.List;
@ -59,4 +60,5 @@ public interface IAddServiceService
* @return * @return
*/ */
public int deleteAddServiceById(Long id); public int deleteAddServiceById(Long id);
} }

View File

@ -5,6 +5,7 @@ import java.util.List;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
import com.muyu.domain.Enterprise; import com.muyu.domain.Enterprise;
import com.muyu.domain.vo.EnterpriseReq; import com.muyu.domain.vo.EnterpriseReq;
import com.muyu.many.domain.MessageData;
/** /**
* Service * Service
@ -68,4 +69,5 @@ public interface IEnterpriseService extends IService<Enterprise>
String enterpriseUpdateId(Long id); String enterpriseUpdateId(Long id);
MessageData redisList(String vin);
} }

View File

@ -1,10 +1,13 @@
package com.muyu.authentication.service.impl; package com.muyu.authentication.service.impl;
import com.alibaba.fastjson.JSON;
import com.muyu.authentication.mapper.AddServiceMapper; import com.muyu.authentication.mapper.AddServiceMapper;
import com.muyu.authentication.service.IAddServiceService; import com.muyu.authentication.service.IAddServiceService;
import com.muyu.common.core.utils.DateUtils; import com.muyu.common.core.utils.DateUtils;
import com.muyu.domain.AddService; import com.muyu.domain.AddService;
import com.muyu.many.domain.MessageData;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.StringRedisTemplate;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.util.List; import java.util.List;
@ -93,4 +96,8 @@ public class AddServiceServiceImpl implements IAddServiceService
{ {
return addServiceMapper.deleteAddServiceById(id); return addServiceMapper.deleteAddServiceById(id);
} }
@Autowired
private StringRedisTemplate redisTemplate;
} }

View File

@ -18,10 +18,12 @@ import com.muyu.common.core.utils.DateUtils;
import com.muyu.common.system.domain.SysUser; import com.muyu.common.system.domain.SysUser;
import com.muyu.common.system.remote.RemoteUserService; import com.muyu.common.system.remote.RemoteUserService;
import com.muyu.domain.vo.EnterpriseReq; import com.muyu.domain.vo.EnterpriseReq;
import com.muyu.many.domain.MessageData;
import lombok.extern.log4j.Log4j2; import lombok.extern.log4j.Log4j2;
import org.springframework.amqp.rabbit.core.RabbitTemplate; import org.springframework.amqp.rabbit.core.RabbitTemplate;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Bean;
import org.springframework.data.redis.core.StringRedisTemplate;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import com.muyu.domain.Enterprise; import com.muyu.domain.Enterprise;
import com.muyu.authentication.service.IEnterpriseService; import com.muyu.authentication.service.IEnterpriseService;
@ -236,4 +238,13 @@ public class EnterpriseServiceImpl extends ServiceImpl<EnterpriseMapper,Enterpri
} }
} }
@Autowired
private StringRedisTemplate redisTemplate;
@Override
public MessageData redisList(String vin) {
String index = redisTemplate.opsForList().index(vin, -1);
return JSON.parseObject(index, MessageData.class);
}
} }

View File

@ -0,0 +1,209 @@
package com.muyu.many.domain;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.SuperBuilder;
/**
* MessageData
*
* @author Yangle
* Date 2024/6/7 17:15
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
@SuperBuilder
public class MessageData {
/**
*vin
*/
private String vin;
/**
*
*/
private String timestamp;
/**
*
*/
private String longitude;
/**
*
*/
private String latitude;
/**
*
*/
private String speed;
/**
*
*/
private String mileage;
/**
*
*/
private String dischargeVoltage;
/**
*
*/
private String dischargeCurrent;
/**
*
*/
private String insulationResistance;
/**
*
*/
private String gear;
/**
*
*/
private String accelerationPedal;
/**
*
*/
private String brakePedal;
/**
*
*/
private String fuelConsumption;
/**
*
*/
private String motorControllerTemperature;
/**
*
*/
private String motorSpeed;
/**
*
*/
private String motorTorque;
/**
*
*/
private String motorTemperature;
/**
*
*/
private String motorVoltage;
/**
*
*/
private String motorCurrent;
/**
*SOC
*/
private String powerBattery;
/**
*
*/
private String maxFeedbackPower;
/**
*
*/
private String maxDischargePower;
/**
*BMS
*/
private String bmsSelfCheck;
/**
*
*/
private String powerBatteryCurrent;
/**
*V3
*/
private String powerBatteryV3;
/**
*
*/
private String maxVoltage;
/**
*
*/
private String minVoltage;
/**
*
*/
private String maxTemperature;
/**
*
*/
private String minTemperature;
/**
*
*/
private String availableCapacity;
/**
*
*/
private String vehicleStatus;
/**
*
*/
private String chargeStatus;
/**
*
*/
private String runStatus;
/**
*SOC
*/
private String soc;
/**
*
*/
private String chargeWorkStatus;
/**
*
*/
private String driveMotorStatus;
/**
*
*/
private String location;
/**
*EAS
*/
private String eas;
/**
*PTC
*/
private String ptc;
/**
*EPS
*/
private String eps;
/**
*ABS
*/
private String abs;
/**
*MCU
*/
private String mcu;
/**
*
*/
private String powerBatteryHeating;
/**
*
*/
private String powerBatteryCurrentStatus;
/**
*
*/
private String powerBatteryHeat;
/**
*DCDC
*/
private String dcdc;
/**
*CHG
*/
private String chg;
}

View File

@ -0,0 +1,25 @@
package com.muyu.many.domain.vo;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.SuperBuilder;
import java.util.List;
/**
*
*
* @ClassName FenceReq
* @Author AnNan.Wang
* @Date 2024/6/18 10:36
*/
@Data
@SuperBuilder
@NoArgsConstructor
@AllArgsConstructor
public class FenceReq {
private Long id;
private List<Locations> locationsList;
}

View File

@ -0,0 +1,25 @@
package com.muyu.many.domain.vo;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.SuperBuilder;
/**
*
*
* @ClassName Locations
* @Author AnNan.Wang
* @Date 2024/6/18 10:55
*/
@Data
@SuperBuilder
@NoArgsConstructor
@AllArgsConstructor
public class Locations {
private String Q;
private String R;
private String lat;
private String lng;
}

View File

@ -8,10 +8,14 @@ import com.muyu.clw.common.many.datasource.holder.DynamicDataSourceHolder;
import com.muyu.common.core.utils.poi.ExcelUtil; import com.muyu.common.core.utils.poi.ExcelUtil;
import com.muyu.common.core.web.page.TableDataInfo; import com.muyu.common.core.web.page.TableDataInfo;
import com.muyu.many.domain.Fence; import com.muyu.many.domain.Fence;
import com.muyu.many.domain.MessageData;
import com.muyu.many.domain.req.FenceEditReq; import com.muyu.many.domain.req.FenceEditReq;
import com.muyu.many.domain.req.FenceQueryReq; import com.muyu.many.domain.req.FenceQueryReq;
import com.muyu.many.domain.req.FenceSaveReq; import com.muyu.many.domain.req.FenceSaveReq;
import com.muyu.many.domain.vo.FenceReq;
import com.muyu.many.domain.vo.Locations;
import io.swagger.annotations.*; import io.swagger.annotations.*;
import lombok.extern.log4j.Log4j2;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import com.muyu.common.core.domain.Result; import com.muyu.common.core.domain.Result;
@ -29,6 +33,7 @@ import com.muyu.common.log.enums.BusinessType;
@Api(tags = "电子围栏") @Api(tags = "电子围栏")
@RestController @RestController
@RequestMapping("/fence") @RequestMapping("/fence")
@Log4j2
public class FenceController extends BaseController { public class FenceController extends BaseController {
@Autowired @Autowired
private FenceService fenceService; private FenceService fenceService;
@ -106,4 +111,10 @@ public class FenceController extends BaseController {
DynamicDataSourceHolder.removeDynamicDataSourceKey(); DynamicDataSourceHolder.removeDynamicDataSourceKey();
return toAjax(b); return toAjax(b);
} }
@PostMapping("/IdAdd")
public Result<String> IdAdd(@RequestBody FenceReq fenceReq){
log.info(fenceReq);
return fenceService.IdAdd(fenceReq);
}
} }

View File

@ -1,7 +1,11 @@
package com.muyu.authentication.service; package com.muyu.authentication.service;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
import com.muyu.common.core.domain.Result;
import com.muyu.many.domain.Fence; import com.muyu.many.domain.Fence;
import com.muyu.many.domain.MessageData;
import com.muyu.many.domain.vo.FenceReq;
import com.muyu.many.domain.vo.Locations;
import java.util.List; import java.util.List;
@ -20,4 +24,8 @@ public interface FenceService extends IService<Fence> {
*/ */
public List<Fence> list(Fence fence); public List<Fence> list(Fence fence);
Result<String> IdAdd(FenceReq fenceReq);
} }

View File

@ -1,14 +1,22 @@
package com.muyu.authentication.service.impl; package com.muyu.authentication.service.impl;
import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.muyu.authentication.mapper.FenceMapper; import com.muyu.authentication.mapper.FenceMapper;
import com.muyu.authentication.service.FenceService; import com.muyu.authentication.service.FenceService;
import com.muyu.clw.common.many.datasource.holder.DynamicDataSourceHolder; import com.muyu.clw.common.many.datasource.holder.DynamicDataSourceHolder;
import com.muyu.common.core.domain.Result;
import com.muyu.common.core.utils.ObjUtils; import com.muyu.common.core.utils.ObjUtils;
import com.muyu.many.domain.Fence; import com.muyu.many.domain.Fence;
import com.muyu.many.domain.MessageData;
import com.muyu.many.domain.vo.FenceReq;
import com.muyu.many.domain.vo.Locations;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.ListOperations;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.data.redis.core.StringRedisTemplate;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.util.List; import java.util.List;
@ -70,4 +78,16 @@ public class FenceServiceImpl extends ServiceImpl<FenceMapper, Fence> implements
return list(queryWrapper); return list(queryWrapper);
} }
@Override
public Result<String> IdAdd(FenceReq fenceReq) {
boolean b = this.updateById(
Fence.builder()
.id(fenceReq.getId())
.longitudeAndLatitude(String.valueOf(fenceReq.getLocationsList()))
.build()
);
return Result.success(b ? "修改成功" : "修改失败");
}
} }