diff --git a/ics-admin/src/main/java/com/ics/admin/controller/meeting/RoomContentController.java b/ics-admin/src/main/java/com/ics/admin/controller/meeting/RoomContentController.java index ecc6dab..f4c7681 100644 --- a/ics-admin/src/main/java/com/ics/admin/controller/meeting/RoomContentController.java +++ b/ics-admin/src/main/java/com/ics/admin/controller/meeting/RoomContentController.java @@ -1,5 +1,6 @@ package com.ics.admin.controller.meeting; +import cn.hutool.core.lang.Assert; import com.ics.admin.domain.BuildingDetail; import com.ics.admin.domain.Room; import com.ics.admin.domain.meeting.*; @@ -104,7 +105,17 @@ public class RoomContentController extends BaseController { @PostMapping("save") public R addSave(@RequestBody RoomContent roomContent) { System.out.println(roomContent); - return toAjax(roomContentService.insertRoomContent(roomContent)); + int i = roomContentService.insertRoomContent(roomContent); + Assert.isTrue(i > 0, "新增失败"); + + //如果新增成功,把房间的状态改为已启用 + Room room = roomService.selectRoomById(roomContent.getRoomId()); + room.setStatus(Room.Status.YES); + int i1 = roomService.updateRoom(room); + Assert.isTrue(i1 > 0, "修改房间已租状态失败"); + + + return toAjax(i); } /** @@ -150,6 +161,7 @@ public class RoomContentController extends BaseController { // 1.会议室类型,2.人数,3.会议室设备,4.形式 int count = roomContentService.addItemServe(roomItemByRoom); + return toAjax(count); } diff --git a/ics-admin/src/main/java/com/ics/admin/domain/meeting/Equipment.java b/ics-admin/src/main/java/com/ics/admin/domain/meeting/Equipment.java index 4c05bcd..e252d97 100644 --- a/ics-admin/src/main/java/com/ics/admin/domain/meeting/Equipment.java +++ b/ics-admin/src/main/java/com/ics/admin/domain/meeting/Equipment.java @@ -25,8 +25,6 @@ public class Equipment extends BaseEntity { /** 设备状态 0在线 1损坏 2离线 */ private Long status; - /** 创建时间 */ - private Date createDate; /** 设备编号 */ private String equipmentNum; @@ -34,4 +32,8 @@ public class Equipment extends BaseEntity { /** 设备图片 */ private String pic; + private String ip; + + private String roomId; + } diff --git a/ics-admin/src/main/java/com/ics/admin/domain/meeting/UserEquipment.java b/ics-admin/src/main/java/com/ics/admin/domain/meeting/UserEquipment.java index 7df91ef..ab58ec2 100644 --- a/ics-admin/src/main/java/com/ics/admin/domain/meeting/UserEquipment.java +++ b/ics-admin/src/main/java/com/ics/admin/domain/meeting/UserEquipment.java @@ -1,5 +1,6 @@ package com.ics.admin.domain.meeting; +import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableName; import com.ics.common.core.domain.BaseEntity; import lombok.Data; @@ -21,4 +22,7 @@ public class UserEquipment extends BaseEntity { /** 设备id */ private Long equipmentId; + @TableField(exist = false) + private String roomName; + } diff --git a/ics-admin/src/main/java/com/ics/admin/domain/meeting/VisitorPerson.java b/ics-admin/src/main/java/com/ics/admin/domain/meeting/VisitorPerson.java index 0ec8589..37ce601 100644 --- a/ics-admin/src/main/java/com/ics/admin/domain/meeting/VisitorPerson.java +++ b/ics-admin/src/main/java/com/ics/admin/domain/meeting/VisitorPerson.java @@ -22,6 +22,8 @@ public class VisitorPerson extends BaseEntity { /** 被访人id */ private Long intervieweeId; + private Long customerId; + /** 姓名 */ private String name; diff --git a/ics-admin/src/main/java/com/ics/admin/domain/meeting/vo/DeviceData.java b/ics-admin/src/main/java/com/ics/admin/domain/meeting/vo/DeviceData.java new file mode 100644 index 0000000..a2bfe69 --- /dev/null +++ b/ics-admin/src/main/java/com/ics/admin/domain/meeting/vo/DeviceData.java @@ -0,0 +1,9 @@ +package com.ics.admin.domain.meeting.vo; + +import lombok.Data; + +@Data +public class DeviceData { + + private DeviceUser data; +} diff --git a/ics-admin/src/main/java/com/ics/admin/domain/meeting/vo/DeviceUser.java b/ics-admin/src/main/java/com/ics/admin/domain/meeting/vo/DeviceUser.java new file mode 100644 index 0000000..b9a7c1f --- /dev/null +++ b/ics-admin/src/main/java/com/ics/admin/domain/meeting/vo/DeviceUser.java @@ -0,0 +1,56 @@ +package com.ics.admin.domain.meeting.vo; + +import lombok.Data; + +import java.util.Date; + +@Data +public class DeviceUser { + + private int authType; + private String bodyTemperature; + private String cardnum; + private String certificateImage; + private String certificateName; + private String certificateNumber; + private int certificateType; + private String deviceAddress; + private String deviceId; + private String deviceName; + private String electronicName; + private String electronicNumber; + private int eventType; + private String faceId; + private String gender; + private String healthCodeStatus; + private String healthCodeType; + private int healthSource; + private int id; + private String image; + private String journey; + private int mask; + private String nucleic; + private String origin; + private String personId; + private String personType; + private String phone; + private String qrcodeResult; + private String regCardnum; + private String regCertificateNumber; + private String regName; + private String regQRCode; + private String reserved1; + private String reserved10; + private String reserved2; + private String reserved3; + private String reserved4; + private String reserved5; + private String reserved6; + private String reserved7; + private String reserved8; + private String reserved9; + private String sourceNumber; + private Date timestamp; + private String vaccine; + private String workId; +} diff --git a/ics-admin/src/main/java/com/ics/admin/service/impl/UserEquipmentServiceImpl.java b/ics-admin/src/main/java/com/ics/admin/service/impl/UserEquipmentServiceImpl.java index e6d64ea..d8da831 100644 --- a/ics-admin/src/main/java/com/ics/admin/service/impl/UserEquipmentServiceImpl.java +++ b/ics-admin/src/main/java/com/ics/admin/service/impl/UserEquipmentServiceImpl.java @@ -7,6 +7,10 @@ import cn.hutool.core.collection.CollUtil; import cn.hutool.core.util.StrUtil; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.ics.admin.domain.Room; +import com.ics.admin.domain.meeting.RoomEquipment; +import com.ics.admin.mapper.meeting.RoomEquipmentMapper; +import com.ics.admin.service.IRoomService; import com.ics.admin.service.meeting.IRoomEquipmentService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -28,6 +32,12 @@ public class UserEquipmentServiceImpl extends ServiceImpl wrapper = new QueryWrapper<>(); + wrapper.eq("equipment_id",userEquipment.getEquipmentId()); + RoomEquipment roomEquipment = roomEquipmentMapper.selectOne(wrapper); + if (null != roomEquipment){ + Room room = roomService.selectRoomById(roomEquipment.getRoomId()); + userEquipment.setRoomName(room.getName()); + } } - return null; + return list; } } diff --git a/ics-admin/src/main/resources/mapper/admin/meeting/EquipmentMapper.xml b/ics-admin/src/main/resources/mapper/admin/meeting/EquipmentMapper.xml index 8a121ea..0cb4c1c 100644 --- a/ics-admin/src/main/resources/mapper/admin/meeting/EquipmentMapper.xml +++ b/ics-admin/src/main/resources/mapper/admin/meeting/EquipmentMapper.xml @@ -9,7 +9,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" - + + @@ -20,7 +21,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" - SELECT id, type, equipment_name, status, create_date, equipment_num, pic, delete_flag, create_by, create_time, update_by, update_time FROM tb_equipment + SELECT id, type, equipment_name, status, create_date, equipment_num,room_id,ip, pic, delete_flag, create_by, create_time, update_by, update_time FROM tb_equipment @@ -46,6 +47,7 @@ phone, join_time, visit_time, + customer_id, leave_time, visit_content, card_type, @@ -61,6 +63,7 @@ #{phone}, #{joinTime}, #{visitTime}, + #{customerId}, #{leaveTime}, #{visitContent}, #{cardType}, @@ -79,6 +82,7 @@ phone = #{phone}, join_time = #{joinTime}, visit_time = #{visitTime}, + customer_id = #{customerId}, leave_time = #{leaveTime}, visit_content = #{visitContent}, card_type = #{cardType}, diff --git a/ics-common/ics-common-core/src/main/java/com/ics/common/utils/DeviceUtils.java b/ics-common/ics-common-core/src/main/java/com/ics/common/utils/DeviceUtils.java index b11ae65..9d54cef 100644 --- a/ics-common/ics-common-core/src/main/java/com/ics/common/utils/DeviceUtils.java +++ b/ics-common/ics-common-core/src/main/java/com/ics/common/utils/DeviceUtils.java @@ -23,6 +23,9 @@ public class DeviceUtils { private static final Logger log = LoggerFactory.getLogger(DeviceUtils.class); private final static String DEVICE_IP = "http://192.168.0.12:80"; + private static final String BASE64_PREFIX="data:image/png;base64,"; + + /** * 门禁设备信息 * @@ -108,16 +111,16 @@ public class DeviceUtils { * ] * } */ - public static String addPersons() { + public static String addPersons(DevicePersonDto dto) { String url = DEVICE_IP + "/api/viso/v2/addPersons"; ArrayList dtos = new ArrayList<>(); DevicePersonsDto devicePersonDto = new DevicePersonsDto(); - DevicePersonDto dto = new DevicePersonDto(); - dto.setPersonId("010"); - dto.setName("张三"); - dto.setWorkId("001"); - dto.setGender("male"); - dto.setAge("30"); +// DevicePersonDto dto = new DevicePersonDto(); +// dto.setPersonId("010"); +// dto.setName("张三"); +// dto.setWorkId("001"); +// dto.setGender("male"); +// dto.setAge("30"); dtos.add(dto); devicePersonDto.setPersons(dtos); String json = JsonUtils.toJson(devicePersonDto); @@ -138,14 +141,11 @@ public class DeviceUtils { devicePersonDto.setPersonId("010"); FacesDto facesDto = new FacesDto(); facesDto.setFaceId("001"); - //照片 base64位 -// facesDto.setData(); - -// BufferedImage bufferedImage = ImgUtil.toImage(base64ImagStr); -// // 这块也可以直接通过传入一个image对象, -// Image scaleImage = ImgUtil.scale(bufferedImage, 0.2f); -// ImgUtil.toBase64(), "facesDto"); - + String imgurl = "https://img2.imgtp.com/2024/03/08/fdH30Rou.jpg"; + String s =BASE64_PREFIX+ UrlToBase64Util.imageUrlToBase64(imgurl); + facesDto.setData(s); + faceDtos.add(facesDto); + devicePersonDto.setFaces(faceDtos); String json = JsonUtils.toJson(devicePersonDto); System.out.println(json); System.out.println(url); @@ -155,9 +155,30 @@ public class DeviceUtils { } + /** + * 记录查询 + */ + public static String queryRecognizeRecord() { + String url = DEVICE_IP + "/api/viso/v2/queryRecognizeRecord"; + JSONObject param = JSONUtil.createObj(); + param.put("pageIndex", 1); + param.put("pageSize", 10); + param.put("sort", "desc"); + param.put("personId", "0088"); + String json = JsonUtils.toJson(param); + System.out.println(json); + System.out.println(url); + String msg = HttpUtil.post(url,json); + log.info("设备新增人员:{}", msg); + return msg; + } + + public static void main(String[] args) { - String s = addPersons(); +// String s = addPersons(); + String s = addFaces(); + System.out.println(s); // List dateTimes = DateUtil.rangeToList(DateUtil.beginOfDay(new Date()), DateUtil.endOfDay(offset), DateField.DAY_OF_MONTH); // diff --git a/ics-common/ics-common-core/src/main/java/com/ics/common/utils/UrlToBase64Util.java b/ics-common/ics-common-core/src/main/java/com/ics/common/utils/UrlToBase64Util.java index 6456723..a29b3a3 100644 --- a/ics-common/ics-common-core/src/main/java/com/ics/common/utils/UrlToBase64Util.java +++ b/ics-common/ics-common-core/src/main/java/com/ics/common/utils/UrlToBase64Util.java @@ -18,7 +18,6 @@ import java.util.regex.Pattern; public class UrlToBase64Util { //base64前缀 - private static final String BASE64_PREFIX="data:image/png;base64,"; // public static void main(String[] args) throws Exception { // String url="https://localhost:8080/upload/file/20221101/test.png"; diff --git a/ics-system/src/main/java/com/ics/system/controller/FileController.java b/ics-system/src/main/java/com/ics/system/controller/FileController.java index c31f434..1a590f5 100644 --- a/ics-system/src/main/java/com/ics/system/controller/FileController.java +++ b/ics-system/src/main/java/com/ics/system/controller/FileController.java @@ -26,7 +26,7 @@ import java.util.List; */ @Slf4j @RestController -@RequestMapping("dfs") +@RequestMapping("/api/dfs") public class FileController { @Autowired diff --git a/ics-web/src/main/java/com/ics/controller/mobile/meeting/ApiEquipmentController.java b/ics-web/src/main/java/com/ics/controller/mobile/meeting/ApiEquipmentController.java index 217b05b..29517c2 100644 --- a/ics-web/src/main/java/com/ics/controller/mobile/meeting/ApiEquipmentController.java +++ b/ics-web/src/main/java/com/ics/controller/mobile/meeting/ApiEquipmentController.java @@ -2,6 +2,7 @@ package com.ics.controller.mobile.meeting; import com.ics.admin.controller.meeting.UserEquipmentController; import com.ics.admin.domain.meeting.UserEquipment; +import com.ics.admin.domain.meeting.vo.DeviceData; import com.ics.admin.service.meeting.IUserEquipmentService; import com.ics.common.core.controller.BaseController; import com.ics.common.core.domain.R; @@ -26,5 +27,20 @@ public class ApiEquipmentController extends BaseController { } + /** + * 获取对比记录 + * @return + */ + @PostMapping("/getEquipmentByUserIdAndEquipmentId") + public R getEquipmentByUserIdAndEquipmentId(@RequestBody DeviceData data){ + + System.out.println(data); + + + return R.ok("调用成功"); + } + + + } diff --git a/ics-web/src/main/java/com/ics/controller/mobile/meeting/ApiVisitorController.java b/ics-web/src/main/java/com/ics/controller/mobile/meeting/ApiVisitorController.java index 9998653..33d24fb 100644 --- a/ics-web/src/main/java/com/ics/controller/mobile/meeting/ApiVisitorController.java +++ b/ics-web/src/main/java/com/ics/controller/mobile/meeting/ApiVisitorController.java @@ -1,6 +1,8 @@ package com.ics.controller.mobile.meeting; +import cn.hutool.core.date.DateUtil; +import cn.hutool.core.lang.Assert; import com.baomidou.mybatisplus.core.metadata.IPage; import com.ics.admin.domain.BuildingDetail; import com.ics.admin.domain.Customer; @@ -20,16 +22,22 @@ import com.ics.admin.service.meeting.IRoomContentService; import com.ics.admin.service.meeting.IVisitorPersonService; import com.ics.common.core.controller.BaseController; import com.ics.common.core.domain.R; +import com.ics.common.core.domain.dto.DevicePersonDto; +import com.ics.common.core.domain.dto.FacesDto; import com.ics.common.core.page.PageDomain; import com.ics.common.core.page.TableSupport; +import com.ics.common.utils.DeviceUtils; +import com.ics.common.utils.UrlToBase64Util; import org.checkerframework.checker.units.qual.A; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; +import java.util.ArrayList; import java.util.List; import java.util.stream.Collectors; + /** * 访客管理模块 */ @@ -37,6 +45,9 @@ import java.util.stream.Collectors; @RequestMapping("/api/visitor") public class ApiVisitorController extends BaseController { + private static final String BASE64_PREFIX="data:image/png;base64,"; + + @Autowired private ICustomerService customerService; @@ -80,12 +91,38 @@ public class ApiVisitorController extends BaseController { } /** - * 访客预约 ,用户自己预约 + * + * 添加访客预约 */ - @PostMapping("VisitorPerson") + @PostMapping("visitorPerson") public R selectUserByCustomer(@RequestBody VisitorPerson person) { person.setStatus(0); boolean save = visitorPersonService.save(person); + Assert.isTrue(save, "添加访客预约失败"); + //添加成功后,需要 往设备中添加一条数据 + DevicePersonDto devicePersonDto = new DevicePersonDto(); + ArrayList facesDtos = new ArrayList<>(); + devicePersonDto.setPersonId(String.valueOf(person.getUserId())); + devicePersonDto.setName(person.getName()); + devicePersonDto.setPhone(String.valueOf(person.getPhone())); + devicePersonDto.setCertificateType("111"); + devicePersonDto.setCertificateNumber(person.getCardNo()); + //添加人员类型 + devicePersonDto.setPersonType("visitor"); + //添加访客时间 + devicePersonDto.setVisitorValidStartTime(DateUtil.format(person.getVisitTime(), "yyyy-MM-dd HH:mm:ss")); + devicePersonDto.setVisitorValidEndTime(DateUtil.format(person.getLeaveTime(), "yyyy-MM-dd HH:mm:ss")); + FacesDto facesDto = new FacesDto(); + facesDto.setFaceId(String.valueOf(person.getUserId())); + String faceData =BASE64_PREFIX+ UrlToBase64Util.imageUrlToBase64(person.getPhoto()); + facesDto.setData(faceData); + facesDtos.add(facesDto); + devicePersonDto.setFaces(facesDtos); + + DeviceUtils.addPersons(devicePersonDto); + + + return toAjax(save); }