package com.steerinfo.dil.service.impl; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; import com.steerinfo.dil.mapper.TmstruckSmsRusultMapper; import com.steerinfo.dil.mapper.UtilsMapper; import com.steerinfo.dil.model.TmstruckSmsRusult; import com.steerinfo.dil.service.ITmstruckSmsRusultService; import com.steerinfo.dil.util.HTTPRequestUtils; import com.steerinfo.dil.util.MD5Util; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.io.IOException; import java.math.BigDecimal; import java.util.Date; import java.util.HashMap; import java.util.List; import java.util.Map; /** * TmstruckSmsRusult服务实现: * @author generator * @version 1.0-SNAPSHORT 2021-10-18 09:19 * 类描述 * 修订历史: * 日期:2021-10-18 * 作者:generator * 参考: * 描述:TmstruckSmsRusult服务实现 * @see null * @Copyright 湖南视拓信息技术股份有限公司. All rights reserved. */ @Service(value = "tmstruckSmsRusultService") public class TmstruckSmsRusultServiceImpl implements ITmstruckSmsRusultService { @Autowired private TmstruckSmsRusultMapper tmstruckSmsRusultMapper; @Autowired private UtilsMapper utilsMapper; /** * 新增短信实绩 * @param orderId * @return * @throws Exception */ public int addSmsResult(BigDecimal orderId) throws Exception { //新增短信实绩 TmstruckSmsRusult tmstruckSmsRusult=new TmstruckSmsRusult(); tmstruckSmsRusult.setResultId(tmstruckSmsRusultMapper.selectMaxId()); //新增总实绩id BigDecimal resultTotalId = utilsMapper.getTotalIdByOrderId(orderId); tmstruckSmsRusult.setTotalResultId(resultTotalId); tmstruckSmsRusult.setResultSendingTime(new Date()); tmstruckSmsRusult.setResultSmsContent("【达州钢铁】您好!您在达钢购买的钢材已发车.欲知详情,请前往https://wl.dasteel.cn:32322/views/#/地址,浏览车辆实时运输状态。退订"); //新增短信实绩 tmstruckSmsRusult.setInsertTime(new Date()); tmstruckSmsRusultMapper.insertSelective(tmstruckSmsRusult); return 1; } public int generaSendMessage(String mobile,String capacityNum,BigDecimal orderId) throws Exception { String url = "http://www.btom.cn:8080/simpleinter/sendSMS?appId=EUCP-EMY-SMS1-10QNI&"; String tmpTmp = MD5Util.formatTimeTmp(); String sign = MD5Util.sign("EUCP-EMY-SMS1-10QNI","EE20B0B28B75E567"); String driverTel = tmstruckSmsRusultMapper.getDriverTel(orderId); String mobile1 = mobile; String content = "【达州钢铁】您好!您在达钢购买的钢材已发车。司机电话:" + driverTel + "。欲知详情,请前往达州钢铁智慧物流平台查看车辆实时轨迹。退订"; String sendUrl = url+"timestamp=" + tmpTmp + "&sign=" + sign + "&mobiles=" + mobile1 + "&content=" + content; String jsonData = null; JSONObject jsonObject = new JSONObject(); jsonData = HTTPRequestUtils.send(sendUrl,jsonObject,"utf-8"); if(!"null".equals(jsonData)){ System.out.println(jsonData); HashMap hashMap = JSON.parseObject(jsonData, HashMap.class); String code = (String) hashMap.get("code"); System.out.println(hashMap.get("code")); if("SUCCESS".equals(code)){ return addSmsResult(orderId); }else{ return 0; } }else{ System.out.println("短信发送失败:" + jsonData); return 0; } } @Override public List> getSmsResult(Map map) { return tmstruckSmsRusultMapper.selectSmsResult(map); } }