diff --git a/pom.xml b/pom.xml index 73cbb9b..c5ebfb9 100644 --- a/pom.xml +++ b/pom.xml @@ -248,6 +248,12 @@ gson ${gson.version} + + + net.coobird + thumbnailator + 0.4.13 + diff --git a/shapelight-admin/src/main/java/net/shapelight/modules/app/controller/AppApiController.java b/shapelight-admin/src/main/java/net/shapelight/modules/app/controller/AppApiController.java index 91b90e6..6aa5e34 100644 --- a/shapelight-admin/src/main/java/net/shapelight/modules/app/controller/AppApiController.java +++ b/shapelight-admin/src/main/java/net/shapelight/modules/app/controller/AppApiController.java @@ -260,6 +260,8 @@ public class AppApiController { int res = tenPersonService.save(tenPerson); if (res==2) { return R.error("照片未检测到人脸"); + }else if(res == 10){ + return R.error("文件不存在"); } return R.ok(); } diff --git a/shapelight-admin/src/main/java/net/shapelight/modules/car/controller/CarOpenApi.java b/shapelight-admin/src/main/java/net/shapelight/modules/car/controller/CarOpenApi.java new file mode 100644 index 0000000..1a71f89 --- /dev/null +++ b/shapelight-admin/src/main/java/net/shapelight/modules/car/controller/CarOpenApi.java @@ -0,0 +1,46 @@ +package net.shapelight.modules.car.controller; + + +import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSONObject; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiImplicitParam; +import io.swagger.annotations.ApiImplicitParams; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import net.shapelight.common.utils.R; +import org.springframework.web.bind.annotation.*; + +import java.util.Map; + +/** + * 停车接口 + */ +@RestController +@RequestMapping("/api/car/v1") +@Api("停车接口") +@Slf4j +public class CarOpenApi { + + @PostMapping("/getMsg/{cellId}") + @ApiOperation(value = "获取Msg") + @ApiImplicitParams({ + @ApiImplicitParam(name="sn",value = "设备SN",paramType = "query",dataType = "String",required = true), + }) + public R getMsg(@PathVariable("cellId") Long cellId,@RequestParam Map params){ + + JSONObject msgJson = JSONObject.parseObject((String)params.get("Msg")); + switch ((Integer) msgJson.get("command")){ + case 1://1-主动上传进出记录, + break; + case 13://13-主动上传车辆信息 + break; + case 19://19-主动上传本地修改车辆信息 + break; + case 20://20-主动上传本地注销车辆信息 + + } + + return R.ok(); + } +} diff --git a/shapelight-admin/src/main/java/net/shapelight/modules/dev/controller/DeviceController.java b/shapelight-admin/src/main/java/net/shapelight/modules/dev/controller/DeviceController.java index eace66f..c2e4056 100644 --- a/shapelight-admin/src/main/java/net/shapelight/modules/dev/controller/DeviceController.java +++ b/shapelight-admin/src/main/java/net/shapelight/modules/dev/controller/DeviceController.java @@ -9,6 +9,7 @@ import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParams; import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; +import net.coobird.thumbnailator.Thumbnails; import net.shapelight.common.config.GlobalValue; import net.shapelight.common.config.MinioConfig; import net.shapelight.common.utils.*; @@ -22,6 +23,7 @@ import net.shapelight.modules.ten.entity.TenPersonEntity; import net.shapelight.modules.ten.entity.TenRecordEntity; import net.shapelight.modules.ten.service.*; import net.shapelight.modules.vo.TenDoorCardVo; +import net.shapelight.modules.vo.TenPersonIdUpdateVo; import net.shapelight.modules.vo.TenPersonVo; import org.apache.commons.beanutils.BeanUtils; import org.apache.commons.io.FilenameUtils; @@ -37,7 +39,9 @@ import org.springframework.web.client.RestTemplate; import org.springframework.web.multipart.MultipartFile; import org.springframework.web.util.UriComponentsBuilder; +import javax.imageio.ImageIO; import javax.swing.text.html.parser.Entity; +import java.awt.image.BufferedImage; import java.io.*; import java.net.URI; import java.util.*; @@ -107,6 +111,170 @@ public class DeviceController { } + @PostMapping("/getAllPerson") + @ApiOperation(value = "获取全部人员id和lastupdatetime",response = TenPersonVo.class) + @ApiImplicitParams({ + @ApiImplicitParam(name="sn",value = "设备SN",paramType = "query",dataType = "String",required = true), + }) + public R getAllPerson(@RequestBody Map params){ +// AppSecret sec = new AppSecret(); +// BeanUtils.copyProperties(params, sec); +// int checkIn = sec.check(); +// if(checkIn!=0){ +// return R.error("Authentication failure:"+checkIn); +// } + String lastUpdateTime = (String)params.get("lastUpdateTime"); + String sn = (String)params.get("sn"); + TenDeviceEntity dev = tenDeviceService.findBySn(sn); + if (dev==null) { + return R.error("设备未绑定"); + } + + List list = tenDeviceService.findAllPersonIdUpdate(dev.getCellId(), + dev.getBuildId(), + dev.getRoomId()); + log.info("获取人员信息:sn:"+sn+"-"+lastUpdateTime+" count:"+list.size()); + return R.ok().put("data",list); + } + + + + @PostMapping("/getOnePerson") + @ApiOperation(value = "获取一个人的信息",response = TenPersonVo.class) + @ApiImplicitParams({ + @ApiImplicitParam(name="sn",value = "设备SN",paramType = "query",dataType = "String",required = true), + @ApiImplicitParam(name="memberId",value = "人员id",paramType = "query",dataType = "String",required = true), + }) + public R getOnePerson(@RequestBody Map params){ +// AppSecret sec = new AppSecret(); +// BeanUtils.copyProperties(params, sec); +// int checkIn = sec.check(); +// if(checkIn!=0){ +// return R.error("Authentication failure:"+checkIn); +// } + String sn = (String)params.get("sn"); + TenDeviceEntity dev = tenDeviceService.findBySn(sn); + if (dev==null) { + return R.error("设备未绑定"); + } + + Integer memberId = (Integer)params.get("memberId"); + TenPersonEntity p = tenPersonService.getByMemberId(memberId,dev.getCellId()); + TenPersonVo vo = new TenPersonVo(); + if (p!=null) { + try { + + BeanUtils.copyProperties(vo,p); + + if (vo.getFaceImage() != null && !vo.getFaceImage().isEmpty()) { + String encode = ""; + InputStream inStream = null; + ByteArrayOutputStream outStream = null; + try { + minioClient.statObject(minioConfig.getBucketName(), vo.getFaceImage()); + + inStream = minioClient.getObject(minioConfig.getBucketName(), vo.getFaceImage()); + outStream = new ByteArrayOutputStream(); + byte[] buffer = new byte[1024]; + int length; + while ((length = inStream.read(buffer)) != -1) { + outStream.write(buffer, 0, length); + } + encode = Base64.getEncoder().encodeToString(outStream.toByteArray()); + vo.setFaceImageStr(encode); + } catch (Exception e) { + log.error("底库不存在:" + vo.getFaceImage()); + e.printStackTrace(); + } finally { + if (inStream != null) { + try { + inStream.close(); + } catch (IOException e) { + log.debug("inputStream close IOException:" + e.getMessage()); + } + } + if (outStream != null) { + try { + outStream.close(); + } catch (IOException e) { + log.debug("outStream close IOException:" + e.getMessage()); + } + } + } + + + try { + minioClient.statObject(minioConfig.getBucketName(), vo.getOrgImage()); + + inStream = minioClient.getObject(minioConfig.getBucketName(), vo.getOrgImage()); + outStream = new ByteArrayOutputStream(); + byte[] buffer = new byte[1024]; + int length; + while ((length = inStream.read(buffer)) != -1) { + outStream.write(buffer, 0, length); + } + encode = Base64.getEncoder().encodeToString(outStream.toByteArray()); + vo.setOrgImageStr(encode); + } catch (Exception e) { + log.error("原始照片不存在:" + vo.getOrgImage()); + e.printStackTrace(); + } finally { + if (inStream != null) { + try { + inStream.close(); + } catch (IOException e) { + log.debug("inputStream close IOException:" + e.getMessage()); + } + } + if (outStream != null) { + try { + outStream.close(); + } catch (IOException e) { + log.debug("outStream close IOException:" + e.getMessage()); + } + } + } + } + + }catch (Exception e){ + return R.error("拷贝失败"); + } + } + return R.ok().put("data",vo); + } + + + + +// @PostMapping("/getAllPerson") +// @ApiOperation(value = "获取更新的人员",response = TenPersonVo.class) +//// @ApiImplicitParams({ +//// @ApiImplicitParam(name="sn",value = "设备SN",paramType = "query",dataType = "String",required = true), +//// @ApiImplicitParam(name="lastUpdateTime",value = "时间",paramType = "query",dataType = "String",required = true), +//// }) +// public R getAllPerson(@RequestBody Map params){ +//// AppSecret sec = new AppSecret(); +//// BeanUtils.copyProperties(params, sec); +//// int checkIn = sec.check(); +//// if(checkIn!=0){ +//// return R.error("Authentication failure:"+checkIn); +//// } +// String lastUpdateTime = (String)params.get("lastUpdateTime"); +// String sn = (String)params.get("sn"); +// TenDeviceEntity dev = tenDeviceService.findBySn(sn); +// if (dev==null) { +// return R.error("设备未绑定"); +// } +// +// List list = tenDeviceService.findAllPerson(dev.getCellId(), +// dev.getBuildId(), +// dev.getRoomId(), +// lastUpdateTime); +// log.info("获取人员信息:sn:"+sn+"-"+lastUpdateTime+" count:"+list.size()); +// return R.ok().put("data",list); +// } + + @PostMapping("/getUpdateDoorCard") @ApiOperation(value = "获取更新的卡号",response = TenDoorCardVo.class) @@ -280,7 +448,9 @@ public class DeviceController { } // encode = Base64.getEncoder().encodeToString(outStream.toByteArray()); // return R.ok().put("visitorCode",encode); - return R.ok().put("data",codeFileUrl); + Map codeUrl = new HashMap<>(); + codeUrl.put("url",codeFileUrl); + return R.ok().put("data",codeUrl); } catch (Exception e) { e.printStackTrace(); @@ -342,7 +512,9 @@ public class DeviceController { } encode = Base64.getEncoder().encodeToString(outStream.toByteArray()); // return R.ok().put("visitorCode",encode); - return R.ok().put("data",codeFileUrl); + Map codeUrl = new HashMap<>(); + codeUrl.put("url",codeFileUrl); + return R.ok().put("data",codeUrl); } catch (Exception ee) { return R.error(ee.getMessage()); } @@ -375,6 +547,48 @@ public class DeviceController { return R.ok().put("data", now); } + + + @PostMapping("/bachOrgImage") + @ApiOperation(value = "批处理",response = TenPersonVo.class) + @ApiImplicitParams({ + @ApiImplicitParam(name="cellId",value = "小区id",paramType = "query",dataType = "String",required = true), + }) + public R bachOrgImage(@RequestBody Map params){ + Long cellId = Long.parseLong((String)params.get("cellId")); + List list = tenPersonService.findAllByCellId(cellId); + + for (int i = 0;i 1080 || h > 1080) { + Thumbnails.of(orgFileStr) + .size(1080, 1080) + .toFile(orgFileStr); + } + + vo.setOrgImageStr("w:"+w+"h:"+h+orgFileStr); + }catch (Exception e){ + log.error("批处理图片大小失败"); + log.error(e.getMessage()); + } + } + } + + return R.ok().put("data",list); + } + /** * 获取一个用户所有小区id */ diff --git a/shapelight-admin/src/main/java/net/shapelight/modules/ten/dao/TenPersonDao.java b/shapelight-admin/src/main/java/net/shapelight/modules/ten/dao/TenPersonDao.java index c1bffe4..12606a4 100644 --- a/shapelight-admin/src/main/java/net/shapelight/modules/ten/dao/TenPersonDao.java +++ b/shapelight-admin/src/main/java/net/shapelight/modules/ten/dao/TenPersonDao.java @@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import net.shapelight.modules.ten.entity.TenPersonEntity; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import net.shapelight.modules.vo.TenPersonIdUpdateVo; import net.shapelight.modules.vo.TenPersonVo; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; @@ -46,12 +47,19 @@ public interface TenPersonDao { @Param("lastUpdateTime")String lastUpdateTime ); + List findAllPersonIdUpdate(@Param("cellId")Long cellId, + @Param("buildId")Long buildId, + @Param("roomId")Long roomId + ); + List findByLastUpdatePerson(@Param("cellId")Long cellId, @Param("buildId")Long buildId, @Param("roomId")Long roomId, @Param("lastUpdateTime")String lastUpdateTime ); + List findAllByCellId(@Param("cellId")Long cellId); + int findRoomCount(@Param("cellId")Long cellId,@Param("roomId")Long roomId); int findBuildCount(@Param("cellId")Long cellId,@Param("buildId")Long buildId); int findCellCount(@Param("cellId")Long cellId); diff --git a/shapelight-admin/src/main/java/net/shapelight/modules/ten/service/TenDeviceService.java b/shapelight-admin/src/main/java/net/shapelight/modules/ten/service/TenDeviceService.java index 7efa4f7..71b2890 100644 --- a/shapelight-admin/src/main/java/net/shapelight/modules/ten/service/TenDeviceService.java +++ b/shapelight-admin/src/main/java/net/shapelight/modules/ten/service/TenDeviceService.java @@ -8,6 +8,7 @@ import net.shapelight.modules.ten.entity.TenDeviceEntity; import net.shapelight.modules.ten.entity.TenPersonEntity; import net.shapelight.modules.ten.entity.TenRecordEntity; import net.shapelight.modules.vo.TenDeviceVo; +import net.shapelight.modules.vo.TenPersonIdUpdateVo; import net.shapelight.modules.vo.TenPersonVo; import org.springframework.cache.annotation.CacheEvict; @@ -32,6 +33,16 @@ public interface TenDeviceService extends IService { Long roomId, String lastUpdateTime ); + List findAllPerson(Long cellId, + Long buildId, + Long roomId, + String lastUpdateTime + ); + + List findAllPersonIdUpdate(Long cellId, + Long buildId, + Long roomId + ); boolean upRecord(TenRecordEntity entity); void updateFaceCount(String sn, Integer faceCount); diff --git a/shapelight-admin/src/main/java/net/shapelight/modules/ten/service/TenPersonService.java b/shapelight-admin/src/main/java/net/shapelight/modules/ten/service/TenPersonService.java index f28df2e..30d0601 100644 --- a/shapelight-admin/src/main/java/net/shapelight/modules/ten/service/TenPersonService.java +++ b/shapelight-admin/src/main/java/net/shapelight/modules/ten/service/TenPersonService.java @@ -7,6 +7,7 @@ import net.shapelight.modules.ten.entity.TenBuildEntity; import net.shapelight.modules.ten.entity.TenCellEntity; import net.shapelight.modules.ten.entity.TenPersonEntity; import net.shapelight.modules.ten.entity.TenRoomEntity; +import net.shapelight.modules.vo.TenPersonIdUpdateVo; import net.shapelight.modules.vo.TenPersonVo; import org.apache.ibatis.annotations.Param; @@ -58,6 +59,20 @@ public interface TenPersonService { ); + List findAllPerson(Long cellId, + Long buildId, + Long roomId, + String lastUpdateTime + ); + + List findAllPersonIdUpdate(Long cellId, + Long buildId, + Long roomId + ); + + List findAllByCellId(Long cellId); + + int findRoomCount(Long cellId,Long roomId); diff --git a/shapelight-admin/src/main/java/net/shapelight/modules/ten/service/impl/TenDeviceServiceImpl.java b/shapelight-admin/src/main/java/net/shapelight/modules/ten/service/impl/TenDeviceServiceImpl.java index 5df7305..7b9133d 100644 --- a/shapelight-admin/src/main/java/net/shapelight/modules/ten/service/impl/TenDeviceServiceImpl.java +++ b/shapelight-admin/src/main/java/net/shapelight/modules/ten/service/impl/TenDeviceServiceImpl.java @@ -8,6 +8,7 @@ import net.shapelight.modules.dev.mqtt.EmqHttpApi; import net.shapelight.modules.ten.entity.*; import net.shapelight.modules.ten.service.*; import net.shapelight.modules.vo.TenDeviceVo; +import net.shapelight.modules.vo.TenPersonIdUpdateVo; import net.shapelight.modules.vo.TenPersonVo; import org.apache.commons.beanutils.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; @@ -173,6 +174,16 @@ public class TenDeviceServiceImpl extends ServiceImpl findAllPerson(Long cellId, Long buildId, Long roomId, String lastUpdateTime) { + return tenPersonService.findAllPerson(cellId, buildId, roomId, lastUpdateTime); + } + + @Override + public List findAllPersonIdUpdate(Long cellId, Long buildId, Long roomId) { + return tenPersonService.findAllPersonIdUpdate(cellId, buildId, roomId); + } + @Override public boolean upRecord(TenRecordEntity entity) { return tenRecordService.saveForFace(entity); diff --git a/shapelight-admin/src/main/java/net/shapelight/modules/ten/service/impl/TenPersonServiceImpl.java b/shapelight-admin/src/main/java/net/shapelight/modules/ten/service/impl/TenPersonServiceImpl.java index 9c87374..29367c0 100644 --- a/shapelight-admin/src/main/java/net/shapelight/modules/ten/service/impl/TenPersonServiceImpl.java +++ b/shapelight-admin/src/main/java/net/shapelight/modules/ten/service/impl/TenPersonServiceImpl.java @@ -20,6 +20,7 @@ import net.shapelight.modules.excel.model.PersonModel; import net.shapelight.modules.ten.entity.*; import net.shapelight.modules.ten.service.*; import net.shapelight.modules.vo.TenDeviceVo; +import net.shapelight.modules.vo.TenPersonIdUpdateVo; import net.shapelight.modules.vo.TenPersonVo; import org.apache.commons.codec.digest.DigestUtils; import org.apache.commons.io.FileUtils; @@ -252,6 +253,7 @@ public class TenPersonServiceImpl implements TenPersonService { entity.setOrgImage(""); entity.setFaceImage(""); e.printStackTrace(); + return 10; } } @@ -271,7 +273,7 @@ public class TenPersonServiceImpl implements TenPersonService { null, null); //删除临时文件 - minioClient.removeObject(minioConfig.getBucketName(), tempIdFrontImage); + //minioClient.removeObject(minioConfig.getBucketName(), tempIdFrontImage); entity.setIdFrontImage(idFrontImageFileName); } catch (Exception e) { @@ -296,7 +298,7 @@ public class TenPersonServiceImpl implements TenPersonService { null, null); //删除临时文件 - minioClient.removeObject(minioConfig.getBucketName(), tempIdBackImage); + //minioClient.removeObject(minioConfig.getBucketName(), tempIdBackImage); entity.setIdBackImage(idBackImageFileName); } catch (Exception e) { entity.setIdBackImage(""); @@ -1360,6 +1362,42 @@ public class TenPersonServiceImpl implements TenPersonService { } } } + + + try { + minioClient.statObject(minioConfig.getBucketName(), vo.getOrgImage()); + + inStream = minioClient.getObject(minioConfig.getBucketName(), vo.getOrgImage()); + outStream = new ByteArrayOutputStream(); + byte[] buffer = new byte[1024]; + int length; + while ((length = inStream.read(buffer)) != -1) { + outStream.write(buffer, 0, length); + } + encode = Base64.getEncoder().encodeToString(outStream.toByteArray()); + vo.setOrgImageStr(encode); + } catch (Exception e) { + log.error("原始照片不存在:" + vo.getOrgImage()); + e.printStackTrace(); + } finally { + if (inStream != null) { + try { + inStream.close(); + } catch (IOException e) { + log.debug("inputStream close IOException:" + e.getMessage()); + } + } + if (outStream != null) { + try { + outStream.close(); + } catch (IOException e) { + log.debug("outStream close IOException:" + e.getMessage()); + } + } + } + + + } } //删除最后时间重复的项 @@ -1427,6 +1465,117 @@ public class TenPersonServiceImpl implements TenPersonService { return list; } + + + @Override + public List findAllPerson(Long cellId, Long buildId, Long roomId, String lastUpdateTime) { + //升序排列 + List list = tenPersonDao.findUpdatePerson(cellId, buildId, roomId, lastUpdateTime); + if(list.size()>0){ + TenPersonVo lastPerson = list.get(list.size()-1); + String last = DateUtils.format(lastPerson.getLastUpdateTime(),DateUtils.DATE_TIME_PATTERN); + List listAfter = tenPersonDao.findByLastUpdatePerson(cellId, buildId, roomId, last); + for(TenPersonVo vo:listAfter){ + if(vo.getPersonId().longValue() != lastPerson.getPersonId().longValue() + && vo.getLastUpdateTime().getTime() == lastPerson.getLastUpdateTime().getTime()){ + list.add(vo); + } + } + } + for (int i = 0;i findAllPersonIdUpdate(Long cellId, Long buildId, Long roomId) { + //升序排列 + List list = tenPersonDao.findAllPersonIdUpdate(cellId, buildId, roomId); + return list; + } + + + + + + @Override + public List findAllByCellId(Long cellId) { + return tenPersonDao.findAllByCellId(cellId); + } + @Override public int findRoomCount(Long cellId, Long roomId) { return tenPersonDao.findRoomCount(cellId, roomId); diff --git a/shapelight-admin/src/main/java/net/shapelight/modules/ten/service/impl/TenRecordServiceImpl.java b/shapelight-admin/src/main/java/net/shapelight/modules/ten/service/impl/TenRecordServiceImpl.java index ded642c..a4b3d04 100644 --- a/shapelight-admin/src/main/java/net/shapelight/modules/ten/service/impl/TenRecordServiceImpl.java +++ b/shapelight-admin/src/main/java/net/shapelight/modules/ten/service/impl/TenRecordServiceImpl.java @@ -81,8 +81,13 @@ public class TenRecordServiceImpl implements TenRecordService { for (TenRecordEntity rec : page.getRecords()) { TenDeviceEntity dev = tenDeviceService.findBySn(rec.getDeviceSn()); - rec.setDeviceName(dev.getName()); - rec.setGateFlag(dev.getGateFlag()); + if(dev == null){ + rec.setDeviceName(rec.getDeviceSn()); + rec.setGateFlag(0); + }else{ + rec.setDeviceName(dev.getName()); + rec.setGateFlag(dev.getGateFlag()); + } TenPersonEntity person = tenPersonService.getById(rec.getPersonId(), rec.getCellId()); if (person == null) { person = new TenPersonEntity(); diff --git a/shapelight-admin/src/main/java/net/shapelight/modules/vo/TenPersonIdUpdateVo.java b/shapelight-admin/src/main/java/net/shapelight/modules/vo/TenPersonIdUpdateVo.java new file mode 100644 index 0000000..e1a8828 --- /dev/null +++ b/shapelight-admin/src/main/java/net/shapelight/modules/vo/TenPersonIdUpdateVo.java @@ -0,0 +1,26 @@ +package net.shapelight.modules.vo; + +import com.alibaba.fastjson.annotation.JSONField; +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; +import java.util.Date; + + +@Data +public class TenPersonIdUpdateVo implements Serializable { + private static final long serialVersionUID = 1L; + + @ApiModelProperty("人员ID") + private Integer memberId; + + /** + * 更新时间 + */ + @ApiModelProperty("更新时间") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + @JSONField(format="yyyy-MM-dd HH:mm:ss") + private Date lastUpdateTime; +} diff --git a/shapelight-admin/src/main/java/net/shapelight/modules/vo/TenPersonVo.java b/shapelight-admin/src/main/java/net/shapelight/modules/vo/TenPersonVo.java index 26a4c3b..115d5bf 100644 --- a/shapelight-admin/src/main/java/net/shapelight/modules/vo/TenPersonVo.java +++ b/shapelight-admin/src/main/java/net/shapelight/modules/vo/TenPersonVo.java @@ -138,4 +138,11 @@ public class TenPersonVo implements Serializable { private String faceImageStr; + /** + *人脸原始照片base64 + */ + @ApiModelProperty("人脸原始照片base64") + private String orgImageStr; + + } diff --git a/shapelight-admin/src/main/resources/mapper/ten/TenPersonDao.xml b/shapelight-admin/src/main/resources/mapper/ten/TenPersonDao.xml index 33639fb..f8e5ec1 100644 --- a/shapelight-admin/src/main/resources/mapper/ten/TenPersonDao.xml +++ b/shapelight-admin/src/main/resources/mapper/ten/TenPersonDao.xml @@ -644,8 +644,26 @@ and last_update_time > #{lastUpdateTime} order by last_update_time asc - limit 100 + limit 50 + + + + + + + +