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

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

parent 84c878ed
...@@ -502,17 +502,17 @@ public class InnerController implements IBaseController { ...@@ -502,17 +502,17 @@ public class InnerController implements IBaseController {
addressObj.setUpdateAt(now); addressObj.setUpdateAt(now);
} }
addressObj.setUserId(userId); addressObj.setUserId(userId);
// 替换所有,UTF-8编码时4字节的Emoji表情字符
addressObj.setProvince(EmojiUtil.filterUnicode4(province));
addressObj.setProvinceCode(provinceCode); addressObj.setProvinceCode(provinceCode);
addressObj.setProvince(province); // 替换所有,UTF-8编码时4字节的Emoji表情字符
addressObj.setCity(EmojiUtil.filterUnicode4(city));
addressObj.setCityCode(cityCode); addressObj.setCityCode(cityCode);
addressObj.setCity(city); // 替换所有,UTF-8编码时4字节的Emoji表情字符
addressObj.setDistrict(EmojiUtil.filterUnicode4(district));
addressObj.setDistrictCode(districtCode); addressObj.setDistrictCode(districtCode);
addressObj.setDistrict(district); // 替换所有,UTF-8编码时4字节的Emoji表情字符
addressObj.setAddress(address); addressObj.setAddress(EmojiUtil.filterUnicode4(address));
if (StringUtils.isNotBlank(address)) {
// 替换所有,UTF-8编码时4字节的Emoji表情字符
addressObj.setAddress(EmojiUtil.filterUnicode4(address));
}
addressObj = addressService.save(addressObj); addressObj = addressService.save(addressObj);
log.info("保存后地址详情:{}", addressObj); log.info("保存后地址详情:{}", addressObj);
return JsonResult.buildSuccessResult(null, AddressRet.address2AddressRet(addressObj)); return JsonResult.buildSuccessResult(null, AddressRet.address2AddressRet(addressObj));
......
...@@ -244,12 +244,6 @@ public class WeChatController implements IBaseController { ...@@ -244,12 +244,6 @@ public class WeChatController implements IBaseController {
redirectNormalUrl(response, merchant, registerFrom, domain); redirectNormalUrl(response, merchant, registerFrom, domain);
return; return;
} }
// 微信用户首次登录界面, 首先保存userInfo, 跳入到微信注册登录界面
if (StringUtils.isNotBlank(userInfo.getNickName())) {
// 替换所有,UTF-8编码时4字节的Emoji表情字符
String nickName = EmojiUtil.filterUnicode4(userInfo.getNickName());
userInfo.setNickName(nickName);
}
try { try {
userInfo = wechatService.saveWechatUserInfo(userInfo); userInfo = wechatService.saveWechatUserInfo(userInfo);
} catch (Exception e) { } catch (Exception e) {
......
...@@ -7,6 +7,7 @@ import cn.quantgroup.xyqb.repository.IWeChatUserRepository; ...@@ -7,6 +7,7 @@ import cn.quantgroup.xyqb.repository.IWeChatUserRepository;
import cn.quantgroup.xyqb.service.http.IHttpService; import cn.quantgroup.xyqb.service.http.IHttpService;
import cn.quantgroup.xyqb.service.session.ISessionService; import cn.quantgroup.xyqb.service.session.ISessionService;
import cn.quantgroup.xyqb.service.wechat.IWechatService; import cn.quantgroup.xyqb.service.wechat.IWechatService;
import cn.quantgroup.xyqb.util.EmojiUtil;
import cn.quantgroup.xyqb.util.ValidationUtil; import cn.quantgroup.xyqb.util.ValidationUtil;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
...@@ -130,6 +131,19 @@ public class WechatServiceImpl implements IWechatService { ...@@ -130,6 +131,19 @@ public class WechatServiceImpl implements IWechatService {
if (null == userInfo.getPhoneNo()) { if (null == userInfo.getPhoneNo()) {
userInfo.setPhoneNo(""); 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); 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