package cn.timer.api.controller.zpgl.sevice; import cn.hutool.http.HttpUtil; import cn.timer.api.bean.wechat.MessageTemplate; import cn.timer.api.dto.template.InterviewNotice; import cn.timer.api.dto.template.TemplateData; import cn.timer.api.dto.wxgzh.MessageQueueDto; import com.alibaba.fastjson.JSON; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; import javax.transaction.Transactional; import java.util.ArrayList; import java.util.List; import java.util.Map; /** * @author longys * @date 2022/3/25 18:08 */ @Slf4j @Service @Transactional(rollbackOn = Exception.class) public class ZpglWxgzptServiceImpl implements ZpglWxgzptService { @Value("${youling.serverUrl}") private String serverUrl; @Override public String addMessageQueue(Map<String, Object> map) { return HttpUtil.post(serverUrl + "/order/wxgzh/addMessageQueue", map); } @Override public String addInterviewMessageQueue(InterviewNotice interviewNotice) { //消息队列对象 MessageQueueDto mqd = new MessageQueueDto(); BeanUtils.copyProperties(interviewNotice, mqd); /** 模板消息内容 start */ List<TemplateData> templateData = new ArrayList<>(); // 内容 TemplateData key1 = new TemplateData("first", interviewNotice.getContentStr(), "#000000"); templateData.add(key1); // 面试职位 TemplateData key2 = new TemplateData("keyword1", interviewNotice.getZpglZwxxName(), "#000000"); templateData.add(key2); // 面试时间 TemplateData key3 = new TemplateData("keyword2", interviewNotice.getInterviewTime(), "#000000"); templateData.add(key3); // 备注 TemplateData key4 = new TemplateData("remark", interviewNotice.getRemark(), "#000000"); templateData.add(key4); //数据处理成固定好的json格式 String content = mqd.getContentJson(templateData); mqd.setContent(content); /** 模板消息内容 end */ Map map = JSON.parseObject(JSON.toJSONString(mqd), Map.class); return HttpUtil.post(serverUrl + "/order/wxgzh/addMessageQueue", map); } @Override public String sendApplyOrCePin(InterviewNotice interviewNotice) { //消息队列对象 MessageQueueDto mqd = new MessageQueueDto(); BeanUtils.copyProperties(interviewNotice, mqd); /** 模板消息内容 start */ List<TemplateData> templateData = new ArrayList<>(); // 内容 TemplateData key = new TemplateData("first", interviewNotice.getContentStr(), "#000000"); templateData.add(key); // 应聘职位 TemplateData key1 = new TemplateData("keyword1", interviewNotice.getZpglZwxxName(), "#000000"); templateData.add(key1); // 通知内容 TemplateData key2 = new TemplateData("keyword2", interviewNotice.getContentNotice(), "#000000"); templateData.add(key2); // 通知人 TemplateData key3 = new TemplateData("keyword3", interviewNotice.getNoticeName(), "#000000"); templateData.add(key3); // 通知时间 TemplateData key4 = new TemplateData("keyword4", interviewNotice.getNowTime(), "#000000"); templateData.add(key4); // 备注 TemplateData remark = new TemplateData("remark", interviewNotice.getRemark(), "#000000"); templateData.add(remark); //数据处理成固定好的json格式 String content = mqd.getContentJson(templateData); mqd.setContent(content); /** 模板消息内容 end */ Map map = JSON.parseObject(JSON.toJSONString(mqd), Map.class); return HttpUtil.post(serverUrl + "/order/wxgzh/addMessageQueue", map); } }