diff --git a/pom.xml b/pom.xml
index c5d8446..5d8d38d 100644
--- a/pom.xml
+++ b/pom.xml
@@ -93,6 +93,12 @@
fastjson
2.0.38
+
+
+ com.belerweb
+ pinyin4j
+ 2.5.0
+
io.springfox
springfox-swagger2
diff --git a/src/main/java/com/syjiaer/clinic/server/common/util/PinYinUtil.java b/src/main/java/com/syjiaer/clinic/server/common/util/PinYinUtil.java
new file mode 100644
index 0000000..d0ba996
--- /dev/null
+++ b/src/main/java/com/syjiaer/clinic/server/common/util/PinYinUtil.java
@@ -0,0 +1,68 @@
+package com.syjiaer.clinic.server.common.util;
+
+import net.sourceforge.pinyin4j.PinyinHelper;
+import net.sourceforge.pinyin4j.format.HanyuPinyinCaseType;
+import net.sourceforge.pinyin4j.format.HanyuPinyinOutputFormat;
+import net.sourceforge.pinyin4j.format.HanyuPinyinToneType;
+import net.sourceforge.pinyin4j.format.exception.BadHanyuPinyinOutputFormatCombination;
+
+
+public class PinYinUtil {
+ public static String getPinyinFull(String inputString) {
+ HanyuPinyinOutputFormat format = new HanyuPinyinOutputFormat();
+ format.setCaseType(HanyuPinyinCaseType.LOWERCASE); // 小写
+ format.setToneType(HanyuPinyinToneType.WITHOUT_TONE); // 不带声调
+
+ StringBuilder sb = new StringBuilder();
+ for (char c : inputString.toCharArray()) {
+ if (Character.isWhitespace(c)) {
+ continue; // 跳过空格
+ }
+ if (c > 127 || (c >= '\u4E00' && c <= '\u9FA5')) { // 中文字符
+ try {
+ String[] pinyinArray = PinyinHelper.toHanyuPinyinStringArray(c, format);
+ if (pinyinArray != null) {
+ sb.append(pinyinArray[0]);
+ }
+ } catch (BadHanyuPinyinOutputFormatCombination e) {
+ e.printStackTrace();
+ }
+ } else {
+ sb.append(c); // 非中文字符直接追加
+ }
+ }
+ return sb.toString();
+ }
+
+ /**
+ * 获取字符串的拼音首字母
+ *
+ * @param inputString 输入字符串
+ * @return 拼音首字母字符串
+ */
+ public static String getPinyinFirstLetters(String inputString) {
+ HanyuPinyinOutputFormat format = new HanyuPinyinOutputFormat();
+ format.setCaseType(HanyuPinyinCaseType.UPPERCASE); // 大写
+ format.setToneType(HanyuPinyinToneType.WITHOUT_TONE); // 不带声调
+
+ StringBuilder sb = new StringBuilder();
+ for (char c : inputString.toCharArray()) {
+ if (Character.isWhitespace(c)) {
+ continue; // 跳过空格
+ }
+ if (c > 127 || (c >= '\u4E00' && c <= '\u9FA5')) { // 中文字符
+ try {
+ String[] pinyinArray = PinyinHelper.toHanyuPinyinStringArray(c, format);
+ if (pinyinArray != null) {
+ sb.append(pinyinArray[0].charAt(0)); // 取第一个字母
+ }
+ } catch (BadHanyuPinyinOutputFormatCombination e) {
+ e.printStackTrace();
+ }
+ } else {
+ sb.append(c); // 非中文字符直接追加
+ }
+ }
+ return sb.toString();
+ }
+}