huanghongfa
2021-07-15 20265a287301b45ff7bb7de6a197b8110feaa853
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
165
166
167
168
169
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.panzhihua.common.model.dtos.grid.admin.EventGridMemberCascadeAddDTO;
import com.panzhihua.common.model.vos.R;
import com.panzhihua.common.model.vos.grid.EventGridMemberRelationDetailsVO;
import com.panzhihua.common.model.vos.grid.EventGridMemberRelationVO;
import com.panzhihua.common.model.vos.grid.EventMapGridVO;
import com.panzhihua.common.model.vos.grid.admin.GridMemberCascadeVO;
import com.panzhihua.common.service.user.UserService;
import com.panzhihua.service_grid.dao.*;
import com.panzhihua.service_grid.model.dos.*;
import com.panzhihua.service_grid.service.EventGridMemberRelationService;
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 EventGridMemberRelationServiceImpl extends ServiceImpl<EventGridMemberRelationMapper, EventGridMemberRelationDO> implements EventGridMemberRelationService {
 
    @Resource
    private EventGridMemberRelationMapper eventGridMemberRelationMapper;
    @Resource
    private UserService userService;
 
    /**
     * 新增网格和网格员的关联关系
     * @param eventGridMemberAddDTO
     * @return 新增结果
     */
    public R add(EventGridMemberAddDTO eventGridMemberAddDTO){
 
        userService.addGridUser(eventGridMemberAddDTO);
 
 
 
        EventGridMemberRelationDO eventGridMemberRelationDO = new EventGridMemberRelationDO();
        eventGridMemberRelationDO.setCreateBy(eventGridMemberAddDTO.getUserId());
        if(eventGridMemberRelationMapper.insert(eventGridMemberRelationDO)>0){
            return R.ok();
        }
        return R.fail();
    }
 
    /**
     * 修改网格和网格员的关联关系
     * @param eventGridMemberEditDTO
     * @return 维护结果
     */
    public R edit(EventGridMemberEditDTO eventGridMemberEditDTO){
        EventGridMemberRelationDO eventGridMemberRelationDO = new EventGridMemberRelationDO();
        BeanUtils.copyProperties(eventGridMemberEditDTO, eventGridMemberRelationDO);
        //eventGridMemberRelationDO.setUpdateAt(new Date());
        if(eventGridMemberRelationMapper.updateById(eventGridMemberRelationDO)>0){
            return R.ok();
        }
        return R.fail();
    }
 
    /**
     * 分页查找网格和网格员的关联关系
     * @param pageEventGridMemberRelationDTO
     * @return 维护结果
     */
    public R<IPage<EventGridMemberRelationVO>> query(PageEventGridMemberRelationDTO pageEventGridMemberRelationDTO){
        Page page = new Page(1,10);
        if(pageEventGridMemberRelationDTO.getPageNum()!=null) {
            page.setCurrent(pageEventGridMemberRelationDTO.getPageNum());
        }
        if(pageEventGridMemberRelationDTO.getPageSize()!=null) {
            page.setSize(pageEventGridMemberRelationDTO.getPageSize());
        }
        return R.ok(eventGridMemberRelationMapper.findByPage(page, pageEventGridMemberRelationDTO));
    }
 
    /**
     * 删除网格和网格员的关联关系
     * @param EventGridMemberRelationDeleteDTO
     * @return 平台用户信息
     */
    public R delete(EventGridMemberRelationDeleteDTO EventGridMemberRelationDeleteDTO){
        return R.fail();
    }
 
    /**
     * 查询网格和网格员的关联关系详细信息
     * @param id 网格和网格员的关联关系 id
     * @return 查找结果
     */
    public R<EventGridMemberRelationDetailsVO> eventGridMemberRelationDetails(Long id){
        EventGridMemberRelationDO eventGridMemberRelationDO = eventGridMemberRelationMapper.selectById(id);
        if(eventGridMemberRelationDO!=null) {
            EventGridMemberRelationDetailsVO eventGridMemberRelationDetailsVO = new EventGridMemberRelationDetailsVO();
            BeanUtils.copyProperties(eventGridMemberRelationDO, eventGridMemberRelationDetailsVO);
            return R.ok(eventGridMemberRelationDetailsVO);
        }
        return R.fail();
    }
 
    /**
     * 根据网格员id查询关联网格列表
     * @param userId    网格员id
     * @return  网格列表
     */
    @Override
    public R getMapGridListByApp(Long userId){
        return R.ok(this.baseMapper.getMapGridListByApp(userId));
    }
 
    /**
     * 查询市平台网格员列表
     * @return  市平台网格员列表
     */
    @Override
    public R lcList(){
        return R.ok(this.baseMapper.getGridMemberLcList());
    }
 
    @Override
    public R gridMemberCascadeList(EventGridMemberCascadeAddDTO memberCascadeAddDTO){
        if(memberCascadeAddDTO.getType() == null){
            return R.fail("参数错误");
        }
        List<GridMemberCascadeVO> memberCascadeList = this.baseMapper.getGridMemberCascade(memberCascadeAddDTO.getType(),memberCascadeAddDTO.getSuperiorId());
 
        List<GridMemberCascadeVO> result = new ArrayList<>();
        if(!memberCascadeList.isEmpty()){
            memberCascadeList.forEach(cascade -> {
                if(memberCascadeAddDTO.getType().equals(1)){//过滤无小区的社区
                    Integer count = this.baseMapper.getVillageCount(cascade.getId());
                    if(count > 0){
                        result.add(cascade);
                    }
                }else if(memberCascadeAddDTO.getType().equals(2)){//过滤无楼栋的小区
                    Integer count = this.baseMapper.getBuildingCount(cascade.getId());
                    if(count > 0){
                        result.add(cascade);
                    }
                }else{
                    if(!cascade.getName().contains("栋")){
                        cascade.setName(cascade.getName() + "栋");
                    }
                    result.add(cascade);
                }
            });
        }
        return R.ok(result);
    }
 
    @Override
    public R getMapGridListsByApp(EventGridCascadeListDTO cascadeListDTO){
        return R.ok(eventGridMemberRelationMapper.getMapGridListsByApp(cascadeListDTO));
    }
 
}