|
|
@@ -272,6 +272,38 @@ public class WxLoginService implements IWxLoginService {
|
|
|
return map;
|
|
|
}
|
|
|
|
|
|
+ @Transactional(rollbackFor = Exception.class)
|
|
|
+ public Map<String, Object> openIdLogin(WxLoginBody loginBody) {
|
|
|
+ if(Validator.isEmpty(loginBody.getOpenid())){
|
|
|
+ throw new CustomException("openid缺失");
|
|
|
+ }
|
|
|
+ User user = iUserService.getOne(new LambdaQueryWrapper<User>().eq(User::getOpenId, loginBody.getOpenid()).last("limit 1"));
|
|
|
+ if (ObjectUtils.isNull(user)&&Validator.isEmpty(loginBody.getUserId())) {
|
|
|
+ throw new CustomException("该openid暂无绑定!",666);
|
|
|
+ }
|
|
|
+ if (Validator.isNotEmpty(loginBody.getUserId())) {
|
|
|
+ user = iUserService.getOne(new LambdaQueryWrapper<User>().eq(User::getUserId, loginBody.getUserId()).last("limit 1"));
|
|
|
+ if(Validator.isNotEmpty(user.getOpenId())){
|
|
|
+ throw new CustomException("该用户已绑定过openid!",667);
|
|
|
+ }
|
|
|
+ user.setOpenId(loginBody.getOpenid());
|
|
|
+ iUserService.updateById(user);
|
|
|
+ }
|
|
|
+
|
|
|
+ //如果活动分销码变动
|
|
|
+ if (StringUtils.isNotBlank(loginBody.getShareActivityCode())){
|
|
|
+ user.setShareActivityCode(loginBody.getShareActivityCode());
|
|
|
+ iUserService.updateById(user);
|
|
|
+ }
|
|
|
+ ClientLoginUser loginUser = new ClientLoginUser();
|
|
|
+ loginUser.setUser(user);
|
|
|
+ Map<String, Object> map = new HashMap<>();
|
|
|
+ map.put(Constants.TOKEN, wxTokenService.createToken(loginUser));
|
|
|
+ map.put("user_account", loginUser.getUser().getUserAccount());
|
|
|
+ map.put("full_info", Validator.isEmpty(user.getIdCard()) ? false : true); //是否完善身份信息
|
|
|
+ return map;
|
|
|
+ }
|
|
|
+
|
|
|
|
|
|
public Map<String, String> smallTel(WxLoginBody loginBody) {
|
|
|
initData();
|