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; import java.util.regex.Pattern; /** * 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,String content) 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(content); //新增短信实绩 tmstruckSmsRusult.setInsertTime(new Date()); tmstruckSmsRusultMapper.insertSelective(tmstruckSmsRusult); tmstruckSmsRusultMapper.updateTotalResultSmsStatus(resultTotalId); 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-0RHMZ&"; String tmpTmp = MD5Util.formatTimeTmp(); String sign = MD5Util.sign("EUCP-EMY-SMS1-0RHMZ","0CC1A5DEBB4590DA"); String driverTel = tmstruckSmsRusultMapper.getDriverTel(orderId); String mobile1 = Pattern.compile("[^0-9]").matcher(mobile).replaceAll(""); String content = "【达州钢铁】您好!您在达钢购买的钢材已发车。司机电话:" + driverTel + "。欲知详情,请前往达州钢铁智慧物流平台查看车辆实时轨迹。"; String sendUrl = url+"timestamp=" + tmpTmp + "&sign=" + sign + "&mobiles=" + mobile1 + "&content=" + content; System.out.println(mobile1); String jsonData = null; JSONObject jsonObject = new JSONObject(); jsonData = HTTPRequestUtils.send(sendUrl,jsonObject,"utf-8"); System.out.println(jsonData); 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,content); }else{ return 0; } }else{ System.out.println("短信发送失败:" + jsonData); return 0; } } public int generaSendMessageNew(String mobile,String capacityNum,BigDecimal orderId, String message, String deliveryAddress) throws Exception { String url = "http://www.btom.cn:8080/simpleinter/sendSMS?appId=EUCP-EMY-SMS1-2G25B&"; String tmpTmp = MD5Util.formatTimeTmp(); String sign = MD5Util.sign("EUCP-EMY-SMS1-2G25B","960ABC95153C60F0"); String driverTel = tmstruckSmsRusultMapper.getDriverTel(orderId); String mobile1 = Pattern.compile("[^0-9]").matcher(mobile).replaceAll(""); String content ="【达州钢铁】尊敬的用户,您在我公司采购的钢材,规格:" + message + ",车牌号:" + capacityNum + ",司机电话:" + driverTel + ",收货地址:"+ deliveryAddress +"。车辆已出厂配送中,欲知详情,请前往达州钢铁智慧物流平台查看车辆实际轨迹。"; String sendUrl = url+"timestamp=" + tmpTmp + "&sign=" + sign + "&mobiles=" + mobile1 + "&content=" + content; System.out.println(mobile1); String jsonData; JSONObject jsonObject = new JSONObject(); jsonData = HTTPRequestUtils.send(sendUrl,jsonObject,"utf-8"); System.out.println("短信发送返回:" + jsonData); if(!"null".equals(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,content); }else{ return 0; } }else{ System.out.println("短信发送失败:" + jsonData); return 0; } } @Override public int sendMessage(String mobile,String content) throws Exception{ String url = "http://www.btom.cn:8080/simpleinter/sendSMS?appId=EUCP-EMY-SMS1-2G25B&"; String tmpTmp = MD5Util.formatTimeTmp(); String sign = MD5Util.sign("EUCP-EMY-SMS1-2G25B","960ABC95153C60F0"); String mobile1 = mobile; //String content1 = "【达州钢铁】您好!" + content + "退订"; //String content1 = "【达州钢铁】您好!您在达钢购买的钢材已发车。司机电话:" + mobile + "。欲知详情,请前往达州钢铁智慧物流平台查看车辆实时轨迹。"; String content1 ="【达州钢铁】尊敬的用户,您在我公司采购的钢材,规格:Φ20(HRB400E)5件、Φ25(HRB400E)5件、Φ8(HPB300)2件,车牌号:陕F73979,司机电话:" + mobile + ",收货地址:四川遂宁船山区科创西路88号。车辆已出厂配送中,欲知详情,请前往达州钢铁智慧物流平台查看车辆实际轨迹。"; String sendUrl = url+"timestamp=" + tmpTmp + "&sign=" + sign + "&mobiles=" + mobile1 + "&content=" + content1; 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 1; }else{ return 0; } }else{ return 0; } } public String sendMessageHR(String mobile) throws Exception{ String url = "http://www.btom.cn:8080/simpleinter/sendSMS?appId=EUCP-EMY-SMS1-2G25B&"; String tmpTmp = MD5Util.formatTimeTmp(); String sign = MD5Util.sign("EUCP-EMY-SMS1-2G25B","960ABC95153C60F0"); String mobile1 = mobile; String content1 ="【达州钢铁】您的报名资质审核已通过,点击https://www.dasteel.cn/rlzy/rczp/content_4037查看。"; String sendUrl = url+"timestamp=" + tmpTmp + "&sign=" + sign + "&mobiles=" + mobile1 + "&content=" + content1; 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 ""; }else{ return mobile; } }else{ return mobile; } } @Override public List> getSmsResult(Map map) { return tmstruckSmsRusultMapper.selectSmsResult(map); } }