From fe8ff2ab33050ba8a7bc8418d55b69dd57f703ce Mon Sep 17 00:00:00 2001 From: liyj <1617420630@qq.com> Date: Mon, 16 Jun 2025 17:39:25 +0800 Subject: [PATCH] =?UTF-8?q?=E5=93=81=E7=89=8C=E7=9A=84=E6=8B=BC=E9=9F=B3?= =?UTF-8?q?=E7=94=9F=E6=88=90=E6=8A=A5=E9=94=99=E9=97=AE=E9=A2=98=E8=A7=A3?= =?UTF-8?q?=E5=86=B3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mall/common/utils/TinyPinyinUtils.java | 53 +++++++++++++++++++ .../impl/ShopBaseProductBrandServiceImpl.java | 6 +-- 2 files changed, 55 insertions(+), 4 deletions(-) create mode 100644 mall-common/src/main/java/com/suisung/mall/common/utils/TinyPinyinUtils.java diff --git a/mall-common/src/main/java/com/suisung/mall/common/utils/TinyPinyinUtils.java b/mall-common/src/main/java/com/suisung/mall/common/utils/TinyPinyinUtils.java new file mode 100644 index 00000000..7b55ec54 --- /dev/null +++ b/mall-common/src/main/java/com/suisung/mall/common/utils/TinyPinyinUtils.java @@ -0,0 +1,53 @@ +package com.suisung.mall.common.utils; + +import com.github.promeg.pinyinhelper.Pinyin; + +public class TinyPinyinUtils{ + /** + * 获取汉字全拼 + * @param chinese 中文字符串 + * @return 拼音字符串(小写) + */ + public static String getFullPinyin(String chinese) { + if (chinese == null || chinese.trim().isEmpty()) { + return ""; + } + return Pinyin.toPinyin(chinese, " ").toLowerCase(); + } + + /** + * 获取汉字首字母 + * @param chinese 中文字符串 + * @return 首字母字符串(大写) + */ + public static String getFirstLetters(String chinese) { + if (chinese == null || chinese.trim().isEmpty()) { + return ""; + } + + StringBuilder firstLetters = new StringBuilder(); + for (char c : chinese.toCharArray()) { + if (Pinyin.isChinese(c)) { + String pinyin = Pinyin.toPinyin(c); + if (!pinyin.isEmpty()) { + firstLetters.append(pinyin.charAt(0)); + } + } else { + firstLetters.append(c); + } + } + return firstLetters.toString(); + } + + public static void main(String[] args) { + String text = "其他品牌"; + + System.out.println("全拼: " + getFullPinyin(text)); + // 输出: SHANGPINSHUJUQUANXIANKONGZHI + + System.out.println("首字母: " + getFirstLetters(text)); + + System.out.println("首字母: " + getFullPinyin(text).charAt(0)); + // 输出: SPSJQXKZ + } +} diff --git a/mall-shop/src/main/java/com/suisung/mall/shop/base/service/impl/ShopBaseProductBrandServiceImpl.java b/mall-shop/src/main/java/com/suisung/mall/shop/base/service/impl/ShopBaseProductBrandServiceImpl.java index db14fb44..a27bf765 100644 --- a/mall-shop/src/main/java/com/suisung/mall/shop/base/service/impl/ShopBaseProductBrandServiceImpl.java +++ b/mall-shop/src/main/java/com/suisung/mall/shop/base/service/impl/ShopBaseProductBrandServiceImpl.java @@ -15,6 +15,7 @@ import com.suisung.mall.common.modules.base.ShopBaseProductCategory; import com.suisung.mall.common.utils.CheckUtil; import com.suisung.mall.common.utils.FilterUtils; import com.suisung.mall.common.utils.I18nUtil; +import com.suisung.mall.common.utils.TinyPinyinUtils; import com.suisung.mall.core.web.service.impl.BaseServiceImpl; import com.suisung.mall.shop.base.mapper.ShopBaseProductBrandMapper; import com.suisung.mall.shop.base.service.ShopBaseProductBrandService; @@ -118,11 +119,8 @@ public class ShopBaseProductBrandServiceImpl extends BaseServiceImpl