mitao
2025-02-21 31573d6180d15ef65ed0df9c2732495f40b12663
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
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<UnionOutdoorSiteMapper, UnionOutdoorSite> implements UnionOutdoorSiteService {
 
    @Resource
    private UnionOutdoorServiceRangeMapper unionOutdoorServiceRangeMapper;
 
 
    /**
     * 分页总工会户外劳工站
     *
     * @param unionOutdoorSiteDto
     * @return 动态结果
     */
    @Override
    public R<IPage<UnionOutdoorSite>> query(UnionOutdoorSiteDto unionOutdoorSiteDto) {
        Page page = new Page(unionOutdoorSiteDto.getPageNum(), unionOutdoorSiteDto.getPageSize());
        QueryWrapper<UnionOutdoorSite> 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<UnionOutdoorSite> unionOutdoorSiteDetails(Long id) {
        UnionOutdoorSite unionOutdoorSite = baseMapper.selectById(id);
        if (unionOutdoorSite != null) {
            unionOutdoorSite.setViewNum(unionOutdoorSite.getViewNum()+1);
            baseMapper.updateById(unionOutdoorSite);
            QueryWrapper<UnionOutdoorServiceRange> 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();
    }
}