huanghongfa
2021-09-02 177249c76aeea0b4bf8d8816d4994e3b445b45ce
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActMessageServiceImpl.java
@@ -6,94 +6,91 @@
import javax.annotation.Resource;
import com.panzhihua.common.utlis.DateUtils;
import com.panzhihua.common.utlis.WxUtil;
import com.panzhihua.common.utlis.WxXCXTempSend;
import com.panzhihua.service_community.dao.ComActActSignDAO;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
import org.springframework.util.ObjectUtils;
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.vos.R;
import com.panzhihua.common.model.vos.community.ComActEasyPhotoVO;
import com.panzhihua.common.model.vos.community.ComActMessageBackVO;
import com.panzhihua.common.model.vos.community.ComActMessageVO;
import com.panzhihua.common.model.vos.community.PageComActMessageVO;
import com.panzhihua.common.model.vos.community.ResetComActMessageVO;
import com.panzhihua.common.model.vos.partybuilding.ComPbServiceTeamVO;
import com.panzhihua.common.model.vos.partybuilding.PartyCommitteeVO;
import com.panzhihua.common.utlis.DateUtils;
import com.panzhihua.common.utlis.WxUtil;
import com.panzhihua.common.utlis.WxXCXTempSend;
import com.panzhihua.service_community.dao.ComActActSignDAO;
import com.panzhihua.service_community.dao.ComActMessageBackDAO;
import com.panzhihua.service_community.dao.ComActMessageDAO;
import com.panzhihua.service_community.model.dos.ComActEasyPhotoUserDO;
import com.panzhihua.service_community.model.dos.ComActMessageBackDO;
import com.panzhihua.service_community.model.dos.ComActMessageDO;
import com.panzhihua.service_community.service.ComActMessageService;
@Service
public class ComActMessageServiceImpl extends ServiceImpl<ComActMessageDAO, ComActMessageDO>
      implements ComActMessageService {
   @Resource
   private ComActMessageDAO comActMessageDAO;
   @Resource
   private ComActMessageBackDAO comActMessageBackDAO;
   @Resource
   private ComActActSignDAO comActActSignDAO;
    implements ComActMessageService {
    @Resource
    private ComActMessageDAO comActMessageDAO;
    @Resource
    private ComActMessageBackDAO comActMessageBackDAO;
    @Resource
    private ComActActSignDAO comActActSignDAO;
   @Override
   public R addMessage(ComActMessageVO comActMessageVO) {
      Long type = comActMessageVO.getType();
      String phone = "";
      String sendtoUserName = "";
    @Override
    public R addMessage(ComActMessageVO comActMessageVO) {
        Long type = comActMessageVO.getType();
        String phone = "";
        String sendtoUserName = "";
      if (type == 1) {
         ComPbServiceTeamVO team = comActMessageDAO.selectComPbServiceTeamById(comActMessageVO.getSendtoUserId());
         if (ObjectUtils.isEmpty(team))
            return R.fail();
         phone = team.getPhone();
         sendtoUserName = team.getName();
      } else if (type == 2) {
         PartyCommitteeVO party = comActMessageDAO.selectPartyCommitteeById(comActMessageVO.getSendtoUserId());
         if (ObjectUtils.isEmpty(party))
            return R.fail();
         phone = party.getPhone();
         sendtoUserName = party.getName();
      }
      if (ObjectUtils.isEmpty(phone))
         return R.fail("未找到联系方式");
      comActMessageVO.setPhone(phone);
      comActMessageVO.setSendtoUserName(sendtoUserName);
      ComActMessageDO comActMessageDO = new ComActMessageDO();
      BeanUtils.copyProperties(comActMessageVO, comActMessageDO);
      int insert = comActMessageDAO.insert(comActMessageDO);
      if (insert > 0) {
         return R.ok();
      }
      return R.fail();
   }
        if (type == 1) {
            ComPbServiceTeamVO team = comActMessageDAO.selectComPbServiceTeamById(comActMessageVO.getSendtoUserId());
            if (ObjectUtils.isEmpty(team))
                return R.fail();
            phone = team.getPhone();
            sendtoUserName = team.getName();
        } else if (type == 2) {
            PartyCommitteeVO party = comActMessageDAO.selectPartyCommitteeById(comActMessageVO.getSendtoUserId());
            if (ObjectUtils.isEmpty(party))
                return R.fail();
            phone = party.getPhone();
            sendtoUserName = party.getName();
        }
        if (ObjectUtils.isEmpty(phone))
            return R.fail("未找到联系方式");
        comActMessageVO.setPhone(phone);
        comActMessageVO.setSendtoUserName(sendtoUserName);
        ComActMessageDO comActMessageDO = new ComActMessageDO();
        BeanUtils.copyProperties(comActMessageVO, comActMessageDO);
        int insert = comActMessageDAO.insert(comActMessageDO);
        if (insert > 0) {
            return R.ok();
        }
        return R.fail();
    }
   /**
    * 我发的留言
    */
   @Override
   public R pageMyMessageApplets(ComActMessageVO comActMessageVO) {
      Page page = new Page<>();
      Long pageNum = comActMessageVO.getPageNum();
      Long pageSize = comActMessageVO.getPageSize();
      if (null == pageNum || 0 == pageNum) {
         pageNum = 1l;
      }
      if (null == pageSize || 0 == pageSize) {
         pageSize = 10l;
      }
      page.setSize(pageSize);
      page.setCurrent(pageNum);
      IPage<PageComActMessageVO> iPage = comActMessageDAO.pageMyMessageApplets(page, comActMessageVO);
      List<PageComActMessageVO> records = iPage.getRecords();
      if (!ObjectUtils.isEmpty(records)) {
    /**
     * 我发的留言
     */
    @Override
    public R pageMyMessageApplets(ComActMessageVO comActMessageVO) {
        Page page = new Page<>();
        Long pageNum = comActMessageVO.getPageNum();
        Long pageSize = comActMessageVO.getPageSize();
        if (null == pageNum || 0 == pageNum) {
            pageNum = 1l;
        }
        if (null == pageSize || 0 == pageSize) {
            pageSize = 10l;
        }
        page.setSize(pageSize);
        page.setCurrent(pageNum);
        IPage<PageComActMessageVO> iPage = comActMessageDAO.pageMyMessageApplets(page, comActMessageVO);
        List<PageComActMessageVO> records = iPage.getRecords();
        if (!ObjectUtils.isEmpty(records)) {
            records.forEach(comActMessageVO1 -> {
                Long id = comActMessageVO1.getId();
                List<ComActMessageBackVO> list = comActMessageDAO.selectMsgBackList(id);
@@ -101,33 +98,33 @@
            });
            iPage.setRecords(records);
        }
      return R.ok(iPage);
   }
        return R.ok(iPage);
    }
   /**
    * 发给我的留言
    */
   @Override
   public R pageSendToMessageApplets(ComActMessageVO comActMessageVO) {
      Page page = new Page<>();
      Long pageNum = comActMessageVO.getPageNum();
      Long pageSize = comActMessageVO.getPageSize();
      if (null == pageNum || 0 == pageNum) {
         pageNum = 1l;
      }
      if (null == pageSize || 0 == pageSize) {
         pageSize = 10l;
      }
      page.setSize(pageSize);
      page.setCurrent(pageNum);
      String phone = comActMessageVO.getPhone();
      if(ObjectUtils.isEmpty(phone)) {
         IPage<PageComActMessageVO> iPage=null;
         return R.ok(iPage);
      }
      IPage<PageComActMessageVO> iPage = comActMessageDAO.pageSendMeMessageApplets(page, comActMessageVO);
      List<PageComActMessageVO> records = iPage.getRecords();
      if (!ObjectUtils.isEmpty(records)) {
    /**
     * 发给我的留言
     */
    @Override
    public R pageSendToMessageApplets(ComActMessageVO comActMessageVO) {
        Page page = new Page<>();
        Long pageNum = comActMessageVO.getPageNum();
        Long pageSize = comActMessageVO.getPageSize();
        if (null == pageNum || 0 == pageNum) {
            pageNum = 1l;
        }
        if (null == pageSize || 0 == pageSize) {
            pageSize = 10l;
        }
        page.setSize(pageSize);
        page.setCurrent(pageNum);
        String phone = comActMessageVO.getPhone();
        if (ObjectUtils.isEmpty(phone)) {
            IPage<PageComActMessageVO> iPage = null;
            return R.ok(iPage);
        }
        IPage<PageComActMessageVO> iPage = comActMessageDAO.pageSendMeMessageApplets(page, comActMessageVO);
        List<PageComActMessageVO> records = iPage.getRecords();
        if (!ObjectUtils.isEmpty(records)) {
            records.forEach(comActMessageVO1 -> {
                Long id = comActMessageVO1.getId();
                List<ComActMessageBackVO> list = comActMessageDAO.selectMsgBackList(id);
@@ -135,98 +132,100 @@
            });
            iPage.setRecords(records);
        }
      return R.ok(iPage);
   }
        return R.ok(iPage);
    }
   /**
    * 我的社区留言
    */
    /**
     * 我的社区留言
     */
   @Override
   public R pageMyCommunityMessageApplets(ComActMessageVO comActMessageVO) {
      Page page = new Page<>();
      Long pageNum = comActMessageVO.getPageNum();
      Long pageSize = comActMessageVO.getPageSize();
      if (null == pageNum || 0 == pageNum) {
         pageNum = 1l;
      }
      if (null == pageSize || 0 == pageSize) {
         pageSize = 10l;
      }
      page.setSize(pageSize);
      page.setCurrent(pageNum);
      IPage<PageComActMessageVO> iPage = comActMessageDAO.pageMyCommunityMessageApplets(page, comActMessageVO);
      List<PageComActMessageVO> records = iPage.getRecords();
      if (!ObjectUtils.isEmpty(records)) {
    @Override
    public R pageMyCommunityMessageApplets(ComActMessageVO comActMessageVO) {
        Page page = new Page<>();
        Long pageNum = comActMessageVO.getPageNum();
        Long pageSize = comActMessageVO.getPageSize();
        if (null == pageNum || 0 == pageNum) {
            pageNum = 1l;
        }
        if (null == pageSize || 0 == pageSize) {
            pageSize = 10l;
        }
        page.setSize(pageSize);
        page.setCurrent(pageNum);
        IPage<PageComActMessageVO> iPage = comActMessageDAO.pageMyCommunityMessageApplets(page, comActMessageVO);
        List<PageComActMessageVO> records = iPage.getRecords();
        if (!ObjectUtils.isEmpty(records)) {
            records.forEach(comActMessageVO1 -> {
                Long id = comActMessageVO1.getId();
                List<ComActMessageBackVO> list = comActMessageDAO.selectMsgBackList(id);
                if(list!=null&& list.size()>0) {
               list.forEach(vo -> {
                  Long type = comActMessageVO1.getType();
                  if (type == 1) {
                     ComPbServiceTeamVO team = comActMessageDAO.selectComPbServiceTeamById(comActMessageVO1.getSendtoUserId());
                     if (!ObjectUtils.isEmpty(team)) {
                        vo.setUserJob(team.getJob());
                     }
                  } else if (type == 2) {
                     PartyCommitteeVO party = comActMessageDAO.selectPartyCommitteeById(comActMessageVO1.getSendtoUserId());
                     if (!ObjectUtils.isEmpty(party)) {
                        vo.setUserJob(party.getPosition());
                     }
                  }
               });
            }
                if (list != null && list.size() > 0) {
                    list.forEach(vo -> {
                        Long type = comActMessageVO1.getType();
                        if (type == 1) {
                            ComPbServiceTeamVO team =
                                comActMessageDAO.selectComPbServiceTeamById(comActMessageVO1.getSendtoUserId());
                            if (!ObjectUtils.isEmpty(team)) {
                                vo.setUserJob(team.getJob());
                            }
                        } else if (type == 2) {
                            PartyCommitteeVO party =
                                comActMessageDAO.selectPartyCommitteeById(comActMessageVO1.getSendtoUserId());
                            if (!ObjectUtils.isEmpty(party)) {
                                vo.setUserJob(party.getPosition());
                            }
                        }
                    });
                }
                comActMessageVO1.setBackList(list);
            });
            iPage.setRecords(records);
        }
      return R.ok(iPage);
   }
        return R.ok(iPage);
    }
   @Override
   public R addMessageBack(ComActMessageBackVO comActMessageBackVO) {
      ComActMessageBackDO comActMessageBackDO=new ComActMessageBackDO();
      BeanUtils.copyProperties(comActMessageBackVO, comActMessageBackDO);
      int insert = comActMessageBackDAO.insert(comActMessageBackDO);
      if (insert > 0) {
         ComActMessageDO selectById = comActMessageDAO.selectById(comActMessageBackDO.getMsgId());
         selectById.setStatus(2);
         comActMessageDAO.updateById(selectById);
    @Override
    public R addMessageBack(ComActMessageBackVO comActMessageBackVO) {
        ComActMessageBackDO comActMessageBackDO = new ComActMessageBackDO();
        BeanUtils.copyProperties(comActMessageBackVO, comActMessageBackDO);
        int insert = comActMessageBackDAO.insert(comActMessageBackDO);
        if (insert > 0) {
            ComActMessageDO selectById = comActMessageDAO.selectById(comActMessageBackDO.getMsgId());
            selectById.setStatus(2);
            comActMessageDAO.updateById(selectById);
         //回复成功给用户推送订阅消息
         Map<String,String> map = comActActSignDAO.getUserOpenId(selectById.getUserId());
         if(map != null){
            String openid = map.get("openid");
            WxXCXTempSend util = new WxXCXTempSend();
            try {
               WxUtil.sendSubscribeLYHF(openid,util.getAppAccessToken(),comActMessageBackVO.getUserName()
                     , DateUtils.format(new Date(),DateUtils.ymdhms_format),comActMessageBackVO.getMsgContent());
            }catch (Exception e){
               log.error("消息推送失败,失败原因:" + e.getMessage());
            }
         }
         return R.ok();
      }
      return R.fail();
   }
            // 回复成功给用户推送订阅消息
            Map<String, String> map = comActActSignDAO.getUserOpenId(selectById.getUserId());
            if (map != null) {
                String openid = map.get("openid");
                WxXCXTempSend util = new WxXCXTempSend();
                try {
                    WxUtil.sendSubscribeLYHF(openid, util.getAppAccessToken(), comActMessageBackVO.getUserName(),
                        DateUtils.format(new Date(), DateUtils.ymdhms_format), comActMessageBackVO.getMsgContent());
                } catch (Exception e) {
                    log.error("消息推送失败,失败原因:" + e.getMessage());
                }
            }
            return R.ok();
        }
        return R.fail();
    }
   @Override
   public R pageMessageByUserApplets(ComActMessageVO comActMessageVO) {
      Page page = new Page<>();
      Long pageNum = comActMessageVO.getPageNum();
      Long pageSize = comActMessageVO.getPageSize();
      if (null == pageNum || 0 == pageNum) {
         pageNum = 1l;
      }
      if (null == pageSize || 0 == pageSize) {
         pageSize = 10l;
      }
      page.setSize(pageSize);
      page.setCurrent(pageNum);
      IPage<PageComActMessageVO> iPage = comActMessageDAO.pageMessageByUserApplets(page, comActMessageVO);
      List<PageComActMessageVO> records = iPage.getRecords();
      if (!ObjectUtils.isEmpty(records)) {
    @Override
    public R pageMessageByUserApplets(ComActMessageVO comActMessageVO) {
        Page page = new Page<>();
        Long pageNum = comActMessageVO.getPageNum();
        Long pageSize = comActMessageVO.getPageSize();
        if (null == pageNum || 0 == pageNum) {
            pageNum = 1l;
        }
        if (null == pageSize || 0 == pageSize) {
            pageSize = 10l;
        }
        page.setSize(pageSize);
        page.setCurrent(pageNum);
        IPage<PageComActMessageVO> iPage = comActMessageDAO.pageMessageByUserApplets(page, comActMessageVO);
        List<PageComActMessageVO> records = iPage.getRecords();
        if (!ObjectUtils.isEmpty(records)) {
            records.forEach(comActMessageVO1 -> {
                Long id = comActMessageVO1.getId();
                List<ComActMessageBackVO> list = comActMessageDAO.selectMsgBackList(id);
@@ -235,42 +234,44 @@
            });
            iPage.setRecords(records);
        }
      return R.ok(iPage);
   }
        return R.ok(iPage);
    }
   @Override
   public R deleteMessage(ComActMessageVO comActMessageVO) {
      Long id = comActMessageVO.getId();
      comActMessageDAO.deleteById(id);
      comActMessageBackDAO.deleteMsgBackByMsgId(id);
//      List<ComActMessageBackVO> list = comActMessageDAO.selectMsgBackList(id);
//      for (ComActMessageBackVO comActMessageBackVO : list) {
//         comActMessageBackDAO.deleteById(comActMessageBackVO.getId());
//      }
      return R.ok();
   }
    @Override
    public R deleteMessage(ComActMessageVO comActMessageVO) {
        Long id = comActMessageVO.getId();
        comActMessageDAO.deleteById(id);
        comActMessageBackDAO.deleteMsgBackByMsgId(id);
        // List<ComActMessageBackVO> list = comActMessageDAO.selectMsgBackList(id);
        // for (ComActMessageBackVO comActMessageBackVO : list) {
        // comActMessageBackDAO.deleteById(comActMessageBackVO.getId());
        // }
        return R.ok();
    }
   @Override
   public R resetMessagePublic(ResetComActMessageVO resetComActMessageVO) {
      if(ObjectUtils.isEmpty(resetComActMessageVO)) return R.fail();
      Integer ispublic = resetComActMessageVO.getIspublic();
      if(ispublic==null||(ispublic!=1&&ispublic!=2)) return R.fail("状态错误");
      List<Long> list = resetComActMessageVO.getIds();
      for (Long id : list) {
         comActMessageDAO.updatePublic(ispublic, id);
      }
      return R.ok();
   }
    @Override
    public R resetMessagePublic(ResetComActMessageVO resetComActMessageVO) {
        if (ObjectUtils.isEmpty(resetComActMessageVO))
            return R.fail();
        Integer ispublic = resetComActMessageVO.getIspublic();
        if (ispublic == null || (ispublic != 1 && ispublic != 2))
            return R.fail("状态错误");
        List<Long> list = resetComActMessageVO.getIds();
        for (Long id : list) {
            comActMessageDAO.updatePublic(ispublic, id);
        }
        return R.ok();
    }
   @Override
   public R detailMessage(Long id) {
      ComActMessageDO comActMessageDO = comActMessageDAO.selectById(id);
      PageComActMessageVO vo=new PageComActMessageVO();
      BeanUtils.copyProperties(comActMessageDO, vo);
    @Override
    public R detailMessage(Long id) {
        ComActMessageDO comActMessageDO = comActMessageDAO.selectById(id);
        PageComActMessageVO vo = new PageComActMessageVO();
        BeanUtils.copyProperties(comActMessageDO, vo);
        List<ComActMessageBackVO> list = comActMessageDAO.selectMsgBackList(id);
        vo.setBackList(list);
      // TODO Auto-generated method stub
      return R.ok(vo);
   }
        // TODO Auto-generated method stub
        return R.ok(vo);
    }
}