package org.rcisoft.common.controller; import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParams; import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; import org.rcisoft.common.util.feignDto.*; import org.rcisoft.common.util.outClient.MTCotactApiRequestClient; import org.rcisoft.common.util.outClient.MTMessageApiRequestClient; import org.rcisoft.common.util.outClient.MTNotificationApiRequestClient; import org.rcisoft.common.util.outClient.MTOauthApiRequestClient; import org.rcisoft.core.constant.MessageConstant; import org.rcisoft.core.model.PersistModel; import org.rcisoft.core.result.Result; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import java.util.Map; @Slf4j @RestController @RequestMapping("/schedule/tb-user") public class UserController { @Autowired private MTCotactApiRequestClient mtCotactApiRequestClient; @Autowired private MTOauthApiRequestClient mtOauthApiRequestClient; @Autowired private MTNotificationApiRequestClient mtNotificationApiRequestClient; @Autowired private MTMessageApiRequestClient messageApiRequestClient; // Logger logger = LoggerFactory.getLogger(UserController.class); @GetMapping("/loginByCode") @ApiOperation(value = "根据code免登") @ApiImplicitParams({ @ApiImplicitParam(name = "code", value = "用户code", required = true) }) public Result loginByCode(String code) { MTMyInfoRspDTO mtMyInfoRspDTO; try{ Map<String, String> tokens = mtOauthApiRequestClient.getTokenByCode(code); String token = tokens.get("token"); String refreshToken = tokens.get("refreshToken"); mtMyInfoRspDTO = mtCotactApiRequestClient.userGetByToken(token); mtMyInfoRspDTO.setAccess_token(token); mtMyInfoRspDTO.setRefresh_token(refreshToken); // return Ret.ok().setData(mtMyInfoRspDTO); return Result.builder(new PersistModel(1), MessageConstant.MESSAGE_ALERT_SUCCESS, MessageConstant.MESSAGE_FREE_ACCESS_ERROR, mtMyInfoRspDTO); }catch(Exception e){ log.error(e.getMessage()); } // return Ret.error().setMsg("免登失败"); return Result.builder(new PersistModel(0), MessageConstant.MESSAGE_ALERT_SUCCESS, MessageConstant.MESSAGE_FREE_ACCESS_ERROR, ""); } @GetMapping("/refreshToken") @ApiOperation(value = "刷新token") @ApiImplicitParams({ @ApiImplicitParam(name = "refreshToken", value = "刷新token", required = true) }) public Result refreshToken(String refreshToken) { try{ RefreshDTO refreshDTO = mtCotactApiRequestClient.refreshToken(refreshToken); // return Ret.ok().setData(refreshDTO); return Result.builder(new PersistModel(1), MessageConstant.MESSAGE_ALERT_SUCCESS, MessageConstant.MESSAGE_FREE_ACCESS_ERROR, refreshDTO); }catch(Exception e){ e.printStackTrace(); } // return Ret.error().setMsg("免登失败"); return Result.builder(new PersistModel(0), MessageConstant.MESSAGE_ALERT_SUCCESS, MessageConstant.MESSAGE_FREE_ACCESS_ERROR, ""); } }