ZpglWxgzptServiceImpl.java 3.54 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 31 32 33 34 35 36
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;

    /**
     * 添加消息队列
     *
     * @param map
     * @return
     */
284718418@qq.com committed
37
    @Override
38 39 40 41 42 43 44 45 46 47 48
    public String addMessageQueue(Map<String, Object> map) {
        return HttpUtil.post(serverUrl + "/wxgzh/addMessageQueue", map);
    }


    /**
     * 添加消息队列
     *
     * @param interviewNotice
     * @return
     */
284718418@qq.com committed
49
    @Override
50 51 52 53 54 55 56 57 58 59 60 61 62 63 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 99 100 101
    public String addInterviewMessageQueue(InterviewNotice interviewNotice) {
        //消息队列对象
        MessageQueueDto mqd = new MessageQueueDto();
        BeanUtils.copyProperties(interviewNotice, mqd);
        /** 模板消息内容 start */
        List<TemplateData> templateData = new ArrayList<>();
        if (MessageTemplate.TEMPLATE_ID_TO_INTERVIEWER.equals(interviewNotice.getTemplateId())) {
            TemplateData key1 = new TemplateData("first", "您好," + interviewNotice.getZpglZwxxName() + interviewNotice.getName() + "已安排由您面试", "#000000");
            templateData.add(key1);
        } else if (MessageTemplate.TEMPLATE_ID_TO_INTERVIEWEE.equals(interviewNotice.getTemplateId())) {
            TemplateData key1 = new TemplateData("first", "候选人" + interviewNotice.getName() + "你好!你所投递的" + interviewNotice.getZpglZwxxName() + "为你安排了面试", "#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 */


        /**
         * //消息内容模板消息 json格式  普通消息字符串类型
         * //手机号
         * mqd.setMobile("18212310017");
         * //类型(1 短信,2 邮件,3 微信模板消息)
         * mqd.setType(2);
         * //公众号类型 1:8小时企业管理 2:优领人才网
         * mqd.setWxgzhType(1);
         * //1 即时发送,2 定时发送
         * mqd.setTiming(1);
         * //模板id
         * mqd.setTemplateId(interviewNotice.getTemplateId());
         * //网页地址
         * mqd.setUrl(null);
         * //小程序页面地址
         * mqd.setWxxcxPageId(null);
         */

        Map map = JSON.parseObject(JSON.toJSONString(mqd), Map.class);
        return HttpUtil.post(serverUrl + "/wxgzh/addMessageQueue", map);
    }
}