From 059a96cc2d59d68b6eaec7403c2e9da1bf7b6ab2 Mon Sep 17 00:00:00 2001
From: xiaoyong931011 <15274802129@163.com>
Date: Thu, 22 Sep 2022 15:03:08 +0800
Subject: [PATCH] 20220902

---
 src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallTeamLeaderServiceImpl.java |   56 ++++++++++++++++++++++++++++++++++----------------------
 1 files changed, 34 insertions(+), 22 deletions(-)

diff --git a/src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallTeamLeaderServiceImpl.java b/src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallTeamLeaderServiceImpl.java
index b0649c3..8164048 100644
--- a/src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallTeamLeaderServiceImpl.java
+++ b/src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallTeamLeaderServiceImpl.java
@@ -61,6 +61,8 @@
     private final MallMoneyFlowMapper mallMoneyFlowMapper;
     private final MallElectronicFenceMapper mallElectronicFenceMapper;
     private final IMallElectronicFenceService iMallElectronicFenceService;
+    private final SpringContextHolder springContextHolder;
+    private final XcxProperties xcxProperties = SpringContextHolder.getBean(XcxProperties.class);
 
     @Override
     public IPage<AdminMallTeamLeaderVo> getLeaderListInPage(MallTeamLeader mallTeamLeader, QueryRequest request) {
@@ -96,6 +98,9 @@
     public FebsResponse leaderUpdate(MallTeamLeader mallTeamLeader) {
         Long id = mallTeamLeader.getId();
         MallTeamLeader mallTeamLeaders = this.baseMapper.selectById(id);
+        if(1 == mallTeamLeaders.getOnlineState()){
+            return new FebsResponse().fail().message("请先让团长离线");
+        }
         if(ObjectUtil.isEmpty(mallTeamLeaders)){
             return new FebsResponse().fail().message("团长信息不存在,刷新重试");
         }
@@ -125,7 +130,7 @@
     @Override
     public List<AdminSelectListLeaderVo> selectList(MallTeamLeader mallTeamLeader) {
         List<AdminSelectListLeaderVo> list = new ArrayList<>();
-        List<MallTeamLeader> mallTeamLeaders = this.baseMapper.getMallTeamLeaderList();
+        List<MallTeamLeader> mallTeamLeaders = this.baseMapper.getAllMallTeamLeaderList();
         if(CollUtil.isNotEmpty(mallTeamLeaders)){
             for(MallTeamLeader teamLeader : mallTeamLeaders){
                 AdminSelectListLeaderVo adminSelectListLeaderVo = new AdminSelectListLeaderVo();
@@ -140,6 +145,9 @@
     @Override
     public FebsResponse leaderCancel(Long id) {
         MallTeamLeader mallTeamLeader = this.baseMapper.selectById(id);
+        if(1 == mallTeamLeader.getOnlineState()){
+            return new FebsResponse().fail().message("请先让团长离线");
+        }
         if(ObjectUtil.isEmpty(mallTeamLeader)){
             return new FebsResponse().fail().message("团长信息不存在");
         }
@@ -246,10 +254,14 @@
 //                System.out.print(sid);
 //            }
     }
-
-    private final XcxProperties xcxProperties = SpringContextHolder.getBean(XcxProperties.class);
     @Override
+    @Transactional
     public FebsResponse addFence(AdminLeaderAddFenceDto adminLeaderAddFenceDto) {
+        Long id = adminLeaderAddFenceDto.getId();
+        MallTeamLeader mallTeamLeader = this.baseMapper.selectById(id);
+        if(1 == mallTeamLeader.getOnlineState()){
+            return new FebsResponse().fail().message("请先让团长离线");
+        }
         //如果电子围栏表为空,
         //先查询服务是否已经创建,
         //没有,再创建服务。
@@ -260,20 +272,22 @@
             if("fail".equals(resultStr)){
                 return new FebsResponse().fail().message("高德地图查询服务失败");
             }
-            JSONObject jsonObject = JSONUtil.parseObj(resultStr);
-            String results = jsonObject.get("results").toString();
-            JSONArray jsonArray = JSONUtil.parseArray(results);
-            for(Object jsonArray1 : jsonArray){
-                JSONObject jsonObject1 = JSONUtil.parseObj(jsonArray1);
-                String name = jsonObject1.get("name").toString();
-                String sid = jsonObject1.get("sid").toString();
-                if(xcxProperties.getServiceName().equals(name)){
-                    serviceId= sid;
-                    break;
-                }
-            }
-            if(StrUtil.isBlank(serviceId)){
+            log.info(resultStr);
+            if("null".equals(resultStr) || StrUtil.isBlank(resultStr)){
                 serviceId = iMallElectronicFenceService.trackServiceAdd(xcxProperties.getGaodeKey(), xcxProperties.getServiceName());
+            }else{
+                JSONObject jsonObject = JSONUtil.parseObj(resultStr);
+                String results = jsonObject.get("results").toString();
+                JSONArray jsonArray = JSONUtil.parseArray(results);
+                for(Object jsonArray1 : jsonArray){
+                    JSONObject jsonObject1 = JSONUtil.parseObj(jsonArray1);
+                    String name = jsonObject1.get("name").toString();
+                    String sid = jsonObject1.get("sid").toString();
+                    if(xcxProperties.getServiceName().equals(name)){
+                        serviceId= sid;
+                        break;
+                    }
+                }
             }
         }else{
             serviceId = mallElectronicFences.get(0).getServiceId();
@@ -281,8 +295,6 @@
         if("fail".equals(serviceId)){
             return new FebsResponse().fail().message("高德地图创建服务失败");
         }
-        Long id = adminLeaderAddFenceDto.getId();
-        MallTeamLeader mallTeamLeader = this.baseMapper.selectById(id);
         String uniqueCode = mallTeamLeader.getUniqueCode();
         MallElectronicFence mallElectronicFence = mallElectronicFenceMapper.selectByTeamLeaderCode(uniqueCode);
         if(ObjectUtil.isEmpty(mallElectronicFence)){
@@ -328,10 +340,10 @@
         if(1!=state){
             return new FebsResponse().fail().message("目前还不是团长,无法操作");
         }
-        MallElectronicFence mallElectronicFence = mallElectronicFenceMapper.selectByTeamLeaderCode(mallTeamLeader.getUniqueCode());
-        if(ObjectUtil.isEmpty(mallElectronicFence)){
-            return new FebsResponse().fail().message("请先设置配送范围");
-        }
+//        MallElectronicFence mallElectronicFence = mallElectronicFenceMapper.selectByTeamLeaderCode(mallTeamLeader.getUniqueCode());
+//        if(ObjectUtil.isEmpty(mallElectronicFence)){
+//            return new FebsResponse().fail().message("请先设置配送范围");
+//        }
         mallTeamLeader.setOnlineState(1);
         this.baseMapper.updateById(mallTeamLeader);
         return new FebsResponse().success();

--
Gitblit v1.9.1