Compare commits
4 Commits
4c393e1ac1
...
ef722e04b1
Author | SHA1 | Date |
---|---|---|
胡锐 | ef722e04b1 | 2 weeks ago |
胡锐 | 2c881b7615 | 2 weeks ago |
胡锐 | d40df80773 | 2 weeks ago |
胡锐 | 973571eb35 | 2 weeks ago |
@ -0,0 +1,118 @@ |
|||||||
|
package com.hfkj.controller; |
||||||
|
|
||||||
|
import com.alibaba.fastjson.JSONObject; |
||||||
|
import com.alipay.api.request.AlipaySystemOauthTokenRequest; |
||||||
|
import com.alipay.api.request.AlipayUserInfoShareRequest; |
||||||
|
import com.alipay.api.response.AlipaySystemOauthTokenResponse; |
||||||
|
import com.alipay.api.response.AlipayUserInfoShareResponse; |
||||||
|
import com.hfkj.common.alipay.AlipayUtils; |
||||||
|
import com.hfkj.common.exception.ErrorCode; |
||||||
|
import com.hfkj.common.exception.ErrorHelp; |
||||||
|
import com.hfkj.common.exception.SysCode; |
||||||
|
import com.hfkj.common.security.UserCenter; |
||||||
|
import com.hfkj.common.utils.ResponseMsgUtil; |
||||||
|
import com.hfkj.entity.BsUserPlatformAuthorize; |
||||||
|
import com.hfkj.model.ResponseData; |
||||||
|
import com.hfkj.model.SecUserSessionObject; |
||||||
|
import com.hfkj.model.UserSessionObject; |
||||||
|
import com.hfkj.service.user.BsUserGradeService; |
||||||
|
import com.hfkj.service.user.BsUserParentRelService; |
||||||
|
import com.hfkj.service.user.BsUserPlatformAuthorizeService; |
||||||
|
import com.hfkj.service.user.BsUserService; |
||||||
|
import com.hfkj.sysenum.user.UserAuthorizePlatformEnum; |
||||||
|
import io.swagger.annotations.Api; |
||||||
|
import io.swagger.annotations.ApiOperation; |
||||||
|
import org.apache.commons.lang3.StringUtils; |
||||||
|
import org.slf4j.Logger; |
||||||
|
import org.slf4j.LoggerFactory; |
||||||
|
import org.springframework.stereotype.Controller; |
||||||
|
import org.springframework.web.bind.annotation.*; |
||||||
|
|
||||||
|
import javax.annotation.Resource; |
||||||
|
|
||||||
|
/** |
||||||
|
* @className: CmsController |
||||||
|
* @author: HuRui |
||||||
|
* @date: 2024/9/24 |
||||||
|
**/ |
||||||
|
@Controller |
||||||
|
@RequestMapping(value = "/userAuth") |
||||||
|
@Api(value = "用户授权管理") |
||||||
|
public class UserAuthController { |
||||||
|
private static Logger log = LoggerFactory.getLogger(UserAuthController.class); |
||||||
|
@Resource |
||||||
|
private BsUserPlatformAuthorizeService userPlatformAuthorizeService; |
||||||
|
@Resource |
||||||
|
private UserCenter userCenter; |
||||||
|
|
||||||
|
@RequestMapping(value="/alipay",method = RequestMethod.POST) |
||||||
|
@ResponseBody |
||||||
|
@ApiOperation(value = "支付宝授权") |
||||||
|
public ResponseData alipay(@RequestBody JSONObject body) { |
||||||
|
try { |
||||||
|
UserSessionObject session = userCenter.getSessionModel(UserSessionObject.class); |
||||||
|
if (body == null || StringUtils.isBlank(body.getString("code"))) { |
||||||
|
throw ErrorHelp.genException(SysCode.System, ErrorCode.REQ_PARAMS_ERROR, ""); |
||||||
|
} |
||||||
|
AlipaySystemOauthTokenRequest request = new AlipaySystemOauthTokenRequest(); |
||||||
|
request.setGrantType("authorization_code"); |
||||||
|
request.setCode(body.getString("code")); |
||||||
|
AlipaySystemOauthTokenResponse response = AlipayUtils.initClient().execute(request); |
||||||
|
if(response.isSuccess()) { |
||||||
|
AlipayUserInfoShareRequest alipayUserInfoShareRequest = new AlipayUserInfoShareRequest(); |
||||||
|
AlipayUserInfoShareResponse alipayUserInfoShareResponse = AlipayUtils.initClient().execute(alipayUserInfoShareRequest,response.getAccessToken()); |
||||||
|
if(alipayUserInfoShareResponse.isSuccess()) { |
||||||
|
// 授权信息
|
||||||
|
BsUserPlatformAuthorize userPlatformAuthorize = userPlatformAuthorizeService.getUserAuth(session.getUser().getId(), UserAuthorizePlatformEnum.type1); |
||||||
|
if (userPlatformAuthorize == null) { |
||||||
|
userPlatformAuthorize = new BsUserPlatformAuthorize(); |
||||||
|
} |
||||||
|
userPlatformAuthorize.setUserId(session.getUser().getId()); |
||||||
|
userPlatformAuthorize.setPlatformCode(UserAuthorizePlatformEnum.type1.getType()); |
||||||
|
userPlatformAuthorize.setPlatformName(UserAuthorizePlatformEnum.type1.getName()); |
||||||
|
userPlatformAuthorize.setOpenId(alipayUserInfoShareResponse.getOpenId()); |
||||||
|
userPlatformAuthorize.setAvatar(alipayUserInfoShareResponse.getAvatar()); |
||||||
|
userPlatformAuthorize.setNickName(alipayUserInfoShareResponse.getNickName()); |
||||||
|
userPlatformAuthorizeService.edit(userPlatformAuthorize); |
||||||
|
return ResponseMsgUtil.success(userPlatformAuthorize); |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
throw ErrorHelp.genException(SysCode.System, ErrorCode.COMMON_ERROR, "授权失败"); |
||||||
|
|
||||||
|
} catch (Exception e) { |
||||||
|
return ResponseMsgUtil.exception(e); |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
@RequestMapping(value="/getUserAuthDetail",method = RequestMethod.GET) |
||||||
|
@ResponseBody |
||||||
|
@ApiOperation(value = "支付宝授权详情") |
||||||
|
public ResponseData getUserAuthDetail(@RequestParam(value = "platform" , required = true) Integer platform) { |
||||||
|
try { |
||||||
|
UserSessionObject session = userCenter.getSessionModel(UserSessionObject.class); |
||||||
|
UserAuthorizePlatformEnum platformEnum = UserAuthorizePlatformEnum.getDataByType(platform); |
||||||
|
if (platformEnum == null) { |
||||||
|
throw ErrorHelp.genException(SysCode.System, ErrorCode.COMMON_ERROR, "未知平台"); |
||||||
|
} |
||||||
|
return ResponseMsgUtil.success( userPlatformAuthorizeService.getUserAuth(session.getUser().getId(), platformEnum)); |
||||||
|
|
||||||
|
} catch (Exception e) { |
||||||
|
return ResponseMsgUtil.exception(e); |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
@RequestMapping(value="/getUserAuthList",method = RequestMethod.GET) |
||||||
|
@ResponseBody |
||||||
|
@ApiOperation(value = "用户授权列表") |
||||||
|
public ResponseData getUserAuthList() { |
||||||
|
try { |
||||||
|
UserSessionObject session = userCenter.getSessionModel(UserSessionObject.class); |
||||||
|
return ResponseMsgUtil.success( userPlatformAuthorizeService.getUserAuth(session.getUser().getId())); |
||||||
|
|
||||||
|
} catch (Exception e) { |
||||||
|
return ResponseMsgUtil.exception(e); |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
} |
Loading…
Reference in new issue