From 7991fb716e365ba4551d7bad91d4a23e93e79c45 Mon Sep 17 00:00:00 2001 From: haotianmingyue <2421912570@qq.com> Date: Sat, 26 Oct 2024 15:38:46 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9getliuge=E4=B8=AD=20=E4=BB=8E?= =?UTF-8?q?=E6=95=B0=E6=8D=AE=E5=BA=93=E6=9F=A5=E8=AF=A2=E7=AC=94=E7=94=BB?= =?UTF-8?q?=E7=9A=84=E6=96=B9=E6=B3=95=EF=BC=8C=E7=8E=B0=E5=9C=A8selectKxH?= =?UTF-8?q?anziByhanziandtype=E6=A0=B9=E6=8D=AE=E6=B1=89=E5=AD=97=E5=92=8C?= =?UTF-8?q?=E5=AE=83=E6=98=AF=E5=A7=93=E8=BF=98=E6=98=AF=E5=90=8D=E6=9F=A5?= =?UTF-8?q?=E8=AF=A2=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../xmComtroller/ApiController.java | 3 + .../xmComtroller/CalculateController.java | 28 ++++++++- .../ruoyi/system/mapper/KxHanziMapper.java | 2 + .../ruoyi/system/service/IHanziService.java | 2 + .../system/service/impl/HanziServiceImpl.java | 60 +++++++++++++++++++ .../resources/mapper/system/KxHanziMapper.xml | 6 ++ 6 files changed, 99 insertions(+), 2 deletions(-) diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/xmComtroller/ApiController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/xmComtroller/ApiController.java index f260c4c6..bcc6d174 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/xmComtroller/ApiController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/xmComtroller/ApiController.java @@ -132,12 +132,15 @@ public class ApiController extends BaseController { public AjaxResult login(@RequestBody XmLoginDto xmLoginDto) throws Exception { // 生成令牌 System.out.println("登录者手机"+xmLoginDto.getPhone()); + + //---------------------------20241026 先注释掉短信验证------------------------------------ String sms = redisCache.getCacheObject("SMSCODE:" + xmLoginDto.getPhone()); System.out.println("SMSCODE:" + xmLoginDto.getPhone()); System.out.println("验证码"+sms); if (!sms.equals(xmLoginDto.getSmsCode())) { return AjaxResult.error("短信验证码错误"); } + //-------------------------------end 验证码-------------------------------- SysUser sysUser = sysUserService.selectUserByUserName(xmLoginDto.getPhone()); System.out.println(sysUser); if (sysUser == null) { diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/xmComtroller/CalculateController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/xmComtroller/CalculateController.java index a2b16545..490f1508 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/xmComtroller/CalculateController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/xmComtroller/CalculateController.java @@ -104,8 +104,27 @@ public class CalculateController extends BaseController { return AjaxResult.error(500,"请输入正确姓氏"); } List nameList = XMUtil.splitChineseCharacters(xmDto.getName()); + + + + //-------------------------------------20241026修改-------------------------------------------- + // 获取姓是单还是双, 根据字的属于姓还是M返回不同的笔画 + String type = nameMap.get("TYPE"); + String xm = type.substring(0, 1); + String t; + if(xm.equals("D")){ + t = "M"; + } + else { + t = "X"; + } + + // 新的笔画列表 + List newbiHuaList = hanziService.selectKxHanziByhanziandtype(oldBihuaList, nameList, t); + //查找康熙字典的笔画 - List newbiHuaList = hanziService.selectKxHanziByhanzi(oldBihuaList, nameList); +// List newbiHuaList = hanziService.selectKxHanziByhanzi(oldBihuaList, nameList); + //---------------------------------end 20241026修改----------------------------------------------- // 获取六格 liugeVo = XMUtil.getliuge(newbiHuaList, nameMap); @@ -146,8 +165,13 @@ public class CalculateController extends BaseController { List nameList = XMUtil.splitChineseCharacters(xmDto.getName()); - List newbiHuaList = hanziService.selectKxHanziByhanzi(oldBihuaList, nameList); + //-------------------------------------20241026修改-------------------------------------------- + // 获取姓是单还是双, 根据字的属于姓还是M返回不同的笔画 + // 新的笔画列表,由于一定是复姓,所以这里 第二个字一定是 X + List newbiHuaList = hanziService.selectKxHanziByhanziandtype(oldBihuaList, nameList, "X"); +// List newbiHuaList = hanziService.selectKxHanziByhanzi(oldBihuaList, nameList); + //----------------------------------end 20241026修改------------------------------------ int size = oldBihuaList.size(); if (size == 3) { nameMap.put("X",xmDto.getName().substring(0,2)); diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/mapper/KxHanziMapper.java b/ruoyi-system/src/main/java/com/ruoyi/system/mapper/KxHanziMapper.java index 5cb700d5..fc85d27c 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/mapper/KxHanziMapper.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/mapper/KxHanziMapper.java @@ -61,4 +61,6 @@ public interface KxHanziMapper public int deleteKxHanziByIds(Long[] ids); KxHanzi selectKxHanziByhanzi(@Param("hanzi") String hanzi); + + KxHanzi selectKxHanziByhanziandtype(@Param("hanzi") String hanzi,@Param("type") String type); } diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/IHanziService.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/IHanziService.java index 79dbdc1a..a1754a8e 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/service/IHanziService.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/IHanziService.java @@ -60,4 +60,6 @@ public interface IHanziService public int deleteHanziById(Integer id); List selectKxHanziByhanzi(List oldbihuaList,List nameList); + + List selectKxHanziByhanziandtype(List oldbihuaList,List nameList,String type); } diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/HanziServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/HanziServiceImpl.java index bf227cb1..ee9abde4 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/HanziServiceImpl.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/HanziServiceImpl.java @@ -106,6 +106,66 @@ public class HanziServiceImpl implements IHanziService { // 优先按照燕氏姓名学查找 // System.out.println("查找名字:" + nameList.get(i) ); KxHanzi kxHanzi = kxHanziMapper.selectKxHanziByhanzi(nameList.get(i)); +// System.out.println("yanshi表查到名字:" + nameList.get(i) + "数据库中的笔画:"+kxHanzi.getKxBihua()); + if (kxHanzi == null || kxHanzi.getKxBihua() == null) { +// 普通数据查找笔画 + Hanzi hanziEntity = hanziMapper.selectKxHanziByhanzi(nameList.get(i)); + if (hanziEntity != null) { + if (hanziEntity.getKxBihua() != 0) { + biHuaList.add(hanziEntity.getKxBihua()); +// System.out.println("查到名字:" + nameList.get(i) + "数据库中的笔画:" + hanziEntity.getKxBihua()); + } else if (hanziEntity.getFtZongbihua() != 0) { + biHuaList.add(hanziEntity.getFtZongbihua()); +// System.out.println("查到名字:" + nameList.get(i) + "数据库中的笔画:" + hanziEntity.getFtZongbihua()); + } else if (hanziEntity.getJtZongbihua() != 0) { + biHuaList.add(hanziEntity.getJtZongbihua()); +// System.out.println("查到名字:" + nameList.get(i) + "数据库中的笔画:" + hanziEntity.getJtZongbihua()); + } + } else if (oldbihuaList.get(i) != null) { + biHuaList.add(oldbihuaList.get(i)); +// System.out.println("查到名字:" + nameList.get(i) + "后端数据库无数据,使用前端给出的笔画:" + oldbihuaList.get(i)); + } else { + biHuaList.add(0); + } + } else { + biHuaList.add(kxHanzi.getKxBihua()); + } + } + } + return biHuaList; + } + /* + * 根据字和他属于X/M返回不同的笔画 + * */ + @Override + public List selectKxHanziByhanziandtype(List oldbihuaList, List nameList, String type) { + List biHuaList = new ArrayList<>(); + if (nameList != null && nameList.size() > 0) { + for (int i = 0; i < nameList.size(); i++) { + // 输出前端笔画 + oldbihuaList.forEach(qianduan_bihua -> { + System.out.println(qianduan_bihua); + }); + + KxHanzi kxHanzi; + + if(i==0){ + kxHanzi = kxHanziMapper.selectKxHanziByhanziandtype(nameList.get(i), "X"); + } + else if(i==1){ + kxHanzi = kxHanziMapper.selectKxHanziByhanziandtype(nameList.get(i), type); + } + else{ + kxHanzi = kxHanziMapper.selectKxHanziByhanziandtype(nameList.get(i), "M"); + } + + + /** + * 先后端判断查找燕氏姓名学kx_hanzi表,若无相应的笔画,则查找普通汉字表,若若无相应的笔画,则使用前端给出的笔画 + */ +// 优先按照燕氏姓名学查找 +// System.out.println("查找名字:" + nameList.get(i) ); +// KxHanzi kxHanzi = kxHanziMapper.selectKxHanziByhanzi(nameList.get(i)); // System.out.println("yanshi表查到名字:" + nameList.get(i) + "数据库中的笔画:"+kxHanzi.getKxBihua()); if (kxHanzi == null || kxHanzi.getKxBihua() == null) { // 普通数据查找笔画 diff --git a/ruoyi-system/src/main/resources/mapper/system/KxHanziMapper.xml b/ruoyi-system/src/main/resources/mapper/system/KxHanziMapper.xml index f63599c1..b08cb4fe 100644 --- a/ruoyi-system/src/main/resources/mapper/system/KxHanziMapper.xml +++ b/ruoyi-system/src/main/resources/mapper/system/KxHanziMapper.xml @@ -34,6 +34,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" limit 1 + + insert into kx_hanzi