xiaoyong931011
2022-09-23 a740f17dab6666c30c680f693950ea0be6d6a16c
src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallTeamLeaderServiceImpl.java
@@ -64,6 +64,7 @@
    private final MallGoodsSkuMapper mallGoodsSkuMapper;
    private final MallElectronicFenceMapper mallElectronicFenceMapper;
    private final IMallElectronicFenceServiceImpl iMallElectronicFenceService;
    private final MallLeaderDefaultMapper mallLeaderDefaultMapper;
    @Override
    @Transactional
@@ -154,6 +155,7 @@
    @Override
    public FebsResponse getApiLeaderInfoVoById(Long id) {
        MallMember member = LoginUserUtil.getLoginUser();
        MallTeamLeader mallTeamLeader = this.baseMapper.selectById(id);
        ApiLeaderInfoVo apiLeaderInfoVo = new ApiLeaderInfoVo();
        apiLeaderInfoVo.setId(mallTeamLeader.getId());
@@ -166,6 +168,19 @@
        apiLeaderInfoVo.setTownship(mallTeamLeader.getTownship());
        apiLeaderInfoVo.setDetailAddress(mallTeamLeader.getDetailAddress());
        apiLeaderInfoVo.setAddressArea(mallTeamLeader.getAddressArea());
        MallElectronicFence mallElectronicFence = mallElectronicFenceMapper.selectByTeamLeaderCode(mallTeamLeader.getUniqueCode());
        if(ObjectUtil.isNotEmpty(mallElectronicFence)){
            String longLatStr = mallElectronicFence.getLonglatiarr();
            apiLeaderInfoVo.setLonglatiarr(longLatStr);
        }
        MallLeaderDefault mallLeaderDefault1 = mallLeaderDefaultMapper.selectByMemberId(member.getId());
        if(ObjectUtil.isNotEmpty(mallLeaderDefault1)){
            mallLeaderDefaultMapper.deleteById(mallLeaderDefaultMapper.selectByMemberId(member.getId()).getId());
        }
        MallLeaderDefault mallLeaderDefault = new MallLeaderDefault();
        mallLeaderDefault.setMemberId(member.getId());
        mallLeaderDefault.setUniqueCode(mallTeamLeader.getUniqueCode());
        mallLeaderDefaultMapper.insert(mallLeaderDefault);
        return new FebsResponse().success().data(apiLeaderInfoVo);
    }
@@ -174,7 +189,17 @@
        MallMember member = LoginUserUtil.getLoginUser();
        IPage<MallOrderInfo> page = new Page<>(apiLeaderOrderListDto.getPageNum(), apiLeaderOrderListDto.getPageSize());
        apiLeaderOrderListDto.setMemberId(member.getId());
        IPage<MallOrderInfo> mallOrderInfos = this.baseMapper.selectApiLeaderOrderListInPage(page, apiLeaderOrderListDto);
//        IPage<MallOrderInfo> mallOrderInfos = this.baseMapper.selectApiLeaderOrderListInPage(page, apiLeaderOrderListDto);
        IPage<MallOrderInfo> mallOrderInfos = this.baseMapper.selectNewApiLeaderOrderListInPage(page, apiLeaderOrderListDto);
        if(CollUtil.isNotEmpty(mallOrderInfos.getRecords())){
            for(MallOrderInfo mallOrderInfo : mallOrderInfos.getRecords()){
                Long orderInfoId = mallOrderInfo.getId();
                List<MallOrderItem> mallOrderItemList = mallOrderItemMapper.selectListByOrderId(orderInfoId);
                if(CollUtil.isNotEmpty(mallOrderItemList)){
                    mallOrderInfo.setItems(mallOrderItemList);
                }
            }
        }
        return MallOrderInfoConversion.INSTANCE.entitysToVos(mallOrderInfos.getRecords());
    }
@@ -203,18 +228,17 @@
            mallOrderInfoMapper.updateById(mallOrderInfo);
            OrderStateDto orderStateDto = new OrderStateDto();
            orderStateDto.setOrderNo(mallOrderInfo.getOrderNo());
            String productNames = getProductNames(mallOrderInfo.getMemberId(), mallOrderInfo.getId());
            orderStateDto.setGoodsName(StrUtil.sub(productNames,0,10)+"...");
            orderStateDto.setOrderState("待自提");
            orderStateDto.setTakeCode(mallOrderInfo.getTakeCode());
            orderStateDto.setGoodsName(StrUtil.sub(productNames,0,20)+"...");
            String takeUniqueCode = mallOrderInfo.getTakeUniqueCode();
            MallTeamLeader mallTeamLeader = mallTeamLeaderMapper.selectLeaderByUniqueCode(takeUniqueCode);
            orderStateDto.setAddressArea(StrUtil.sub(mallTeamLeader.getAddressArea(),0,10)+"...");
            orderStateDto.setDetailAddress(StrUtil.sub(mallTeamLeader.getDetailAddress(),0,10)+"...");
            orderStateDto.setAddressArea(mallTeamLeader.getAddressArea());
            orderStateDto.setDetailAddress(StrUtil.sub(mallTeamLeader.getDetailAddress(),0,20)+"...");
            orderStateDto.setLeaderPhone(mallTeamLeader.getPhone());
            orderStateDto.setOpenId(mallMemberMapper.selectById(mallOrderInfo.getMemberId()).getOpenId());
            DataDictionaryCustom dataDictionaryCustom = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(DataDictionaryEnum.WX_TEMPLATE_ID_ONE.getType(), DataDictionaryEnum.WX_TEMPLATE_ID_ONE.getCode());
            DataDictionaryCustom dataDictionaryCustom = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(DataDictionaryEnum.WX_TEMPLATE_ID_THREE.getType(), DataDictionaryEnum.WX_TEMPLATE_ID_THREE.getCode());
            orderStateDto.setTemplateId(dataDictionaryCustom.getValue());
            orderStateDto.setRemark("果蔬等生鲜,请尽快取货");
            iXcxPayService.pushOrderToAddress(orderStateDto);
        }
        return new FebsResponse().success().message("确认成功");
@@ -265,20 +289,29 @@
        Double latitude = apiLeaderTitleDto.getLatitude() == null ? 0 : apiLeaderTitleDto.getLatitude();
        ApiLeaderInfoVo apiLeaderInfoVo = new ApiLeaderInfoVo();
        MallTeamLeader mallTeamLeader = new MallTeamLeader();
        //特征码扫码
        if(StrUtil.isNotEmpty(uniqueCode)){
            mallTeamLeader = this.baseMapper.selectLeaderByUniqueCode(uniqueCode);
        //经纬度定位
        }else if(longitude != 0 && latitude != 0){
            mallTeamLeader = this.baseMapper.selectLeaderByLonAndLat(longitude,latitude);
        //直接进入,默认选择列表第一个
        MallMember member = LoginUserUtil.getLoginUser();
        if(ObjectUtil.isNotEmpty(member)){
            MallLeaderDefault mallLeaderDefault = mallLeaderDefaultMapper.selectByMemberId(member.getId());
            if(ObjectUtil.isNotEmpty(mallLeaderDefault)){
                mallTeamLeader = this.baseMapper.selectLeaderByUniqueCode(mallLeaderDefault.getUniqueCode());
            }
        }else{
            List<MallTeamLeader> mallTeamLeaderList = this.baseMapper.getMallTeamLeaderList();
            if(CollUtil.isNotEmpty(mallTeamLeaderList)){
                mallTeamLeader = mallTeamLeaderList.get(0);
            //特征码扫码
            if(StrUtil.isNotEmpty(uniqueCode)){
                mallTeamLeader = this.baseMapper.selectLeaderByUniqueCode(uniqueCode);
                //经纬度定位
            }else if(longitude != 0 && latitude != 0){
                mallTeamLeader = this.baseMapper.selectLeaderByLonAndLat(longitude,latitude);
                //直接进入,默认选择列表第一个
            }else{
                List<MallTeamLeader> mallTeamLeaderList = this.baseMapper.getMallTeamLeaderList();
                if(CollUtil.isNotEmpty(mallTeamLeaderList)){
                    mallTeamLeader = mallTeamLeaderList.get(0);
                }
            }
        }
        if(ObjectUtil.isNotEmpty(mallTeamLeader)){
            apiLeaderInfoVo.setId(mallTeamLeader.getId());
            apiLeaderInfoVo.setName(mallTeamLeader.getName());
@@ -290,6 +323,12 @@
            apiLeaderInfoVo.setTownship(mallTeamLeader.getTownship());
            apiLeaderInfoVo.setDetailAddress(mallTeamLeader.getDetailAddress());
            apiLeaderInfoVo.setAddressArea(mallTeamLeader.getAddressArea());
            MallElectronicFence mallElectronicFence = mallElectronicFenceMapper.selectByTeamLeaderCode(mallTeamLeader.getUniqueCode());
            if(ObjectUtil.isNotEmpty(mallElectronicFence)){
                apiLeaderInfoVo.setLonglatiarr(mallElectronicFence.getLonglatiarr());
            }
            apiLeaderInfoVo.setLongitude(mallTeamLeader.getLongitude());
            apiLeaderInfoVo.setLatitude(mallTeamLeader.getLatitude());
        }
        if(ObjectUtil.isEmpty(apiLeaderInfoVo)){
            return new FebsResponse().success();
@@ -523,4 +562,50 @@
        return new FebsResponse().success().data(apiLeaderListVos);
    }
    @Override
    public FebsResponse noLoginLeaderTitle(ApiLeaderTitleDto apiLeaderTitleDto) {
        String uniqueCode = apiLeaderTitleDto.getUniqueCode();
        Double longitude = apiLeaderTitleDto.getLongitude() == null ? 0 : apiLeaderTitleDto.getLongitude();
        Double latitude = apiLeaderTitleDto.getLatitude() == null ? 0 : apiLeaderTitleDto.getLatitude();
        ApiLeaderInfoVo apiLeaderInfoVo = new ApiLeaderInfoVo();
        MallTeamLeader mallTeamLeader = new MallTeamLeader();
        //特征码扫码
        if(StrUtil.isNotEmpty(uniqueCode)){
            mallTeamLeader = this.baseMapper.selectLeaderByUniqueCode(uniqueCode);
            //经纬度定位
        }else if(longitude != 0 && latitude != 0){
            mallTeamLeader = this.baseMapper.selectLeaderByLonAndLat(longitude,latitude);
            //直接进入,默认选择列表第一个
        }else{
            List<MallTeamLeader> mallTeamLeaderList = this.baseMapper.getMallTeamLeaderList();
            if(CollUtil.isNotEmpty(mallTeamLeaderList)){
                mallTeamLeader = mallTeamLeaderList.get(0);
            }
        }
        if(ObjectUtil.isNotEmpty(mallTeamLeader)){
            apiLeaderInfoVo.setId(mallTeamLeader.getId());
            apiLeaderInfoVo.setName(mallTeamLeader.getName());
            apiLeaderInfoVo.setPhone(mallTeamLeader.getPhone());
            apiLeaderInfoVo.setAddressPic(mallTeamLeader.getAddressPic());
            apiLeaderInfoVo.setUniqueCode(mallTeamLeader.getUniqueCode());
            apiLeaderInfoVo.setProvince(mallTeamLeader.getProvince());
            apiLeaderInfoVo.setCity(mallTeamLeader.getCity());
            apiLeaderInfoVo.setTownship(mallTeamLeader.getTownship());
            apiLeaderInfoVo.setDetailAddress(mallTeamLeader.getDetailAddress());
            apiLeaderInfoVo.setAddressArea(mallTeamLeader.getAddressArea());
            MallElectronicFence mallElectronicFence = mallElectronicFenceMapper.selectByTeamLeaderCode(mallTeamLeader.getUniqueCode());
            if(ObjectUtil.isNotEmpty(mallElectronicFence)){
                apiLeaderInfoVo.setLonglatiarr(mallElectronicFence.getLonglatiarr());
            }
            apiLeaderInfoVo.setLongitude(mallTeamLeader.getLongitude());
            apiLeaderInfoVo.setLatitude(mallTeamLeader.getLatitude());
        }
        if(ObjectUtil.isEmpty(apiLeaderInfoVo)){
            return new FebsResponse().success();
        }
        return new FebsResponse().success().data(apiLeaderInfoVo);
    }
}