From 6e3fcdbde6ad62832753ddc8d3e1429f29ea58ee Mon Sep 17 00:00:00 2001
From: Administrator <15274802129@163.com>
Date: Mon, 28 Apr 2025 17:31:42 +0800
Subject: [PATCH] refactor(mall): 优化活动报名相关功能

---
 src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallTeamLeaderServiceImpl.java |   57 +++++++++++++++++++++++++++++++++++++++++++--------------
 1 files changed, 43 insertions(+), 14 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 225e870..6ca7a53 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
@@ -174,6 +174,7 @@
 
         Long memberId = adminLeaderAddDto.getMemberId();
         MallMember mallMember = mallMemberMapper.selectById(memberId);
+        MallTeamLeader mallTeamLeaderAdd = new MallTeamLeader();
         if(ObjectUtil.isEmpty(mallMember)){
             return new FebsResponse().fail().message("刷新页面重试");
         }
@@ -185,17 +186,39 @@
         if(CollUtil.isNotEmpty(mallTeamLeaderCancel)){
             return new FebsResponse().fail().message("当前用户无法申请");
         }
+        List<MallTeamLeader> mallTeamLeaderNo = this.baseMapper.selectListByMemberIdAndState(memberId, MallTeamLeader.STATE_NO);
+        if(CollUtil.isNotEmpty(mallTeamLeaderNo)){
+            mallTeamLeaderAdd = mallTeamLeaderNo.get(0);
+            if(ObjectUtil.isNotEmpty(mallTeamLeaderAdd)){
+                mallTeamLeaderAdd.setName(adminLeaderAddDto.getName());
+                mallTeamLeaderAdd.setPhone(adminLeaderAddDto.getPhone());
+                mallTeamLeaderAdd.setAddressPic(adminLeaderAddDto.getAddressPic());
+                mallTeamLeaderAdd.setAddressArea(adminLeaderAddDto.getAddressArea());
+                mallTeamLeaderAdd.setDetailAddress(adminLeaderAddDto.getDetailAddress());
+                mallTeamLeaderAdd.setLongitude(adminLeaderAddDto.getLongitude());
+                mallTeamLeaderAdd.setLatitude(adminLeaderAddDto.getLatitude());
+                mallTeamLeaderAdd.setState(MallTeamLeader.STATE_YES);
+                //申请团长默认关闭返利,返利比例为0
+                mallTeamLeaderAdd.setProfitSwitch(2);
+                mallTeamLeaderAdd.setBonusPercent("0");
+                this.baseMapper.updateById(mallTeamLeaderAdd);
+            }
+        }else{
+            MallTeamLeader mallTeamLeader = MallTeamLeaderConversion.INSTANCE.adminDtoToEntity(adminLeaderAddDto);
+            mallTeamLeader.setUniqueCode(mallMember.getInviteId());
+            mallTeamLeader.setMemberId(memberId);
+            mallTeamLeader.setPhone(mallMember.getPhone());
+            mallTeamLeader.setName(mallMember.getName());
+            mallTeamLeader.setState(MallTeamLeader.STATE_YES);
+            //申请团长默认关闭返利,返利比例为0
+            mallTeamLeader.setProfitSwitch(2);
+            mallTeamLeader.setBonusPercent("0");
+            this.baseMapper.insert(mallTeamLeader);
+        }
 //        Double bonusPercent = Double.parseDouble(adminLeaderAddDto.getBonusPercent());
 //        if(1 <= bonusPercent || 0 > bonusPercent){
 //            return new FebsResponse().fail().message("请输入合适的百分比小数");
 //        }
-        MallTeamLeader mallTeamLeader = MallTeamLeaderConversion.INSTANCE.adminDtoToEntity(adminLeaderAddDto);
-        mallTeamLeader.setUniqueCode(mallMember.getInviteId());
-        mallTeamLeader.setMemberId(memberId);
-        mallTeamLeader.setPhone(mallMember.getPhone());
-        mallTeamLeader.setName(mallMember.getName());
-        mallTeamLeader.setState(MallTeamLeader.STATE_YES);
-        this.baseMapper.insert(mallTeamLeader);
         return new FebsResponse().success();
     }
 
@@ -318,14 +341,20 @@
             mallElectronicFenceAdd.setServiceId(serviceId);
             mallElectronicFenceMapper.insert(mallElectronicFenceAdd);
         }else{
-            String fenceUpdate = iMallElectronicFenceService.fenceUpdate(xcxProperties.getGaodeKey(), serviceId,
-                    mallElectronicFence.getGid(), mallElectronicFence.getFenceName(),
-                    adminLeaderAddFenceDto.getLonglatiarr());
-            if("fail".equals(fenceUpdate)){
-                return new FebsResponse().fail().message("高德地图更新多边形围栏失败");
+            //删除电子围栏
+            if(StrUtil.isEmpty(adminLeaderAddFenceDto.getLonglatiarr())){
+                iMallElectronicFenceService.fenceDelete(xcxProperties.getGaodeKey(),serviceId,mallElectronicFence.getGid());
+                mallElectronicFenceMapper.deleteById(mallElectronicFence.getId());
+            }else{
+                String fenceUpdate = iMallElectronicFenceService.fenceUpdate(xcxProperties.getGaodeKey(), serviceId,
+                        mallElectronicFence.getGid(), mallElectronicFence.getFenceName(),
+                        adminLeaderAddFenceDto.getLonglatiarr());
+                if("fail".equals(fenceUpdate)){
+                    return new FebsResponse().fail().message("高德地图更新多边形围栏失败");
+                }
+                mallElectronicFence.setLonglatiarr(adminLeaderAddFenceDto.getLonglatiarr());
+                mallElectronicFenceMapper.updateById(mallElectronicFence);
             }
-            mallElectronicFence.setLonglatiarr(adminLeaderAddFenceDto.getLonglatiarr());
-            mallElectronicFenceMapper.updateById(mallElectronicFence);
         }
         return new FebsResponse().success();
     }

--
Gitblit v1.9.1