From 38d111cb6defedff3bf06314ca30d22a01faae22 Mon Sep 17 00:00:00 2001
From: rk <94314517@qq.com>
Date: 星期一, 09 二月 2026 16:30:36 +0800
Subject: [PATCH] 功能开发
---
server/web/src/main/java/com/doumee/api/web/LoginController.java | 57 +++++++++++++++++++++++++++++++++++++++++++--------------
1 files changed, 43 insertions(+), 14 deletions(-)
diff --git a/server/web/src/main/java/com/doumee/api/web/LoginController.java b/server/web/src/main/java/com/doumee/api/web/LoginController.java
index 0c0d402..d9f6436 100644
--- a/server/web/src/main/java/com/doumee/api/web/LoginController.java
+++ b/server/web/src/main/java/com/doumee/api/web/LoginController.java
@@ -87,14 +87,13 @@
@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);
@@ -105,30 +104,51 @@
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();
@@ -151,6 +171,16 @@
}
}
+
+ 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 {
@@ -159,12 +189,12 @@
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);
}
@@ -192,7 +222,6 @@
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())){
--
Gitblit v1.9.3