修改好友匹配中的错误。
在测试过程中发现给用户本人推荐了自己,然后查看sql语句发现推荐好友时未排除自己。对sql语句进行修改,修改结果如下:
@Query("select p.id as id,u.uname as uname,u.picurl as picurl,concat('外向程度:',extroversion,';友好程度:',friendly,';神经质程度:',nervousness,';严谨程度:',rigorous,';开通程度:',enlightened) as personality from Personality p ,User u where p.id not in (select uid1 from Friend where uid2=:id and (status in (0,1))) and p.id not in (select uid2 from Friend where uid1=:id and (status in (0,1)) ) and p.id not in (select id from Health where depressed>=50 or anxious>=50 or studyWeariness>=50 or (socialBarrier<28 or socialBarrier >=44)) and p.id=u.id and u.id <> :id order by rand() limit 20")
List<Map<String, Object>> findUser(@Param("id") Long id);
这样我们推荐的好友时没有心理问题的,跟这个用户不是好友(不是已申请或者同意申请状态),不是自己的用户。