From b95d52d48ddabdba4bd834e63035dad1253b7a30 Mon Sep 17 00:00:00 2001
From: 张天森 <1292933220@qq.com>
Date: 星期四, 17 十一月 2022 13:52:08 +0800
Subject: [PATCH] 普达物业公司权限处理
---
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComMngVolunteerMngServiceImpl.java | 242 +++++++++++++++++++++++++++++++++++++++---------
1 files changed, 197 insertions(+), 45 deletions(-)
diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComMngVolunteerMngServiceImpl.java b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComMngVolunteerMngServiceImpl.java
index 12e7b78..fed909f 100644
--- a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComMngVolunteerMngServiceImpl.java
+++ b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComMngVolunteerMngServiceImpl.java
@@ -1,5 +1,26 @@
package com.panzhihua.service_community.service.impl;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Date;
+import java.util.List;
+
+import javax.annotation.Resource;
+
+import cn.hutool.core.util.IdcardUtil;
+import com.panzhihua.common.model.vos.community.volunteer.ComMngVolunteerErrorExcelVO;
+import com.panzhihua.common.model.vos.community.volunteer.ComMngVolunteerExcelVO;
+import com.panzhihua.common.service.user.UserService;
+import com.panzhihua.common.utlis.StringUtils;
+import com.panzhihua.service_community.dao.ComMngVolunteerOrgTeamMapper;
+import com.panzhihua.service_community.dao.ComMngVolunteerSkillMapper;
+import com.panzhihua.service_community.model.dos.ComMngVolunteerOrgTeam;
+import com.panzhihua.service_community.model.dos.ComMngVolunteerSkill;
+import org.springframework.beans.BeanUtils;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+import org.springframework.util.ObjectUtils;
+
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
@@ -7,16 +28,14 @@
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 static java.util.Objects.nonNull;
/**
* @program: springcloud_k8s_panzhihuazhihuishequ
@@ -28,23 +47,34 @@
public class ComMngVolunteerMngServiceImpl implements ComMngVolunteerMngService {
@Resource
private ComMngVolunteerMngDAO comMngVolunteerMngDAO;
+ @Resource
+ private ComMngVolunteerOrgTeamMapper comMngVolunteerOrgTeamMapper;
+ @Resource
+ private ComMngVolunteerSkillMapper comMngVolunteerSkillMapper;
+ @Resource
+ private UserService userService;
+
/**
* 增加志愿者
*
- * @param comMngVolunteerMngVO 志愿者信息
+ * @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));
- if (null!=integer&&integer.intValue()>0) {
- return R.fail("手机号已经存在");
+ String idCard = comMngVolunteerMngVO.getIdCard();
+ Integer integer = comMngVolunteerMngDAO.selectCount(new QueryWrapper<ComMngVolunteerMngDO>().lambda()
+ .and(wrapper -> wrapper.eq(ComMngVolunteerMngDO::getPhone, phone).or().eq(ComMngVolunteerMngDO::getIdCard, idCard))
+ .in(ComMngVolunteerMngDO::getState, Arrays.asList(1, 2)));
+ if (null != integer && integer.intValue() > 0) {
+ return R.fail("请勿重复申请");
}
- ComMngVolunteerMngDO comMngVolunteerMngDO=new ComMngVolunteerMngDO();
- BeanUtils.copyProperties(comMngVolunteerMngVO,comMngVolunteerMngDO);
+ ComMngVolunteerMngDO comMngVolunteerMngDO = new ComMngVolunteerMngDO();
+ BeanUtils.copyProperties(comMngVolunteerMngVO, comMngVolunteerMngDO);
int insert = comMngVolunteerMngDAO.insert(comMngVolunteerMngDO);
- if (insert>0) {
+ if (insert > 0) {
return R.ok();
}
return R.fail();
@@ -53,13 +83,16 @@
/**
* 删除志愿者
*
- * @param comMngVolunteerMngVO 手机号
+ * @param comMngVolunteerMngVO
+ * 手机号
* @return 删除结果
*/
@Override
public R deleteVolunteer(ComMngVolunteerMngVO comMngVolunteerMngVO) {
- int delete = comMngVolunteerMngDAO.delete(new QueryWrapper<ComMngVolunteerMngDO>().lambda().eq(ComMngVolunteerMngDO::getPhone, comMngVolunteerMngVO.getPhone()));
- if (delete>0) {
+ 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();
@@ -68,15 +101,16 @@
/**
* 编辑志愿者
*
- * @param comMngVolunteerMngVO 编辑内容
+ * @param comMngVolunteerMngVO
+ * 编辑内容
* @return 编辑结果
*/
@Override
public R putVolunteer(ComMngVolunteerMngVO comMngVolunteerMngVO) {
- ComMngVolunteerMngDO comMngVolunteerMngDO=new ComMngVolunteerMngDO();
- BeanUtils.copyProperties(comMngVolunteerMngVO,comMngVolunteerMngDO);
+ ComMngVolunteerMngDO comMngVolunteerMngDO = new ComMngVolunteerMngDO();
+ BeanUtils.copyProperties(comMngVolunteerMngVO, comMngVolunteerMngDO);
int update = comMngVolunteerMngDAO.updateById(comMngVolunteerMngDO);
- if (update>0) {
+ if (update > 0) {
return R.ok();
}
return R.fail();
@@ -85,7 +119,8 @@
/**
* 分页展示志愿者
*
- * @param comMngVolunteerMngVO 查询参数
+ * @param comMngVolunteerMngVO
+ * 查询参数
* @return 分页集合返回
*/
@Override
@@ -93,22 +128,28 @@
Page page = new Page<>();
Long pageNum = comMngVolunteerMngVO.getPageNum();
Long pageSize = comMngVolunteerMngVO.getPageSize();
- if (null==pageNum||0==pageNum) {
+ if (null == pageNum || 0 == pageNum) {
pageNum = 1l;
}
- if (null==pageSize||0==pageSize) {
+ if (null == pageSize || 0 == pageSize) {
pageSize = 10l;
}
page.setSize(pageSize);
page.setCurrent(pageNum);
IPage<ComMngVolunteerMngVO> iPage = comMngVolunteerMngDAO.pageVolunteer(page, comMngVolunteerMngVO);
+ iPage.getRecords().forEach(record -> {
+ if(StringUtils.isNotEmpty(record.getIdCard())){
+ record.setAge(IdcardUtil.getAgeByIdCard(record.getIdCard()));
+ }
+ });
return R.ok(iPage);
}
/**
* 分页展示志愿者审核
*
- * @param comMngVolunteerMngVO 查询参数
+ * @param comMngVolunteerMngVO
+ * 查询参数
* @return 查询结果
*/
@Override
@@ -116,10 +157,10 @@
Page page = new Page<>();
Long pageNum = comMngVolunteerMngVO.getPageNum();
Long pageSize = comMngVolunteerMngVO.getPageSize();
- if (null==pageNum||0==pageNum) {
+ if (null == pageNum || 0 == pageNum) {
pageNum = 1l;
}
- if (null==pageSize||0==pageSize) {
+ if (null == pageSize || 0 == pageSize) {
pageSize = 10l;
}
page.setSize(pageSize);
@@ -131,32 +172,31 @@
/**
* 志愿者审核详情
*
- * @param id 主键
+ * @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);
+ ComMngVolunteerMngVO comMngVolunteerMngVO = comMngVolunteerMngDAO.detailVolunteerExamine(id);
+ // String phone = comMngVolunteerMngVO.getPhone();
+ // comMngVolunteerMngVO.setUserId(comMngVolunteerMngDAO.selectUserIdByPhone(phone));
return R.ok(comMngVolunteerMngVO);
}
/**
* 志愿者审核
*
- * @param comMngVolunteerMngVO 审核操作
+ * @param comMngVolunteerMngVO
+ * 审核操作
* @return 审核结果
*/
@Override
public R putVolunteerExamine(ComMngVolunteerMngVO comMngVolunteerMngVO) {
- ComMngVolunteerMngDO comMngVolunteerMngDO=new ComMngVolunteerMngDO();
- BeanUtils.copyProperties(comMngVolunteerMngVO,comMngVolunteerMngDO);
+ ComMngVolunteerMngDO comMngVolunteerMngDO = new ComMngVolunteerMngDO();
+ BeanUtils.copyProperties(comMngVolunteerMngVO, comMngVolunteerMngDO);
int update = comMngVolunteerMngDAO.updateById(comMngVolunteerMngDO);
- if (update>0) {
+ if (update > 0) {
return R.ok();
}
return R.fail();
@@ -165,13 +205,14 @@
/**
* 删除志愿者审核
*
- * @param comMngVolunteerMngVO 主键
+ * @param comMngVolunteerMngVO
+ * 主键
* @return 删除结果
*/
@Override
public R deleteVolunteerExamine(ComMngVolunteerMngVO comMngVolunteerMngVO) {
int delete = comMngVolunteerMngDAO.deleteById(comMngVolunteerMngVO.getId());
- if (delete>0) {
+ if (delete > 0) {
return R.ok();
}
return R.fail();
@@ -180,15 +221,17 @@
/**
* 用户修改手机号对应的志愿者手机号也要修改
*
- * @param userPhoneVO 新旧手机号
+ * @param userPhoneVO
+ * 新旧手机号
* @return 修改结果
*/
@Override
public R putVolunteerPhone(UserPhoneVO userPhoneVO) {
- ComMngVolunteerMngDO comMngVolunteerMngDO=new ComMngVolunteerMngDO();
+ 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) {
+ int update = comMngVolunteerMngDAO.update(comMngVolunteerMngDO, new UpdateWrapper<ComMngVolunteerMngDO>()
+ .lambda().eq(ComMngVolunteerMngDO::getPhone, userPhoneVO.getOldPhone()));
+ if (update > 0) {
return R.ok();
}
return R.fail();
@@ -197,7 +240,8 @@
/**
* 志愿者详情
*
- * @param id 主键
+ * @param id
+ * 主键
* @return 志愿者
*/
@Override
@@ -206,10 +250,118 @@
if (ObjectUtils.isEmpty(comMngVolunteerMngDO)) {
return R.fail("志愿者不存在");
}
- ComMngVolunteerMngAppletsVO comMngVolunteerMngAppletsVO=new ComMngVolunteerMngAppletsVO();
- BeanUtils.copyProperties(comMngVolunteerMngDO,comMngVolunteerMngAppletsVO);
+ 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);
+ }
+
+ /**
+ * 志愿者导入
+ *
+ * @param list 志愿者数据列表
+ * @param communityId 社区id
+ * @param userId 用户id
+ * @return 导入结果
+ */
+ @Override
+ @Transactional(rollbackFor = Exception.class)
+ public R importVolunteerAdmin(List<ComMngVolunteerExcelVO> list, Long communityId, Long userId){
+ //错误集合
+ List<ComMngVolunteerErrorExcelVO> errorList = new ArrayList<>();
+ for (ComMngVolunteerExcelVO excel : list) {
+ //查询组织
+ ComMngVolunteerOrgTeam orgVo = comMngVolunteerOrgTeamMapper.selectOne(new QueryWrapper<ComMngVolunteerOrgTeam>().lambda()
+ .eq(ComMngVolunteerOrgTeam::getName,excel.getOrgName()).eq(ComMngVolunteerOrgTeam::getCommunityId,communityId)
+ .eq(ComMngVolunteerOrgTeam::getParentId,0));
+// if(orgVo == null){
+// ComMngVolunteerErrorExcelVO errorExcelVO = new ComMngVolunteerErrorExcelVO();
+// BeanUtils.copyProperties(excel,errorExcelVO);
+// errorExcelVO.setError("该志愿者组织不存在,请先通过后台添加该志愿者组织");
+// errorList.add(errorExcelVO);
+// continue;
+// }
+ //查询队伍
+ ComMngVolunteerOrgTeam teamVo = comMngVolunteerOrgTeamMapper.selectOne(new QueryWrapper<ComMngVolunteerOrgTeam>().lambda()
+ .eq(ComMngVolunteerOrgTeam::getName,excel.getTeamName()).eq(ComMngVolunteerOrgTeam::getCommunityId,communityId)
+ .eq(ComMngVolunteerOrgTeam::getParentId, nonNull(orgVo) ? orgVo.getId() : null));
+// if(teamVo == null){
+// ComMngVolunteerErrorExcelVO errorExcelVO = new ComMngVolunteerErrorExcelVO();
+// BeanUtils.copyProperties(excel,errorExcelVO);
+// errorExcelVO.setError("该志愿者队伍不存在,请先通过后台添加该志愿者队伍");
+// errorList.add(errorExcelVO);
+// continue;
+// }
+ //查询技能
+ ComMngVolunteerSkill skillVo = comMngVolunteerSkillMapper.selectOne(new QueryWrapper<ComMngVolunteerSkill>().lambda()
+ .eq(ComMngVolunteerSkill::getName,excel.getSkillName()).eq(ComMngVolunteerSkill::getCommunityId,communityId));
+// if(skillVo == null){
+// ComMngVolunteerErrorExcelVO errorExcelVO = new ComMngVolunteerErrorExcelVO();
+// BeanUtils.copyProperties(excel,errorExcelVO);
+// errorExcelVO.setError("该志愿者技能不存在,请先通过后台添加该志愿者技能");
+// errorList.add(errorExcelVO);
+// continue;
+// }
+ Date nowDate = new Date();
+ ComMngVolunteerMngDO comMngVolunteerMngDO = comMngVolunteerMngDAO.selectOne(new QueryWrapper<ComMngVolunteerMngDO>().lambda()
+ .eq(ComMngVolunteerMngDO::getIdCard,excel.getIdCard()).in(ComMngVolunteerMngDO::getState,1,2));
+ if(comMngVolunteerMngDO != null){
+ if(comMngVolunteerMngDO.getState().equals(1)){
+ BeanUtils.copyProperties(excel,comMngVolunteerMngDO);
+ comMngVolunteerMngDO.setState(2);
+ comMngVolunteerMngDO.setOrgId(nonNull(orgVo) ? orgVo.getId() : null);
+ comMngVolunteerMngDO.setTeamId(nonNull(teamVo) ? teamVo.getId() : null);
+ comMngVolunteerMngDO.setSkillId(nonNull(skillVo) ? skillVo.getId() : null);
+ comMngVolunteerMngDAO.updateById(comMngVolunteerMngDO);
+ }else{
+ ComMngVolunteerErrorExcelVO errorExcelVO = new ComMngVolunteerErrorExcelVO();
+ BeanUtils.copyProperties(excel,errorExcelVO);
+ errorExcelVO.setError("该志愿者已存在,不可重复添加");
+ errorList.add(errorExcelVO);
+ }
+ }else{
+ comMngVolunteerMngDO = new ComMngVolunteerMngDO();
+ BeanUtils.copyProperties(excel,comMngVolunteerMngDO);
+ comMngVolunteerMngDO.setCommunityId(communityId);
+ comMngVolunteerMngDO.setState(2);
+ comMngVolunteerMngDO.setOrgId(nonNull(orgVo) ? orgVo.getId() : null);
+ comMngVolunteerMngDO.setTeamId(nonNull(teamVo) ? teamVo.getId() : null);
+ comMngVolunteerMngDO.setSkillId(nonNull(skillVo) ? skillVo.getId() : null);
+ comMngVolunteerMngDO.setCreateAt(nowDate);
+ //查询用户id,如果存在则需要绑定
+ Long volunteerUserId = comMngVolunteerMngDAO.selectUserIdByIdCard(excel.getIdCard());
+ if(volunteerUserId != null){
+ comMngVolunteerMngDO.setSubmitUserId(volunteerUserId);
+ }
+ comMngVolunteerMngDAO.insert(comMngVolunteerMngDO);
+ userService.putUserIsVolunteer(comMngVolunteerMngDO.getPhone(), 1);
+ }
+ }
+ if(errorList.size() > 0){
+ return R.fail(errorList);
+ }
+ return R.ok();
+ }
}
--
Gitblit v1.7.1