From 3a3b5bc665f526269bd622a70812bead173fbdf2 Mon Sep 17 00:00:00 2001
From: cuilei <ray_tsu1@163.com>
Date: 星期五, 18 七月 2025 15:59:02 +0800
Subject: [PATCH] 企业微信H5登录改回静默授权方式

---
 lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/service/impl/ThirdAppWechatEnterpriseServiceImpl.java |  329 ++++++++++++++++++++++++++++++++++++++++++++++++++----
 1 files changed, 305 insertions(+), 24 deletions(-)

diff --git a/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/service/impl/ThirdAppWechatEnterpriseServiceImpl.java b/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/service/impl/ThirdAppWechatEnterpriseServiceImpl.java
index 4eab929..9e46d10 100644
--- a/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/service/impl/ThirdAppWechatEnterpriseServiceImpl.java
+++ b/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/service/impl/ThirdAppWechatEnterpriseServiceImpl.java
@@ -1,5 +1,6 @@
 package org.jeecg.modules.system.service.impl;
 
+import cn.hutool.core.date.DateUtil;
 import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
@@ -14,6 +15,7 @@
 import com.jeecg.qywx.api.user.vo.User;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.lang.StringUtils;
+import org.flowable.common.engine.impl.util.CollectionUtil;
 import org.jeecg.common.api.dto.message.MessageDTO;
 import org.jeecg.common.constant.CommonConstant;
 import org.jeecg.common.system.util.JwtUtil;
@@ -23,6 +25,9 @@
 import org.jeecg.common.util.oConvertUtils;
 import org.jeecg.config.JeecgBaseConfig;
 import org.jeecg.config.thirdapp.ThirdAppConfig;
+import org.jeecg.modules.qywx.message.MessageAPI;
+import org.jeecg.modules.qywx.message.vo.TemplateCard;
+import org.jeecg.modules.qywx.message.vo.TemplateCardEntity;
 import org.jeecg.modules.system.entity.*;
 import org.jeecg.modules.system.mapper.SysAnnouncementSendMapper;
 import org.jeecg.modules.system.mapper.SysUserMapper;
@@ -31,6 +36,7 @@
 import org.jeecg.modules.system.service.*;
 import org.jeecg.modules.system.vo.thirdapp.JwDepartmentTreeVo;
 import org.jeecg.modules.system.vo.thirdapp.SyncInfoVo;
+import org.jetbrains.annotations.NotNull;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.dao.DuplicateKeyException;
@@ -39,6 +45,7 @@
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.List;
+import java.util.UUID;
 import java.util.stream.Collectors;
 
 /**
@@ -398,10 +405,10 @@
              * 2. 鏈湴琛ㄩ噷娌℃湁锛屽氨鍏堢敤鎵嬫満鍙峰垽鏂紝涓嶉�氳繃鍐嶇敤username鍒ゆ柇銆�
              */
             SysThirdAccount sysThirdAccount = sysThirdAccountService.getOneByThirdUserId(qwUser.getUserid(), THIRD_TYPE);
-            List<SysUser> collect = sysUsersList.stream().filter(user -> (qwUser.getMobile().equals(user.getPhone()) || qwUser.getUserid().equals(user.getUsername()))
+            List<SysUser> collect = sysUsersList.stream().filter(user -> qwUser.getUserid().equals(user.getWorkNo())
                                                                 ).collect(Collectors.toList());
 
-            if (collect != null && collect.size() > 0) {
+            if (CollectionUtil.isNotEmpty(collect)) {
                 SysUser sysUserTemp = collect.get(0);
                 // 寰幆鍒版璇存槑鐢ㄦ埛鍖归厤鎴愬姛锛岃繘琛屾洿鏂版搷浣�
                 SysUser updateSysUser = this.qwUserToSysUser(qwUser, sysUserTemp);
@@ -413,7 +420,7 @@
                     this.syncUserCollectErrInfo(e, qwUser, syncInfo);
                 }
 
-                this.thirdAccountSaveOrUpdate(sysThirdAccount, updateSysUser.getId(), qwUser.getUserid());
+                this.thirdAccountSaveOrUpdate(sysThirdAccount, updateSysUser.getId(), qwUser);
                 // 鏇存柊瀹屾垚锛岀洿鎺ヨ烦鍒颁笅涓�娆″閮ㄥ惊鐜户缁�
             }else{
                 // 娌″尮閰嶅埌鐢ㄦ埛鍒欒蛋鏂板閫昏緫
@@ -425,7 +432,7 @@
                 } catch (Exception e) {
                     this.syncUserCollectErrInfo(e, qwUser, syncInfo);
                 }
-                this.thirdAccountSaveOrUpdate(sysThirdAccount, newSysUser.getId(), qwUser.getUserid());
+                this.thirdAccountSaveOrUpdate(sysThirdAccount, newSysUser.getId(), qwUser);
             }
         }
         return syncInfo;
@@ -447,6 +454,20 @@
             sysThirdAccount.setThirdType(THIRD_TYPE);
         }
         sysThirdAccount.setThirdUserId(qwUserId);
+        sysThirdAccountService.saveOrUpdate(sysThirdAccount);
+    }
+
+    private void thirdAccountSaveOrUpdate(SysThirdAccount sysThirdAccount, String sysUserId, User qwUser) {
+        if (sysThirdAccount == null) {
+            sysThirdAccount = new SysThirdAccount();
+            sysThirdAccount.setThirdUserId(qwUser.getUserid());
+            sysThirdAccount.setRealname(qwUser.getName());
+            sysThirdAccount.setThirdUserUuid(qwUser.getUserid());
+            sysThirdAccount.setStatus(1);
+            sysThirdAccount.setDelFlag(0);
+            sysThirdAccount.setThirdType(THIRD_TYPE);
+        }
+        sysThirdAccount.setSysUserId(sysUserId);
         sysThirdAccountService.saveOrUpdate(sysThirdAccount);
     }
 
@@ -622,7 +643,7 @@
         sysUser.setDelFlag(0);
         sysUser.setStatus(1);
         // 閫氳繃 username 鏉ュ叧鑱�
-        sysUser.setUsername(user.getUserid());
+        sysUser.setUsername(user.getUserid().substring(2));
         // 瀵嗙爜榛樿涓� 鈥�123456鈥濓紝闅忔満鍔犵洂
         String password = "123456", salt = oConvertUtils.randomGen(8);
         String passwordEncode = PasswordUtil.encrypt(sysUser.getUsername(), password, salt);
@@ -643,22 +664,23 @@
         if (oConvertUtils.isEmpty(sysUser.getWorkNo())) {
             sysUser.setWorkNo(qwUser.getUserid());
         }
-        try {
-            sysUser.setSex(Integer.parseInt(qwUser.getGender()));
-        } catch (NumberFormatException ignored) {
-        }
+        //浼佷笟寰俊鎺ュ彛鏇存柊鍚庯紝涓嶅湪杩斿洖 鎬у埆銆侀偖绠便�佹墜鏈哄彿鐮� 瀛楁
+        //try {
+        //    sysUser.setSex(Integer.parseInt(qwUser.getGender()));
+        //} catch (NumberFormatException ignored) {
+        //}
         // 鍥犱负鍞竴閿害鏉熺殑鍘熷洜锛屽鏋滃師鏁版嵁鍜屾棫鏁版嵁鐩稿悓锛屽氨涓嶆洿鏂�
-        if (oConvertUtils.isNotEmpty(qwUser.getEmail()) && !qwUser.getEmail().equals(sysUser.getEmail())) {
-            sysUser.setEmail(qwUser.getEmail());
-        } else {
-            sysUser.setEmail(null);
-        }
+        //if (oConvertUtils.isNotEmpty(qwUser.getEmail()) && !qwUser.getEmail().equals(sysUser.getEmail())) {
+        //    sysUser.setEmail(qwUser.getEmail());
+        //} else {
+        //    sysUser.setEmail(null);
+        //}
         // 鍥犱负鍞竴閿害鏉熺殑鍘熷洜锛屽鏋滃師鏁版嵁鍜屾棫鏁版嵁鐩稿悓锛屽氨涓嶆洿鏂�
-        if (oConvertUtils.isNotEmpty(qwUser.getMobile()) && !qwUser.getMobile().equals(sysUser.getPhone())) {
-            sysUser.setPhone(qwUser.getMobile());
-        } else {
-            sysUser.setPhone(null);
-        }
+        //if (oConvertUtils.isNotEmpty(qwUser.getMobile()) && !qwUser.getMobile().equals(sysUser.getPhone())) {
+        //    sysUser.setPhone(qwUser.getMobile());
+        //} else {
+        //    sysUser.setPhone(null);
+        //}
 
         // 鍚敤/绂佺敤鎴愬憳锛堢姸鎬侊級锛岃鍒欎笉鍚岋紝闇�瑕佽浆鎹�
         // 浼佷笟寰俊瑙勫垯锛�1琛ㄧず鍚敤鎴愬憳锛�0琛ㄧず绂佺敤鎴愬憳
@@ -667,7 +689,9 @@
             sysUser.setStatus(qwUser.getEnable() == 1 ? 1 : 2);
         }
         // 搴ф満鍙�
-        sysUser.setTelephone(qwUser.getTelephone());
+        if (StringUtils.isNotBlank(qwUser.getTelephone())) {
+            sysUser.setTelephone(qwUser.getTelephone());
+        }
 
         // --- 浼佷笟寰俊娌℃湁閫昏緫鍒犻櫎鐨勫姛鑳�
         // sysUser.setDelFlag()
@@ -822,7 +846,7 @@
             String userId = announcement.getUserIds();
             String[] userIds = null;
             if(oConvertUtils.isNotEmpty(userId)){
-                userIds = userId.substring(0, (userId.length() - 1)).split(",");
+                userIds = userId.substring(0, userId.length()).split(",");
             }else{
                 LambdaQueryWrapper<SysAnnouncementSend> queryWrapper = new LambdaQueryWrapper<>();
                 queryWrapper.eq(SysAnnouncementSend::getAnntId, announcement.getId());
@@ -857,7 +881,126 @@
         return JwMessageAPI.sendTextCardMessage(textCard, accessToken);
     }
 
-    private String getTouser(String origin, boolean toAll) {
+    /**
+     * 鍙戦�佹ā鏉垮崱鐗囨秷鎭紙涓氬姟娴佺▼璋冪敤姝ゆ柟娉曪級
+     * @param templateCard
+     * @param verifyConfig
+     * @return
+     */
+    public JSONObject sendTemplateCardMsg(TemplateCard templateCard, boolean verifyConfig) {
+        if (verifyConfig && !thirdAppConfig.isWechatEnterpriseEnabled()) {
+            return null;
+        }
+        String accessToken = this.getAppAccessToken();
+        if (accessToken == null) {
+            return null;
+        }
+        templateCard.setAgentid(thirdAppConfig.getWechatEnterprise().getAgentIdInt());
+        return MessageAPI.sendTemplateCardMessage(templateCard, accessToken);
+    }
+
+    /**
+     * 鍙戦�佹ā鏉垮崱鐗囨秷鎭紙娑堟伅娴嬭瘯璋冪敤姝ゆ柟娉曪級
+     *
+     * @return
+     */
+    public JSONObject sendTemplateCardMsg(SysAnnouncement announcement, boolean verifyConfig) {
+        if (verifyConfig && !thirdAppConfig.isWechatEnterpriseEnabled()) {
+            return null;
+        }
+        String accessToken = this.getAppAccessToken();
+        if (accessToken == null) {
+            return null;
+        }
+
+        TemplateCard templateCard = new TemplateCard();
+        templateCard.setAgentid(thirdAppConfig.getWechatEnterprise().getAgentIdInt());
+        boolean isToAll = CommonConstant.MSG_TYPE_ALL.equals(announcement.getMsgType());
+        String usernameString = "";
+        if (!isToAll) {
+            // 灏唘serId杞负username
+            String userId = announcement.getUserIds();
+            String[] userIds = null;
+            if (oConvertUtils.isNotEmpty(userId)) {
+                userIds = userId.substring(0, userId.length()).split(",");
+            } else {
+                LambdaQueryWrapper<SysAnnouncementSend> queryWrapper = new LambdaQueryWrapper<>();
+                queryWrapper.eq(SysAnnouncementSend::getAnntId, announcement.getId());
+                SysAnnouncementSend sysAnnouncementSend = sysAnnouncementSendMapper.selectOne(queryWrapper);
+                userIds = new String[]{sysAnnouncementSend.getUserId()};
+            }
+
+            LambdaQueryWrapper<SysUser> queryWrapper = new LambdaQueryWrapper<>();
+            queryWrapper.in(SysUser::getId, userIds);
+            List<SysUser> userList = userMapper.selectList(queryWrapper);
+            List<String> usernameList = userList.stream().map(SysUser::getUsername).collect(Collectors.toList());
+            usernameString = String.join(",", usernameList);
+        }
+        templateCard.setTouser(this.getTouser(usernameString, isToAll));
+
+        TemplateCardEntity templateCardEntity = new TemplateCardEntity();
+        templateCard.setTemplate_card(templateCardEntity);
+        templateCardEntity.setTask_id(UUID.randomUUID().toString().replaceAll("-", ""));
+        TemplateCardEntity.Source source = new TemplateCardEntity.Source();
+        source.setIcon_url("https://www.jeecg.org/logo.png");
+        source.setDesc("璁惧绠$悊娴嬭瘯");
+        templateCardEntity.setSource(source);
+        TemplateCardEntity.MainTitle mainTitle = new TemplateCardEntity.MainTitle();
+        mainTitle.setTitle("璁惧鍛ㄤ繚");
+        //mainTitle.setDesc("璁惧鍛ㄤ繚淇℃伅");
+        templateCardEntity.setMain_title(mainTitle);
+        templateCardEntity.setSub_title_text("璁惧鍛ㄤ繚娴佺▼璇︽儏");
+        List<TemplateCardEntity.HorizontalContent> horizontalContentList = getHorizontalContents();
+        templateCardEntity.setHorizontal_content_list(horizontalContentList);
+        TemplateCardEntity.CardAction cardAction = new TemplateCardEntity.CardAction();
+        cardAction.setType(1);
+        cardAction.setUrl("https://houjie.xalxzn.com:8866/h5");
+        templateCardEntity.setCard_action(cardAction);
+        TemplateCardEntity.ActionMenu actionMenu = new TemplateCardEntity.ActionMenu();
+        actionMenu.setDesc("鏇村");
+        actionMenu.setAction_list(cn.hutool.core.collection.CollectionUtil
+                .newArrayList(new TemplateCardEntity.ActionMenu.ActionList("鎺ユ敹鎺ㄩ��", "A"),
+                        new TemplateCardEntity.ActionMenu.ActionList("涓嶅啀鎺ㄩ��", "B")));
+        templateCardEntity.setAction_menu(actionMenu);
+        //templateCardEntity.setJump_list(cn.hutool.core.collection.CollectionUtil
+        //        .newArrayList(new TemplateCardEntity.Jump(1, "浼佷笟寰俊瀹樼綉", "https://work.weixin.qq.com")));
+        //TemplateCardEntity.CardImage cardImage = new TemplateCardEntity.CardImage();
+        //cardImage.setUrl("https://www.jeecg.org/logo.png");
+        //templateCardEntity.setCard_image(cardImage);
+        return MessageAPI.sendTemplateCardMessage(templateCard, accessToken);
+    }
+
+    @NotNull
+    private static List<TemplateCardEntity.HorizontalContent> getHorizontalContents() {
+        List<TemplateCardEntity.HorizontalContent> horizontalContentList = new ArrayList<>();
+        TemplateCardEntity.HorizontalContent content1 = new TemplateCardEntity.HorizontalContent();
+        content1.setKeyname("娴佺▼鎻忚堪");
+        content1.setValue("宸ュ崟鍙�:WMCR2025050011;璁惧缂栧彿:031-41杩涜璁惧鍛ㄤ繚");
+        horizontalContentList.add(content1);
+        TemplateCardEntity.HorizontalContent content2 = new TemplateCardEntity.HorizontalContent();
+        content2.setKeyname("涔嬪墠澶勭悊浜�");
+        content2.setValue("绠$悊鍛�");
+        horizontalContentList.add(content2);
+        TemplateCardEntity.HorizontalContent content3 = new TemplateCardEntity.HorizontalContent();
+        content3.setKeyname("鍓嶉┍鑺傜偣");
+        content3.setValue("鍛ㄤ繚棰嗗彇");
+        horizontalContentList.add(content3);
+        TemplateCardEntity.HorizontalContent content4 = new TemplateCardEntity.HorizontalContent();
+        content4.setKeyname("褰撳墠鑺傜偣");
+        content4.setValue("鍛ㄤ繚鎵ц");
+        horizontalContentList.add(content4);
+        TemplateCardEntity.HorizontalContent content5 = new TemplateCardEntity.HorizontalContent();
+        content5.setKeyname("宸ュ崟鍙�");
+        content5.setValue("WMCR2025050011");
+        horizontalContentList.add(content5);
+        TemplateCardEntity.HorizontalContent content6 = new TemplateCardEntity.HorizontalContent();
+        content6.setKeyname("璁惧缂栧彿");
+        content6.setValue("031-41");
+        horizontalContentList.add(content6);
+        return horizontalContentList;
+    }
+
+    public String getTouser(String origin, boolean toAll) {
         if (toAll) {
             return "@all";
         } else {
@@ -934,8 +1077,8 @@
             if (appUser == null) {
                 appUser = JwUserAPI.getUserByUserid(appUserId, accessToken);
             }
-            // 鍒ゆ柇绯荤粺閲屾槸鍚︽湁杩欎釜鎵嬫満鍙风殑鐢ㄦ埛
-            SysUser sysUser = userMapper.getUserByPhone(appUser.getMobile());
+            // 鍒ゆ柇绯荤粺閲屾槸鍚︽湁杩欎釜鐢ㄦ埛锛屾牴鎹伐鍙峰尮閰�
+            SysUser sysUser = userMapper.getUserByWorkNo(thirdAccount.getThirdUserId());
             if (sysUser != null) {
                 thirdAccount.setAvatar(appUser.getAvatar());
                 thirdAccount.setRealname(appUser.getName());
@@ -952,4 +1095,142 @@
         }
     }
 
+    //閫傞厤鎵嬪姩鎺堟潈鐧诲綍锛岃幏鍙栫敤鎴锋墜鏈哄彿鐮佽皟鏁翠慨鏀�
+//    /**
+//     * OAuth2鐧诲綍锛屾垚鍔熻繑鍥炵櫥褰曠殑SysUser锛屽け璐ヨ繑鍥瀗ull
+//     */
+//    public SysUser oauth2Login(String code) {
+//        String accessToken = this.getAppAccessToken();
+//        if (accessToken == null) {
+//            return null;
+//        }
+//
+//        // 閫氳繃code鑾峰彇鐢ㄦ埛淇℃伅锛堝寘鍚玼ser_ticket锛�
+//        JSONObject userInfoResult = this.getUserInfoByCode(code, accessToken);
+//        if (userInfoResult == null || userInfoResult.getInteger("errcode") != 0) {
+//            log.error("鑾峰彇浼佷笟寰俊鐢ㄦ埛淇℃伅澶辫触锛宑ode: {}", code);
+//            return null;
+//        }
+//
+//        String appUserId = userInfoResult.getString("UserId");
+//        String userTicket = userInfoResult.getString("user_ticket"); // 鎵嬪姩鎺堟潈杩斿洖鐨勭敤鎴风エ鎹�
+//
+//        if (appUserId != null) {
+//            // 鍒ゆ柇绗笁鏂圭敤鎴疯〃鏈夋病鏈夎繖涓汉
+//            LambdaQueryWrapper<SysThirdAccount> queryWrapper = new LambdaQueryWrapper<>();
+//            queryWrapper.eq(SysThirdAccount::getThirdUserUuid, appUserId);
+//            queryWrapper.or().eq(SysThirdAccount::getThirdUserId, appUserId);
+//            queryWrapper.eq(SysThirdAccount::getThirdType, THIRD_TYPE);
+//            SysThirdAccount thirdAccount = sysThirdAccountService.getOne(queryWrapper);
+//
+//            // 閫氳繃user_ticket鑾峰彇鐢ㄦ埛璇︾粏淇℃伅锛堝寘鍚墜鏈哄彿绛夋晱鎰熶俊鎭級
+//            JSONObject userDetail = this.getUserDetailByTicket(userTicket, accessToken);
+//            String mobile = userDetail.getString("mobile");
+//
+//            if (thirdAccount != null) {
+//                // 鏇存柊鎵嬫満鍙凤紙濡傛灉鏈夛級
+//                if (mobile != null && !mobile.isEmpty()) {
+//                    thirdAccount.setPhone(mobile);
+//                    sysThirdAccountService.updateById(thirdAccount);
+//                }
+//                return this.getSysUserByThird(thirdAccount, null, appUserId, accessToken);
+//            } else {
+//                // 鐩存帴鍒涘缓鏂拌处鍙凤紝鍖呭惈鎵嬫満鍙蜂俊鎭�
+//                User appUser = JwUserAPI.getUserByUserid(appUserId, accessToken);
+//                ThirdLoginModel tlm = new ThirdLoginModel(THIRD_TYPE, appUser.getUserid(), appUser.getName(), appUser.getAvatar(), mobile);
+//                thirdAccount = sysThirdAccountService.saveThirdUser(tlm);
+//                return this.getSysUserByThird(thirdAccount, appUser, null, null);
+//            }
+//        }
+//        return null;
+//    }
+//
+//    /**
+//     * 閫氳繃code鑾峰彇鐢ㄦ埛淇℃伅锛堝寘鍚玼ser_ticket锛�
+//     */
+//    private JSONObject getUserInfoByCode(String code, String accessToken) {
+//        String url = "https://qyapi.weixin.qq.com/cgi-bin/user/getuserinfo" +
+//                "?access_token=" + accessToken +
+//                "&code=" + code;
+//        try {
+//            String result = String.valueOf(RestUtil.get(url));
+//            return JSONObject.parseObject(result);
+//        } catch (Exception e) {
+//            log.error("鑾峰彇浼佷笟寰俊鐢ㄦ埛淇℃伅寮傚父", e);
+//            return null;
+//        }
+//    }
+//
+//    /**
+//     * 閫氳繃user_ticket鑾峰彇鐢ㄦ埛璇︾粏淇℃伅锛堝寘鍚墜鏈哄彿绛夋晱鎰熶俊鎭級
+//     */
+//    private JSONObject getUserDetailByTicket(String userTicket, String accessToken) {
+//        String url = "https://qyapi.weixin.qq.com/cgi-bin/user/getuserdetail";
+//        JSONObject params = new JSONObject();
+//        params.put("user_ticket", userTicket);
+//
+//        try {
+//            String result = String.valueOf(RestUtil.post(url + "?access_token=" + accessToken, JSONObject.parseObject(params.toJSONString())));
+////            String result = String.valueOf(RestUtil.post(url + "?access_token=" + accessToken, params.toJSONString()));
+//            return JSONObject.parseObject(result);
+//        } catch (Exception e) {
+//            log.error("鑾峰彇浼佷笟寰俊鐢ㄦ埛璇︾粏淇℃伅寮傚父", e);
+//            return new JSONObject(); // 杩斿洖绌哄璞¢伩鍏峃PE
+//        }
+//    }
+
+    //閫傞厤鎵嬪姩鎺堟潈鐧诲綍锛岃幏鍙栫敤鎴锋墜鏈哄彿鐮佸苟瀛樺叆鎴栨洿鏂�
+    ///**
+    // * 鏍规嵁绗笁鏂硅处鍙疯幏鍙栨湰鍦拌处鍙凤紝濡傛灉涓嶅瓨鍦ㄥ氨鍒涘缓
+    // *
+    // * @param thirdAccount
+    // * @param appUser
+    // * @param appUserId
+    // * @param accessToken
+    // * @return
+    // */
+    //private SysUser getSysUserByThird(SysThirdAccount thirdAccount, User appUser, String appUserId, String accessToken) {
+    //    String sysUserId = thirdAccount.getSysUserId();
+    //    if (oConvertUtils.isNotEmpty(sysUserId)) {
+    //        SysUser sysUser = userMapper.selectById(sysUserId);
+    //        if (sysUser != null && StringUtils.isBlank(sysUser.getPhone())) {
+    //            //濡傛灉鏈夌敤鎴凤紝骞朵笖娌℃湁鐢佃瘽淇℃伅锛屾洿鏂拌繘鐢佃瘽鍙风爜
+    //            SysUser user = new SysUser()
+    //                    .setId(sysUser.getId())
+    //                    .setPhone(thirdAccount.getPhone());
+    //            userMapper.updateById(user);
+    //        }
+    //        return sysUser;
+    //    } else {
+    //        // 濡傛灉娌℃湁 sysUserId 锛岃鏄庢病鏈夌粦瀹氳处鍙凤紝鑾峰彇鍒版墜鏈哄彿涔嬪悗杩涜缁戝畾
+    //        if (appUser == null) {
+    //            appUser = JwUserAPI.getUserByUserid(appUserId, accessToken);
+    //        }
+    //        appUser.setMobile(thirdAccount.getPhone());
+    //        // 鍒ゆ柇绯荤粺閲屾槸鍚︽湁杩欎釜鐢ㄦ埛锛屾牴鎹伐鍙峰尮閰�
+    //        SysUser sysUser = userMapper.getUserByWorkNo(thirdAccount.getThirdUserId());
+    //        //SysUser sysUser = userMapper.getUserByPhone(appUser.getMobile());
+    //        if (sysUser != null) {
+    //            thirdAccount.setAvatar(appUser.getAvatar());
+    //            thirdAccount.setRealname(appUser.getName());
+    //            thirdAccount.setThirdUserId(appUser.getUserid());
+    //            thirdAccount.setThirdUserUuid(appUser.getUserid());
+    //            thirdAccount.setSysUserId(sysUser.getId());
+    //            sysThirdAccountService.updateById(thirdAccount);
+    //            if (StringUtils.isBlank(sysUser.getPhone())) {
+    //                //濡傛灉娌℃湁鎵嬫満鍙风爜锛屾洿鏂�
+    //                SysUser user = new SysUser()
+    //                        .setId(sysUser.getId())
+    //                        .setPhone(appUser.getMobile());
+    //                userMapper.updateById(user);
+    //            }
+    //            return sysUser;
+    //        } else {
+    //            // 娌℃湁灏辫蛋鍒涘缓閫昏緫
+    //            return sysThirdAccountService.createUser(appUser.getMobile(), appUser.getUserid());
+    //        }
+    //
+    //    }
+    //}
+
 }

--
Gitblit v1.9.3