JPress社区

微信小程序openid无法写入,导致每次登录都认为是新用户,并写入user一条新记录

...

李竟 VIP

io.jpress.service.provider.UserOpenidServiceProvider

 

 

@Override
public UserOpenid findByUserIdAndType(Object userId, String type) {
    List<UserOpenid> userOpenids = findListByUserId(userId);//返回为空list,导致无法插入openid,微信小程序每次登陆都新增一条用户数据
    return userOpenids == null ? null : userOpenids.stream().filter(userOpenid -> userOpenid.getType().equals(type)).findFirst().get();
}

findListByUserId(userId)返回一个空List,执行三元运算符后面的语句,报错。

修改如下:

@Override
public UserOpenid findByUserIdAndType(Object userId, String type) {
    List<UserOpenid> userOpenids = findListByUserId(userId);//返回为空list,导致无法插入openid,微信小程序每次登陆都新增一条用户数据
    return userOpenids == null || userOpenids.size() == 0 ? null : userOpenids.stream().filter(userOpenid -> userOpenid.getType().equals(type)).findFirst().get();
}