personIds) {
personService.deleteBatchIds(personIds);
return ResponseData.success();
}
@@ -82,7 +107,8 @@
*/
@RequestMapping(value = "/update")
@ResponseBody
- public Object update(Person person) {
+ public Object update(@RequestBody Person person) {
+ person.setOprationId(permissionService.getCurrLoginUser().getId());
personService.updateById(person);
return ResponseData.success();
}
@@ -95,4 +121,5 @@
public Object detail(@PathVariable("personId") String personId) {
return ResponseData.success(personService.selectById(personId));
}
+
}
diff --git a/casic-iris-acs/src/main/java/com/casic/missiles/modular/system/dao/PersonMapper.java b/casic-iris-acs/src/main/java/com/casic/missiles/modular/system/dao/PersonMapper.java
index c2a324b..116cc48 100644
--- a/casic-iris-acs/src/main/java/com/casic/missiles/modular/system/dao/PersonMapper.java
+++ b/casic-iris-acs/src/main/java/com/casic/missiles/modular/system/dao/PersonMapper.java
@@ -1,7 +1,14 @@
package com.casic.missiles.modular.system.dao;
+import com.baomidou.mybatisplus.mapper.EntityWrapper;
+import com.baomidou.mybatisplus.plugins.Page;
+import com.casic.missiles.core.datascope.DataScope;
import com.casic.missiles.modular.system.model.Person;
import com.baomidou.mybatisplus.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Param;
+import org.apache.ibatis.annotations.Select;
+
+import java.util.List;
/**
*
@@ -12,5 +19,8 @@
* @since 2019-12-03
*/
public interface PersonMapper extends BaseMapper {
+ @Select({"SELECT IFNULL(max(PERSON_CODE),0) AS personCode FROM sys_person where PERSON_TYPE = #{personType} and CREATETIME > #{currDay} "})
+ String selectMaxPersonCode(@Param("personType") String personType,@Param("currDay") String currDay);
+ List selectDataScopePerson(@Param("page") Page page, @Param("scope") DataScope dataScope, @Param("ew") EntityWrapper wrapper);
}
diff --git a/casic-iris-acs/src/main/java/com/casic/missiles/modular/system/dao/mapping/PersonMapper.xml b/casic-iris-acs/src/main/java/com/casic/missiles/modular/system/dao/mapping/PersonMapper.xml
index f556815..295c59a 100644
--- a/casic-iris-acs/src/main/java/com/casic/missiles/modular/system/dao/mapping/PersonMapper.xml
+++ b/casic-iris-acs/src/main/java/com/casic/missiles/modular/system/dao/mapping/PersonMapper.xml
@@ -4,21 +4,33 @@
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
- ID AS id, DELFLAG AS delflag, CREATETIME AS createtime, UPDATETIME AS updatetime, NAME AS name, SEX AS sex, DEPTID AS deptid, ID_CARD AS idCard, REMARKS AS remarks, PERSON_TYPE AS personType
+ a.ID AS id, a.DELFLAG AS delflag, a.CREATETIME AS createtime, a.UPDATETIME AS updatetime, a.NAME AS name, a.SEX AS sex, a.DEPTID AS deptid, a.ID_CARD_NO AS idCard, a.REMARKS AS remarks, a.PERSON_TYPE AS personType
+ ,a.DUTY
+
diff --git a/casic-iris-acs/src/main/java/com/casic/missiles/modular/system/enums/PersonTypeEnums.java b/casic-iris-acs/src/main/java/com/casic/missiles/modular/system/enums/PersonTypeEnums.java
new file mode 100644
index 0000000..a139b9a
--- /dev/null
+++ b/casic-iris-acs/src/main/java/com/casic/missiles/modular/system/enums/PersonTypeEnums.java
@@ -0,0 +1,53 @@
+//
+// Source code recreated from a .class file by IntelliJ IDEA
+// (powered by Fernflower decompiler)
+//
+
+package com.casic.missiles.modular.system.enums;
+
+public enum PersonTypeEnums {
+ VISITOR("0", "FK", "添加"),
+ STAFF("1", "", "删除");
+
+ private String value;
+ private String code;
+ private String name;
+
+ private PersonTypeEnums(String value, String code, String name) {
+ this.value = value;
+ this.code = code;
+ this.name = name;
+ }
+
+ public String getCode() {
+ return this.code;
+ }
+
+ public void setCode(String code) {
+ this.code = code;
+ }
+
+ public String getName() {
+ return name;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ public String getValue() {
+ return value;
+ }
+
+ public void setValue(String value) {
+ this.value = value;
+ }
+
+ public static PersonTypeEnums typeOf(String value){
+ switch (value){
+ case "0":
+ return VISITOR;
+ default: return STAFF;
+ }
+ }
+}
diff --git a/casic-iris-acs/src/main/java/com/casic/missiles/modular/system/model/Person.java b/casic-iris-acs/src/main/java/com/casic/missiles/modular/system/model/Person.java
index 4a8d915..362678c 100644
--- a/casic-iris-acs/src/main/java/com/casic/missiles/modular/system/model/Person.java
+++ b/casic-iris-acs/src/main/java/com/casic/missiles/modular/system/model/Person.java
@@ -1,15 +1,16 @@
package com.casic.missiles.modular.system.model;
-import java.io.Serializable;
+import com.alibaba.fastjson.annotation.JSONField;
+import com.baomidou.mybatisplus.annotations.*;
+import com.baomidou.mybatisplus.enums.IdType;
+import com.casic.missiles.core.annotations.MetaData;
+import com.casic.missiles.core.annotations.MetaDataBean;
+import com.casic.missiles.core.base.model.DataMetaModel;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Data;
+import java.io.Serializable;
import java.util.Date;
-import com.baomidou.mybatisplus.annotations.TableId;
-import com.baomidou.mybatisplus.annotations.TableField;
-import com.baomidou.mybatisplus.activerecord.Model;
-import com.baomidou.mybatisplus.annotations.TableName;
-import com.casic.missiles.modular.metadata.base.DataMetaModel;
-
-import java.io.Serializable;
/**
*
@@ -19,16 +20,18 @@
* @author lwh123
* @since 2019-12-03
*/
+@Data
+@MetaDataBean(name = "SysPersonExt")
@TableName("sys_person")
public class Person extends DataMetaModel {
private static final long serialVersionUID = 1L;
-
- @TableId("ID")
+ @TableId(value = "ID", type = IdType.ID_WORKER)
private Long id;
/**
* 状态(0:有效 1:删除)
*/
+ @TableLogic
@TableField("DELFLAG")
private String delflag;
/**
@@ -59,8 +62,8 @@
/**
* 身份证号
*/
- @TableField("ID_CARD")
- private String idCard;
+ @TableField("ID_CARD_NO")
+ private String idCardNo;
/**
* 备注信息
*/
@@ -71,88 +74,22 @@
*/
@TableField("PERSON_TYPE")
private String personType;
-
-
- public Long getId() {
- return id;
- }
-
- public void setId(Long id) {
- this.id = id;
- }
-
- public String getDelflag() {
- return delflag;
- }
-
- public void setDelflag(String delflag) {
- this.delflag = delflag;
- }
-
- public Date getCreatetime() {
- return createtime;
- }
-
- public void setCreatetime(Date createtime) {
- this.createtime = createtime;
- }
-
- public Date getUpdatetime() {
- return updatetime;
- }
-
- public void setUpdatetime(Date updatetime) {
- this.updatetime = updatetime;
- }
-
- public String getName() {
- return name;
- }
-
- public void setName(String name) {
- this.name = name;
- }
-
- public String getSex() {
- return sex;
- }
-
- public void setSex(String sex) {
- this.sex = sex;
- }
-
- public Long getDeptid() {
- return deptid;
- }
-
- public void setDeptid(Long deptid) {
- this.deptid = deptid;
- }
-
- public String getIdCard() {
- return idCard;
- }
-
- public void setIdCard(String idCard) {
- this.idCard = idCard;
- }
-
- public String getRemarks() {
- return remarks;
- }
-
- public void setRemarks(String remarks) {
- this.remarks = remarks;
- }
-
- public String getPersonType() {
- return personType;
- }
-
- public void setPersonType(String personType) {
- this.personType = personType;
- }
-
+ /**
+ * 人员编码
+ */
+ @TableField("PERSON_CODE")
+ private String personCode;
+ @TableField("OPRATION_ID")
+ private Long oprationId;
+ //人员编码
+ @TableField(exist = false)
+ private String deptName;
+ @TableField(exist = false)
+ private String personTypeName;
+ @TableField(exist = false)
+ private String sexName;
+ @TableField(exist = false)
+ private String oprationName;
@Override
protected Serializable pkVal() {
return this.id;
@@ -161,16 +98,16 @@
@Override
public String toString() {
return "Person{" +
- "id=" + id +
- ", delflag=" + delflag +
- ", createtime=" + createtime +
- ", updatetime=" + updatetime +
- ", name=" + name +
- ", sex=" + sex +
- ", deptid=" + deptid +
- ", idCard=" + idCard +
- ", remarks=" + remarks +
- ", personType=" + personType +
- "}";
+ "id=" + id +
+ ", delflag=" + delflag +
+ ", createtime=" + createtime +
+ ", updatetime=" + updatetime +
+ ", name=" + name +
+ ", sex=" + sex +
+ ", deptid=" + deptid +
+ ", idCardNo=" + idCardNo +
+ ", remarks=" + remarks +
+ ", personType=" + personType +
+ "}";
}
}
diff --git a/casic-iris-acs/src/main/java/com/casic/missiles/modular/system/service/IPersonService.java b/casic-iris-acs/src/main/java/com/casic/missiles/modular/system/service/IPersonService.java
index c58c236..1e4f7bc 100644
--- a/casic-iris-acs/src/main/java/com/casic/missiles/modular/system/service/IPersonService.java
+++ b/casic-iris-acs/src/main/java/com/casic/missiles/modular/system/service/IPersonService.java
@@ -1,8 +1,13 @@
package com.casic.missiles.modular.system.service;
+import com.baomidou.mybatisplus.mapper.EntityWrapper;
+import com.baomidou.mybatisplus.plugins.Page;
+import com.casic.missiles.core.datascope.DataScope;
import com.casic.missiles.modular.system.model.Person;
import com.baomidou.mybatisplus.service.IService;
+import java.util.List;
+
/**
*
* 人员数据表 服务类
@@ -12,5 +17,10 @@
* @since 2019-12-03
*/
public interface IPersonService extends IService {
-
+ /**
+ * 查询最大的人员编码
+ * @return
+ */
+ String selectMaxPersonCode(String personType,String currDay);
+ List selectDataScopePerson(Page page, DataScope dataScope, EntityWrapper wrapper);
}
diff --git a/casic-iris-acs/src/main/java/com/casic/missiles/modular/system/service/impl/PersonServiceImpl.java b/casic-iris-acs/src/main/java/com/casic/missiles/modular/system/service/impl/PersonServiceImpl.java
index 4eb8734..a672344 100644
--- a/casic-iris-acs/src/main/java/com/casic/missiles/modular/system/service/impl/PersonServiceImpl.java
+++ b/casic-iris-acs/src/main/java/com/casic/missiles/modular/system/service/impl/PersonServiceImpl.java
@@ -1,10 +1,23 @@
package com.casic.missiles.modular.system.service.impl;
-import com.casic.missiles.modular.system.model.Person;
-import com.casic.missiles.modular.system.dao.PersonMapper;
-import com.casic.missiles.modular.system.service.IPersonService;
+import com.baomidou.mybatisplus.mapper.EntityWrapper;
+import com.baomidou.mybatisplus.mapper.Wrapper;
+import com.baomidou.mybatisplus.plugins.Page;
import com.baomidou.mybatisplus.service.impl.ServiceImpl;
+import com.casic.missiles.core.annotations.MetaData;
+import com.casic.missiles.core.datascope.DataScope;
+import com.casic.missiles.core.enums.MetaTypeEnums;
+import com.casic.missiles.core.util.DateUtil;
+import com.casic.missiles.core.util.ToolUtil;
+import com.casic.missiles.modular.system.dao.PersonMapper;
+import com.casic.missiles.modular.system.enums.PersonTypeEnums;
+import com.casic.missiles.modular.system.model.Person;
+import com.casic.missiles.modular.system.service.IPersonService;
+import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.util.List;
/**
*
@@ -16,5 +29,57 @@
*/
@Service
public class PersonServiceImpl extends ServiceImpl implements IPersonService {
+ @Value("${casic.base.personPrefix:}")
+ private String personPrefix;
+
+ @MetaData
+ @Override
+ public List selectList(Wrapper wrapper) {
+ return super.selectList(wrapper);
+ }
+
+ @MetaData
+ @Override
+ public Page selectPage(Page page, Wrapper wrapper) {
+ return super.selectPage(page, wrapper);
+ }
+
+ @Transactional
+ @Override
+ public boolean insert(@MetaData(type = MetaTypeEnums.INSERT) Person entity) {
+ //查询最大人员编码
+ if (ToolUtil.isEmpty(entity.getPersonCode())) {
+ String currDay = DateUtil.getDays();
+ String personCode = this.selectMaxPersonCode(entity.getPersonType(), currDay);
+ String code = PersonTypeEnums.typeOf(entity.getPersonType()).getCode();
+ String prefix = ToolUtil.isEmpty(code)?personPrefix:code;
+ personCode = personCode.replaceAll(prefix, "");
+ if (!"0".equals(personCode)) {
+ personCode = personCode.substring(8);
+ }
+ entity.setPersonCode(prefix.concat(currDay).concat(String.format("%06d", Integer.valueOf(personCode) + 1)));
+ }
+ return super.insert(entity);
+ }
+
+ @Transactional
+ @Override
+ public boolean updateById(@MetaData(type = MetaTypeEnums.UPDATE) Person entity) {
+ return super.updateById(entity);
+ }
+
+ @Override
+ public String selectMaxPersonCode(String personType, String currDay) {
+ return baseMapper.selectMaxPersonCode(personType, currDay);
+ }
+ @MetaData
+ @Override
+ public List selectDataScopePerson(Page page, DataScope dataScope, EntityWrapper wrapper) {
+ return baseMapper.selectDataScopePerson(page,dataScope,wrapper);
+ }
+
+ public static void main(String[] args) {
+ System.out.println(PersonTypeEnums.valueOf("1"));
+ }
}
diff --git a/casic-iris-register/pom.xml b/casic-iris-register/pom.xml
new file mode 100644
index 0000000..7b6dbad
--- /dev/null
+++ b/casic-iris-register/pom.xml
@@ -0,0 +1,79 @@
+
+
+ 4.0.0
+
+ com.casic
+ casic-iris-parent
+ 1.0.0-SNAPSHOT
+ ../pom.xml
+
+
+ casic-iris-register
+ ${pro.version}
+ jar
+ casic-iris-register
+ 虹膜注册
+
+
+
+
+
+ com.casic
+ casic-core
+ ${casic.version}
+
+
+
+ com.casic
+ casic-iris-support
+ ${casic.version}
+
+
+
+ org.springframework.boot
+ spring-boot-starter-aop
+
+
+ org.springframework.boot
+ spring-boot-starter-web
+
+
+
+ org.springframework.boot
+ spring-boot-starter-validation
+
+
+ org.springframework.boot
+ spring-boot-starter-websocket
+
+
+ org.springframework.boot
+ spring-boot-starter-test
+ test
+
+
+ commons-io
+ commons-io
+
+
+
+ org.apache.commons
+ commons-lang3
+
+
+
+
+
+
+
+
+
+ src/main/java
+
+ **/*.xml
+
+
+
+
+
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
new file mode 100644
index 0000000..661b089
--- /dev/null
+++ b/casic-iris-register/src/main/java/com/casic/missiles/modular/register/controller/IrisDataController.java
@@ -0,0 +1,267 @@
+package com.casic.missiles.modular.register.controller;
+
+
+import com.casic.missiles.core.base.controller.BaseController;
+import com.casic.missiles.core.base.response.ResponseData;
+import com.casic.missiles.core.common.constant.factory.PageFactory;
+import com.casic.missiles.modular.register.model.IrisData;
+import com.casic.missiles.modular.register.service.IIrisDataService;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.ResponseBody;
+import org.springframework.web.bind.annotation.PathVariable;
+import org.springframework.beans.factory.annotation.Autowired;
+import com.baomidou.mybatisplus.plugins.Page;
+import com.baomidou.mybatisplus.mapper.EntityWrapper;
+
+import java.io.*;
+import java.net.Socket;
+import java.text.SimpleDateFormat;
+import java.util.Date;
+import java.util.List;
+import java.util.Map;
+import java.util.UUID;
+
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.multipart.MultipartFile;
+
+/**
+ * 控制器
+ *
+ * @author dev
+ * @Date 2019-11-29 17:41:20
+ */
+@Controller
+@RequestMapping("/irisData")
+public class IrisDataController extends BaseController {
+
+ @Value("${casic.file.uploadPath:C://casic//tmp//}")
+ private String filePath;
+
+ @Autowired
+ private IIrisDataService irisDataService;
+
+ /**
+ * 虹膜注册接口
+ */
+ @RequestMapping(value = "/add")
+ @ResponseBody
+ public Object imageUpload(@RequestParam("images") List images,@RequestParam("personId")String personId,String idCardNo) throws IOException {
+ Map map = null;
+ map = irisDataService.selectByPersonId(personId);
+ if(map!=null){
+ return ResponseData.error("已注册过该人员的虹膜数据");
+ }
+
+ if(images.size()!=4){
+ return ResponseData.error("虹膜图像必须为左眼2副,右眼2副,共4副");
+ }
+
+ IrisData irisData = new IrisData();
+
+ int i = 0;
+ for (MultipartFile image : images) {
+ if (!image.isEmpty()) {
+ InputStream fis = image.getInputStream();
+ byte[] result = getIrisCode(fis);
+ if(result != null && result.length==1024){
+ String fileName="";
+ if(i==0) fileName = personId+"_left_1.bmp";
+ else if(i==1)fileName=personId+"_left_2.bmp";
+ else if(i==2)fileName=personId+"_right_1.bmp";
+ else if(i==3)fileName=personId+"_right_2.bmp";
+
+ String pathName = this.filePath + fileName;
+ File dir = new File(this.filePath);
+ if (!dir.exists()) {
+ dir.mkdirs();
+ //logger.info("创建文件夹路径为:{}", dir.getPath());
+ }
+
+ image.transferTo(new File(pathName));
+
+ if(i==0) {
+ irisData.setLeftIrisCode1(result);
+ irisData.setLeftImage1(fileName);
+ }
+ else if(i==1) {
+ irisData.setLeftIrisCode2(result);
+ irisData.setLeftImage2(fileName);
+ }
+ else if(i==2) {
+ irisData.setRightIrisCode1(result);
+ irisData.setRightImage1(fileName);
+ }
+ else if(i==3){
+ irisData.setRightIrisCode2(result);
+ irisData.setRightImage2(fileName);
+ }
+ i++;
+ }else {
+ return ResponseData.error("获取虹膜编码失败,请重试");
+ }
+ } else {
+ return ResponseData.error("图像为空");
+ }
+ }
+
+ irisData.setIdCardNo(idCardNo);
+ irisData.setPersonId(Long.valueOf(personId));
+ irisDataService.insert(irisData);
+ return ResponseData.success();
+ }
+
+ /**
+ * 修改虹膜数据接口
+ */
+ @RequestMapping(value = "/update")
+ @ResponseBody
+ public Object imageUpload(@RequestParam("images") List images,@RequestParam("personId")String personId) throws IOException {
+ Map map = null;
+ map = irisDataService.selectByPersonId(personId);
+ if(map!=null){
+ return ResponseData.error("不存在该记录");
+ }
+
+ if(images.size()!=4){
+ return ResponseData.error("虹膜图像必须为左眼2副,右眼2副,共4副");
+ }
+
+ IrisData irisData = irisDataService.selectById(map.get("id").toString());
+
+ int i = 0;
+ for (MultipartFile image : images) {
+ if (!image.isEmpty()) {
+ InputStream fis = image.getInputStream();
+ byte[] result = getIrisCode(fis);
+ if(result != null && result.length==1024){
+ String fileName="";
+ if(i==0) fileName = irisData.getLeftImage1();
+ else if(i==1)fileName= irisData.getLeftImage2();
+ else if(i==2)fileName= irisData.getRightImage1();
+ else if(i==3)fileName= irisData.getRightImage2();
+
+ String pathName = this.filePath + fileName;
+ File dir = new File(this.filePath);
+ if (!dir.exists()) {
+ dir.mkdirs();
+ //logger.info("创建文件夹路径为:{}", dir.getPath());
+ }
+
+ image.transferTo(new File(pathName));
+
+ if(i==0) {
+ irisData.setLeftIrisCode1(result);
+ }
+ else if(i==1) {
+ irisData.setLeftIrisCode2(result);
+ }
+ else if(i==2) {
+ irisData.setRightIrisCode1(result);
+ }
+ else if(i==3){
+ irisData.setRightIrisCode2(result);
+ }
+ i++;
+ }else {
+ return ResponseData.error("获取虹膜编码失败,请重试");
+ }
+ } else {
+ return ResponseData.error("图像为空");
+ }
+ }
+
+ irisDataService.updateById(irisData);
+ return ResponseData.success();
+ }
+
+ /**
+ * 详情
+ */
+ @RequestMapping(value = "/detail")
+ @ResponseBody
+ public Object detail(@RequestParam("personId") String personId) {
+ Map irisData = null;
+ irisData = irisDataService.selectByPersonId(personId);
+ if(irisData==null){
+ return ResponseData.error("不存在该条记录");
+ }
+ return ResponseData.success(irisData);
+ }
+
+
+ /**
+ * 下发虹膜数据接口
+ */
+ @RequestMapping(value = "/sendData")
+ @ResponseBody
+ public Object sendData() throws IOException {
+
+ //1.创建客户端Socket,指定服务器地址和端口
+ Socket socket=new Socket("localhost", 8888);
+
+ //2.获取输出流,向服务器端发送信息
+ OutputStream os=socket.getOutputStream();//字节输出流
+ byte[] buf = "update".getBytes();
+ os.write(buf, 0, buf.length);
+ socket.shutdownOutput();//关闭输出流
+
+ //3.获取输入流,读取服务器端的响应信息
+ InputStream is=socket.getInputStream();
+ byte[] bufIn = new byte[1024];
+ is.read(bufIn);
+ String msg = new String(bufIn);
+ //4.关闭资源
+ is.close();
+ os.close();
+ socket.close();
+
+ if(!"ok".equals(msg)){
+ return ResponseData.error("出现异常,下发失败");
+ }
+
+ return ResponseData.success();
+ }
+
+
+
+ //与c#的服务通信,获取虹膜编码
+ private byte[] getIrisCode(InputStream fis) throws IOException {
+ byte[] irisCode = new byte[1024];
+
+ //1.创建客户端Socket,指定服务器地址和端口
+ Socket socket=new Socket("localhost", 8888);
+
+ //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/dao/IrisDataMapper.java b/casic-iris-register/src/main/java/com/casic/missiles/modular/register/dao/IrisDataMapper.java
new file mode 100644
index 0000000..45d1421
--- /dev/null
+++ b/casic-iris-register/src/main/java/com/casic/missiles/modular/register/dao/IrisDataMapper.java
@@ -0,0 +1,20 @@
+package com.casic.missiles.modular.register.dao;
+
+import com.baomidou.mybatisplus.plugins.Page;
+import com.casic.missiles.modular.register.model.IrisData;
+import com.baomidou.mybatisplus.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.Map;
+
+/**
+ *
+ * Mapper 接口
+ *
+ *
+ * @author stylefeng123
+ * @since 2019-11-29
+ */
+public interface IrisDataMapper extends BaseMapper {
+ Map selectByPersonId(@Param("personId") String personId);
+}
diff --git a/casic-iris-register/src/main/java/com/casic/missiles/modular/register/dao/mapping/IrisDataMapper.xml b/casic-iris-register/src/main/java/com/casic/missiles/modular/register/dao/mapping/IrisDataMapper.xml
new file mode 100644
index 0000000..32d211a
--- /dev/null
+++ b/casic-iris-register/src/main/java/com/casic/missiles/modular/register/dao/mapping/IrisDataMapper.xml
@@ -0,0 +1,42 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ID AS id, PERSON_ID AS personId, ID_CARD_NO AS idCardNo, LEFT_IRIS_CODE1 AS leftIrisCode1, LEFT_IRIS_CODE2 AS leftIrisCode2, LEFT_IRIS_CODE3 AS leftIrisCode3, RIGHT_IRIS_CODE1 AS rightIrisCode1, RIGHT_IRIS_CODE2 AS rightIrisCode2, RIGHT_IRIS_CODE3 AS rightIrisCode3
+ ,LEFT_IMAGE1 as leftImage1,LEFT_IMAGE2 as leftImage2,LEFT_IMAGE3 as leftImage3,RIGHT_IMAGE1 as rightImage1,RIGHT_IMAGE2 as rightImage2,RIGHT_IMAGE3 as rightImage3
+
+
+
+
+
+
diff --git a/casic-iris-register/src/main/java/com/casic/missiles/modular/register/model/IrisData.java b/casic-iris-register/src/main/java/com/casic/missiles/modular/register/model/IrisData.java
new file mode 100644
index 0000000..d7f9d3a
--- /dev/null
+++ b/casic-iris-register/src/main/java/com/casic/missiles/modular/register/model/IrisData.java
@@ -0,0 +1,114 @@
+package com.casic.missiles.modular.register.model;
+
+import java.io.Serializable;
+
+import com.baomidou.mybatisplus.annotations.TableId;
+import com.baomidou.mybatisplus.annotations.TableField;
+import com.baomidou.mybatisplus.activerecord.Model;
+import com.baomidou.mybatisplus.annotations.TableName;
+import com.baomidou.mybatisplus.enums.IdType;
+import lombok.Data;
+
+import java.io.Serializable;
+import java.util.Arrays;
+
+/**
+ *
+ *
+ *
+ *
+ * @author stylefeng123
+ * @since 2019-11-29
+ */
+@Data
+@TableName("iris_data")
+public class IrisData extends Model {
+
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * 主键
+ */
+ @TableId(value = "ID",type= IdType.ID_WORKER)
+ private Long id;
+ /**
+ * 对应person表的主键
+ */
+ @TableField("PERSON_ID")
+ private Long personId;
+ /**
+ * 身份证号
+ */
+ @TableField("ID_CARD_NO")
+ private String idCardNo;
+ /**
+ * 左眼虹膜编码
+ */
+ @TableField("LEFT_IRIS_CODE1")
+ private byte[] leftIrisCode1;
+ /**
+ * 左眼虹膜编码2
+ */
+ @TableField("LEFT_IRIS_CODE2")
+ private byte[] leftIrisCode2;
+ @TableField("LEFT_IRIS_CODE3")
+ private byte[] leftIrisCode3;
+ /**
+ * 右眼虹膜编码1
+ */
+ @TableField("RIGHT_IRIS_CODE1")
+ private byte[] rightIrisCode1;
+ /**
+ * 右眼虹膜编码2
+ */
+ @TableField("RIGHT_IRIS_CODE2")
+ private byte[] rightIrisCode2;
+ /**
+ * 右眼虹膜编码3
+ */
+ @TableField("RIGHT_IRIS_CODE3")
+ private byte[] rightIrisCode3;
+
+ @TableField("LEFT_IMAGE1")
+ private String leftImage1;
+ @TableField("LEFT_IMAGE2")
+ private String leftImage2;
+ @TableField("LEFT_IMAGE3")
+ private String leftImage3;
+ @TableField("RIGHT_IMAGE1")
+ private String rightImage1;
+ @TableField("RIGHT_IMAGE2")
+ private String rightImage2;
+ @TableField("RIGHT_IMAGE3")
+ private String rightImage3;
+
+
+
+
+ @Override
+ protected Serializable pkVal() {
+ return this.id;
+ }
+
+
+ @Override
+ public String toString() {
+ return "IrisData{" +
+ "id=" + id +
+ ", personId=" + personId +
+ ", idCardNo='" + idCardNo + '\'' +
+ ", leftIrisCode1=" + Arrays.toString(leftIrisCode1) +
+ ", leftIrisCode2=" + Arrays.toString(leftIrisCode2) +
+ ", leftIrisCode3=" + Arrays.toString(leftIrisCode3) +
+ ", rightIrisCode1=" + Arrays.toString(rightIrisCode1) +
+ ", rightIrisCode2=" + Arrays.toString(rightIrisCode2) +
+ ", rightIrisCode3=" + Arrays.toString(rightIrisCode3) +
+ ", leftImage1='" + leftImage1 + '\'' +
+ ", leftImage2='" + leftImage2 + '\'' +
+ ", leftImage3='" + leftImage3 + '\'' +
+ ", rightImage1='" + rightImage1 + '\'' +
+ ", rightImage2='" + rightImage2 + '\'' +
+ ", rightImage3='" + rightImage3 + '\'' +
+ '}';
+ }
+}
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
new file mode 100644
index 0000000..64b5120
--- /dev/null
+++ b/casic-iris-register/src/main/java/com/casic/missiles/modular/register/service/IIrisDataService.java
@@ -0,0 +1,19 @@
+package com.casic.missiles.modular.register.service;
+
+import com.casic.missiles.modular.register.model.IrisData;
+import com.baomidou.mybatisplus.service.IService;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.Map;
+
+/**
+ *
+ * 服务类
+ *
+ *
+ * @author stylefeng123
+ * @since 2019-11-29
+ */
+public interface IIrisDataService extends IService {
+ Map selectByPersonId(@Param("personId") String personId);
+}
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
new file mode 100644
index 0000000..38fe2b1
--- /dev/null
+++ b/casic-iris-register/src/main/java/com/casic/missiles/modular/register/service/impl/IrisDataServiceImpl.java
@@ -0,0 +1,26 @@
+package com.casic.missiles.modular.register.service.impl;
+
+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 org.apache.ibatis.annotations.Param;
+import org.springframework.stereotype.Service;
+
+import java.util.Map;
+
+/**
+ *
+ * 服务实现类
+ *
+ *
+ * @author stylefeng123
+ * @since 2019-11-29
+ */
+@Service
+public class IrisDataServiceImpl extends ServiceImpl implements IIrisDataService {
+ @Override
+ public Map selectByPersonId(String personId){
+ return this.baseMapper.selectByPersonId(personId);
+ }
+}
diff --git a/casic-iris-register/src/main/java/com/casic/missiles/modular/register/warpper/IrisDataWarpper.java b/casic-iris-register/src/main/java/com/casic/missiles/modular/register/warpper/IrisDataWarpper.java
new file mode 100644
index 0000000..5e9403d
--- /dev/null
+++ b/casic-iris-register/src/main/java/com/casic/missiles/modular/register/warpper/IrisDataWarpper.java
@@ -0,0 +1,60 @@
+package com.casic.missiles.modular.register.warpper;
+
+
+import com.casic.missiles.core.base.warpper.BaseControllerWarpper;
+import com.casic.missiles.core.common.service.ICommonPermissionService;
+import com.casic.missiles.core.util.SpringContextHolder;
+import com.casic.missiles.core.util.ToolUtil;
+import org.springframework.beans.factory.annotation.Value;
+
+import java.text.ParseException;
+import java.text.SimpleDateFormat;
+import java.util.Date;
+import java.util.Map;
+
+/**
+ * 虹膜数据的包装类
+ *
+ * @date 2019年12月5日10:59:02
+ */
+public class IrisDataWarpper extends BaseControllerWarpper {
+
+ @Value("${casic.file.uploadPath:D://tmp//}")
+ private String filePath;
+
+ public IrisDataWarpper(Object list) {
+ super(list);
+ }
+ ICommonPermissionService service = SpringContextHolder.getBean(ICommonPermissionService.class);
+ SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+
+ @Override
+ public void warpTheMap(Map map) {
+
+ //解密身份证号
+ if (!ToolUtil.isEmpty(map.get("idCardNo"))) {
+ String idCardNo = formatter.format(map.get("createTime"));
+ map.put("idCardNo",idCardNo);
+ }
+ //眼部图片加路径
+ if (!ToolUtil.isEmpty(map.get("leftImage1"))) {
+ String leftImage1 = filePath + String.valueOf(map.get("leftImage1"));
+ map.put("leftImage1",leftImage1);
+ }
+ if (!ToolUtil.isEmpty(map.get("leftImage2"))) {
+ String leftImage2 = filePath + String.valueOf(map.get("leftImage2"));
+ map.put("leftImage2",leftImage2);
+ }
+ if (!ToolUtil.isEmpty(map.get("rightImage1"))) {
+ String rightImage1 = filePath + String.valueOf(map.get("rightImage1"));
+ map.put("rightImage1",rightImage1);
+ }
+ if (!ToolUtil.isEmpty(map.get("rightImage2"))) {
+ String rightImage2 = filePath + String.valueOf(map.get("rightImage2"));
+ map.put("rightImage2",rightImage2);
+ }
+
+
+ }
+
+}
diff --git a/casic-web/pom.xml b/casic-web/pom.xml
index afde795..9d289a4 100644
--- a/casic-web/pom.xml
+++ b/casic-web/pom.xml
@@ -4,7 +4,7 @@
4.0.0
com.casic
- casic-smartcity-dcms
+ casic-iris-parent
../pom.xml
1.0.0-SNAPSHOT
@@ -202,9 +202,11 @@
groovy-all
true