Browse Source

新增微信登陆去除表情,和更新昵称和opendid

赵冬冬 4 years ago
parent
commit
bbbdb48160

+ 5 - 0
forest-portal/portal-server/src/main/java/com/hwrj/cloud/portal/controller/WechatH5Controller.java

@@ -7,6 +7,7 @@ import com.hwrj.cloud.portal.model.UmsMember;
 import com.hwrj.cloud.portal.model.UmsMemberPlatform;
 import com.hwrj.cloud.portal.service.UmsMemberPlatformService;
 import com.hwrj.cloud.portal.service.UmsMemberService;
+import com.hwrj.cloud.portal.util.EmojiUtil;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import lombok.extern.slf4j.Slf4j;
@@ -115,6 +116,8 @@ public class WechatH5Controller {
 
 
         UmsMemberPlatform umsMemberPlatform= new UmsMemberPlatform();
+        String nickname = wxMpUser.getNickname();
+        wxMpUser.setNickname(EmojiUtil.filterEmoji(nickname));
         BeanUtil.copyProperties(wxMpUser,umsMemberPlatform);
         umsMemberPlatform.setOpenid(wxMpUser.getOpenId());
         umsMemberPlatform.setUnionid(wxMpUser.getUnionId());
@@ -148,6 +151,8 @@ public class WechatH5Controller {
     }
 
 
+
+
     @GetMapping("/info")
     @ResponseBody
     public CommonResult<Map<String,Object>> loginInfo() {

+ 20 - 2
forest-portal/portal-server/src/main/java/com/hwrj/cloud/portal/service/impl/UmsMemberPlatformServiceImpl.java

@@ -173,8 +173,26 @@ public class UmsMemberPlatformServiceImpl implements UmsMemberPlatformService {
             return ums;
 
         }else {
-            UmsMember umsMember1 = umsMemberMapper.selectByPrimaryKey(umsMemberPlatform.getMemberId());
-            return umsMember1;
+            boolean flag = false;
+            Long memberId = umsMemberPlatform.getMemberId();
+            UmsMember umsMemberRe = umsMemberMapper.selectByPrimaryKey(memberId);
+            String nickname = umsMemberRe.getNickname();
+            String nicknameParm = umsMemberPlatform.getNickname();
+            if(!nickname.equals(nicknameParm)){
+                umsMemberRe.setNickname(nicknameParm);
+                flag = true;
+            }
+            String openidRe = umsMemberRe.getUsername();
+            String openidParm = umsMemberPlatform.getOpenid();
+            if(!openidRe.equals(openidParm)){
+                umsMemberRe.setUsername(openidParm);
+                flag = true;
+            }
+            //有昵称变化就更新数据库
+            if(flag){
+                umsMemberMapper.updateByPrimaryKeySelective(umsMemberRe);
+            }
+            return umsMemberRe;
         }
     }
 

+ 24 - 0
forest-portal/portal-server/src/main/java/com/hwrj/cloud/portal/util/EmojiUtil.java

@@ -0,0 +1,24 @@
+package com.hwrj.cloud.portal.util;
+
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
+
+/**
+ * 微信昵称表情去除
+ */
+public class EmojiUtil {
+    public static String filterEmoji(String source) {
+        if(source != null)
+        {
+            Pattern emoji = Pattern.compile ("[\ud83c\udc00-\ud83c\udfff]|[\ud83d\udc00-\ud83d\udfff]|[\u2600-\u27ff]",Pattern.UNICODE_CASE | Pattern . CASE_INSENSITIVE ) ;
+            Matcher emojiMatcher = emoji.matcher(source);
+            if ( emojiMatcher.find())
+            {
+                source = emojiMatcher.replaceAll("");
+                return source ;
+            }
+            return source;
+        }
+        return source;
+    }
+}