diff --git a/casic-iris-register/pom.xml b/casic-iris-register/pom.xml
index 6b80048..5b14ffd 100644
--- a/casic-iris-register/pom.xml
+++ b/casic-iris-register/pom.xml
@@ -30,6 +30,12 @@
${casic.version}
+
+ com.casic
+ casic-metadata-support
+ ${casic.version}
+
+
diff --git a/casic-iris-register/pom.xml b/casic-iris-register/pom.xml
index 6b80048..5b14ffd 100644
--- a/casic-iris-register/pom.xml
+++ b/casic-iris-register/pom.xml
@@ -30,6 +30,12 @@
${casic.version}
+
+ com.casic
+ casic-metadata-support
+ ${casic.version}
+
+
diff --git a/casic-iris-register/src/main/java/com/casic/missiles/modular/register/controller/IrisDataController.java b/casic-iris-register/src/main/java/com/casic/missiles/modular/register/controller/IrisDataController.java
index 56cb280..5f00f1d 100644
--- a/casic-iris-register/src/main/java/com/casic/missiles/modular/register/controller/IrisDataController.java
+++ b/casic-iris-register/src/main/java/com/casic/missiles/modular/register/controller/IrisDataController.java
@@ -5,6 +5,7 @@
import com.casic.missiles.core.base.response.ResponseData;
import com.casic.missiles.core.common.constant.factory.PageFactory;
import com.casic.missiles.core.util.ToolUtil;
+import com.casic.missiles.modular.metadata.service.IMetadataSupportService;
import com.casic.missiles.modular.register.model.IrisData;
import com.casic.missiles.modular.register.service.IIrisDataService;
import com.casic.missiles.modular.register.util.Base64Util;
@@ -45,26 +46,17 @@
@Autowired
private IIrisDataService irisDataService;
+
/**
* 虹膜注册接口
*/
@RequestMapping(value = "/add")
@ResponseBody
public Object imageUpload(String image_zy0,String image_zy1,String image_yy0,String image_yy1,String personId,String idCardNo) throws IOException {
- Map map = null;
- map = irisDataService.selectByPersonId(personId);
-
if(ToolUtil.isEmpty(image_zy0)||ToolUtil.isEmpty(image_zy1) || ToolUtil.isEmpty(image_yy0) || ToolUtil.isEmpty(image_yy1)){
return ResponseData.error("有图像为空");
}
- IrisData irisData = new IrisData();
- if(map!=null && map.size()>0 ){
- //return ResponseData.error("已存在该人员的虹膜数据");
- irisData = irisDataService.selectById(map.get("id").toString());
- }
-
-
String leftFilePath1 = this.filePath+personId+"_left_1.jpg";
String leftFilePath2 = this.filePath+personId+"_left_2.jpg";
String rightFilePath1 = this.filePath+personId+"_right_1.bmp";
@@ -82,190 +74,13 @@
return ResponseData.error("右眼图像2转换失败");
}
+ String result = irisDataService.addIrisData(leftFilePath1,leftFilePath2,rightFilePath1,rightFilePath2,personId,idCardNo);
- BASE64Decoder decoder = new BASE64Decoder();
- //左眼1
- byte[] leftCode1 = getIrisCode(new FileInputStream(leftFilePath1));
- if(leftCode1 ==null || leftCode1.length!=1024){
- return ResponseData.error("左眼图像1编码失败");
- }
- //左眼2
- byte[] leftCode2 = getIrisCode(new FileInputStream(leftFilePath2));
- if(leftCode2==null || leftCode2.length!=1024){
- return ResponseData.error("左眼图像2编码失败");
- }
- //右眼1
- byte[] rightCode1 = getIrisCode(new FileInputStream(rightFilePath1));
- if(rightCode1==null || rightCode1.length!=1024){
- return ResponseData.error("右眼图像1编码失败");
- }
- //右眼2
- byte[] rightCode2 = getIrisCode(new FileInputStream(rightFilePath2));
- if(rightCode2==null || rightCode2.length!=1024){
- return ResponseData.error("右眼图像2编码失败");
- }
- irisData.setLeftIrisCode1(leftCode1);
- irisData.setLeftIrisCode2(leftCode2);
- irisData.setRightIrisCode1(rightCode1);
- irisData.setRightIrisCode2(rightCode2);
-
- irisData.setLeftImage1(leftFilePath1);
- irisData.setLeftImage2(leftFilePath2);
- irisData.setRightImage1(rightFilePath1);
- irisData.setRightImage2(rightFilePath2);
-
- irisData.setIdCardNo(idCardNo);
- irisData.setPersonId(Long.valueOf(personId));
-
- if(map!=null && map.size()>0 ){
- irisDataService.updateById(irisData);
- }else {
- irisDataService.insert(irisData);
- }
- return ResponseData.success();
+ return ResponseData.success(result);
}
- /**
- * 虹膜注册接口
- */
- @RequestMapping(value = "/addFile")
- @ResponseBody
- public Object imageUpload(MultipartFile image_zy0,MultipartFile image_zy1,MultipartFile image_yy0,MultipartFile image_yy1,String personId,String idCardNo) throws IOException {
- Map map = null;
- map = irisDataService.selectByPersonId(personId);
- if(map!=null){
- return ResponseData.error("已存在该人员的虹膜数据");
- }
-
- if(image_zy0.isEmpty()||image_zy1.isEmpty() || image_yy0.isEmpty() ||image_yy1.isEmpty()){
- return ResponseData.error("有图像为空");
- }
-
- IrisData irisData = new IrisData();
-
- String leftFilePath1 = this.filePath+personId+"_left_1.bmp";
- String leftFilePath2 = this.filePath+personId+"_left_2.bmp";
- String rightFilePath1 = this.filePath+personId+"_right_1.bmp";
- String rightFilePath2 = this.filePath+personId+"_right_2.bmp";
-
-
- //左眼1
- byte[] leftCode1 = getIrisCode(new FileInputStream(leftFilePath1));
- if(leftCode1 ==null || leftCode1.length!=1024){
- return ResponseData.error("左眼图像1编码失败");
- }
- //左眼2
- byte[] leftCode2 = getIrisCode(image_zy1.getInputStream());
- if(leftCode2==null || leftCode2.length!=1024){
- return ResponseData.error("左眼图像2编码失败");
- }
- //右眼1
- byte[] rightCode1 = getIrisCode(image_yy0.getInputStream());
- if(rightCode1==null || rightCode1.length!=1024){
- return ResponseData.error("右眼图像1编码失败");
- }
- //右眼2
- byte[] rightCode2 = getIrisCode(image_yy1.getInputStream());
- if(rightCode2==null || rightCode2.length!=1024){
- return ResponseData.error("右眼图像2编码失败");
- }
-
- irisData.setLeftIrisCode1(leftCode1);
- irisData.setLeftIrisCode2(leftCode2);
- irisData.setRightIrisCode1(rightCode1);
- irisData.setRightIrisCode2(rightCode2);
-
- irisData.setLeftImage1(leftFilePath1);
- irisData.setLeftImage2(leftFilePath2);
- irisData.setRightImage1(rightFilePath1);
- irisData.setRightImage2(rightFilePath2);
-
- irisData.setIdCardNo(idCardNo);
- irisData.setPersonId(Long.valueOf(personId));
- irisDataService.insert(irisData);
- return ResponseData.success();
- }
-
- /**
- * 修改虹膜数据接口
- */
- @RequestMapping(value = "/update")
- @ResponseBody
- public Object imageUpload(@RequestParam("image_zy0")String image_zy0,@RequestParam("image_zy1")String image_zy1,@RequestParam("image_yy0")String image_yy0,@RequestParam("image_yy1")String image_yy1,@RequestParam("personId")String personId) throws IOException {
- Map map = null;
- map = irisDataService.selectByPersonId(personId);
- if(map!=null){
- return ResponseData.error("不存在该记录");
- }
- if(ToolUtil.isEmpty(image_zy0)||ToolUtil.isEmpty(image_zy1) || ToolUtil.isEmpty(image_yy0) || ToolUtil.isEmpty(image_yy1)){
- return ResponseData.error("有图像为空");
- }
-
- IrisData irisData = irisDataService.selectById(map.get("id").toString());
-
- String leftFilePath1 = this.filePath+personId+"_left_1.bmp";
- String leftFilePath2 = this.filePath+personId+"_left_2.bmp";
- String rightFilePath1 = this.filePath+personId+"_right_1.bmp";
- String rightFilePath2 = this.filePath+personId+"_right_2.bmp";
- if(!Base64Util.Base64ToImage(image_zy0,leftFilePath1)){
- return ResponseData.error("左眼图像1转换失败");
- }
- if(!Base64Util.Base64ToImage(image_zy1,leftFilePath2)){
- return ResponseData.error("左眼图像2转换失败");
- }
- if(!Base64Util.Base64ToImage(image_yy0,rightFilePath1 )){
- return ResponseData.error("右眼图像1转换失败");
- }
- if(!Base64Util.Base64ToImage(image_yy1,rightFilePath2)){
- return ResponseData.error("右眼图像2转换失败");
- }
-
-
- BASE64Decoder decoder = new BASE64Decoder();
- //左眼1
- byte[] imageBytes = decoder.decodeBuffer(image_zy0);
- InputStream fis = new ByteArrayInputStream(imageBytes);
- byte[] leftCode1 = getIrisCode(fis);
- if(leftCode1 ==null || leftCode1.length!=1024){
- return ResponseData.error("左眼图像1编码失败");
- }
- //左眼2
- imageBytes = decoder.decodeBuffer(image_zy1);
- fis = new ByteArrayInputStream(imageBytes);
- byte[] leftCode2 = getIrisCode(fis);
- if(leftCode2==null || leftCode2.length!=1024){
- return ResponseData.error("左眼图像2编码失败");
- }
- //右眼1
- imageBytes = decoder.decodeBuffer(image_yy0);
- fis = new ByteArrayInputStream(imageBytes);
- byte[] rightCode1 = getIrisCode(fis);
- if(rightCode1==null || rightCode1.length!=1024){
- return ResponseData.error("右眼图像1编码失败");
- }
- //右眼2
- imageBytes = decoder.decodeBuffer(image_yy1);
- fis = new ByteArrayInputStream(imageBytes);
- byte[] rightCode2 = getIrisCode(fis);
- if(rightCode2==null || rightCode2.length!=1024){
- return ResponseData.error("右眼图像2编码失败");
- }
-
- irisData.setLeftIrisCode1(leftCode1);
- irisData.setLeftIrisCode2(leftCode2);
- irisData.setRightIrisCode1(rightCode1);
- irisData.setRightIrisCode2(rightCode2);
-
- irisData.setLeftImage1(leftFilePath1);
- irisData.setLeftImage2(leftFilePath2);
- irisData.setRightImage1(rightFilePath1);
- irisData.setRightImage2(rightFilePath2);
-
- irisDataService.updateById(irisData);
- return ResponseData.success();
- }
/**
* 详情
@@ -317,42 +132,7 @@
- //与c#的服务通信,获取虹膜编码
- private byte[] getIrisCode(InputStream fis) throws IOException {
- byte[] irisCode = new byte[1024];
- //1.创建客户端Socket,指定服务器地址和端口
- Socket socket=new Socket("localhost", 20005);
-
- //2.获取输出流,向服务器端发送信息
- OutputStream os=socket.getOutputStream();//字节输出流
- byte[] buf = new byte[4096];
- int len=0;
- while((len = fis.read(buf))!=-1) {
- os.write(buf, 0, len);
- }
- socket.shutdownOutput();//关闭输出流
-
- //3.获取输入流,读取服务器端的响应信息
- InputStream is=socket.getInputStream();
-
- byte[] bufIn = new byte[1024];
- int num =0;
- int totalNum=0;
- while ((num = is.read(bufIn))!=-1){
- System.arraycopy(bufIn,0,irisCode,totalNum,num);
- totalNum = totalNum+num;
- }
-
- //4.关闭资源
- is.close();
- os.close();
- socket.close();
- if(totalNum==1024){
- return irisCode;
- }
- else return null;
- }
}
diff --git a/casic-iris-register/pom.xml b/casic-iris-register/pom.xml
index 6b80048..5b14ffd 100644
--- a/casic-iris-register/pom.xml
+++ b/casic-iris-register/pom.xml
@@ -30,6 +30,12 @@
${casic.version}
+
+ com.casic
+ casic-metadata-support
+ ${casic.version}
+
+
diff --git a/casic-iris-register/src/main/java/com/casic/missiles/modular/register/controller/IrisDataController.java b/casic-iris-register/src/main/java/com/casic/missiles/modular/register/controller/IrisDataController.java
index 56cb280..5f00f1d 100644
--- a/casic-iris-register/src/main/java/com/casic/missiles/modular/register/controller/IrisDataController.java
+++ b/casic-iris-register/src/main/java/com/casic/missiles/modular/register/controller/IrisDataController.java
@@ -5,6 +5,7 @@
import com.casic.missiles.core.base.response.ResponseData;
import com.casic.missiles.core.common.constant.factory.PageFactory;
import com.casic.missiles.core.util.ToolUtil;
+import com.casic.missiles.modular.metadata.service.IMetadataSupportService;
import com.casic.missiles.modular.register.model.IrisData;
import com.casic.missiles.modular.register.service.IIrisDataService;
import com.casic.missiles.modular.register.util.Base64Util;
@@ -45,26 +46,17 @@
@Autowired
private IIrisDataService irisDataService;
+
/**
* 虹膜注册接口
*/
@RequestMapping(value = "/add")
@ResponseBody
public Object imageUpload(String image_zy0,String image_zy1,String image_yy0,String image_yy1,String personId,String idCardNo) throws IOException {
- Map map = null;
- map = irisDataService.selectByPersonId(personId);
-
if(ToolUtil.isEmpty(image_zy0)||ToolUtil.isEmpty(image_zy1) || ToolUtil.isEmpty(image_yy0) || ToolUtil.isEmpty(image_yy1)){
return ResponseData.error("有图像为空");
}
- IrisData irisData = new IrisData();
- if(map!=null && map.size()>0 ){
- //return ResponseData.error("已存在该人员的虹膜数据");
- irisData = irisDataService.selectById(map.get("id").toString());
- }
-
-
String leftFilePath1 = this.filePath+personId+"_left_1.jpg";
String leftFilePath2 = this.filePath+personId+"_left_2.jpg";
String rightFilePath1 = this.filePath+personId+"_right_1.bmp";
@@ -82,190 +74,13 @@
return ResponseData.error("右眼图像2转换失败");
}
+ String result = irisDataService.addIrisData(leftFilePath1,leftFilePath2,rightFilePath1,rightFilePath2,personId,idCardNo);
- BASE64Decoder decoder = new BASE64Decoder();
- //左眼1
- byte[] leftCode1 = getIrisCode(new FileInputStream(leftFilePath1));
- if(leftCode1 ==null || leftCode1.length!=1024){
- return ResponseData.error("左眼图像1编码失败");
- }
- //左眼2
- byte[] leftCode2 = getIrisCode(new FileInputStream(leftFilePath2));
- if(leftCode2==null || leftCode2.length!=1024){
- return ResponseData.error("左眼图像2编码失败");
- }
- //右眼1
- byte[] rightCode1 = getIrisCode(new FileInputStream(rightFilePath1));
- if(rightCode1==null || rightCode1.length!=1024){
- return ResponseData.error("右眼图像1编码失败");
- }
- //右眼2
- byte[] rightCode2 = getIrisCode(new FileInputStream(rightFilePath2));
- if(rightCode2==null || rightCode2.length!=1024){
- return ResponseData.error("右眼图像2编码失败");
- }
- irisData.setLeftIrisCode1(leftCode1);
- irisData.setLeftIrisCode2(leftCode2);
- irisData.setRightIrisCode1(rightCode1);
- irisData.setRightIrisCode2(rightCode2);
-
- irisData.setLeftImage1(leftFilePath1);
- irisData.setLeftImage2(leftFilePath2);
- irisData.setRightImage1(rightFilePath1);
- irisData.setRightImage2(rightFilePath2);
-
- irisData.setIdCardNo(idCardNo);
- irisData.setPersonId(Long.valueOf(personId));
-
- if(map!=null && map.size()>0 ){
- irisDataService.updateById(irisData);
- }else {
- irisDataService.insert(irisData);
- }
- return ResponseData.success();
+ return ResponseData.success(result);
}
- /**
- * 虹膜注册接口
- */
- @RequestMapping(value = "/addFile")
- @ResponseBody
- public Object imageUpload(MultipartFile image_zy0,MultipartFile image_zy1,MultipartFile image_yy0,MultipartFile image_yy1,String personId,String idCardNo) throws IOException {
- Map map = null;
- map = irisDataService.selectByPersonId(personId);
- if(map!=null){
- return ResponseData.error("已存在该人员的虹膜数据");
- }
-
- if(image_zy0.isEmpty()||image_zy1.isEmpty() || image_yy0.isEmpty() ||image_yy1.isEmpty()){
- return ResponseData.error("有图像为空");
- }
-
- IrisData irisData = new IrisData();
-
- String leftFilePath1 = this.filePath+personId+"_left_1.bmp";
- String leftFilePath2 = this.filePath+personId+"_left_2.bmp";
- String rightFilePath1 = this.filePath+personId+"_right_1.bmp";
- String rightFilePath2 = this.filePath+personId+"_right_2.bmp";
-
-
- //左眼1
- byte[] leftCode1 = getIrisCode(new FileInputStream(leftFilePath1));
- if(leftCode1 ==null || leftCode1.length!=1024){
- return ResponseData.error("左眼图像1编码失败");
- }
- //左眼2
- byte[] leftCode2 = getIrisCode(image_zy1.getInputStream());
- if(leftCode2==null || leftCode2.length!=1024){
- return ResponseData.error("左眼图像2编码失败");
- }
- //右眼1
- byte[] rightCode1 = getIrisCode(image_yy0.getInputStream());
- if(rightCode1==null || rightCode1.length!=1024){
- return ResponseData.error("右眼图像1编码失败");
- }
- //右眼2
- byte[] rightCode2 = getIrisCode(image_yy1.getInputStream());
- if(rightCode2==null || rightCode2.length!=1024){
- return ResponseData.error("右眼图像2编码失败");
- }
-
- irisData.setLeftIrisCode1(leftCode1);
- irisData.setLeftIrisCode2(leftCode2);
- irisData.setRightIrisCode1(rightCode1);
- irisData.setRightIrisCode2(rightCode2);
-
- irisData.setLeftImage1(leftFilePath1);
- irisData.setLeftImage2(leftFilePath2);
- irisData.setRightImage1(rightFilePath1);
- irisData.setRightImage2(rightFilePath2);
-
- irisData.setIdCardNo(idCardNo);
- irisData.setPersonId(Long.valueOf(personId));
- irisDataService.insert(irisData);
- return ResponseData.success();
- }
-
- /**
- * 修改虹膜数据接口
- */
- @RequestMapping(value = "/update")
- @ResponseBody
- public Object imageUpload(@RequestParam("image_zy0")String image_zy0,@RequestParam("image_zy1")String image_zy1,@RequestParam("image_yy0")String image_yy0,@RequestParam("image_yy1")String image_yy1,@RequestParam("personId")String personId) throws IOException {
- Map map = null;
- map = irisDataService.selectByPersonId(personId);
- if(map!=null){
- return ResponseData.error("不存在该记录");
- }
- if(ToolUtil.isEmpty(image_zy0)||ToolUtil.isEmpty(image_zy1) || ToolUtil.isEmpty(image_yy0) || ToolUtil.isEmpty(image_yy1)){
- return ResponseData.error("有图像为空");
- }
-
- IrisData irisData = irisDataService.selectById(map.get("id").toString());
-
- String leftFilePath1 = this.filePath+personId+"_left_1.bmp";
- String leftFilePath2 = this.filePath+personId+"_left_2.bmp";
- String rightFilePath1 = this.filePath+personId+"_right_1.bmp";
- String rightFilePath2 = this.filePath+personId+"_right_2.bmp";
- if(!Base64Util.Base64ToImage(image_zy0,leftFilePath1)){
- return ResponseData.error("左眼图像1转换失败");
- }
- if(!Base64Util.Base64ToImage(image_zy1,leftFilePath2)){
- return ResponseData.error("左眼图像2转换失败");
- }
- if(!Base64Util.Base64ToImage(image_yy0,rightFilePath1 )){
- return ResponseData.error("右眼图像1转换失败");
- }
- if(!Base64Util.Base64ToImage(image_yy1,rightFilePath2)){
- return ResponseData.error("右眼图像2转换失败");
- }
-
-
- BASE64Decoder decoder = new BASE64Decoder();
- //左眼1
- byte[] imageBytes = decoder.decodeBuffer(image_zy0);
- InputStream fis = new ByteArrayInputStream(imageBytes);
- byte[] leftCode1 = getIrisCode(fis);
- if(leftCode1 ==null || leftCode1.length!=1024){
- return ResponseData.error("左眼图像1编码失败");
- }
- //左眼2
- imageBytes = decoder.decodeBuffer(image_zy1);
- fis = new ByteArrayInputStream(imageBytes);
- byte[] leftCode2 = getIrisCode(fis);
- if(leftCode2==null || leftCode2.length!=1024){
- return ResponseData.error("左眼图像2编码失败");
- }
- //右眼1
- imageBytes = decoder.decodeBuffer(image_yy0);
- fis = new ByteArrayInputStream(imageBytes);
- byte[] rightCode1 = getIrisCode(fis);
- if(rightCode1==null || rightCode1.length!=1024){
- return ResponseData.error("右眼图像1编码失败");
- }
- //右眼2
- imageBytes = decoder.decodeBuffer(image_yy1);
- fis = new ByteArrayInputStream(imageBytes);
- byte[] rightCode2 = getIrisCode(fis);
- if(rightCode2==null || rightCode2.length!=1024){
- return ResponseData.error("右眼图像2编码失败");
- }
-
- irisData.setLeftIrisCode1(leftCode1);
- irisData.setLeftIrisCode2(leftCode2);
- irisData.setRightIrisCode1(rightCode1);
- irisData.setRightIrisCode2(rightCode2);
-
- irisData.setLeftImage1(leftFilePath1);
- irisData.setLeftImage2(leftFilePath2);
- irisData.setRightImage1(rightFilePath1);
- irisData.setRightImage2(rightFilePath2);
-
- irisDataService.updateById(irisData);
- return ResponseData.success();
- }
/**
* 详情
@@ -317,42 +132,7 @@
- //与c#的服务通信,获取虹膜编码
- private byte[] getIrisCode(InputStream fis) throws IOException {
- byte[] irisCode = new byte[1024];
- //1.创建客户端Socket,指定服务器地址和端口
- Socket socket=new Socket("localhost", 20005);
-
- //2.获取输出流,向服务器端发送信息
- OutputStream os=socket.getOutputStream();//字节输出流
- byte[] buf = new byte[4096];
- int len=0;
- while((len = fis.read(buf))!=-1) {
- os.write(buf, 0, len);
- }
- socket.shutdownOutput();//关闭输出流
-
- //3.获取输入流,读取服务器端的响应信息
- InputStream is=socket.getInputStream();
-
- byte[] bufIn = new byte[1024];
- int num =0;
- int totalNum=0;
- while ((num = is.read(bufIn))!=-1){
- System.arraycopy(bufIn,0,irisCode,totalNum,num);
- totalNum = totalNum+num;
- }
-
- //4.关闭资源
- is.close();
- os.close();
- socket.close();
- if(totalNum==1024){
- return irisCode;
- }
- else return null;
- }
}
diff --git a/casic-iris-register/src/main/java/com/casic/missiles/modular/register/service/IIrisDataService.java b/casic-iris-register/src/main/java/com/casic/missiles/modular/register/service/IIrisDataService.java
index 64b5120..105479d 100644
--- a/casic-iris-register/src/main/java/com/casic/missiles/modular/register/service/IIrisDataService.java
+++ b/casic-iris-register/src/main/java/com/casic/missiles/modular/register/service/IIrisDataService.java
@@ -4,6 +4,8 @@
import com.baomidou.mybatisplus.service.IService;
import org.apache.ibatis.annotations.Param;
+import java.io.FileNotFoundException;
+import java.io.IOException;
import java.util.Map;
/**
@@ -16,4 +18,6 @@
*/
public interface IIrisDataService extends IService {
Map selectByPersonId(@Param("personId") String personId);
+
+ String addIrisData(String leftFilePath1,String leftFilePath2,String rightFilePath1,String rightFilePath2,String personId,String idCardNo) throws IOException;
}
diff --git a/casic-iris-register/pom.xml b/casic-iris-register/pom.xml
index 6b80048..5b14ffd 100644
--- a/casic-iris-register/pom.xml
+++ b/casic-iris-register/pom.xml
@@ -30,6 +30,12 @@
${casic.version}
+
+ com.casic
+ casic-metadata-support
+ ${casic.version}
+
+
diff --git a/casic-iris-register/src/main/java/com/casic/missiles/modular/register/controller/IrisDataController.java b/casic-iris-register/src/main/java/com/casic/missiles/modular/register/controller/IrisDataController.java
index 56cb280..5f00f1d 100644
--- a/casic-iris-register/src/main/java/com/casic/missiles/modular/register/controller/IrisDataController.java
+++ b/casic-iris-register/src/main/java/com/casic/missiles/modular/register/controller/IrisDataController.java
@@ -5,6 +5,7 @@
import com.casic.missiles.core.base.response.ResponseData;
import com.casic.missiles.core.common.constant.factory.PageFactory;
import com.casic.missiles.core.util.ToolUtil;
+import com.casic.missiles.modular.metadata.service.IMetadataSupportService;
import com.casic.missiles.modular.register.model.IrisData;
import com.casic.missiles.modular.register.service.IIrisDataService;
import com.casic.missiles.modular.register.util.Base64Util;
@@ -45,26 +46,17 @@
@Autowired
private IIrisDataService irisDataService;
+
/**
* 虹膜注册接口
*/
@RequestMapping(value = "/add")
@ResponseBody
public Object imageUpload(String image_zy0,String image_zy1,String image_yy0,String image_yy1,String personId,String idCardNo) throws IOException {
- Map map = null;
- map = irisDataService.selectByPersonId(personId);
-
if(ToolUtil.isEmpty(image_zy0)||ToolUtil.isEmpty(image_zy1) || ToolUtil.isEmpty(image_yy0) || ToolUtil.isEmpty(image_yy1)){
return ResponseData.error("有图像为空");
}
- IrisData irisData = new IrisData();
- if(map!=null && map.size()>0 ){
- //return ResponseData.error("已存在该人员的虹膜数据");
- irisData = irisDataService.selectById(map.get("id").toString());
- }
-
-
String leftFilePath1 = this.filePath+personId+"_left_1.jpg";
String leftFilePath2 = this.filePath+personId+"_left_2.jpg";
String rightFilePath1 = this.filePath+personId+"_right_1.bmp";
@@ -82,190 +74,13 @@
return ResponseData.error("右眼图像2转换失败");
}
+ String result = irisDataService.addIrisData(leftFilePath1,leftFilePath2,rightFilePath1,rightFilePath2,personId,idCardNo);
- BASE64Decoder decoder = new BASE64Decoder();
- //左眼1
- byte[] leftCode1 = getIrisCode(new FileInputStream(leftFilePath1));
- if(leftCode1 ==null || leftCode1.length!=1024){
- return ResponseData.error("左眼图像1编码失败");
- }
- //左眼2
- byte[] leftCode2 = getIrisCode(new FileInputStream(leftFilePath2));
- if(leftCode2==null || leftCode2.length!=1024){
- return ResponseData.error("左眼图像2编码失败");
- }
- //右眼1
- byte[] rightCode1 = getIrisCode(new FileInputStream(rightFilePath1));
- if(rightCode1==null || rightCode1.length!=1024){
- return ResponseData.error("右眼图像1编码失败");
- }
- //右眼2
- byte[] rightCode2 = getIrisCode(new FileInputStream(rightFilePath2));
- if(rightCode2==null || rightCode2.length!=1024){
- return ResponseData.error("右眼图像2编码失败");
- }
- irisData.setLeftIrisCode1(leftCode1);
- irisData.setLeftIrisCode2(leftCode2);
- irisData.setRightIrisCode1(rightCode1);
- irisData.setRightIrisCode2(rightCode2);
-
- irisData.setLeftImage1(leftFilePath1);
- irisData.setLeftImage2(leftFilePath2);
- irisData.setRightImage1(rightFilePath1);
- irisData.setRightImage2(rightFilePath2);
-
- irisData.setIdCardNo(idCardNo);
- irisData.setPersonId(Long.valueOf(personId));
-
- if(map!=null && map.size()>0 ){
- irisDataService.updateById(irisData);
- }else {
- irisDataService.insert(irisData);
- }
- return ResponseData.success();
+ return ResponseData.success(result);
}
- /**
- * 虹膜注册接口
- */
- @RequestMapping(value = "/addFile")
- @ResponseBody
- public Object imageUpload(MultipartFile image_zy0,MultipartFile image_zy1,MultipartFile image_yy0,MultipartFile image_yy1,String personId,String idCardNo) throws IOException {
- Map map = null;
- map = irisDataService.selectByPersonId(personId);
- if(map!=null){
- return ResponseData.error("已存在该人员的虹膜数据");
- }
-
- if(image_zy0.isEmpty()||image_zy1.isEmpty() || image_yy0.isEmpty() ||image_yy1.isEmpty()){
- return ResponseData.error("有图像为空");
- }
-
- IrisData irisData = new IrisData();
-
- String leftFilePath1 = this.filePath+personId+"_left_1.bmp";
- String leftFilePath2 = this.filePath+personId+"_left_2.bmp";
- String rightFilePath1 = this.filePath+personId+"_right_1.bmp";
- String rightFilePath2 = this.filePath+personId+"_right_2.bmp";
-
-
- //左眼1
- byte[] leftCode1 = getIrisCode(new FileInputStream(leftFilePath1));
- if(leftCode1 ==null || leftCode1.length!=1024){
- return ResponseData.error("左眼图像1编码失败");
- }
- //左眼2
- byte[] leftCode2 = getIrisCode(image_zy1.getInputStream());
- if(leftCode2==null || leftCode2.length!=1024){
- return ResponseData.error("左眼图像2编码失败");
- }
- //右眼1
- byte[] rightCode1 = getIrisCode(image_yy0.getInputStream());
- if(rightCode1==null || rightCode1.length!=1024){
- return ResponseData.error("右眼图像1编码失败");
- }
- //右眼2
- byte[] rightCode2 = getIrisCode(image_yy1.getInputStream());
- if(rightCode2==null || rightCode2.length!=1024){
- return ResponseData.error("右眼图像2编码失败");
- }
-
- irisData.setLeftIrisCode1(leftCode1);
- irisData.setLeftIrisCode2(leftCode2);
- irisData.setRightIrisCode1(rightCode1);
- irisData.setRightIrisCode2(rightCode2);
-
- irisData.setLeftImage1(leftFilePath1);
- irisData.setLeftImage2(leftFilePath2);
- irisData.setRightImage1(rightFilePath1);
- irisData.setRightImage2(rightFilePath2);
-
- irisData.setIdCardNo(idCardNo);
- irisData.setPersonId(Long.valueOf(personId));
- irisDataService.insert(irisData);
- return ResponseData.success();
- }
-
- /**
- * 修改虹膜数据接口
- */
- @RequestMapping(value = "/update")
- @ResponseBody
- public Object imageUpload(@RequestParam("image_zy0")String image_zy0,@RequestParam("image_zy1")String image_zy1,@RequestParam("image_yy0")String image_yy0,@RequestParam("image_yy1")String image_yy1,@RequestParam("personId")String personId) throws IOException {
- Map map = null;
- map = irisDataService.selectByPersonId(personId);
- if(map!=null){
- return ResponseData.error("不存在该记录");
- }
- if(ToolUtil.isEmpty(image_zy0)||ToolUtil.isEmpty(image_zy1) || ToolUtil.isEmpty(image_yy0) || ToolUtil.isEmpty(image_yy1)){
- return ResponseData.error("有图像为空");
- }
-
- IrisData irisData = irisDataService.selectById(map.get("id").toString());
-
- String leftFilePath1 = this.filePath+personId+"_left_1.bmp";
- String leftFilePath2 = this.filePath+personId+"_left_2.bmp";
- String rightFilePath1 = this.filePath+personId+"_right_1.bmp";
- String rightFilePath2 = this.filePath+personId+"_right_2.bmp";
- if(!Base64Util.Base64ToImage(image_zy0,leftFilePath1)){
- return ResponseData.error("左眼图像1转换失败");
- }
- if(!Base64Util.Base64ToImage(image_zy1,leftFilePath2)){
- return ResponseData.error("左眼图像2转换失败");
- }
- if(!Base64Util.Base64ToImage(image_yy0,rightFilePath1 )){
- return ResponseData.error("右眼图像1转换失败");
- }
- if(!Base64Util.Base64ToImage(image_yy1,rightFilePath2)){
- return ResponseData.error("右眼图像2转换失败");
- }
-
-
- BASE64Decoder decoder = new BASE64Decoder();
- //左眼1
- byte[] imageBytes = decoder.decodeBuffer(image_zy0);
- InputStream fis = new ByteArrayInputStream(imageBytes);
- byte[] leftCode1 = getIrisCode(fis);
- if(leftCode1 ==null || leftCode1.length!=1024){
- return ResponseData.error("左眼图像1编码失败");
- }
- //左眼2
- imageBytes = decoder.decodeBuffer(image_zy1);
- fis = new ByteArrayInputStream(imageBytes);
- byte[] leftCode2 = getIrisCode(fis);
- if(leftCode2==null || leftCode2.length!=1024){
- return ResponseData.error("左眼图像2编码失败");
- }
- //右眼1
- imageBytes = decoder.decodeBuffer(image_yy0);
- fis = new ByteArrayInputStream(imageBytes);
- byte[] rightCode1 = getIrisCode(fis);
- if(rightCode1==null || rightCode1.length!=1024){
- return ResponseData.error("右眼图像1编码失败");
- }
- //右眼2
- imageBytes = decoder.decodeBuffer(image_yy1);
- fis = new ByteArrayInputStream(imageBytes);
- byte[] rightCode2 = getIrisCode(fis);
- if(rightCode2==null || rightCode2.length!=1024){
- return ResponseData.error("右眼图像2编码失败");
- }
-
- irisData.setLeftIrisCode1(leftCode1);
- irisData.setLeftIrisCode2(leftCode2);
- irisData.setRightIrisCode1(rightCode1);
- irisData.setRightIrisCode2(rightCode2);
-
- irisData.setLeftImage1(leftFilePath1);
- irisData.setLeftImage2(leftFilePath2);
- irisData.setRightImage1(rightFilePath1);
- irisData.setRightImage2(rightFilePath2);
-
- irisDataService.updateById(irisData);
- return ResponseData.success();
- }
/**
* 详情
@@ -317,42 +132,7 @@
- //与c#的服务通信,获取虹膜编码
- private byte[] getIrisCode(InputStream fis) throws IOException {
- byte[] irisCode = new byte[1024];
- //1.创建客户端Socket,指定服务器地址和端口
- Socket socket=new Socket("localhost", 20005);
-
- //2.获取输出流,向服务器端发送信息
- OutputStream os=socket.getOutputStream();//字节输出流
- byte[] buf = new byte[4096];
- int len=0;
- while((len = fis.read(buf))!=-1) {
- os.write(buf, 0, len);
- }
- socket.shutdownOutput();//关闭输出流
-
- //3.获取输入流,读取服务器端的响应信息
- InputStream is=socket.getInputStream();
-
- byte[] bufIn = new byte[1024];
- int num =0;
- int totalNum=0;
- while ((num = is.read(bufIn))!=-1){
- System.arraycopy(bufIn,0,irisCode,totalNum,num);
- totalNum = totalNum+num;
- }
-
- //4.关闭资源
- is.close();
- os.close();
- socket.close();
- if(totalNum==1024){
- return irisCode;
- }
- else return null;
- }
}
diff --git a/casic-iris-register/src/main/java/com/casic/missiles/modular/register/service/IIrisDataService.java b/casic-iris-register/src/main/java/com/casic/missiles/modular/register/service/IIrisDataService.java
index 64b5120..105479d 100644
--- a/casic-iris-register/src/main/java/com/casic/missiles/modular/register/service/IIrisDataService.java
+++ b/casic-iris-register/src/main/java/com/casic/missiles/modular/register/service/IIrisDataService.java
@@ -4,6 +4,8 @@
import com.baomidou.mybatisplus.service.IService;
import org.apache.ibatis.annotations.Param;
+import java.io.FileNotFoundException;
+import java.io.IOException;
import java.util.Map;
/**
@@ -16,4 +18,6 @@
*/
public interface IIrisDataService extends IService {
Map selectByPersonId(@Param("personId") String personId);
+
+ String addIrisData(String leftFilePath1,String leftFilePath2,String rightFilePath1,String rightFilePath2,String personId,String idCardNo) throws IOException;
}
diff --git a/casic-iris-register/src/main/java/com/casic/missiles/modular/register/service/impl/IrisDataServiceImpl.java b/casic-iris-register/src/main/java/com/casic/missiles/modular/register/service/impl/IrisDataServiceImpl.java
index 38fe2b1..7759189 100644
--- a/casic-iris-register/src/main/java/com/casic/missiles/modular/register/service/impl/IrisDataServiceImpl.java
+++ b/casic-iris-register/src/main/java/com/casic/missiles/modular/register/service/impl/IrisDataServiceImpl.java
@@ -1,12 +1,23 @@
package com.casic.missiles.modular.register.service.impl;
+import com.casic.missiles.core.base.response.ResponseData;
+import com.casic.missiles.core.util.ToolUtil;
+import com.casic.missiles.modular.metadata.service.IMetadataSupportService;
import com.casic.missiles.modular.register.dao.IrisDataMapper;
import com.casic.missiles.modular.register.model.IrisData;
import com.casic.missiles.modular.register.service.IIrisDataService;
import com.baomidou.mybatisplus.service.impl.ServiceImpl;
+import com.casic.missiles.modular.register.util.Base64Util;
+import com.casic.missiles.modular.system.model.Person;
import org.apache.ibatis.annotations.Param;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
+import sun.misc.BASE64Decoder;
+import java.io.*;
+import java.net.Socket;
+import java.util.HashMap;
import java.util.Map;
/**
@@ -19,8 +30,112 @@
*/
@Service
public class IrisDataServiceImpl extends ServiceImpl implements IIrisDataService {
+ @Value("${casic.file.uploadPath:C://casic//tmp//}")
+ private String filePath;
+ @Autowired
+ private IMetadataSupportService metadataSupportService;
+
@Override
public Map selectByPersonId(String personId){
return this.baseMapper.selectByPersonId(personId);
}
+
+ @Override
+ public String addIrisData(String leftFilePath1,String leftFilePath2,String rightFilePath1,String rightFilePath2,String personId,String idCardNo) throws IOException {
+ Map map = null;
+ map = selectByPersonId(personId);
+
+
+ IrisData irisData = new IrisData();
+ if(map!=null && map.size()>0 ){
+ //return ResponseData.error("已存在该人员的虹膜数据");
+ irisData = selectById(map.get("id").toString());
+ }
+
+
+ BASE64Decoder decoder = new BASE64Decoder();
+ //左眼1
+ byte[] leftCode1 = getIrisCode(new FileInputStream(leftFilePath1));
+ if(leftCode1 ==null || leftCode1.length!=1024){
+ return "左眼图像1编码失败";
+ }
+ //左眼2
+ byte[] leftCode2 = getIrisCode(new FileInputStream(leftFilePath2));
+ if(leftCode2==null || leftCode2.length!=1024){
+ return "左眼图像2编码失败";
+ }
+ //右眼1
+ byte[] rightCode1 = getIrisCode(new FileInputStream(rightFilePath1));
+ if(rightCode1==null || rightCode1.length!=1024){
+ return "右眼图像1编码失败";
+ }
+ //右眼2
+ byte[] rightCode2 = getIrisCode(new FileInputStream(rightFilePath2));
+ if(rightCode2==null || rightCode2.length!=1024){
+ return "右眼图像2编码失败";
+ }
+
+ irisData.setLeftIrisCode1(leftCode1);
+ irisData.setLeftIrisCode2(leftCode2);
+ irisData.setRightIrisCode1(rightCode1);
+ irisData.setRightIrisCode2(rightCode2);
+
+ irisData.setLeftImage1(leftFilePath1);
+ irisData.setLeftImage2(leftFilePath2);
+ irisData.setRightImage1(rightFilePath1);
+ irisData.setRightImage2(rightFilePath2);
+
+ irisData.setIdCardNo(idCardNo);
+ irisData.setPersonId(Long.valueOf(personId));
+
+ if(map!=null && map.size()>0 ){
+ updateById(irisData);
+ }else {
+ insert(irisData);
+ }
+ //更新人员扩展表的是否注册过虹膜数据标志位
+ Map mapIsRegist = new HashMap<>();
+ mapIsRegist.put("isRegist",1);
+ metadataSupportService.updateMetaDataByTargetId(Person.class,map,personId);
+
+ return "注册成功";
+ }
+
+ //与c#的服务通信,获取虹膜编码
+ public byte[] getIrisCode(InputStream fis) throws IOException {
+ byte[] irisCode = new byte[1024];
+
+ //1.创建客户端Socket,指定服务器地址和端口
+ Socket socket=new Socket("localhost", 20005);
+
+ //2.获取输出流,向服务器端发送信息
+ OutputStream os=socket.getOutputStream();//字节输出流
+ byte[] buf = new byte[4096];
+ int len=0;
+ while((len = fis.read(buf))!=-1) {
+ os.write(buf, 0, len);
+ }
+ socket.shutdownOutput();//关闭输出流
+
+ //3.获取输入流,读取服务器端的响应信息
+ InputStream is=socket.getInputStream();
+
+ byte[] bufIn = new byte[1024];
+ int num =0;
+ int totalNum=0;
+ while ((num = is.read(bufIn))!=-1){
+ System.arraycopy(bufIn,0,irisCode,totalNum,num);
+ totalNum = totalNum+num;
+ }
+
+ //4.关闭资源
+ is.close();
+ os.close();
+ socket.close();
+ if(totalNum==1024){
+ return irisCode;
+ }
+ else return null;
+ }
+
}