package com.nmgs.service.impl; import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson2.JSON; import com.nmgs.entity.HttpParamDto; import com.nmgs.mappercommon.Mapper; import com.nmgs.util.HttpClientUtil; import com.nmgs.util.LogUtil; import com.nmgs.util.PubTools; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.scheduling.annotation.Async; import org.springframework.stereotype.Service; import java.util.List; import java.util.Map; @Service public class MessagePushServiceImpl { @Autowired public Mapper mapperI; @Async("integralManagerThreadPool") public void pushMsg(String openId, String integralType, String consumeIntegral, String enabledIntegral) { try { Thread.sleep(300); String templete_id = ""; String url = ""; String page = ""; String sqlTemp = "SELECT\n" + "\tips.ID,\n" + "\tips.PARAMCODE,\n" + "\tips.BAK1,\n" + "\tips.BAK2,\n" + "\tips.BAK3,\n" + "\tips.BAK4,\n" + "\tips.BAK5,\n" + "\tips.ENABLED \n" + "FROM\n" + "\tINTEGRAL_PUBLIC_SET ips \n" + "WHERE\n" + "\t1 = 1 \n" + "\tAND PARAMCODE = 'CHANGE_MSG_PUSH' \n" + "\tAND ENABLED = 'Y'"; List selectforlist = this.mapperI.selectforlist(sqlTemp); if (selectforlist != null && selectforlist.size() > 0) { Map map = (Map) selectforlist.get(0); templete_id = map.get("BAK1").toString(); page = map.get("BAK2").toString(); url = map.get("BAK3").toString(); } if (!PubTools.isNull(templete_id) && !PubTools.isNull(page) && !PubTools.isNull(url)) { LogUtil.WriteLog_Info("小程序消息推送接口执行===templete_id===" + templete_id + "=====page===" + page + "====url===" + url, "MessagePushServiceImpl"); HttpParamDto dto = new HttpParamDto(integralType, PubTools.getCurrentDate(), consumeIntegral, enabledIntegral, "进入小程序查看积分详情。"); dto.setTemplate_id(templete_id); dto.setPage(page); String s = HttpClientUtil.doPostJson(url + openId, JSON.toJSONString(dto)); if (!PubTools.isNull(s)) { JSONObject retJo = (JSONObject) JSONObject.parse(s); String retCode = retJo.get("code").toString(); if (!"200".equals(retCode)) { Object message = retJo.get("message"); LogUtil.WriteLog_Error("小程序消息推送接口执行失败===code===" + retCode + "=====message===" + message, "MessagePushServiceImpl"); } } System.out.println(s); } else { LogUtil.WriteLog_Error("小程序消息推送接口未配置", "MessagePushServiceImpl"); } System.out.println("更新任务线程,线程名:" + Thread.currentThread().getName()); } catch (Exception e) { LogUtil.WriteLog_Error("小程序消息推送接口报错====" + e.getMessage(), "MessagePushServiceImpl"); } } }