Переглянути джерело

Merge branch 'master' of https://git.steerinfo.com/DAL-DAZHOU1/DAL-TMS-TRUCK-API

Tiroble 3 роки тому
батько
коміт
64a5354e7c

+ 0 - 6
src/main/java/com/steerinfo/dil/controller/TmstruckSmsRusultController.java

@@ -40,12 +40,6 @@ public class TmstruckSmsRusultController extends BaseRESTfulController{
     ESFeign esFeign;
     @Autowired
     ColumnDataUtil columnDataUtil;
-    @ApiOperation(value = "新增短信实绩", notes = "通过人工稽核判断点击新增短信实绩")
-    @PostMapping(value = "/insertSmsResult")//BigDecimal
-    public RESTfulResult insertSmsResult(@RequestBody(required = false) Map<String, Object> map) {
-        int i = tmstruckSmsRusultService.addSmsResult(map);
-        return success(i);
-    }
     //查询短信实绩
     @ApiOperation(value="查询短信实绩")
     @ApiImplicitParams({

+ 2 - 0
src/main/java/com/steerinfo/dil/mapper/TmstruckLeaveFactoryResultMapper.java

@@ -62,4 +62,6 @@ public interface TmstruckLeaveFactoryResultMapper extends IBaseMapper<TmstruckLe
 
     Integer getSeq(BigDecimal orderId);
 
+    Map<String, Object> getMessageMap(BigDecimal orderId);
+
 }

+ 3 - 1
src/main/java/com/steerinfo/dil/mapper/UtilsMapper.java

@@ -58,7 +58,7 @@ public interface UtilsMapper {
     //通过运输订单号查询订单ID
     BigDecimal getOrderIdByOrderNumber(String orderNumber);
 
-    //通过运输订单查询总实绩ID
+    //通过运输订单id查询总实绩ID
     BigDecimal getTotalIdByOrderNumber(String orderNumber);
 
 
@@ -131,4 +131,6 @@ public interface UtilsMapper {
     //通过车牌号和运输订单号去寻找装车实绩
     BigDecimal getLoadResultId(Map<String,Object> map);
 
+    BigDecimal getTotalIdByOrderId(BigDecimal orderId);
+
 }

+ 2 - 3
src/main/java/com/steerinfo/dil/service/ITmstruckSmsRusultService.java

@@ -20,9 +20,8 @@ import java.util.Map;
  * @see null
  * @Copyright 湖南视拓信息技术股份有限公司. All rights reserved.
  */
-public interface ITmstruckSmsRusultService extends IBaseService<TmstruckSmsRusult, BigDecimal>{
-  //新增短信
- int addSmsResult(Map<String ,Object> map);
+public interface ITmstruckSmsRusultService{
+
  //查询短信实绩
  List<Map<String,Object>> getSmsResult(Map<String,Object> map);
 }

+ 10 - 0
src/main/java/com/steerinfo/dil/service/impl/TmstruckLeaveFactoryResultServiceImpl.java

@@ -60,6 +60,9 @@ public class TmstruckLeaveFactoryResultServiceImpl implements ITmstruckLeaveFact
     @Autowired
     OffSiteTransportationServiceImpl offSiteTransportationService;
 
+    @Autowired
+    TmstruckSmsRusultServiceImpl tmstruckSmsRusultService;
+
     @Autowired
     OmsFeign omsFeign;
 
@@ -211,6 +214,13 @@ public class TmstruckLeaveFactoryResultServiceImpl implements ITmstruckLeaveFact
                     throw new Exception("请提醒司机确认订单!");
                 }
                 try {
+                    //发送短信
+                    Map<String,Object>messageMap = tmstruckLeaveFactoryResultMapper.getMessageMap(orderId);
+                    if(messageMap.get("saleOrderConsigneeTEL") != null){
+                            String capacityNum = (String) messageMap.get("capacityNumber");
+                            String mobile = (String)messageMap.get("saleOrderConsigneeTEL");
+                            tmstruckSmsRusultService.generaSendMessage(mobile,capacityNum,orderId);
+                    }
                     //销售厂外监控
                     Map<String, Object> parem=tmstruckLeaveFactoryResultService.getTruckFactoryResult(orderNumber);
                     parem.put("turnOf","0");

+ 1 - 0
src/main/java/com/steerinfo/dil/service/impl/TmstruckLoadResultServiceImpl.java

@@ -172,6 +172,7 @@ public class TmstruckLoadResultServiceImpl implements ITmstruckLoadResultService
         tmstruckLoadResult.setInsertUpdateRemark((String) map.get("insertUpdateRemark"));
         steelMesMap.put("materialId", materialId);
         //给达钢发送委托
+        steelMesMap.put("numberOfFurnaces", map.get("numberOfFurnaces")); //炉号件数
         int i = tmstruckMeasureCommissionService.addSteelMeasureCommission(steelMesMap);
         if(i == 0){
             return i;

+ 8 - 4
src/main/java/com/steerinfo/dil/service/impl/TmstruckMeasureCommissionServiceImpl.java

@@ -172,17 +172,21 @@ public class TmstruckMeasureCommissionServiceImpl implements ITmstruckMeasureCom
             measureCommission.put("isInsert", true);
             measureCommission.put("isRelationEAS", true);
             measureCommission.put("flowTo", "出厂钢材");
+            measureCommission.put("numberOfFurnaces",map.get("numberOfFurnaces"));
             Object isPoundSale = measureCommission.get("isPoundSale");
             measureCommission.remove("isPoundSale");
             if(isPoundSale != null){
                 if(DataChange.dataToBigDecimal(isPoundSale).intValue() == 0){
                     measureCommission.put("deliveryMethod", "磅重交货");
-                    measureCommission.remove("meterWeight");
                 }else {
                     measureCommission.put("deliveryMethod", "理重交货");
-                    BigDecimal meterWeight = DataChange.dataToBigDecimal(measureCommission.get("meterWeight")).divide(new BigDecimal(1000));
-                    measureCommission.remove("meterWeight");
-                    measureCommission.put("theoryWeight", meterWeight.setScale(4, BigDecimal.ROUND_HALF_UP));//理重除1000保留四位小数
+                }
+            }else {
+                String materiaName = (String) measureCommission.get("materiaName");
+                if(materiaName.contains("盘螺")){ //如果名字中包含盘螺则为磅重交货
+                    measureCommission.put("deliveryMethod", "磅重交货");
+                }else {
+                    measureCommission.put("deliveryMethod", "理重交货");
                 }
             }
             //查询已经计量物资

+ 37 - 57
src/main/java/com/steerinfo/dil/service/impl/TmstruckSmsRusultServiceImpl.java

@@ -1,18 +1,18 @@
 package com.steerinfo.dil.service.impl;
 
-import com.steerinfo.dil.feign.JoinFeign;
-import com.steerinfo.dil.mapper.TmstruckLeaveFactoryResultMapper;
+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 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.io.IOException;
 import java.math.BigDecimal;
 import java.util.Date;
 import java.util.HashMap;
@@ -33,78 +33,58 @@ import java.util.Map;
  * @Copyright 湖南视拓信息技术股份有限公司. All rights reserved.
  */
 @Service(value = "tmstruckSmsRusultService")
-public class TmstruckSmsRusultServiceImpl extends BaseServiceImpl<TmstruckSmsRusult, BigDecimal> implements ITmstruckSmsRusultService {
+public class TmstruckSmsRusultServiceImpl  implements ITmstruckSmsRusultService {
 
     @Autowired
     private TmstruckSmsRusultMapper tmstruckSmsRusultMapper;
     @Autowired
     private UtilsMapper utilsMapper;
-    @Autowired
-    JoinFeign joinFeign;
-//    @Autowired
-//    private OmstruckOrderMapper omstruckOrderMapper;
 
-    @Override
-    protected IBaseMapper<TmstruckSmsRusult, BigDecimal> getMapper() {
-        return tmstruckSmsRusultMapper;
-    }
 
     /**
-     * 销售物流通过点击确认新增短信实绩
-     * @param map
+     * 新增短信实绩
+      * @param orderId
      * @return
+     * @throws Exception
      */
-    @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();
+    public int addSmsResult(BigDecimal orderId) throws Exception {
         //新增短信实绩
         TmstruckSmsRusult tmstruckSmsRusult=new TmstruckSmsRusult();
         tmstruckSmsRusult.setResultId(tmstruckSmsRusultMapper.selectMaxId());
         //新增总实绩id
-        BigDecimal resultTotalId = utilsMapper.getTotalIdByOrderNumber(orderNumber);
+        BigDecimal resultTotalId = utilsMapper.getTotalIdByOrderId(orderId);
         tmstruckSmsRusult.setTotalResultId(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;
-
-
+        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 mobile1 = mobile;
+        String content = "【达州钢铁】您好,您在达钢购买的钢材已发车,司机车牌号:" + capacityNum + "。退订";
+        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

+ 7 - 1
src/main/java/com/steerinfo/dil/util/MD5Util.java

@@ -1,5 +1,7 @@
 package com.steerinfo.dil.util;
 
+import sun.applet.Main;
+
 import java.security.MessageDigest;
 import java.text.SimpleDateFormat;
 import java.util.Date;
@@ -59,8 +61,12 @@ import java.util.SimpleTimeZone;
          */
         public static void main(String[] args) throws Exception {
             String str = "123456";
-            System.out.println(MD5Util.md5Encode(str));
+            String ApiId = "EUCP-EMY-SMS1-10QNI";
+            String sererct = "EE20B0B28B75E567";
+            System.out.println(formatTimeTmp());
+            System.out.println(sign(ApiId,sererct));
         }
 
+
     }
 

+ 11 - 0
src/main/resources/com/steerinfo/dil/mapper/TmstruckLeaveFactoryResultMapper.xml

@@ -1232,4 +1232,15 @@
         where oo.order_id =#{orderId}
     </select>
     <select id="getLeaveFactoryList" resultType="java.util.Map"></select>
+    <select id="getMessageMap" resultType="java.util.Map" parameterType="decimal">
+        SELECT
+            ASOM.SALE_ORDER_CONSIGNEE_TEL AS "saleOrderConsigneeTEL",
+            RC.CAPACITY_NUMBER AS "capacityNumber"
+        FROM
+            OMSTRUCK_ORDER OO
+                LEFT JOIN AMS_SALE_ORDER_MATERIAL ASOM ON OO.ORDER_PLAN_ID = ASOM.SALE_ORDER_MATERIAL_ID
+                LEFT JOIN RMS_CAPACITY RC ON OO.CAPACITY_ID = RC.CAPACITY_ID
+        WHERE
+            OO.ORDER_ID = #{orderId}
+    </select>
 </mapper>

+ 1 - 1
src/main/resources/com/steerinfo/dil/mapper/TmstruckMeasureCommissionMapper.xml

@@ -1314,7 +1314,7 @@
                         OO.INSERT_UPDATE_REMARK                              "demo",
                         ASM.EAS_PRIMARY_ID                                   "FLID",
                         MAORTC.TRUCK_CALCULATE_NUMBER                        "steelyardNum",
-                        ASM.METER_WEIGHT                                     "meterWeight",
+                        ASM.MATERIAL_WEIGHT                                  "theoryWeight",
                         ASM.IS_POUND_SALE                                    "isPoundSale"
                  from OMSTRUCK_ORDER OO
                           left join OMSTRUCK_ORDER_MATERIAL OOM on OO.ORDER_ID = OOM.ORDER_ID