| | |
| | | @GetMapping("/ukLogin") |
| | | public void ukLogin(String tick, Object obj, HttpServletRequest request, HttpServletResponse response) throws Exception { |
| | | LoginRequestNewParam requestParam = new LoginRequestNewParam(); |
| | | // UK_ERROR_URL = "http://u.zhibang.com/sso/web/token/error"; |
| | | String errorUrl =systemDictDataBiz.queryByCode(Constants.ZBOM_PARAM,Constants.ZBOM_UK_ERROR_URL).getCode(); |
| | | String errorUrl =systemDictDataBiz.queryByCode(Constants.SYSTEM,Constants.ZBOM_UK_ERROR_URL).getCode(); |
| | | String token = ""; |
| | | try { |
| | | log.error("请求参数TICK最原始===========:" + tick); |
| | | JSONObject urlParams = new JSONObject(); |
| | | log.info("请求参数:" + JSON.toJSONString(urlParams)); |
| | | String url = systemDictDataBiz.queryByCode(Constants.ZBOM_PARAM,Constants.ZBOM_TICKET_LOGIN_URL).getCode() + "?tick=" + URLEncoder.encode(tick,Constants.UTF); |
| | | String url = systemDictDataBiz.queryByCode(Constants.SYSTEM,Constants.ZBOM_TICKET_LOGIN_URL).getCode() + "?tick=" + URLEncoder.encode(tick,Constants.UTF); |
| | | String post = HttpUtil.get(url); |
| | | log.info("返回参数:" + post); |
| | | JSONObject json = JSONObject.parseObject(post); |
| | |
| | | JSONObject userInfo = JSONObject.parseObject(data); |
| | | log.error("U客登录返回参数:" + userInfo.toString()); |
| | | WebLoginUserVO loginUserVO = new WebLoginUserVO(); |
| | | if(StringUtils.isBlank(userInfo.getString("buserPhone"))){ |
| | | log.error("案例库系统单点登录失败 错误原因获取tick失败:未返回用户唯一信息"); |
| | | throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"案例库系统单点登录失败 错误原因获取tick失败:未返回用户唯一信息"); |
| | | } |
| | | loginUserVO.setId(userInfo.getString("buserPhone")); |
| | | if(userInfo.getString("distrcode").isEmpty()){ |
| | | loginUserVO.setShowFee(Constants.ONE); |
| | | if(StringUtils.isBlank(userInfo.getString("distrcode"))){ |
| | | loginUserVO.setShowFee(Constants.ZERO); |
| | | }else{ |
| | | JSONArray jsonArray = userInfo.getJSONArray("ukRoles"); |
| | | this.setLoginShowFee(loginUserVO,jsonArray); |
| | | if(userInfo.getString("distrcode").isEmpty()){ |
| | | loginUserVO.setShowFee(Constants.ONE); |
| | | }else{ |
| | | if(StringUtils.isBlank(userInfo.getString("ukRoles"))){ |
| | | loginUserVO.setShowFee(Constants.ZERO); |
| | | }else{ |
| | | JSONArray jsonArray = userInfo.getJSONArray("ukRoles"); |
| | | this.setLoginShowFee(loginUserVO,jsonArray); |
| | | } |
| | | } |
| | | } |
| | | if(StringUtils.isNotBlank(userInfo.getString("userMarkets"))){ |
| | | if(!userInfo.getString("userMarkets").isEmpty()){ |
| | | JSONArray jsonArray = userInfo.getJSONArray("userMarkets"); |
| | | this.setLoginZhanqu(loginUserVO,jsonArray); |
| | | } |
| | | } |
| | | log.error("web用户信息"+JSONObject.toJSONString(loginUserVO)); |
| | | token = jwtTokenUtil.generateToken(loginUserVO); |
| | | } else { |
| | | log.error("案例库系统单点登录失败 错误原因获取tick失败" + json.getString("message")); |
| | | response.sendRedirect(errorUrl + "?title=" + enCode("登陆错误") + "&msg="+ enCode(json.getString("message"))); |
| | | response.sendRedirect(errorUrl + this.getPadStr(errorUrl) + "title=" + enCode("登陆错误") + "&msg="+ enCode(json.getString("message"))); |
| | | return; |
| | | } |
| | | } catch (Exception e) { |
| | | log.error("ticket接口请求错误:" + e.getMessage()); |
| | | response.sendRedirect(errorUrl + "?title=" + enCode("登陆错误") + "&msg=" + enCode("系统繁忙,请稍后重试~")); |
| | | response.sendRedirect(errorUrl + this.getPadStr(errorUrl) +"title=" + enCode("登陆错误") + "&msg=" + enCode("系统繁忙,请稍后重试~")); |
| | | return; |
| | | } |
| | | requestParam.setRediUrl("https://test.doumee.cn/h5/"); |
| | | log.error("跳转地址跳转信息:" + requestParam.getRediUrl()+"?token="+token); |
| | | response.sendRedirect(requestParam.getRediUrl()+"?token="+token); |
| | | requestParam.setRediUrl(systemDictDataBiz.queryByCode(Constants.SYSTEM,Constants.UK_JUMP_URL).getCode()); |
| | | log.error("跳转地址跳转信息:" + requestParam.getRediUrl()+this.getPadStr(requestParam.getRediUrl())+"token="+token); |
| | | response.sendRedirect(requestParam.getRediUrl()+this.getPadStr(requestParam.getRediUrl())+"token="+token); |
| | | } |
| | | |
| | | public String getPadStr(String url) { |
| | | return url.indexOf("?")>=Constants.ZERO?"&":"?"; |
| | | } |
| | | |
| | | public void setLoginShowFee(WebLoginUserVO loginUserVO,JSONArray jsonArray){ |
| | | String roleConfig = systemDictDataBiz.queryByCode(Constants.SYSTEM, Constants.ROLE_CONFIG).getCode(); |
| | |
| | | } |
| | | } |
| | | |
| | | |
| | | public void setLoginZhanqu(WebLoginUserVO loginUserVO,JSONArray jsonArray){ |
| | | String zhanquCode = ""; |
| | | for (int i = 0; i < jsonArray.size(); i++) { |
| | | JSONObject j = jsonArray.getJSONObject(i); |
| | | zhanquCode = zhanquCode + (StringUtils.isNotBlank(zhanquCode)?",":"") + j.getString("segment1"); |
| | | } |
| | | loginUserVO.setZhanqu(zhanquCode); |
| | | } |
| | | |
| | | @ApiOperation("钉钉登录") |
| | | @PostMapping("/ddLogin") |
| | | public ApiResponse<WebLoginUserVO> ddLogin(@RequestBody DingLoginDTO dingLoginDTO) throws ApiException { |
| | |
| | | System.out.println("钉钉授权登录入参:"+JSONObject.toJSONString(dingLoginDTO)); |
| | | OapiV2UserGetuserinfoResponse.UserGetByCodeResponse response = dingTalk.getDDUserByCode(dingLoginDTO); |
| | | log.error("钉钉授权登录返参:"+JSONObject.toJSONString(response)); |
| | | System.out.println("钉钉授权登录返参:"+JSONObject.toJSONString(response)); |
| | | if(Objects.nonNull(response)){ |
| | | loginUserVO.setId(response.getUserid()); |
| | | loginUserVO.setShowFee(Constants.ONE); |
| | | } |
| | | loginUserVO.setToken(jwtTokenUtil.generateToken(loginUserVO)); |
| | | log.error("钉钉授权登录获取token信息返参:"+JSONObject.toJSONString(loginUserVO)); |
| | | return ApiResponse.success(loginUserVO); |
| | | } |
| | | |
| | |
| | | log.error("分页查询用户信息"+JSONObject.toJSONString(loginUserVO)); |
| | | pageWrap.getModel().setQueryZQCode(loginUserVO.getZhanqu()); |
| | | PageData<Member> pageData = memberService.findPage(pageWrap); |
| | | |
| | | if(CollectionUtils.isNotEmpty(pageData.getRecords())){ |
| | | log.error("分页数据信息"+JSONObject.toJSONString(pageData.getRecords())); |
| | | if(Constants.equalsInteger(Constants.ZERO,loginUserVO.getShowFee())){ |