ZpglWxgzptServiceImpl.java 3.79 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
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;

284718418@qq.com committed
31
    @Override
32
    public String addMessageQueue(Map<String, Object> map) {
33
        return HttpUtil.post(serverUrl + "/order/wxgzh/addMessageQueue", map);
34 35
    }

284718418@qq.com committed
36
    @Override
37 38 39 40 41 42
    public String addInterviewMessageQueue(InterviewNotice interviewNotice) {
        //消息队列对象
        MessageQueueDto mqd = new MessageQueueDto();
        BeanUtils.copyProperties(interviewNotice, mqd);
        /** 模板消息内容 start */
        List<TemplateData> templateData = new ArrayList<>();
284718418@qq.com committed
43 44 45
        // 内容
        TemplateData key1 = new TemplateData("first", interviewNotice.getContentStr(), "#000000");
        templateData.add(key1);
46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62
        // 面试职位
        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);
63
        return HttpUtil.post(serverUrl + "/order/wxgzh/addMessageQueue", map);
64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98
    }

    @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);
99
        return HttpUtil.post(serverUrl + "/order/wxgzh/addMessageQueue", map);
100 101
    }
}