From 3fc02a071ab4ab126cfb90901076735ff672ca19 Mon Sep 17 00:00:00 2001
From: Administrator <15274802129@163.com>
Date: Mon, 20 Oct 2025 11:36:46 +0800
Subject: [PATCH] feat(ai): 添加公司编码申请功能
---
src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallTeamLeaderServiceImpl.java | 142 +++++++++++++++++++++++++++++++++--------------
1 files changed, 99 insertions(+), 43 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 3341286..394b113 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
@@ -17,6 +17,7 @@
import cc.mrbird.febs.mall.mapper.*;
import cc.mrbird.febs.mall.service.IAdminMallTeamLeaderService;
import cc.mrbird.febs.mall.service.IMallElectronicFenceService;
+import cc.mrbird.febs.mall.vo.AdminLeaderVo;
import cc.mrbird.febs.mall.vo.AdminMallActSetVo;
import cc.mrbird.febs.mall.vo.AdminMallTeamLeaderVo;
import cc.mrbird.febs.mall.vo.AdminSelectListLeaderVo;
@@ -27,6 +28,7 @@
import cn.hutool.json.JSONObject;
import cn.hutool.json.JSONUtil;
import com.alibaba.fastjson.JSON;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
@@ -42,6 +44,7 @@
import org.apache.http.entity.ContentType;
import org.apache.http.message.BasicNameValuePair;
import org.apache.poi.ss.formula.functions.T;
+import org.checkerframework.checker.units.qual.A;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@@ -61,6 +64,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,7 +101,7 @@
public FebsResponse leaderUpdate(MallTeamLeader mallTeamLeader) {
Long id = mallTeamLeader.getId();
MallTeamLeader mallTeamLeaders = this.baseMapper.selectById(id);
- if(1 == mallTeamLeader.getOnlineState()){
+ if(1 == mallTeamLeaders.getOnlineState()){
return new FebsResponse().fail().message("请先让团长离线");
}
if(ObjectUtil.isEmpty(mallTeamLeaders)){
@@ -107,10 +112,10 @@
// return new FebsResponse().fail().message("只有【待审核】状态才能提交!");
// }
- Double bonusPercent = Double.parseDouble(mallTeamLeader.getBonusPercent());
- if(1 <= bonusPercent || 0 > bonusPercent){
- return new FebsResponse().fail().message("请输入合适的百分比小数");
- }
+// Double bonusPercent = Double.parseDouble(mallTeamLeader.getBonusPercent());
+// if(1 <= bonusPercent || 0 > bonusPercent){
+// return new FebsResponse().fail().message("请输入合适的百分比小数");
+// }
int isOk = mallTeamLeader.getIsOk();
if(MallTeamLeader.STATE_YES == isOk){
mallTeamLeader.setState(MallTeamLeader.STATE_YES);
@@ -128,12 +133,12 @@
@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();
adminSelectListLeaderVo.setUniqueCode(teamLeader.getUniqueCode());
- adminSelectListLeaderVo.setName(teamLeader.getName());
+ adminSelectListLeaderVo.setName(teamLeader.getName() + "-" + teamLeader.getAddressArea());
list.add(adminSelectListLeaderVo);
}
}
@@ -172,6 +177,7 @@
Long memberId = adminLeaderAddDto.getMemberId();
MallMember mallMember = mallMemberMapper.selectById(memberId);
+ MallTeamLeader mallTeamLeaderAdd = new MallTeamLeader();
if(ObjectUtil.isEmpty(mallMember)){
return new FebsResponse().fail().message("刷新页面重试");
}
@@ -183,17 +189,39 @@
if(CollUtil.isNotEmpty(mallTeamLeaderCancel)){
return new FebsResponse().fail().message("当前用户无法申请");
}
- Double bonusPercent = Double.parseDouble(adminLeaderAddDto.getBonusPercent());
- if(1 <= bonusPercent || 0 > bonusPercent){
- 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);
}
- 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);
+// Double bonusPercent = Double.parseDouble(adminLeaderAddDto.getBonusPercent());
+// if(1 <= bonusPercent || 0 > bonusPercent){
+// return new FebsResponse().fail().message("请输入合适的百分比小数");
+// }
return new FebsResponse().success();
}
@@ -252,9 +280,8 @@
// 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);
@@ -271,20 +298,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();
@@ -315,14 +344,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();
}
@@ -337,10 +372,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();
@@ -357,4 +392,25 @@
return new FebsResponse().success();
}
+ @Override
+ public List<AdminLeaderVo> getLeaderTree() {
+ ArrayList<AdminLeaderVo> adminLeaderVos = new ArrayList<>();
+
+ List<MallMember> mallMembers = mallMemberMapper.selectList(
+ new LambdaQueryWrapper<MallMember>()
+ .select(MallMember::getId, MallMember::getName, MallMember::getInviteId)
+ .ne(MallMember::getStoreMaster, 0)
+ );
+ if(CollUtil.isNotEmpty(mallMembers)){
+ for(MallMember mallMember : mallMembers){
+ AdminLeaderVo adminLeaderVo = new AdminLeaderVo();
+ adminLeaderVo.setId(mallMember.getId());
+ adminLeaderVo.setName(mallMember.getName());
+ adminLeaderVo.setUniqueCode(mallMember.getInviteId());
+ adminLeaderVos.add(adminLeaderVo);
+ }
+ }
+ return adminLeaderVos;
+ }
+
}
--
Gitblit v1.9.1