Bladeren bron

添加拼音码修复接口

lighter 3 jaren geleden
bovenliggende
commit
bedc645272

+ 8 - 0
src/main/java/thyyxxk/webserver/controller/PublicController.java

@@ -84,4 +84,12 @@ public class PublicController {
         return ResultVoUtil.success(service.huoQuYuanGongXinXi(code));
     }
 
+    @PassToken
+    @GetMapping("/makePyCode")
+    public ResultVo<String> makePyCode(@RequestParam("tableName") String tableName,
+                                       @RequestParam("idColumn") String idColumn,
+                                       @RequestParam("nameColumn") String nameColumn,
+                                       @RequestParam("pyColumn") String pyColumn) {
+        return service.makePyCode(tableName, idColumn, nameColumn, pyColumn);
+    }
 }

+ 13 - 0
src/main/java/thyyxxk/webserver/dao/his/PublicDao.java

@@ -6,6 +6,7 @@ import org.apache.ibatis.annotations.*;
 import thyyxxk.webserver.entity.casefrontsheet.YshHzRecord;
 import thyyxxk.webserver.entity.datamodify.GetDropdownBox;
 import thyyxxk.webserver.entity.datamodify.ZyDetailCharge;
+import thyyxxk.webserver.entity.dictionary.PureCodeName;
 import thyyxxk.webserver.entity.login.UserInfo;
 import thyyxxk.webserver.entity.socketmessage.SocketMessage;
 import thyyxxk.webserver.entity.yibao.ZyActpatient;
@@ -396,4 +397,16 @@ public interface PublicDao {
             "</script>"})
     void chaRuJieShouShuJu(@Param("list") List<SocketMessage> list);
 
+    @Select("select rtrim(${id}) as code, rtrim(${name}) as name from ${table} where isnull(${pyColumn}, '')='' ")
+    List<PureCodeName> originalList(@Param("table") String table,
+                                    @Param("id") String id,
+                                    @Param("name") String name,
+                                    @Param("pyColumn") String pyColumn);
+
+    @Update("update ${table} set ${pyColumn}='${pyCode}' where ${idColumn}='${id}' ")
+    void updatePycode(@Param("table") String table,
+                      @Param("idColumn") String idColumn,
+                      @Param("id") String id,
+                      @Param("pyColumn") String pyColumn,
+                      @Param("pyCode") String pyCode);
 }

+ 13 - 1
src/main/java/thyyxxk/webserver/service/PublicServer.java

@@ -17,6 +17,7 @@ import thyyxxk.webserver.entity.ResultVo;
 import thyyxxk.webserver.entity.casefrontsheet.YshHzRecord;
 import thyyxxk.webserver.entity.datamodify.GetDropdownBox;
 import thyyxxk.webserver.entity.datamodify.ZyDetailCharge;
+import thyyxxk.webserver.entity.dictionary.PureCodeName;
 import thyyxxk.webserver.entity.login.UserInfo;
 import thyyxxk.webserver.entity.socketmessage.SocketMessage;
 import thyyxxk.webserver.entity.yibao.ZyActpatient;
@@ -571,6 +572,17 @@ public class PublicServer {
 
     }
 
-
+    public ResultVo<String> makePyCode(String tableName, String idColumn, String nameColumn, String pyColumn) {
+        List<PureCodeName> list = dao.originalList(tableName, idColumn, nameColumn, pyColumn);
+        if (null == list || list.isEmpty()) {
+            return ResultVoUtil.fail(ExceptionEnum.NO_DATA_EXIST, "没有需要更改的数据。");
+        }
+        for (PureCodeName item : list) {
+            String pycode = PingYinUtils.pyShouZiMuDaXie(item.getName());
+            dao.updatePycode(tableName, idColumn, item.getCode(), pyColumn, pycode);
+            log.info("修复:{},{},{}", item.getCode(), item.getName(), pycode);
+        }
+        return ResultVoUtil.success("修复拼音码成功,共修复 " + list.size() + " 条。");
+    }
 }
 

+ 1 - 0
src/main/java/thyyxxk/webserver/utils/PingYinUtils.java

@@ -188,6 +188,7 @@ public class PingYinUtils {
         if (StringUtil.isBlank(str)) {
             return convert.toString();
         }
+        str = str.replaceAll("\\p{P}", "");
         for (int j = 0; j < str.length(); j++) {
             char word = str.charAt(j);
             String[] pinyinArray = PinyinHelper.toHanyuPinyinStringArray(word);