huanghongfa
2021-06-04 5a1bc1bab26bbf3429d67485f53dce2ceb1a40fd
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
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
package com.panzhihua.service_grid.service.impl;
 
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.grid.*;
import com.google.common.base.Joiner;
import com.panzhihua.common.model.dtos.grid.EventGridDataAddDTO;
import com.panzhihua.common.model.dtos.grid.EventGridDataDeleteDTO;
import com.panzhihua.common.model.dtos.grid.EventGridDataEditDTO;
import com.panzhihua.common.model.dtos.grid.PageEventGridDataDTO;
import com.panzhihua.common.model.vos.R;
import com.panzhihua.common.model.vos.grid.*;
import com.panzhihua.service_grid.dao.*;
import com.panzhihua.service_grid.model.dos.*;
import com.panzhihua.service_grid.service.EventGridDataService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
import org.springframework.beans.BeanUtils;
 
import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
 
/**
 * @auther lyq
 * @create 2021-04-14 15:03:01
 * @describe 订单表服务实现类
 */
@Slf4j
@Service
public class EventGridDataServiceImpl extends ServiceImpl<EventGridDataMapper, EventGridDataDO> implements EventGridDataService {
 
    @Resource
    private EventGridDataMapper eventGridDataMapper;
    @Resource
    private EventMapper eventMapper;
    /**
     * 新增区县/街道/社区/网格员网格数据管理
     * @param eventGridDataAddDTO
     * @return 新增结果
     */
    public R add(EventGridDataAddDTO eventGridDataAddDTO){
        EventGridDataDO eventGridDataDO = new EventGridDataDO();
        BeanUtils.copyProperties(eventGridDataAddDTO, eventGridDataDO);
        eventGridDataDO.setCreateAt(new Date());
        if(eventGridDataMapper.insert(eventGridDataDO)>0){
            return R.ok();
        }
        return R.fail();
    }
 
    /**
     * 修改区县/街道/社区/网格员网格数据管理
     * @param eventGridDataEditDTO
     * @return 维护结果
     */
    public R edit(EventGridDataEditDTO eventGridDataEditDTO){
        EventGridDataDO eventGridDataDO = new EventGridDataDO();
        BeanUtils.copyProperties(eventGridDataEditDTO, eventGridDataDO);
        //eventGridDataDO.setUpdateAt(new Date());
        if(eventGridDataMapper.updateById(eventGridDataDO)>0){
            return R.ok();
        }
        return R.fail();
    }
 
    /**
     * 删除区县/街道/社区/网格员网格数据管理
     * @param EventGridDataDeleteDTO
     * @return 平台用户信息
     */
    public R delete(EventGridDataDeleteDTO EventGridDataDeleteDTO){
        return R.fail();
    }
 
    /**
     * 查询区县/街道/社区/网格员网格数据管理详细信息
     * @param id 区县/街道/社区/网格员网格数据管理 id
     * @return 查找结果
     */
    public R<EventGridDataDetailsVO> eventGridDataDetails(Long id){
        EventGridDataDO eventGridDataDO = eventGridDataMapper.selectById(id);
        if(eventGridDataDO!=null) {
            EventGridDataDetailsVO eventGridDataDetailsVO = new EventGridDataDetailsVO();
            BeanUtils.copyProperties(eventGridDataDO, eventGridDataDetailsVO);
            return R.ok(eventGridDataDetailsVO);
        }
        return R.fail();
    }
 
    @Override
    public R getUserGrid(PageEventGridDataDTO pageEventGridDataDTO) {
        Page page = new Page(1,10);
        if(pageEventGridDataDTO.getPageNum()!=null) {
            page.setCurrent(pageEventGridDataDTO.getPageNum());
        }
        if(pageEventGridDataDTO.getPageSize()!=null) {
            page.setSize(pageEventGridDataDTO.getPageSize());
        }
 
        return R.ok(eventGridDataMapper.selectUserGrid(page, pageEventGridDataDTO));
    }
 
    /**
     * 地图模块-根据网格id查询网格详细信息
     * @param gridId    网格id
     * @return  网格详细信息
     */
    @Override
    public R getMapGridDetail(Long gridId){
        ComMapGridDetailVO gridDetailVO = new ComMapGridDetailVO();
        //查询网格信息
        EventGridDataDO eventGridDataDO = this.baseMapper.selectById(gridId);
        if(eventGridDataDO == null){
            return R.fail("未查询到网格信息");
        }
        BeanUtils.copyProperties(eventGridDataDO,gridDetailVO);
        //查询网格待办事件
        List<ComMapGridEventVO> gridEventList = eventMapper.getEventByGridId(gridId);
        if(!gridEventList.isEmpty()){
            gridDetailVO.setGridEventList(gridEventList);
        }
        return R.ok(gridDetailVO);
    }
 
    @Override
    public R getGridTodoData(EventGridTodoDataDTO eventGridTodoDataDTO) {
        List<UserEventGridDataVO> userEventGridDataVO = eventGridDataMapper.getGridTodoData(eventGridTodoDataDTO);
        return R.ok(userEventGridDataVO);
    }
 
    /**
     * 分页查询网格
     * @param eventGridDataDTO  请求参数
     * @return  网格列表
     */
    @Override
    public R getGridMemberList(PageEventGridDataDTO eventGridDataDTO){
        IPage<EventGridAdminVO> gridAdminVOIPage = this.baseMapper.findByPage(new Page(eventGridDataDTO.getPageNum(),eventGridDataDTO.getPageSize()),eventGridDataDTO);
        if(!gridAdminVOIPage.getRecords().isEmpty()){
            gridAdminVOIPage.getRecords().forEach(gridMember -> {
                List<String> members = this.baseMapper.getGridMember(gridMember.getId());
                if(!members.isEmpty()){
                    String memberNames = Joiner.on(",").join(members);
                    gridMember.setGridMemberName(memberNames);
                }
            });
        }
        return R.ok(gridAdminVOIPage);
    }
 
    /**
     * 查询社区下所有网格员
     * @param communityId   社区id
     * @return  网格员列表
     */
    @Override
    public R getGridMemberLists(Long communityId){
        return R.ok(this.baseMapper.getGridMemberLists(communityId));
    }
 
}