From ea8e4abfb8c81cdae4d2a8743d81b615000f352d Mon Sep 17 00:00:00 2001 From: Administrator <15274802129@163.com> Date: Fri, 23 May 2025 16:57:23 +0800 Subject: [PATCH] feat(order): 添加自提点订单确认功能 --- src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallTeamLeaderServiceImpl.java | 111 +++++++++++++++++++++++++++++++++++++++++-------------- 1 files changed, 82 insertions(+), 29 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 8308a61..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) { @@ -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,8 +280,6 @@ // System.out.print(sid); // } } - - private final XcxProperties xcxProperties = SpringContextHolder.getBean(XcxProperties.class); @Override @Transactional public FebsResponse addFence(AdminLeaderAddFenceDto adminLeaderAddFenceDto) { @@ -318,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(); } @@ -340,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(); @@ -360,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