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
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
package com.panzhihua.service_community.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.community.ComMngPopulationDTO;
import com.panzhihua.common.model.dtos.community.ComMngPopulationTagDTO;
import com.panzhihua.common.model.dtos.community.PageComActDTO;
import com.panzhihua.common.model.vos.R;
import com.panzhihua.common.model.vos.community.ComActActivityVO;
import com.panzhihua.common.model.vos.community.ComActVO;
import com.panzhihua.common.model.vos.community.ComMngPopulationVO;
import com.panzhihua.common.model.vos.user.ComMngFamilyInfoVO;
import com.panzhihua.service_community.dao.ComActActivityDAO;
import com.panzhihua.service_community.dao.ComActDAO;
import com.panzhihua.service_community.dao.ComMngPopulationDAO;
import com.panzhihua.service_community.model.dos.ComActActivityDO;
import com.panzhihua.service_community.model.dos.ComActDO;
import com.panzhihua.service_community.model.dos.ComMngPopulationDO;
import com.panzhihua.service_community.service.ComMngPopulationService;
import org.springframework.beans.BeanUtils;
import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
import org.springframework.stereotype.Service;
import org.springframework.util.ObjectUtils;
 
import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
 
/**
 * 实有人口Service实现类
 */
@Service
public class ComMngPopulationServiceImpl implements ComMngPopulationService {
    @Resource
    private ComMngPopulationDAO populationDAO;
 
 
    /**
     * 新增实有人口
     * @param comMngPopulationVO 新增信息
     * @return 新增结果
     */
    @Override
    public R addPopulation(ComMngPopulationVO comMngPopulationVO) {
        ComMngPopulationDO comMngPopulationDO=new ComMngPopulationDO();
        Integer integer = populationDAO.selectCount(new QueryWrapper<ComMngPopulationDO>().lambda().eq(ComMngPopulationDO::getCardNo, comMngPopulationVO.getCardNo()));
        if (integer>0) {
            return R.fail("实有人口已经存在");
        }
        BeanUtils.copyProperties(comMngPopulationVO,comMngPopulationDO);
 
        int nub = populationDAO.insert(comMngPopulationDO);
        if(nub < 1){
            return R.fail();
        }
        return R.ok(nub);
    }
 
    /**
     * 编辑实有人口
     * @param comMngPopulationVO 编辑内容
     * @return 编辑结果
     */
    @Override
    public R putPopulation(ComMngPopulationVO comMngPopulationVO) {
        ComMngPopulationDO comMngPopulationDO = populationDAO.selectById(comMngPopulationVO.getId());
        if (comMngPopulationDO == null) {
            return R.fail("未查询到人口记录");
        }
        BeanUtils.copyProperties(comMngPopulationVO,comMngPopulationDO);
 
        int nub = populationDAO.updateById(comMngPopulationDO);
        if(nub < 1){
            return R.fail();
        }
        return R.ok();
    }
 
    /**
     * 查询实有人口
     *
     * @param comMngPopulationVO 查询条件
     * @return 实有人口集合
     */
    @Override
    public R listPopulation(ComMngPopulationDTO comMngPopulationVO) {
        List<ComMngPopulationVO> populationVOS = populationDAO.listPopulation(comMngPopulationVO);
        return R.ok(populationVOS);
    }
 
    /**
     * 实有人口详情
     *
     * @param populationId 实有人口id
     * @return 实有人口详情
     */
    @Override
    public R detailPopulation(Long populationId) {
        ComMngPopulationDO comMngPopulationDO = populationDAO.selectById(populationId);
        if (ObjectUtils.isEmpty(comMngPopulationDO)) {
            return R.fail();
        }
        ComMngPopulationVO comMngPopulationVO = new ComMngPopulationVO();
        BeanUtils.copyProperties(comMngPopulationDO,comMngPopulationVO);
 
        //查询家庭成员信息
        List<ComMngFamilyInfoVO> comMngFamilyInfoVOS = populationDAO.listFamilyByUserId(comMngPopulationDO.getId());
        if(!comMngFamilyInfoVOS.isEmpty()){
            comMngPopulationVO.setComMngFamilyInfoVOS(comMngFamilyInfoVOS);
        }
        return R.ok(comMngPopulationVO);
    }
 
    /**
     * 分页查询社区
     *
     * @param comMngPopulationVO 查询参数
     * @return 分页集合
     */
    @Override
    public R pagePopulation(ComMngPopulationDTO comMngPopulationVO) {
        Page page = new Page<>();
        Long pageNum = comMngPopulationVO.getPageNum();
        Long pageSize = comMngPopulationVO.getPageSize();
        if (null==pageNum||0==pageNum) {
            pageNum = 1l;
        }
        if (null==pageSize||0==pageSize) {
            pageSize = 10l;
        }
        page.setSize(pageSize);
        page.setCurrent(pageNum);
        IPage<ComMngPopulationVO> iPage = populationDAO.pagePopulation(page, comMngPopulationVO);
        return R.ok(iPage);
    }
 
    /**
     * 删除实有人口
     *
     * @param populationId 实有人口id
     * @return 删除结果
     */
    @Override
    public R deletePopulation(Long populationId) {
        int delete = populationDAO.deleteById(populationId);
        if (delete>0) {
            return R.ok();
        }
        return R.fail();
    }
 
    /**
     * 查询所有实有人口
     *
     * @return 实有人口集合 按照创建顺序倒序排列
     */
    @Override
    public R listPopulationAll() {
        List<ComMngPopulationDO> populationDOS = populationDAO.selectList(new QueryWrapper<ComMngPopulationDO>().lambda().orderByDesc(ComMngPopulationDO::getCreateAt));
        List<ComMngPopulationVO> populationVOS=new ArrayList<>();
        if (!ObjectUtils.isEmpty(populationDOS)) {
            populationDOS.forEach(comActDO -> {
                ComMngPopulationVO populationVO=new ComMngPopulationVO();
                BeanUtils.copyProperties(comActDO,populationVO);
                populationVOS.add(populationVO);
            });
        }
        return R.ok(populationVOS);
    }
 
    /**
     * 根据id修改实有人口标签
     * @param populationTagDTO 请求参数
     * @return 修改结果
     */
    @Override
    public R editTagPopulation(ComMngPopulationTagDTO populationTagDTO) {
        ComMngPopulationDO comMngPopulationDO = populationDAO.selectById(populationTagDTO.getId());
        if (comMngPopulationDO == null) {
            return R.fail("未查询到人口记录");
        }
        BeanUtils.copyProperties(populationTagDTO,comMngPopulationDO);
 
        int nub = populationDAO.updateById(comMngPopulationDO);
        if(nub < 1){
            return R.fail();
        }
        return R.ok();
    }
}