xiaoyong931011
2022-09-22 9aa9afa192ace444c9e391d9b50fd761639742c8
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("团长信息不存在,刷新重试");
        }
@@ -104,10 +109,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);
@@ -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("团长信息不存在");
        }
@@ -177,10 +185,10 @@
        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("请输入合适的百分比小数");
        }
//        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);
@@ -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)){
@@ -306,14 +318,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();
    }
@@ -328,10 +346,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();