package com.panzhihua.service_equipment.service.impl; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.panzhihua.common.model.dtos.equipment.UnionOutdoorSiteDto; import com.panzhihua.common.model.vos.R; import com.panzhihua.service_equipment.dao.UnionOutdoorServiceRangeMapper; import com.panzhihua.service_equipment.dao.UnionOutdoorSiteMapper; import com.panzhihua.service_equipment.model.dos.UnionOutdoorServiceRange; import com.panzhihua.service_equipment.model.dos.UnionOutdoorSite; import com.panzhihua.service_equipment.service.UnionOutdoorSiteService; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; import javax.annotation.Resource; @Slf4j @Service public class UnionOutdoorSiteServiceImpl extends ServiceImpl implements UnionOutdoorSiteService { @Resource private UnionOutdoorServiceRangeMapper unionOutdoorServiceRangeMapper; /** * 分页总工会户外劳工站 * * @param unionOutdoorSiteDto * @return 动态结果 */ @Override public R> query(UnionOutdoorSiteDto unionOutdoorSiteDto) { Page page = new Page(unionOutdoorSiteDto.getPageNum(), unionOutdoorSiteDto.getPageSize()); QueryWrapper unionOutdoorLaborDynamicQueryWrapper = new QueryWrapper<>(); if (unionOutdoorSiteDto.getAreaCode()!=null) unionOutdoorLaborDynamicQueryWrapper.eq("area_code",unionOutdoorSiteDto.getAreaCode()); if (unionOutdoorSiteDto.getKeyWord()!=null) unionOutdoorLaborDynamicQueryWrapper.and(wrapper -> wrapper.like("name", unionOutdoorSiteDto.getKeyWord()) .or() .like("introduction", unionOutdoorSiteDto.getKeyWord()) .or() .like("detailed_address", unionOutdoorSiteDto.getKeyWord())); Page pageResult = baseMapper.selectPage(page, unionOutdoorLaborDynamicQueryWrapper); pageResult.setTotal(pageResult.getRecords().size()); return R.ok(pageResult); } @Override public R unionOutdoorSiteDetails(Long id) { UnionOutdoorSite unionOutdoorSite = baseMapper.selectById(id); if (unionOutdoorSite != null) { unionOutdoorSite.setViewNum(unionOutdoorSite.getViewNum()+1); baseMapper.updateById(unionOutdoorSite); QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.inSql("id", "SELECT service_range_id FROM union_outdoor_site_service_range WHERE site_id = " + id); unionOutdoorSite.setUnionOutdoorServiceRangeList(unionOutdoorServiceRangeMapper.selectList(queryWrapper)); return R.ok(unionOutdoorSite); } return R.fail(); } }