Lihong@123456 5 years ago
parent
commit
4e363922ae
  1. 5
      util/src/main/java/com/ccsens/util/config/RabbitMQConfig.java
  2. 19
      wisdomcar/src/main/java/com/ccsens/wisdomcar/api/DebugController.java
  3. 22
      wisdomcar/src/main/java/com/ccsens/wisdomcar/api/StatisticsController.java
  4. 2
      wisdomcar/src/main/java/com/ccsens/wisdomcar/bean/dto/Message/CarRecordMessageDto.java
  5. 20
      wisdomcar/src/main/java/com/ccsens/wisdomcar/bean/dto/StatisticsDto.java
  6. 20
      wisdomcar/src/main/java/com/ccsens/wisdomcar/bean/vo/StatisticsVo.java
  7. 10
      wisdomcar/src/main/java/com/ccsens/wisdomcar/rabbitMQ/RabbitController.java
  8. 4
      wisdomcar/src/main/java/com/ccsens/wisdomcar/service/IRecordService.java
  9. 13
      wisdomcar/src/main/java/com/ccsens/wisdomcar/service/IStatisticsService.java
  10. 268
      wisdomcar/src/main/java/com/ccsens/wisdomcar/service/RecordService.java
  11. 18
      wisdomcar/src/main/java/com/ccsens/wisdomcar/service/StatisticsService.java
  12. 30
      wisdomcar/src/main/java/com/ccsens/wisdomcar/util/Constant.java

5
util/src/main/java/com/ccsens/util/config/RabbitMQConfig.java

@ -53,6 +53,11 @@ public class RabbitMQConfig {
return new Queue(GAME_SCORE);
}
@Bean
public Queue wisdom_car(){
return new Queue(WISDOM_CAR);
}
// @Bean
// public Queue queueGame(){
// return new Queue(GAME_MQ_A);

19
wisdomcar/src/main/java/com/ccsens/wisdomcar/api/DebugController.java

@ -1,14 +1,22 @@
package com.ccsens.wisdomcar.api;
import com.ccsens.util.JsonResponse;
import com.ccsens.util.bean.dto.QueryDto;
import com.ccsens.wisdomcar.bean.dto.Message.CarRecordMessageDto;
import com.ccsens.wisdomcar.bean.dto.StatisticsDto;
import com.ccsens.wisdomcar.service.IRecordService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import lombok.extern.slf4j.Slf4j;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
@Api(tags = "DEBUG" , description = "DebugController | ")
@ -16,6 +24,8 @@ import javax.servlet.http.HttpServletRequest;
@RequestMapping("/debug")
@Slf4j
public class DebugController {
@Resource
private IRecordService recordService;
@ApiOperation(value = "/测试",notes = "")
@ApiImplicitParams({
@ -26,4 +36,13 @@ public class DebugController {
return JsonResponse.newInstance().ok("测试");
}
@ApiOperation(value = "/测试消息接收存放",notes = "")
@ApiImplicitParams({
})
@RequestMapping(value="/record",method = RequestMethod.POST,produces = {"application/json;charset=UTF-8"})
public JsonResponse record(@ApiParam @Validated @RequestBody QueryDto<CarRecordMessageDto> params) throws Exception {
recordService.disposeMessage(params.getParam());
return JsonResponse.newInstance().ok("测试");
}
}

22
wisdomcar/src/main/java/com/ccsens/wisdomcar/api/StatisticsController.java

@ -1,10 +1,22 @@
package com.ccsens.wisdomcar.api;
import com.ccsens.util.JsonResponse;
import com.ccsens.util.bean.dto.QueryDto;
import com.ccsens.wisdomcar.bean.dto.StatisticsDto;
import com.ccsens.wisdomcar.bean.vo.StatisticsVo;
import com.ccsens.wisdomcar.service.IStatisticsService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import lombok.extern.slf4j.Slf4j;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource;
/**
* @author
*/
@ -13,5 +25,15 @@ import org.springframework.web.bind.annotation.RestController;
@RestController
@RequestMapping("/statistics")
public class StatisticsController {
@Resource
private IStatisticsService statisticsService;
@ApiOperation(value = "查看测评结果", notes = "")
@RequestMapping(value = "/get/result", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"})
public JsonResponse<StatisticsVo.FastEdResult> getResult(@ApiParam @Validated @RequestBody QueryDto<StatisticsDto.Hospital> params) {
log.info("查看测评结果:{}",params);
StatisticsVo.FastEdResult fastEdResult = statisticsService.getResult(params.getParam());
log.info("查看测评结果");
return JsonResponse.newInstance().ok(fastEdResult);
}
}

2
wisdomcar/src/main/java/com/ccsens/wisdomcar/bean/dto/Message/CarRecordMessageDto.java

@ -12,7 +12,7 @@ public class CarRecordMessageDto {
*/
private String carNumber;
/**
* 类型 0开始 1体重 2剂量 3rfid
* 类型 0开始 1体重 2rfid, 3称重一 4称重二 5称重三 6称重四 7震动 8剂量
*/
private byte type;
/**

20
wisdomcar/src/main/java/com/ccsens/wisdomcar/bean/dto/StatisticsDto.java

@ -0,0 +1,20 @@
package com.ccsens.wisdomcar.bean.dto;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @author
*/
@Data
public class StatisticsDto {
@Data
@ApiModel("医院id")
public static class Hospital{
@ApiModelProperty("医院id")
private Long id;
}
}

20
wisdomcar/src/main/java/com/ccsens/wisdomcar/bean/vo/StatisticsVo.java

@ -0,0 +1,20 @@
package com.ccsens.wisdomcar.bean.vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @author
*/
@Data
public class StatisticsVo {
@Data
@ApiModel("医院id")
public static class FastEdResult{
@ApiModelProperty("医院id")
private Long id;
}
}

10
wisdomcar/src/main/java/com/ccsens/wisdomcar/rabbitMQ/RabbitController.java

@ -9,6 +9,7 @@ import com.ccsens.util.config.RabbitMQConfig;
import com.ccsens.wisdomcar.bean.dto.Message.CarRecordMessageDto;
import com.ccsens.wisdomcar.service.IRecordService;
import com.ccsens.wisdomcar.service.RecordService;
import lombok.extern.slf4j.Slf4j;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.amqp.rabbit.annotation.RabbitHandler;
@ -19,7 +20,7 @@ import javax.annotation.Resource;
import java.util.List;
import java.util.Set;
@Slf4j
@Component
@RabbitListener(queues = RabbitMQConfig.WISDOM_CAR)
public class RabbitController {
@ -44,7 +45,12 @@ public class RabbitController {
if(ObjectUtil.isNull(carRecordMessageDto)){
return;
}
recordService.disposeMessage(carRecordMessageDto);
try {
recordService.disposeMessage(carRecordMessageDto);
} catch (Exception e) {
log.error("处理平车信息异常",e);
e.printStackTrace();
}
});
}

4
wisdomcar/src/main/java/com/ccsens/wisdomcar/service/IRecordService.java

@ -4,9 +4,11 @@ import com.ccsens.wisdomcar.bean.dto.Message.CarRecordMessageDto;
import com.fasterxml.jackson.core.JsonProcessingException;
public interface IRecordService {
/**
* 后台接受消息并处理
* @param carRecordMessageDto 接收到的消息
* @throws Exception
*/
void disposeMessage(CarRecordMessageDto carRecordMessageDto) throws JsonProcessingException, Exception;
void disposeMessage(CarRecordMessageDto carRecordMessageDto) throws Exception;
}

13
wisdomcar/src/main/java/com/ccsens/wisdomcar/service/IStatisticsService.java

@ -0,0 +1,13 @@
package com.ccsens.wisdomcar.service;
import com.ccsens.wisdomcar.bean.dto.StatisticsDto;
import com.ccsens.wisdomcar.bean.vo.StatisticsVo;
public interface IStatisticsService {
/**
* 查看FAST ED结果
* @param param
* @return
*/
StatisticsVo.FastEdResult getResult(StatisticsDto.Hospital param);
}

268
wisdomcar/src/main/java/com/ccsens/wisdomcar/service/RecordService.java

@ -1,27 +1,29 @@
package com.ccsens.wisdomcar.service;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.lang.Snowflake;
import cn.hutool.core.util.ObjectUtil;
import com.ccsens.util.JacksonUtil;
import com.ccsens.util.RedisUtil;
import com.ccsens.util.bean.message.common.InMessage;
import com.ccsens.util.bean.message.common.MessageConstant;
import com.ccsens.util.bean.message.common.MessageRule;
import com.ccsens.wisdomcar.bean.dto.Message.CarRecordMessageDto;
import com.ccsens.wisdomcar.bean.po.*;
import com.ccsens.wisdomcar.bean.vo.Message.CarRecordMessageVo;
import com.ccsens.wisdomcar.persist.mapper.FirstAidMapper;
import com.ccsens.wisdomcar.persist.mapper.FirstAidRecordMapper;
import com.ccsens.wisdomcar.persist.mapper.WisdomCarMapper;
import com.ccsens.wisdomcar.persist.mapper.WisdomCarRecordMapper;
import com.ccsens.wisdomcar.persist.mapper.*;
import com.ccsens.wisdomcar.util.Constant;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Propagation;
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import java.math.BigDecimal;
import java.util.HashSet;
import java.util.List;
import java.util.Random;
import java.util.Set;
/**
@ -43,6 +45,10 @@ public class RecordService implements IRecordService{
private Snowflake snowflake;
@Resource
private IMessageService messageService;
@Resource
private ScreenMapper screenMapper;
@Resource
private RedisUtil redisUtil;
@Override
public void disposeMessage(CarRecordMessageDto carRecordMessageDto) throws Exception {
@ -68,98 +74,206 @@ public class RecordService implements IRecordService{
wisdomCarRecord.setValue(carRecordMessageDto.getValue());
wisdomCarRecord.setTime(carRecordMessageDto.getTime());
wisdomCarRecordMapper.insertSelective(wisdomCarRecord);
// 发送的消息
CarRecordMessageVo carRecordMessageVo = new CarRecordMessageVo(carRecordMessageDto.getCarNumber(),carRecordMessageDto.getType(),carRecordMessageDto.getValue(),carRecordMessageDto.getTime());
//添加接收者
//查找医院大屏的userId(暂时查找主屏幕)
Set<String> userIdSet = new HashSet<>();
userIdSet.add("123456");
ScreenExample screenExample = new ScreenExample();
screenExample.createCriteria().andHospitalIdEqualTo(0L).andShowTypeEqualTo((byte) 0);
List<Screen> screenList = screenMapper.selectByExample(screenExample);
if(CollectionUtil.isNotEmpty(screenList)){
screenList.forEach(screen -> userIdSet.add(screen.getUserId().toString()));
}
//发送消息
sendRecordMessage(carRecordMessageDto,userIdSet);
//如果是称重信息,制造测试数据发送大屏
String dosage = "";
if(carRecordMessageDto.getType() == Constant.CAR_RECORD_WEIGHT){
dosage = doseAndSensorMessage(carRecordMessageDto, userIdSet);
}
//新建急救表存储信息
saveAidRecord(carRecordMessageDto, wisdomCar.getId(),dosage);
}
private String doseAndSensorMessage(CarRecordMessageDto carRecordMessageDto, Set<String> userIdSet) throws Exception {
//体重 单位g
int weightInt = Integer.parseInt(carRecordMessageDto.getValue());
/*剂量数据*/
//计算剂量信息 总剂量 = 重量 * 0.9,团注剂量=总剂量*10%,维持剂量=总剂量*90%,均保留两位小数(重量为kg,消息发送的重量为g,需处理)
String dosage;
BigDecimal weight = BigDecimal.valueOf(weightInt).divide(BigDecimal.valueOf(1000),2,BigDecimal.ROUND_HALF_UP);
//总剂量
BigDecimal totalDose = weight.divide(BigDecimal.valueOf(0.9),2,BigDecimal.ROUND_HALF_UP);
//团注剂量
BigDecimal dose1 = totalDose.divide(BigDecimal.valueOf(0.1),2,BigDecimal.ROUND_HALF_UP);
//维持剂量
BigDecimal dose2 = totalDose.subtract(dose1);
dosage = totalDose + "," + dose1 + "," + dose2;
//发送消息
CarRecordMessageDto dosageRecord = new CarRecordMessageDto();
BeanUtil.copyProperties(carRecordMessageDto,dosageRecord);
dosageRecord.setType(Constant.CAR_RECORD_DOSAGE);
dosageRecord.setValue(dosage);
//发送消息
sendRecordMessage(dosageRecord,userIdSet);
/*称重传感器数据*/
//获取一个5000以内的平均数
Random random = new Random();
int randomWeight = random.nextInt(5000);
//体重除以4
int aveWeight = weightInt / 4;
int sensor1 = aveWeight - randomWeight;
int sensor2 = aveWeight + randomWeight;
int sensor3 = aveWeight - randomWeight;
int sensor4 = weightInt - sensor1 - sensor2 - sensor3;
//第一个传感器
CarRecordMessageDto sensorMessage1 = new CarRecordMessageDto();
BeanUtil.copyProperties(carRecordMessageDto,sensor1);
sensorMessage1.setType(Constant.WEIGHT_SENSOR_1);
sensorMessage1.setValue(sensor1 + "");
//发送消息
sendRecordMessage(sensorMessage1,userIdSet);
//第二个传感器
CarRecordMessageDto sensorMessage2 = new CarRecordMessageDto();
BeanUtil.copyProperties(carRecordMessageDto,sensor1);
sensorMessage2.setType(Constant.WEIGHT_SENSOR_2);
sensorMessage2.setValue(sensor2 + "");
//发送消息
sendRecordMessage(sensorMessage2,userIdSet);
//第三个传感器
CarRecordMessageDto sensorMessage3 = new CarRecordMessageDto();
BeanUtil.copyProperties(carRecordMessageDto,sensor1);
sensorMessage3.setType(Constant.WEIGHT_SENSOR_3);
sensorMessage3.setValue(sensor3 + "");
//发送消息
sendRecordMessage(sensorMessage3,userIdSet);
//第四个传感器
CarRecordMessageDto sensorMessage4 = new CarRecordMessageDto();
BeanUtil.copyProperties(carRecordMessageDto,sensor1);
sensorMessage4.setType(Constant.WEIGHT_SENSOR_4);
sensorMessage4.setValue(sensor4 + "");
//发送消息
sendRecordMessage(sensorMessage4,userIdSet);
/*震动传感器数据*/
//随机生成坐标
int shakeX = random.nextInt(65535);
int shakeY = random.nextInt(65535);
int shakeZ = random.nextInt(65535);
//第四个传感器
CarRecordMessageDto shakeMessage = new CarRecordMessageDto();
BeanUtil.copyProperties(carRecordMessageDto,sensor1);
shakeMessage.setType(Constant.WEIGHT_SENSOR_4);
shakeMessage.setValue(shakeX + "," + shakeY + "," + shakeZ);
//发送消息
sendRecordMessage(shakeMessage,userIdSet);
return dosage;
}
/**
* 发送消息
*/
private void sendRecordMessage(CarRecordMessageDto carRecordMessageDto,Set<String> userIdSet) throws Exception {
CarRecordMessageVo carRecordMessageVo = new CarRecordMessageVo(carRecordMessageDto.getCarNumber(),carRecordMessageDto.getType(),carRecordMessageDto.getValue(),carRecordMessageDto.getTime());
MessageRule messageRule = MessageRule.defaultRule(MessageConstant.DomainType.User);
String s = JacksonUtil.beanToJson(carRecordMessageVo);
InMessage inMessage = InMessage.newToUserMessage(null,userIdSet,null,messageRule,s);
//发送消息
messageService.sendToCarRecord(inMessage);
//TODO 如果是称重信息,制造测试数据发送大屏
//新建急救表存储信息
saveAidRecord(carRecordMessageDto, wisdomCar.getId());
}
private void saveAidRecord(CarRecordMessageDto carRecordMessageDto, Long wisdomCarId) {
// 如果是开始信息,新建一条急救表数据( TODO redis)
if(carRecordMessageDto.getType() == 0){
//TODO 结束该平车的上一个急救信息
FirstAidExample firstAidExample = new FirstAidExample();
firstAidExample.createCriteria().andCarIdEqualTo(wisdomCarId).andBegintimeNotEqualTo(0L).andEndtimeEqualTo(0L);
List<FirstAid> firstAidList = firstAidMapper.selectByExample(firstAidExample);
// if(CollectionUtil.isNotEmpty())
/**
* 添加急救信息和急救记录信息
*/
private void saveAidRecord(CarRecordMessageDto carRecordMessageDto, Long wisdomCarId,String dosage) {
// 如果是开始信息,新建一条急救表数据
String key = Constant.FIRST_AID + wisdomCarId;
if(carRecordMessageDto.getType() == Constant.CAR_RECORD_START){
//新建急救信息
FirstAid firstAid = new FirstAid();
firstAid.setId(snowflake.nextId());
firstAid.setCarId(wisdomCarId);
firstAid.setBegintime(carRecordMessageDto.getTime());
firstAid.setBeginTime(carRecordMessageDto.getTime());
//存入数据库
firstAidMapper.insertSelective(firstAid);
//存入redis
String key = "";
}else {
// 否则去添加急救流程信息(TODO redis)
//急救表id 通过平车id查找
redisUtil.set(key,firstAid.getId(),Constant.FIRST_AID_REDIS_TIME);
return;
}
//redis查询急救表
Long firstAidId = null;
Object o = redisUtil.get(key);
if(ObjectUtil.isNotNull(o)){
FirstAidExample firstAidExample = new FirstAidExample();
firstAidExample.createCriteria().andCarIdEqualTo(wisdomCarId);
List<FirstAid> firstAids = firstAidMapper.selectByExample(firstAidExample);
if(CollectionUtil.isNotEmpty(firstAids)){
FirstAid firstAid = firstAids.get(0);
//查找该环节是否已经存储信息
if(carRecordMessageDto.getType() == 3){
//rfid需要判断类型和value的值(rfid)是否相同
FirstAidRecordExample aidRecordExample = new FirstAidRecordExample();
aidRecordExample.createCriteria().andTypeEqualTo(carRecordMessageDto.getType()).andValueEqualTo(carRecordMessageDto.getValue());
if(firstAidRecordMapper.countByExample(aidRecordExample) <= 0){
//没有数据则添加
FirstAidRecord aidRecord = new FirstAidRecord();
aidRecord.setId(snowflake.nextId());
aidRecord.setFirstAidId(firstAid.getId());
aidRecord.setValue(carRecordMessageDto.getValue());
aidRecord.setBegintime(carRecordMessageDto.getTime());
aidRecord.setType(carRecordMessageDto.getType());
firstAidRecordMapper.insertSelective(aidRecord);
//修改之前的所有没有结束时间的环节
FirstAidRecordExample recordExample = new FirstAidRecordExample();
recordExample.createCriteria().andBegintimeNotEqualTo(0L).andEndtimeEqualTo(0L);
List<FirstAidRecord> firstAidRecordList = firstAidRecordMapper.selectByExample(recordExample);
if(CollectionUtil.isNotEmpty(firstAidRecordList)){
firstAidRecordList.forEach(firstAidRecord -> {
firstAidRecord.setEndtime(carRecordMessageDto.getTime());
firstAidRecordMapper.updateByPrimaryKeySelective(firstAidRecord);
});
}
}
}else {
//其他类型只需要判断类型是否相同
FirstAidRecordExample aidRecordExample = new FirstAidRecordExample();
aidRecordExample.createCriteria().andTypeEqualTo(carRecordMessageDto.getType());
if(firstAidRecordMapper.countByExample(aidRecordExample) <= 0){
//没有数据则添加
FirstAidRecord aidRecord = new FirstAidRecord();
aidRecord.setId(snowflake.nextId());
aidRecord.setFirstAidId(firstAid.getId());
aidRecord.setValue(carRecordMessageDto.getValue());
aidRecord.setBegintime(carRecordMessageDto.getTime());
aidRecord.setType(carRecordMessageDto.getType());
firstAidRecordMapper.insertSelective(aidRecord);
//修改之前的所有没有结束时间的环节
FirstAidRecordExample recordExample = new FirstAidRecordExample();
recordExample.createCriteria().andBegintimeNotEqualTo(0L).andEndtimeEqualTo(0L);
List<FirstAidRecord> firstAidRecordList = firstAidRecordMapper.selectByExample(recordExample);
if(CollectionUtil.isNotEmpty(firstAidRecordList)){
firstAidRecordList.forEach(firstAidRecord -> {
firstAidRecord.setEndtime(carRecordMessageDto.getTime());
firstAidRecordMapper.updateByPrimaryKeySelective(firstAidRecord);
});
}
}
}
if(CollectionUtil.isNotEmpty(firstAids)) {
firstAidId = firstAids.get(0).getId();
}
}else {
firstAidId = (Long) o;
}
if(firstAidId == null){
return;
}
//如果是称重信息
if(carRecordMessageDto.getType() == Constant.CAR_RECORD_WEIGHT){
String weightKey = Constant.FIRST_AID + firstAidId + "_" + Constant.CAR_RECORD_WEIGHT;
Object weightRedis = redisUtil.get(weightKey);
if(ObjectUtil.isNotNull(weightRedis)){
return;
}
FirstAidRecordExample aidRecordExample = new FirstAidRecordExample();
aidRecordExample.createCriteria().andTypeEqualTo(carRecordMessageDto.getType()).andFirstAidIdEqualTo(firstAidId);
if(firstAidRecordMapper.countByExample(aidRecordExample) > 0){
return;
}
//没有数据则添加
FirstAidRecord aidRecord = new FirstAidRecord();
aidRecord.setId(snowflake.nextId());
aidRecord.setFirstAidId(firstAidId);
aidRecord.setValue(carRecordMessageDto.getValue());
aidRecord.setBeginTime(carRecordMessageDto.getTime());
aidRecord.setType(carRecordMessageDto.getType());
firstAidRecordMapper.insertSelective(aidRecord);
//添加redis
redisUtil.set(weightKey,aidRecord.getId(),Constant.FIRST_AID_REDIS_TIME);
//添加剂量信息
FirstAidRecord dosageRecord = new FirstAidRecord();
dosageRecord.setId(snowflake.nextId());
dosageRecord.setFirstAidId(firstAidId);
dosageRecord.setValue(dosage);
dosageRecord.setType(Constant.SHAKE_SENSOR);
dosageRecord.setBeginTime(carRecordMessageDto.getTime());
firstAidRecordMapper.insertSelective(dosageRecord);
}
//如果是rfid信息
if(carRecordMessageDto.getType() == Constant.CAR_RECORD_RFID){
String reidKey = Constant.FIRST_AID + firstAidId + "_" + Constant.CAR_RECORD_RFID + "_" + carRecordMessageDto.getValue();
Object weightRedis = redisUtil.get(reidKey);
if(ObjectUtil.isNotNull(weightRedis)){
return;
}
FirstAidRecordExample aidRecordExample = new FirstAidRecordExample();
aidRecordExample.createCriteria().andFirstAidIdEqualTo(firstAidId)
.andTypeEqualTo(carRecordMessageDto.getType()).andValueEqualTo(carRecordMessageDto.getValue());
if(firstAidRecordMapper.countByExample(aidRecordExample) > 0){
return;
}
//没有数据则添加
FirstAidRecord aidRecord = new FirstAidRecord();
aidRecord.setId(snowflake.nextId());
aidRecord.setValue(carRecordMessageDto.getValue());
aidRecord.setFirstAidId(firstAidId);
aidRecord.setBeginTime(carRecordMessageDto.getTime());
aidRecord.setType(carRecordMessageDto.getType());
firstAidRecordMapper.insertSelective(aidRecord);
//添加redis
redisUtil.set(reidKey,aidRecord.getId(),Constant.FIRST_AID_REDIS_TIME);
}
}
}

18
wisdomcar/src/main/java/com/ccsens/wisdomcar/service/StatisticsService.java

@ -0,0 +1,18 @@
package com.ccsens.wisdomcar.service;
import com.ccsens.wisdomcar.bean.dto.StatisticsDto;
import com.ccsens.wisdomcar.bean.vo.StatisticsVo;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Propagation;
import org.springframework.transaction.annotation.Transactional;
@Slf4j
@Service
@Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class)
public class StatisticsService implements IStatisticsService{
@Override
public StatisticsVo.FastEdResult getResult(StatisticsDto.Hospital param) {
return null;
}
}

30
wisdomcar/src/main/java/com/ccsens/wisdomcar/util/Constant.java

@ -1,14 +1,36 @@
package com.ccsens.wisdomcar.util;
/**
* @description:
* @author: whj
* @time: 2020/8/13 17:14
* @author
*/
public class Constant {
/**
* 急救信息
*/
public static final long SINGLE_ROLL_30_S = 2011;
public static final String FIRST_AID = "first_aid_";
/**
* redis存储时间五小时 ()
*/
public static final Long FIRST_AID_REDIS_TIME = 5 * 60 * 60L;
/**开始*/
public static final byte CAR_RECORD_START = 0;
/**体重*/
public static final byte CAR_RECORD_WEIGHT = 1;
/**rfid*/
public static final byte CAR_RECORD_RFID = 2;
/**称重传感器一*/
public static final byte WEIGHT_SENSOR_1 = 3;
/**称重传感器二*/
public static final byte WEIGHT_SENSOR_2 = 4;
/**称重传感器三*/
public static final byte WEIGHT_SENSOR_3 = 5;
/**称重传感器四*/
public static final byte WEIGHT_SENSOR_4 = 6;
/**振动传感器(倾角传感器)*/
public static final byte SHAKE_SENSOR = 7;
/**剂量*/
public static final byte CAR_RECORD_DOSAGE = 8;
}

Loading…
Cancel
Save