From 7bc276d310fd0a6f1ed4cb945ffaab109dd270e8 Mon Sep 17 00:00:00 2001
From: Houjie <714924425@qq.com>
Date: 星期四, 10 七月 2025 15:51:26 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/service/impl/SysDictServiceImpl.java |    2 
 lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/controller/ThirdLoginController.java |  611 +++++++++++++++++++++++++++---------------------------
 2 files changed, 305 insertions(+), 308 deletions(-)

diff --git a/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/controller/ThirdLoginController.java b/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/controller/ThirdLoginController.java
index 20c7829..19fa754 100644
--- a/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/controller/ThirdLoginController.java
+++ b/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/controller/ThirdLoginController.java
@@ -45,26 +45,26 @@
 @RequestMapping("/sys/thirdLogin")
 @Slf4j
 public class ThirdLoginController {
-    @Autowired
-    private ISysUserService sysUserService;
-    @Autowired
-    private ISysThirdAccountService sysThirdAccountService;
+	@Autowired
+	private ISysUserService sysUserService;
+	@Autowired
+	private ISysThirdAccountService sysThirdAccountService;
 
-    @Autowired
-    private BaseCommonService baseCommonService;
-    @Autowired
+	@Autowired
+	private BaseCommonService baseCommonService;
+	@Autowired
     private RedisUtil redisUtil;
-    @Autowired
-    private AuthRequestFactory factory;
+	@Autowired
+	private AuthRequestFactory factory;
 
-    @Autowired
-    ThirdAppConfig thirdAppConfig;
-    @Autowired
-    private ThirdAppWechatEnterpriseServiceImpl thirdAppWechatEnterpriseService;
-    @Autowired
-    private ThirdAppDingtalkServiceImpl thirdAppDingtalkService;
+	@Autowired
+	ThirdAppConfig thirdAppConfig;
+	@Autowired
+	private ThirdAppWechatEnterpriseServiceImpl thirdAppWechatEnterpriseService;
+	@Autowired
+	private ThirdAppDingtalkServiceImpl thirdAppDingtalkService;
 
-    @RequestMapping("/render/{source}")
+	@RequestMapping("/render/{source}")
     public void render(@PathVariable("source") String source, HttpServletResponse response) throws IOException {
         log.info("绗笁鏂圭櫥褰曡繘鍏ender锛�" + source);
         AuthRequest authRequest = factory.get(source);
@@ -73,283 +73,279 @@
         response.sendRedirect(authorizeUrl);
     }
 
-    @RequestMapping("/{source}/callback")
-    public String loginThird(@PathVariable("source") String source, AuthCallback callback, ModelMap modelMap) {
-        log.info("绗笁鏂圭櫥褰曡繘鍏allback锛�" + source + " params锛�" + JSONObject.toJSONString(callback));
+	@RequestMapping("/{source}/callback")
+    public String loginThird(@PathVariable("source") String source, AuthCallback callback,ModelMap modelMap) {
+		log.info("绗笁鏂圭櫥褰曡繘鍏allback锛�" + source + " params锛�" + JSONObject.toJSONString(callback));
         AuthRequest authRequest = factory.get(source);
         AuthResponse response = authRequest.login(callback);
         log.info(JSONObject.toJSONString(response));
         Result<JSONObject> result = new Result<JSONObject>();
-        if (response.getCode() == 2000) {
+        if(response.getCode()==2000) {
 
-            JSONObject data = JSONObject.parseObject(JSONObject.toJSONString(response.getData()));
-            String username = data.getString("username");
-            String avatar = data.getString("avatar");
-            String uuid = data.getString("uuid");
-            //鏋勯�犵涓夋柟鐧诲綍淇℃伅瀛樺偍瀵硅薄
-            ThirdLoginModel tlm = new ThirdLoginModel(source, uuid, username, avatar);
-            //鍒ゆ柇鏈夋病鏈夎繖涓汉
-            //update-begin-author:wangshuai date:20201118 for:淇敼鎴愭煡璇㈢涓夋柟璐︽埛琛�
-            LambdaQueryWrapper<SysThirdAccount> query = new LambdaQueryWrapper<SysThirdAccount>();
-            query.eq(SysThirdAccount::getThirdUserUuid, uuid);
-            query.eq(SysThirdAccount::getThirdType, source);
-            List<SysThirdAccount> thridList = sysThirdAccountService.list(query);
-            SysThirdAccount user = null;
-            if (thridList == null || thridList.size() == 0) {
-                //鍚﹀垯鐩存帴鍒涘缓鏂拌处鍙�
-                user = sysThirdAccountService.saveThirdUser(tlm);
-            } else {
-                //宸插瓨鍦� 鍙缃敤鎴峰悕 涓嶈缃ご鍍�
-                user = thridList.get(0);
-            }
-            // 鐢熸垚token
-            //update-begin-author:wangshuai date:20201118 for:浠庣涓夋柟鐧诲綍鏌ヨ鏄惁瀛樺湪鐢ㄦ埛id锛屼笉瀛樺湪缁戝畾鎵嬫満鍙�
-            if (oConvertUtils.isNotEmpty(user.getSysUserId())) {
-                String sysUserId = user.getSysUserId();
-                SysUser sysUser = sysUserService.getById(sysUserId);
-                String token = saveToken(sysUser);
-                modelMap.addAttribute("token", token);
-            } else {
-                modelMap.addAttribute("token", "缁戝畾鎵嬫満鍙�," + "" + uuid);
-            }
-            //update-end-author:wangshuai date:20201118 for:浠庣涓夋柟鐧诲綍鏌ヨ鏄惁瀛樺湪鐢ㄦ埛id锛屼笉瀛樺湪缁戝畾鎵嬫満鍙�
-            //update-begin--Author:wangshuai  Date:20200729 for锛氭帴鍙e湪绛惧悕鏍¢獙澶辫触鏃惰繑鍥炲け璐ョ殑鏍囪瘑鐮� issues#1441--------------------
-        } else {
-            modelMap.addAttribute("token", "鐧诲綍澶辫触");
-        }
-        //update-end--Author:wangshuai  Date:20200729 for锛氭帴鍙e湪绛惧悕鏍¢獙澶辫触鏃惰繑鍥炲け璐ョ殑鏍囪瘑鐮� issues#1441--------------------
+        	JSONObject data = JSONObject.parseObject(JSONObject.toJSONString(response.getData()));
+        	String username = data.getString("username");
+        	String avatar = data.getString("avatar");
+        	String uuid = data.getString("uuid");
+        	//鏋勯�犵涓夋柟鐧诲綍淇℃伅瀛樺偍瀵硅薄
+			ThirdLoginModel tlm = new ThirdLoginModel(source, uuid, username, avatar);
+        	//鍒ゆ柇鏈夋病鏈夎繖涓汉
+			//update-begin-author:wangshuai date:20201118 for:淇敼鎴愭煡璇㈢涓夋柟璐︽埛琛�
+        	LambdaQueryWrapper<SysThirdAccount> query = new LambdaQueryWrapper<SysThirdAccount>();
+        	query.eq(SysThirdAccount::getThirdUserUuid, uuid);
+        	query.eq(SysThirdAccount::getThirdType, source);
+        	List<SysThirdAccount> thridList = sysThirdAccountService.list(query);
+			SysThirdAccount user = null;
+        	if(thridList==null || thridList.size()==0) {
+				//鍚﹀垯鐩存帴鍒涘缓鏂拌处鍙�
+				user = sysThirdAccountService.saveThirdUser(tlm);
+        	}else {
+        		//宸插瓨鍦� 鍙缃敤鎴峰悕 涓嶈缃ご鍍�
+        		user = thridList.get(0);
+        	}
+        	// 鐢熸垚token
+			//update-begin-author:wangshuai date:20201118 for:浠庣涓夋柟鐧诲綍鏌ヨ鏄惁瀛樺湪鐢ㄦ埛id锛屼笉瀛樺湪缁戝畾鎵嬫満鍙�
+			if(oConvertUtils.isNotEmpty(user.getSysUserId())) {
+				String sysUserId = user.getSysUserId();
+				SysUser sysUser = sysUserService.getById(sysUserId);
+				String token = saveToken(sysUser);
+    			modelMap.addAttribute("token", token);
+			}else{
+				modelMap.addAttribute("token", "缁戝畾鎵嬫満鍙�,"+""+uuid);
+			}
+			//update-end-author:wangshuai date:20201118 for:浠庣涓夋柟鐧诲綍鏌ヨ鏄惁瀛樺湪鐢ㄦ埛id锛屼笉瀛樺湪缁戝畾鎵嬫満鍙�
+		//update-begin--Author:wangshuai  Date:20200729 for锛氭帴鍙e湪绛惧悕鏍¢獙澶辫触鏃惰繑鍥炲け璐ョ殑鏍囪瘑鐮� issues#1441--------------------
+        }else{
+			modelMap.addAttribute("token", "鐧诲綍澶辫触");
+		}
+		//update-end--Author:wangshuai  Date:20200729 for锛氭帴鍙e湪绛惧悕鏍¢獙澶辫触鏃惰繑鍥炲け璐ョ殑鏍囪瘑鐮� issues#1441--------------------
         result.setSuccess(false);
         result.setMessage("绗笁鏂圭櫥褰曞紓甯�,璇疯仈绯荤鐞嗗憳");
         return "thirdLogin";
     }
 
-    /**
-     * 鍒涘缓鏂拌处鍙�
-     *
-     * @param model
-     * @return
-     */
-    @PostMapping("/user/create")
-    @ResponseBody
-    public Result<String> thirdUserCreate(@RequestBody ThirdLoginModel model) {
-        log.info("绗笁鏂圭櫥褰曞垱寤烘柊璐﹀彿锛�");
-        Result<String> res = new Result<>();
-        Object operateCode = redisUtil.get(CommonConstant.THIRD_LOGIN_CODE);
-        if (operateCode == null || !operateCode.toString().equals(model.getOperateCode())) {
-            res.setSuccess(false);
-            res.setMessage("鏍¢獙澶辫触");
-            return res;
-        }
-        //鍒涘缓鏂拌处鍙�
-        //update-begin-author:wangshuai date:20201118 for:淇敼鎴愪粠绗笁鏂圭櫥褰曟煡鍑烘潵鐨剈ser_id锛屽湪鏌ヨ鐢ㄦ埛琛ㄥ敖琛宼oken
-        SysThirdAccount user = sysThirdAccountService.saveThirdUser(model);
-        if (oConvertUtils.isNotEmpty(user.getSysUserId())) {
-            String sysUserId = user.getSysUserId();
-            SysUser sysUser = sysUserService.getById(sysUserId);
-            // 鐢熸垚token
-            String token = saveToken(sysUser);
-            //update-end-author:wangshuai date:20201118 for:淇敼鎴愪粠绗笁鏂圭櫥褰曟煡鍑烘潵鐨剈ser_id锛屽湪鏌ヨ鐢ㄦ埛琛ㄥ敖琛宼oken
-            res.setResult(token);
-            res.setSuccess(true);
-        }
-        return res;
-    }
+	/**
+	 * 鍒涘缓鏂拌处鍙�
+	 * @param model
+	 * @return
+	 */
+	@PostMapping("/user/create")
+	@ResponseBody
+	public Result<String> thirdUserCreate(@RequestBody ThirdLoginModel model) {
+		log.info("绗笁鏂圭櫥褰曞垱寤烘柊璐﹀彿锛�" );
+		Result<String> res = new Result<>();
+		Object operateCode = redisUtil.get(CommonConstant.THIRD_LOGIN_CODE);
+		if(operateCode==null || !operateCode.toString().equals(model.getOperateCode())){
+			res.setSuccess(false);
+			res.setMessage("鏍¢獙澶辫触");
+			return res;
+		}
+		//鍒涘缓鏂拌处鍙�
+		//update-begin-author:wangshuai date:20201118 for:淇敼鎴愪粠绗笁鏂圭櫥褰曟煡鍑烘潵鐨剈ser_id锛屽湪鏌ヨ鐢ㄦ埛琛ㄥ敖琛宼oken
+		SysThirdAccount user = sysThirdAccountService.saveThirdUser(model);
+		if(oConvertUtils.isNotEmpty(user.getSysUserId())){
+			String sysUserId = user.getSysUserId();
+			SysUser sysUser = sysUserService.getById(sysUserId);
+			// 鐢熸垚token
+			String token = saveToken(sysUser);
+			//update-end-author:wangshuai date:20201118 for:淇敼鎴愪粠绗笁鏂圭櫥褰曟煡鍑烘潵鐨剈ser_id锛屽湪鏌ヨ鐢ㄦ埛琛ㄥ敖琛宼oken
+			res.setResult(token);
+			res.setSuccess(true);
+		}
+		return res;
+	}
 
-    /**
-     * 缁戝畾璐﹀彿 闇�瑕佽缃瘑鐮� 闇�瑕佽蛋涓�閬嶆牎楠�
-     *
-     * @param json
-     * @return
-     */
-    @PostMapping("/user/checkPassword")
-    @ResponseBody
-    public Result<String> checkPassword(@RequestBody JSONObject json) {
-        Result<String> result = new Result<>();
-        Object operateCode = redisUtil.get(CommonConstant.THIRD_LOGIN_CODE);
-        if (operateCode == null || !operateCode.toString().equals(json.getString("operateCode"))) {
-            result.setSuccess(false);
-            result.setMessage("鏍¢獙澶辫触");
-            return result;
-        }
-        String username = json.getString("uuid");
-        SysUser user = this.sysUserService.getUserByName(username);
-        if (user == null) {
-            result.setMessage("鐢ㄦ埛鏈壘鍒�");
-            result.setSuccess(false);
-            return result;
-        }
-        String password = json.getString("password");
-        String salt = user.getSalt();
-        String passwordEncode = PasswordUtil.encrypt(user.getUsername(), password, salt);
-        if (!passwordEncode.equals(user.getPassword())) {
-            result.setMessage("瀵嗙爜涓嶆纭�");
-            result.setSuccess(false);
-            return result;
-        }
+	/**
+	 * 缁戝畾璐﹀彿 闇�瑕佽缃瘑鐮� 闇�瑕佽蛋涓�閬嶆牎楠�
+	 * @param json
+	 * @return
+	 */
+	@PostMapping("/user/checkPassword")
+	@ResponseBody
+	public Result<String> checkPassword(@RequestBody JSONObject json) {
+		Result<String> result = new Result<>();
+		Object operateCode = redisUtil.get(CommonConstant.THIRD_LOGIN_CODE);
+		if(operateCode==null || !operateCode.toString().equals(json.getString("operateCode"))){
+			result.setSuccess(false);
+			result.setMessage("鏍¢獙澶辫触");
+			return result;
+		}
+		String username = json.getString("uuid");
+		SysUser user = this.sysUserService.getUserByName(username);
+		if(user==null){
+			result.setMessage("鐢ㄦ埛鏈壘鍒�");
+			result.setSuccess(false);
+			return result;
+		}
+		String password = json.getString("password");
+		String salt = user.getSalt();
+		String passwordEncode = PasswordUtil.encrypt(user.getUsername(), password, salt);
+		if(!passwordEncode.equals(user.getPassword())){
+			result.setMessage("瀵嗙爜涓嶆纭�");
+			result.setSuccess(false);
+			return result;
+		}
 
-        sysUserService.updateById(user);
-        result.setSuccess(true);
-        // 鐢熸垚token
-        String token = saveToken(user);
-        result.setResult(token);
-        return result;
-    }
+		sysUserService.updateById(user);
+		result.setSuccess(true);
+		// 鐢熸垚token
+		String token = saveToken(user);
+		result.setResult(token);
+		return result;
+	}
 
-    private String saveToken(SysUser user) {
-        // 鐢熸垚token
-        String token = JwtUtil.sign(user.getUsername(), user.getPassword());
-        redisUtil.set(CommonConstant.PREFIX_USER_TOKEN + token, token);
-        // 璁剧疆瓒呮椂鏃堕棿
-        redisUtil.expire(CommonConstant.PREFIX_USER_TOKEN + token, JwtUtil.EXPIRE_TIME * 2 / 1000);
-        return token;
-    }
+	private String saveToken(SysUser user) {
+		// 鐢熸垚token
+		String token = JwtUtil.sign(user.getUsername(), user.getPassword());
+		redisUtil.set(CommonConstant.PREFIX_USER_TOKEN + token, token);
+		// 璁剧疆瓒呮椂鏃堕棿
+		redisUtil.expire(CommonConstant.PREFIX_USER_TOKEN + token, JwtUtil.EXPIRE_TIME * 2 / 1000);
+		return token;
+	}
 
-    /**
-     * 绗笁鏂圭櫥褰曞洖璋冩帴鍙�
-     *
-     * @param token
-     * @param thirdType
-     * @return
-     * @throws Exception
-     */
-    @SuppressWarnings("unchecked")
-    @RequestMapping(value = "/getLoginUser/{token}/{thirdType}", method = RequestMethod.GET)
-    @ResponseBody
-    public Result<JSONObject> getThirdLoginUser(@PathVariable("token") String token, @PathVariable("thirdType") String thirdType) throws Exception {
-        Result<JSONObject> result = new Result<JSONObject>();
-        String username = JwtUtil.getUsername(token);
+	/**
+	 * 绗笁鏂圭櫥褰曞洖璋冩帴鍙�
+	 * @param token
+	 * @param thirdType
+	 * @return
+	 * @throws Exception
+	 */
+	@SuppressWarnings("unchecked")
+	@RequestMapping(value = "/getLoginUser/{token}/{thirdType}", method = RequestMethod.GET)
+	@ResponseBody
+	public Result<JSONObject> getThirdLoginUser(@PathVariable("token") String token,@PathVariable("thirdType") String thirdType) throws Exception {
+		Result<JSONObject> result = new Result<JSONObject>();
+		String username = JwtUtil.getUsername(token);
 
-        //1. 鏍¢獙鐢ㄦ埛鏄惁鏈夋晥
-        SysUser sysUser = sysUserService.getUserByName(username);
-        result = sysUserService.checkUserIsEffective(sysUser);
-        if (!result.isSuccess()) {
-            return result;
-        }
-        //update-begin-author:wangshuai date:20201118 for:濡傛灉鐪熷疄濮撳悕鍜屽ご鍍忎笉瀛樺湪灏卞彇绗笁鏂圭櫥褰曠殑
-        LambdaQueryWrapper<SysThirdAccount> query = new LambdaQueryWrapper<>();
-        query.eq(SysThirdAccount::getSysUserId, sysUser.getId());
-        query.eq(SysThirdAccount::getThirdType, thirdType);
-        SysThirdAccount account = sysThirdAccountService.getOne(query);
-        if (oConvertUtils.isEmpty(sysUser.getRealname())) {
-            sysUser.setRealname(account.getRealname());
-        }
-        if (oConvertUtils.isEmpty(sysUser.getAvatar())) {
-            sysUser.setAvatar(account.getAvatar());
-        }
-        //update-end-author:wangshuai date:20201118 for:濡傛灉鐪熷疄濮撳悕鍜屽ご鍍忎笉瀛樺湪灏卞彇绗笁鏂圭櫥褰曠殑
-        JSONObject obj = new JSONObject();
-        //鐢ㄦ埛鐧诲綍淇℃伅
-        obj.put("userInfo", sysUser);
-        //token 淇℃伅
-        obj.put("token", token);
-        result.setResult(obj);
-        result.setSuccess(true);
-        result.setCode(200);
-        baseCommonService.addLog("鐢ㄦ埛鍚�: " + username + ",鐧诲綍鎴愬姛[绗笁鏂圭敤鎴穄锛�", CommonConstant.LOG_TYPE_1, null);
-        return result;
-    }
+		//1. 鏍¢獙鐢ㄦ埛鏄惁鏈夋晥
+		SysUser sysUser = sysUserService.getUserByName(username);
+		result = sysUserService.checkUserIsEffective(sysUser);
+		if(!result.isSuccess()) {
+			return result;
+		}
+		//update-begin-author:wangshuai date:20201118 for:濡傛灉鐪熷疄濮撳悕鍜屽ご鍍忎笉瀛樺湪灏卞彇绗笁鏂圭櫥褰曠殑
+		LambdaQueryWrapper<SysThirdAccount> query = new LambdaQueryWrapper<>();
+		query.eq(SysThirdAccount::getSysUserId,sysUser.getId());
+		query.eq(SysThirdAccount::getThirdType,thirdType);
+		SysThirdAccount account = sysThirdAccountService.getOne(query);
+		if(oConvertUtils.isEmpty(sysUser.getRealname())){
+			sysUser.setRealname(account.getRealname());
+		}
+		if(oConvertUtils.isEmpty(sysUser.getAvatar())){
+			sysUser.setAvatar(account.getAvatar());
+		}
+		//update-end-author:wangshuai date:20201118 for:濡傛灉鐪熷疄濮撳悕鍜屽ご鍍忎笉瀛樺湪灏卞彇绗笁鏂圭櫥褰曠殑
+		JSONObject obj = new JSONObject();
+		//鐢ㄦ埛鐧诲綍淇℃伅
+		obj.put("userInfo", sysUser);
+		//token 淇℃伅
+		obj.put("token", token);
+		result.setResult(obj);
+		result.setSuccess(true);
+		result.setCode(200);
+		baseCommonService.addLog("鐢ㄦ埛鍚�: " + username + ",鐧诲綍鎴愬姛[绗笁鏂圭敤鎴穄锛�", CommonConstant.LOG_TYPE_1, null);
+		return result;
+	}
+	/**
+	 * 绗笁鏂圭粦瀹氭墜鏈哄彿杩斿洖token
+	 *
+	 * @param jsonObject
+	 * @return
+	 */
+	@ApiOperation("鎵嬫満鍙风櫥褰曟帴鍙�")
+	@PostMapping("/bindingThirdPhone")
+	@ResponseBody
+	public Result<String> bindingThirdPhone(@RequestBody JSONObject jsonObject) {
+		Result<String> result = new Result<String>();
+		String phone = jsonObject.getString("mobile");
+		String thirdUserUuid = jsonObject.getString("thirdUserUuid");
+		// 鏍¢獙楠岃瘉鐮�
+		String captcha = jsonObject.getString("captcha");
+		//update-begin-author:taoyan date:2022-9-13 for: VUEN-2245 銆愭紡娲炪�戝彂鐜版柊婕忔礊寰呭鐞�20220906
+		String redisKey = CommonConstant.PHONE_REDIS_KEY_PRE+phone;
+		Object captchaCache = redisUtil.get(redisKey);
+		//update-end-author:taoyan date:2022-9-13 for: VUEN-2245 銆愭紡娲炪�戝彂鐜版柊婕忔礊寰呭鐞�20220906
+		if (oConvertUtils.isEmpty(captcha) || !captcha.equals(captchaCache)) {
+			result.setMessage("楠岃瘉鐮侀敊璇�");
+			result.setSuccess(false);
+			return result;
+		}
+		//鏍¢獙鐢ㄦ埛鏈夋晥鎬�
+		SysUser sysUser = sysUserService.getUserByPhone(phone);
+		if(sysUser != null){
+			// 瀛樺湪鐢ㄦ埛锛岀洿鎺ョ粦瀹�
+			sysThirdAccountService.updateThirdUserId(sysUser,thirdUserUuid);
+		}else{
+			// 涓嶅瓨鍦ㄦ墜鏈哄彿锛屽垱寤虹敤鎴�
+			sysUser = sysThirdAccountService.createUser(phone,thirdUserUuid);
+		}
+		String token = saveToken(sysUser);
+		result.setSuccess(true);
+		result.setResult(token);
+		return result;
+	}
 
-    /**
-     * 绗笁鏂圭粦瀹氭墜鏈哄彿杩斿洖token
-     *
-     * @param jsonObject
-     * @return
-     */
-    @ApiOperation("鎵嬫満鍙风櫥褰曟帴鍙�")
-    @PostMapping("/bindingThirdPhone")
-    @ResponseBody
-    public Result<String> bindingThirdPhone(@RequestBody JSONObject jsonObject) {
-        Result<String> result = new Result<String>();
-        String phone = jsonObject.getString("mobile");
-        String thirdUserUuid = jsonObject.getString("thirdUserUuid");
-        // 鏍¢獙楠岃瘉鐮�
-        String captcha = jsonObject.getString("captcha");
-        //update-begin-author:taoyan date:2022-9-13 for: VUEN-2245 銆愭紡娲炪�戝彂鐜版柊婕忔礊寰呭鐞�20220906
-        String redisKey = CommonConstant.PHONE_REDIS_KEY_PRE + phone;
-        Object captchaCache = redisUtil.get(redisKey);
-        //update-end-author:taoyan date:2022-9-13 for: VUEN-2245 銆愭紡娲炪�戝彂鐜版柊婕忔礊寰呭鐞�20220906
-        if (oConvertUtils.isEmpty(captcha) || !captcha.equals(captchaCache)) {
-            result.setMessage("楠岃瘉鐮侀敊璇�");
-            result.setSuccess(false);
-            return result;
-        }
-        //鏍¢獙鐢ㄦ埛鏈夋晥鎬�
-        SysUser sysUser = sysUserService.getUserByPhone(phone);
-        if (sysUser != null) {
-            // 瀛樺湪鐢ㄦ埛锛岀洿鎺ョ粦瀹�
-            sysThirdAccountService.updateThirdUserId(sysUser, thirdUserUuid);
-        } else {
-            // 涓嶅瓨鍦ㄦ墜鏈哄彿锛屽垱寤虹敤鎴�
-            sysUser = sysThirdAccountService.createUser(phone, thirdUserUuid);
-        }
-        String token = saveToken(sysUser);
-        result.setSuccess(true);
-        result.setResult(token);
-        return result;
-    }
-
-    /**
-     * 浼佷笟寰俊/閽夐拤 OAuth2鐧诲綍
-     *
-     * @param source
-     * @param state
-     * @return
-     */
-    @ResponseBody
-    @GetMapping("/oauth2/{source}/login")
-    public String oauth2LoginCallback(@PathVariable("source") String source, @RequestParam("state") String state, HttpServletResponse response) throws Exception {
-        String url;
-        if (ThirdAppConfig.WECHAT_ENTERPRISE.equalsIgnoreCase(source)) {
-            ThirdAppTypeItemVo config = thirdAppConfig.getWechatEnterprise();
-            StringBuilder builder = new StringBuilder();
-            // 鏋勯�犱紒涓氬井淇Auth2鐧诲綍鎺堟潈鍦板潃
-            builder.append("https://open.weixin.qq.com/connect/oauth2/authorize");
-            // 浼佷笟鐨凜orpID
-            builder.append("?appid=").append(config.getClientId());
-            // 鎺堟潈鍚庨噸瀹氬悜鐨勫洖璋冮摼鎺ュ湴鍧�锛岃浣跨敤urlencode瀵归摼鎺ヨ繘琛屽鐞�
-            String redirectUri ="http://houjie.xalxzn.com:8866/jeecg-boot/sys/thirdLogin/oauth2/wechat_enterprise/callback";
-            builder.append("&redirect_uri=").append(URLEncoder.encode(redirectUri, "UTF-8"));
-            // 杩斿洖绫诲瀷锛屾鏃跺浐瀹氫负锛歝ode
-            builder.append("&response_type=code");
-            // 搴旂敤鎺堟潈浣滅敤鍩熴��
-            // snsapi_base锛氶潤榛樻巿鏉冿紝鍙幏鍙栨垚鍛樼殑鐨勫熀纭�淇℃伅锛圲serId涓嶥eviceId锛夛紱
-            builder.append("&scope=snsapi_base");
-            // 閲嶅畾鍚戝悗浼氬甫涓妔tate鍙傛暟锛岄暱搴︿笉鍙秴杩�128涓瓧鑺�
-            builder.append("&state=").append(state);
-            // 缁堢浣跨敤姝ゅ弬鏁板垽鏂槸鍚﹂渶瑕佸甫涓婅韩浠戒俊鎭�
-            builder.append("#wechat_redirect");
-            url = builder.toString();
-        } else if (ThirdAppConfig.DINGTALK.equalsIgnoreCase(source)) {
-            ThirdAppTypeItemVo config = thirdAppConfig.getDingtalk();
-            StringBuilder builder = new StringBuilder();
-            // 鏋勯�犻拤閽塐Auth2鐧诲綍鎺堟潈鍦板潃
-            builder.append("https://login.dingtalk.com/oauth2/auth");
-            // 鎺堟潈閫氳繃/鎷掔粷鍚庡洖璋冨湴鍧�銆�
-            // 娉ㄦ剰 闇�瑕佷笌娉ㄥ唽搴旂敤鏃剁櫥璁扮殑鍩熷悕淇濇寔涓�鑷淬��
-            String redirectUri ="http://houjie.xalxzn.com:8866/jeecg-boot/sys/thirdLogin/oauth2/dingtalk/callback";
-            builder.append("?redirect_uri=").append(URLEncoder.encode(redirectUri, "UTF-8"));
-            // 鍥哄畾鍊间负code銆�
-            // 鎺堟潈閫氳繃鍚庤繑鍥瀉uthCode銆�
-            builder.append("&response_type=code");
-            // 姝ラ涓�涓垱寤虹殑搴旂敤璇︽儏涓幏鍙栥��
-            // 浼佷笟鍐呴儴搴旂敤锛歝lient_id涓哄簲鐢ㄧ殑AppKey銆�
-            builder.append("&client_id=").append(config.getClientId());
-            // 鎺堟潈鑼冨洿锛屾巿鏉冮〉闈㈡樉绀虹殑鎺堟潈淇℃伅浠ュ簲鐢ㄦ敞鍐屾椂閰嶇疆鐨勪负鍑嗐��
-            // openid锛氭巿鏉冨悗鍙幏寰楃敤鎴穟serid
-            builder.append("&scope=openid");
-            // 璺熼殢authCode鍘熸牱杩斿洖銆�
-            builder.append("&state=").append(state);
+	/**
+	 * 浼佷笟寰俊/閽夐拤 OAuth2鐧诲綍
+	 *
+	 * @param source
+	 * @param state
+	 * @return
+	 */
+	@ResponseBody
+	@GetMapping("/oauth2/{source}/login")
+	public String oauth2LoginCallback(@PathVariable("source") String source, @RequestParam("state") String state, HttpServletResponse response) throws Exception {
+		String url;
+		if (ThirdAppConfig.WECHAT_ENTERPRISE.equalsIgnoreCase(source)) {
+			ThirdAppTypeItemVo config = thirdAppConfig.getWechatEnterprise();
+			StringBuilder builder = new StringBuilder();
+			// 鏋勯�犱紒涓氬井淇Auth2鐧诲綍鎺堟潈鍦板潃
+			builder.append("https://open.weixin.qq.com/connect/oauth2/authorize");
+			// 浼佷笟鐨凜orpID
+			builder.append("?appid=").append(config.getClientId());
+			// 鎺堟潈鍚庨噸瀹氬悜鐨勫洖璋冮摼鎺ュ湴鍧�锛岃浣跨敤urlencode瀵归摼鎺ヨ繘琛屽鐞�
+			String redirectUri = RestUtil.getBaseUrl() + "/sys/thirdLogin/oauth2/wechat_enterprise/callback";
+			builder.append("&redirect_uri=").append(URLEncoder.encode(redirectUri, "UTF-8"));
+			// 杩斿洖绫诲瀷锛屾鏃跺浐瀹氫负锛歝ode
+			builder.append("&response_type=code");
+			// 搴旂敤鎺堟潈浣滅敤鍩熴��
+			// snsapi_base锛氶潤榛樻巿鏉冿紝鍙幏鍙栨垚鍛樼殑鐨勫熀纭�淇℃伅锛圲serId涓嶥eviceId锛夛紱
+			builder.append("&scope=snsapi_base");
+			// 閲嶅畾鍚戝悗浼氬甫涓妔tate鍙傛暟锛岄暱搴︿笉鍙秴杩�128涓瓧鑺�
+			builder.append("&state=").append(state);
+			// 缁堢浣跨敤姝ゅ弬鏁板垽鏂槸鍚﹂渶瑕佸甫涓婅韩浠戒俊鎭�
+			builder.append("#wechat_redirect");
+			url = builder.toString();
+		} else if (ThirdAppConfig.DINGTALK.equalsIgnoreCase(source)) {
+			ThirdAppTypeItemVo config = thirdAppConfig.getDingtalk();
+			StringBuilder builder = new StringBuilder();
+			// 鏋勯�犻拤閽塐Auth2鐧诲綍鎺堟潈鍦板潃
+			builder.append("https://login.dingtalk.com/oauth2/auth");
+			// 鎺堟潈閫氳繃/鎷掔粷鍚庡洖璋冨湴鍧�銆�
+			// 娉ㄦ剰 闇�瑕佷笌娉ㄥ唽搴旂敤鏃剁櫥璁扮殑鍩熷悕淇濇寔涓�鑷淬��
+			String redirectUri = RestUtil.getBaseUrl() + "/sys/thirdLogin/oauth2/dingtalk/callback";
+			builder.append("?redirect_uri=").append(URLEncoder.encode(redirectUri, "UTF-8"));
+			// 鍥哄畾鍊间负code銆�
+			// 鎺堟潈閫氳繃鍚庤繑鍥瀉uthCode銆�
+			builder.append("&response_type=code");
+			// 姝ラ涓�涓垱寤虹殑搴旂敤璇︽儏涓幏鍙栥��
+			// 浼佷笟鍐呴儴搴旂敤锛歝lient_id涓哄簲鐢ㄧ殑AppKey銆�
+			builder.append("&client_id=").append(config.getClientId());
+			// 鎺堟潈鑼冨洿锛屾巿鏉冮〉闈㈡樉绀虹殑鎺堟潈淇℃伅浠ュ簲鐢ㄦ敞鍐屾椂閰嶇疆鐨勪负鍑嗐��
+			// openid锛氭巿鏉冨悗鍙幏寰楃敤鎴穟serid
+			builder.append("&scope=openid");
+			// 璺熼殢authCode鍘熸牱杩斿洖銆�
+			builder.append("&state=").append(state);
             //update-begin---author:wangshuai ---date:20220613  for锛歔issues/I5BOUF]oauth2 閽夐拤鏃犳硶鐧诲綍------------
             builder.append("&prompt=").append("consent");
             //update-end---author:wangshuai ---date:20220613  for锛歔issues/I5BOUF]oauth2 閽夐拤鏃犳硶鐧诲綍--------------
             url = builder.toString();
-        } else {
-            return "涓嶆敮鎸佺殑source";
-        }
-        log.info("oauth2 login url:" + url);
-        response.sendRedirect(url);
-     return  "login..";
-    }
+		} else {
+			return "涓嶆敮鎸佺殑source";
+		}
+		log.info("oauth2 login url:" + url);
+		response.sendRedirect(url);
+		return "login鈥�";
+	}
 
     /**
      * 浼佷笟寰俊/閽夐拤 OAuth2鐧诲綍鍥炶皟
@@ -359,16 +355,16 @@
      * @param response
      * @return
      */
-    @ResponseBody
-    @GetMapping("/oauth2/{source}/callback")
-    public String oauth2LoginCallback(
-            @PathVariable("source") String source,
-            // 浼佷笟寰俊杩斿洖鐨刢ode
-            @RequestParam(value = "code", required = false) String code,
-            // 閽夐拤杩斿洖鐨刢ode
-            @RequestParam(value = "authCode", required = false) String authCode,
-            @RequestParam("state") String state,
-            HttpServletResponse response) {
+	@ResponseBody
+	@GetMapping("/oauth2/{source}/callback")
+	public String oauth2LoginCallback(
+			@PathVariable("source") String source,
+			// 浼佷笟寰俊杩斿洖鐨刢ode
+			@RequestParam(value = "code", required = false) String code,
+			// 閽夐拤杩斿洖鐨刢ode
+			@RequestParam(value = "authCode", required = false) String authCode,
+			@RequestParam("state") String state,
+			HttpServletResponse response) {
         SysUser loginUser;
         if (ThirdAppConfig.WECHAT_ENTERPRISE.equalsIgnoreCase(source)) {
             log.info("銆愪紒涓氬井淇°�慜Auth2鐧诲綍杩涘叆callback锛歝ode=" + code + ", state=" + state);
@@ -377,37 +373,38 @@
                 return "鐧诲綍澶辫触";
             }
         } else if (ThirdAppConfig.DINGTALK.equalsIgnoreCase(source)) {
-            log.info("銆愰拤閽夈�慜Auth2鐧诲綍杩涘叆callback锛歛uthCode=" + authCode + ", state=" + state);
-            loginUser = thirdAppDingtalkService.oauth2Login(authCode);
-            if (loginUser == null) {
-                return "鐧诲綍澶辫触";
-            }
+			log.info("銆愰拤閽夈�慜Auth2鐧诲綍杩涘叆callback锛歛uthCode=" + authCode + ", state=" + state);
+			loginUser = thirdAppDingtalkService.oauth2Login(authCode);
+			if (loginUser == null) {
+				return "鐧诲綍澶辫触";
+			}
         } else {
             return "涓嶆敮鎸佺殑source";
         }
         try {
 
-            //update-begin-author:taoyan date:2022-6-30 for: 宸ヤ綔娴佸彂閫佹秷鎭� 鐐瑰嚮娑堟伅閾炬帴璺宠浆鍔炵悊椤甸潰
-            String redirect = "";
-            if (state.indexOf("?") > 0) {
-                String[] arr = state.split("\\?");
-                state = arr[0];
-                if (arr.length > 1) {
-                    redirect = arr[1];
-                }
-            }
-            String token = saveToken(loginUser);
-            state += "/h5/oauth2-app/login?oauth2LoginToken=" + URLEncoder.encode(token, "UTF-8");
-            //update-begin---author:wangshuai ---date:20220613  for锛歔issues/I5BOUF]oauth2 閽夐拤鏃犳硶鐧诲綍------------
-            state += "&thirdType=" + source;
-            //state += "&thirdType=" + "wechat_enterprise";
-            if (redirect != null && redirect.length() > 0) {
-                state += "&" + redirect;
-            }
-            //update-end-author:taoyan date:2022-6-30 for: 宸ヤ綔娴佸彂閫佹秷鎭� 鐐瑰嚮娑堟伅閾炬帴璺宠浆鍔炵悊椤甸潰
+			//update-begin-author:taoyan date:2022-6-30 for: 宸ヤ綔娴佸彂閫佹秷鎭� 鐐瑰嚮娑堟伅閾炬帴璺宠浆鍔炵悊椤甸潰
+			String redirect = "";
+			if (state.indexOf("?") > 0) {
+				String[] arr = state.split("\\?");
+				state = arr[0];
+				if(arr.length>1){
+					redirect = arr[1];
+				}
+			}
+
+			String token = saveToken(loginUser);
+			state += "/oauth2-app/login?oauth2LoginToken=" + URLEncoder.encode(token, "UTF-8");
+			//update-begin---author:wangshuai ---date:20220613  for锛歔issues/I5BOUF]oauth2 閽夐拤鏃犳硶鐧诲綍------------
+			state += "&thirdType=" + source;
+			//state += "&thirdType=" + "wechat_enterprise";
+			if (redirect != null && redirect.length() > 0) {
+				state += "&redirect=" + redirect;
+			}
+			//update-end-author:taoyan date:2022-6-30 for: 宸ヤ綔娴佸彂閫佹秷鎭� 鐐瑰嚮娑堟伅閾炬帴璺宠浆鍔炵悊椤甸潰
 
             //update-end---author:wangshuai ---date:20220613  for锛歔issues/I5BOUF]oauth2 閽夐拤鏃犳硶鐧诲綍------------
-            log.info("OAuth2鐧诲綍閲嶅畾鍚戝湴鍧�: " + state);
+			log.info("OAuth2鐧诲綍閲嶅畾鍚戝湴鍧�: " + state);
             try {
                 response.sendRedirect(state);
                 return "ok";
diff --git a/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/service/impl/SysDictServiceImpl.java b/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/service/impl/SysDictServiceImpl.java
index 85bee7b..38be9f5 100644
--- a/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/service/impl/SysDictServiceImpl.java
+++ b/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/service/impl/SysDictServiceImpl.java
@@ -62,7 +62,7 @@
 	}
 
 	@Override
-//	@Cacheable(value = CacheConstant.SYS_ENABLE_DICT_CACHE,key = "#code", unless = "#result == null ")
+	//@Cacheable(value = CacheConstant.SYS_ENABLE_DICT_CACHE,key = "#code", unless = "#result == null ")
 	public List<DictModel> queryEnableDictItemsByCode(String code) {
 		log.debug("鏃犵紦瀛榙ictCache鐨勬椂鍊欒皟鐢ㄨ繖閲岋紒");
 		return sysDictMapper.queryEnableDictItemsByCode(code);

--
Gitblit v1.9.3