修改了对应的接口,和设备对接api

This commit is contained in:
chendaze 2024-03-09 15:55:30 +08:00
parent 730719c980
commit 47fcf54fc0
14 changed files with 214 additions and 28 deletions

View File

@ -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);
}

View File

@ -25,8 +25,6 @@ public class Equipment extends BaseEntity<Equipment> {
/** 设备状态 0在线 1损坏 2离线 */
private Long status;
/** 创建时间 */
private Date createDate;
/** 设备编号 */
private String equipmentNum;
@ -34,4 +32,8 @@ public class Equipment extends BaseEntity<Equipment> {
/** 设备图片 */
private String pic;
private String ip;
private String roomId;
}

View File

@ -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<UserEquipment> {
/** 设备id */
private Long equipmentId;
@TableField(exist = false)
private String roomName;
}

View File

@ -22,6 +22,8 @@ public class VisitorPerson extends BaseEntity<VisitorPerson> {
/** 被访人id */
private Long intervieweeId;
private Long customerId;
/** 姓名 */
private String name;

View File

@ -0,0 +1,9 @@
package com.ics.admin.domain.meeting.vo;
import lombok.Data;
@Data
public class DeviceData {
private DeviceUser data;
}

View File

@ -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;
}

View File

@ -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<UserEquipmentMapper, U
@Autowired
private IRoomEquipmentService roomEquipmentService;
@Autowired
private RoomEquipmentMapper roomEquipmentMapper;
@Autowired
private IRoomService roomService;
/**
* 查询用户设备关联
*
@ -103,10 +113,17 @@ public class UserEquipmentServiceImpl extends ServiceImpl<UserEquipmentMapper, U
if(CollUtil.isEmpty(list)){
return list;
}
// 查出所有用户的设备然后根据设备id 查出所在的房间号
for (UserEquipment userEquipment : list) {
// roomEquipmentService.s
QueryWrapper<RoomEquipment> 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;
}
}

View File

@ -9,7 +9,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<result property="type" column="type" />
<result property="equipmentName" column="equipment_name" />
<result property="status" column="status" />
<result property="createDate" column="create_date" />
<result property="ip" column="ip" />
<result property="roomId" column="room_id" />
<result property="equipmentNum" column="equipment_num" />
<result property="pic" column="pic" />
<result property="deleteFlag" column="delete_flag" />
@ -20,7 +21,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
</resultMap>
<sql id="selectEquipmentVo">
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
</sql>
<select id="selectEquipmentList" parameterType="Equipment" resultMap="EquipmentResult">
@ -45,6 +46,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="createDate != null ">create_date,</if>
<if test="equipmentNum != null and equipmentNum != ''">equipment_num,</if>
<if test="pic != null and pic != ''">pic,</if>
<if test="roomId != null and roomId != ''">room_id,</if>
<if test="ip != null and ip != ''">ip,</if>
<if test="deleteFlag != null ">delete_flag,</if>
<if test="createBy != null and createBy != ''">create_by,</if>
<if test="createTime != null ">create_time,</if>
@ -59,6 +62,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="createDate != null ">#{createDate},</if>
<if test="equipmentNum != null and equipmentNum != ''">#{equipmentNum},</if>
<if test="pic != null and pic != ''">#{pic},</if>
<if test="ip != null and ip != ''">#{ip},</if>
<if test="roomId != null and roomId != ''">#{roomId},</if>
<if test="deleteFlag != null ">#{deleteFlag},</if>
<if test="createBy != null and createBy != ''">#{createBy},</if>
<if test="createTime != null ">#{createTime},</if>
@ -77,6 +82,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="equipmentNum != null and equipmentNum != ''">equipment_num = #{equipmentNum},</if>
<if test="pic != null and pic != ''">pic = #{pic},</if>
<if test="deleteFlag != null ">delete_flag = #{deleteFlag},</if>
<if test="ip != null ">ip = #{ip},</if>
<if test="roomId != null ">room_id = #{roomId},</if>
<if test="createBy != null and createBy != ''">create_by = #{createBy},</if>
<if test="createTime != null ">create_time = #{createTime},</if>
<if test="updateBy != null and updateBy != ''">update_by = #{updateBy},</if>

View File

@ -12,6 +12,7 @@
<result property="phone" column="phone"/>
<result property="joinTime" column="join_time"/>
<result property="visitTime" column="visit_time"/>
<result property="customerId" column="customer_id"/>
<result property="leaveTime" column="leave_time"/>
<result property="visitContent" column="visit_content"/>
<result property="cardType" column="card_type"/>
@ -21,7 +22,7 @@
</resultMap>
<sql id="selectReservationPersonVo">
SELECT id, user_id, interviewee_id, name, phone, join_time, visit_time,photo, leave_time, visit_content, card_type, card_no, status FROM tb_visitor_person
SELECT id, user_id, interviewee_id, name, phone, join_time, visit_time,photo,customer_id, leave_time, visit_content, card_type, card_no, status FROM tb_visitor_person
</sql>
<select id="selectReservationPersonList" parameterType="VisitorPerson" resultMap="ReservationPersonResult">
@ -46,6 +47,7 @@
<if test="phone != null ">phone,</if>
<if test="joinTime != null ">join_time,</if>
<if test="visitTime != null ">visit_time,</if>
<if test="customerId != null ">customer_id,</if>
<if test="leaveTime != null ">leave_time,</if>
<if test="visitContent != null and visitContent != ''">visit_content,</if>
<if test="cardType != null and cardType != ''">card_type,</if>
@ -61,6 +63,7 @@
<if test="phone != null ">#{phone},</if>
<if test="joinTime != null ">#{joinTime},</if>
<if test="visitTime != null ">#{visitTime},</if>
<if test="customerId != null ">#{customerId},</if>
<if test="leaveTime != null ">#{leaveTime},</if>
<if test="visitContent != null and visitContent != ''">#{visitContent},</if>
<if test="cardType != null and cardType != ''">#{cardType},</if>
@ -79,6 +82,7 @@
<if test="phone != null ">phone = #{phone},</if>
<if test="joinTime != null ">join_time = #{joinTime},</if>
<if test="visitTime != null ">visit_time = #{visitTime},</if>
<if test="customerId != null ">customer_id = #{customerId},</if>
<if test="leaveTime != null ">leave_time = #{leaveTime},</if>
<if test="visitContent != null and visitContent != ''">visit_content = #{visitContent},</if>
<if test="cardType != null and cardType != ''">card_type = #{cardType},</if>

View File

@ -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<DevicePersonDto> 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<DateTime> dateTimes = DateUtil.rangeToList(DateUtil.beginOfDay(new Date()), DateUtil.endOfDay(offset), DateField.DAY_OF_MONTH);
//

View File

@ -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";

View File

@ -26,7 +26,7 @@ import java.util.List;
*/
@Slf4j
@RestController
@RequestMapping("dfs")
@RequestMapping("/api/dfs")
public class FileController {
@Autowired

View File

@ -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("调用成功");
}
}

View File

@ -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<FacesDto> 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);
}