罗元桥
2021-08-05 cc1098fc00a50cb1591d182f04bc37066ff0a9e2
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComMngVolunteerMngServiceImpl.java
New file
@@ -0,0 +1,245 @@
package com.panzhihua.service_community.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.panzhihua.common.model.vos.R;
import com.panzhihua.common.model.vos.community.ComMngVolunteerMngAppletsVO;
import com.panzhihua.common.model.vos.community.ComMngVolunteerMngVO;
import com.panzhihua.common.model.vos.community.ComMngVolunteerMngVO;
import com.panzhihua.common.model.vos.community.TodoEventsVO;
import com.panzhihua.common.model.vos.user.UserPhoneVO;
import com.panzhihua.common.utlis.SensitiveUtil;
import com.panzhihua.service_community.dao.ComMngVolunteerMngDAO;
import com.panzhihua.service_community.model.dos.ComMngVolunteerMngDO;
import com.panzhihua.service_community.service.ComMngVolunteerMngService;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
import org.springframework.util.ObjectUtils;
import javax.annotation.Resource;
import java.util.Arrays;
import java.util.List;
/**
 * @program: springcloud_k8s_panzhihuazhihuishequ
 * @description: 志愿者
 * @author: huang.hongfa weixin hhf9596 qq 959656820
 * @create: 2020-12-17 09:23
 **/
@Service
public class ComMngVolunteerMngServiceImpl implements ComMngVolunteerMngService {
    @Resource
    private ComMngVolunteerMngDAO comMngVolunteerMngDAO;
    /**
     * 增加志愿者
     *
     * @param comMngVolunteerMngVO 志愿者信息
     * @return 增加结果
     */
    @Override
    public R addVolunteer(ComMngVolunteerMngVO comMngVolunteerMngVO) {
        String phone = comMngVolunteerMngVO.getPhone();
        Integer integer = comMngVolunteerMngDAO.selectCount(new QueryWrapper<ComMngVolunteerMngDO>().lambda().eq(ComMngVolunteerMngDO::getPhone, phone).in(ComMngVolunteerMngDO::getState, Arrays.asList(new Integer[]{1,2})));
        if (null!=integer&&integer.intValue()>0) {
            return R.fail("请勿重复申请");
        }
        ComMngVolunteerMngDO comMngVolunteerMngDO=new ComMngVolunteerMngDO();
        BeanUtils.copyProperties(comMngVolunteerMngVO,comMngVolunteerMngDO);
        int insert = comMngVolunteerMngDAO.insert(comMngVolunteerMngDO);
        if (insert>0) {
            return R.ok();
        }
        return R.fail();
    }
    /**
     * 删除志愿者
     *
     * @param comMngVolunteerMngVO 手机号
     * @return 删除结果
     */
    @Override
    public R deleteVolunteer(ComMngVolunteerMngVO comMngVolunteerMngVO) {
        ComMngVolunteerMngDO comMngVolunteerMngDO = comMngVolunteerMngDAO.selectById(comMngVolunteerMngVO.getId());
        int delete = comMngVolunteerMngDAO.delete(new QueryWrapper<ComMngVolunteerMngDO>().lambda().eq(ComMngVolunteerMngDO::getId, comMngVolunteerMngDO.getId()));
        if (delete>0) {
            return R.ok();
        }
        return R.fail();
    }
    /**
     * 编辑志愿者
     *
     * @param comMngVolunteerMngVO 编辑内容
     * @return 编辑结果
     */
    @Override
    public R putVolunteer(ComMngVolunteerMngVO comMngVolunteerMngVO) {
        ComMngVolunteerMngDO comMngVolunteerMngDO=new ComMngVolunteerMngDO();
        BeanUtils.copyProperties(comMngVolunteerMngVO,comMngVolunteerMngDO);
        int update = comMngVolunteerMngDAO.updateById(comMngVolunteerMngDO);
        if (update>0) {
            return R.ok();
        }
        return R.fail();
    }
    /**
     * 分页展示志愿者
     *
     * @param comMngVolunteerMngVO 查询参数
     * @return 分页集合返回
     */
    @Override
    public R pageVolunteer(ComMngVolunteerMngVO comMngVolunteerMngVO) {
        Page page = new Page<>();
        Long pageNum = comMngVolunteerMngVO.getPageNum();
        Long pageSize = comMngVolunteerMngVO.getPageSize();
        if (null==pageNum||0==pageNum) {
            pageNum = 1l;
        }
        if (null==pageSize||0==pageSize) {
            pageSize = 10l;
        }
        page.setSize(pageSize);
        page.setCurrent(pageNum);
        IPage<ComMngVolunteerMngVO> iPage = comMngVolunteerMngDAO.pageVolunteer(page, comMngVolunteerMngVO);
        iPage.getRecords().forEach(record->{
            record.setPhone(SensitiveUtil.desensitizedPhoneNumber(record.getPhone()));
        });
        return R.ok(iPage);
    }
    /**
     * 分页展示志愿者审核
     *
     * @param comMngVolunteerMngVO 查询参数
     * @return 查询结果
     */
    @Override
    public R pageVolunteerExamine(ComMngVolunteerMngVO comMngVolunteerMngVO) {
        Page page = new Page<>();
        Long pageNum = comMngVolunteerMngVO.getPageNum();
        Long pageSize = comMngVolunteerMngVO.getPageSize();
        if (null==pageNum||0==pageNum) {
            pageNum = 1l;
        }
        if (null==pageSize||0==pageSize) {
            pageSize = 10l;
        }
        page.setSize(pageSize);
        page.setCurrent(pageNum);
        IPage<ComMngVolunteerMngVO> iPage = comMngVolunteerMngDAO.pageVolunteerExamine(page, comMngVolunteerMngVO);
        return R.ok(iPage);
    }
    /**
     * 志愿者审核详情
     *
     * @param id 主键
     * @return 详情
     */
    @Override
    public R detailVolunteerExamine(Long id) {
        ComMngVolunteerMngDO comMngVolunteerMngDO = comMngVolunteerMngDAO.selectById(id);
        if (ObjectUtils.isEmpty(comMngVolunteerMngDO)) {
            return R.fail("审核不存在");
        }
        ComMngVolunteerMngVO comMngVolunteerMngVO=new ComMngVolunteerMngVO();
        BeanUtils.copyProperties(comMngVolunteerMngDO,comMngVolunteerMngVO);
        //String phone = comMngVolunteerMngVO.getPhone();
        //comMngVolunteerMngVO.setUserId(comMngVolunteerMngDAO.selectUserIdByPhone(phone));
        return R.ok(comMngVolunteerMngVO);
    }
    /**
     * 志愿者审核
     *
     * @param comMngVolunteerMngVO 审核操作
     * @return 审核结果
     */
    @Override
    public R putVolunteerExamine(ComMngVolunteerMngVO comMngVolunteerMngVO) {
        ComMngVolunteerMngDO comMngVolunteerMngDO=new ComMngVolunteerMngDO();
        BeanUtils.copyProperties(comMngVolunteerMngVO,comMngVolunteerMngDO);
        int update = comMngVolunteerMngDAO.updateById(comMngVolunteerMngDO);
        if (update>0) {
            return R.ok();
        }
        return R.fail();
    }
    /**
     * 删除志愿者审核
     *
     * @param comMngVolunteerMngVO 主键
     * @return 删除结果
     */
    @Override
    public R deleteVolunteerExamine(ComMngVolunteerMngVO comMngVolunteerMngVO) {
        int delete = comMngVolunteerMngDAO.deleteById(comMngVolunteerMngVO.getId());
        if (delete>0) {
            return R.ok();
        }
        return R.fail();
    }
    /**
     * 用户修改手机号对应的志愿者手机号也要修改
     *
     * @param userPhoneVO 新旧手机号
     * @return 修改结果
     */
    @Override
    public R putVolunteerPhone(UserPhoneVO userPhoneVO) {
        ComMngVolunteerMngDO comMngVolunteerMngDO=new ComMngVolunteerMngDO();
        comMngVolunteerMngDO.setPhone(userPhoneVO.getNewPhone());
        int update = comMngVolunteerMngDAO.update(comMngVolunteerMngDO, new UpdateWrapper<ComMngVolunteerMngDO>().lambda().eq(ComMngVolunteerMngDO::getPhone, userPhoneVO.getOldPhone()));
        if (update>0) {
            return R.ok();
        }
        return R.fail();
    }
    /**
     * 志愿者详情
     *
     * @param id 主键
     * @return 志愿者
     */
    @Override
    public R detailVolunteer(Long id) {
        ComMngVolunteerMngDO comMngVolunteerMngDO = comMngVolunteerMngDAO.selectById(id);
        if (ObjectUtils.isEmpty(comMngVolunteerMngDO)) {
            return R.fail("志愿者不存在");
        }
        ComMngVolunteerMngAppletsVO comMngVolunteerMngAppletsVO=new ComMngVolunteerMngAppletsVO();
        BeanUtils.copyProperties(comMngVolunteerMngDO,comMngVolunteerMngAppletsVO);
        return R.ok(comMngVolunteerMngAppletsVO);
    }
    /**
     * 社区后台数据看板
     *
     * @param communityId 社区id
     * @param userId      用户id
     * @return 人脸采集和志愿者审核集合
     */
    @Override
    public List<TodoEventsVO> selectNeedToDo(Long communityId, Long userId) {
        List<TodoEventsVO> todoEventsVOS=comMngVolunteerMngDAO.selectNeedToDo(communityId);
        return todoEventsVOS;
    }
    @Override
    public R getVolunteerById(Long id) {
        ComMngVolunteerMngDO comMngVolunteerMngDO = comMngVolunteerMngDAO.selectById(id);
        ComMngVolunteerMngAppletsVO vo=new ComMngVolunteerMngAppletsVO();
        BeanUtils.copyProperties(comMngVolunteerMngDO,vo);
        return R.ok(vo);
    }
}