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 8d6904d..56cb280 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 @@ -53,18 +53,20 @@ 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(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 = 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.bmp"; - String leftFilePath2 = this.filePath+personId+"_left_2.bmp"; + + String leftFilePath1 = this.filePath+personId+"_left_1.jpg"; + String leftFilePath2 = this.filePath+personId+"_left_2.jpg"; String rightFilePath1 = this.filePath+personId+"_right_1.bmp"; String rightFilePath2 = this.filePath+personId+"_right_2.bmp"; if(!Base64Util.Base64ToImage(image_zy0,leftFilePath1)){ @@ -83,30 +85,22 @@ BASE64Decoder decoder = new BASE64Decoder(); //左眼1 - byte[] imageBytes = decoder.decodeBuffer(image_zy0); - InputStream fis = new ByteArrayInputStream(imageBytes); - byte[] leftCode1 = getIrisCode(fis); + byte[] leftCode1 = getIrisCode(new FileInputStream(leftFilePath1)); if(leftCode1 ==null || leftCode1.length!=1024){ return ResponseData.error("左眼图像1编码失败"); } //左眼2 - imageBytes = decoder.decodeBuffer(image_zy1); - fis = new ByteArrayInputStream(imageBytes); - byte[] leftCode2 = getIrisCode(fis); + byte[] leftCode2 = getIrisCode(new FileInputStream(leftFilePath2)); if(leftCode2==null || leftCode2.length!=1024){ return ResponseData.error("左眼图像2编码失败"); } //右眼1 - imageBytes = decoder.decodeBuffer(image_yy0); - fis = new ByteArrayInputStream(imageBytes); - byte[] rightCode1 = getIrisCode(fis); + byte[] rightCode1 = getIrisCode(new FileInputStream(rightFilePath1)); if(rightCode1==null || rightCode1.length!=1024){ return ResponseData.error("右眼图像1编码失败"); } //右眼2 - imageBytes = decoder.decodeBuffer(image_yy1); - fis = new ByteArrayInputStream(imageBytes); - byte[] rightCode2 = getIrisCode(fis); + byte[] rightCode2 = getIrisCode(new FileInputStream(rightFilePath2)); if(rightCode2==null || rightCode2.length!=1024){ return ResponseData.error("右眼图像2编码失败"); } @@ -123,7 +117,12 @@ irisData.setIdCardNo(idCardNo); irisData.setPersonId(Long.valueOf(personId)); - irisDataService.insert(irisData); + + if(map!=null && map.size()>0 ){ + irisDataService.updateById(irisData); + }else { + irisDataService.insert(irisData); + } return ResponseData.success(); } @@ -153,7 +152,7 @@ //左眼1 - byte[] leftCode1 = getIrisCode(image_zy0.getInputStream()); + byte[] leftCode1 = getIrisCode(new FileInputStream(leftFilePath1)); if(leftCode1 ==null || leftCode1.length!=1024){ return ResponseData.error("左眼图像1编码失败"); } 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 8d6904d..56cb280 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 @@ -53,18 +53,20 @@ 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(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 = 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.bmp"; - String leftFilePath2 = this.filePath+personId+"_left_2.bmp"; + + String leftFilePath1 = this.filePath+personId+"_left_1.jpg"; + String leftFilePath2 = this.filePath+personId+"_left_2.jpg"; String rightFilePath1 = this.filePath+personId+"_right_1.bmp"; String rightFilePath2 = this.filePath+personId+"_right_2.bmp"; if(!Base64Util.Base64ToImage(image_zy0,leftFilePath1)){ @@ -83,30 +85,22 @@ BASE64Decoder decoder = new BASE64Decoder(); //左眼1 - byte[] imageBytes = decoder.decodeBuffer(image_zy0); - InputStream fis = new ByteArrayInputStream(imageBytes); - byte[] leftCode1 = getIrisCode(fis); + byte[] leftCode1 = getIrisCode(new FileInputStream(leftFilePath1)); if(leftCode1 ==null || leftCode1.length!=1024){ return ResponseData.error("左眼图像1编码失败"); } //左眼2 - imageBytes = decoder.decodeBuffer(image_zy1); - fis = new ByteArrayInputStream(imageBytes); - byte[] leftCode2 = getIrisCode(fis); + byte[] leftCode2 = getIrisCode(new FileInputStream(leftFilePath2)); if(leftCode2==null || leftCode2.length!=1024){ return ResponseData.error("左眼图像2编码失败"); } //右眼1 - imageBytes = decoder.decodeBuffer(image_yy0); - fis = new ByteArrayInputStream(imageBytes); - byte[] rightCode1 = getIrisCode(fis); + byte[] rightCode1 = getIrisCode(new FileInputStream(rightFilePath1)); if(rightCode1==null || rightCode1.length!=1024){ return ResponseData.error("右眼图像1编码失败"); } //右眼2 - imageBytes = decoder.decodeBuffer(image_yy1); - fis = new ByteArrayInputStream(imageBytes); - byte[] rightCode2 = getIrisCode(fis); + byte[] rightCode2 = getIrisCode(new FileInputStream(rightFilePath2)); if(rightCode2==null || rightCode2.length!=1024){ return ResponseData.error("右眼图像2编码失败"); } @@ -123,7 +117,12 @@ irisData.setIdCardNo(idCardNo); irisData.setPersonId(Long.valueOf(personId)); - irisDataService.insert(irisData); + + if(map!=null && map.size()>0 ){ + irisDataService.updateById(irisData); + }else { + irisDataService.insert(irisData); + } return ResponseData.success(); } @@ -153,7 +152,7 @@ //左眼1 - byte[] leftCode1 = getIrisCode(image_zy0.getInputStream()); + byte[] leftCode1 = getIrisCode(new FileInputStream(leftFilePath1)); if(leftCode1 ==null || leftCode1.length!=1024){ return ResponseData.error("左眼图像1编码失败"); } diff --git a/casic-iris-register/src/main/java/com/casic/missiles/modular/register/util/Base64Util.java b/casic-iris-register/src/main/java/com/casic/missiles/modular/register/util/Base64Util.java index 005f71d..40b1e2d 100644 --- a/casic-iris-register/src/main/java/com/casic/missiles/modular/register/util/Base64Util.java +++ b/casic-iris-register/src/main/java/com/casic/missiles/modular/register/util/Base64Util.java @@ -3,6 +3,9 @@ import com.casic.missiles.core.util.ToolUtil; import sun.misc.BASE64Decoder; +import javax.imageio.ImageIO; +import java.awt.image.BufferedImage; +import java.io.ByteArrayInputStream; import java.io.File; import java.io.FileOutputStream; import java.io.OutputStream; @@ -22,21 +25,31 @@ if (ToolUtil.isEmpty(imgStr)) // 图像数据为空 return false; + imgStr = imgStr.substring(imgStr.indexOf(",")+1); + BASE64Decoder decoder = new BASE64Decoder(); try { // Base64解码 byte[] b = decoder.decodeBuffer(imgStr); +// ByteArrayInputStream bais = new ByteArrayInputStream(b); +// BufferedImage bImage = ImageIO.read(bais); + for (int i = 0; i < b.length; ++i) { if (b[i] < 0) {// 调整异常数据 b[i] += 256; } } + //如果已存在图像,先删除 - File name = new File(imgFilePath); + File name = null; + name = new File(imgFilePath); if( name.exists() && name.isFile()){ name.delete(); + name = new File(imgFilePath); } + +// ImageIO.write(bImage, "bmp", name); OutputStream out = new FileOutputStream(imgFilePath); out.write(b); out.flush(); 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 8d6904d..56cb280 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 @@ -53,18 +53,20 @@ 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(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 = 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.bmp"; - String leftFilePath2 = this.filePath+personId+"_left_2.bmp"; + + String leftFilePath1 = this.filePath+personId+"_left_1.jpg"; + String leftFilePath2 = this.filePath+personId+"_left_2.jpg"; String rightFilePath1 = this.filePath+personId+"_right_1.bmp"; String rightFilePath2 = this.filePath+personId+"_right_2.bmp"; if(!Base64Util.Base64ToImage(image_zy0,leftFilePath1)){ @@ -83,30 +85,22 @@ BASE64Decoder decoder = new BASE64Decoder(); //左眼1 - byte[] imageBytes = decoder.decodeBuffer(image_zy0); - InputStream fis = new ByteArrayInputStream(imageBytes); - byte[] leftCode1 = getIrisCode(fis); + byte[] leftCode1 = getIrisCode(new FileInputStream(leftFilePath1)); if(leftCode1 ==null || leftCode1.length!=1024){ return ResponseData.error("左眼图像1编码失败"); } //左眼2 - imageBytes = decoder.decodeBuffer(image_zy1); - fis = new ByteArrayInputStream(imageBytes); - byte[] leftCode2 = getIrisCode(fis); + byte[] leftCode2 = getIrisCode(new FileInputStream(leftFilePath2)); if(leftCode2==null || leftCode2.length!=1024){ return ResponseData.error("左眼图像2编码失败"); } //右眼1 - imageBytes = decoder.decodeBuffer(image_yy0); - fis = new ByteArrayInputStream(imageBytes); - byte[] rightCode1 = getIrisCode(fis); + byte[] rightCode1 = getIrisCode(new FileInputStream(rightFilePath1)); if(rightCode1==null || rightCode1.length!=1024){ return ResponseData.error("右眼图像1编码失败"); } //右眼2 - imageBytes = decoder.decodeBuffer(image_yy1); - fis = new ByteArrayInputStream(imageBytes); - byte[] rightCode2 = getIrisCode(fis); + byte[] rightCode2 = getIrisCode(new FileInputStream(rightFilePath2)); if(rightCode2==null || rightCode2.length!=1024){ return ResponseData.error("右眼图像2编码失败"); } @@ -123,7 +117,12 @@ irisData.setIdCardNo(idCardNo); irisData.setPersonId(Long.valueOf(personId)); - irisDataService.insert(irisData); + + if(map!=null && map.size()>0 ){ + irisDataService.updateById(irisData); + }else { + irisDataService.insert(irisData); + } return ResponseData.success(); } @@ -153,7 +152,7 @@ //左眼1 - byte[] leftCode1 = getIrisCode(image_zy0.getInputStream()); + byte[] leftCode1 = getIrisCode(new FileInputStream(leftFilePath1)); if(leftCode1 ==null || leftCode1.length!=1024){ return ResponseData.error("左眼图像1编码失败"); } diff --git a/casic-iris-register/src/main/java/com/casic/missiles/modular/register/util/Base64Util.java b/casic-iris-register/src/main/java/com/casic/missiles/modular/register/util/Base64Util.java index 005f71d..40b1e2d 100644 --- a/casic-iris-register/src/main/java/com/casic/missiles/modular/register/util/Base64Util.java +++ b/casic-iris-register/src/main/java/com/casic/missiles/modular/register/util/Base64Util.java @@ -3,6 +3,9 @@ import com.casic.missiles.core.util.ToolUtil; import sun.misc.BASE64Decoder; +import javax.imageio.ImageIO; +import java.awt.image.BufferedImage; +import java.io.ByteArrayInputStream; import java.io.File; import java.io.FileOutputStream; import java.io.OutputStream; @@ -22,21 +25,31 @@ if (ToolUtil.isEmpty(imgStr)) // 图像数据为空 return false; + imgStr = imgStr.substring(imgStr.indexOf(",")+1); + BASE64Decoder decoder = new BASE64Decoder(); try { // Base64解码 byte[] b = decoder.decodeBuffer(imgStr); +// ByteArrayInputStream bais = new ByteArrayInputStream(b); +// BufferedImage bImage = ImageIO.read(bais); + for (int i = 0; i < b.length; ++i) { if (b[i] < 0) {// 调整异常数据 b[i] += 256; } } + //如果已存在图像,先删除 - File name = new File(imgFilePath); + File name = null; + name = new File(imgFilePath); if( name.exists() && name.isFile()){ name.delete(); + name = new File(imgFilePath); } + +// ImageIO.write(bImage, "bmp", name); OutputStream out = new FileOutputStream(imgFilePath); out.write(b); out.flush(); diff --git a/casic-web/src/main/resources/config/application-prod.yml b/casic-web/src/main/resources/config/application-prod.yml index 1524dfb..91809ff 100644 --- a/casic-web/src/main/resources/config/application-prod.yml +++ b/casic-web/src/main/resources/config/application-prod.yml @@ -3,9 +3,9 @@ ################### spring配置 ################### spring: datasource: - url: jdbc:mysql://119.254.103.80:3000/casic_iris?autoReconnect=true&useUnicode=true&characterEncoding=utf8&useSSL=false&allowMultiQueries=true&zeroDateTimeBehavior=convertToNull + url: jdbc:mysql://192.168.0.212:3306/casic_iris?autoReconnect=true&useUnicode=true&characterEncoding=utf8&useSSL=false&allowMultiQueries=true&zeroDateTimeBehavior=convertToNull username: root - password: Casic203 + password: root initial-size: 2 min-idle: 1 #flowable数据源和多数据源配置 @@ -13,8 +13,16 @@ kaptcha-open: false #是否开启登录时验证码 (true/false) nologin-urls: /user/login,/user/appLogin,/kaptcha,/config/baseConfig,/route/mockToken,/process/processDiagram export-temp-path: E:\soft\othersoft\203\casic-iris-parent\casic-web\src\main\resources\config\temp\ +mybatis-plus: + global-config: + sql-injector: com.casic.missiles.modular.metadata.inject.MetaSqlInject +# logic-delete-value: 0 logging: level.root: info level.com.casic: debug path: logs/ - file: missiles.log \ No newline at end of file + file: missiles.log +iris: + socket-port: 8000 + config: + export-path: D:\java\boot\casic-web-1.0.0-SNAPSHOT\export\ 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 8d6904d..56cb280 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 @@ -53,18 +53,20 @@ 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(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 = 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.bmp"; - String leftFilePath2 = this.filePath+personId+"_left_2.bmp"; + + String leftFilePath1 = this.filePath+personId+"_left_1.jpg"; + String leftFilePath2 = this.filePath+personId+"_left_2.jpg"; String rightFilePath1 = this.filePath+personId+"_right_1.bmp"; String rightFilePath2 = this.filePath+personId+"_right_2.bmp"; if(!Base64Util.Base64ToImage(image_zy0,leftFilePath1)){ @@ -83,30 +85,22 @@ BASE64Decoder decoder = new BASE64Decoder(); //左眼1 - byte[] imageBytes = decoder.decodeBuffer(image_zy0); - InputStream fis = new ByteArrayInputStream(imageBytes); - byte[] leftCode1 = getIrisCode(fis); + byte[] leftCode1 = getIrisCode(new FileInputStream(leftFilePath1)); if(leftCode1 ==null || leftCode1.length!=1024){ return ResponseData.error("左眼图像1编码失败"); } //左眼2 - imageBytes = decoder.decodeBuffer(image_zy1); - fis = new ByteArrayInputStream(imageBytes); - byte[] leftCode2 = getIrisCode(fis); + byte[] leftCode2 = getIrisCode(new FileInputStream(leftFilePath2)); if(leftCode2==null || leftCode2.length!=1024){ return ResponseData.error("左眼图像2编码失败"); } //右眼1 - imageBytes = decoder.decodeBuffer(image_yy0); - fis = new ByteArrayInputStream(imageBytes); - byte[] rightCode1 = getIrisCode(fis); + byte[] rightCode1 = getIrisCode(new FileInputStream(rightFilePath1)); if(rightCode1==null || rightCode1.length!=1024){ return ResponseData.error("右眼图像1编码失败"); } //右眼2 - imageBytes = decoder.decodeBuffer(image_yy1); - fis = new ByteArrayInputStream(imageBytes); - byte[] rightCode2 = getIrisCode(fis); + byte[] rightCode2 = getIrisCode(new FileInputStream(rightFilePath2)); if(rightCode2==null || rightCode2.length!=1024){ return ResponseData.error("右眼图像2编码失败"); } @@ -123,7 +117,12 @@ irisData.setIdCardNo(idCardNo); irisData.setPersonId(Long.valueOf(personId)); - irisDataService.insert(irisData); + + if(map!=null && map.size()>0 ){ + irisDataService.updateById(irisData); + }else { + irisDataService.insert(irisData); + } return ResponseData.success(); } @@ -153,7 +152,7 @@ //左眼1 - byte[] leftCode1 = getIrisCode(image_zy0.getInputStream()); + byte[] leftCode1 = getIrisCode(new FileInputStream(leftFilePath1)); if(leftCode1 ==null || leftCode1.length!=1024){ return ResponseData.error("左眼图像1编码失败"); } diff --git a/casic-iris-register/src/main/java/com/casic/missiles/modular/register/util/Base64Util.java b/casic-iris-register/src/main/java/com/casic/missiles/modular/register/util/Base64Util.java index 005f71d..40b1e2d 100644 --- a/casic-iris-register/src/main/java/com/casic/missiles/modular/register/util/Base64Util.java +++ b/casic-iris-register/src/main/java/com/casic/missiles/modular/register/util/Base64Util.java @@ -3,6 +3,9 @@ import com.casic.missiles.core.util.ToolUtil; import sun.misc.BASE64Decoder; +import javax.imageio.ImageIO; +import java.awt.image.BufferedImage; +import java.io.ByteArrayInputStream; import java.io.File; import java.io.FileOutputStream; import java.io.OutputStream; @@ -22,21 +25,31 @@ if (ToolUtil.isEmpty(imgStr)) // 图像数据为空 return false; + imgStr = imgStr.substring(imgStr.indexOf(",")+1); + BASE64Decoder decoder = new BASE64Decoder(); try { // Base64解码 byte[] b = decoder.decodeBuffer(imgStr); +// ByteArrayInputStream bais = new ByteArrayInputStream(b); +// BufferedImage bImage = ImageIO.read(bais); + for (int i = 0; i < b.length; ++i) { if (b[i] < 0) {// 调整异常数据 b[i] += 256; } } + //如果已存在图像,先删除 - File name = new File(imgFilePath); + File name = null; + name = new File(imgFilePath); if( name.exists() && name.isFile()){ name.delete(); + name = new File(imgFilePath); } + +// ImageIO.write(bImage, "bmp", name); OutputStream out = new FileOutputStream(imgFilePath); out.write(b); out.flush(); diff --git a/casic-web/src/main/resources/config/application-prod.yml b/casic-web/src/main/resources/config/application-prod.yml index 1524dfb..91809ff 100644 --- a/casic-web/src/main/resources/config/application-prod.yml +++ b/casic-web/src/main/resources/config/application-prod.yml @@ -3,9 +3,9 @@ ################### spring配置 ################### spring: datasource: - url: jdbc:mysql://119.254.103.80:3000/casic_iris?autoReconnect=true&useUnicode=true&characterEncoding=utf8&useSSL=false&allowMultiQueries=true&zeroDateTimeBehavior=convertToNull + url: jdbc:mysql://192.168.0.212:3306/casic_iris?autoReconnect=true&useUnicode=true&characterEncoding=utf8&useSSL=false&allowMultiQueries=true&zeroDateTimeBehavior=convertToNull username: root - password: Casic203 + password: root initial-size: 2 min-idle: 1 #flowable数据源和多数据源配置 @@ -13,8 +13,16 @@ kaptcha-open: false #是否开启登录时验证码 (true/false) nologin-urls: /user/login,/user/appLogin,/kaptcha,/config/baseConfig,/route/mockToken,/process/processDiagram export-temp-path: E:\soft\othersoft\203\casic-iris-parent\casic-web\src\main\resources\config\temp\ +mybatis-plus: + global-config: + sql-injector: com.casic.missiles.modular.metadata.inject.MetaSqlInject +# logic-delete-value: 0 logging: level.root: info level.com.casic: debug path: logs/ - file: missiles.log \ No newline at end of file + file: missiles.log +iris: + socket-port: 8000 + config: + export-path: D:\java\boot\casic-web-1.0.0-SNAPSHOT\export\ diff --git a/casic-web/src/main/resources/config/temp/personTemp.xlsx b/casic-web/src/main/resources/config/temp/personTemp.xlsx index d0273ba..5ba8cef 100644 --- a/casic-web/src/main/resources/config/temp/personTemp.xlsx +++ b/casic-web/src/main/resources/config/temp/personTemp.xlsx Binary files differ 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 8d6904d..56cb280 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 @@ -53,18 +53,20 @@ 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(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 = 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.bmp"; - String leftFilePath2 = this.filePath+personId+"_left_2.bmp"; + + String leftFilePath1 = this.filePath+personId+"_left_1.jpg"; + String leftFilePath2 = this.filePath+personId+"_left_2.jpg"; String rightFilePath1 = this.filePath+personId+"_right_1.bmp"; String rightFilePath2 = this.filePath+personId+"_right_2.bmp"; if(!Base64Util.Base64ToImage(image_zy0,leftFilePath1)){ @@ -83,30 +85,22 @@ BASE64Decoder decoder = new BASE64Decoder(); //左眼1 - byte[] imageBytes = decoder.decodeBuffer(image_zy0); - InputStream fis = new ByteArrayInputStream(imageBytes); - byte[] leftCode1 = getIrisCode(fis); + byte[] leftCode1 = getIrisCode(new FileInputStream(leftFilePath1)); if(leftCode1 ==null || leftCode1.length!=1024){ return ResponseData.error("左眼图像1编码失败"); } //左眼2 - imageBytes = decoder.decodeBuffer(image_zy1); - fis = new ByteArrayInputStream(imageBytes); - byte[] leftCode2 = getIrisCode(fis); + byte[] leftCode2 = getIrisCode(new FileInputStream(leftFilePath2)); if(leftCode2==null || leftCode2.length!=1024){ return ResponseData.error("左眼图像2编码失败"); } //右眼1 - imageBytes = decoder.decodeBuffer(image_yy0); - fis = new ByteArrayInputStream(imageBytes); - byte[] rightCode1 = getIrisCode(fis); + byte[] rightCode1 = getIrisCode(new FileInputStream(rightFilePath1)); if(rightCode1==null || rightCode1.length!=1024){ return ResponseData.error("右眼图像1编码失败"); } //右眼2 - imageBytes = decoder.decodeBuffer(image_yy1); - fis = new ByteArrayInputStream(imageBytes); - byte[] rightCode2 = getIrisCode(fis); + byte[] rightCode2 = getIrisCode(new FileInputStream(rightFilePath2)); if(rightCode2==null || rightCode2.length!=1024){ return ResponseData.error("右眼图像2编码失败"); } @@ -123,7 +117,12 @@ irisData.setIdCardNo(idCardNo); irisData.setPersonId(Long.valueOf(personId)); - irisDataService.insert(irisData); + + if(map!=null && map.size()>0 ){ + irisDataService.updateById(irisData); + }else { + irisDataService.insert(irisData); + } return ResponseData.success(); } @@ -153,7 +152,7 @@ //左眼1 - byte[] leftCode1 = getIrisCode(image_zy0.getInputStream()); + byte[] leftCode1 = getIrisCode(new FileInputStream(leftFilePath1)); if(leftCode1 ==null || leftCode1.length!=1024){ return ResponseData.error("左眼图像1编码失败"); } diff --git a/casic-iris-register/src/main/java/com/casic/missiles/modular/register/util/Base64Util.java b/casic-iris-register/src/main/java/com/casic/missiles/modular/register/util/Base64Util.java index 005f71d..40b1e2d 100644 --- a/casic-iris-register/src/main/java/com/casic/missiles/modular/register/util/Base64Util.java +++ b/casic-iris-register/src/main/java/com/casic/missiles/modular/register/util/Base64Util.java @@ -3,6 +3,9 @@ import com.casic.missiles.core.util.ToolUtil; import sun.misc.BASE64Decoder; +import javax.imageio.ImageIO; +import java.awt.image.BufferedImage; +import java.io.ByteArrayInputStream; import java.io.File; import java.io.FileOutputStream; import java.io.OutputStream; @@ -22,21 +25,31 @@ if (ToolUtil.isEmpty(imgStr)) // 图像数据为空 return false; + imgStr = imgStr.substring(imgStr.indexOf(",")+1); + BASE64Decoder decoder = new BASE64Decoder(); try { // Base64解码 byte[] b = decoder.decodeBuffer(imgStr); +// ByteArrayInputStream bais = new ByteArrayInputStream(b); +// BufferedImage bImage = ImageIO.read(bais); + for (int i = 0; i < b.length; ++i) { if (b[i] < 0) {// 调整异常数据 b[i] += 256; } } + //如果已存在图像,先删除 - File name = new File(imgFilePath); + File name = null; + name = new File(imgFilePath); if( name.exists() && name.isFile()){ name.delete(); + name = new File(imgFilePath); } + +// ImageIO.write(bImage, "bmp", name); OutputStream out = new FileOutputStream(imgFilePath); out.write(b); out.flush(); diff --git a/casic-web/src/main/resources/config/application-prod.yml b/casic-web/src/main/resources/config/application-prod.yml index 1524dfb..91809ff 100644 --- a/casic-web/src/main/resources/config/application-prod.yml +++ b/casic-web/src/main/resources/config/application-prod.yml @@ -3,9 +3,9 @@ ################### spring配置 ################### spring: datasource: - url: jdbc:mysql://119.254.103.80:3000/casic_iris?autoReconnect=true&useUnicode=true&characterEncoding=utf8&useSSL=false&allowMultiQueries=true&zeroDateTimeBehavior=convertToNull + url: jdbc:mysql://192.168.0.212:3306/casic_iris?autoReconnect=true&useUnicode=true&characterEncoding=utf8&useSSL=false&allowMultiQueries=true&zeroDateTimeBehavior=convertToNull username: root - password: Casic203 + password: root initial-size: 2 min-idle: 1 #flowable数据源和多数据源配置 @@ -13,8 +13,16 @@ kaptcha-open: false #是否开启登录时验证码 (true/false) nologin-urls: /user/login,/user/appLogin,/kaptcha,/config/baseConfig,/route/mockToken,/process/processDiagram export-temp-path: E:\soft\othersoft\203\casic-iris-parent\casic-web\src\main\resources\config\temp\ +mybatis-plus: + global-config: + sql-injector: com.casic.missiles.modular.metadata.inject.MetaSqlInject +# logic-delete-value: 0 logging: level.root: info level.com.casic: debug path: logs/ - file: missiles.log \ No newline at end of file + file: missiles.log +iris: + socket-port: 8000 + config: + export-path: D:\java\boot\casic-web-1.0.0-SNAPSHOT\export\ diff --git a/casic-web/src/main/resources/config/temp/personTemp.xlsx b/casic-web/src/main/resources/config/temp/personTemp.xlsx index d0273ba..5ba8cef 100644 --- a/casic-web/src/main/resources/config/temp/personTemp.xlsx +++ b/casic-web/src/main/resources/config/temp/personTemp.xlsx Binary files differ diff --git a/casic-web/src/main/resources/config/temp/visitorTemp.xlsx b/casic-web/src/main/resources/config/temp/visitorTemp.xlsx index f1d8e8b..10a991a 100644 --- a/casic-web/src/main/resources/config/temp/visitorTemp.xlsx +++ b/casic-web/src/main/resources/config/temp/visitorTemp.xlsx Binary files differ