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