From 9d70d292221b60e1ba9b7d05065ebdedf2d07232 Mon Sep 17 00:00:00 2001 From: DESKTOP-HG94VRH\taohandong <2821744554@qq.com> Date: Wed, 11 Dec 2019 09:49:51 +0800 Subject: [PATCH] no message --- cloud/dahua/src/main/java/com/example/dahua/MyTask.java | 21 ++++++++++----------- cloud/dahua/src/main/java/com/example/dahua/control/DeviceControl.java | 8 ++++++++ cloud/dahua/src/main/java/com/example/dahua/control/UserControl.java | 4 ++-- cloud/dahua/src/main/java/com/example/dahua/module/DeviceControlModule.java | 121 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++---------------------------------------------------- cloud/dahua/src/main/java/com/example/dahua/service/DeviceService.java | 2 ++ cloud/dahua/src/main/java/com/example/dahua/service/DeviceServiceImp.java | 6 ++++++ cloud/dahua/src/test/java/com/example/dahua/DahuaApplicationTests.java | 4 ++-- cloud/haikangface/log/2019-12-04/17_文件保存回调.txt | 26 ++++++++++++++++++++++++++ cloud/haikangface/src/main/java/com/sincere/haikangface/CMSServer.java | 59 ++++++++++++++++++++++++++++++----------------------------- cloud/haikangface/src/main/java/com/sincere/haikangface/async/SendUserAsync.java | 8 ++++---- cloud/haikangface/src/main/java/com/sincere/haikangface/bean/StudentBean.java | 9 +++++++++ cloud/haikangface/src/main/java/com/sincere/haikangface/dao/UserDao.java | 3 ++- cloud/haikangface/src/main/java/com/sincere/haikangface/utils/AlarmUtils.java | 4 ++-- cloud/haikangface/src/main/java/com/sincere/haikangface/xiananDao/SendRecordDao.java | 2 +- cloud/haikangface/src/test/java/com/sincere/haikangface/HaikangfaceApplicationTests.java | 52 +++++++++++++++++++++++++++++++++++++++------------- cloud/log/2019-12-04/13_sendUserInfo.txt | 20 ++++++++++++++++++++ cloud/log/2019-12-04/13_文件保存回调.txt | 20 ++++++++++++++++++++ cloud/log/2019-12-04/14_devices.txt | 2 ++ cloud/log/2019-12-04/14_sendUserInfo.txt | 6 ++++++ cloud/log/2019-12-04/14_学校id记录.txt | 20 ++++++++++++++++++++ cloud/log/2019-12-04/14_文件保存回调.txt | 6 ++++++ cloud/log/2019-12-04/15_facesuccess.txt | 4 ++++ cloud/log/2019-12-04/15_人脸识别成功记录.txt | 4 ++++ cloud/log/2019-12-04/15_文件保存回调.txt | 4 ++++ cloud/log/2019-12-04/17_文件保存回调.txt | 164 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ cloud/picPath/comp/1111.jpg | Bin 0 -> 71841 bytes cloud/picPath/comp/HSZL201901103.png | Bin 0 -> 49074 bytes 27 files changed, 462 insertions(+), 117 deletions(-) create mode 100644 cloud/haikangface/log/2019-12-04/17_文件保存回调.txt create mode 100644 cloud/log/2019-12-04/13_sendUserInfo.txt create mode 100644 cloud/log/2019-12-04/13_文件保存回调.txt create mode 100644 cloud/log/2019-12-04/14_devices.txt create mode 100644 cloud/log/2019-12-04/14_sendUserInfo.txt create mode 100644 cloud/log/2019-12-04/14_学校id记录.txt create mode 100644 cloud/log/2019-12-04/14_文件保存回调.txt create mode 100644 cloud/log/2019-12-04/15_facesuccess.txt create mode 100644 cloud/log/2019-12-04/15_人脸识别成功记录.txt create mode 100644 cloud/log/2019-12-04/15_文件保存回调.txt create mode 100644 cloud/log/2019-12-04/17_文件保存回调.txt create mode 100644 cloud/picPath/comp/1111.jpg create mode 100644 cloud/picPath/comp/HSZL201901103.png diff --git a/cloud/dahua/src/main/java/com/example/dahua/MyTask.java b/cloud/dahua/src/main/java/com/example/dahua/MyTask.java index 00c1af8..67d177f 100644 --- a/cloud/dahua/src/main/java/com/example/dahua/MyTask.java +++ b/cloud/dahua/src/main/java/com/example/dahua/MyTask.java @@ -275,7 +275,7 @@ public class MyTask implements ApplicationRunner { pBuffer.read(0, bufferBytes, 0, dwBufSize); - File path = new File("E:\\wwwhtdocs\\SmartCampus\\face17e50\\FaceRecoder"); + File path = new File(".\\FaceRecoder"); if (!path.exists()) { path.mkdir(); } @@ -284,19 +284,18 @@ public class MyTask implements ApplicationRunner { if (dwAlarmType == NetSDKLib.EVENT_IVS_ACCESS_CTL) { NetSDKLib.DEV_EVENT_ACCESS_CTL_INFO msg = new NetSDKLib.DEV_EVENT_ACCESS_CTL_INFO(); ToolKits.GetPointerData(pAlarmInfo, msg); - // 保存图片,获取图片缓存 - String snapPicPath = path + "\\" + System.currentTimeMillis() + ".png"; // 保存图片地址 - byte[] buffer = pBuffer.getByteArray(0, dwBufSize); - ByteArrayInputStream byteArrInputGlobal = new ByteArrayInputStream(buffer); - + System.out.println("sda:" + new String(msg.szCardNo) + " 抓拍照片存储地址:"); try { - System.out.println("sda:" + new String(msg.szCardNo) + " 抓拍照片存储地址:" + new String(msg.szSnapURL, "GBK").trim()); - gateBufferedImage = ImageIO.read(byteArrInputGlobal); - if (gateBufferedImage != null) { - ImageIO.write(gateBufferedImage, "png", new File(snapPicPath)); - } String card = new String(msg.szCardNo).trim(); if (!StringUtils.isEmpty(card)) { + // 保存图片,获取图片缓存 + String snapPicPath = path + "\\" + System.currentTimeMillis() + ".png"; // 保存图片地址 + byte[] buffer = pBuffer.getByteArray(0, dwBufSize); + ByteArrayInputStream byteArrInputGlobal = new ByteArrayInputStream(buffer); + gateBufferedImage = ImageIO.read(byteArrInputGlobal); + if (gateBufferedImage != null) { + ImageIO.write(gateBufferedImage, "png", new File(snapPicPath)); + } card=cardNo(card); CardBean cardBean = userDao.getCards(card);//根据卡号获取身份信息 String time = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()); diff --git a/cloud/dahua/src/main/java/com/example/dahua/control/DeviceControl.java b/cloud/dahua/src/main/java/com/example/dahua/control/DeviceControl.java index 2e5ff46..c8c7c22 100644 --- a/cloud/dahua/src/main/java/com/example/dahua/control/DeviceControl.java +++ b/cloud/dahua/src/main/java/com/example/dahua/control/DeviceControl.java @@ -3,6 +3,7 @@ package com.example.dahua.control; import com.example.dahua.service.DeviceService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiImplicitParam; +import io.swagger.annotations.ApiOperation; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; @@ -23,4 +24,11 @@ public class DeviceControl { } + @RequestMapping(value = "setDVRIPConfig", method = RequestMethod.GET) + @ApiOperation("改变设备的IP信息") + public boolean setDVRIPConfig(@RequestParam("deviceId") String deviceId,@RequestParam("ip") String ip, + @RequestParam("port") int port) { + return deviceService.setDVRIPConfig(deviceId,ip,port); + } + } diff --git a/cloud/dahua/src/main/java/com/example/dahua/control/UserControl.java b/cloud/dahua/src/main/java/com/example/dahua/control/UserControl.java index efe15df..c6f4b71 100644 --- a/cloud/dahua/src/main/java/com/example/dahua/control/UserControl.java +++ b/cloud/dahua/src/main/java/com/example/dahua/control/UserControl.java @@ -163,7 +163,7 @@ public class UserControl { angel = 180; } System.out.println("图片检验成功"); - FileUtils.getInstance().writeLogs("检测成功:" + httpurl, FileUtils.checkSuc); + FileUtils.getInstance().writeLogs("检测成功:" + imgFilePath, FileUtils.checkSuc); //E:\wwwhtdocs\SmartCampus\face17e50\School //http://campus.myjxt.com//face17e5/School861/Student/GBZX20171134.jpg //F:\wwwroot\smartcampus\face17e5 @@ -181,7 +181,7 @@ public class UserControl { } } else { System.out.println("检测失败"); - FileUtils.getInstance().writeLogs("检测失败:" + error_msg + httpurl, FileUtils.checkFail); + FileUtils.getInstance().writeLogs("检测失败:" + error_msg + imgFilePath, FileUtils.checkFail); deleteImgFile(imgFilePath); return false; } diff --git a/cloud/dahua/src/main/java/com/example/dahua/module/DeviceControlModule.java b/cloud/dahua/src/main/java/com/example/dahua/module/DeviceControlModule.java index c89abd8..68e0a79 100644 --- a/cloud/dahua/src/main/java/com/example/dahua/module/DeviceControlModule.java +++ b/cloud/dahua/src/main/java/com/example/dahua/module/DeviceControlModule.java @@ -1,12 +1,13 @@ package com.example.dahua.module; +import com.example.dahua.MyTask; import com.example.dahua.lib.NetSDKLib; import com.example.dahua.lib.ToolKits; +import java.io.UnsupportedEncodingException; import java.text.SimpleDateFormat; - /** * \if ENGLISH_LANG * Device Control Interface @@ -17,48 +18,47 @@ import java.text.SimpleDateFormat; * \endif */ public class DeviceControlModule { - - /** - * \if ENGLISH_LANG - * Reboot Device - * \else - * 重启设备 - * \endif - */ + + /** + * \if ENGLISH_LANG + * Reboot Device + * \else + * 重启设备 + * \endif + */ public static boolean reboot() { - + if (!LoginModule.netsdk.CLIENT_ControlDevice(LoginModule.m_hLoginHandle, NetSDKLib.CtrlType.CTRLTYPE_CTRL_REBOOT, null, 3000)) { - System.err.println("CLIENT_ControlDevice Failed!" + ToolKits.getErrorCodePrint()); - return false; + System.err.println("CLIENT_ControlDevice Failed!" + ToolKits.getErrorCodePrint()); + return false; } return true; } - public static boolean reboot(NetSDKLib.LLong lLong) { + public static boolean reboot(NetSDKLib.LLong lLong) { - if (!LoginModule.netsdk.CLIENT_ControlDevice(lLong, NetSDKLib.CtrlType.CTRLTYPE_CTRL_REBOOT, null, 3000)) { - System.err.println("CLIENT_ControlDevice Failed!" + ToolKits.getErrorCodePrint()); - return false; - } - else System.out.println("设备重启成功"); - return true; - } + if (!LoginModule.netsdk.CLIENT_ControlDevice(lLong, NetSDKLib.CtrlType.CTRLTYPE_CTRL_REBOOT, null, 3000)) { + System.err.println("CLIENT_ControlDevice Failed!" + ToolKits.getErrorCodePrint()); + return false; + } else System.out.println("设备重启成功"); + return true; + } /** - * \if ENGLISH_LANG - * Setup Device Time - * \else - * 时间同步 - * \endif - */ + * \if ENGLISH_LANG + * Setup Device Time + * \else + * 时间同步 + * \endif + */ public static boolean setTime(String date) { - NetSDKLib.NET_TIME deviceTime = new NetSDKLib.NET_TIME(); - if (date == null) { - SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + NetSDKLib.NET_TIME deviceTime = new NetSDKLib.NET_TIME(); + if (date == null) { + SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); date = dateFormat.format(new java.util.Date()); - } - - String[] dateTime = date.split(" "); + } + + String[] dateTime = date.split(" "); String[] arrDate = dateTime[0].split("-"); String[] arrTime = dateTime[1].split(":"); deviceTime.dwYear = Integer.parseInt(arrDate[0]); @@ -69,30 +69,47 @@ public class DeviceControlModule { deviceTime.dwSecond = Integer.parseInt(arrTime[2]); if (!LoginModule.netsdk.CLIENT_SetupDeviceTime(LoginModule.m_hLoginHandle, deviceTime)) { - System.err.println("CLIENT_SetupDeviceTime Failed!" + ToolKits.getErrorCodePrint()); - return false; + System.err.println("CLIENT_SetupDeviceTime Failed!" + ToolKits.getErrorCodePrint()); + return false; } return true; } - + /** - * \if ENGLISH_LANG - * Get Device Current Time - * \else - * 获取设备当前时间 - * \endif - */ + * \if ENGLISH_LANG + * Get Device Current Time + * \else + * 获取设备当前时间 + * \endif + */ public static String getTime() { - NetSDKLib.NET_TIME deviceTime = new NetSDKLib.NET_TIME(); - - if (!LoginModule.netsdk.CLIENT_QueryDeviceTime(LoginModule.m_hLoginHandle, deviceTime, 3000)) { - System.err.println("CLIENT_QueryDeviceTime Failed!" + ToolKits.getErrorCodePrint()); - return null; - } - - String date = deviceTime.toStringTime(); - date = date.replace("/", "-"); - - return date; + NetSDKLib.NET_TIME deviceTime = new NetSDKLib.NET_TIME(); + + if (!LoginModule.netsdk.CLIENT_QueryDeviceTime(LoginModule.m_hLoginHandle, deviceTime, 3000)) { + System.err.println("CLIENT_QueryDeviceTime Failed!" + ToolKits.getErrorCodePrint()); + return null; + } + + String date = deviceTime.toStringTime(); + date = date.replace("/", "-"); + + return date; } + + + public static boolean setDVRIPConfig(String deviceId, String ip, int port) { + NetSDKLib.CFG_DVRIP_INFO info = AutoRegisterModule.getDVRIPConfig(MyTask.lLongMap.get(deviceId)); + +// win下,中文需要转换为GBK + byte[] deviceIdBytes = null; + try { + deviceIdBytes = deviceId.getBytes("GBK"); + } catch (UnsupportedEncodingException e) { + e.printStackTrace(); + } + boolean setResult = AutoRegisterModule.setDVRIPConfig(MyTask.lLongMap.get(deviceId), true, ip, port, deviceIdBytes, info); + if (setResult) return true; + else return false; + } + } diff --git a/cloud/dahua/src/main/java/com/example/dahua/service/DeviceService.java b/cloud/dahua/src/main/java/com/example/dahua/service/DeviceService.java index 9ca2562..971e216 100644 --- a/cloud/dahua/src/main/java/com/example/dahua/service/DeviceService.java +++ b/cloud/dahua/src/main/java/com/example/dahua/service/DeviceService.java @@ -7,4 +7,6 @@ public interface DeviceService { boolean restart(String deviceId); + boolean setDVRIPConfig(String deviceId,String ip,int port); + } diff --git a/cloud/dahua/src/main/java/com/example/dahua/service/DeviceServiceImp.java b/cloud/dahua/src/main/java/com/example/dahua/service/DeviceServiceImp.java index 3a79ef4..8bf0783 100644 --- a/cloud/dahua/src/main/java/com/example/dahua/service/DeviceServiceImp.java +++ b/cloud/dahua/src/main/java/com/example/dahua/service/DeviceServiceImp.java @@ -14,4 +14,10 @@ public class DeviceServiceImp implements DeviceService{ return DeviceControlModule.reboot(MyTask.lLongMap.get(deviceId)); } + @Override + public boolean setDVRIPConfig(String deviceId,String ip,int port) { + + return DeviceControlModule.setDVRIPConfig(deviceId,ip,port); + } + } diff --git a/cloud/dahua/src/test/java/com/example/dahua/DahuaApplicationTests.java b/cloud/dahua/src/test/java/com/example/dahua/DahuaApplicationTests.java index e11902d..2802118 100644 --- a/cloud/dahua/src/test/java/com/example/dahua/DahuaApplicationTests.java +++ b/cloud/dahua/src/test/java/com/example/dahua/DahuaApplicationTests.java @@ -385,7 +385,7 @@ public class DahuaApplicationTests { @Test public void Mqtt() { - /*MqttManager mqttManager = new MqttManager(); + /* MqttManager mqttManager = new MqttManager(); mqttManager.init(); @@ -395,7 +395,7 @@ public class DahuaApplicationTests { String devId = stringList.get(i); //30关闭显示屏 31打开显示屏,9升级客户端 - mqttManager.sendMq(devId, 9); + mqttManager.sendMq(devId, 31); }*/ } diff --git a/cloud/haikangface/log/2019-12-04/17_文件保存回调.txt b/cloud/haikangface/log/2019-12-04/17_文件保存回调.txt new file mode 100644 index 0000000..3584ebc --- /dev/null +++ b/cloud/haikangface/log/2019-12-04/17_文件保存回调.txt @@ -0,0 +1,26 @@ +2019-12-04 17:39:42 文件名:A38DBF515020CE1B884DA4D8A0B12EFC2019-12-04.jpg + +2019-12-04 17:39:48 文件名:53279343AD42FE392FD3424098AF36812019-12-04.jpg + +2019-12-04 17:41:24 文件名:F9655C0FD13615BBD9B1070ED28BC24C2019-12-04.jpg + +2019-12-04 17:41:30 文件名:BC30A4282D2FF66EE3AE669BE9FE2D3D2019-12-04.jpg + +2019-12-04 17:42:31 文件名:35AC177BF66B817C91FDEF59CB23FE802019-12-04.jpg + +2019-12-04 17:44:51 文件名:CBA93648B16BF37256E3D2C984FE8AA62019-12-04.jpg + +2019-12-04 17:44:57 文件名:B43686A091D26DB93FE3F5917D0F52D02019-12-04.jpg + +2019-12-04 17:44:59 文件名:820D45CBACD7674663B813F95DA4D8EF2019-12-04.jpg + +2019-12-04 17:45:04 文件名:E094FBFF22AB3D48C7B400C47F201C212019-12-04.jpg + +2019-12-04 17:45:13 文件名:8AFE884497ED73034930BCAE38C61D862019-12-04.jpg + +2019-12-04 17:45:18 文件名:BC502A2B766E5F5AAEB920B3163330E52019-12-04.jpg + +2019-12-04 17:51:07 文件名:D0310F45310AE02AA9E91B28697B31C72019-12-04.jpg + +2019-12-04 17:51:12 文件名:77C9E6A6E3BC4FF106F881548B9770112019-12-04.jpg + diff --git a/cloud/haikangface/src/main/java/com/sincere/haikangface/CMSServer.java b/cloud/haikangface/src/main/java/com/sincere/haikangface/CMSServer.java index 25b4f09..f92cc3b 100644 --- a/cloud/haikangface/src/main/java/com/sincere/haikangface/CMSServer.java +++ b/cloud/haikangface/src/main/java/com/sincere/haikangface/CMSServer.java @@ -71,7 +71,7 @@ public class CMSServer implements ApplicationRunner { static HCEHomeCMS hCEhomeCMS = HCEHomeCMS.INSTANCE; FRegisterCallBack fRegisterCallBack;//注册回调函数实现 -// NativeLong lLoginID;//用户句柄 + // NativeLong lLoginID;//用户句柄 HCEHomeCMS.NET_EHOME_CMS_LISTEN_PARAM struCMSListenPara = new HCEHomeCMS.NET_EHOME_CMS_LISTEN_PARAM(); Map map = new HashMap<>(); @@ -109,7 +109,7 @@ public class CMSServer implements ApplicationRunner { * @param deviceId */ public boolean getIsDeviceOnline(String deviceId) { - return map.containsKey(deviceId)?true:false; + return map.containsKey(deviceId) ? true : false; } public class FRegisterCallBack implements HCEHomeCMS.DEVICE_REGISTER_CB { @@ -272,12 +272,13 @@ public class CMSServer implements ApplicationRunner { public boolean invoke(NativeLong iHandle, String pFileName, Pointer pFileBuf, int dwFileLen, Pointer pFilePath, Pointer pUser) { String strPath = "C://EhomePicServer/"; -// System.out.println("pFileName:"+pFileName); - pFileName = pFileName.replace("_",""); + System.out.println("pFileName:" + pFileName); + pFileName = pFileName.replace("_", ""); boolean isZhuaPai = false; - if (pFileName.contains("-")){//人脸抓拍机抓拍到的图片 - strPath = "E://wwwhtdocs//SmartCampus//face17e5//School16//Student//";//测试服务器 - pFileName = pFileName.split("T")[0]+".jpg"; + if (pFileName.contains("-")) {//人脸抓拍机抓拍到的图片 + if (!ip.contains("172.16")) + strPath = "E://wwwhtdocs//SmartCampus//face17e5//School16//Student//";//测试服务器 + pFileName = pFileName.split("T")[0] + ".jpg"; isZhuaPai = true; } String strFilePath = strPath + pFileName; @@ -324,8 +325,8 @@ public class CMSServer implements ApplicationRunner { pFilePath.write(0, strFilePath.getBytes(), 0, strFilePath.getBytes().length); - if (isZhuaPai){ - MqtUtils.getInstance().sendMsg("http://campus.myjxt.com//face17e5/School16/Student/"+pFileName); + if (isZhuaPai) { + MqtUtils.getInstance().sendMsg("http://campus.myjxt.com//face17e5/School16/Student/" + pFileName); } return true; @@ -403,11 +404,11 @@ public class CMSServer implements ApplicationRunner { alarmUtils = new AlarmUtils(deviceDao); alarmUtils.setCallBack(new AlarmUtils.AlarmCallBack() { @Override - public void callBack(String minorType, String deviceID, String cardNo, String time,String picDataUrlId) { + public void callBack(String minorType, String deviceID, String cardNo, String time, String picDataUrlId) { switch (minorType) { case "0x4b"://人脸认证通过 // sendSMS(cardNo, deviceID, time); - saveFaceRecoder(deviceID,cardNo,time,picDataUrlId); + saveFaceRecoder(deviceID, cardNo, time, picDataUrlId); break; case "0x426"://人证设备在线 @@ -417,7 +418,7 @@ public class CMSServer implements ApplicationRunner { deviceDao.updateDeviceStatu(0, deviceID); break; case "0x69"://人证比对通过 - saveFaceRecoder(deviceID,cardNo,time,picDataUrlId); + saveFaceRecoder(deviceID, cardNo, time, picDataUrlId); break; } } @@ -434,15 +435,14 @@ public class CMSServer implements ApplicationRunner { /** - * * @param deviceID - * @param cardNo 十进制卡号 + * @param cardNo 十进制卡号 * @param time * @param picDataUrlId */ - private void saveFaceRecoder( String deviceID, String cardNo, String time,String picDataUrlId){ + private void saveFaceRecoder(String deviceID, String cardNo, String time, String picDataUrlId) { - if(!StringUtils.isEmpty(cardNo)){ + if (!StringUtils.isEmpty(cardNo)) { Face_Recoder face_recoder = new Face_Recoder(); //卡号逆转 @@ -450,20 +450,20 @@ public class CMSServer implements ApplicationRunner { StudentBean studentBean = userDao.getStudentWithCard(cardNo); - if (null!=studentBean){ - FileUtils.getInstance().writeLogs(studentBean.getName()+" "+ cardNo,FileUtils.facerecoder); + if (null != studentBean) { + FileUtils.getInstance().writeLogs(studentBean.getName() + " " + cardNo, FileUtils.facerecoder); face_recoder.setCardNum(cardNo); face_recoder.setDeviceId(deviceID); face_recoder.setTime(time); face_recoder.setName(studentBean.getName()); - String imgUrl = "http://114.55.30.100:8081/kms/services/rest/dataInfoService/downloadFile?id="+picDataUrlId; + String imgUrl = "http://114.55.30.100:8081/kms/services/rest/dataInfoService/downloadFile?id=" + picDataUrlId; face_recoder.setImgurl(imgUrl); face_recoder.setUser_id(studentBean.getUser_id()); face_recoder.setInOrOut(1); - sendRecordDao.addFaceRecoder(face_recoder.getDeviceId(),face_recoder.getUser_id(),face_recoder.getName(), - face_recoder.getImgurl(),face_recoder.getInOrOut(),face_recoder.getTime(),face_recoder.getCardNum()); + sendRecordDao.addFaceRecoder(face_recoder.getDeviceId(), face_recoder.getUser_id(), face_recoder.getName(), + face_recoder.getImgurl(), face_recoder.getInOrOut(), face_recoder.getTime(), face_recoder.getCardNum()); } } @@ -477,7 +477,7 @@ public class CMSServer implements ApplicationRunner { * @param deviceId * @return */ - public boolean createImgPath(String srcFile, String picUrl, String card, String startTime, String endTime, int validTimeEnabled, String name, String deviceId, String userType,String employeeNo) { + public boolean createImgPath(String srcFile, String picUrl, String card, String startTime, String endTime, int validTimeEnabled, String name, String deviceId, String userType, String employeeNo) { if (map.containsKey(deviceId)) { HCEHomeSS.NET_EHOME_SS_CLIENT_PARAM pClientParam = new HCEHomeSS.NET_EHOME_SS_CLIENT_PARAM(); @@ -513,7 +513,7 @@ public class CMSServer implements ApplicationRunner { } hCEhomeSS.NET_ESS_DestroyClient(client);//释放资源 } - return sendInfo(srcFile, url, card, startTime, endTime, validTimeEnabled, name, deviceId, userType,employeeNo); + return sendInfo(srcFile, url, card, startTime, endTime, validTimeEnabled, name, deviceId, userType, employeeNo); } sendRecoderUtils.sendFail(sendRecordDao, card, srcFile, deviceId, userDao, "设备不在线", userType); return false; @@ -524,8 +524,8 @@ public class CMSServer implements ApplicationRunner { * * @Param picUrl 原图 */ - public boolean sendInfo(String srcFile, String url, String card, String startTime, String endTime, int validTimeEnabled, String name, String deviceId, String userType,String employeeNo) { - editCard(startTime,endTime,validTimeEnabled,name,card,deviceId,employeeNo); + public boolean sendInfo(String srcFile, String url, String card, String startTime, String endTime, int validTimeEnabled, String name, String deviceId, String userType, String employeeNo) { + editCard(startTime, endTime, validTimeEnabled, name, card, deviceId, employeeNo); String strRequest = "/ISAPI/AccessControl/SetFaceParamCfg"; String strConfigXML = "\n" + "" + card + "\n" + @@ -534,14 +534,15 @@ public class CMSServer implements ApplicationRunner { "1\n" + "1\n" + ""; -// System.out.println("strConfigXML:" + strConfigXML); +// System.out.println("图片下发参数:" + strConfigXML); + deleteCard(deviceId,card); return editFace(srcFile, url, card, strRequest, strConfigXML, "下发人脸", deviceId, 1, userType); } /** * 编辑卡号 */ - private void editCard(String startTime, String endTime, int validTimeEnabled, String name, String card, String deviceId,String employeeNo) { + private void editCard(String startTime, String endTime, int validTimeEnabled, String name, String card, String deviceId, String employeeNo) { HCEHomeCMS.NET_EHOME_XML_CFG struXMLCard = new HCEHomeCMS.NET_EHOME_XML_CFG(); HCEHomeCMS.NET_DVR_STRING_POINTER stringRequestCard = new HCEHomeCMS.NET_DVR_STRING_POINTER(); @@ -578,7 +579,7 @@ public class CMSServer implements ApplicationRunner { "\r\n" + "\r\n" + "\r\n" + - ""+employeeNo+ "\r\n" + + "" + employeeNo + "\r\n" + ""; String nameAfter = "\r\n" + "\r\n" + @@ -724,7 +725,7 @@ public class CMSServer implements ApplicationRunner { private boolean editFace(String srcFile, String faceUrl, String card, String strRequest, String strConfigXML, String content, String deviceId, int type, String userType) { - +// deleteCard(deviceId, card); // lLoginID = map.get(deviceId); HCEHomeCMS.NET_EHOME_PTXML_PARAM struISAPXML = new HCEHomeCMS.NET_EHOME_PTXML_PARAM(); diff --git a/cloud/haikangface/src/main/java/com/sincere/haikangface/async/SendUserAsync.java b/cloud/haikangface/src/main/java/com/sincere/haikangface/async/SendUserAsync.java index 387ae88..5c6895e 100644 --- a/cloud/haikangface/src/main/java/com/sincere/haikangface/async/SendUserAsync.java +++ b/cloud/haikangface/src/main/java/com/sincere/haikangface/async/SendUserAsync.java @@ -37,7 +37,7 @@ public class SendUserAsync { // @Async("taskExecutor") public void sendStuToHaiKang(String srcFile, String picUrl, String card, String startTime, String endTime, int validTimeEnabled, String name, String deviceId, String userType, int isPiliang) { -// System.out.println("下发卡号:"+card+" startTime:"+startTime+" endTime:"+endTime); + System.out.println("下发时间设置:"+" startTime:"+startTime+" endTime:"+endTime); if (null == sendRecoderUtils) sendRecoderUtils = new SendRecoderUtils(); //1、检测图片是否合格 boolean check = true; @@ -49,14 +49,14 @@ public class SendUserAsync { } //根据设备是5603 还是新设备 String employeeNo = ""; - if (deviceId.contains("luzx")||deviceId.contains("5607")||deviceId.contains("5671")){ + if (deviceId.contains("ymzx")||deviceId.contains("5607")||deviceId.contains("5671")){ employeeNo = System.currentTimeMillis()+""; - cmsServer.SetCardWeekPlan(deviceId, HKXmlUtils.getInstance().SetCardRightCfg(card), "设置卡权限"); - cmsServer.SetCardWeekPlan(deviceId, HKXmlUtils.getInstance().SetCardWeekPlan(), "卡权限周计划"); cmsServer.SetCardWeekPlan(deviceId, HKXmlUtils.getInstance().SetCardTemplate(), "设置卡权限计划模板"); + cmsServer.SetCardWeekPlan(deviceId, HKXmlUtils.getInstance().SetCardWeekPlan(), "卡权限周计划"); for (int i = 0; i < 7; i++) { cmsServer. SetCardWeekPlan(deviceId, HKXmlUtils.getInstance().SetCardWeekPlanTime("00:00:00", "23:00:00",""+i), "设置卡权限周计划时间"); } + cmsServer.SetCardWeekPlan(deviceId, HKXmlUtils.getInstance().SetCardRightCfg(card), "设置卡权限"); } boolean result = cmsServer.createImgPath(srcFile, picUrl, card, startTime, endTime, validTimeEnabled, name, deviceId, userType,employeeNo); diff --git a/cloud/haikangface/src/main/java/com/sincere/haikangface/bean/StudentBean.java b/cloud/haikangface/src/main/java/com/sincere/haikangface/bean/StudentBean.java index 117c56e..460fba1 100644 --- a/cloud/haikangface/src/main/java/com/sincere/haikangface/bean/StudentBean.java +++ b/cloud/haikangface/src/main/java/com/sincere/haikangface/bean/StudentBean.java @@ -51,6 +51,15 @@ public class StudentBean implements Serializable { private String user_id; + private String photo; + + public String getPhoto() { + return photo; + } + + public void setPhoto(String photo) { + this.photo = photo; + } public String getUser_id() { return user_id; diff --git a/cloud/haikangface/src/main/java/com/sincere/haikangface/dao/UserDao.java b/cloud/haikangface/src/main/java/com/sincere/haikangface/dao/UserDao.java index a051196..e4101cb 100644 --- a/cloud/haikangface/src/main/java/com/sincere/haikangface/dao/UserDao.java +++ b/cloud/haikangface/src/main/java/com/sincere/haikangface/dao/UserDao.java @@ -159,7 +159,8 @@ public interface UserDao { @Param("userId") String userId, @Param("targetUrl") String targetUrl, @Param("clicks") int clicks, @Param("userList") String userList, @Param("isShare") int isShare, @Param("charpId1") int charpId1, @Param("knowledgeId") int knowledgeId); - @Select("select * from SZ_V_School_Student where school_id = #{school_id} and len(photo)>0 and len(student_num)>0") + @Select("select * from SZ_V_School_Student where school_id = 1066 and student_type = 1 and user_id not in (select DISTINCT user_id from DBlan27.xiaoanhxy.dbo.Face_Recoder where deviceId in ('840153205671', '840153965671', '840153485671', '840153325671', '840154005671',\n" + + " '840153105671', '840153165671', '840153835671') and time > '2019-12-10' )") List getAllStudentsWithSchoolId(@Param("school_id") String school_id); @Select("select * from SZ_V_School_Student where school_id = #{school_id} and student_type = 2") diff --git a/cloud/haikangface/src/main/java/com/sincere/haikangface/utils/AlarmUtils.java b/cloud/haikangface/src/main/java/com/sincere/haikangface/utils/AlarmUtils.java index cfdc4f3..0aac1bf 100644 --- a/cloud/haikangface/src/main/java/com/sincere/haikangface/utils/AlarmUtils.java +++ b/cloud/haikangface/src/main/java/com/sincere/haikangface/utils/AlarmUtils.java @@ -124,7 +124,7 @@ public class AlarmUtils { content = "无此卡号"; break; case "0x4b"://人脸认证通过 - if (!StringUtils.isEmpty(picDataUrl)) { + if (!StringUtils.isEmpty(picDataUrl)&&picDataUrl.split("id=").length>1) { String picDataUrlId = picDataUrl.split("id=")[1]; FileUtils.getInstance().writeLogs("0x4bdeviceID:" + deviceID + " cardNo:" + cardNo + " time:" + time + " picDataUrlId:" + picDataUrlId, FileUtils.faceSuccess); content = "人脸认证通过"; @@ -141,7 +141,7 @@ public class AlarmUtils { content = "真人检测失败"; break; case "0x69"://人证比对通过 - if (!StringUtils.isEmpty(picDataUrl)) { + if (!StringUtils.isEmpty(picDataUrl)&&picDataUrl.split("id=").length>1) { String picDataUrlId = picDataUrl.split("id=")[1]; FileUtils.getInstance().writeLogs("0x69deviceID:" + deviceID + " cardNo:" + cardNo + " time:" + time + " picDataUrlId:" + picDataUrlId, FileUtils.faceSuccess); content = "人脸认证通过"; diff --git a/cloud/haikangface/src/main/java/com/sincere/haikangface/xiananDao/SendRecordDao.java b/cloud/haikangface/src/main/java/com/sincere/haikangface/xiananDao/SendRecordDao.java index ea328cf..01eee7d 100644 --- a/cloud/haikangface/src/main/java/com/sincere/haikangface/xiananDao/SendRecordDao.java +++ b/cloud/haikangface/src/main/java/com/sincere/haikangface/xiananDao/SendRecordDao.java @@ -27,7 +27,7 @@ public interface SendRecordDao { @Param("userType") int userType, @Param("deviceType") int deviceType); - @Select("select * from Face_SendSuccess") + @Select("select * from Face_SendSuccess where schoolId = 1066 ") List getSenSuccess(); @Select("select * from Face_SendSuccess where deviceID = #{deviceID} and schoolId = #{schoolId}") diff --git a/cloud/haikangface/src/test/java/com/sincere/haikangface/HaikangfaceApplicationTests.java b/cloud/haikangface/src/test/java/com/sincere/haikangface/HaikangfaceApplicationTests.java index 8669aa6..122b022 100644 --- a/cloud/haikangface/src/test/java/com/sincere/haikangface/HaikangfaceApplicationTests.java +++ b/cloud/haikangface/src/test/java/com/sincere/haikangface/HaikangfaceApplicationTests.java @@ -85,24 +85,50 @@ public class HaikangfaceApplicationTests { @Test public void send() { - /* RestTemplate restTemplate = new RestTemplate(); + //补发失败人脸 + /*RestTemplate restTemplate = new RestTemplate(); //失败人脸补发 - List sendRecordBeanList = sendRecordDao.getSenFail("1066",2); + int userType = 2; + List sendRecordBeanList = sendRecordDao.getSenFail("110",userType); int idnex = 0; for (int i = 0; i < sendRecordBeanList.size(); i++) { SendRecordBean sendRecordBean = sendRecordBeanList.get(i); String url =String.format( "http://114.55.30.100:8089/facereco/sendStuCardAndImg?card=%s&deviceId=%s&endTime=%s&filePath=%s&name=%s&userType=%s&validTimeEnabled=%s&startTime=%s" - ,sendRecordBean.getNum(),sendRecordBean.getDeviceID(),"2023-10-01 10:00:00",sendRecordBean.getImgPath(),sendRecordBean.getName(),"2","1","2019-10-01 10:00:00"); + ,sendRecordBean.getNum(),sendRecordBean.getDeviceID(),"2023-10-01 10:00:00",sendRecordBean.getImgPath(),sendRecordBean.getName(),userType+"","1","2019-10-01 10:00:00"); String result1 = restTemplate.getForObject(url, String.class); System.out.println("下发人脸:" + result1+" idnex:"+idnex++); -// try { -// Thread.sleep(2000); -// } catch (InterruptedException e) { -// e.printStackTrace(); -// } }*/ + /*RestTemplate restTemplate = new RestTemplate(); + //失败人脸补发 + int userType = 2; + List studentBeans = userDao.getAllStudentsWithSchoolId("1066"); + List list = new ArrayList<>(); +// list.add("840153205671"); +// list.add("840153965671"); +// list.add("840153485671"); +// list.add("840153325671"); +// list.add("840154005671"); +// list.add("840153105671"); + list.add("840153165671"); +// list.add("840153835671"); + int idnex = 0; + for (int i = 0; i < studentBeans.size(); i++) { + StudentBean sendRecordBean = studentBeans.get(i); +//E:\wwwhtdocs\smartcampus\face17e50\School562\Teacher\947.png +// http://campus.myjxt.com//face17e50/School1066/Student/st20190101.png + for (int j = 0; j < list.size(); j++) { + String imgUrl = sendRecordBean.getPhoto().replace("http://campus.myjxt.com","E:\\wwwhtdocs\\smartcampus"); + String url =String.format( "http://114.55.30.100:8089/facereco/sendStuCardAndImg?card=%s&deviceId=%s&endTime=%s&filePath=%s&name=%s&userType=%s&validTimeEnabled=%s&startTime=%s" + ,sendRecordBean.getStudent_num(),list.get(j),"2023-10-01 10:00:00",imgUrl,sendRecordBean.getName(),userType+"","1","2019-10-01 10:00:00"); + String result1 = restTemplate.getForObject(url, String.class); + System.out.println("下发人脸:" + result1+" idnex:"+idnex++); + } + + }*/ + + /* List gradeList = userDao.getGrades(); for (int i = 0; i < gradeList.size(); i++) { @@ -291,7 +317,7 @@ public class HaikangfaceApplicationTests { @Test public void fileRes() { - List questionBeans = zuoYeDao.getQuestionsRecent(); +// List questionBeans = zuoYeDao.getQuestionsRecent(); /* List questionBeans = zuoYeDao.getQuestionsRecent(); String dateTime = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()); @@ -304,12 +330,12 @@ public class HaikangfaceApplicationTests { ques.getState(),intime,stemId+"",ques.getExamineFlag(),ques.getSubjectId(),"10","1",ques.getChapterId(),ques.getGradeId()+"","1","","1"); }*/ -List queIds = zuoyeAdminDao.getQueIds(); +//List queIds = zuoyeAdminDao.getQueIds(); - for (int i = queIds.size()-1; i >=0 ; i--) { - zuoyeAdminDao.addYYQuestionAndKnowledg(queIds.get(i), Long.parseLong(questionBeans.get(questionBeans.size()-1-i).getKnowledgeId()),0,1); - } +// for (int i = queIds.size()-1; i >=0 ; i--) { +// zuoyeAdminDao.addYYQuestionAndKnowledg(queIds.get(i), Long.parseLong(questionBeans.get(questionBeans.size()-1-i).getKnowledgeId()),0,1); +// } } diff --git a/cloud/log/2019-12-04/13_sendUserInfo.txt b/cloud/log/2019-12-04/13_sendUserInfo.txt new file mode 100644 index 0000000..fb7d4b5 --- /dev/null +++ b/cloud/log/2019-12-04/13_sendUserInfo.txt @@ -0,0 +1,20 @@ +2019-12-04 13:44:02 filePath:C:\Users\taohandong\Desktop\1111.jpg card:31D1AD65 name:林炜 deviceId:qqqqqqqqqqqqq + +2019-12-04 13:44:44 filePath:C:\Users\taohandong\Desktop\1111.jpg card:31D1AD65 name:林炜 deviceId:qqqqqqqqqqqqq + +2019-12-04 13:45:35 filePath:C:\TaoHandong\copy\School1035\Student\HSZL201901103.png card:31D1AD64 name:林炜 deviceId:qqqqqqqqqqqqq + +2019-12-04 13:46:13 filePath:C:\TaoHandong\copy\School1035\Student\HSZL201901103.png card:31D1AD64 name:林炜 deviceId:qqqqqqqqqqqqq + +2019-12-04 13:54:39 filePath:C:\TaoHandong\copy\School1035\Student\HSZL201901103.png card:31D1AD64 name:林炜 deviceId:qqqqqqqqqqqqq + +2019-12-04 13:55:01 filePath:C:\Users\taohandong\Desktop\1111.jpg card:31D1AD64 name:林炜 deviceId:qqqqqqqqqqqqq + +2019-12-04 13:55:07 filePath:C:\Users\taohandong\Desktop\1111.jpg card:31D1AD64 name:林炜 deviceId:qqqqqqqqqqqqq + +2019-12-04 13:55:22 filePath:C:\Users\taohandong\Desktop\1111.jpg card:31D1AD66 name:林炜 deviceId:qqqqqqqqqqqqq + +2019-12-04 13:55:48 filePath:C:\Users\taohandong\Desktop\1111.jpg card:31D1AD64 name:林炜 deviceId:qqqqqqqqqqqqq + +2019-12-04 13:56:12 filePath:C:\Users\taohandong\Desktop\1111.jpg card:31D1AD64 name:林炜 deviceId:qqqqqqqqqqqqq + diff --git a/cloud/log/2019-12-04/13_文件保存回调.txt b/cloud/log/2019-12-04/13_文件保存回调.txt new file mode 100644 index 0000000..65c7795 --- /dev/null +++ b/cloud/log/2019-12-04/13_文件保存回调.txt @@ -0,0 +1,20 @@ +2019-12-04 13:44:02 文件名:B25B8D991F703D7446556F779769C3451111.jpg + +2019-12-04 13:44:44 文件名:B080427C3DC6892D672EC78A31036DFA1111.jpg + +2019-12-04 13:45:35 文件名:4B7A932AF8E49BD80472EB10D9D6A973HSZL201901103.png + +2019-12-04 13:46:13 文件名:82CD103F0B2BDCBBB65D63548A0A9ECEHSZL201901103.png + +2019-12-04 13:54:40 文件名:D85FE5276FB74C963721798BBAC95211HSZL201901103.png + +2019-12-04 13:55:01 文件名:B366A0913FDFA40E6B2C7B2997EC005B1111.jpg + +2019-12-04 13:55:07 文件名:999BB6DF31D019569F42C5BED2BA545A1111.jpg + +2019-12-04 13:55:22 文件名:12D459538736C19523315D204BF560401111.jpg + +2019-12-04 13:55:48 文件名:EE6EDD519AA303E3E92EEFA59428619C1111.jpg + +2019-12-04 13:56:13 文件名:1C7528EBB8656AE4FC5797BC9CD419651111.jpg + diff --git a/cloud/log/2019-12-04/14_devices.txt b/cloud/log/2019-12-04/14_devices.txt new file mode 100644 index 0000000..69e6fc7 --- /dev/null +++ b/cloud/log/2019-12-04/14_devices.txt @@ -0,0 +1,2 @@ +2019-12-04 14:08:30 设备注册ID:qqqqqqqqqqqqq 对应登录id:0 + diff --git a/cloud/log/2019-12-04/14_sendUserInfo.txt b/cloud/log/2019-12-04/14_sendUserInfo.txt new file mode 100644 index 0000000..89f4a8d --- /dev/null +++ b/cloud/log/2019-12-04/14_sendUserInfo.txt @@ -0,0 +1,6 @@ +2019-12-04 14:01:21 filePath:C:\Users\taohandong\Desktop\1111.jpg card:31D1AD64 name:林炜 deviceId:qqqqqqqqqqqqq + +2019-12-04 14:04:22 filePath:C:\Users\taohandong\Desktop\1111.jpg card:31D1AD64 name:林炜 deviceId:qqqqqqqqqqqqq + +2019-12-04 14:04:34 filePath:C:\Users\taohandong\Desktop\1111.jpg card:31D1AD64 name:林炜 deviceId:qqqqqqqqqqqqq + diff --git a/cloud/log/2019-12-04/14_学校id记录.txt b/cloud/log/2019-12-04/14_学校id记录.txt new file mode 100644 index 0000000..bf777e9 --- /dev/null +++ b/cloud/log/2019-12-04/14_学校id记录.txt @@ -0,0 +1,20 @@ +2019-12-04 14:06:58 学校ID:1077 设备列表:[] + +2019-12-04 14:06:58 学校ID:435 设备列表:[] + +2019-12-04 14:06:58 学校ID:435 设备列表:[] + +2019-12-04 14:06:58 学校ID:435 设备列表:[] + +2019-12-04 14:06:58 学校ID:460 设备列表:[] + +2019-12-04 14:06:58 学校ID:23 设备列表:[] + +2019-12-04 14:06:58 学校ID:1077 设备列表:[] + +2019-12-04 14:06:58 学校ID:366 设备列表:[] + +2019-12-04 14:06:59 学校ID:654 设备列表:[] + +2019-12-04 14:06:59 学校ID:1077 设备列表:[] + diff --git a/cloud/log/2019-12-04/14_文件保存回调.txt b/cloud/log/2019-12-04/14_文件保存回调.txt new file mode 100644 index 0000000..7b28177 --- /dev/null +++ b/cloud/log/2019-12-04/14_文件保存回调.txt @@ -0,0 +1,6 @@ +2019-12-04 14:01:22 文件名:D3C279389C6FA30CB6FEDAC3C7C931251111.jpg + +2019-12-04 14:04:23 文件名:5A2ADA0DB7A7C20AC07C6CB408BC92371111.jpg + +2019-12-04 14:04:34 文件名:91925F9FD88C10971796401256A753521111.jpg + diff --git a/cloud/log/2019-12-04/15_facesuccess.txt b/cloud/log/2019-12-04/15_facesuccess.txt new file mode 100644 index 0000000..28228d2 --- /dev/null +++ b/cloud/log/2019-12-04/15_facesuccess.txt @@ -0,0 +1,4 @@ +2019-12-04 15:29:16 0x4bdeviceID:qqqqqqqqqqqqq cardNo:1689112881 time:2019-12-04 15:41:44 picDataUrlId:11CA89B5F512A8AF84B6C0A4E663C26D&username=&password= + +2019-12-04 15:32:56 0x4bdeviceID:qqqqqqqqqqqqq cardNo:1689112881 time:2019-12-04 15:45:25 picDataUrlId:E6E0858773E98757B0DA4DDFADA66D40&username=&password= + diff --git a/cloud/log/2019-12-04/15_人脸识别成功记录.txt b/cloud/log/2019-12-04/15_人脸识别成功记录.txt new file mode 100644 index 0000000..6dfa612 --- /dev/null +++ b/cloud/log/2019-12-04/15_人脸识别成功记录.txt @@ -0,0 +1,4 @@ +2019-12-04 15:29:16 林炜皓 31D1AD64 + +2019-12-04 15:32:56 林炜皓 31D1AD64 + diff --git a/cloud/log/2019-12-04/15_文件保存回调.txt b/cloud/log/2019-12-04/15_文件保存回调.txt new file mode 100644 index 0000000..827892c --- /dev/null +++ b/cloud/log/2019-12-04/15_文件保存回调.txt @@ -0,0 +1,4 @@ +2019-12-04 15:29:11 文件名:11CA89B5F512A8AF84B6C0A4E663C26D201912041541441448.jpg + +2019-12-04 15:32:52 文件名:E6E0858773E98757B0DA4DDFADA66D40201912041545251466.jpg + diff --git a/cloud/log/2019-12-04/17_文件保存回调.txt b/cloud/log/2019-12-04/17_文件保存回调.txt new file mode 100644 index 0000000..91a029c --- /dev/null +++ b/cloud/log/2019-12-04/17_文件保存回调.txt @@ -0,0 +1,164 @@ +2019-12-04 17:08:59 文件名:F516BFBA1486878F1F96703C2720E0962019-12-04.jpg + +2019-12-04 17:09:04 文件名:F171B7542BC77F6CC924FE8F0719001B2019-12-04.jpg + +2019-12-04 17:09:04 文件名:4DA79C5BA39B2DE57CB64A247CEB4DB92019-12-04.jpg + +2019-12-04 17:09:05 文件名:2337527EFF7065DFAEC3FC7D399271352019-12-04.jpg + +2019-12-04 17:09:09 文件名:F363801DFC3B189C5E89932202470E962019-12-04.jpg + +2019-12-04 17:09:09 文件名:30F3D9B4F164C81DC245BC834E1825F42019-12-04.jpg + +2019-12-04 17:09:13 文件名:E7F4C8698DB32A30CF64CAEE724D6B502019-12-04.jpg + +2019-12-04 17:09:18 文件名:3D68AAF8E6A53AC0C6214FA00D9E47A42019-12-04.jpg + +2019-12-04 17:09:23 文件名:91C037518486F8903377BCBE128B8AD12019-12-04.jpg + +2019-12-04 17:09:28 文件名:23952D6A829000268C017E0402C2235E2019-12-04.jpg + +2019-12-04 17:09:35 文件名:147A383519C728BC3170CD3A0283CAED2019-12-04.jpg + +2019-12-04 17:09:40 文件名:38BF0BF906A0A69B35473E6B0DE4A53B2019-12-04.jpg + +2019-12-04 17:10:04 文件名:09979008552AA392E00388EB514D30D92019-12-04.jpg + +2019-12-04 17:10:25 文件名:D9F9B84858ADD779F3B17A36307614752019-12-04T17:10:57A08:0001D8123177701.jpg + +2019-12-04 17:10:30 文件名:590A143A445118C6C4997F62C58C14CB2019-12-04T17:10:57A08:0001D8123177701.jpg + +2019-12-04 17:10:37 文件名:1741AD2FB0788CC40C2DAF5D9F433FE12019-12-04T17:11:07A08:0001D8123177701.jpg + +2019-12-04 17:10:41 文件名:45AC0B45D568EAFFA98D21902F62F8052019-12-04T17:11:14A08:0001D8123177701.jpg + +2019-12-04 17:10:42 文件名:30464D923875B61D160DBAEAF3A94FF32019-12-04T17:11:07A08:0001D8123177701.jpg + +2019-12-04 17:10:47 文件名:D83FBA7EE184C15C4A4F7224223EBFEC2019-12-04T17:11:14A08:0001D8123177701.jpg + +2019-12-04 17:12:36 文件名:740205939AB2C998E1CB3B1F661644F12019-12-04.jpg + +2019-12-04 17:12:41 文件名:DF37DEE57FC2DCC0C4253B1FAE5CB2E22019-12-04.jpg + +2019-12-04 17:12:42 文件名:913ADDF2C40140C319C3FBC9EAFB002A2019-12-04.jpg + +2019-12-04 17:12:46 文件名:F15D44790CC48998D9D3AC8FCF741A822019-12-04.jpg + +2019-12-04 17:14:29 文件名:99B92DBA52C5E6F66B3D8D92CA37DAB42019-12-04.jpg + +2019-12-04 17:14:34 文件名:E354F7C80FCDBC2883AB296A02DA0E1B2019-12-04.jpg + +2019-12-04 17:15:02 文件名:CD0192E6791DF6467EA316AA54CC5DFB2019-12-04.jpg + +2019-12-04 17:15:07 文件名:18BD8BCAECB12B829866C82C04252E3A2019-12-04.jpg + +2019-12-04 17:15:15 文件名:A7BA73DADBA8AA48E6B722831D6B3E792019-12-04.jpg + +2019-12-04 17:15:20 文件名:EEB67F6913B192BF1F0ED9887EBA41062019-12-04.jpg + +2019-12-04 17:15:30 文件名:78E0F8641F871E3C06B13951CD0CC7CC2019-12-04.jpg + +2019-12-04 17:15:36 文件名:82819CC856663CBCDE900A5F7E18A7262019-12-04.jpg + +2019-12-04 17:15:52 文件名:735397BB9075E69F6194F1030F6372BD2019-12-04.jpg + +2019-12-04 17:15:56 文件名:8075892E0DFF5A047D6B4AE00DCD571F2019-12-04.jpg + +2019-12-04 17:15:57 文件名:84B87B234FE1D461A34FDCB52E8381712019-12-04.jpg + +2019-12-04 17:16:01 文件名:F36C55EE350DBF867648BC90E956953D2019-12-04.jpg + +2019-12-04 17:16:27 文件名:1E39C261FA101BE293E8307D52BBF4F22019-12-04.jpg + +2019-12-04 17:16:32 文件名:438ED99F669D4E1F68B81622F071529A2019-12-04.jpg + +2019-12-04 17:17:17 文件名:7EC4B7157000920CB27E754DCA89B6EA2019-12-04.jpg + +2019-12-04 17:17:23 文件名:2BD6F8AA437C7C074BA22E3F0086A19D2019-12-04.jpg + +2019-12-04 17:17:29 文件名:CA9E4F02AF4C3F003BA9FFAA1C7E02A42019-12-04.jpg + +2019-12-04 17:17:34 文件名:908B6CD51F053E7ED3EF3C980ACFA1FC2019-12-04.jpg + +2019-12-04 17:17:47 文件名:248684757B9B7DCA57AB77CAD81FD14F2019-12-04.jpg + +2019-12-04 17:17:53 文件名:82480CE864851B6B0A2B9CDB8813DB692019-12-04.jpg + +2019-12-04 17:17:56 文件名:5B279EF45EA49B8BB5064FFFB5561F362019-12-04.jpg + +2019-12-04 17:18:01 文件名:970A2DAF8365E615E69D242B695E326A2019-12-04.jpg + +2019-12-04 17:18:11 文件名:8CB28F93094CF59A09DA70AEAABC98082019-12-04.jpg + +2019-12-04 17:18:16 文件名:7DAB29949C5E64AC08FD4728EC5A030E2019-12-04.jpg + +2019-12-04 17:18:32 文件名:D10852C00407E56F2BDAAF598AA1771E2019-12-04.jpg + +2019-12-04 17:18:38 文件名:E35C8926D9DB8E4815702BDF6A01A72B2019-12-04.jpg + +2019-12-04 17:19:57 文件名:079C31118F8B20E9A7CB73E0031A68782019-12-04.jpg + +2019-12-04 17:20:02 文件名:466636ACD3D15184095B2CA67DCDA1762019-12-04.jpg + +2019-12-04 17:22:28 文件名:F410BB8D2E0DBEA4E0BCB5229A15BBE42019-12-04.jpg + +2019-12-04 17:22:33 文件名:9A30960CA0353A45BE8C6D873A9D2F7F2019-12-04.jpg + +2019-12-04 17:23:25 文件名:8FFB68D2A075AEB3E6D08F0F4C8DDD952019-12-04.jpg + +2019-12-04 17:23:30 文件名:6F331633B8E57B15693FE458DF789E742019-12-04.jpg + +2019-12-04 17:25:39 文件名:34EC480C9D5B0A7671A985FCFE21F8B42019-12-04.jpg + +2019-12-04 17:25:42 文件名:FD7EE2C4BFFA9B8E8BF2454FEFCC44FC2019-12-04.jpg + +2019-12-04 17:25:44 文件名:D0D8C7BC33F74695C92BDFA266BDFF842019-12-04.jpg + +2019-12-04 17:25:47 文件名:5B0E0FD00CFB86702C3D83B225C759DD2019-12-04.jpg + +2019-12-04 17:28:00 文件名:A96BBAAA692F225751CCB3D07BF1D3212019-12-04.jpg + +2019-12-04 17:28:05 文件名:89C1FD1354B65DA0C572522D560ECC1C2019-12-04.jpg + +2019-12-04 17:28:46 文件名:32F2DC6F51CDABF46DF02D400E54C8332019-12-04.jpg + +2019-12-04 17:28:51 文件名:F27FBDD4586F6ED2CB6E1C4A28037E232019-12-04.jpg + +2019-12-04 17:30:28 文件名:C3A17E2345A2ECE8FB36ED2CFC6E02F92019-12-04.jpg + +2019-12-04 17:30:34 文件名:F08753F2D2579DA65E7045419732D9662019-12-04.jpg + +2019-12-04 17:31:22 文件名:D0312D0402287898F63BD2F23B7D81802019-12-04.jpg + +2019-12-04 17:31:25 文件名:160BABE20EE32A62D29ADDC7B8A9AA282019-12-04.jpg + +2019-12-04 17:31:27 文件名:B4D8E026FEDFE801DC2A65986B3B1B592019-12-04.jpg + +2019-12-04 17:31:30 文件名:DB101BE8A22FA05CC8429161A8E7D9EA2019-12-04.jpg + +2019-12-04 17:31:39 文件名:0076B339B4B10B2626D9CB382908A6D32019-12-04.jpg + +2019-12-04 17:31:44 文件名:7DC79B1E58253021FBADB374F5B5CDF62019-12-04.jpg + +2019-12-04 17:32:57 文件名:D72F4CA45A739CEA538F61138875C1BA2019-12-04.jpg + +2019-12-04 17:33:03 文件名:3B6D40D2EBC3C75DDFD425486D276A022019-12-04.jpg + +2019-12-04 17:33:40 文件名:2EAC68C6B0F49C48B519CA691A7192F72019-12-04.jpg + +2019-12-04 17:33:45 文件名:ECAC6D45F72C20BFD2A561D8DF5A2F5B2019-12-04.jpg + +2019-12-04 17:34:56 文件名:023124E93B9514C81396F3C36E1A700E2019-12-04.jpg + +2019-12-04 17:35:01 文件名:F882EE5D13C14B2F550B2E76B85ACBA32019-12-04.jpg + +2019-12-04 17:35:34 文件名:5B7FE253243C53BD8B6838527E7A3B3D2019-12-04.jpg + +2019-12-04 17:35:39 文件名:53CCC073DD7F3CAD9C91E6F43DB548F62019-12-04.jpg + +2019-12-04 17:35:47 文件名:54F46DD950395A8457B2FB30519048D92019-12-04.jpg + +2019-12-04 17:35:52 文件名:02368EA1389708B8BD6509529022DB742019-12-04.jpg + +2019-12-04 17:35:55 文件名:91716470126490BEF7C673498F9786D42019-12-04.jpg + diff --git a/cloud/picPath/comp/1111.jpg b/cloud/picPath/comp/1111.jpg new file mode 100644 index 0000000..19b6460 Binary files /dev/null and b/cloud/picPath/comp/1111.jpg differ diff --git a/cloud/picPath/comp/HSZL201901103.png b/cloud/picPath/comp/HSZL201901103.png new file mode 100644 index 0000000..4dfce54 Binary files /dev/null and b/cloud/picPath/comp/HSZL201901103.png differ -- libgit2 0.21.0