bonus_houqin
This commit is contained in:
parent
fa901ec458
commit
dc5b5d538e
|
|
@ -61,6 +61,11 @@ public class SysUser extends BaseEntity {
|
||||||
@Excel(name = "用户名称")
|
@Excel(name = "用户名称")
|
||||||
private String nickName;
|
private String nickName;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 用户昵称的拼音
|
||||||
|
*/
|
||||||
|
private String nickNameLike;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 用户邮箱
|
* 用户邮箱
|
||||||
*/
|
*/
|
||||||
|
|
@ -211,7 +216,7 @@ public class SysUser extends BaseEntity {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Xss(message = "用户昵称不能包含脚本字符")
|
@Xss(message = "用户昵称不能包含脚本字符")
|
||||||
@Size(min = 0, max = 20, message = "用户昵称长度不能超过20个字符")
|
@Size(min = 0, max = 200, message = "用户昵称长度不能超过200个字符")
|
||||||
public String getNickName() {
|
public String getNickName() {
|
||||||
return nickName;
|
return nickName;
|
||||||
}
|
}
|
||||||
|
|
@ -220,6 +225,14 @@ public class SysUser extends BaseEntity {
|
||||||
this.nickName = nickName;
|
this.nickName = nickName;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public String getNickNameLike() {
|
||||||
|
return nickNameLike;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setNickNameLike(String nickNameLike) {
|
||||||
|
this.nickNameLike = nickNameLike;
|
||||||
|
}
|
||||||
|
|
||||||
@Xss(message = "用户账号不能包含脚本字符")
|
@Xss(message = "用户账号不能包含脚本字符")
|
||||||
@NotBlank(message = "用户账号不能为空")
|
@NotBlank(message = "用户账号不能为空")
|
||||||
@Size(min = 0, max = 20, message = "用户账号长度不能超过20个字符")
|
@Size(min = 0, max = 20, message = "用户账号长度不能超过20个字符")
|
||||||
|
|
|
||||||
|
|
@ -174,6 +174,11 @@
|
||||||
<version>33.0.0-jre</version>
|
<version>33.0.0-jre</version>
|
||||||
<scope>compile</scope>
|
<scope>compile</scope>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>com.belerweb</groupId>
|
||||||
|
<artifactId>pinyin4j</artifactId>
|
||||||
|
<version>2.5.0</version>
|
||||||
|
</dependency>
|
||||||
</dependencies>
|
</dependencies>
|
||||||
|
|
||||||
</project>
|
</project>
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,44 @@
|
||||||
|
package com.bonus.common.core.utils;
|
||||||
|
|
||||||
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
import net.sourceforge.pinyin4j.PinyinHelper;
|
||||||
|
import net.sourceforge.pinyin4j.format.HanyuPinyinOutputFormat;
|
||||||
|
import net.sourceforge.pinyin4j.format.HanyuPinyinToneType;
|
||||||
|
import net.sourceforge.pinyin4j.format.exception.BadHanyuPinyinOutputFormatCombination;
|
||||||
|
|
||||||
|
@Slf4j
|
||||||
|
public class PinyingUtils {
|
||||||
|
public static String convertToPinyin(String text) {
|
||||||
|
StringBuilder pinyin = new StringBuilder();
|
||||||
|
HanyuPinyinOutputFormat hanyuPinyinOutputFormat = new HanyuPinyinOutputFormat();
|
||||||
|
hanyuPinyinOutputFormat.setToneType(HanyuPinyinToneType.WITHOUT_TONE);
|
||||||
|
for (char ch : text.toCharArray()) {
|
||||||
|
// 只处理中文字符
|
||||||
|
if (Character.toString(ch).matches("[\\u4E00-\\u9FA5]+")) {
|
||||||
|
String[] pinyinArray = new String[0];
|
||||||
|
try {
|
||||||
|
pinyinArray = PinyinHelper.toHanyuPinyinStringArray(ch, hanyuPinyinOutputFormat);
|
||||||
|
if (pinyinArray != null && pinyinArray.length > 0) {
|
||||||
|
pinyin.append(pinyinArray[0]); // 取第一个拼音,通常是标准的普通话拼音
|
||||||
|
} else {
|
||||||
|
pinyin.append(ch); // 如果无法转换,则保留原字符
|
||||||
|
}
|
||||||
|
} catch (BadHanyuPinyinOutputFormatCombination e) {
|
||||||
|
pinyin.append(ch); // 如果无法转换,则保留原字符
|
||||||
|
log.error("拼音转换失败," + ch);
|
||||||
|
}
|
||||||
|
pinyin.append(""); // 添加空格以便区分不同的汉字拼音
|
||||||
|
} else {
|
||||||
|
pinyin.append(ch); // 非中文字符直接添加
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return pinyin.toString().trim(); // 移除尾部的空格
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void main(String[] args) {
|
||||||
|
String text = "盛旭";
|
||||||
|
String pinyin = convertToPinyin(text);
|
||||||
|
System.out.println(pinyin);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
@ -164,4 +164,5 @@ public interface SysUserMapper {
|
||||||
*/
|
*/
|
||||||
public SysUser selectCustInfoByPhoneNumber(@Param("phoneNumber") String phoneNumber);
|
public SysUser selectCustInfoByPhoneNumber(@Param("phoneNumber") String phoneNumber);
|
||||||
|
|
||||||
|
public int updateNickNameLike(SysUser sysUser);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -4,6 +4,7 @@ import com.bonus.common.core.constant.Constants;
|
||||||
import com.bonus.common.core.constant.UserConstants;
|
import com.bonus.common.core.constant.UserConstants;
|
||||||
import com.bonus.common.core.domain.R;
|
import com.bonus.common.core.domain.R;
|
||||||
import com.bonus.common.core.exception.ServiceException;
|
import com.bonus.common.core.exception.ServiceException;
|
||||||
|
import com.bonus.common.core.utils.PinyingUtils;
|
||||||
import com.bonus.common.core.utils.SpringUtils;
|
import com.bonus.common.core.utils.SpringUtils;
|
||||||
import com.bonus.common.core.utils.StringUtils;
|
import com.bonus.common.core.utils.StringUtils;
|
||||||
import com.bonus.common.core.utils.bean.BeanValidators;
|
import com.bonus.common.core.utils.bean.BeanValidators;
|
||||||
|
|
@ -111,6 +112,13 @@ public class SysUserServiceImpl implements ISysUserService {
|
||||||
return sysUsers;
|
return sysUsers;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void updateNickNameLike(List<SysUser> sysUsers) {
|
||||||
|
for (SysUser sysUser : sysUsers) {
|
||||||
|
sysUser.setNickNameLike(PinyingUtils.convertToPinyin(Sm4Utils.custDecrypt(sysUser.getNickName())));
|
||||||
|
int count = userMapper.updateNickNameLike(sysUser);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 根据条件分页查询已分配用户角色列表
|
* 根据条件分页查询已分配用户角色列表
|
||||||
*
|
*
|
||||||
|
|
|
||||||
|
|
@ -382,4 +382,10 @@
|
||||||
</where>
|
</where>
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
|
<!-- 更新nick_name_like -->
|
||||||
|
<delete id="updateNickNameLike" parameterType="com.bonus.system.api.domain.SysUser">
|
||||||
|
update sys_user set nick_name_like = #{nickNameLike}
|
||||||
|
where user_id = #{userId}
|
||||||
|
</delete>
|
||||||
|
|
||||||
</mapper>
|
</mapper>
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue