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

Commit 51adf01c authored by jiangxiulong's avatar jiangxiulong

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

parent ecd28952
......@@ -27,6 +27,7 @@ public class KylinRedisConst {
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_LIST = "kylin:cameraDevices:list";
public static final String CAMERA_DEVICES_PERSON_NUM = "kylin:cameraDevice:personNum:cameraId:";
public static final String BUY_NOTICE = "kylin:buyNotice";//购票须知
......
......@@ -17,9 +17,12 @@ import com.fasterxml.jackson.core.type.TypeReference;
import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.databind.MapperFeature;
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.JsonUtils;
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.KylinCameraDevicesVo;
import com.liquidnet.service.kylin.entity.KylinCamera;
......@@ -28,6 +31,7 @@ import com.liquidnet.service.kylin.mapper.KylinCameraMapper;
import com.liquidnet.service.kylin.mapper.KylinCameraRecordMapper;
import com.liquidnet.service.platform.utils.DataUtils;
import com.liquidnet.service.platform.utils.ObjectUtil;
import com.liquidnet.service.platform.utils.QueueUtils;
import com.liquidnet.service.platform.utils.ViapiFileUtilAdvance;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
......@@ -41,6 +45,7 @@ import org.springframework.web.bind.annotation.*;
import java.io.InputStream;
import java.time.LocalDateTime;
import java.util.ArrayList;
import java.util.LinkedList;
import java.util.List;
import java.util.stream.Collectors;
......@@ -70,6 +75,8 @@ public class KylinCameraController {
@Autowired
private DataUtils dataUtils;
@Autowired
private QueueUtils queueUtils;
@PostMapping(value = "callBack", produces = "application/xml;charset=UTF-8")
@ApiOperation("截图回调")
......@@ -147,6 +154,8 @@ public class KylinCameraController {
}
}
dataUtils.delCameraDevicesList();
List<String> fieldIdsNew = fieldIds.stream().distinct().collect(Collectors.toList());
for (String fieldId : fieldIdsNew) {
List<KylinCamera> cameraList = cameraMapper.selectList(
......@@ -172,10 +181,14 @@ public class KylinCameraController {
@ApiOperation("人体识别")
public ResponseDto detectPedestrian() {
long startTime1 = System.currentTimeMillis();
List<KylinCamera> cameraList = cameraMapper.selectList(
List<KylinCamera> cameraList = dataUtils.getCameraDevicesList();
if (null == cameraList) {
cameraList = cameraMapper.selectList(
Wrappers.lambdaQuery(KylinCamera.class)
.eq(KylinCamera::getStatus, "on")
);
dataUtils.setCameraDevicesList(cameraList);
}
long startTime2 = System.currentTimeMillis();
log.info("人体识别-查询设备列表->耗时:{}", (startTime2 - startTime1) + "毫秒");
if (!CollectionUtils.isEmpty(cameraList)) {
......@@ -197,16 +210,27 @@ public class KylinCameraController {
List<DetectPedestrianResponse.Data.Element> elementList = response.getData().getElements();
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();
cameraRecord.setCameraRecordId(IDGenerator.nextSnowId());
cameraRecord.setCameraId(kylinCamera.getCameraId());
cameraRecord.setPersonNum((int) count);
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();
log.info("人体识别-MapperInsert->耗时:{}", (startTime5 - startTime4) + "毫秒");
dataUtils.setCameraDevicePersonNum(kylinCamera.getCameraId(), count);
} catch (Exception e) {
log.error("获取设备列表Exception:[msg={}, e={}]", e.getMessage(), e);
}
......
......@@ -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.returns.KylinOrderListVo;
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.mapper.KylinBuyNoticeMapper;
import com.liquidnet.service.slime.constant.SlimeRedisConst;
......@@ -448,4 +449,24 @@ public class DataUtils {
String redisKey = KylinRedisConst.CAMERA_DEVICES_PERSON_NUM.concat(cameraId);
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