|
@@ -2,13 +2,16 @@ package com.jpsoft.smart.modules.base.controller;
|
|
|
|
|
|
import com.github.pagehelper.Page;
|
|
import com.github.pagehelper.Page;
|
|
import com.github.pagehelper.util.StringUtil;
|
|
import com.github.pagehelper.util.StringUtil;
|
|
|
|
+import com.jpsoft.smart.config.OSSConfig;
|
|
import com.jpsoft.smart.modules.base.entity.DeviceInfo;
|
|
import com.jpsoft.smart.modules.base.entity.DeviceInfo;
|
|
import com.jpsoft.smart.modules.base.service.DeviceInfoService;
|
|
import com.jpsoft.smart.modules.base.service.DeviceInfoService;
|
|
|
|
+import com.jpsoft.smart.modules.common.utils.OSSUtil;
|
|
import com.jpsoft.smart.modules.common.utils.PojoUtils;
|
|
import com.jpsoft.smart.modules.common.utils.PojoUtils;
|
|
import com.jpsoft.smart.modules.common.dto.Sort;
|
|
import com.jpsoft.smart.modules.common.dto.Sort;
|
|
import com.jpsoft.smart.modules.common.dto.MessageResult;
|
|
import com.jpsoft.smart.modules.common.dto.MessageResult;
|
|
import com.jpsoft.smart.modules.lapi.service.ILapiService;
|
|
import com.jpsoft.smart.modules.lapi.service.ILapiService;
|
|
import com.jpsoft.smart.modules.lapi.vo.LapiMsgResult;
|
|
import com.jpsoft.smart.modules.lapi.vo.LapiMsgResult;
|
|
|
|
+import com.jpsoft.smart.modules.lapi.vo.LapiResult;
|
|
import com.jpsoft.smart.modules.sys.entity.User;
|
|
import com.jpsoft.smart.modules.sys.entity.User;
|
|
import com.jpsoft.smart.modules.base.entity.PersonDeviceRelation;
|
|
import com.jpsoft.smart.modules.base.entity.PersonDeviceRelation;
|
|
import com.jpsoft.smart.modules.base.service.PersonDeviceRelationService;
|
|
import com.jpsoft.smart.modules.base.service.PersonDeviceRelationService;
|
|
@@ -19,13 +22,20 @@ import io.swagger.annotations.ApiImplicitParam;
|
|
import io.swagger.annotations.ApiImplicitParams;
|
|
import io.swagger.annotations.ApiImplicitParams;
|
|
import io.swagger.annotations.ApiOperation;
|
|
import io.swagger.annotations.ApiOperation;
|
|
import org.apache.commons.lang3.StringUtils;
|
|
import org.apache.commons.lang3.StringUtils;
|
|
|
|
+import org.apache.poi.hssf.usermodel.HSSFCell;
|
|
|
|
+import org.apache.poi.hssf.usermodel.HSSFRow;
|
|
|
|
+import org.apache.poi.hssf.usermodel.HSSFSheet;
|
|
|
|
+import org.apache.poi.hssf.usermodel.HSSFWorkbook;
|
|
import org.slf4j.Logger;
|
|
import org.slf4j.Logger;
|
|
import org.slf4j.LoggerFactory;
|
|
import org.slf4j.LoggerFactory;
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
|
|
+import org.springframework.transaction.interceptor.TransactionAspectSupport;
|
|
import org.springframework.web.bind.annotation.*;
|
|
import org.springframework.web.bind.annotation.*;
|
|
|
|
|
|
import javax.servlet.http.HttpServletRequest;
|
|
import javax.servlet.http.HttpServletRequest;
|
|
|
|
+import java.io.ByteArrayInputStream;
|
|
|
|
+import java.io.ByteArrayOutputStream;
|
|
import java.text.SimpleDateFormat;
|
|
import java.text.SimpleDateFormat;
|
|
import java.util.*;
|
|
import java.util.*;
|
|
|
|
|
|
@@ -50,8 +60,12 @@ public class PersonDeviceRelationController {
|
|
@Autowired
|
|
@Autowired
|
|
private ILapiService lapiService;
|
|
private ILapiService lapiService;
|
|
|
|
|
|
|
|
+ @Autowired
|
|
|
|
+ private OSSConfig ossConfig;
|
|
|
|
+
|
|
|
|
|
|
@ApiOperation(value="添加设备和人员绑定")
|
|
@ApiOperation(value="添加设备和人员绑定")
|
|
|
|
+ @Transactional(rollbackFor = Exception.class)
|
|
@PostMapping("add")
|
|
@PostMapping("add")
|
|
public MessageResult<PersonDeviceRelation> add(@RequestBody PersonDeviceRelation personDeviceRelation,@RequestAttribute String subject){
|
|
public MessageResult<PersonDeviceRelation> add(@RequestBody PersonDeviceRelation personDeviceRelation,@RequestAttribute String subject){
|
|
MessageResult<PersonDeviceRelation> msgResult = new MessageResult<>();
|
|
MessageResult<PersonDeviceRelation> msgResult = new MessageResult<>();
|
|
@@ -59,10 +73,9 @@ public class PersonDeviceRelationController {
|
|
try {
|
|
try {
|
|
int affectCount = 0;
|
|
int affectCount = 0;
|
|
|
|
|
|
- PersonDeviceRelation item = personDeviceRelationService.findByDeviceIdAndPersonId(personDeviceRelation.getDeviceId(),personDeviceRelation.getPersonId());
|
|
|
|
|
|
+ PersonDeviceRelation item = personDeviceRelationService.findByDeviceIdAndPersonId(personDeviceRelation.getDeviceId(), personDeviceRelation.getPersonId());
|
|
|
|
|
|
if(item == null) {
|
|
if(item == null) {
|
|
-
|
|
|
|
personDeviceRelation.setId(UUID.randomUUID().toString());
|
|
personDeviceRelation.setId(UUID.randomUUID().toString());
|
|
personDeviceRelation.setDelFlag(false);
|
|
personDeviceRelation.setDelFlag(false);
|
|
personDeviceRelation.setCreateBy(subject);
|
|
personDeviceRelation.setCreateBy(subject);
|
|
@@ -71,7 +84,18 @@ public class PersonDeviceRelationController {
|
|
affectCount = personDeviceRelationService.insert(personDeviceRelation);
|
|
affectCount = personDeviceRelationService.insert(personDeviceRelation);
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+
|
|
if (affectCount > 0) {
|
|
if (affectCount > 0) {
|
|
|
|
+ //往设备库传输人脸信息
|
|
|
|
+ List<LapiMsgResult> lapiResults = lapiService.addPersonForDeviceIds(personDeviceRelation.getPersonId(),personDeviceRelation.getDeviceId());
|
|
|
|
+ for (int i = 0; i < lapiResults.size(); i++) {
|
|
|
|
+ LapiMsgResult lapiMsgResult = lapiResults.get(i);
|
|
|
|
+ if (lapiMsgResult.isSuccess()) {
|
|
|
|
+ msgResult.setResult(true);
|
|
|
|
+ }else{
|
|
|
|
+ throw new Exception("添加失败:" + lapiMsgResult.getMsg());
|
|
|
|
+ }
|
|
|
|
+ }
|
|
msgResult.setResult(true);
|
|
msgResult.setResult(true);
|
|
msgResult.setData(personDeviceRelation);
|
|
msgResult.setData(personDeviceRelation);
|
|
} else {
|
|
} else {
|
|
@@ -80,8 +104,8 @@ public class PersonDeviceRelationController {
|
|
}
|
|
}
|
|
}
|
|
}
|
|
catch(Exception ex){
|
|
catch(Exception ex){
|
|
|
|
+ TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
|
|
logger.error(ex.getMessage(),ex);
|
|
logger.error(ex.getMessage(),ex);
|
|
-
|
|
|
|
msgResult.setResult(false);
|
|
msgResult.setResult(false);
|
|
msgResult.setMessage(ex.getMessage());
|
|
msgResult.setMessage(ex.getMessage());
|
|
}
|
|
}
|
|
@@ -101,13 +125,15 @@ public class PersonDeviceRelationController {
|
|
int affectCount = 0;
|
|
int affectCount = 0;
|
|
|
|
|
|
try {
|
|
try {
|
|
|
|
+ HSSFWorkbook workbook = new HSSFWorkbook();
|
|
|
|
+ HSSFSheet sheet = workbook.createSheet();
|
|
|
|
+
|
|
if(StringUtil.isNotEmpty(devices)){
|
|
if(StringUtil.isNotEmpty(devices)){
|
|
String[] deviceArray = devices.split(",");
|
|
String[] deviceArray = devices.split(",");
|
|
|
|
|
|
for (String deviceId:deviceArray) {
|
|
for (String deviceId:deviceArray) {
|
|
|
|
|
|
PersonDeviceRelation item = personDeviceRelationService.findByDeviceIdAndPersonId(deviceId,personId);
|
|
PersonDeviceRelation item = personDeviceRelationService.findByDeviceIdAndPersonId(deviceId,personId);
|
|
-
|
|
|
|
if(item == null) {
|
|
if(item == null) {
|
|
item = new PersonDeviceRelation();
|
|
item = new PersonDeviceRelation();
|
|
item.setId(UUID.randomUUID().toString());
|
|
item.setId(UUID.randomUUID().toString());
|
|
@@ -123,6 +149,33 @@ public class PersonDeviceRelationController {
|
|
}
|
|
}
|
|
|
|
|
|
if (affectCount > 0) {
|
|
if (affectCount > 0) {
|
|
|
|
+ //往设备库传输人脸信息
|
|
|
|
+ //批量操作
|
|
|
|
+ List<LapiMsgResult> lapiResults = lapiService.addPerson(personId);
|
|
|
|
+// for (int i = 0; i < lapiResults.size(); i++) {
|
|
|
|
+// LapiMsgResult lapiMsgResult = lapiResults.get(i);
|
|
|
|
+// if (lapiMsgResult.isSuccess()) {
|
|
|
|
+// msgResult.setResult(true);
|
|
|
|
+// }else{
|
|
|
|
+// HSSFRow row = sheet.createRow(sheet.getLastRowNum() + 1);
|
|
|
|
+// HSSFCell cell1 = row.createCell(0);
|
|
|
|
+// cell1.setCellValue(personId);
|
|
|
|
+// HSSFCell cell2 = row.createCell(1);
|
|
|
|
+// cell2.setCellValue(lapiMsgResult.getAliasName());
|
|
|
|
+// HSSFCell cell3 = row.createCell(2);
|
|
|
|
+// cell3.setCellValue("添加失败:" + lapiMsgResult.getMsg());
|
|
|
|
+// HSSFCell cell4 = row.createCell(3);
|
|
|
|
+// cell4.setCellValue(lapiMsgResult.getMsg());
|
|
|
|
+// }
|
|
|
|
+// }
|
|
|
|
+//
|
|
|
|
+// ByteArrayOutputStream output = new ByteArrayOutputStream();
|
|
|
|
+// workbook.write(output);
|
|
|
|
+// byte[] buffer = output.toByteArray();
|
|
|
|
+// ByteArrayInputStream input = new ByteArrayInputStream(buffer);
|
|
|
|
+// String downloadUrl = OSSUtil.upload(ossConfig,"import","error.xls",input);
|
|
|
|
+//
|
|
|
|
+// msgResult.setMessage(downloadUrl);
|
|
msgResult.setResult(true);
|
|
msgResult.setResult(true);
|
|
msgResult.setData(affectCount);
|
|
msgResult.setData(affectCount);
|
|
} else {
|
|
} else {
|
|
@@ -173,6 +226,9 @@ public class PersonDeviceRelationController {
|
|
item.setCreateTime(new Date());
|
|
item.setCreateTime(new Date());
|
|
|
|
|
|
affectCount += personDeviceRelationService.insert(item);
|
|
affectCount += personDeviceRelationService.insert(item);
|
|
|
|
+ //往设备库传输人脸信息
|
|
|
|
+ //批量操作
|
|
|
|
+ List<LapiMsgResult> lapiResults = lapiService.addPersonForDeviceIds(personId,deviceId);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
@@ -261,7 +317,9 @@ public class PersonDeviceRelationController {
|
|
personDeviceRelation.setUpdateBy(subject);
|
|
personDeviceRelation.setUpdateBy(subject);
|
|
personDeviceRelation.setUpdateTime(new Date());
|
|
personDeviceRelation.setUpdateTime(new Date());
|
|
|
|
|
|
- int affectCount = personDeviceRelationService.updateDevicePerson(personDeviceRelation);
|
|
|
|
|
|
+ /**删除同时删除设备**/
|
|
|
|
+ //int affectCount = personDeviceRelationService.updateDevicePerson(personDeviceRelation);
|
|
|
|
+ int affectCount = personDeviceRelationService.update(personDeviceRelation);
|
|
|
|
|
|
if (affectCount > 0) {
|
|
if (affectCount > 0) {
|
|
msgResult.setResult(true);
|
|
msgResult.setResult(true);
|
|
@@ -295,7 +353,10 @@ public class PersonDeviceRelationController {
|
|
personDeviceRelation.setUpdateBy(subject);
|
|
personDeviceRelation.setUpdateBy(subject);
|
|
personDeviceRelation.setUpdateTime(new Date());
|
|
personDeviceRelation.setUpdateTime(new Date());
|
|
|
|
|
|
- affectCount = personDeviceRelationService.updateDevicePerson(personDeviceRelation);
|
|
|
|
|
|
+ /**删除同时删除设备**/
|
|
|
|
+ //affectCount = personDeviceRelationService.updateDevicePerson(personDeviceRelation);
|
|
|
|
+
|
|
|
|
+ affectCount = personDeviceRelationService.update(personDeviceRelation);
|
|
}
|
|
}
|
|
|
|
|
|
if (affectCount > 0) {
|
|
if (affectCount > 0) {
|