From 1f2cd199b67e312094979653598ebc3093c390bb Mon Sep 17 00:00:00 2001
From: xiaoyong931011 <15274802129@163.com>
Date: Fri, 19 Aug 2022 11:00:39 +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