Your Name 3 роки тому
батько
коміт
88c22c1592

+ 22 - 0
src/main/java/com/steerinfo/dil/feign/JoinFeign.java

@@ -0,0 +1,22 @@
+package com.steerinfo.dil.feign;
+
+import com.steerinfo.framework.controller.RESTfulResult;
+import org.springframework.cloud.openfeign.FeignClient;
+import org.springframework.web.bind.annotation.PathVariable;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+
+import java.math.BigDecimal;
+import java.util.Map;
+
+/**
+ * @author luobang
+ * @create 2021-10-29 11:23
+ */
+@FeignClient(value = "dil-join-api-dev", url = "${openfeign.JoinFeign.url}")
+public interface JoinFeign {
+    @PostMapping("/api/v1/join/tmsTruckSms/insertSms")
+    public boolean push(@RequestBody(required = false)Map<String, Object> map2) ;
+
+
+}

+ 3 - 0
src/main/java/com/steerinfo/dil/mapper/TmstruckSmsRusultMapper.java

@@ -20,4 +20,7 @@ public interface TmstruckSmsRusultMapper extends IBaseMapper<TmstruckSmsRusult,
     String selectCarDriverByOrderNumber(String orderNumber);
     //查询短信实绩
     List<Map<String,Object>> selectSmsResult(Map<String,Object> map);
+
+    Map<String,Object> selectIdApp(BigDecimal bigDecimal);
+
 }

+ 34 - 3
src/main/java/com/steerinfo/dil/service/impl/TmstruckSmsRusultServiceImpl.java

@@ -1,16 +1,20 @@
 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 sun.security.provider.MD5;
 
 import java.math.BigDecimal;
 import java.util.Date;
+import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 
@@ -34,6 +38,8 @@ public class TmstruckSmsRusultServiceImpl extends BaseServiceImpl<TmstruckSmsRus
     private TmstruckSmsRusultMapper tmstruckSmsRusultMapper;
     @Autowired
     private TmstruckLeaveFactoryResultMapper tmstruckLeaveFactoryResultMapper;
+    @Autowired
+    JoinFeign joinFeign;
 //    @Autowired
 //    private OmstruckOrderMapper omstruckOrderMapper;
 
@@ -64,15 +70,40 @@ public class TmstruckSmsRusultServiceImpl extends BaseServiceImpl<TmstruckSmsRus
         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());
-//        tmstruckSmsRusult.setInsertUsername(personnelName);
-        int i=tmstruckSmsRusultMapper.insertSelective(tmstruckSmsRusult);
-        return i;
+        //调用接口发送短信
+        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("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

+ 50 - 0
src/main/java/com/steerinfo/dil/util/MD5Util.java

@@ -0,0 +1,50 @@
+package com.steerinfo.dil.util;
+
+import java.security.MessageDigest;
+
+/**
+ * @author luobang
+ * @create 2021-10-29 10:16
+ */
+
+    public class MD5Util {
+        /***
+         * MD5加密 生成32位md5码
+         *
+         * @param 待加密字符串
+         * @return 返回32位md5码
+         */
+        public static String md5Encode(String inStr) throws Exception {
+            MessageDigest md5 = null;
+            try {
+                md5 = MessageDigest.getInstance("MD5");
+            } catch (Exception e) {
+                System.out.println(e.toString());
+                e.printStackTrace();
+                return "";
+            }
+
+            byte[] byteArray = inStr.getBytes("UTF-8");
+            byte[] md5Bytes = md5.digest(byteArray);
+            StringBuffer hexValue = new StringBuffer();
+            for (int i = 0; i < md5Bytes.length; i++) {
+                int val = ((int) md5Bytes[i]) & 0xff;
+                if (val < 16) {
+                    hexValue.append("0");
+                }
+                hexValue.append(Integer.toHexString(val));
+            }
+            return hexValue.toString();
+        }
+
+        /**
+         *测试
+         * @throws Exception
+         */
+        public static void main(String[] args) throws Exception {
+            String str = "123456";
+            System.out.println(MD5Util.md5Encode(str));
+        }
+
+    }
+

+ 2 - 0
src/main/resources/bootstrap.yml

@@ -27,6 +27,8 @@ openfeign:
     url: ${WMSHBOUNDFEIGN_URL:localhost:8093}
   OmsFeign:
     url: ${OMSFEIGN_URL:localhost:8095}
+  JoinFeign:
+    url: ${JOINFEIGN_URL:localhost:8066}
 
 
 #eureka设置

+ 7 - 0
src/main/resources/com/steerinfo/dil/mapper/TmstruckSmsRusultMapper.xml

@@ -368,4 +368,11 @@
     left join RMS_SHIPPER RS
     on TSR.SENDER_ID=RS.SHIPPER_ID
   </select>
+    <select id="selectIdApp" resultType="java.util.Map">
+      select
+      rs.SHIPPER_APPID "AppId",
+        rs.SHIPPER_SECRETKEY "secretKey"
+      from RMS_SHIPPER RS
+      where rs.SHIPPER_ID=#{bigDecimal}
+    </select>
 </mapper>