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