记得上下班打卡 | git大法好,push需谨慎

Commit 51adf01c authored by jiangxiulong's avatar jiangxiulong

人体检测-检测设备列表获取改成redis;mysql队列备用

parent ecd28952
...@@ -27,6 +27,7 @@ public class KylinRedisConst { ...@@ -27,6 +27,7 @@ public class KylinRedisConst {
public static final String ORDER_REFUND = "kylin:order:refund:orderRefundsId:"; public static final String ORDER_REFUND = "kylin:order:refund:orderRefundsId:";
public static final String CAMERA_DEVICES = "kylin:cameraDevices:fieldId:"; public static final String CAMERA_DEVICES = "kylin:cameraDevices:fieldId:";
public static final String CAMERA_DEVICES_LIST = "kylin:cameraDevices:list";
public static final String CAMERA_DEVICES_PERSON_NUM = "kylin:cameraDevice:personNum:cameraId:"; public static final String CAMERA_DEVICES_PERSON_NUM = "kylin:cameraDevice:personNum:cameraId:";
public static final String BUY_NOTICE = "kylin:buyNotice";//购票须知 public static final String BUY_NOTICE = "kylin:buyNotice";//购票须知
......
...@@ -17,9 +17,12 @@ import com.fasterxml.jackson.core.type.TypeReference; ...@@ -17,9 +17,12 @@ import com.fasterxml.jackson.core.type.TypeReference;
import com.fasterxml.jackson.databind.JsonNode; import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.databind.MapperFeature; import com.fasterxml.jackson.databind.MapperFeature;
import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.ObjectMapper;
import com.liquidnet.commons.lang.util.CollectionUtil;
import com.liquidnet.commons.lang.util.IDGenerator; import com.liquidnet.commons.lang.util.IDGenerator;
import com.liquidnet.commons.lang.util.JsonUtils; import com.liquidnet.commons.lang.util.JsonUtils;
import com.liquidnet.service.base.ResponseDto; import com.liquidnet.service.base.ResponseDto;
import com.liquidnet.service.base.SqlMapping;
import com.liquidnet.service.base.constant.MQConst;
import com.liquidnet.service.kylin.dto.vo.KylinApiCameraDevicesVo; import com.liquidnet.service.kylin.dto.vo.KylinApiCameraDevicesVo;
import com.liquidnet.service.kylin.dto.vo.KylinCameraDevicesVo; import com.liquidnet.service.kylin.dto.vo.KylinCameraDevicesVo;
import com.liquidnet.service.kylin.entity.KylinCamera; import com.liquidnet.service.kylin.entity.KylinCamera;
...@@ -28,6 +31,7 @@ import com.liquidnet.service.kylin.mapper.KylinCameraMapper; ...@@ -28,6 +31,7 @@ import com.liquidnet.service.kylin.mapper.KylinCameraMapper;
import com.liquidnet.service.kylin.mapper.KylinCameraRecordMapper; import com.liquidnet.service.kylin.mapper.KylinCameraRecordMapper;
import com.liquidnet.service.platform.utils.DataUtils; import com.liquidnet.service.platform.utils.DataUtils;
import com.liquidnet.service.platform.utils.ObjectUtil; import com.liquidnet.service.platform.utils.ObjectUtil;
import com.liquidnet.service.platform.utils.QueueUtils;
import com.liquidnet.service.platform.utils.ViapiFileUtilAdvance; import com.liquidnet.service.platform.utils.ViapiFileUtilAdvance;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParam;
...@@ -41,6 +45,7 @@ import org.springframework.web.bind.annotation.*; ...@@ -41,6 +45,7 @@ import org.springframework.web.bind.annotation.*;
import java.io.InputStream; import java.io.InputStream;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.LinkedList;
import java.util.List; import java.util.List;
import java.util.stream.Collectors; import java.util.stream.Collectors;
...@@ -70,6 +75,8 @@ public class KylinCameraController { ...@@ -70,6 +75,8 @@ public class KylinCameraController {
@Autowired @Autowired
private DataUtils dataUtils; private DataUtils dataUtils;
@Autowired
private QueueUtils queueUtils;
@PostMapping(value = "callBack", produces = "application/xml;charset=UTF-8") @PostMapping(value = "callBack", produces = "application/xml;charset=UTF-8")
@ApiOperation("截图回调") @ApiOperation("截图回调")
...@@ -147,6 +154,8 @@ public class KylinCameraController { ...@@ -147,6 +154,8 @@ public class KylinCameraController {
} }
} }
dataUtils.delCameraDevicesList();
List<String> fieldIdsNew = fieldIds.stream().distinct().collect(Collectors.toList()); List<String> fieldIdsNew = fieldIds.stream().distinct().collect(Collectors.toList());
for (String fieldId : fieldIdsNew) { for (String fieldId : fieldIdsNew) {
List<KylinCamera> cameraList = cameraMapper.selectList( List<KylinCamera> cameraList = cameraMapper.selectList(
...@@ -172,10 +181,14 @@ public class KylinCameraController { ...@@ -172,10 +181,14 @@ public class KylinCameraController {
@ApiOperation("人体识别") @ApiOperation("人体识别")
public ResponseDto detectPedestrian() { public ResponseDto detectPedestrian() {
long startTime1 = System.currentTimeMillis(); long startTime1 = System.currentTimeMillis();
List<KylinCamera> cameraList = cameraMapper.selectList( List<KylinCamera> cameraList = dataUtils.getCameraDevicesList();
Wrappers.lambdaQuery(KylinCamera.class) if (null == cameraList) {
.eq(KylinCamera::getStatus, "on") cameraList = cameraMapper.selectList(
); Wrappers.lambdaQuery(KylinCamera.class)
.eq(KylinCamera::getStatus, "on")
);
dataUtils.setCameraDevicesList(cameraList);
}
long startTime2 = System.currentTimeMillis(); long startTime2 = System.currentTimeMillis();
log.info("人体识别-查询设备列表->耗时:{}", (startTime2 - startTime1) + "毫秒"); log.info("人体识别-查询设备列表->耗时:{}", (startTime2 - startTime1) + "毫秒");
if (!CollectionUtils.isEmpty(cameraList)) { if (!CollectionUtils.isEmpty(cameraList)) {
...@@ -197,16 +210,27 @@ public class KylinCameraController { ...@@ -197,16 +210,27 @@ public class KylinCameraController {
List<DetectPedestrianResponse.Data.Element> elementList = response.getData().getElements(); List<DetectPedestrianResponse.Data.Element> elementList = response.getData().getElements();
long count = elementList.stream().filter(r -> r.getScore() > 0.5).count(); long count = elementList.stream().filter(r -> r.getScore() > 0.5).count();
long count1 = elementList.stream().filter(r -> r.getScore() <= 0.5).count();
log.info("人体识别-count1:{}", count1);
long startTime5 = System.currentTimeMillis();
KylinCameraRecord cameraRecord = KylinCameraRecord.getNew(); KylinCameraRecord cameraRecord = KylinCameraRecord.getNew();
cameraRecord.setCameraRecordId(IDGenerator.nextSnowId()); cameraRecord.setCameraRecordId(IDGenerator.nextSnowId());
cameraRecord.setCameraId(kylinCamera.getCameraId()); cameraRecord.setCameraId(kylinCamera.getCameraId());
cameraRecord.setPersonNum((int) count); cameraRecord.setPersonNum((int) count);
recordMapper.insert(cameraRecord); recordMapper.insert(cameraRecord);
dataUtils.setCameraDevicePersonNum(kylinCamera.getCameraId(), count); /*LinkedList<String> sqls = CollectionUtil.linkedListString();
LinkedList<Object[]> sqlsDataA = CollectionUtil.linkedListObjectArr();
sqls.add(SqlMapping.get("kylin_camera_record.insert"));
sqlsDataA.add(new Object[]{
IDGenerator.nextSnowId(), kylinCamera.getCameraId(), (int) count
});
queueUtils.sendMsgByRedis(MQConst.SweetQueue.SWEET_ANSWER_INSERT.getKey(),
SqlMapping.gets(sqls, sqlsDataA));*/
long startTime6 = System.currentTimeMillis();
log.info("人体识别-MapperInsert->耗时:{}", (startTime6 - startTime5) + "毫秒");
long startTime5 = System.currentTimeMillis(); dataUtils.setCameraDevicePersonNum(kylinCamera.getCameraId(), count);
log.info("人体识别-MapperInsert->耗时:{}", (startTime5 - startTime4) + "毫秒");
} catch (Exception e) { } catch (Exception e) {
log.error("获取设备列表Exception:[msg={}, e={}]", e.getMessage(), e); log.error("获取设备列表Exception:[msg={}, e={}]", e.getMessage(), e);
} }
......
...@@ -13,6 +13,7 @@ import com.liquidnet.service.kylin.dto.vo.mongo.KylinOrderTicketVo; ...@@ -13,6 +13,7 @@ import com.liquidnet.service.kylin.dto.vo.mongo.KylinOrderTicketVo;
import com.liquidnet.service.kylin.dto.vo.mongo.KylinPerformanceVo; import com.liquidnet.service.kylin.dto.vo.mongo.KylinPerformanceVo;
import com.liquidnet.service.kylin.dto.vo.returns.KylinOrderListVo; import com.liquidnet.service.kylin.dto.vo.returns.KylinOrderListVo;
import com.liquidnet.service.kylin.entity.KylinBuyNotice; import com.liquidnet.service.kylin.entity.KylinBuyNotice;
import com.liquidnet.service.kylin.entity.KylinCamera;
import com.liquidnet.service.kylin.entity.KylinOrderCoupons; import com.liquidnet.service.kylin.entity.KylinOrderCoupons;
import com.liquidnet.service.kylin.mapper.KylinBuyNoticeMapper; import com.liquidnet.service.kylin.mapper.KylinBuyNoticeMapper;
import com.liquidnet.service.slime.constant.SlimeRedisConst; import com.liquidnet.service.slime.constant.SlimeRedisConst;
...@@ -448,4 +449,24 @@ public class DataUtils { ...@@ -448,4 +449,24 @@ public class DataUtils {
String redisKey = KylinRedisConst.CAMERA_DEVICES_PERSON_NUM.concat(cameraId); String redisKey = KylinRedisConst.CAMERA_DEVICES_PERSON_NUM.concat(cameraId);
redisDataSourceUtil.getRedisKylinUtil().set(redisKey, count); redisDataSourceUtil.getRedisKylinUtil().set(redisKey, count);
} }
public List<KylinCamera> getCameraDevicesList() {
String redisKey = KylinRedisConst.CAMERA_DEVICES_LIST;
Object obj = redisDataSourceUtil.getRedisKylinUtil().get(redisKey);
if (null == obj) {
return null;
} else {
return (List<KylinCamera>) obj;
}
}
public void setCameraDevicesList(List<KylinCamera> cameraList) {
String redisKey = KylinRedisConst.CAMERA_DEVICES_LIST;
redisDataSourceUtil.getRedisKylinUtil().set(redisKey, cameraList);
}
public void delCameraDevicesList() {
String redisKey = KylinRedisConst.CAMERA_DEVICES_LIST;
redisDataSourceUtil.getRedisKylinUtil().del(redisKey);
}
} }
# ------------------------????----------------------------
kylin_camera_record.insert=INSERT INTO kylin_camera_record (camera_record_id, camera_id, person_num) VALUES (?,?,?)
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment