From 4ae412b21a0541bc45a91b079e8bc132f60856e4 Mon Sep 17 00:00:00 2001
From: 张天森 <1292933220@qq.com>
Date: 星期一, 17 十月 2022 16:29:16 +0800
Subject: [PATCH] 三说会堂事件操作权限处理
---
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActMessageServiceImpl.java | 318 +++++++++++++++++++++++++++++++++++++++++++++-------
1 files changed, 274 insertions(+), 44 deletions(-)
diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActMessageServiceImpl.java b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActMessageServiceImpl.java
index 975b7ab..82eae92 100644
--- a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActMessageServiceImpl.java
+++ b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActMessageServiceImpl.java
@@ -1,70 +1,300 @@
package com.panzhihua.service_community.service.impl;
+import java.util.Date;
+import java.util.List;
+import java.util.Map;
+
import javax.annotation.Resource;
+import com.panzhihua.common.model.vos.community.ComActDpcVO;
+import com.panzhihua.common.model.vos.user.SysTemplateConfigVO;
+import com.panzhihua.common.service.user.UserService;
+import com.panzhihua.service_community.dao.ComActDAO;
+import com.panzhihua.service_community.dao.ComActDpcDAO;
+import com.panzhihua.service_community.model.dos.ComActDO;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
import org.springframework.util.ObjectUtils;
+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.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.ComActMessageBackDO;
import com.panzhihua.service_community.model.dos.ComActMessageDO;
import com.panzhihua.service_community.service.ComActMessageService;
+import static java.util.Objects.isNull;
+
@Service
-public class ComActMessageServiceImpl extends ServiceImpl<ComActMessageDAO, ComActMessageDO> implements ComActMessageService {
- @Resource
+public class ComActMessageServiceImpl extends ServiceImpl<ComActMessageDAO, ComActMessageDO>
+ implements ComActMessageService {
+ @Resource
private ComActMessageDAO comActMessageDAO;
+ @Resource
+ private ComActMessageBackDAO comActMessageBackDAO;
+ @Resource
+ private ComActActSignDAO comActActSignDAO;
+ @Resource
+ private ComActDAO comActDAO;
+ @Resource
+ private UserService userService;
+ @Resource
+ private ComActDpcDAO comActDpcDAO;
- @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();
+ } else if (type == 3) {
+ ComActDpcVO dpcVO = comActDpcDAO.detailDpc(comActMessageVO.getSendtoUserId());
+ if (isNull(dpcVO)) {
+ return R.fail();
+ }
+ phone = dpcVO.getPhone();
+ sendtoUserName = dpcVO.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) {
- return null;
- }
+ /**
+ * 我发的留言
+ */
+ @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);
+ comActMessageVO1.setBackList(list);
+ });
+ iPage.setRecords(records);
+ }
+ return R.ok(iPage);
+ }
- @Override
- public R pageSendToMessageApplets(ComActMessageVO comActMessageVO) {
- return null;
- }
+ /**
+ * 发给我的留言
+ */
+ @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);
+ comActMessageVO1.setBackList(list);
+ });
+ iPage.setRecords(records);
+ }
+ return R.ok(iPage);
+ }
- @Override
- public R pageMyCommunityMessageApplets(ComActMessageVO comActMessageVO) {
- return null;
- }
+ /**
+ * 我的社区留言
+ */
+
+ @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());
+ }
+ }
+ });
+ }
+ comActMessageVO1.setBackList(list);
+ });
+ iPage.setRecords(records);
+ }
+ 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);
+
+ // 回复成功给用户推送订阅消息
+ Map<String, String> map = comActActSignDAO.getUserOpenId(selectById.getUserId());
+ if (map != null) {
+ String openid = map.get("openid");
+ WxXCXTempSend util = new WxXCXTempSend();
+ ComActDO comActDO=comActDAO.selectById(comActMessageBackVO.getCommunityId());
+ R<SysTemplateConfigVO> r=userService.selectTemplate(comActDO.getAreaCode(),2);
+ try {
+ WxUtil.sendSubscribeLYHF(openid, util.getAccessToken(), comActMessageBackVO.getUserName(),
+ DateUtils.format(new Date(), DateUtils.ymdhms_format), comActMessageBackVO.getMsgContent(),r.getData().getTemplateId());
+ } 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)) {
+ records.forEach(comActMessageVO1 -> {
+ Long id = comActMessageVO1.getId();
+ List<ComActMessageBackVO> list = comActMessageDAO.selectMsgBackList(id);
+
+ comActMessageVO1.setBackList(list);
+ });
+ iPage.setRecords(records);
+ }
+ 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 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);
+ List<ComActMessageBackVO> list = comActMessageDAO.selectMsgBackList(id);
+ vo.setBackList(list);
+ // TODO Auto-generated method stub
+ return R.ok(vo);
+ }
}
--
Gitblit v1.7.1