Commit 6622b4f6 authored by 技术部-任文超's avatar 技术部-任文超

解决WechatUserInfo保存时4字节emoji字符问题

parent 84c878ed
......@@ -502,17 +502,17 @@ public class InnerController implements IBaseController {
addressObj.setUpdateAt(now);
}
addressObj.setUserId(userId);
// 替换所有,UTF-8编码时4字节的Emoji表情字符
addressObj.setProvince(EmojiUtil.filterUnicode4(province));
addressObj.setProvinceCode(provinceCode);
addressObj.setProvince(province);
// 替换所有,UTF-8编码时4字节的Emoji表情字符
addressObj.setCity(EmojiUtil.filterUnicode4(city));
addressObj.setCityCode(cityCode);
addressObj.setCity(city);
// 替换所有,UTF-8编码时4字节的Emoji表情字符
addressObj.setDistrict(EmojiUtil.filterUnicode4(district));
addressObj.setDistrictCode(districtCode);
addressObj.setDistrict(district);
addressObj.setAddress(address);
if (StringUtils.isNotBlank(address)) {
// 替换所有,UTF-8编码时4字节的Emoji表情字符
addressObj.setAddress(EmojiUtil.filterUnicode4(address));
}
// 替换所有,UTF-8编码时4字节的Emoji表情字符
addressObj.setAddress(EmojiUtil.filterUnicode4(address));
addressObj = addressService.save(addressObj);
log.info("保存后地址详情:{}", addressObj);
return JsonResult.buildSuccessResult(null, AddressRet.address2AddressRet(addressObj));
......
......@@ -244,12 +244,6 @@ public class WeChatController implements IBaseController {
redirectNormalUrl(response, merchant, registerFrom, domain);
return;
}
// 微信用户首次登录界面, 首先保存userInfo, 跳入到微信注册登录界面
if (StringUtils.isNotBlank(userInfo.getNickName())) {
// 替换所有,UTF-8编码时4字节的Emoji表情字符
String nickName = EmojiUtil.filterUnicode4(userInfo.getNickName());
userInfo.setNickName(nickName);
}
try {
userInfo = wechatService.saveWechatUserInfo(userInfo);
} catch (Exception e) {
......
......@@ -7,6 +7,7 @@ import cn.quantgroup.xyqb.repository.IWeChatUserRepository;
import cn.quantgroup.xyqb.service.http.IHttpService;
import cn.quantgroup.xyqb.service.session.ISessionService;
import cn.quantgroup.xyqb.service.wechat.IWechatService;
import cn.quantgroup.xyqb.util.EmojiUtil;
import cn.quantgroup.xyqb.util.ValidationUtil;
import com.alibaba.fastjson.JSONObject;
import lombok.extern.slf4j.Slf4j;
......@@ -130,6 +131,19 @@ public class WechatServiceImpl implements IWechatService {
if (null == userInfo.getPhoneNo()) {
userInfo.setPhoneNo("");
}
// 微信用户首次登录界面, 首先保存userInfo, 跳入到微信注册登录界面
// 替换所有,UTF-8编码时4字节的Emoji表情字符
String nickName = EmojiUtil.filterUnicode4(userInfo.getNickName());
userInfo.setNickName(nickName);
// 替换所有,UTF-8编码时4字节的Emoji表情字符
String country = EmojiUtil.filterUnicode4(userInfo.getCountry());
userInfo.setCountry(country);
// 替换所有,UTF-8编码时4字节的Emoji表情字符
String prvince = EmojiUtil.filterUnicode4(userInfo.getProvince());
userInfo.setProvince(prvince);
// 替换所有,UTF-8编码时4字节的Emoji表情字符
String city = EmojiUtil.filterUnicode4(userInfo.getCity());
userInfo.setCity(city);
return weChatUserRepository.save(userInfo);
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment