From 3f5ab02862ba02c6aabc9b3731128ee93262ff97 Mon Sep 17 00:00:00 2001 From: hansha Date: Sat, 15 Jun 2024 15:15:10 +0800 Subject: [PATCH 1/5] =?UTF-8?q?=E6=A3=80=E7=B4=A2=E6=9D=A1=E4=BB=B6?= =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/DangAnCollectController.java | 193 +++++++++++------- .../com/da/dangan/domain/vo/CszmDatas.java | 26 +++ .../com/da/dangan/domain/vo/CzrkDatas.java | 26 +++ .../com/da/dangan/domain/vo/QyzDatas.java | 26 +++ .../com/da/dangan/domain/vo/YtzmDatas.java | 26 +++ .../com/da/dangan/domain/vo/ZfnyDatas.java | 26 +++ .../com/da/dangan/domain/vo/ZqzDatas.java | 26 +++ .../mapper/dangan/DaBirthDjMapper.xml | 8 +- .../mapper/dangan/DaCzrkdjMapper.xml | 15 +- .../resources/mapper/dangan/DaQyzMapper.xml | 8 +- .../resources/mapper/dangan/DaYtzmMapper.xml | 6 +- .../mapper/dangan/DaZfnyhkcgMapper.xml | 10 +- .../resources/mapper/dangan/DaZqzMapper.xml | 9 +- dangan-ui/src/utils/request.js | 2 +- 14 files changed, 325 insertions(+), 82 deletions(-) create mode 100644 dangan-dangan/src/main/java/com/da/dangan/domain/vo/CszmDatas.java create mode 100644 dangan-dangan/src/main/java/com/da/dangan/domain/vo/CzrkDatas.java create mode 100644 dangan-dangan/src/main/java/com/da/dangan/domain/vo/QyzDatas.java create mode 100644 dangan-dangan/src/main/java/com/da/dangan/domain/vo/YtzmDatas.java create mode 100644 dangan-dangan/src/main/java/com/da/dangan/domain/vo/ZfnyDatas.java create mode 100644 dangan-dangan/src/main/java/com/da/dangan/domain/vo/ZqzDatas.java diff --git a/dangan-dangan/src/main/java/com/da/dangan/controller/DangAnCollectController.java b/dangan-dangan/src/main/java/com/da/dangan/controller/DangAnCollectController.java index 677e31b..767911b 100644 --- a/dangan-dangan/src/main/java/com/da/dangan/controller/DangAnCollectController.java +++ b/dangan-dangan/src/main/java/com/da/dangan/controller/DangAnCollectController.java @@ -1,18 +1,22 @@ package com.da.dangan.controller; import cn.hutool.json.JSONObject; +import com.alibaba.fastjson2.JSONArray; import com.da.common.config.RuoYiConfig; import com.da.common.core.controller.BaseController; import com.da.common.core.domain.AjaxResult; import com.da.common.utils.file.FileUploadUtils; import com.da.common.utils.file.FileUtils; +import com.da.dangan.domain.DaCzrkdj; import com.da.dangan.domain.DaPicturesRecard; +import com.da.dangan.domain.vo.CzrkDatas; import com.da.dangan.domain.vo.PicParams; import com.da.dangan.service.IDaBirthDjService; import com.da.dangan.service.IDaCzrkdjService; import com.da.dangan.service.IDaPicturesRecardService; import com.da.dangan.util.CallThirdInterface; import com.da.framework.config.ServerConfig; +import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.http.ResponseEntity; @@ -111,11 +115,15 @@ public class DangAnCollectController extends BaseController { */ @PostMapping("/recongnize") public AjaxResult recognize(@RequestBody List picRecards) { + String code; + String msg; + int success; + int total; try { //取所有id的集合 List ids = picRecards.stream().map(DaPicturesRecard::getId).collect(Collectors.toList()); String ywType = picRecards.get(0).getYwType(); - String singleOrDouble = picRecards.get(0).getSingelOrDouble(); + // String singleOrDouble = picRecards.get(0).getSingelOrDouble(); //获取所有的文件 List files = new ArrayList<>(); for (DaPicturesRecard picRecard : picRecards) { @@ -124,7 +132,7 @@ public class DangAnCollectController extends BaseController { files.add(file); } // TODO————————多线程循环调用第三方接口 - long start =System.currentTimeMillis(); + long start = System.currentTimeMillis(); /*List> futures = new ArrayList<>(); List results = new ArrayList<>(); for(File file :files){ @@ -140,21 +148,25 @@ public class DangAnCollectController extends BaseController { long end =System.currentTimeMillis(); logger.info("CompletableFuture耗时--——————————————————》"+ (end-start)+"ms");*/ //不使用循环调用接口 直接传递数组 - String result = CallThirdInterface.callThirdInterface(url, files, ywType,ids); - long end =System.currentTimeMillis(); - logger.info("CompletableFuture耗时--——————————————————》"+ (end-start)+"ms"); - //如果result中的code=0代表结果错误 - // 解析JSON字符串 - //! 获取键对应的值 + String result = CallThirdInterface.callThirdInterface(url, files, ywType, ids); + long end = System.currentTimeMillis(); + logger.info("CompletableFuture耗时--——————————————————》" + (end - start) + "ms"); + //! 解析JSON字符串,获取键对应的值 JSONObject jsonobject = new JSONObject(result); - String code = jsonobject.getStr("code"); - String msg = jsonobject.getStr("msg"); - int success = jsonobject.getInt("success"); - int total = jsonobject.getInt("total"); - Long[] failPicids = (Long[])jsonobject.getJSONArray("failPicid").toArray(); - String datas = jsonobject.getStr("datas"); - - // TODO 数据解析 根据业务类型存储识别后的信息 + code = jsonobject.getStr("code"); + msg = jsonobject.getStr("msg"); + success = jsonobject.getInt("success"); + total = jsonobject.getInt("total"); + //如果code=0 识别失败,直接返回 + if (code.equals("0")) { + return AjaxResult.error(msg + ", 成功:" + success + " , 总共:" + total); + } else { + //识别接口方说:多张识别,要么全识别成功,要么一张也识别不成功 ,所以---------failPicids暂时不用 失败则全失败 + // String failPicid=jsonobject.getStr("msg"); + + String datas = jsonobject.getStr("datas"); + + // TODO 数据解析 根据业务类型存储识别后的信息 /* @@ -163,15 +175,43 @@ public class DangAnCollectController extends BaseController { */ - Long dajlId=null; - switch(ywType){ - case "option1" : + Long dajlId = null; + switch (ywType) { + case "option1": + + //break; + case "option2": + + // break; + case "option3": + + //break; + case "option9": + //获取常住人口信息集合 + List czrkDatas = JSONArray.parseArray(datas, CzrkDatas.class); + for (CzrkDatas czrkData : czrkDatas) { + List picid = czrkData.getPicid(); + // 将Long类型映射为String类型, 并将Stream转换为数组 + String[] spicId = picid.stream().map(Object::toString).toArray(String[]::new); + String picIds = StringUtils.join(spicId, ",");//分号分割 + //存储图片url + List picUrls = picRecards.stream().map(DaPicturesRecard::getPicUrl).collect(Collectors.toList()); + String[] pics = picUrls.stream().map(Object::toString).toArray(String[]::new); + String pictures = StringUtils.join(pics, ",");//分号分割 + + List info = czrkData.getInfo(); + if(info!=null&&info.size()>0) { + for (DaCzrkdj daCzrkdj : info) { + daCzrkdj.setAllPicIds(picIds); + daCzrkdj.setAllPics(pictures); + daCzrkdj.setPicIds(picIds); + daCzrkdj.setPictures(pictures); + daCzrkdjService.insertDaCzrkdj(daCzrkdj); + } + } + } - break; - case "option2" : - break; - case "option3" : /*DaCzrkdj daCzrkdj = new DaCzrkdj(); daCzrkdj.setAllPicIds(picIds); daCzrkdj.setAllPics(); @@ -180,36 +220,34 @@ public class DangAnCollectController extends BaseController { daCzrkdjService.insertDaCzrkdj(); //将插入后的id反写回来 dajlid=daCzrkdj.getId();*/ - break; - case "option4" : - - break; - case "option5" : - - break; - case "option6" : + break; + case "option4": - break; - case "option7" : + break; + case "option5": - break; - case "option8" : + break; + case "option6": - break; - case "option9" : + break; + case "option7": - break; - } + break; + case "option8": - //识别成功的图片 ,修改图片信息记录表为已识别 可以用多线程 - for (DaPicturesRecard picRecard : picRecards) { - picRecard.setRecognize("1"); - daPicturesRecardService.updateDaPicturesRecard(picRecard); + break; + } + //识别成功的图片 ,修改图片信息记录表为已识别 可以用多线程 + for (DaPicturesRecard picRecard : picRecards) { + picRecard.setRecognize("1"); + daPicturesRecardService.updateDaPicturesRecard(picRecard); + } } } catch (Exception e) { e.printStackTrace(); return AjaxResult.error(e.getMessage()); } + // return AjaxResult.success("成功:"+success+" , 总共:"+total); return AjaxResult.success(); } @@ -222,8 +260,8 @@ public class DangAnCollectController extends BaseController { List uncheked = params.getUnchecked(); String singleOrDouble = params.getSingeOrDouble(); //拼接所有的图片 - List listAll =checked; - if(uncheked!=null&&uncheked.size()>0){ + List listAll = checked; + if (uncheked != null && uncheked.size() > 0) { listAll.addAll(uncheked); } //参数:checked id的集合 @@ -235,7 +273,7 @@ public class DangAnCollectController extends BaseController { System.out.println(allIds.toString()); - if(checked!=null&&checked.size()>0){ + if (checked != null && checked.size() > 0) { try { String ywType = checked.get(0).getYwType(); //获取所有的文件 @@ -246,12 +284,12 @@ public class DangAnCollectController extends BaseController { files.add(file); } // TODO————————多线程循环调用第三方接口 - long start =System.currentTimeMillis(); + long start = System.currentTimeMillis(); //参数:地址、文件、业务类型、单双面: 1单面 2双面 //String result = CallThirdInterface.callThirdInterface(url, files, ywType,singleOrDouble,ids); - String result = CallThirdInterface.callThirdInterface(url, files, ywType,ids); - long end =System.currentTimeMillis(); - logger.info("CompletableFuture耗时--——————————————————》"+ (end-start)+"ms"); + String result = CallThirdInterface.callThirdInterface(url, files, ywType, ids); + long end = System.currentTimeMillis(); + logger.info("CompletableFuture耗时--——————————————————》" + (end - start) + "ms"); // TODO 根据业务类型存储识别后的信息 /* @@ -263,15 +301,15 @@ public class DangAnCollectController extends BaseController { */ - Long dajlId=null; - switch(ywType){ - case "option1" : + Long dajlId = null; + switch (ywType) { + case "option1": break; - case "option2" : + case "option2": break; - case "option3" : + case "option3": /*DaCzrkdj daCzrkdj = new DaCzrkdj(); daCzrkdj.setAllPicIds(picIds); daCzrkdj.setAllPics(); @@ -281,31 +319,31 @@ public class DangAnCollectController extends BaseController { //将插入后的id反写回来 dajlid=daCzrkdj.getId();*/ break; - case "option4" : + case "option4": break; - case "option5" : + case "option5": break; - case "option6" : + case "option6": break; - case "option7" : + case "option7": break; - case "option8" : + case "option8": break; - case "option9" : + case "option9": break; } //识别成功的图片 ,修改图片信息记录表为已识别 可以用多线程 - for (DaPicturesRecard picRecard : checked) { - picRecard.setRecognize("1"); - daPicturesRecardService.updateDaPicturesRecard(picRecard); - } + for (DaPicturesRecard picRecard : checked) { + picRecard.setRecognize("1"); + daPicturesRecardService.updateDaPicturesRecard(picRecard); + } /*if(uncheked!=null&&uncheked.size()>0){ for (DaPicturesRecard picRecard : uncheked) { @@ -320,7 +358,7 @@ public class DangAnCollectController extends BaseController { e.printStackTrace(); return AjaxResult.error(e.getMessage()); } - }else{ + } else { return AjaxResult.error("请选择需要识别的图片"); } @@ -331,8 +369,23 @@ public class DangAnCollectController extends BaseController { * test参数 */ @PostMapping("/test3") - public String test(@RequestParam ("files")MultipartFile[] files,@RequestParam ("datas")Long[] datas){ - return datas.toString(); + public String test() { + String result = "{\"code\": 0, \"datas\": [{\"Picid\": [\"21\"], \"info\": [{\"name\":\"333\"},{\"name\":\"111\"}]}, {\"Picid\": [\"22\"], \"info\":[]]}]}"; + JSONObject jsonobject = new JSONObject(result); + String code = jsonobject.getStr("code"); + String msg = jsonobject.getStr("msg"); + Integer success = jsonobject.getInt("success"); + Integer total = jsonobject.getInt("total"); + //识别接口方说:多张识别,要么全识别成功,要么一张也识别不成功 ,所以---------failPicids暂时不用 失败则全失败 + // String failPicid=jsonobject.getStr("msg"); + + String datas = jsonobject.getStr("datas"); + //获取常住人口信息集合 + List czrkDatas = JSONArray.parseArray(datas, CzrkDatas.class); + System.out.println(czrkDatas.get(1).getInfo()==null); + System.out.println(czrkDatas.get(1).getInfo().size()); + System.out.println(czrkDatas.get(0).getInfo().get(0).getName()); + return "datas.toString()"; } /** @@ -409,7 +462,7 @@ public class DangAnCollectController extends BaseController { /** - * 图片批量识别处理进度 + * 图片批量识别处理进度 */ @GetMapping("/progress") public ResponseEntity getProgress() { @@ -432,7 +485,7 @@ public class DangAnCollectController extends BaseController { multipartFile.transferTo(file); fileList.add(file); } - String result = CallThirdInterface.callThirdInterface(url, fileList, fileType,new ArrayList<>()); + String result = CallThirdInterface.callThirdInterface(url, fileList, fileType, new ArrayList<>()); return result; } diff --git a/dangan-dangan/src/main/java/com/da/dangan/domain/vo/CszmDatas.java b/dangan-dangan/src/main/java/com/da/dangan/domain/vo/CszmDatas.java new file mode 100644 index 0000000..5fd652a --- /dev/null +++ b/dangan-dangan/src/main/java/com/da/dangan/domain/vo/CszmDatas.java @@ -0,0 +1,26 @@ +package com.da.dangan.domain.vo; + +import com.da.dangan.domain.DaBirthDj; + +import java.util.List; + +public class CszmDatas { + private List Picid; + private List info; + + public List getPicid() { + return Picid; + } + + public void setPicid(List picid) { + Picid = picid; + } + + public List getInfo() { + return info; + } + + public void setInfo(List info) { + this.info = info; + } +} diff --git a/dangan-dangan/src/main/java/com/da/dangan/domain/vo/CzrkDatas.java b/dangan-dangan/src/main/java/com/da/dangan/domain/vo/CzrkDatas.java new file mode 100644 index 0000000..d5852d4 --- /dev/null +++ b/dangan-dangan/src/main/java/com/da/dangan/domain/vo/CzrkDatas.java @@ -0,0 +1,26 @@ +package com.da.dangan.domain.vo; + +import com.da.dangan.domain.DaCzrkdj; + +import java.util.List; + +public class CzrkDatas { + private List Picid; + private List info; + + public List getPicid() { + return Picid; + } + + public void setPicid(List picid) { + Picid = picid; + } + + public List getInfo() { + return info; + } + + public void setInfo(List info) { + this.info = info; + } +} diff --git a/dangan-dangan/src/main/java/com/da/dangan/domain/vo/QyzDatas.java b/dangan-dangan/src/main/java/com/da/dangan/domain/vo/QyzDatas.java new file mode 100644 index 0000000..4dc35fa --- /dev/null +++ b/dangan-dangan/src/main/java/com/da/dangan/domain/vo/QyzDatas.java @@ -0,0 +1,26 @@ +package com.da.dangan.domain.vo; + +import com.da.dangan.domain.DaQyz; + +import java.util.List; + +public class QyzDatas { + private List Picid; + private List info; + + public List getPicid() { + return Picid; + } + + public void setPicid(List picid) { + Picid = picid; + } + + public List getInfo() { + return info; + } + + public void setInfo(List info) { + this.info = info; + } +} diff --git a/dangan-dangan/src/main/java/com/da/dangan/domain/vo/YtzmDatas.java b/dangan-dangan/src/main/java/com/da/dangan/domain/vo/YtzmDatas.java new file mode 100644 index 0000000..1406146 --- /dev/null +++ b/dangan-dangan/src/main/java/com/da/dangan/domain/vo/YtzmDatas.java @@ -0,0 +1,26 @@ +package com.da.dangan.domain.vo; + +import com.da.dangan.domain.DaYtzm; + +import java.util.List; + +public class YtzmDatas { + private List Picid; + private List info; + + public List getPicid() { + return Picid; + } + + public void setPicid(List picid) { + Picid = picid; + } + + public List getInfo() { + return info; + } + + public void setInfo(List info) { + this.info = info; + } +} diff --git a/dangan-dangan/src/main/java/com/da/dangan/domain/vo/ZfnyDatas.java b/dangan-dangan/src/main/java/com/da/dangan/domain/vo/ZfnyDatas.java new file mode 100644 index 0000000..37ae4ed --- /dev/null +++ b/dangan-dangan/src/main/java/com/da/dangan/domain/vo/ZfnyDatas.java @@ -0,0 +1,26 @@ +package com.da.dangan.domain.vo; + +import com.da.dangan.domain.DaZfnyhkcg; + +import java.util.List; + +public class ZfnyDatas { + private List Picid; + private List info; + + public List getPicid() { + return Picid; + } + + public void setPicid(List picid) { + Picid = picid; + } + + public List getInfo() { + return info; + } + + public void setInfo(List info) { + this.info = info; + } +} diff --git a/dangan-dangan/src/main/java/com/da/dangan/domain/vo/ZqzDatas.java b/dangan-dangan/src/main/java/com/da/dangan/domain/vo/ZqzDatas.java new file mode 100644 index 0000000..289bafb --- /dev/null +++ b/dangan-dangan/src/main/java/com/da/dangan/domain/vo/ZqzDatas.java @@ -0,0 +1,26 @@ +package com.da.dangan.domain.vo; + +import com.da.dangan.domain.DaZqz; + +import java.util.List; + +public class ZqzDatas { + private List Picid; + private List info; + + public List getPicid() { + return Picid; + } + + public void setPicid(List picid) { + Picid = picid; + } + + public List getInfo() { + return info; + } + + public void setInfo(List info) { + this.info = info; + } +} diff --git a/dangan-dangan/src/main/resources/mapper/dangan/DaBirthDjMapper.xml b/dangan-dangan/src/main/resources/mapper/dangan/DaBirthDjMapper.xml index 59bb8a2..9e72fd0 100644 --- a/dangan-dangan/src/main/resources/mapper/dangan/DaBirthDjMapper.xml +++ b/dangan-dangan/src/main/resources/mapper/dangan/DaBirthDjMapper.xml @@ -3,7 +3,6 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> - @@ -54,7 +53,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" and yw_type = #{ywType} and mu_id = #{muId} and birth_num = #{birthNum} - and name like concat('%', #{name}, '%') + + and (name like concat('%', #{name}, '%') + or m_name like concat('%', #{name}, '%') + or f_name like concat('%', #{name}, '%') + ) + and birthday = #{birthday} and sex = #{sex} and born_address = #{bornAddress} diff --git a/dangan-dangan/src/main/resources/mapper/dangan/DaCzrkdjMapper.xml b/dangan-dangan/src/main/resources/mapper/dangan/DaCzrkdjMapper.xml index cab4628..0dc148f 100644 --- a/dangan-dangan/src/main/resources/mapper/dangan/DaCzrkdjMapper.xml +++ b/dangan-dangan/src/main/resources/mapper/dangan/DaCzrkdjMapper.xml @@ -3,7 +3,6 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> - @@ -68,7 +67,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" and yw_type = #{ywType} and mu_id = #{muId} and relation = #{relation} - and name like concat('%', #{name}, '%') + + and ( name like concat('%', #{name}, '%') + or hz_name like concat('%', #{name}, '%') + or other_name like concat('%', #{name}, '%') + ) + and other_name like concat('%', #{otherName}, '%') and sex = #{sex} and birthday = #{birthday} @@ -119,9 +123,10 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" and yw_type = #{ywType} and mu_id = #{muId} - and (name like concat('%', #{name}, '%') - or hz_name like concat('%', #{name}, '%')) - or other_name like concat('%', #{name}, '%')) + and ( name like concat('%', #{name}, '%') + or hz_name like concat('%', #{name}, '%') + or other_name like concat('%', #{name}, '%') + ) and other_name like concat('%', #{otherName}, '%') and sex = #{sex} diff --git a/dangan-dangan/src/main/resources/mapper/dangan/DaQyzMapper.xml b/dangan-dangan/src/main/resources/mapper/dangan/DaQyzMapper.xml index c8f5765..698f499 100644 --- a/dangan-dangan/src/main/resources/mapper/dangan/DaQyzMapper.xml +++ b/dangan-dangan/src/main/resources/mapper/dangan/DaQyzMapper.xml @@ -55,7 +55,13 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" and mu_id = #{muId} and fw_unit = #{fwUnit} and wj_xh = #{wjXh} - and name1 = #{name1} + + and ( name1 like concat('%', #{name1}, '%') + or name2 like concat('%', #{name1}, '%') + or name3 like concat('%', #{name1}, '%') + or name4 like concat('%', #{name1}, '%') + ) + and sex1 = #{sex1} and card_id1 = #{cardId1} and name2 = #{name2} diff --git a/dangan-dangan/src/main/resources/mapper/dangan/DaYtzmMapper.xml b/dangan-dangan/src/main/resources/mapper/dangan/DaYtzmMapper.xml index 2e5c532..6458d14 100644 --- a/dangan-dangan/src/main/resources/mapper/dangan/DaYtzmMapper.xml +++ b/dangan-dangan/src/main/resources/mapper/dangan/DaYtzmMapper.xml @@ -51,7 +51,11 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" and mu_id = #{muId} and year = #{year} and xh = #{xh} - and w_name like concat('%', #{wName}, '%') + + and ( w_name like concat('%', #{wName}, '%') + or m_name like concat('%', #{wName}, '%') + ) + and w_unit = #{wUnit} and w_card_id = #{wCardId} and m_name like concat('%', #{mName}, '%') diff --git a/dangan-dangan/src/main/resources/mapper/dangan/DaZfnyhkcgMapper.xml b/dangan-dangan/src/main/resources/mapper/dangan/DaZfnyhkcgMapper.xml index 8a104e2..d4e74ae 100644 --- a/dangan-dangan/src/main/resources/mapper/dangan/DaZfnyhkcgMapper.xml +++ b/dangan-dangan/src/main/resources/mapper/dangan/DaZfnyhkcgMapper.xml @@ -56,7 +56,15 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" and yw_type = #{ywType} and mu_id = #{muId} and num = #{num} - and name like concat('%', #{name}, '%') + + and ( name like concat('%', #{name}, '%') + or name1 like concat('%', #{name}, '%') + or name2 like concat('%', #{name}, '%') + or name3 like concat('%', #{name}, '%') + or name4 like concat('%', #{name}, '%') + or name5 like concat('%', #{name}, '%') + ) + and address = #{address} and relation1 = #{relation1} and name1 = #{name1} diff --git a/dangan-dangan/src/main/resources/mapper/dangan/DaZqzMapper.xml b/dangan-dangan/src/main/resources/mapper/dangan/DaZqzMapper.xml index 93617df..0d4ac76 100644 --- a/dangan-dangan/src/main/resources/mapper/dangan/DaZqzMapper.xml +++ b/dangan-dangan/src/main/resources/mapper/dangan/DaZqzMapper.xml @@ -61,7 +61,14 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" and yw_type = #{ywType} and mu_id = #{muId} and num = #{num} - and name like concat('%', #{name}, '%') + + and ( name like concat('%', #{name}, '%') + or name1 like concat('%', #{name}, '%') + or name2 like concat('%', #{name}, '%') + or name3 like concat('%', #{name}, '%') + or name4 like concat('%', #{name}, '%') + ) + and card_id = #{cardId} and address = #{address} and dj_jg = #{djJg} diff --git a/dangan-ui/src/utils/request.js b/dangan-ui/src/utils/request.js index ffb0d21..74d3db7 100644 --- a/dangan-ui/src/utils/request.js +++ b/dangan-ui/src/utils/request.js @@ -17,7 +17,7 @@ const service = axios.create({ // axios中请求配置有baseURL选项,表示请求URL公共部分 baseURL: process.env.VUE_APP_BASE_API, // 超时 - timeout: 10000 + timeout: 100000 }) // request拦截器 From dc04eea7c691ed3aefbc5df2cf3162eb2277d925 Mon Sep 17 00:00:00 2001 From: hansha Date: Sat, 15 Jun 2024 16:57:08 +0800 Subject: [PATCH 2/5] =?UTF-8?q?=E9=99=90=E5=88=B6=E7=BB=9F=E4=B8=80?= =?UTF-8?q?=E8=B4=A6=E5=8F=B7=E4=B8=8D=E5=90=8C=E7=BB=88=E7=AB=AF=E7=99=BB?= =?UTF-8?q?=E5=BD=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/resources/application.yml | 2 + .../com/da/common/constant/Constants.java | 8 ++- .../handle/LogoutSuccessHandlerImpl.java | 38 +++++++++--- .../web/service/SysLoginService.java | 40 ++++++++---- .../framework/web/service/TokenService.java | 61 +++++++++++++++---- dangan-ui/src/utils/request.js | 3 +- 6 files changed, 117 insertions(+), 35 deletions(-) diff --git a/dangan-admin/src/main/resources/application.yml b/dangan-admin/src/main/resources/application.yml index 8710dc8..d35ce56 100644 --- a/dangan-admin/src/main/resources/application.yml +++ b/dangan-admin/src/main/resources/application.yml @@ -90,6 +90,8 @@ spring: # token配置 token: + #是否允许账户多终端同时登录(true允许 false不允许) + soloLogin: true # 令牌自定义标识 header: Authorization # 令牌密钥 diff --git a/dangan-common/src/main/java/com/da/common/constant/Constants.java b/dangan-common/src/main/java/com/da/common/constant/Constants.java index e579519..e0075df 100644 --- a/dangan-common/src/main/java/com/da/common/constant/Constants.java +++ b/dangan-common/src/main/java/com/da/common/constant/Constants.java @@ -1,8 +1,9 @@ package com.da.common.constant; -import java.util.Locale; import io.jsonwebtoken.Claims; +import java.util.Locale; + /** * 通用常量信息 * @@ -10,6 +11,11 @@ import io.jsonwebtoken.Claims; */ public class Constants { + /** + *登录用户编号 redis key + */ + public static final String LOGIN_USERID_KEY = "login_userid:"; + /** * UTF-8 字符集 */ diff --git a/dangan-framework/src/main/java/com/da/framework/security/handle/LogoutSuccessHandlerImpl.java b/dangan-framework/src/main/java/com/da/framework/security/handle/LogoutSuccessHandlerImpl.java index b7ff997..42b6793 100644 --- a/dangan-framework/src/main/java/com/da/framework/security/handle/LogoutSuccessHandlerImpl.java +++ b/dangan-framework/src/main/java/com/da/framework/security/handle/LogoutSuccessHandlerImpl.java @@ -1,23 +1,23 @@ package com.da.framework.security.handle; -import java.io.IOException; -import javax.servlet.ServletException; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.context.annotation.Configuration; -import org.springframework.security.core.Authentication; -import org.springframework.security.web.authentication.logout.LogoutSuccessHandler; import com.alibaba.fastjson2.JSON; import com.da.common.constant.Constants; import com.da.common.core.domain.AjaxResult; import com.da.common.core.domain.model.LoginUser; -import com.da.common.utils.MessageUtils; import com.da.common.utils.ServletUtils; import com.da.common.utils.StringUtils; import com.da.framework.manager.AsyncManager; import com.da.framework.manager.factory.AsyncFactory; import com.da.framework.web.service.TokenService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.context.annotation.Configuration; +import org.springframework.security.core.Authentication; +import org.springframework.security.web.authentication.logout.LogoutSuccessHandler; + +import javax.servlet.ServletException; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import java.io.IOException; /** * 自定义退出处理类 返回成功 @@ -36,7 +36,7 @@ public class LogoutSuccessHandlerImpl implements LogoutSuccessHandler * @return */ @Override - public void onLogoutSuccess(HttpServletRequest request, HttpServletResponse response, Authentication authentication) + /*public void onLogoutSuccess(HttpServletRequest request, HttpServletResponse response, Authentication authentication) throws IOException, ServletException { LoginUser loginUser = tokenService.getLoginUser(request); @@ -49,5 +49,23 @@ public class LogoutSuccessHandlerImpl implements LogoutSuccessHandler AsyncManager.me().execute(AsyncFactory.recordLogininfor(userName, Constants.LOGOUT, MessageUtils.message("user.logout.success"))); } ServletUtils.renderString(response, JSON.toJSONString(AjaxResult.success(MessageUtils.message("user.logout.success")))); + }*/ + public void onLogoutSuccess(HttpServletRequest request, HttpServletResponse response, Authentication authentication) + throws IOException, ServletException + { + LoginUser loginUser = tokenService.getLoginUser(request); + if (StringUtils.isNotNull(loginUser)) + { + String userName = loginUser.getUsername(); + // 删除用户缓存记录(旧方法) + //tokenService.delLoginUser(loginUser.getToken()); + + // 删除用户缓存记录 只允许单用户登录(关键) + tokenService.delLoginUser(loginUser.getToken(), loginUser.getUser().getUserId()); + + // 记录用户退出日志 + AsyncManager.me().execute(AsyncFactory.recordLogininfor(userName, Constants.LOGOUT, "退出成功")); + } + ServletUtils.renderString(response, JSON.toJSONString(AjaxResult.success("退出成功"))); } } diff --git a/dangan-framework/src/main/java/com/da/framework/web/service/SysLoginService.java b/dangan-framework/src/main/java/com/da/framework/web/service/SysLoginService.java index dcfe7e2..124e37d 100644 --- a/dangan-framework/src/main/java/com/da/framework/web/service/SysLoginService.java +++ b/dangan-framework/src/main/java/com/da/framework/web/service/SysLoginService.java @@ -1,12 +1,5 @@ package com.da.framework.web.service; -import javax.annotation.Resource; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.security.authentication.AuthenticationManager; -import org.springframework.security.authentication.BadCredentialsException; -import org.springframework.security.authentication.UsernamePasswordAuthenticationToken; -import org.springframework.security.core.Authentication; -import org.springframework.stereotype.Component; import com.da.common.constant.CacheConstants; import com.da.common.constant.Constants; import com.da.common.constant.UserConstants; @@ -14,11 +7,7 @@ import com.da.common.core.domain.entity.SysUser; import com.da.common.core.domain.model.LoginUser; import com.da.common.core.redis.RedisCache; import com.da.common.exception.ServiceException; -import com.da.common.exception.user.BlackListException; -import com.da.common.exception.user.CaptchaException; -import com.da.common.exception.user.CaptchaExpireException; -import com.da.common.exception.user.UserNotExistsException; -import com.da.common.exception.user.UserPasswordNotMatchException; +import com.da.common.exception.user.*; import com.da.common.utils.DateUtils; import com.da.common.utils.MessageUtils; import com.da.common.utils.StringUtils; @@ -28,6 +17,15 @@ import com.da.framework.manager.factory.AsyncFactory; import com.da.framework.security.context.AuthenticationContextHolder; import com.da.system.service.ISysConfigService; import com.da.system.service.ISysUserService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.security.authentication.AuthenticationManager; +import org.springframework.security.authentication.BadCredentialsException; +import org.springframework.security.authentication.UsernamePasswordAuthenticationToken; +import org.springframework.security.core.Authentication; +import org.springframework.stereotype.Component; + +import javax.annotation.Resource; /** * 登录校验方法 @@ -37,6 +35,9 @@ import com.da.system.service.ISysUserService; @Component public class SysLoginService { + // 是否允许账户多终端同时登录(true允许 false不允许) + @Value("${token.soloLogin}") + private boolean soloLogin; @Autowired private TokenService tokenService; @@ -96,6 +97,21 @@ public class SysLoginService AsyncManager.me().execute(AsyncFactory.recordLogininfor(username, Constants.LOGIN_SUCCESS, MessageUtils.message("user.login.success"))); LoginUser loginUser = (LoginUser) authentication.getPrincipal(); recordLoginInfo(loginUser.getUserId()); + + //---------------------------------------添加如下代码,验证如果用户不允许多终端同时登录,清除缓存信息 + if (!soloLogin) + { + // 如果用户不允许多终端同时登录,清除缓存信息 + String userIdKey = Constants.LOGIN_USERID_KEY + loginUser.getUser().getUserId(); + String userKey = redisCache.getCacheObject(userIdKey); + if (StringUtils.isNotEmpty(userKey)) + { + redisCache.deleteObject(userIdKey); + redisCache.deleteObject(userKey); + } + } + //----------------新增代码结束 + // 生成token return tokenService.createToken(loginUser); } diff --git a/dangan-framework/src/main/java/com/da/framework/web/service/TokenService.java b/dangan-framework/src/main/java/com/da/framework/web/service/TokenService.java index 42ed2d5..23e382d 100644 --- a/dangan-framework/src/main/java/com/da/framework/web/service/TokenService.java +++ b/dangan-framework/src/main/java/com/da/framework/web/service/TokenService.java @@ -1,14 +1,5 @@ package com.da.framework.web.service; -import java.util.HashMap; -import java.util.Map; -import java.util.concurrent.TimeUnit; -import javax.servlet.http.HttpServletRequest; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.beans.factory.annotation.Value; -import org.springframework.stereotype.Component; import com.da.common.constant.CacheConstants; import com.da.common.constant.Constants; import com.da.common.core.domain.model.LoginUser; @@ -22,6 +13,16 @@ import eu.bitwalker.useragentutils.UserAgent; import io.jsonwebtoken.Claims; import io.jsonwebtoken.Jwts; import io.jsonwebtoken.SignatureAlgorithm; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.stereotype.Component; + +import javax.servlet.http.HttpServletRequest; +import java.util.HashMap; +import java.util.Map; +import java.util.concurrent.TimeUnit; /** * token验证处理 @@ -33,6 +34,10 @@ public class TokenService { private static final Logger log = LoggerFactory.getLogger(TokenService.class); + // 是否允许账户多终端同时登录(true允许 false不允许) + @Value("${token.soloLogin}") + private boolean soloLogin; + // 令牌自定义标识 @Value("${token.header}") private String header; @@ -96,15 +101,29 @@ public class TokenService /** * 删除用户身份信息 */ - public void delLoginUser(String token) +/* public void delLoginUser(String token) { if (StringUtils.isNotEmpty(token)) { String userKey = getTokenKey(token); redisCache.deleteObject(userKey); } + }*/ + public void delLoginUser(String token, Long userId) + { + if (StringUtils.isNotEmpty(token)) + { + String userKey = getTokenKey(token); + redisCache.deleteObject(userKey); + } + if (!soloLogin && StringUtils.isNotNull(userId)) + { + String userIdKey = getUserIdKey(userId); + redisCache.deleteObject(userIdKey); + } } + /** * 创建令牌 * @@ -144,13 +163,28 @@ public class TokenService * * @param loginUser 登录信息 */ - public void refreshToken(LoginUser loginUser) +/* public void refreshToken(LoginUser loginUser) + { + loginUser.setLoginTime(System.currentTimeMillis()); + loginUser.setExpireTime(loginUser.getLoginTime() + expireTime * MILLIS_MINUTE); + // 根据uuid将loginUser缓存 + String userKey = getTokenKey(loginUser.getToken()); + redisCache.setCacheObject(userKey, loginUser, expireTime, TimeUnit.MINUTES); + }*/ + public String refreshToken(LoginUser loginUser) { loginUser.setLoginTime(System.currentTimeMillis()); loginUser.setExpireTime(loginUser.getLoginTime() + expireTime * MILLIS_MINUTE); // 根据uuid将loginUser缓存 String userKey = getTokenKey(loginUser.getToken()); redisCache.setCacheObject(userKey, loginUser, expireTime, TimeUnit.MINUTES); + if (!soloLogin) + { + // 缓存用户唯一标识,防止同一帐号,同时登录 + String userIdKey = getUserIdKey(loginUser.getUser().getUserId()); + redisCache.setCacheObject(userIdKey, userKey, expireTime, TimeUnit.MINUTES); + } + return userKey; } /** @@ -168,6 +202,11 @@ public class TokenService loginUser.setOs(userAgent.getOperatingSystem().getName()); } + private String getUserIdKey(Long userId) + { + return Constants.LOGIN_USERID_KEY + userId; + } + /** * 从数据声明生成令牌 * diff --git a/dangan-ui/src/utils/request.js b/dangan-ui/src/utils/request.js index 74d3db7..a4eb298 100644 --- a/dangan-ui/src/utils/request.js +++ b/dangan-ui/src/utils/request.js @@ -93,7 +93,8 @@ service.interceptors.response.use(res => { isRelogin.show = false; }); } - return Promise.reject('无效的会话,或者会话已过期,请重新登录。') + //return Promise.reject('无效的会话,或者会话已过期,请重新登录。') + return Promise.reject('会话已过期,或者被挤下线,请重新登录。') } else if (code === 500) { Message({ message: msg, type: 'error' }) return Promise.reject(new Error(msg)) From eb817ea36b72e71d2308376617e36e984425cd75 Mon Sep 17 00:00:00 2001 From: hansha Date: Sat, 15 Jun 2024 16:57:30 +0800 Subject: [PATCH 3/5] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E5=AD=97=E6=AE=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/com/da/dangan/domain/DaZqz.java | 317 +++++++++++------- .../resources/mapper/dangan/DaZqzMapper.xml | 28 +- 2 files changed, 213 insertions(+), 132 deletions(-) diff --git a/dangan-dangan/src/main/java/com/da/dangan/domain/DaZqz.java b/dangan-dangan/src/main/java/com/da/dangan/domain/DaZqz.java index 5884537..2eb3153 100644 --- a/dangan-dangan/src/main/java/com/da/dangan/domain/DaZqz.java +++ b/dangan-dangan/src/main/java/com/da/dangan/domain/DaZqz.java @@ -1,17 +1,18 @@ package com.da.dangan.domain; -import java.util.Date; +import com.da.common.annotation.Excel; +import com.da.common.core.domain.BaseEntity; import com.fasterxml.jackson.annotation.JsonFormat; import org.apache.commons.lang3.builder.ToStringBuilder; import org.apache.commons.lang3.builder.ToStringStyle; -import com.da.common.annotation.Excel; -import com.da.common.core.domain.BaseEntity; + +import java.util.Date; /** * 准迁证对象 da_zqz - * + * * @author hs - * @date 2024-06-14 + * @date 2024-06-15 */ public class DaZqz extends BaseEntity { @@ -60,6 +61,11 @@ public class DaZqz extends BaseEntity @Excel(name = "性别1") private String sex1; + /** 出生日期1 */ + @JsonFormat(pattern = "yyyy-MM-dd") + @Excel(name = "出生日期1", width = 30, dateFormat = "yyyy-MM-dd") + private Date birthDate1; + /** 身份证号1 */ @Excel(name = "身份证号1") private String cardId1; @@ -76,6 +82,11 @@ public class DaZqz extends BaseEntity @Excel(name = "性别2") private String sex2; + /** 出生日期2 */ + @JsonFormat(pattern = "yyyy-MM-dd") + @Excel(name = "出生日期2", width = 30, dateFormat = "yyyy-MM-dd") + private Date birthDate2; + /** 身份证号2 */ @Excel(name = "身份证号2") private String cardId2; @@ -88,6 +99,11 @@ public class DaZqz extends BaseEntity @Excel(name = "姓名3") private String name3; + /** 出生日期3 */ + @JsonFormat(pattern = "yyyy-MM-dd") + @Excel(name = "出生日期3", width = 30, dateFormat = "yyyy-MM-dd") + private Date birthDate3; + /** 性别3 */ @Excel(name = "性别3") private String sex3; @@ -108,6 +124,11 @@ public class DaZqz extends BaseEntity @Excel(name = "性别4") private String sex4; + /** 出生日期4 */ + @JsonFormat(pattern = "yyyy-MM-dd") + @Excel(name = "出生日期4", width = 30, dateFormat = "yyyy-MM-dd") + private Date birthDate4; + /** 身份证号4 */ @Excel(name = "身份证号4") private String cardId4; @@ -173,354 +194,390 @@ public class DaZqz extends BaseEntity @Excel(name = "审核原由") private String auditReason; - public void setId(Long id) + public void setId(Long id) { this.id = id; } - public Long getId() + public Long getId() { return id; } - public void setYwType(String ywType) + public void setYwType(String ywType) { this.ywType = ywType; } - public String getYwType() + public String getYwType() { return ywType; } - public void setMuId(Long muId) + public void setMuId(Long muId) { this.muId = muId; } - public Long getMuId() + public Long getMuId() { return muId; } - public void setNum(String num) + public void setNum(String num) { this.num = num; } - public String getNum() + public String getNum() { return num; } - public void setName(String name) + public void setName(String name) { this.name = name; } - public String getName() + public String getName() { return name; } - public void setCardId(String cardId) + public void setCardId(String cardId) { this.cardId = cardId; } - public String getCardId() + public String getCardId() { return cardId; } - public void setAddress(String address) + public void setAddress(String address) { this.address = address; } - public String getAddress() + public String getAddress() { return address; } - public void setDjJg(String djJg) + public void setDjJg(String djJg) { this.djJg = djJg; } - public String getDjJg() + public String getDjJg() { return djJg; } - public void setRelation1(String relation1) + public void setRelation1(String relation1) { this.relation1 = relation1; } - public String getRelation1() + public String getRelation1() { return relation1; } - public void setName1(String name1) + public void setName1(String name1) { this.name1 = name1; } - public String getName1() + public String getName1() { return name1; } - public void setSex1(String sex1) + public void setSex1(String sex1) { this.sex1 = sex1; } - public String getSex1() + public String getSex1() { return sex1; } - public void setCardId1(String cardId1) + public void setBirthDate1(Date birthDate1) + { + this.birthDate1 = birthDate1; + } + + public Date getBirthDate1() + { + return birthDate1; + } + public void setCardId1(String cardId1) { this.cardId1 = cardId1; } - public String getCardId1() + public String getCardId1() { return cardId1; } - public void setRelation2(String relation2) + public void setRelation2(String relation2) { this.relation2 = relation2; } - public String getRelation2() + public String getRelation2() { return relation2; } - public void setName2(String name2) + public void setName2(String name2) { this.name2 = name2; } - public String getName2() + public String getName2() { return name2; } - public void setSex2(String sex2) + public void setSex2(String sex2) { this.sex2 = sex2; } - public String getSex2() + public String getSex2() { return sex2; } - public void setCardId2(String cardId2) + public void setBirthDate2(Date birthDate2) + { + this.birthDate2 = birthDate2; + } + + public Date getBirthDate2() + { + return birthDate2; + } + public void setCardId2(String cardId2) { this.cardId2 = cardId2; } - public String getCardId2() + public String getCardId2() { return cardId2; } - public void setRelation3(String relation3) + public void setRelation3(String relation3) { this.relation3 = relation3; } - public String getRelation3() + public String getRelation3() { return relation3; } - public void setName3(String name3) + public void setName3(String name3) { this.name3 = name3; } - public String getName3() + public String getName3() { return name3; } - public void setSex3(String sex3) + public void setBirthDate3(Date birthDate3) + { + this.birthDate3 = birthDate3; + } + + public Date getBirthDate3() + { + return birthDate3; + } + public void setSex3(String sex3) { this.sex3 = sex3; } - public String getSex3() + public String getSex3() { return sex3; } - public void setCardId3(String cardId3) + public void setCardId3(String cardId3) { this.cardId3 = cardId3; } - public String getCardId3() + public String getCardId3() { return cardId3; } - public void setRelation4(String relation4) + public void setRelation4(String relation4) { this.relation4 = relation4; } - public String getRelation4() + public String getRelation4() { return relation4; } - public void setName4(String name4) + public void setName4(String name4) { this.name4 = name4; } - public String getName4() + public String getName4() { return name4; } - public void setSex4(String sex4) + public void setSex4(String sex4) { this.sex4 = sex4; } - public String getSex4() + public String getSex4() { return sex4; } - public void setCardId4(String cardId4) + public void setBirthDate4(Date birthDate4) + { + this.birthDate4 = birthDate4; + } + + public Date getBirthDate4() + { + return birthDate4; + } + public void setCardId4(String cardId4) { this.cardId4 = cardId4; } - public String getCardId4() + public String getCardId4() { return cardId4; } - public void setFwdw(String fwdw) + public void setFwdw(String fwdw) { this.fwdw = fwdw; } - public String getFwdw() + public String getFwdw() { return fwdw; } - public void setQrAddress(String qrAddress) + public void setQrAddress(String qrAddress) { this.qrAddress = qrAddress; } - public String getQrAddress() + public String getQrAddress() { return qrAddress; } - public void setZqReason(String zqReason) + public void setZqReason(String zqReason) { this.zqReason = zqReason; } - public String getZqReason() + public String getZqReason() { return zqReason; } - public void setPzjg(String pzjg) + public void setPzjg(String pzjg) { this.pzjg = pzjg; } - public String getPzjg() + public String getPzjg() { return pzjg; } - public void setCbr(String cbr) + public void setCbr(String cbr) { this.cbr = cbr; } - public String getCbr() + public String getCbr() { return cbr; } - public void setQfDate(Date qfDate) + public void setQfDate(Date qfDate) { this.qfDate = qfDate; } - public Date getQfDate() + public Date getQfDate() { return qfDate; } - public void setPicIds(String picIds) + public void setPicIds(String picIds) { this.picIds = picIds; } - public String getPicIds() + public String getPicIds() { return picIds; } - public void setPictures(String pictures) + public void setPictures(String pictures) { this.pictures = pictures; } - public String getPictures() + public String getPictures() { return pictures; } - public void setAllPicIds(String allPicIds) + public void setAllPicIds(String allPicIds) { this.allPicIds = allPicIds; } - public String getAllPicIds() + public String getAllPicIds() { return allPicIds; } - public void setAllPics(String allPics) + public void setAllPics(String allPics) { this.allPics = allPics; } - public String getAllPics() + public String getAllPics() { return allPics; } - public void setErrorCorrect(String errorCorrect) + public void setErrorCorrect(String errorCorrect) { this.errorCorrect = errorCorrect; } - public String getErrorCorrect() + public String getErrorCorrect() { return errorCorrect; } - public void setAuditStatus(String auditStatus) + public void setAuditStatus(String auditStatus) { this.auditStatus = auditStatus; } - public String getAuditStatus() + public String getAuditStatus() { return auditStatus; } - public void setAuditName(String auditName) + public void setAuditName(String auditName) { this.auditName = auditName; } - public String getAuditName() + public String getAuditName() { return auditName; } - public void setAuditResult(String auditResult) + public void setAuditResult(String auditResult) { this.auditResult = auditResult; } - public String getAuditResult() + public String getAuditResult() { return auditResult; } - public void setAuditReason(String auditReason) + public void setAuditReason(String auditReason) { this.auditReason = auditReason; } - public String getAuditReason() + public String getAuditReason() { return auditReason; } @@ -528,50 +585,54 @@ public class DaZqz extends BaseEntity @Override public String toString() { return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) - .append("id", getId()) - .append("ywType", getYwType()) - .append("muId", getMuId()) - .append("num", getNum()) - .append("name", getName()) - .append("cardId", getCardId()) - .append("address", getAddress()) - .append("djJg", getDjJg()) - .append("relation1", getRelation1()) - .append("name1", getName1()) - .append("sex1", getSex1()) - .append("cardId1", getCardId1()) - .append("relation2", getRelation2()) - .append("name2", getName2()) - .append("sex2", getSex2()) - .append("cardId2", getCardId2()) - .append("relation3", getRelation3()) - .append("name3", getName3()) - .append("sex3", getSex3()) - .append("cardId3", getCardId3()) - .append("relation4", getRelation4()) - .append("name4", getName4()) - .append("sex4", getSex4()) - .append("cardId4", getCardId4()) - .append("fwdw", getFwdw()) - .append("qrAddress", getQrAddress()) - .append("zqReason", getZqReason()) - .append("pzjg", getPzjg()) - .append("cbr", getCbr()) - .append("qfDate", getQfDate()) - .append("picIds", getPicIds()) - .append("pictures", getPictures()) - .append("allPicIds", getAllPicIds()) - .append("allPics", getAllPics()) - .append("errorCorrect", getErrorCorrect()) - .append("auditStatus", getAuditStatus()) - .append("auditName", getAuditName()) - .append("auditResult", getAuditResult()) - .append("auditReason", getAuditReason()) - .append("remark", getRemark()) - .append("createBy", getCreateBy()) - .append("createTime", getCreateTime()) - .append("updateBy", getUpdateBy()) - .append("updateTime", getUpdateTime()) - .toString(); + .append("id", getId()) + .append("ywType", getYwType()) + .append("muId", getMuId()) + .append("num", getNum()) + .append("name", getName()) + .append("cardId", getCardId()) + .append("address", getAddress()) + .append("djJg", getDjJg()) + .append("relation1", getRelation1()) + .append("name1", getName1()) + .append("sex1", getSex1()) + .append("birthDate1", getBirthDate1()) + .append("cardId1", getCardId1()) + .append("relation2", getRelation2()) + .append("name2", getName2()) + .append("sex2", getSex2()) + .append("birthDate2", getBirthDate2()) + .append("cardId2", getCardId2()) + .append("relation3", getRelation3()) + .append("name3", getName3()) + .append("birthDate3", getBirthDate3()) + .append("sex3", getSex3()) + .append("cardId3", getCardId3()) + .append("relation4", getRelation4()) + .append("name4", getName4()) + .append("sex4", getSex4()) + .append("birthDate4", getBirthDate4()) + .append("cardId4", getCardId4()) + .append("fwdw", getFwdw()) + .append("qrAddress", getQrAddress()) + .append("zqReason", getZqReason()) + .append("pzjg", getPzjg()) + .append("cbr", getCbr()) + .append("qfDate", getQfDate()) + .append("picIds", getPicIds()) + .append("pictures", getPictures()) + .append("allPicIds", getAllPicIds()) + .append("allPics", getAllPics()) + .append("errorCorrect", getErrorCorrect()) + .append("auditStatus", getAuditStatus()) + .append("auditName", getAuditName()) + .append("auditResult", getAuditResult()) + .append("auditReason", getAuditReason()) + .append("remark", getRemark()) + .append("createBy", getCreateBy()) + .append("createTime", getCreateTime()) + .append("updateBy", getUpdateBy()) + .append("updateTime", getUpdateTime()) + .toString(); } } diff --git a/dangan-dangan/src/main/resources/mapper/dangan/DaZqzMapper.xml b/dangan-dangan/src/main/resources/mapper/dangan/DaZqzMapper.xml index 0d4ac76..d1a8440 100644 --- a/dangan-dangan/src/main/resources/mapper/dangan/DaZqzMapper.xml +++ b/dangan-dangan/src/main/resources/mapper/dangan/DaZqzMapper.xml @@ -3,7 +3,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> - + @@ -16,18 +16,22 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" + + + + @@ -52,7 +56,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" - select id, yw_type, mu_id, num, name, card_id, address, dj_jg, relation1, name1, sex1, card_id1, relation2, name2, sex2, card_id2, relation3, name3, sex3, card_id3, relation4, name4, sex4, card_id4, fwdw, qr_address, zq_reason, pzjg, cbr, qf_date, pic_ids, pictures, all_pic_ids, all_pics, error_correct, audit_status, audit_name, audit_result, audit_reason, remark, create_by, create_time, update_by, update_time from da_zqz + select id, yw_type, mu_id, num, name, card_id, address, dj_jg, relation1, name1, sex1, birth_date1, card_id1, relation2, name2, sex2, birth_date2, card_id2, relation3, name3, birth_date3, sex3, card_id3, relation4, name4, sex4, birth_date4, card_id4, fwdw, qr_address, zq_reason, pzjg, cbr, qf_date, pic_ids, pictures, all_pic_ids, all_pics, error_correct, audit_status, audit_name, audit_result, audit_reason, remark, create_by, create_time, update_by, update_time from da_zqz @@ -38,6 +39,7 @@ and da_jl_id = #{daJlId} and yw_type = #{ywType} and recognize = #{recognize} + and error_correct = #{errorCorrect} order by id DESC @@ -59,6 +61,7 @@ yw_type, da_jl_id, recognize, + error_correct, remark, create_by, create_time, @@ -75,6 +78,7 @@ #{ywType}, #{daJlId}, #{recognize}, + #{errorCorrect}, #{remark}, #{createBy}, #{createTime}, @@ -95,6 +99,7 @@ yw_type = #{ywType}, da_jl_id = #{daJlId}, recognize = #{recognize}, + error_correct = #{errorCorrect}, remark = #{remark}, create_by = #{createBy}, create_time = #{createTime}, From c0e8360c60330099c11558839de4a03e7a84336a Mon Sep 17 00:00:00 2001 From: hansha Date: Mon, 17 Jun 2024 09:45:17 +0800 Subject: [PATCH 5/5] =?UTF-8?q?=E7=BA=A0=E9=94=99=E6=97=B6=E5=90=8C?= =?UTF-8?q?=E6=AD=A5=E5=AF=B9=E5=BA=94=E5=9B=BE=E7=89=87=E7=9A=84=E7=BA=A0?= =?UTF-8?q?=E9=94=99=E6=A0=87=E8=AF=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/DaBirthDjServiceImpl.java | 19 ++++++++++++- .../service/impl/DaCzrkdjServiceImpl.java | 20 +++++++++++-- .../dangan/service/impl/DaQyzServiceImpl.java | 19 ++++++++++++- .../service/impl/DaYtzmServiceImpl.java | 28 +++++++++++++++---- .../service/impl/DaZfnyhkcgServiceImpl.java | 28 +++++++++++++++---- .../dangan/service/impl/DaZqzServiceImpl.java | 28 +++++++++++++++---- 6 files changed, 123 insertions(+), 19 deletions(-) diff --git a/dangan-dangan/src/main/java/com/da/dangan/service/impl/DaBirthDjServiceImpl.java b/dangan-dangan/src/main/java/com/da/dangan/service/impl/DaBirthDjServiceImpl.java index 9dbfa45..09ec31c 100644 --- a/dangan-dangan/src/main/java/com/da/dangan/service/impl/DaBirthDjServiceImpl.java +++ b/dangan-dangan/src/main/java/com/da/dangan/service/impl/DaBirthDjServiceImpl.java @@ -2,10 +2,13 @@ package com.da.dangan.service.impl; import com.da.common.utils.DateUtils; import com.da.dangan.domain.DaBirthDj; +import com.da.dangan.domain.DaPicturesRecard; import com.da.dangan.mapper.DaBirthDjMapper; +import com.da.dangan.mapper.DaPicturesRecardMapper; import com.da.dangan.service.IDaBirthDjService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; import java.util.List; @@ -20,7 +23,8 @@ public class DaBirthDjServiceImpl implements IDaBirthDjService { @Autowired private DaBirthDjMapper daBirthDjMapper; - + @Autowired + private DaPicturesRecardMapper daPicturesRecardMapper; /** * 查询出生登记 * @@ -65,8 +69,21 @@ public class DaBirthDjServiceImpl implements IDaBirthDjService * @return 结果 */ @Override + @Transactional public int updateDaBirthDj(DaBirthDj daBirthDj) { + //修改纠错时 同步修改对应识别图片的纠错标识 + if(daBirthDj.getErrorCorrect().equals("1")){ + String picIds = daBirthDj.getPicIds(); + String[] split = picIds.split(","); + for(String picId :split){ + Long picid = Long.parseLong(picId); + DaPicturesRecard picturesRecard = new DaPicturesRecard(); + picturesRecard.setId(picid); + picturesRecard.setErrorCorrect("1"); + daPicturesRecardMapper.updateDaPicturesRecard(picturesRecard); + } + } daBirthDj.setUpdateTime(DateUtils.getNowDate()); return daBirthDjMapper.updateDaBirthDj(daBirthDj); } diff --git a/dangan-dangan/src/main/java/com/da/dangan/service/impl/DaCzrkdjServiceImpl.java b/dangan-dangan/src/main/java/com/da/dangan/service/impl/DaCzrkdjServiceImpl.java index b1db30e..4f603cb 100644 --- a/dangan-dangan/src/main/java/com/da/dangan/service/impl/DaCzrkdjServiceImpl.java +++ b/dangan-dangan/src/main/java/com/da/dangan/service/impl/DaCzrkdjServiceImpl.java @@ -2,10 +2,13 @@ package com.da.dangan.service.impl; import com.da.common.utils.DateUtils; import com.da.dangan.domain.DaCzrkdj; +import com.da.dangan.domain.DaPicturesRecard; import com.da.dangan.mapper.DaCzrkdjMapper; +import com.da.dangan.mapper.DaPicturesRecardMapper; import com.da.dangan.service.IDaCzrkdjService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; import java.util.List; @@ -20,7 +23,8 @@ public class DaCzrkdjServiceImpl implements IDaCzrkdjService { @Autowired private DaCzrkdjMapper daCzrkdjMapper; - + @Autowired + private DaPicturesRecardMapper daPicturesRecardMapper; /** * 查询常住人口登记 * @@ -65,8 +69,20 @@ public class DaCzrkdjServiceImpl implements IDaCzrkdjService * @return 结果 */ @Override + @Transactional public int updateDaCzrkdj(DaCzrkdj daCzrkdj) - { + { //修改纠错时 同步修改对应识别图片的纠错标识 + if(daCzrkdj.getErrorCorrect().equals("1")){ + String picIds = daCzrkdj.getPicIds(); + String[] split = picIds.split(","); + for(String picId :split){ + Long picid = Long.parseLong(picId); + DaPicturesRecard picturesRecard = new DaPicturesRecard(); + picturesRecard.setId(picid); + picturesRecard.setErrorCorrect("1"); + daPicturesRecardMapper.updateDaPicturesRecard(picturesRecard); + } + } daCzrkdj.setUpdateTime(DateUtils.getNowDate()); return daCzrkdjMapper.updateDaCzrkdj(daCzrkdj); } diff --git a/dangan-dangan/src/main/java/com/da/dangan/service/impl/DaQyzServiceImpl.java b/dangan-dangan/src/main/java/com/da/dangan/service/impl/DaQyzServiceImpl.java index d5319b1..b012cbc 100644 --- a/dangan-dangan/src/main/java/com/da/dangan/service/impl/DaQyzServiceImpl.java +++ b/dangan-dangan/src/main/java/com/da/dangan/service/impl/DaQyzServiceImpl.java @@ -1,11 +1,14 @@ package com.da.dangan.service.impl; import com.da.common.utils.DateUtils; +import com.da.dangan.domain.DaPicturesRecard; import com.da.dangan.domain.DaQyz; +import com.da.dangan.mapper.DaPicturesRecardMapper; import com.da.dangan.mapper.DaQyzMapper; import com.da.dangan.service.IDaQyzService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; import java.util.List; @@ -20,7 +23,8 @@ public class DaQyzServiceImpl implements IDaQyzService { @Autowired private DaQyzMapper daQyzMapper; - + @Autowired + private DaPicturesRecardMapper daPicturesRecardMapper; /** * 查询迁移证 * @@ -65,8 +69,21 @@ public class DaQyzServiceImpl implements IDaQyzService * @return 结果 */ @Override + @Transactional public int updateDaQyz(DaQyz daQyz) { + //修改纠错时 同步修改对应识别图片的纠错标识 + if(daQyz.getErrorCorrect().equals("1")){ + String picIds = daQyz.getPicIds(); + String[] split = picIds.split(","); + for(String picId :split){ + Long picid = Long.parseLong(picId); + DaPicturesRecard picturesRecard = new DaPicturesRecard(); + picturesRecard.setId(picid); + picturesRecard.setErrorCorrect("1"); + daPicturesRecardMapper.updateDaPicturesRecard(picturesRecard); + } + } daQyz.setUpdateTime(DateUtils.getNowDate()); return daQyzMapper.updateDaQyz(daQyz); } diff --git a/dangan-dangan/src/main/java/com/da/dangan/service/impl/DaYtzmServiceImpl.java b/dangan-dangan/src/main/java/com/da/dangan/service/impl/DaYtzmServiceImpl.java index a9d428b..ec191c3 100644 --- a/dangan-dangan/src/main/java/com/da/dangan/service/impl/DaYtzmServiceImpl.java +++ b/dangan-dangan/src/main/java/com/da/dangan/service/impl/DaYtzmServiceImpl.java @@ -1,12 +1,16 @@ package com.da.dangan.service.impl; -import java.util.List; import com.da.common.utils.DateUtils; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; -import com.da.dangan.mapper.DaYtzmMapper; +import com.da.dangan.domain.DaPicturesRecard; import com.da.dangan.domain.DaYtzm; +import com.da.dangan.mapper.DaPicturesRecardMapper; +import com.da.dangan.mapper.DaYtzmMapper; import com.da.dangan.service.IDaYtzmService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.List; /** * 一胎证明Service业务层处理 @@ -19,7 +23,8 @@ public class DaYtzmServiceImpl implements IDaYtzmService { @Autowired private DaYtzmMapper daYtzmMapper; - + @Autowired + private DaPicturesRecardMapper daPicturesRecardMapper; /** * 查询一胎证明 * @@ -64,8 +69,21 @@ public class DaYtzmServiceImpl implements IDaYtzmService * @return 结果 */ @Override + @Transactional public int updateDaYtzm(DaYtzm daYtzm) { + //修改纠错时 同步修改对应识别图片的纠错标识 + if(daYtzm.getErrorCorrect().equals("1")){ + String picIds = daYtzm.getPicIds(); + String[] split = picIds.split(","); + for(String picId :split){ + Long picid = Long.parseLong(picId); + DaPicturesRecard picturesRecard = new DaPicturesRecard(); + picturesRecard.setId(picid); + picturesRecard.setErrorCorrect("1"); + daPicturesRecardMapper.updateDaPicturesRecard(picturesRecard); + } + } daYtzm.setUpdateTime(DateUtils.getNowDate()); return daYtzmMapper.updateDaYtzm(daYtzm); } diff --git a/dangan-dangan/src/main/java/com/da/dangan/service/impl/DaZfnyhkcgServiceImpl.java b/dangan-dangan/src/main/java/com/da/dangan/service/impl/DaZfnyhkcgServiceImpl.java index 95d5bfc..19793e5 100644 --- a/dangan-dangan/src/main/java/com/da/dangan/service/impl/DaZfnyhkcgServiceImpl.java +++ b/dangan-dangan/src/main/java/com/da/dangan/service/impl/DaZfnyhkcgServiceImpl.java @@ -1,12 +1,16 @@ package com.da.dangan.service.impl; -import java.util.List; import com.da.common.utils.DateUtils; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; -import com.da.dangan.mapper.DaZfnyhkcgMapper; +import com.da.dangan.domain.DaPicturesRecard; import com.da.dangan.domain.DaZfnyhkcg; +import com.da.dangan.mapper.DaPicturesRecardMapper; +import com.da.dangan.mapper.DaZfnyhkcgMapper; import com.da.dangan.service.IDaZfnyhkcgService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.List; /** * 转非农业人口批复存根Service业务层处理 @@ -19,7 +23,8 @@ public class DaZfnyhkcgServiceImpl implements IDaZfnyhkcgService { @Autowired private DaZfnyhkcgMapper daZfnyhkcgMapper; - + @Autowired + private DaPicturesRecardMapper daPicturesRecardMapper; /** * 查询转非农业人口批复存根 * @@ -64,8 +69,21 @@ public class DaZfnyhkcgServiceImpl implements IDaZfnyhkcgService * @return 结果 */ @Override + @Transactional public int updateDaZfnyhkcg(DaZfnyhkcg daZfnyhkcg) { + //修改纠错时 同步修改对应识别图片的纠错标识 + if(daZfnyhkcg.getErrorCorrect().equals("1")){ + String picIds = daZfnyhkcg.getPicIds(); + String[] split = picIds.split(","); + for(String picId :split){ + Long picid = Long.parseLong(picId); + DaPicturesRecard picturesRecard = new DaPicturesRecard(); + picturesRecard.setId(picid); + picturesRecard.setErrorCorrect("1"); + daPicturesRecardMapper.updateDaPicturesRecard(picturesRecard); + } + } daZfnyhkcg.setUpdateTime(DateUtils.getNowDate()); return daZfnyhkcgMapper.updateDaZfnyhkcg(daZfnyhkcg); } diff --git a/dangan-dangan/src/main/java/com/da/dangan/service/impl/DaZqzServiceImpl.java b/dangan-dangan/src/main/java/com/da/dangan/service/impl/DaZqzServiceImpl.java index c3ce25e..18bdcce 100644 --- a/dangan-dangan/src/main/java/com/da/dangan/service/impl/DaZqzServiceImpl.java +++ b/dangan-dangan/src/main/java/com/da/dangan/service/impl/DaZqzServiceImpl.java @@ -1,12 +1,16 @@ package com.da.dangan.service.impl; -import java.util.List; import com.da.common.utils.DateUtils; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; -import com.da.dangan.mapper.DaZqzMapper; +import com.da.dangan.domain.DaPicturesRecard; import com.da.dangan.domain.DaZqz; +import com.da.dangan.mapper.DaPicturesRecardMapper; +import com.da.dangan.mapper.DaZqzMapper; import com.da.dangan.service.IDaZqzService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.List; /** * 准迁证Service业务层处理 @@ -19,7 +23,8 @@ public class DaZqzServiceImpl implements IDaZqzService { @Autowired private DaZqzMapper daZqzMapper; - + @Autowired + private DaPicturesRecardMapper daPicturesRecardMapper; /** * 查询准迁证 * @@ -64,8 +69,21 @@ public class DaZqzServiceImpl implements IDaZqzService * @return 结果 */ @Override + @Transactional public int updateDaZqz(DaZqz daZqz) { + //修改纠错时 同步修改对应识别图片的纠错标识 + if(daZqz.getErrorCorrect().equals("1")){ + String picIds = daZqz.getPicIds(); + String[] split = picIds.split(","); + for(String picId :split){ + Long picid = Long.parseLong(picId); + DaPicturesRecard picturesRecard = new DaPicturesRecard(); + picturesRecard.setId(picid); + picturesRecard.setErrorCorrect("1"); + daPicturesRecardMapper.updateDaPicturesRecard(picturesRecard); + } + } daZqz.setUpdateTime(DateUtils.getNowDate()); return daZqzMapper.updateDaZqz(daZqz); }