Commit 1a3afc71 authored by 王亮's avatar 王亮

fix an issue.(add appid 、unionID、openId)

parent d3d1d3c0
......@@ -7,6 +7,7 @@ import cn.quantgroup.xyqb.entity.WechatUserInfo;
import cn.quantgroup.xyqb.exception.BizException;
import cn.quantgroup.xyqb.exception.BizExceptionEnum;
import cn.quantgroup.xyqb.model.JsonResult;
import cn.quantgroup.xyqb.model.UserBean;
import cn.quantgroup.xyqb.model.session.SessionStruct;
import cn.quantgroup.xyqb.repository.IUserRepository;
import cn.quantgroup.xyqb.service.wechat.IWechatService;
......@@ -41,9 +42,10 @@ public class UserApiV2Controller {
* @see <a href="http://yapi.quantgroups.com/project/17/interface/api/65724">查询用户信息</a>
*/
@PostMapping("info")
public JsonResult<User> info(@RequestBody UserInfoReq userInfoReq) {
public JsonResult<UserBean> info(@RequestBody UserInfoReq userInfoReq) {
SessionStruct sessionStruct = XyqbSessionContextHolder.getXSession();
User user = null;
WechatUserInfo wechatUserInfo = null;
//1、校验
if (userInfoReq.getUserId() == null && StringUtils.isEmpty(userInfoReq.getUuid())
&& StringUtils.isEmpty(userInfoReq.getPhoneNo()) && (StringUtils.isEmpty(userInfoReq.getAppId()) && StringUtils.isEmpty(userInfoReq.getOpenId()))
......@@ -56,24 +58,24 @@ public class UserApiV2Controller {
user = userRepository.findByIdAndTenantId(userInfoReq.getUserId(), sessionStruct.getTenantId());
}
if( StringUtils.isNotEmpty(userInfoReq.getUuid())){
if (StringUtils.isNotEmpty(userInfoReq.getUuid())) {
user = userRepository.findByUuidAndTenantId(userInfoReq.getUuid(), sessionStruct.getTenantId());
}
if(StringUtils.isNotEmpty(userInfoReq.getPhoneNo())){
if (StringUtils.isNotEmpty(userInfoReq.getPhoneNo())) {
user = userRepository.findByPhoneNoAndTenantId(userInfoReq.getPhoneNo(), sessionStruct.getTenantId());
}
if(StringUtils.isNotEmpty(userInfoReq.getAppId()) && StringUtils.isNotEmpty(userInfoReq.getOpenId())){
WechatUserInfo wechatUserInfo = wechatService.findWechatUserInfoFromDb(userInfoReq.getOpenId(), userInfoReq.getAppId(), sessionStruct.getTenantId());
if (StringUtils.isNotEmpty(userInfoReq.getAppId()) && StringUtils.isNotEmpty(userInfoReq.getOpenId())) {
wechatUserInfo = wechatService.findWechatUserInfoFromDb(userInfoReq.getOpenId(), userInfoReq.getAppId(), sessionStruct.getTenantId());
if (wechatUserInfo == null || wechatUserInfo.getUserId() == null) {
throw new BizException(BizExceptionEnum.UN_EXIT_USER);
}
user = userRepository.findByIdAndTenantId(wechatUserInfo.getUserId(), sessionStruct.getTenantId());
}
if(StringUtils.isNotEmpty(userInfoReq.getAppId()) && StringUtils.isNotEmpty(userInfoReq.getUnionId())){
WechatUserInfo wechatUserInfo = wechatService.findByUnionIdAndAppIdAndTenantId(userInfoReq.getUnionId(), userInfoReq.getAppId(), sessionStruct.getTenantId());
if (StringUtils.isNotEmpty(userInfoReq.getAppId()) && StringUtils.isNotEmpty(userInfoReq.getUnionId())) {
wechatUserInfo = wechatService.findByUnionIdAndAppIdAndTenantId(userInfoReq.getUnionId(), userInfoReq.getAppId(), sessionStruct.getTenantId());
if (wechatUserInfo == null || wechatUserInfo.getUserId() == null) {
throw new BizException(BizExceptionEnum.UN_EXIT_USER);
}
......@@ -85,7 +87,7 @@ public class UserApiV2Controller {
throw new BizException(BizExceptionEnum.UN_EXIT_USER);
}
return JsonResult.buildSuccessResultGeneric(user);
return JsonResult.buildSuccessResultGeneric(UserBean.from(user, wechatUserInfo));
}
/**
......@@ -113,17 +115,18 @@ public class UserApiV2Controller {
userList = userRepository.findByIdInAndTenantId(batchInfoReq.getUserIds(), sessionStruct.getTenantId());
}
if( CollectionUtils.isNotEmpty(batchInfoReq.getUuids())){
if (CollectionUtils.isNotEmpty(batchInfoReq.getUuids())) {
userList = userRepository.findByUuidInAndTenantId(batchInfoReq.getUuids(), sessionStruct.getTenantId());
}
if(CollectionUtils.isNotEmpty(batchInfoReq.getPhoneNos())){
if (CollectionUtils.isNotEmpty(batchInfoReq.getPhoneNos())) {
userList = userRepository.findByPhoneNoInAndTenantId(batchInfoReq.getPhoneNos(), sessionStruct.getTenantId());
}
if(StringUtils.isNotEmpty(batchInfoReq.getAppId()) && CollectionUtils.isNotEmpty(batchInfoReq.getOpenIds())){
if (StringUtils.isNotEmpty(batchInfoReq.getAppId()) && CollectionUtils.isNotEmpty(batchInfoReq.getOpenIds())) {
List<WechatUserInfo> wechatUserInfo = wechatService.findWechatUserInfoFromDb(batchInfoReq.getOpenIds(), batchInfoReq.getAppId(), sessionStruct.getTenantId());
List<Long> userIds = wechatUserInfo.stream().map(WechatUserInfo::getUserId).collect(Collectors.toList());;
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);
}
......@@ -131,9 +134,10 @@ public class UserApiV2Controller {
userList = userRepository.findByIdInAndTenantId(userIds, sessionStruct.getTenantId());
}
if(StringUtils.isNotEmpty(batchInfoReq.getAppId()) && CollectionUtils.isNotEmpty(batchInfoReq.getUnionIds())){
if (StringUtils.isNotEmpty(batchInfoReq.getAppId()) && CollectionUtils.isNotEmpty(batchInfoReq.getUnionIds())) {
List<WechatUserInfo> wechatUserInfo = wechatService.findUnionIdsAndOpenIdAndTenantId(batchInfoReq.getUnionIds(), batchInfoReq.getAppId(), sessionStruct.getTenantId());
List<Long> userIds = wechatUserInfo.stream().map(WechatUserInfo::getUserId).collect(Collectors.toList());;
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);
}
......
package cn.quantgroup.xyqb.model;
import cn.quantgroup.xyqb.entity.User;
import cn.quantgroup.xyqb.entity.WechatUserInfo;
import lombok.Data;
@Data
public class UserBean {
private Long userId;
private String openId;
private String appId;
private String unionId;
private String phoneNo;
private Long registeredFrom;
private String uuid;
private Boolean enable;
private Integer tenantId;
public static UserBean from(User user, WechatUserInfo wechatUserInfo) {
UserBean userBean = new UserBean();
userBean.setUserId(user.getId());
userBean.setPhoneNo(userBean.getPhoneNo());
userBean.setRegisteredFrom(user.getRegisteredFrom());
userBean.setUuid(userBean.getUuid());
userBean.setEnable(user.getEnable());
userBean.setTenantId(user.getTenantId());
if (wechatUserInfo != null) {
userBean.setOpenId(wechatUserInfo.getOpenId());
userBean.setUnionId(wechatUserInfo.getUnionId());
userBean.setAppId(wechatUserInfo.getAppId());
}
return userBean;
}
}
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