提交 63fbfa2d authored 作者: yangqi's avatar yangqi

1

上级 84f64633
......@@ -13,4 +13,51 @@ public class CameraLogBO {
private Integer apartmentId;
private Integer visitNum;
private Integer userNum;
/**
* 无身份
*/
private Integer identity0;
/**
* 其它
*/
private Integer identity1;
/**
* 内部员工
*/
private Integer identity2;
/**
* 外卖员
*/
private Integer identity3;
/**
* 快递员
*/
private Integer identity4;
/**
* 在住租客
*/
private Integer identity5;
/**
* 访客
*/
private Integer identity6;
/**
* 保洁人员
*/
private Integer identity7;
/**
* 维修人员
*/
private Integer identity8;
}
......@@ -15,4 +15,6 @@ public interface CameraLogMapper {
int addLog(CameraLog log);
List<CameraLogBO> getVisitNum(String startDate, String endDate);
List<CameraLogBO> getUserNum(String startDate, String endDate);
}
......@@ -10,4 +10,17 @@
SELECT count(*) as visit_num,apartment_id
FROM camera_log where create_time between #{startDate} and #{endDate} and is_delete = 0
</select>
<select id="getUserNum" resultType="cn.lefull.repository.bo.face.CameraLogBO">
SELECT apartment_id,count(*) as user_num,
sum(case identity when 0 then 1 else 0 end) as identity0,
sum(case identity when 1 then 1 else 0 end) as identity1,
sum(case identity when 2 then 1 else 0 end) as identity2,
sum(case identity when 3 then 1 else 0 end) as identity3,
sum(case identity when 4 then 1 else 0 end) as identity4,
sum(case identity when 5 then 1 else 0 end) as identity5,
sum(case identity when 6 then 1 else 0 end) as identity6,
sum(case identity when 7 then 1 else 0 end) as identity7,
sum(case identity when 8 then 1 else 0 end) as identity8
FROM (select *FROM camera_log where create_time between #{startDate} and #{endDate} and is_delete = 0 group by apartment_id,camera_entity_id) log group by apartment_id
</select>
</mapper>
......@@ -40,6 +40,8 @@ public class EquipmentServiceImpl implements EquipmentService {
@Autowired
private CameraLogMapper cameraLogMapper;
@Autowired
private CameraDateLogMapper cameraDateLogMapper;
@Autowired
private FaceService faceService;
@Override
......@@ -339,9 +341,38 @@ public class EquipmentServiceImpl implements EquipmentService {
String start = date + " 00:00:00";
String end = date + " 23:59:59";
List<CameraLogBO> logList = cameraLogMapper.getVisitNum(start, end);
for (CameraLogBO log : logList) {
System.out.println(log.getApartmentId());
System.out.println(log.getVisitNum());
List<CameraLogBO> userLogList = cameraLogMapper.getUserNum(start, end);
for (CameraLogBO logBo : logList) {
CameraLogBO cameraLogBO = userLogList.stream()
.filter(u -> Objects.equals(u.getApartmentId(), logBo.getApartmentId())).findFirst().orElse(null);
CameraDateLog log = new CameraDateLog();
log.setLogDate(date);
log.setApartmentId(logBo.getApartmentId());
log.setVisitNum(logBo.getVisitNum());
if(cameraLogBO == null){
log.setUserNum(0);
log.setIdentity0(0);
log.setIdentity1(0);
log.setIdentity2(0);
log.setIdentity3(0);
log.setIdentity4(0);
log.setIdentity5(0);
log.setIdentity6(0);
log.setIdentity7(0);
log.setIdentity8(0);
}else{
log.setUserNum(cameraLogBO.getUserNum());
log.setIdentity0(cameraLogBO.getIdentity0());
log.setIdentity1(cameraLogBO.getIdentity1());
log.setIdentity2(cameraLogBO.getIdentity2());
log.setIdentity3(cameraLogBO.getIdentity3());
log.setIdentity4(cameraLogBO.getIdentity4());
log.setIdentity5(cameraLogBO.getIdentity5());
log.setIdentity6(cameraLogBO.getIdentity6());
log.setIdentity7(cameraLogBO.getIdentity7());
log.setIdentity8(cameraLogBO.getIdentity8());
}
cameraDateLogMapper.addLog(log);
}
}
}
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论