k94314517
2024-12-25 0843f9b1526b7680f5cd419cf1f2d2fff44562ee
server/meeting/meeting_service/src/main/java/com/doumee/core/wx/WxPlatNotice.java
@@ -6,12 +6,15 @@
import com.doumee.core.utils.Constants;
import com.doumee.core.utils.DateUtil;
import com.doumee.core.utils.HttpsUtil;
import com.doumee.dao.business.dao.SmsEmailMapper;
import com.doumee.dao.business.model.Bookings;
import com.doumee.dao.business.model.SmsEmail;
import com.github.xiaoymin.knife4j.core.util.CollectionUtils;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Component;
import java.awt.print.Book;
import java.util.*;
/**
@@ -116,6 +119,113 @@
        }
    }
    public void createBeginWxNotice(SystemDictDataBiz systemDictDataBiz, SmsEmailMapper smsEmailMapper, Bookings bookings, String openId){
        Map<String,Object> map = new HashMap<>();
        //整体参数map
        Map<String, Object> paramMap = new HashMap<String, Object>();
        //消息主题显示相关map
        Map<String, Object> dataMap = new HashMap<String, Object>();
        //会议名称
        Map<String, Object> thing1 = new HashMap<String,Object>();
        thing1.put("value",bookings.getName());
        //会议地点
        Map<String, Object> thing2 = new HashMap<String,Object>();
        thing2.put("value",bookings.getRoomName());
        //会议时间
        Map<String, Object> thing3 = new HashMap<String,Object>();
        thing3.put("value", DateUtil.getFomartDate(bookings.getStartTime(),"yyyy年MM月dd日HH:mm")+"至"+DateUtil.getFomartDate(bookings.getEndTime(),"HH:mm"));
        Integer earlyMin= Integer.valueOf(systemDictDataBiz.queryByCode(Constants.SYSTEM,Constants.EARLY_START_WX_NOTICE).getCode());
        Map<String, Object> thing5 = new HashMap<String,Object>();
        thing5.put("value","您所预定的会议室即将在"+earlyMin+"分钟后开始,请准时参加");
        dataMap.put("thing1",thing1);
        dataMap.put("thing2",thing2);
        dataMap.put("thing3",thing3);
        dataMap.put("thing5",thing5);
        paramMap.put("data", dataMap);
        paramMap.put("template_id", "xGFnbHwe8W9sIGlD75XROrbKpzV-6HSRqfRHRfxRR6k");
        paramMap.put("touser", openId);
        paramMap.put("data", dataMap);
        smsEmailMapper.delete(new QueryWrapper<SmsEmail>().lambda()
                .eq(SmsEmail::getObjType,Constants.FIVE.toString())
                .eq(SmsEmail::getStatus,Constants.TWO)
                .eq(SmsEmail::getType,Constants.TWO)
                .eq(SmsEmail::getObjId,bookings.getId())
        );
        SmsEmail smsEmail = new SmsEmail();
        smsEmail.setPhone(openId);
        smsEmail.setRemark("等待发送");
        smsEmail.setStatus(Constants.TWO);
        smsEmail.setIsdeleted(Constants.ZERO);
        smsEmail.setType(Constants.TWO);
        smsEmail.setObjType(Constants.FIVE.toString());
        smsEmail.setObjId(bookings.getId());
        smsEmail.setCreateDate(new Date());
        smsEmail.setTitle("会议即将开始提醒");
        smsEmail.setInfo(DateUtil.getFomartDate(DateUtil.getXMinuteAfterDate(bookings.getStartTime(),-earlyMin),"yyyy-MM-dd HH:mm:ss"));
        smsEmail.setContent(JSONObject.toJSONString(map));
    }
    public void createEndWxNotice(SystemDictDataBiz systemDictDataBiz, SmsEmailMapper smsEmailMapper, Bookings bookings,  String openId){
        Map<String,Object> map = new HashMap<>();
        //整体参数map
        Map<String, Object> paramMap = new HashMap<String, Object>();
        //消息主题显示相关map
        Map<String, Object> dataMap = new HashMap<String, Object>();
        //会议名称
        Map<String, Object> thing1 = new HashMap<String,Object>();
        thing1.put("value",bookings.getName());
        //会议地点
        Map<String, Object> thing6 = new HashMap<String,Object>();
        thing6.put("value",bookings.getRoomName());
        //会议时间
        Map<String, Object> date4 = new HashMap<String,Object>();
        date4.put("value", DateUtil.getFomartDate(bookings.getEndTime(),"yyyy年MM月dd日HH:mm"));
        Map<String, Object> thing7 = new HashMap<String,Object>();
        thing7.put("value","您的会议即将结束,如需继续使用请即使续订");
        dataMap.put("thing1",thing1);
        dataMap.put("thing6",thing6);
        dataMap.put("date4",date4);
        dataMap.put("thing7",thing7);
        paramMap.put("data", dataMap);
        paramMap.put("template_id", "vdIPfwvDCrXOHgQnB6sdE1lGEsJm1oUURfLx6SoLdk0");
        paramMap.put("touser", openId);
        paramMap.put("data", dataMap);
        smsEmailMapper.delete(new QueryWrapper<SmsEmail>().lambda()
                .eq(SmsEmail::getObjType,Constants.FIVE.toString())
                .eq(SmsEmail::getStatus,Constants.TWO)
                .eq(SmsEmail::getType,Constants.TWO)
                .eq(SmsEmail::getObjId,bookings.getId())
        );
        SmsEmail smsEmail = new SmsEmail();
        smsEmail.setPhone(openId);
        smsEmail.setRemark("等待发送");
        smsEmail.setStatus(Constants.TWO);
        smsEmail.setIsdeleted(Constants.ZERO);
        smsEmail.setType(Constants.TWO);
        smsEmail.setObjType(Constants.FIVE.toString());
        smsEmail.setObjId(bookings.getId());
        smsEmail.setCreateDate(new Date());
        smsEmail.setTitle("会议即将开始提醒");
        Integer endMin= Integer.valueOf(systemDictDataBiz.queryByCode(Constants.SYSTEM,Constants.OVER_NOTICE_WX).getCode());
        smsEmail.setInfo(DateUtil.getFomartDate(DateUtil.getXMinuteAfterDate(bookings.getEndTime(),-endMin),"yyyy-MM-dd HH:mm:ss"));
        smsEmail.setContent(JSONObject.toJSONString(map));
    }
    /**
     * 会议室取消通知