From 89ff1d1668c471c293dedd312a4eb98a6ebfd06d Mon Sep 17 00:00:00 2001
From: xiaoyong931011 <15274802129@163.com>
Date: Thu, 18 Aug 2022 16:51:47 +0800
Subject: [PATCH] 20220810
---
src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallMemberServiceImpl.java | 32 +++++++++++++++++++++++++++++++-
1 files changed, 31 insertions(+), 1 deletions(-)
diff --git a/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallMemberServiceImpl.java b/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallMemberServiceImpl.java
index d649eb4..2203ca0 100644
--- a/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallMemberServiceImpl.java
+++ b/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallMemberServiceImpl.java
@@ -62,6 +62,7 @@
private final MallShopApplyMapper mallShopApplyMapper;
private final MallRegisterAppealMapper mallRegisterAppealMapper;
private final MallTeamLeaderMapper mallTeamLeaderMapper;
+ private final SpringContextHolder springContextHolder;
@Value("${spring.profiles.active}")
@@ -695,11 +696,40 @@
authInfo.put("token", token);
authInfo.put("member", mallMember);
authInfo.put("rasToken", generateAsaToken(token));
- return new FebsResponse().success().message("登陆成功");
+ return new FebsResponse().success().data(authInfo);
}
return new FebsResponse().fail().message("验证码错误");
}
+ @Override
+ public FebsResponse xcxOpen(ApiXcxOpenDto apiXcxOpenDto) {
+ DataDictionaryCustom rangeSwitch = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(DataDictionaryEnum.RANGE_SWITCH.getType(), DataDictionaryEnum.RANGE_SWITCH.getCode());
+ if(StrUtil.isNotBlank(rangeSwitch.getValue()) && "1".equals(rangeSwitch.getValue())){
+ if(ObjectUtil.isNull(apiXcxOpenDto.getLongitude()) || ObjectUtil.isNull(apiXcxOpenDto.getLatitude())){
+ return new FebsResponse().fail().message("请授权位置信息");
+ }
+ Double longitude = apiXcxOpenDto.getLongitude();
+ Double latitude = apiXcxOpenDto.getLatitude();
+
+ DataDictionaryCustom rangeSize = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(DataDictionaryEnum.RANGE_SIZE.getType(), DataDictionaryEnum.RANGE_SIZE.getCode());
+ if(ObjectUtil.isEmpty(rangeSize)){
+ return new FebsResponse().success().data(2);
+ }
+ if(StrUtil.isBlank(rangeSize.getValue())){
+ return new FebsResponse().success().data(2);
+ }
+ //方位大小,换成单位:米
+ Integer value = Integer.parseInt(rangeSize.getValue()) * 1000;
+ //根据经纬度获取周围团长的距离
+ MallTeamLeader mallTeamLeader = mallTeamLeaderMapper.selectLeaderByLonAndLat(longitude, latitude);
+ Double distance = mallTeamLeader.getDistance();
+ if(value <= distance){
+ return new FebsResponse().success().data(2);
+ }
+ }
+ return new FebsResponse().success().data(1);
+ }
+
private String getXcxLoginUrl(String code) {
String wechatLoginUrl =xcxProperties.getWecharLoginUrl();
return String.format(wechatLoginUrl, xcxProperties.getXcxAppid(), xcxProperties.getXcxSecret(), code);
--
Gitblit v1.9.1