Commit 9a9963ab authored by 唐峰's avatar 唐峰

用户信息查询,处理租户值获取问题

parent af9f0141
package cn.quantgroup.xyqb.controller.api.v2;
import cn.quantgroup.xyqb.controller.IBaseController;
import cn.quantgroup.xyqb.controller.req.v2.BatchInfoReq;
import cn.quantgroup.xyqb.controller.req.v2.UserInfoReq;
import cn.quantgroup.xyqb.entity.BaseEntity;
......@@ -25,7 +26,7 @@ import java.util.stream.Collectors;
@RestController
@RequestMapping("/api/v2/user")
public class UserApiV2Controller {
public class UserApiV2Controller implements IBaseController {
private final IUserRepository userRepository;
private final IWechatService wechatService;
......@@ -44,7 +45,8 @@ public class UserApiV2Controller {
*/
@PostMapping("info")
public JsonResult<UserBean> info(@RequestBody UserInfoReq userInfoReq) {
SessionStruct sessionStruct = XyqbSessionContextHolder.getXSession();
//SessionStruct sessionStruct = XyqbSessionContextHolder.getXSession();
Integer tenantId = getTenantId();
User user = null;
WechatUserInfo wechatUserInfo = null;
//1、校验
......@@ -56,41 +58,41 @@ public class UserApiV2Controller {
//2、查询
if (userInfoReq.getUserId() != null) {
user = userRepository.findByIdAndTenantId(userInfoReq.getUserId(), sessionStruct.getTenantId());
user = userRepository.findByIdAndTenantId(userInfoReq.getUserId(), tenantId);
if (StringUtils.isNotEmpty(userInfoReq.getAppId())) {
wechatUserInfo = wechatService.queryByUserIdAndAppId(userInfoReq.getUserId(), userInfoReq.getAppId(), sessionStruct.getTenantId());
wechatUserInfo = wechatService.queryByUserIdAndAppId(userInfoReq.getUserId(), userInfoReq.getAppId(), tenantId);
}
}
if (StringUtils.isNotEmpty(userInfoReq.getUuid())) {
user = userRepository.findByUuidAndTenantId(userInfoReq.getUuid(), sessionStruct.getTenantId());
user = userRepository.findByUuidAndTenantId(userInfoReq.getUuid(), tenantId);
if (user != null && StringUtils.isNotEmpty(userInfoReq.getAppId())) {
wechatUserInfo = wechatService.queryByUserIdAndAppId(user.getId(), userInfoReq.getAppId(), sessionStruct.getTenantId());
wechatUserInfo = wechatService.queryByUserIdAndAppId(user.getId(), userInfoReq.getAppId(), tenantId);
}
}
if (StringUtils.isNotEmpty(userInfoReq.getPhoneNo())) {
user = userRepository.findByPhoneNoAndTenantId(userInfoReq.getPhoneNo(), sessionStruct.getTenantId());
user = userRepository.findByPhoneNoAndTenantId(userInfoReq.getPhoneNo(), tenantId);
if (user != null && StringUtils.isNotEmpty(userInfoReq.getAppId())) {
wechatUserInfo = wechatService.queryByUserIdAndAppId(user.getId(), userInfoReq.getAppId(), sessionStruct.getTenantId());
wechatUserInfo = wechatService.queryByUserIdAndAppId(user.getId(), userInfoReq.getAppId(), tenantId);
}
}
if (StringUtils.isNotEmpty(userInfoReq.getAppId()) && StringUtils.isNotEmpty(userInfoReq.getOpenId())) {
wechatUserInfo = wechatService.findWechatUserInfoFromDb(userInfoReq.getOpenId(), userInfoReq.getAppId(), sessionStruct.getTenantId());
wechatUserInfo = wechatService.findWechatUserInfoFromDb(userInfoReq.getOpenId(), userInfoReq.getAppId(), tenantId);
if (wechatUserInfo == null || wechatUserInfo.getUserId() == null) {
throw new BizException(BizExceptionEnum.UN_EXIT_USER);
}
user = userRepository.findByIdAndTenantId(wechatUserInfo.getUserId(), sessionStruct.getTenantId());
user = userRepository.findByIdAndTenantId(wechatUserInfo.getUserId(), tenantId);
}
if (StringUtils.isNotEmpty(userInfoReq.getAppId()) && StringUtils.isNotEmpty(userInfoReq.getUnionId())) {
wechatUserInfo = wechatService.findByUnionIdAndAppIdAndTenantId(userInfoReq.getUnionId(), userInfoReq.getAppId(), sessionStruct.getTenantId());
wechatUserInfo = wechatService.findByUnionIdAndAppIdAndTenantId(userInfoReq.getUnionId(), userInfoReq.getAppId(), tenantId);
if (wechatUserInfo == null || wechatUserInfo.getUserId() == null) {
throw new BizException(BizExceptionEnum.UN_EXIT_USER);
}
user = userRepository.findByIdAndTenantId(wechatUserInfo.getUserId(), sessionStruct.getTenantId());
user = userRepository.findByIdAndTenantId(wechatUserInfo.getUserId(), tenantId);
}
//3、异常处理
......@@ -110,7 +112,8 @@ public class UserApiV2Controller {
*/
@PostMapping("/batchInfo")
public JsonResult<List<UserBean>> batchInfo(@RequestBody BatchInfoReq batchInfoReq) {
SessionStruct sessionStruct = XyqbSessionContextHolder.getXSession();
//SessionStruct sessionStruct = XyqbSessionContextHolder.getXSession();
Integer tenantId = getTenantId();
List<User> userList = null;
List<WechatUserInfo> wechatUserInfo = null;
//1、校验
......@@ -124,47 +127,47 @@ public class UserApiV2Controller {
//2、查询
if (CollectionUtils.isNotEmpty(batchInfoReq.getUserIds())) {
userList = userRepository.findByIdInAndTenantId(batchInfoReq.getUserIds(), sessionStruct.getTenantId());
userList = userRepository.findByIdInAndTenantId(batchInfoReq.getUserIds(), tenantId);
if (CollectionUtils.isNotEmpty(userList) && StringUtils.isNotEmpty(batchInfoReq.getAppId())) {
List<Long> uuids = userList.stream().map(BaseEntity::getId).collect(Collectors.toList());
wechatUserInfo = wechatService.queryListByUserIdAndAppId(uuids, batchInfoReq.getAppId(), sessionStruct.getTenantId());
wechatUserInfo = wechatService.queryListByUserIdAndAppId(uuids, batchInfoReq.getAppId(), tenantId);
}
}
if (CollectionUtils.isNotEmpty(batchInfoReq.getUuids())) {
userList = userRepository.findByUuidInAndTenantId(batchInfoReq.getUuids(), sessionStruct.getTenantId());
userList = userRepository.findByUuidInAndTenantId(batchInfoReq.getUuids(), tenantId);
if (CollectionUtils.isNotEmpty(userList) && StringUtils.isNotEmpty(batchInfoReq.getAppId())) {
List<Long> uuids = userList.stream().map(BaseEntity::getId).collect(Collectors.toList());
wechatUserInfo = wechatService.queryListByUserIdAndAppId(uuids, batchInfoReq.getAppId(), sessionStruct.getTenantId());
wechatUserInfo = wechatService.queryListByUserIdAndAppId(uuids, batchInfoReq.getAppId(), tenantId);
}
}
if (CollectionUtils.isNotEmpty(batchInfoReq.getPhoneNos())) {
userList = userRepository.findByPhoneNoInAndTenantId(batchInfoReq.getPhoneNos(), sessionStruct.getTenantId());
userList = userRepository.findByPhoneNoInAndTenantId(batchInfoReq.getPhoneNos(), tenantId);
if (CollectionUtils.isNotEmpty(userList) && StringUtils.isNotEmpty(batchInfoReq.getAppId())) {
List<Long> uuids = userList.stream().map(BaseEntity::getId).collect(Collectors.toList());
wechatUserInfo = wechatService.queryListByUserIdAndAppId(uuids, batchInfoReq.getAppId(), sessionStruct.getTenantId());
wechatUserInfo = wechatService.queryListByUserIdAndAppId(uuids, batchInfoReq.getAppId(), tenantId);
}
}
if (StringUtils.isNotEmpty(batchInfoReq.getAppId()) && CollectionUtils.isNotEmpty(batchInfoReq.getOpenIds())) {
wechatUserInfo = wechatService.findWechatUserInfoFromDb(batchInfoReq.getOpenIds(), batchInfoReq.getAppId(), sessionStruct.getTenantId());
wechatUserInfo = wechatService.findWechatUserInfoFromDb(batchInfoReq.getOpenIds(), batchInfoReq.getAppId(), tenantId);
List<Long> userIds = wechatUserInfo.stream().map(WechatUserInfo::getUserId).collect(Collectors.toList());
if (CollectionUtils.isEmpty(wechatUserInfo) || CollectionUtils.isEmpty(userIds)) {
throw new BizException(BizExceptionEnum.UN_EXIT_USER);
}
userList = userRepository.findByIdInAndTenantId(userIds, sessionStruct.getTenantId());
userList = userRepository.findByIdInAndTenantId(userIds, tenantId);
}
if (StringUtils.isNotEmpty(batchInfoReq.getAppId()) && CollectionUtils.isNotEmpty(batchInfoReq.getUnionIds())) {
wechatUserInfo = wechatService.findUnionIdsAndOpenIdAndTenantId(batchInfoReq.getUnionIds(), batchInfoReq.getAppId(), sessionStruct.getTenantId());
wechatUserInfo = wechatService.findUnionIdsAndOpenIdAndTenantId(batchInfoReq.getUnionIds(), batchInfoReq.getAppId(), tenantId);
List<Long> userIds = wechatUserInfo.stream().map(WechatUserInfo::getUserId).collect(Collectors.toList());
if (CollectionUtils.isEmpty(wechatUserInfo) || CollectionUtils.isEmpty(userIds)) {
throw new BizException(BizExceptionEnum.UN_EXIT_USER);
}
userList = userRepository.findByIdInAndTenantId(userIds, sessionStruct.getTenantId());
userList = userRepository.findByIdInAndTenantId(userIds, tenantId);
}
//3、异常处理
......
package cn.quantgroup.xyqb.controller.api.v2;
import cn.quantgroup.xyqb.Constants;
import cn.quantgroup.xyqb.controller.IBaseController;
import cn.quantgroup.xyqb.model.JsonResult;
import cn.quantgroup.xyqb.model.session.SessionStruct;
import cn.quantgroup.xyqb.model.webchat.AccessTokenResponse;
......@@ -15,15 +16,16 @@ import org.springframework.web.bind.annotation.RestController;
@RestController
@RequestMapping("/api/v2/wechat")
public class WechatApiV2Controller {
public class WechatApiV2Controller implements IBaseController {
@Autowired
@Qualifier("stringRedisTemplate")
private RedisTemplate<String, String> redisTemplate;
@GetMapping("/accessToken")
public JsonResult<String> token(String appId) {
SessionStruct sessionStruct = XyqbSessionContextHolder.getXSession();
AccessTokenResponse accessTokenResponse = JSON.parseObject(redisTemplate.opsForValue().get(Constants.WECHAT_ACCESS_TOKEN_REDIS + sessionStruct.getTenantId() + ":" + appId), AccessTokenResponse.class);
//SessionStruct sessionStruct = XyqbSessionContextHolder.getXSession();
Integer tenantId = getTenantId();
AccessTokenResponse accessTokenResponse = JSON.parseObject(redisTemplate.opsForValue().get(Constants.WECHAT_ACCESS_TOKEN_REDIS + tenantId + ":" + appId), AccessTokenResponse.class);
return JsonResult.buildSuccessResultGeneric(accessTokenResponse.getAccessToken());
}
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment