From bd16ff1485523ee81c9ff968f102b51f42fec189 Mon Sep 17 00:00:00 2001 From: "liang.chao" Date: Sat, 27 Jan 2024 11:03:18 +0800 Subject: [PATCH] =?UTF-8?q?=E5=8D=95=E7=82=B9=E7=99=BB=E5=BD=95=E5=A4=84?= =?UTF-8?q?=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- sgzb-auth/pom.xml | 7 +- .../bonus/sgzb/auth/SgzbAuthApplication.java | 2 + .../sgzb/auth/controller/TokenController.java | 21 --- .../sgzb/auth/form/OnlineApproveEnum.java | 21 --- sgzb-auth/src/main/resources/bootstrap.yml | 6 - .../system/controller/SysUserController.java | 23 ++++ .../sgzb/system/domain}/AccountTypeEnum.java | 2 +- .../domain}/AuthenticationLoginFrom.java | 2 +- .../sgzb/system/domain}/LoginResultForm.java | 2 +- .../system/domain}/LoginUserInfoRespDTO.java | 2 +- .../sgzb/system/domain}/NwLoginConstants.java | 9 +- .../sgzb/system/domain/OnlineApprove.java | 18 +++ .../sgzb/system/domain/RespLoginData.java | 121 ++++++++++++++++++ .../sgzb/system/domain}/UserAccount.java | 2 +- .../sgzb/system/service/ISysUserService.java | 10 +- .../service/impl}/NwUserLoginService.java | 73 ++++++----- .../service/impl/SysUserServiceImpl.java | 5 - .../bonus/sgzb/system/util}/HttpUtils.java | 34 ++--- .../src/main/resources/bootstrap.yml | 7 + 19 files changed, 245 insertions(+), 122 deletions(-) delete mode 100644 sgzb-auth/src/main/java/com/bonus/sgzb/auth/form/OnlineApproveEnum.java rename {sgzb-auth/src/main/java/com/bonus/sgzb/auth/form => sgzb-modules/sgzb-system/src/main/java/com/bonus/sgzb/system/domain}/AccountTypeEnum.java (96%) rename {sgzb-auth/src/main/java/com/bonus/sgzb/auth/form => sgzb-modules/sgzb-system/src/main/java/com/bonus/sgzb/system/domain}/AuthenticationLoginFrom.java (93%) rename {sgzb-auth/src/main/java/com/bonus/sgzb/auth/form => sgzb-modules/sgzb-system/src/main/java/com/bonus/sgzb/system/domain}/LoginResultForm.java (90%) rename {sgzb-auth/src/main/java/com/bonus/sgzb/auth/form => sgzb-modules/sgzb-system/src/main/java/com/bonus/sgzb/system/domain}/LoginUserInfoRespDTO.java (99%) rename {sgzb-auth/src/main/java/com/bonus/sgzb/auth/form => sgzb-modules/sgzb-system/src/main/java/com/bonus/sgzb/system/domain}/NwLoginConstants.java (89%) create mode 100644 sgzb-modules/sgzb-system/src/main/java/com/bonus/sgzb/system/domain/OnlineApprove.java create mode 100644 sgzb-modules/sgzb-system/src/main/java/com/bonus/sgzb/system/domain/RespLoginData.java rename {sgzb-auth/src/main/java/com/bonus/sgzb/auth/form => sgzb-modules/sgzb-system/src/main/java/com/bonus/sgzb/system/domain}/UserAccount.java (99%) rename {sgzb-auth/src/main/java/com/bonus/sgzb/auth/service => sgzb-modules/sgzb-system/src/main/java/com/bonus/sgzb/system/service/impl}/NwUserLoginService.java (63%) rename {sgzb-auth/src/main/java/com/bonus/sgzb/auth/utils => sgzb-modules/sgzb-system/src/main/java/com/bonus/sgzb/system/util}/HttpUtils.java (76%) diff --git a/sgzb-auth/pom.xml b/sgzb-auth/pom.xml index 30ac3205..a00e0fcb 100644 --- a/sgzb-auth/pom.xml +++ b/sgzb-auth/pom.xml @@ -55,12 +55,7 @@ org.projectlombok lombok - - com.bonus.sgzb - sgzb-modules-system - 3.6.3 - compile - + diff --git a/sgzb-auth/src/main/java/com/bonus/sgzb/auth/SgzbAuthApplication.java b/sgzb-auth/src/main/java/com/bonus/sgzb/auth/SgzbAuthApplication.java index be5a2af2..1c11bb97 100644 --- a/sgzb-auth/src/main/java/com/bonus/sgzb/auth/SgzbAuthApplication.java +++ b/sgzb-auth/src/main/java/com/bonus/sgzb/auth/SgzbAuthApplication.java @@ -1,9 +1,11 @@ package com.bonus.sgzb.auth; +import org.mybatis.spring.annotation.MapperScan; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration; import com.bonus.sgzb.common.security.annotation.EnableRyFeignClients; +import org.springframework.context.annotation.ComponentScan; /** * 认证授权中心 diff --git a/sgzb-auth/src/main/java/com/bonus/sgzb/auth/controller/TokenController.java b/sgzb-auth/src/main/java/com/bonus/sgzb/auth/controller/TokenController.java index 150eee27..2d0d8af9 100644 --- a/sgzb-auth/src/main/java/com/bonus/sgzb/auth/controller/TokenController.java +++ b/sgzb-auth/src/main/java/com/bonus/sgzb/auth/controller/TokenController.java @@ -3,16 +3,12 @@ package com.bonus.sgzb.auth.controller; import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; -import com.bonus.sgzb.auth.form.AuthenticationLoginFrom; -import com.bonus.sgzb.auth.form.LoginResultForm; -import com.bonus.sgzb.auth.service.NwUserLoginService; import com.bonus.sgzb.common.core.constant.CacheConstants; import com.bonus.sgzb.common.redis.service.RedisService; import com.bonus.sgzb.system.api.RemoteUserService; import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.data.redis.core.RedisConnectionUtils; import org.springframework.web.bind.annotation.*; import com.bonus.sgzb.auth.form.LoginBody; import com.bonus.sgzb.auth.form.RegisterBody; @@ -44,9 +40,6 @@ public class TokenController { @Resource private RedisService redisService; - @Resource - private NwUserLoginService nwUserLoginService; - @Resource private RemoteUserService remoteUserService; @@ -65,20 +58,6 @@ public class TokenController { } } - @ApiOperation("微服务平台认证接口") - @PostMapping(value = "/onlineApprove") - public R onlineApprove(@RequestBody AuthenticationLoginFrom loginForm) { - if (loginForm == null || StringUtils.isBlank(loginForm.getType())) { - return R.fail("参数异常"); - } - try { - return nwUserLoginService.onlineApprove(loginForm); - } catch (Exception e) { - log.error("微服务平台认证登陆 异常: ", e); - return R.fail("微服务平台认证失败"); - } - } - //App端登录 @PostMapping("loginApp") public R loginApp(@RequestBody LoginBody form) { diff --git a/sgzb-auth/src/main/java/com/bonus/sgzb/auth/form/OnlineApproveEnum.java b/sgzb-auth/src/main/java/com/bonus/sgzb/auth/form/OnlineApproveEnum.java deleted file mode 100644 index ca7a2dd1..00000000 --- a/sgzb-auth/src/main/java/com/bonus/sgzb/auth/form/OnlineApproveEnum.java +++ /dev/null @@ -1,21 +0,0 @@ -package com.bonus.sgzb.auth.form; - -import lombok.AllArgsConstructor; -import lombok.Getter; - -/** - * @Author:梁超 - * @date:2024/1/26 - 14:02 - */ - -@Getter -@AllArgsConstructor -public enum OnlineApproveEnum { - WECHAT(3, NwLoginConstants.wechatAppId, NwLoginConstants.wechatAppsecret); - - - private final Integer code; - private final String appId; - private final String appsecret; - -} diff --git a/sgzb-auth/src/main/resources/bootstrap.yml b/sgzb-auth/src/main/resources/bootstrap.yml index 1e480e2c..86396ac3 100644 --- a/sgzb-auth/src/main/resources/bootstrap.yml +++ b/sgzb-auth/src/main/resources/bootstrap.yml @@ -25,9 +25,3 @@ spring: # 共享配置 shared-configs: - application-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension} - - -onlineApprove: /lbcloud-oauth/oauth/token -wechatAppId: hYmcqenX -wechatAppsecret: ff36270b4bfac1cc366bb2f969798f2d94cfe58d -getNowPersonDetailData: /lbcloud-user/user/queryLoginUserInfo diff --git a/sgzb-modules/sgzb-system/src/main/java/com/bonus/sgzb/system/controller/SysUserController.java b/sgzb-modules/sgzb-system/src/main/java/com/bonus/sgzb/system/controller/SysUserController.java index 01b642c7..04b29327 100644 --- a/sgzb-modules/sgzb-system/src/main/java/com/bonus/sgzb/system/controller/SysUserController.java +++ b/sgzb-modules/sgzb-system/src/main/java/com/bonus/sgzb/system/controller/SysUserController.java @@ -20,7 +20,11 @@ import com.bonus.sgzb.system.api.domain.SysDept; import com.bonus.sgzb.system.api.domain.SysRole; import com.bonus.sgzb.system.api.domain.SysUser; import com.bonus.sgzb.system.api.model.LoginUser; +import com.bonus.sgzb.system.domain.AuthenticationLoginFrom; import com.bonus.sgzb.system.service.*; +import com.bonus.sgzb.system.service.impl.NwUserLoginService; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.ArrayUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.validation.annotation.Validated; @@ -41,6 +45,7 @@ import java.util.stream.Collectors; */ @RestController @RequestMapping("/user") +@Slf4j public class SysUserController extends BaseController { @Autowired @@ -67,6 +72,9 @@ public class SysUserController extends BaseController @Resource private RemoteUserService remoteUserService; + @Resource + private NwUserLoginService nwUserLoginService; + /** * 获取用户列表 */ @@ -386,4 +394,19 @@ public class SysUserController extends BaseController public AjaxResult getUserByRoleList(SysUser sysUser) { return success(userService.getUserByRoleList(sysUser)); } + + + @ApiOperation("微服务平台认证接口") + @PostMapping(value = "/onlineApprove") + public R onlineApprove(@RequestBody AuthenticationLoginFrom loginForm) { + if (loginForm == null || StringUtils.isBlank(loginForm.getType())) { + return R.fail("参数异常"); + } + try { + return nwUserLoginService.onlineApprove(loginForm); + } catch (Exception e) { + log.error("微服务平台认证登陆 异常: ", e); + return R.fail("微服务平台认证失败"); + } + } } diff --git a/sgzb-auth/src/main/java/com/bonus/sgzb/auth/form/AccountTypeEnum.java b/sgzb-modules/sgzb-system/src/main/java/com/bonus/sgzb/system/domain/AccountTypeEnum.java similarity index 96% rename from sgzb-auth/src/main/java/com/bonus/sgzb/auth/form/AccountTypeEnum.java rename to sgzb-modules/sgzb-system/src/main/java/com/bonus/sgzb/system/domain/AccountTypeEnum.java index 4ee7d8eb..44748a7c 100644 --- a/sgzb-auth/src/main/java/com/bonus/sgzb/auth/form/AccountTypeEnum.java +++ b/sgzb-modules/sgzb-system/src/main/java/com/bonus/sgzb/system/domain/AccountTypeEnum.java @@ -1,4 +1,4 @@ -package com.bonus.sgzb.auth.form; +package com.bonus.sgzb.system.domain; import lombok.Getter; diff --git a/sgzb-auth/src/main/java/com/bonus/sgzb/auth/form/AuthenticationLoginFrom.java b/sgzb-modules/sgzb-system/src/main/java/com/bonus/sgzb/system/domain/AuthenticationLoginFrom.java similarity index 93% rename from sgzb-auth/src/main/java/com/bonus/sgzb/auth/form/AuthenticationLoginFrom.java rename to sgzb-modules/sgzb-system/src/main/java/com/bonus/sgzb/system/domain/AuthenticationLoginFrom.java index d994511e..c79a047d 100644 --- a/sgzb-auth/src/main/java/com/bonus/sgzb/auth/form/AuthenticationLoginFrom.java +++ b/sgzb-modules/sgzb-system/src/main/java/com/bonus/sgzb/system/domain/AuthenticationLoginFrom.java @@ -1,4 +1,4 @@ -package com.bonus.sgzb.auth.form; +package com.bonus.sgzb.system.domain; import lombok.Data; diff --git a/sgzb-auth/src/main/java/com/bonus/sgzb/auth/form/LoginResultForm.java b/sgzb-modules/sgzb-system/src/main/java/com/bonus/sgzb/system/domain/LoginResultForm.java similarity index 90% rename from sgzb-auth/src/main/java/com/bonus/sgzb/auth/form/LoginResultForm.java rename to sgzb-modules/sgzb-system/src/main/java/com/bonus/sgzb/system/domain/LoginResultForm.java index 1c326de4..a0c84834 100644 --- a/sgzb-auth/src/main/java/com/bonus/sgzb/auth/form/LoginResultForm.java +++ b/sgzb-modules/sgzb-system/src/main/java/com/bonus/sgzb/system/domain/LoginResultForm.java @@ -1,4 +1,4 @@ -package com.bonus.sgzb.auth.form; +package com.bonus.sgzb.system.domain; import lombok.Data; import lombok.ToString; diff --git a/sgzb-auth/src/main/java/com/bonus/sgzb/auth/form/LoginUserInfoRespDTO.java b/sgzb-modules/sgzb-system/src/main/java/com/bonus/sgzb/system/domain/LoginUserInfoRespDTO.java similarity index 99% rename from sgzb-auth/src/main/java/com/bonus/sgzb/auth/form/LoginUserInfoRespDTO.java rename to sgzb-modules/sgzb-system/src/main/java/com/bonus/sgzb/system/domain/LoginUserInfoRespDTO.java index cdb5baec..8283af50 100644 --- a/sgzb-auth/src/main/java/com/bonus/sgzb/auth/form/LoginUserInfoRespDTO.java +++ b/sgzb-modules/sgzb-system/src/main/java/com/bonus/sgzb/system/domain/LoginUserInfoRespDTO.java @@ -1,4 +1,4 @@ -package com.bonus.sgzb.auth.form; +package com.bonus.sgzb.system.domain; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; diff --git a/sgzb-auth/src/main/java/com/bonus/sgzb/auth/form/NwLoginConstants.java b/sgzb-modules/sgzb-system/src/main/java/com/bonus/sgzb/system/domain/NwLoginConstants.java similarity index 89% rename from sgzb-auth/src/main/java/com/bonus/sgzb/auth/form/NwLoginConstants.java rename to sgzb-modules/sgzb-system/src/main/java/com/bonus/sgzb/system/domain/NwLoginConstants.java index 293fa9a4..5e4fcfea 100644 --- a/sgzb-auth/src/main/java/com/bonus/sgzb/auth/form/NwLoginConstants.java +++ b/sgzb-modules/sgzb-system/src/main/java/com/bonus/sgzb/system/domain/NwLoginConstants.java @@ -1,4 +1,4 @@ -package com.bonus.sgzb.auth.form; +package com.bonus.sgzb.system.domain; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Component; @@ -47,8 +47,15 @@ public class NwLoginConstants { public static String wechatAppId; + //访问地址 + public static String baseUrl; public static String wechatAppsecret; + @Value("${baseUrl}") + public void setBaseUrl(String baseUrl) { + NwLoginConstants.baseUrl = baseUrl; + } + @Value("${getNowPersonDetailData}") public void setGetNowPersonDetailData(String getNowPersonDetailData) { NwLoginConstants.getNowPersonDetailData = getNowPersonDetailData; diff --git a/sgzb-modules/sgzb-system/src/main/java/com/bonus/sgzb/system/domain/OnlineApprove.java b/sgzb-modules/sgzb-system/src/main/java/com/bonus/sgzb/system/domain/OnlineApprove.java new file mode 100644 index 00000000..e58e89ec --- /dev/null +++ b/sgzb-modules/sgzb-system/src/main/java/com/bonus/sgzb/system/domain/OnlineApprove.java @@ -0,0 +1,18 @@ +package com.bonus.sgzb.system.domain; + +import lombok.Data; + +/** + * @Author:梁超 + * @date:2024/1/26 - 14:02 + */ + +@Data +public class OnlineApprove { +// WECHAT(3, NwLoginConstants.wechatAppId, NwLoginConstants.wechatAppsecret); + + private Integer code; + private String appId; + private String appsecret; + +} diff --git a/sgzb-modules/sgzb-system/src/main/java/com/bonus/sgzb/system/domain/RespLoginData.java b/sgzb-modules/sgzb-system/src/main/java/com/bonus/sgzb/system/domain/RespLoginData.java new file mode 100644 index 00000000..73da804d --- /dev/null +++ b/sgzb-modules/sgzb-system/src/main/java/com/bonus/sgzb/system/domain/RespLoginData.java @@ -0,0 +1,121 @@ +package com.bonus.sgzb.system.domain; + + +import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSONObject; +import org.apache.commons.lang3.StringUtils; + +import java.util.List; + +/** + * @author caoxianfei + * @Version 1.0 + * @date 2021-08-13 10:07 + */ +public class RespLoginData { + + protected String code; + protected String message; + protected String msg; + protected String status; + protected Boolean success; + protected List dataList; + protected T data; + + public RespLoginData(){ + } + + public RespLoginData(String str, Class clazz) { + if (StringUtils.isNotBlank(str)) { + JSONObject json = JSON.parseObject(str); + this.code = json.getString("code"); + this.message = json.getString("message"); + this.status = json.getString("status"); + this.msg = json.getString("msg"); + this.success = Boolean.parseBoolean(json.getString("success")); + if (null != clazz) { + if (json.get("data") != null && StringUtils.isNotBlank(json.getString("data"))) { + try{ + this.data = JSONObject.parseObject(json.getString("data"), clazz); + } catch (Exception e) { + + try { + this.dataList = JSONObject.parseArray(json.getString("data"), clazz); + } catch (Exception ex) { + this.data = null; + } + } + } + } else { + /* this.data = (T)JSONObject.parseObject(json.getString("data"), Boolean.class);*/ + this.data = null; + } + } + } + + public RespLoginData(String code, String message, String msg, String status, Boolean success, T data, List dataList) { + this.code = code; + this.message = message; + this.msg = msg; + this.status = status; + this.success = success; + this.data = data; + this.dataList = dataList; + } + + public String getCode() { + return code; + } + + public void setCode(String code) { + this.code = code; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + public String getStatus() { + return status; + } + + public void setStatus(String status) { + this.status = status; + } + + public Boolean getSuccess() { + return success; + } + + public void setSuccess(Boolean success) { + this.success = success; + } + + public List getDataList() { + return dataList; + } + + public void setDataList(List dataList) { + this.dataList = dataList; + } + + public T getData() { + return data; + } + + public void setData(T data) { + this.data = data; + } + + public String getMsg() { + return msg; + } + + public void setMsg(String msg) { + this.msg = msg; + } +} diff --git a/sgzb-auth/src/main/java/com/bonus/sgzb/auth/form/UserAccount.java b/sgzb-modules/sgzb-system/src/main/java/com/bonus/sgzb/system/domain/UserAccount.java similarity index 99% rename from sgzb-auth/src/main/java/com/bonus/sgzb/auth/form/UserAccount.java rename to sgzb-modules/sgzb-system/src/main/java/com/bonus/sgzb/system/domain/UserAccount.java index f425a3db..344a2e3f 100644 --- a/sgzb-auth/src/main/java/com/bonus/sgzb/auth/form/UserAccount.java +++ b/sgzb-modules/sgzb-system/src/main/java/com/bonus/sgzb/system/domain/UserAccount.java @@ -1,4 +1,4 @@ -package com.bonus.sgzb.auth.form; +package com.bonus.sgzb.system.domain; import com.bonus.sgzb.common.core.web.domain.BaseEntity; import com.fasterxml.jackson.annotation.JsonFormat; diff --git a/sgzb-modules/sgzb-system/src/main/java/com/bonus/sgzb/system/service/ISysUserService.java b/sgzb-modules/sgzb-system/src/main/java/com/bonus/sgzb/system/service/ISysUserService.java index 98c5d498..ed77bb1d 100644 --- a/sgzb-modules/sgzb-system/src/main/java/com/bonus/sgzb/system/service/ISysUserService.java +++ b/sgzb-modules/sgzb-system/src/main/java/com/bonus/sgzb/system/service/ISysUserService.java @@ -2,12 +2,15 @@ package com.bonus.sgzb.system.service; import java.util.List; import com.bonus.sgzb.system.api.domain.SysUser; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Component; /** * 用户 业务层 * * @author ruoyi */ +@Mapper public interface ISysUserService { /** @@ -42,13 +45,6 @@ public interface ISysUserService */ public SysUser selectUserByUserName(String userName); - /** - * 通过用户名和手机号查询用户 - * @param userName - * @return - */ - public SysUser selectUserByUserNameAndPhone(String userName,String phoneNum); - /** * 通过用户ID查询用户 * diff --git a/sgzb-auth/src/main/java/com/bonus/sgzb/auth/service/NwUserLoginService.java b/sgzb-modules/sgzb-system/src/main/java/com/bonus/sgzb/system/service/impl/NwUserLoginService.java similarity index 63% rename from sgzb-auth/src/main/java/com/bonus/sgzb/auth/service/NwUserLoginService.java rename to sgzb-modules/sgzb-system/src/main/java/com/bonus/sgzb/system/service/impl/NwUserLoginService.java index 196e70dd..afc4b5f4 100644 --- a/sgzb-auth/src/main/java/com/bonus/sgzb/auth/service/NwUserLoginService.java +++ b/sgzb-modules/sgzb-system/src/main/java/com/bonus/sgzb/system/service/impl/NwUserLoginService.java @@ -1,14 +1,14 @@ -package com.bonus.sgzb.auth.service; +package com.bonus.sgzb.system.service.impl; import com.alibaba.fastjson.JSON; -import com.bonus.sgzb.auth.form.*; -import com.bonus.sgzb.auth.utils.HttpUtils; import com.bonus.sgzb.common.core.domain.R; import com.bonus.sgzb.system.api.domain.SysUser; +import com.bonus.sgzb.system.domain.*; import com.bonus.sgzb.system.service.ISysUserService; +import com.bonus.sgzb.system.util.HttpUtils; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; -import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; import org.springframework.util.LinkedMultiValueMap; import org.springframework.util.MultiValueMap; @@ -21,6 +21,7 @@ import java.util.Map; * @date:2024/1/26 - 13:25 */ @Slf4j +@Component public class NwUserLoginService { @@ -44,7 +45,7 @@ public class NwUserLoginService { if (StringUtils.isBlank(code)) { return R.fail("参数code不能为空"); } -// WECHAT(3, LoginConstants.wechatAppId, LoginConstants.wechatAppsecret), + LoginResultForm loginResultForm = new LoginResultForm(); loginResultForm.setReturnUrl(redirectUrl); loginResultForm.setAccountType(null); @@ -53,7 +54,11 @@ public class NwUserLoginService { reqMap.set(NwLoginConstants.CODE, code); reqMap.set(NwLoginConstants.GRANT_TYPE, grantType); reqMap.set(NwLoginConstants.SCOPE, NwLoginConstants.SCOPE_ALL); - Map resultMap = HttpUtils.postFormForOauth2(NwLoginConstants.onlineApprove, reqMap, null, OnlineApproveEnum.WECHAT); + OnlineApprove onlineApprove = new OnlineApprove(); + onlineApprove.setCode(3); + onlineApprove.setAppId(NwLoginConstants.wechatAppId); + onlineApprove.setAppsecret(NwLoginConstants.wechatAppsecret); + Map resultMap = HttpUtils.postFormForOauth2(NwLoginConstants.onlineApprove, reqMap, null, onlineApprove); log.info("微服务平台认证, 调用南网用户中心, result: {}", JSON.toJSONString(resultMap)); if (StringUtils.isNotEmpty((String) resultMap.get(NwLoginConstants.CODE))) { String Code = resultMap.get(NwLoginConstants.CODE).toString(); @@ -65,7 +70,7 @@ public class NwUserLoginService { //查询登陆用户详细信息 不脱敏查询 HashMap requestMap = new HashMap<>(); requestMap.put("cancelDesensitization", "true"); - RespLoginData loginUserInfoRespData = HttpUtils.postForm(NwLoginConstants.getNowPersonDetailData, null, (String) resultMap.get("access_token"), LoginUserInfoRespDTO.class, requestMap, OnlineApproveEnum.WECHAT); + RespLoginData loginUserInfoRespData = HttpUtils.postForm(NwLoginConstants.getNowPersonDetailData, null, (String) resultMap.get("access_token"), LoginUserInfoRespDTO.class, requestMap, onlineApprove); log.info("查询登陆用户详细信息, 调用南网用户中心, result: {}", JSON.toJSONString(loginUserInfoRespData)); if (!NwLoginConstants.HTTP_RESPONSE_CODE_200.equals(loginUserInfoRespData.getCode())) { return R.fail(loginUserInfoRespData.getCode() + loginUserInfoRespData.getMessage() + loginResultForm); @@ -76,42 +81,40 @@ public class NwUserLoginService { String nickName = loginUserInfoRespDTO.getNickName(); String email = loginUserInfoRespDTO.getEmail(); String sex = loginUserInfoRespDTO.getSex(); - - //根据用户名和手机号查询用户 + String headPortrait = loginUserInfoRespDTO.getHeadPortrait(); + String psCode = loginUserInfoRespDTO.getPsCode(); + String status = loginUserInfoRespDTO.getStatus(); + String loginIp = loginUserInfoRespDTO.getLoginIp(); + String loginTime = loginUserInfoRespDTO.getLoginTime().toString(); + String createUserName = loginUserInfoRespDTO.getCreateUserName(); + String createTime = loginUserInfoRespDTO.getCreateTime(); + String updateUserName = loginUserInfoRespDTO.getUpdateUserName(); + String updateTime = loginUserInfoRespDTO.getUpdateTime(); + //根据用户名查询用户 SysUser sysUser = userService.selectUserByUserName(userName); if (null == sysUser) { + return R.fail(401,"该用户不存在,请先注册"); //未找到该用户,新增该用户 - SysUser user = new SysUser(); + /* SysUser user = new SysUser(); user.setUserName(userName); user.setNickName(nickName); user.setEmail(email); user.setPhonenumber(mobilePhone); - user.setPhonenumber(sex); - user.setPhonenumber(sex); - - } - /* if (null == userAccount) { - RegisterForms registerForms = new RegisterForms(); - registerForms.setPlatformId(CodeConstants.PLATFORM_ID); - registerForms.setIsPersonal(AccountRegisterEnum.IS_PERSONAL.getCode()); - registerForms.setUserAccount(loginUserInfoRespDTO.getUserAccount()); - registerForms.setMobilePhone(mobilePhone); - nwRegisterService.personRegisters(registerForms, userExternalId, loginUserInfoRespDTO.getUserName()); - userAccount = userAccountService.queryUserAccountByExternalId(CodeConstants.PLATFORM_ID, userExternalId); - if (null == userAccount) { - return RespData.error(ExceptionDict.LOGIN_SMS_FAILED_CODE, ExceptionDict.LOGIN_SMS_FAILED_MSG, loginResultForm); - } else if (UserStatusEnum.DISABLE.getCode().equals(userAccount.getUserStatus())) { - return RespData.error(ExceptionDict.LOGIN_DISABLE_USER_CODE, ExceptionDict.LOGIN_DISABLE_USER_MSG, loginResultForm); + user.setSex(sex); + user.setAvatar(headPortrait); + user.setPassword(psCode); + if ("ENABLE".equals(status)){ + user.setStatus("0"); + }else { + user.setStatus("1"); } - } else { - if (UserStatusEnum.DISABLE.getCode().equals(userAccount.getUserStatus())) { - return RespData.error(ExceptionDict.LOGIN_DISABLE_USER_CODE, ExceptionDict.LOGIN_DISABLE_USER_MSG, loginResultForm); - } - // 维护南网关联外键 - this.jointNwUserId(loginUserInfoRespDTO, userAccount); + user.setLoginIp(loginIp); + user.setLoginDate(DateUtil.parse(loginTime,"yyyy-MM-dd HH:mm:ss")); + user.setCreateBy(createUserName); + user.setCreateTime(DateUtil.parse(createTime,"yyyy-MM-dd HH:mm:ss")); + user.setUpdateBy(updateUserName); + user.setUpdateTime(DateUtil.parse(updateTime,"yyyy-MM-dd HH:mm:ss"));*/ } - return getLoginResultFormRespData(loginResultForm, resultMap, userAccount, nwAppEnum.getCode()); - }*/ - return null; + return R.ok(sysUser); } } diff --git a/sgzb-modules/sgzb-system/src/main/java/com/bonus/sgzb/system/service/impl/SysUserServiceImpl.java b/sgzb-modules/sgzb-system/src/main/java/com/bonus/sgzb/system/service/impl/SysUserServiceImpl.java index f27132da..5e4601c8 100644 --- a/sgzb-modules/sgzb-system/src/main/java/com/bonus/sgzb/system/service/impl/SysUserServiceImpl.java +++ b/sgzb-modules/sgzb-system/src/main/java/com/bonus/sgzb/system/service/impl/SysUserServiceImpl.java @@ -114,11 +114,6 @@ public class SysUserServiceImpl implements ISysUserService return userMapper.selectUserByUserName(userName); } - @Override - public SysUser selectUserByUserNameAndPhone(String userName, String phoneNum) { - return userMapper.selectUserByUserName(userName); - } - /** * 通过用户ID查询用户 * diff --git a/sgzb-auth/src/main/java/com/bonus/sgzb/auth/utils/HttpUtils.java b/sgzb-modules/sgzb-system/src/main/java/com/bonus/sgzb/system/util/HttpUtils.java similarity index 76% rename from sgzb-auth/src/main/java/com/bonus/sgzb/auth/utils/HttpUtils.java rename to sgzb-modules/sgzb-system/src/main/java/com/bonus/sgzb/system/util/HttpUtils.java index 9b62cd6e..eb451e8d 100644 --- a/sgzb-auth/src/main/java/com/bonus/sgzb/auth/utils/HttpUtils.java +++ b/sgzb-modules/sgzb-system/src/main/java/com/bonus/sgzb/system/util/HttpUtils.java @@ -1,8 +1,10 @@ -package com.bonus.sgzb.auth.utils; +package com.bonus.sgzb.system.util; -import com.bonus.sgzb.auth.form.OnlineApproveEnum; -import com.bonus.sgzb.auth.form.RespLoginData; +import com.alibaba.fastjson2.JSON; import com.bonus.sgzb.common.core.utils.StringUtils; +import com.bonus.sgzb.system.domain.NwLoginConstants; +import com.bonus.sgzb.system.domain.OnlineApprove; +import com.bonus.sgzb.system.domain.RespLoginData; import lombok.extern.slf4j.Slf4j; import org.springframework.http.HttpEntity; import org.springframework.http.HttpHeaders; @@ -15,6 +17,7 @@ import java.util.Set; /** * 集成南网注册登陆工具 + * * @author caoxianfei * @Version 1.0 * @date 2021-08-13 0:14 @@ -23,14 +26,14 @@ import java.util.Set; public class HttpUtils { - public static Map postFormForOauth2(String url, Object params, Map map, OnlineApproveEnum onlineApproveEnum) { + public static Map postFormForOauth2(String url, Object params, Map map, OnlineApprove onlineApprove) throws Exception { log.info("进入post请求,入参为 url={},params={}", url, params); - String finalUrl = LoginConstants.baseUrl + url; + String finalUrl = NwLoginConstants.baseUrl + url; String body; try { HttpHeaders headers = new HttpHeaders(); headers.setContentType(MediaType.APPLICATION_FORM_URLENCODED); - headers.setBasicAuth(nwAppEnum.getAppId(), nwAppEnum.getAppsecret()); + headers.setBasicAuth(onlineApprove.getAppId(), onlineApprove.getAppsecret()); HttpEntity request = new HttpEntity<>(params, headers); if (Objects.nonNull(map)) { StringBuffer path = new StringBuffer("?"); @@ -45,32 +48,33 @@ public class HttpUtils { log.info("finalUrl={},出参为,body={}", finalUrl, body); } catch (Exception e) { log.error("HttpUtils.postForm exception: ", e); - throw new UserException("500", "Http请求错误"); + throw new Exception("Http请求错误"); } return JSON.parseObject(body, Map.class); } /** - * className 传入返回对象的class - * 传入的兑现必须 继承 BaseLoginEntity + * className 传入返回对象的class + * 传入的兑现必须 继承 BaseLoginEntity + * * @param url * @param params * @param token * @param className - * @param map post请求如果路径上上有拼接参数,传入map 字段为key 值为value + * @param map post请求如果路径上上有拼接参数,传入map 字段为key 值为value * @return */ - public static RespLoginData postForm(String url, Object params, String token, Class className, Map map, OnlineApproveEnum onlineApproveEnum) throws Exception { + public static RespLoginData postForm(String url, Object params, String token, Class className, Map map, OnlineApprove onlineApprove) throws Exception { log.info("进入post请求,入参为 url={},params={},token={}", url, params, token); - String finalUrl = LoginConstants.baseUrl + url; + String finalUrl = NwLoginConstants.baseUrl + url; String body; try { HttpHeaders headers = new HttpHeaders(); headers.setContentType(MediaType.APPLICATION_FORM_URLENCODED); - if(StringUtils.isBlank(token)){ - headers.setBasicAuth(nwAppEnum.getAppId(), nwAppEnum.getAppsecret()); - }else { + if (StringUtils.isBlank(token)) { + headers.setBasicAuth(onlineApprove.getAppId(), onlineApprove.getAppsecret()); + } else { headers.setBearerAuth(token); } HttpEntity request = new HttpEntity<>(params, headers); diff --git a/sgzb-modules/sgzb-system/src/main/resources/bootstrap.yml b/sgzb-modules/sgzb-system/src/main/resources/bootstrap.yml index 21f3c035..25b8a3d0 100644 --- a/sgzb-modules/sgzb-system/src/main/resources/bootstrap.yml +++ b/sgzb-modules/sgzb-system/src/main/resources/bootstrap.yml @@ -36,3 +36,10 @@ spring: # 共享配置 shared-configs: - application-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension} + + +onlineApprove: /lbcloud-oauth/oauth/token +wechatAppId: crhmaxnE +wechatAppsecret: 3893e6ed90d325f00e34583dd970a56580c05549 +getNowPersonDetailData: /lbcloud-user/user/queryLoginUserInfo +baseUrl: https://test-sso.csgmall.com.cn