| | |
| | | |
| | | import com.alibaba.fastjson.JSON; |
| | | import com.alibaba.fastjson.JSONObject; |
| | | import com.baomidou.mybatisplus.core.toolkit.Wrappers; |
| | | import lombok.AllArgsConstructor; |
| | | import me.zhyd.oauth.model.AuthCallback; |
| | | import me.zhyd.oauth.model.AuthResponse; |
| | |
| | | import org.springblade.core.social.props.SocialProperties; |
| | | import org.springblade.core.social.utils.SocialUtil; |
| | | import org.springblade.core.tool.api.R; |
| | | import org.springblade.core.tool.support.Kv; |
| | | import org.springblade.core.tool.utils.*; |
| | | import org.springblade.modules.auth.enums.UserEnum; |
| | | import org.springblade.modules.auth.provider.ITokenGranter; |
| | | import org.springblade.modules.auth.provider.TokenParameter; |
| | | import org.springblade.modules.auth.utils.TokenUtil; |
| | | import org.springblade.modules.system.entity.Tenant; |
| | | import org.springblade.modules.system.entity.UserInfo; |
| | | import org.springblade.modules.system.entity.UserOauth; |
| | | import org.springblade.modules.system.entity.*; |
| | | import org.springblade.modules.system.service.ITenantService; |
| | | import org.springblade.modules.system.service.IUserService; |
| | | import org.springframework.stereotype.Component; |
| | |
| | | import org.springframework.web.client.RestTemplate; |
| | | |
| | | import javax.servlet.http.HttpServletRequest; |
| | | import java.util.HashMap; |
| | | import java.util.LinkedHashMap; |
| | | import java.util.Map; |
| | | import java.util.Objects; |
| | | import java.util.*; |
| | | |
| | | /** |
| | | * 微信小程序 TokenGranter |
| | |
| | | // 判断用户是否存在 |
| | | UserInfo userInfo = userService.getUserByPhone(phone); |
| | | if (null==userInfo){ |
| | | throw new ServiceException("用户不存在!"); |
| | | User user = new User(); |
| | | user.setPhone(phone); |
| | | UserInfo userInfo1 = buildUserInfo(user, UserEnum.WEB); |
| | | return userInfo1; |
| | | }else { |
| | | //判断是否为保安员 |
| | | //判断是否已报名 |
| | | boolean flag = userService.getUserIsApply(userInfo.getUser().getId()); |
| | | if (!flag){ |
| | | throw new ServiceException("没有报名不能进行刷题!"); |
| | | } |
| | | return userInfo; |
| | | } |
| | | // 返回UserInfo |
| | | return userInfo; |
| | | } |
| | | |
| | | /** |
| | |
| | | return accessToken; |
| | | } |
| | | |
| | | private UserInfo buildUserInfo(User user, UserEnum userEnum) { |
| | | if (ObjectUtil.isEmpty(user)) { |
| | | return null; |
| | | } |
| | | UserInfo userInfo = new UserInfo(); |
| | | userInfo.setUser(user); |
| | | // 根据每个用户平台,建立对应的detail表,通过查询将结果集写入到detail字段 |
| | | Kv detail = Kv.create().set("type", userEnum.getName()); |
| | | if (userEnum == UserEnum.WEB) { |
| | | UserWeb userWeb = new UserWeb(); |
| | | UserWeb query = userWeb.selectOne(Wrappers.<UserWeb>lambdaQuery().eq(UserWeb::getUserId, user.getId())); |
| | | if (ObjectUtil.isNotEmpty(query)) { |
| | | detail.set("ext", query.getUserExt()); |
| | | } |
| | | } else if (userEnum == UserEnum.APP) { |
| | | UserApp userApp = new UserApp(); |
| | | UserApp query = userApp.selectOne(Wrappers.<UserApp>lambdaQuery().eq(UserApp::getUserId, user.getId())); |
| | | if (ObjectUtil.isNotEmpty(query)) { |
| | | detail.set("ext", query.getUserExt()); |
| | | } |
| | | } else { |
| | | UserOther userOther = new UserOther(); |
| | | UserOther query = userOther.selectOne(Wrappers.<UserOther>lambdaQuery().eq(UserOther::getUserId, user.getId())); |
| | | if (ObjectUtil.isNotEmpty(query)) { |
| | | detail.set("ext", query.getUserExt()); |
| | | } |
| | | } |
| | | userInfo.setDetail(detail); |
| | | return userInfo; |
| | | } |
| | | |
| | | } |