MrShi
7 小时以前 41115bb4b6d0161ff6d2c15ef6b3d5386a14ac9c
server/dmmall_service/src/main/java/com/doumee/service/business/impl/ShopServiceImpl.java
@@ -4,7 +4,6 @@
import com.doumee.biz.system.SystemDictDataBiz;
import com.doumee.config.Jwt.JwtPayLoad;
import com.doumee.config.Jwt.JwtTokenUtil;
import com.doumee.config.listener.event.VisitEvent;
import com.doumee.core.model.LoginUserInfo;
import com.doumee.core.constants.ResponseStatus;
import com.doumee.core.exception.BusinessException;
@@ -424,7 +423,18 @@
        queryWrapper.leftJoin(Member.class,Member::getId,Shop::getMemberId);
        queryWrapper.leftJoin(Labels.class,Labels::getId,Shop::getBigAreaId);
        if(pageWrap.getModel().getAreaId()!=null){
            queryWrapper.eq(  Shop::getAreaId, pageWrap.getModel().getAreaId());
        }else  if(pageWrap.getModel().getCityId()!=null){
            queryWrapper.leftJoin("areas a1 on a1.id=t.area_id");
            queryWrapper.leftJoin("areas a2 on a2.id=a1.parent_id");
            queryWrapper.apply("a2.id ="+pageWrap.getModel().getCityId());
        } else if (pageWrap.getModel().getProvinceId()!=null){
            queryWrapper.leftJoin("areas a1 on a1.id=t.area_id");
            queryWrapper.leftJoin("areas a2 on a2.id=a1.parent_id");
            queryWrapper.leftJoin("areas a3 on a3.id=a2.parent_id");
            queryWrapper.apply("a3.id ="+pageWrap.getModel().getProvinceId());
        }
        queryWrapper.eq(Shop::getIsdeleted, Constants.ZERO);
        queryWrapper.like(StringUtils.isNotBlank(pageWrap.getModel().getCode()) ,Shop::getCode,pageWrap.getModel().getCode());
        queryWrapper.like(StringUtils.isNotBlank(pageWrap.getModel().getUsername()) ,Shop::getName,pageWrap.getModel().getUsername());
@@ -569,9 +579,6 @@
        dto.setLabels(labels.stream().map(s->s.getName()).collect(Collectors.toList()));
        List<ShopMenuDTO> shopMenuDTO = shopMenuService.findShopMenuDTO(shopId);
        dto.setShopMenuDTOList(shopMenuDTO);
        //访问操作
        VisitEvent<Shop> shopVisitEvent = new VisitEvent<>(this,shop);
        applicationEventPublisher.publishEvent(shopVisitEvent);
        return dto;
    }
@@ -705,7 +712,9 @@
                .selectAll(Shop.class)
                .select(" CONVERT( ST_Distance_Sphere ( POINT ( LONGITUDE, LATITUDE ), POINT ( '"+dto.getLgt()+"' , '"+dto.getLat()+"' )) /1000,DECIMAL(15,2))",Shop::getDistance)
                .leftJoin(SystemUser.class,SystemUser::getId,Shop::getCreator)
                .like(StringUtils.isNotBlank(dto.getCityName()),Shop::getAddr,dto.getCityName())
                .leftJoin("areas a1 on a1.id=t.area_id")
                .leftJoin("areas a2 on a2.id=a1.parent_id")
                .like(StringUtils.isNotBlank(dto.getCityName()),"a2.name",dto.getCityName())
                .like(StringUtils.isNotBlank(dto.getShopName()),Shop::getName,dto.getShopName())
                .orderByDesc(!isArea,Shop::getId)
                .orderByAsc(isArea," distance ")