定位功能 显示好友距离 APP实现

APP VO 对象

import lombok.AllArgsConstructor;

import lombok.Data;

import lombok.NoArgsConstructor;

@Data

@NoArgsConstructor

@AllArgsConstructor

public class NearUserVo {

private Long userId;

private String avatar;

private String nickname;

}

===========================================================

APP 端 显示定位距离 controller

/**

* 搜附近

*

* @param gender

* @param distance

* @return

*/

@GetMapping(“search”)

public ResponseEntity queryNearUser(@RequestParam(value = “gender”, required = false) String gender,

@RequestParam(value = “distance”, defaultValue = “2000”) String distance) {

try {

List list = this.tanHuaService.queryNearUser(gender, distance);

return ResponseEntity.ok(list);

} catch (Exception e) {

e.printStackTrace();

}

return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).build();

}

=======================================================

APP 端 显示定位距离 service

public List queryNearUser(String gender, String distance) {

//查询当前用户的位置

User user = UserThreadLocal.get();

UserLocationVo userLocationVo = this.userLocationApi.queryByUserId(user.getId());

if(ObjectUtil.isEmpty(userLocationVo)){

return ListUtil.empty();

}

PageInfo pageInfo = this.userLocationApi.queryUserFromLocation(userLocationVo.getLongitude(),

userLocationVo.getLatitude(),

Convert.toDouble(distance),

1,

50

);

List records = pageInfo.getRecords();

if(CollUtil.isEmpty(records)){

return ListUtil.empty();

}

//构造筛选条件

List userIdList = CollUtil.getFieldValues(records, “userId”);

QueryWrapper queryWrapper = new QueryWrapper();

queryWrapper.in(“user_id”, userIdList);

if(StrUtil.equalsIgnoreCase(gender, “man”)){

queryWrapper.eq(“sex”, SexEnum.MAN);

}else if(StrUtil.equalsIgnoreCase(gender, “woman”)){

queryWrapper.eq(“sex”, SexEnum.WOMAN);

}

List userInfoList = this.userInfoService.queryUserInfoList(queryWrapper);

List result = new ArrayList();

for (UserLocationVo locationVo : records) {

//排除自己

if(ObjectUtil.equals(locationVo.getUserId(), user.getId())){

continue;

}

for (UserInfo userInfo : userInfoList) {

if(ObjectUtil.equals(locationVo.getUserId(), userInfo.getUserId())){

NearUserVo nearUserVo = new NearUserVo();

nearUserVo.setUserId(userInfo.getUserId());

nearUserVo.setAvatar(userInfo.getLogo());

nearUserVo.setNickname(userInfo.getNickName());

result.add(nearUserVo);

break;

}

}

}

return result;

}

郑重声明:本文内容及图片均整理自互联网,不代表本站立场,版权归原作者所有,如有侵权请联系管理员(admin#wlmqw.com)删除。
用户投稿
上一篇 2022年6月19日 21:18
下一篇 2022年6月19日 21:18

相关推荐

  • ios手游模拟器(手游模拟器ios)

    本文主要讲的是ios手游模拟器,以及和手游模拟器ios相关的知识,如果觉得本文对您有所帮助,不要忘了将本文分享给朋友。 哪个iOS模拟器能多开手游账号?可以推荐个好用的模拟器给我吗…

    2022年11月27日
  • 短视频策划内容的3个要点(短视频策划内容怎么做)

    短视频在制作时,内容框架非常重要。如果直奔主题,然后结束,聚卓告诉你,这样的短视频已经过时了。现在的短视频需要框架的,但不是任何框架,它需要一种易于理解和消化的框架。而且,现在大多…

    2022年11月27日
  • 推荐48个微商引流推广的方法(微商引流推广的方法有哪些)

    微商引流技能01——同行互推 资源共享,大家才会共赢。加入你是做穴位贴的,你的朋友是做化妆品的,这是两个没有交集的行业,你们可以友情互推,这样每个月的资源就都扩大了一倍,而且这些资…

    2022年11月27日
  • 美团第三季度实现营收626亿元,即时配送订单量增至50亿笔

    新京报讯(记者秦胜南)11月25日,美团发布业绩公告显示,第三季度营收为626亿元,较去年同比增长28.2%,净利润为12.2亿元。第三季度,美团即时配送订单数增长至50亿笔。截至…

    2022年11月27日
  • 乔任梁遗体图片(乔任梁死亡现场照遗体)

    今天小编给各位分享乔任梁遗体图片的知识,其中也会对乔任梁死亡现场照遗体进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧! 2016年深夜,乔任梁头戴塑料袋惨死家…

    2022年11月26日
  • 明日之后怎么加好友(明日之后怎么加好友跨区)

    简要回答 明日之后中玩家可以跟其他玩家进行互动,可以彼此添加好友。如果想要添加好友,此时该怎么进行操作呢明日之后加好友的方式有下面这几种。 01 你可以打开游戏界面,点击聊天框,然…

    2022年11月25日
  • 个人怎么做抖音带货(个人做抖音带货能赚钱吗)

    抖音如今是大家很熟悉的短视频平台,不过现在的抖音却不只是短视频那么简单,它的功能非常丰富,其中一个就是可以带货,相信很多小伙伴都有在抖音上买过东西,抖音如今的变现能力也是不容小觑的…

    2022年11月25日
  • 全民K歌升级新版本7.0之后,有哪些隐藏功能?

    作者:高百烈来源:知乎 这个功能,旧版并没有,要升级到全新的全民K歌7.0版本才能发现。 作为朋友圈当代K歌之王,我费了不少功夫才抢到内测版本。有一说一,全民K歌的路子真的很野,新…

    2022年11月25日
  • 《光遇》11月25日红石在哪里 11.25红石位置

    光遇11月25日的红石出现在霞谷圆梦村,许多小伙伴都还不知道它具体在哪,下面就让小编来给大家介绍一下光遇11.25红石的位置,感兴趣的小伙伴快来看看吧。 光遇11.25红石位置 1…

    2022年11月25日
  • 《光遇》11月25日季节蜡烛在哪 11.25季节蜡烛位置2022

    光遇季节蜡烛的位置每天都会变化,今天出现在了雨林地区,下面小编就给大家带来了光遇11.25季节蜡烛位置分享,有需要的小伙伴不要错过哦。 光遇11.25季节蜡烛位置2022 今日季节…

    2022年11月25日

联系我们

联系邮箱:admin#wlmqw.com
工作时间:周一至周五,10:30-18:30,节假日休息