CeDo
2021-05-08 e37e7842a5019c64af9213fb763ea322530ac704
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComCvtBusinessServiceImpl.java
@@ -1,5 +1,6 @@
package com.panzhihua.service_community.service.impl;
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;
@@ -24,9 +25,11 @@
import com.panzhihua.service_community.service.ComCvtBusinessService;
import com.panzhihua.service_community.service.ComCvtServeService;
import org.springframework.beans.BeanUtils;
import org.springframework.boot.util.LambdaSafe;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.ObjectUtils;
import org.springframework.util.StringUtils;
import javax.annotation.Resource;
import java.util.ArrayList;
@@ -143,15 +146,32 @@
    }
    @Override
    public R getComCvtBusiness(Long id) {
    public R getComCvtBusiness(Long id, String cityCode) {
        ComCvtBusinessDO comCvtBusinessDO = comCvtBusinessDAO.selectById(id);
        if (null == comCvtBusinessDO) {
            return R.fail("商家不存在");
        }
        ComCvtBusinessVO comCvtBusinessVO = new ComCvtBusinessVO();
        BeanUtils.copyProperties(comCvtBusinessDO, comCvtBusinessVO);
        List<Long> areaIds = comCvtBusinessAreaService.getBusinessServiceAreaIds(comCvtBusinessDO.getId());
        List<ComActDO> comActDOS = comActDAO.selectBatchIds(areaIds);
        List<ComActDO> comActDOS = new ArrayList<>();
        if(comCvtBusinessDO.getAreaFlag()==1){
            LambdaQueryWrapper<ComActDO> lambdaQueryWrapper = new LambdaQueryWrapper<ComActDO>().eq(ComActDO::getState,0);
            if(!StringUtils.isEmpty(cityCode)){
                lambdaQueryWrapper.eq(ComActDO::getCityCode, cityCode);
            }
            comActDOS = comActDAO.selectList(lambdaQueryWrapper);
        }else{
            List<Long> areaIds = comCvtBusinessAreaService.getBusinessServiceAreaIds(comCvtBusinessDO.getId());
            if(!ObjectUtils.isEmpty(areaIds)){
                List<ComActDO> busiDO = comActDAO.selectBatchIds(areaIds);
                if(!StringUtils.isEmpty(cityCode) && busiDO!=null && busiDO.size()>0){
                    comActDOS = busiDO.stream().filter(comActDO -> cityCode.equals(comActDO.getCityCode()))
                            .collect(Collectors.toList());
                }
            }
        }
        if (!ObjectUtils.isEmpty(comActDOS)) {
            List<ComActVO> comActVOS = new ArrayList<>();
            comActDOS.forEach(comActDO -> {