package com.steerinfo.dil.service.impl; import com.steerinfo.dil.feign.JoinFeign; import com.steerinfo.dil.mapper.TmstruckLeaveFactoryResultMapper; import com.steerinfo.dil.mapper.TmstruckSmsRusultMapper; import com.steerinfo.dil.model.TmstruckSmsRusult; import com.steerinfo.dil.service.ITmstruckSmsRusultService; import com.steerinfo.dil.util.MD5Util; import com.steerinfo.framework.mapper.IBaseMapper; import com.steerinfo.framework.service.impl.BaseServiceImpl; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; 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 extends BaseServiceImpl<TmstruckSmsRusult, BigDecimal> implements ITmstruckSmsRusultService { @Autowired private TmstruckSmsRusultMapper tmstruckSmsRusultMapper; @Autowired private TmstruckLeaveFactoryResultMapper tmstruckLeaveFactoryResultMapper; @Autowired JoinFeign joinFeign; // @Autowired // private OmstruckOrderMapper omstruckOrderMapper; @Override protected IBaseMapper<TmstruckSmsRusult, BigDecimal> getMapper() { return tmstruckSmsRusultMapper; } /** * 销售物流通过点击确认新增短信实绩 * @param map * @return */ @Override public int addSmsResult(Map<String,Object> map) { //获取用户名 // Integer personnelId=(Integer) map.get("personnelId"); // String personnelName=omstruckOrderMapper.selectPersonNameByPersonnelId(personnelId); //获取订单号 String orderNumber = map.get("orderNumber").toString(); //新增短信实绩 TmstruckSmsRusult tmstruckSmsRusult=new TmstruckSmsRusult(); tmstruckSmsRusult.setResultId(tmstruckSmsRusultMapper.selectMaxId()); //新增总实绩id Map<String,Object> map1= tmstruckLeaveFactoryResultMapper.selectResultId(orderNumber); Integer resultTotalId = Integer.parseInt(map1.get("resultTotalId").toString()); tmstruckSmsRusult.setTotalResultId(new BigDecimal(resultTotalId)); Integer shipperId = tmstruckSmsRusultMapper.selectShipperIdByOrderNumber(orderNumber); //设置发送方id tmstruckSmsRusult.setSenderId(new BigDecimal(shipperId)); //通过发送方ID查询appId和秘钥 Map<String,Object>map5=tmstruckSmsRusultMapper.selectIdApp(new BigDecimal(shipperId)); String AppId= (String) map5.get("AppId"); String secretKey=(String) map5.get("secretKey"); tmstruckSmsRusult.setResultSendingTime(new Date()); //根据运输订单号查找司机电话号码 String driverPhone=tmstruckSmsRusultMapper.selectCarDriverByOrderNumber(orderNumber); String content="您好!您在达钢购买的钢材已发车,司机电话"+driverPhone+"欲知详情,请前往xxxxx地址,下载APP 达钢物流"; tmstruckSmsRusult.setResultSmsContent("您好!您在达钢购买的钢材已发车,司机电话"+driverPhone+"欲知详情,请前往xxxxx地址,下载APP 达钢物流"); //新增短信实绩 tmstruckSmsRusult.setInsertTime(new Date()); //调用接口发送短信 Map<String, Object> map2 = new HashMap<>(); String timestamp=String.valueOf(new Date().getTime()); String sign=AppId+secretKey+timestamp; try { String signMd5=MD5Util.md5Encode(sign); map2.put("sign",signMd5); } catch (Exception e) { e.printStackTrace(); } map2.put("AppId",AppId); map2.put("timestamp",timestamp); map2.put("content",content); map2.put("mobiles",driverPhone); if (joinFeign.push(map2)){ int i=tmstruckSmsRusultMapper.insertSelective(tmstruckSmsRusult); return i; } else return 0; } @Override public List<Map<String, Object>> getSmsResult(Map<String, Object> map) { return tmstruckSmsRusultMapper.selectSmsResult(map); } }