package com.dingzhuo.energy.project.conglomeratepush.service.impl; import com.alibaba.fastjson.JSONObject; import com.dingzhuo.energy.common.core.lang.UUID; import com.dingzhuo.energy.project.conglomeratepush.HttpUtil; import com.dingzhuo.energy.project.conglomeratepush.domain.ConglomeratePushLog; import com.dingzhuo.energy.project.conglomeratepush.mapper.ConglomeratePushLogMapper; import com.dingzhuo.energy.project.conglomeratepush.service.IConglomeratePushLogService; import okhttp3.Response; import org.apache.commons.lang3.ObjectUtils; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.Date; import java.util.HashMap; import java.util.Map; /** * @author zhw */ @Service public class ConglomeratePushLogServiceImpl implements IConglomeratePushLogService { @Autowired private ConglomeratePushLogMapper conglomeratePushLogMapper; @Override public void test(){ ConglomeratePushLog conglomeratePushLog = new ConglomeratePushLog(); conglomeratePushLog.setId(UUID.fastUUID().toString()); conglomeratePushLog.setPushContent("abcd"); conglomeratePushLog.setPushResult("111"); conglomeratePushLog.setPushStatus("abssscd"); conglomeratePushLog.setPushCount(1L); conglomeratePushLog.setPushTime(new Date()); //保存发送信息 conglomeratePushLogMapper.saveLog(conglomeratePushLog); } @Override public void sendConglomerate(String jsonData,long pushCount){ ConglomeratePushLog conglomeratePushLog = new ConglomeratePushLog(); conglomeratePushLog.setId(UUID.fastUUID().toString()); //记录发送信息的对象 JSONObject sendResJson=null; String exeRes="N"; try{ //要发送的数据对象 jsonData = ""; sendResJson = send(jsonData); //不论成功、失败 都记录到推送 信息发送表中 String success = sendResJson.getString("success"); //成功 if(StringUtils.isNotBlank(success) && StringUtils.equals(success, "true")){ exeRes="Y"; } }catch (Exception e){ //记录以下Log 捕获异常不要抛出 conglomeratePushLog.setErrorInfo(e.getMessage()); }finally { //记录要发送的内容 conglomeratePushLog.setPushContent(jsonData); conglomeratePushLog.setPushResult(ObjectUtils.isNotEmpty(sendResJson)?sendResJson.toJSONString():""); conglomeratePushLog.setPushStatus(exeRes); conglomeratePushLog.setPushCount(pushCount); conglomeratePushLog.setPushTime(new Date()); //保存发送信息 conglomeratePushLogMapper.saveLog(conglomeratePushLog); } } private JSONObject send(String jsonData){ try{ Map params = new HashMap(); params.put("appKey", ""); params.put("call", ""); params.put("timestamp", String.valueOf(System.currentTimeMillis())); params.put("data", jsonData);// Response response = HttpUtil.post(params,"url"); String res = response.body().string(); return JSONObject.parseObject(res); }catch (Exception e) { JSONObject jsonObject = new JSONObject(); jsonObject.put("success", false); jsonObject.put("result", false); jsonObject.put("error", e.getMessage()); return jsonObject; } } }