tangxiaobao
2021-08-05 d769a8683ea6f2ecbc451da71ca3079c6765a99d
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActMessageServiceImpl.java
@@ -2,9 +2,14 @@
import java.util.Date;
import java.util.List;
import java.util.Map;
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;
@@ -35,6 +40,8 @@
   private ComActMessageDAO comActMessageDAO;
   @Resource
   private ComActMessageBackDAO comActMessageBackDAO;
   @Resource
   private ComActActSignDAO comActActSignDAO;
   @Override
   public R addMessage(ComActMessageVO comActMessageVO) {
@@ -113,6 +120,11 @@
      }
      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)) {
@@ -149,6 +161,22 @@
            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);
@@ -165,6 +193,19 @@
         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();
@@ -189,6 +230,7 @@
            records.forEach(comActMessageVO1 -> {
                Long id = comActMessageVO1.getId();
                List<ComActMessageBackVO> list = comActMessageDAO.selectMsgBackList(id);
                comActMessageVO1.setBackList(list);
            });
            iPage.setRecords(records);
@@ -220,4 +262,15 @@
      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);
   }
}