From de91c84954157bb9f8b6d938cbe0b1b51fb6e65d Mon Sep 17 00:00:00 2001
From: CeDo <cedoogle@gmail.com>
Date: 星期五, 07 五月 2021 15:23:57 +0800
Subject: [PATCH] bugfixed:新增便民服务商家 报错

---
 springcloud_k8s_panzhihuazhihuishequ/service_partybuilding/src/main/java/com/panzhihua/service_dangjian/service/impl/ComPbMemberServiceImpl.java |  526 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 526 insertions(+), 0 deletions(-)

diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_partybuilding/src/main/java/com/panzhihua/service_dangjian/service/impl/ComPbMemberServiceImpl.java b/springcloud_k8s_panzhihuazhihuishequ/service_partybuilding/src/main/java/com/panzhihua/service_dangjian/service/impl/ComPbMemberServiceImpl.java
new file mode 100644
index 0000000..4a94dd7
--- /dev/null
+++ b/springcloud_k8s_panzhihuazhihuishequ/service_partybuilding/src/main/java/com/panzhihua/service_dangjian/service/impl/ComPbMemberServiceImpl.java
@@ -0,0 +1,526 @@
+package com.panzhihua.service_dangjian.service.impl;
+
+import com.alibaba.fastjson.JSONArray;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+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.exceptions.PartyBuildingMemberException;
+import com.panzhihua.common.model.vos.R;
+import com.panzhihua.common.model.vos.community.ComActActivityVO;
+import com.panzhihua.common.model.vos.partybuilding.*;
+import com.panzhihua.common.model.vos.user.SysUserVO;
+import com.panzhihua.common.service.community.CommunityService;
+import com.panzhihua.common.utlis.RichTextUtil;
+import com.panzhihua.common.utlis.SensitiveUtil;
+import com.panzhihua.service_dangjian.dao.*;
+import com.panzhihua.service_dangjian.model.dos.*;
+import com.panzhihua.service_dangjian.service.ComPbMemberService;
+
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.BeanUtils;
+import org.springframework.data.redis.core.StringRedisTemplate;
+import org.springframework.data.redis.core.ValueOperations;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+import org.springframework.util.ObjectUtils;
+
+import javax.annotation.Resource;
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.List;
+import java.util.concurrent.TimeUnit;
+import java.util.stream.Collectors;
+
+/**
+ * @program: springcloud_k8s_panzhihuazhihuishequ
+ * @description: 党员
+ * @author: huang.hongfa weixin hhf9596 qq 959656820
+ * @create: 2020-11-30 10:53
+ **/
+@Slf4j
+@Service
+public class ComPbMemberServiceImpl extends ServiceImpl<ComPbMemberDAO,ComPbMemberDO> implements ComPbMemberService {
+    @Resource
+    private ComPbMemberDAO comPbMemberDAO;
+    @Resource
+    private StringRedisTemplate stringRedisTemplate;
+    @Resource
+    private ComPbOrgDAO comPbOrgDAO;
+    @Resource
+    private ComPbMemberRoleDAO comPbMemberRoleDAO;
+    @Resource
+    private ComPbDynDAO comPbDynDAO;
+    @Resource
+    private ComPbDynUserDAO comPbDynUserDAO;
+
+    private final String REDIS_ORG_ALL="ogrlist";
+
+    /**
+     * 新增党员
+     *
+     * @param partyBuildingMemberVO 党员基本信息
+     * @return 新增结果
+     */
+    @Override
+    public R addPartyBuildingMember(PartyBuildingMemberVO partyBuildingMemberVO) {
+        String idCard = partyBuildingMemberVO.getIdCard();
+        List<ComPbMemberDO> comPbMemberDOs = comPbMemberDAO.selectList(new QueryWrapper<ComPbMemberDO>().lambda()
+                .eq(ComPbMemberDO::getIdCard, idCard).eq(ComPbMemberDO::getAuditResult, 1));
+        if (!ObjectUtils.isEmpty(comPbMemberDOs)&&comPbMemberDOs.size()>0) {
+           return R.fail("身份证已经存在");
+        }
+        ComPbMemberDO comPbMemberDO1=new ComPbMemberDO();
+        BeanUtils.copyProperties(partyBuildingMemberVO,comPbMemberDO1);
+        Date date=new Date();
+        comPbMemberDO1.setCreateAt(date);
+        comPbMemberDO1.setUpdateAt(date);
+        int insert = comPbMemberDAO.insert(comPbMemberDO1);
+        if (insert>0) {
+            //删除已驳回的记录
+            int delete =  comPbMemberDAO.delete(new QueryWrapper<ComPbMemberDO>().lambda()
+                    .eq(ComPbMemberDO::getIdCard, partyBuildingMemberVO.getIdCard())
+                    .eq(ComPbMemberDO::getUserId, partyBuildingMemberVO.getUserId())
+                    .eq(ComPbMemberDO::getCommunityId, partyBuildingMemberVO.getCommunityId())
+                    .eq(ComPbMemberDO::getAuditResult, 3)
+            );
+            return R.ok();
+        }
+        return R.fail();
+    }
+
+    /**
+     * 批量新增党员
+     *
+     * @param list 党员集合
+     * @return 新增结果
+     */
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public R listSavePartyBuildingMemberExcelVO(List<PartyBuildingMemberExcelVO> list) {
+        Boolean aBoolean = stringRedisTemplate.hasKey(REDIS_ORG_ALL);
+        ValueOperations<String, String> valueOperations = stringRedisTemplate.opsForValue();
+        List<PartyOrganizationVO> partyOrganizationVOS=new ArrayList<>();
+        if (aBoolean) {
+            String orgs = valueOperations.get(REDIS_ORG_ALL);
+            if (!ObjectUtils.isEmpty(orgs)) {
+               partyOrganizationVOS= JSONArray.parseArray(orgs,PartyOrganizationVO.class);
+            }
+        } else {
+            List<ComPbOrgDO> comPbOrgDOS = comPbOrgDAO.selectList(new LambdaQueryWrapper<>());
+            if (!ObjectUtils.isEmpty(comPbOrgDOS)) {
+                List<PartyOrganizationVO> partyOrganizationVOList=new ArrayList<>();
+                comPbOrgDOS.forEach(comPbOrgDO -> {
+                    PartyOrganizationVO partyOrganizationVO=new PartyOrganizationVO();
+                    partyOrganizationVO.setId(comPbOrgDO.getId());
+                    partyOrganizationVO.setName(comPbOrgDO.getName());
+                    partyOrganizationVO.setCommunityId(comPbOrgDO.getCommunityId());
+                    partyOrganizationVOList.add(partyOrganizationVO);
+                });
+                partyOrganizationVOS= partyOrganizationVOList;
+            }
+            valueOperations.set(REDIS_ORG_ALL,JSONArray.toJSONString(partyOrganizationVOS),24, TimeUnit.HOURS);
+        }
+        List<ComPbMemberDO> comPbMemberDOS=new ArrayList<>();
+        if (!ObjectUtils.isEmpty(list)) {
+            List<PartyOrganizationVO> partyOrganizationVOArrayList=partyOrganizationVOS;
+            list.forEach(partyBuildingMemberExcelVO -> {
+                ComPbMemberDO comPbMemberDO=new ComPbMemberDO();
+                Date date=new Date();
+                comPbMemberDO.setUpdateAt(date);
+                comPbMemberDO.setCreateAt(date);
+                String orgName = partyBuildingMemberExcelVO.getOrgName();
+                List<PartyOrganizationVO> collect = partyOrganizationVOArrayList.stream().filter(partyOrganizationVO -> orgName.equals(partyOrganizationVO.getName())).collect(Collectors.toList());
+                if (ObjectUtils.isEmpty(collect)) {
+                    throw new PartyBuildingMemberException("导入失败,组织不存在"+partyBuildingMemberExcelVO.getOrgName());
+                }else{
+                    PartyOrganizationVO partyOrganizationVO = collect.get(0);
+                    comPbMemberDO.setOrgId(partyOrganizationVO.getId());
+                    comPbMemberDO.setCommunityId(partyOrganizationVO.getCommunityId());
+                }
+                comPbMemberDO.setEmploymentTime(partyBuildingMemberExcelVO.getEmploymentTime());
+                comPbMemberDO.setJoinTime(partyBuildingMemberExcelVO.getJoinTime());
+                comPbMemberDO.setName(partyBuildingMemberExcelVO.getName());
+                comPbMemberDO.setIdCard(partyBuildingMemberExcelVO.getIdCard());
+                comPbMemberDOS.add(comPbMemberDO);
+            });
+        }
+        this.saveBatch(comPbMemberDOS);
+        return R.ok();
+    }
+
+    /**
+     * 分页党员
+     *
+     * @param pagePartyOrganizationVO 查询信息
+     * @return 分页数据
+     */
+    @Override
+    public R pagePartyOrganization(PagePartyOrganizationVO pagePartyOrganizationVO) {
+        Page page=new Page<>();
+        Long pageNum = pagePartyOrganizationVO.getPageNum();
+        Long pageSize = pagePartyOrganizationVO.getPageSize();
+        if (null==pageNum||0==pageNum) {
+            pageNum=1l;
+        }
+        if (null==pageSize||0==pageSize) {
+            pageSize=10l;
+        }
+        page.setSize(pageSize);
+        page.setCurrent(pageNum);
+        IPage<PartyBuildingMemberVO> iPage=comPbMemberDAO.pagePartyOrganization(page, pagePartyOrganizationVO);
+        iPage.getRecords().forEach(record->{
+            record.setIdCard(SensitiveUtil.desensitizedIdNumber(record.getIdCard()));
+        });
+        return R.ok(iPage);
+    }
+
+    /**
+     * 编辑党员信息 新增字段均可编辑
+     *
+     * @param partyBuildingMemberVO 编辑字段
+     * @return 编辑结果
+     */
+    @Override
+    public R updatePartyBuildingMember(PartyBuildingMemberVO partyBuildingMemberVO) {
+        ComPbMemberDO comPbMemberDO=new ComPbMemberDO();
+        Long orgId = partyBuildingMemberVO.getOrgId();
+        if (null!=orgId&&0==orgId) {
+            partyBuildingMemberVO.setOrgId(null);
+        }
+        BeanUtils.copyProperties(partyBuildingMemberVO,comPbMemberDO);
+        comPbMemberDO.setAuditResult(partyBuildingMemberVO.getAuditResult());
+        int i = comPbMemberDAO.updateById(comPbMemberDO);
+        if (i>0) {
+            return R.ok();
+        }
+        return R.fail();
+    }
+
+    /**
+     * 查询指定社区的所有党员
+     *
+     * @param communityId 社区id
+     * @return 党员列表
+     */
+    @Override
+    public R listPartyMember(Long communityId) {
+        List<ComPbMemberDO> comPbMemberDOS = comPbMemberDAO.selectList(new QueryWrapper<ComPbMemberDO>().lambda()
+                .eq(ComPbMemberDO::getCommunityId,communityId).eq(ComPbMemberDO::getAuditResult, 1));
+//        查询社区所有已经注册的党员
+//        排除掉已经成为党委的党员
+//        List<ComPbMemberDO> comPbMemberDOS = comPbMemberDAO.selectListRegister(communityId);
+//        if (ObjectUtils.isEmpty(comPbMemberDOS)) {
+//           return R.ok(new ArrayList<>());
+//        }
+        List<PartyBuildingMemberVO> partyBuildingMemberVOS=new ArrayList<>();
+        comPbMemberDOS.forEach(comPbMemberDO -> {
+            PartyBuildingMemberVO partyBuildingMemberVO=new PartyBuildingMemberVO();
+            BeanUtils.copyProperties(comPbMemberDO,partyBuildingMemberVO);
+            partyBuildingMemberVOS.add(partyBuildingMemberVO);
+        });
+        return R.ok(partyBuildingMemberVOS);
+    }
+
+    /**
+     * 新增党委
+     *
+     * @param partyCommitteeVO 新增信息
+     * @return 新增结果
+     */
+    @Override
+    public R addPartyCommittee(PartyCommitteeVO partyCommitteeVO) {
+        ComPbMemberRoleDO comPbMemberRoleDO=new ComPbMemberRoleDO();
+        BeanUtils.copyProperties(partyCommitteeVO,comPbMemberRoleDO);
+        comPbMemberRoleDO.setCreateAt(new Date());
+        comPbMemberRoleDO.setUpdateAt(new Date());
+        comPbMemberRoleDO.setIsReg(2);
+        SysUserVO sysUser = comPbMemberRoleDAO.getSysUserByPhone(partyCommitteeVO.getPhone());
+        if(!ObjectUtils.isEmpty(sysUser)) {
+        	comPbMemberRoleDO.setIsReg(1);
+        }
+        int insert = comPbMemberRoleDAO.insert(comPbMemberRoleDO);
+        if (insert>0) {
+            return R.ok();
+        }
+        return R.fail();
+    }
+
+    /**
+     * 编辑党委
+     *
+     * @param partyCommitteeVO 编辑信息
+     * @return 编辑结果
+     */
+    @Override
+    public R updatePartyCommittee(PartyCommitteeVO partyCommitteeVO) {
+        ComPbMemberRoleDO comPbMemberRoleDO=new ComPbMemberRoleDO();
+        BeanUtils.copyProperties(partyCommitteeVO,comPbMemberRoleDO);
+        ComPbMemberRoleDO comPbMemberRoleDOOld = comPbMemberRoleDAO.selectById(partyCommitteeVO.getId());
+        comPbMemberRoleDO.setCreateAt(comPbMemberRoleDOOld.getCreateAt());
+        comPbMemberRoleDO.setUpdateAt(new Date());
+        comPbMemberRoleDO.setPositionTwo(partyCommitteeVO.getPositionTwo());
+        comPbMemberRoleDO.setIsReg(2);
+        PartyCommitteeVO oldPartyCommitteeVO = comPbMemberRoleDAO.selectPartyCommitteeById(partyCommitteeVO.getId());
+        String oldphone = oldPartyCommitteeVO.getPhone();
+        SysUserVO sysUserOld = comPbMemberRoleDAO.getSysUserByPhone(oldphone);
+        String newphone=partyCommitteeVO.getPhone();
+        SysUserVO sysUserNew = comPbMemberRoleDAO.getSysUserByPhone(newphone);
+        if(!ObjectUtils.isEmpty(sysUserOld)||!ObjectUtils.isEmpty(sysUserNew)) {
+        	comPbMemberRoleDO.setIsReg(1);
+        }
+        if(!newphone.equals(oldphone)) {
+        	comPbMemberRoleDAO.updateUserPhone(newphone, oldphone);
+        }
+        int update = comPbMemberRoleDAO.updateById(comPbMemberRoleDO);
+        if (update>0) {
+            return R.ok();
+        }
+        return R.fail();
+    }
+
+    /**
+     * 删除党委
+     *
+     * @param partyCommitteeVO 删除id
+     * @return 删除结果
+     */
+    @Override
+    public R deletePartyCommittee(PartyCommitteeVO partyCommitteeVO) {
+        int delete = comPbMemberRoleDAO.deleteById(partyCommitteeVO.getId());
+        if (delete>0) {
+            return R.ok();
+        }
+        return R.fail();
+    }
+
+    /**
+     * 分页社区党委查询
+     *
+     * @param partyCommitteeVO 查询参数
+     * @return 分页集合
+     */
+    @Override
+    public R pagePartyCommittee(PartyCommitteeVO partyCommitteeVO) {
+        Page page=new Page<>();
+        Long pageNum = partyCommitteeVO.getPageNum();
+        Long pageSize = partyCommitteeVO.getPageSize();
+        if (null==pageNum||0==pageNum) {
+            pageNum=1l;
+        }
+        if (null==pageSize||0==pageSize) {
+            pageSize=10l;
+        }
+        page.setSize(pageSize);
+        page.setCurrent(pageNum);
+        IPage<PartyCommitteeVO> iPage=comPbMemberRoleDAO.pagePartyOrganization(page, partyCommitteeVO);
+        iPage.getRecords().forEach(record->{
+            record.setPhone(SensitiveUtil.desensitizedPhoneNumber(record.getPhone()));
+        });
+        return R.ok(iPage);
+    }
+
+    /**
+     * 新建党建动态
+     *
+     * @param partyCommitteeVO 动态内容
+     * @return 新增结果
+     */
+    @Override
+    public R adddYnamic(PartyBuildingComPbDynVO partyCommitteeVO) {
+        ComPbDynDO comPbDynDO=new ComPbDynDO();
+        BeanUtils.copyProperties(partyCommitteeVO,comPbDynDO);
+        comPbDynDO.setCreateAt(new Date());
+        int insert = comPbDynDAO.insert(comPbDynDO);
+        if (insert>0) {
+            return R.ok();
+        }
+        return R.fail();
+    }
+
+    /**
+     * 编辑动态
+     *
+     * @param partyCommitteeVO 编辑内容
+     * @return 编辑结果
+     */
+    @Override
+    public R updateYnamic(PartyBuildingComPbDynVO partyCommitteeVO) {
+        ComPbDynDO comPbDynDO=new ComPbDynDO();
+        BeanUtils.copyProperties(partyCommitteeVO,comPbDynDO);
+        int insert = comPbDynDAO.updateById(comPbDynDO);
+        if (insert>0) {
+            return R.ok();
+        }
+        return R.fail();
+    }
+
+    /**
+     * 动态详情
+     *
+     * @param id 动态主键
+     * @return 详情
+     */
+    @Override
+    public R infoYnamic(Long id) {
+        PartyBuildingComPbDynVO comPbDynVO = comPbDynDAO.selectVoById(id);
+        if (ObjectUtils.isEmpty(comPbDynVO)) {
+            return R.fail("动态不存在");
+        }
+//        ComPbMemberDO comPbMemberDO = comPbMemberDAO.selectById(createBy);
+        //String name = comPbMemberDAO.selectNameByUserId(createBy);
+
+        if (ObjectUtils.isEmpty(comPbDynVO.getCreateByName())) {
+//            return R.fail("发布人不存在");
+            String name = comPbMemberDAO.selectNameByUserId(comPbDynVO.getCreateBy());
+            name="后台发布";
+            comPbDynVO.setCreateByName(name);
+        }
+        //Integer integer = comPbDynUserDAO.selectCount(new QueryWrapper<ComPbDynUserDO>().lambda().eq(ComPbDynUserDO::getDynId, id));
+        comPbDynVO.setReadingVolume(null==comPbDynVO.getReadingVolume()?0:comPbDynVO.getReadingVolume());
+        return R.ok(comPbDynVO);
+    }
+
+    /**
+     * 分页查询党员动态
+     *
+     * @param partyBuildingComPbDynVO 查询参数
+     * @return 分页数据
+     */
+    @Override
+    public R pageYnamic(PartyBuildingComPbDynVO partyBuildingComPbDynVO) {
+        Page page=new Page<>();
+        Long pageNum = partyBuildingComPbDynVO.getPageNum();
+        Long pageSize = partyBuildingComPbDynVO.getPageSize();
+        if (null==pageNum) {
+            pageNum=1l;
+        }
+        if (null==pageSize) {
+            pageSize=10l;
+        }
+        page.setSize(pageSize);
+        page.setCurrent(pageNum);
+        IPage<PartyBuildingComPbDynVO> iPage=comPbDynDAO.pageYnamic(page, partyBuildingComPbDynVO);
+        List<PartyBuildingComPbDynVO> records = iPage.getRecords();
+        if (!(ObjectUtils.isEmpty(records))) {
+            records.forEach(partyBuildingComPbDynVO1 -> {
+                String content = partyBuildingComPbDynVO1.getContent();
+                if (!ObjectUtils.isEmpty(content)) {
+                    String text = RichTextUtil.getText(content);
+                    partyBuildingComPbDynVO1.setContentText(text);
+                }
+            });
+        }
+        return R.ok(iPage);
+    }
+
+    /**
+     * 删除动态
+     *
+     * @param id 动态主键
+     * @return 删除结果
+     */
+    @Override
+    public R deleteYnamic(Integer id) {
+        int delete = comPbDynDAO.deleteById(id);
+        if (delete>0) {
+            return R.ok();
+        }
+        return R.fail();
+    }
+
+    /**
+     * 增加阅读记录
+     *
+     * @param comPbDynUserVO 阅读记录
+     * @return 增加结果
+     */
+    @Override
+    public R addDynUser(ComPbDynUserVO comPbDynUserVO) {
+        ComPbDynUserDO comPbDynUserDO=new ComPbDynUserDO();
+        BeanUtils.copyProperties(comPbDynUserVO,comPbDynUserDO);
+        int insert = comPbDynUserDAO.insert(comPbDynUserDO);
+        if (insert>0) {
+            return R.ok();
+        }
+        return R.fail();
+    }
+
+    /**
+     * 删除党员
+     *
+     * @param id 党员主键
+     * @return 删除结果
+     */
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public R deleteDynUser(Integer id) {
+        ComPbMemberDO comPbMemberDO = comPbMemberDAO.selectById(id);
+        if (ObjectUtils.isEmpty(comPbMemberDO)) {
+            return R.fail("党员不存在");
+        }
+        int delete = comPbMemberDAO.deleteById(id);
+        if (delete>0) {
+//            维护用户表党员状态
+            comPbMemberDAO.updateUserIsPartymember(comPbMemberDO.getIdCard());
+            return R.ok();
+        }
+        return R.fail();
+    }
+
+    /**
+     * 定时任务刷新党建动态发布状态
+     *
+     * @return 刷新数据数量
+     */
+    @Override
+    public R timedTaskPartyBuildingStatus() {
+        int num=comPbDynDAO.timedTaskPartyBuildingStatus();
+        log.info("定时任务更新党建动态发布状态数量【{}】",num);
+        return R.ok(num);
+    }
+
+    @Override
+    public R pagePrePartyBuilingMember(PagePartyBuildingMemberVO pagePartyBuildingMemberVO) {
+
+        Page page=new Page<>();
+        Long pageNum = pagePartyBuildingMemberVO.getPageNum();
+        Long pageSize = pagePartyBuildingMemberVO.getPageSize();
+        if (null==pageNum||0==pageNum) {
+            pageNum=1l;
+        }
+        if (null==pageSize||0==pageSize) {
+            pageSize=10l;
+        }
+        page.setSize(pageSize);
+        page.setCurrent(pageNum);
+        IPage<PartyBuildingMemberVO> iPage=comPbMemberDAO.pagePartyBuildingMembersVO(page, pagePartyBuildingMemberVO);
+
+        return R.ok(iPage);
+    }
+
+    @Override
+    public R updatePartyBuildingMembers(PartyBuildingMemberVO partyBuildingMemberVO){
+        ComPbMemberDO comPbMemberDO = comPbMemberDAO.selectById(partyBuildingMemberVO.getId());
+        if(comPbMemberDO == null){
+            return R.fail("未找到党员认证信息");
+        }
+        comPbMemberDO.setAuditResult(partyBuildingMemberVO.getAuditResult());
+        if(partyBuildingMemberVO.getAuditResult()!=null && partyBuildingMemberVO.getAuditResult().equals(1)){
+            comPbMemberDO.setUpdateAt(new Date());
+        }
+        if (comPbMemberDAO.updateById(comPbMemberDO) > 0) {
+            PartyBuildingMemberVO rtVO = new PartyBuildingMemberVO();
+            BeanUtils.copyProperties(comPbMemberDO, rtVO);
+            return R.ok(rtVO);
+        }
+        return R.fail();
+    }
+
+    @Override
+    public R exportPbMember(PagePartyOrganizationVO organizationVO){
+        return R.ok(comPbMemberDAO.exportPbMember(organizationVO));
+    }
+
+}

--
Gitblit v1.7.1