gongdecai 3 年之前
父節點
當前提交
29cb775905

+ 5 - 0
winsea-haixin-plugin-wangluohuoyun/pom.xml

@@ -91,6 +91,11 @@
             <artifactId>thumbnailator</artifactId>
             <version>0.4.8</version>
         </dependency>
+        <dependency>
+            <groupId>com.aliyun</groupId>
+            <artifactId>aliyun-java-sdk-green</artifactId>
+            <version>3.5.0</version>
+        </dependency>
     </dependencies>
 
 

+ 1 - 1
winsea-haixin-plugin-wangluohuoyun/src/main/java/com/yh/saas/plugin/GeneratorCodeByTables.java

@@ -53,7 +53,7 @@ public class GeneratorCodeByTables {
     }
 
     public static void main(String[] args) throws IOException {
-        generateByTables("Gdc", "com.yh.saas.plugin.yiliangyiyun","publish_task_info");
+        generateByTables("Gdc", "com.yh.saas.plugin.yiliangyiyun","news_info");
     }
 
     /**

+ 1 - 0
winsea-haixin-plugin-wangluohuoyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/constant/StatusEnum.java

@@ -76,6 +76,7 @@ public enum StatusEnum {
     IDENTITY_REVIEWED("1", "审核中", "reviewed"),
     IDENTITY_FAILED("3", "未通过", "passed"),
     IDENTITY_COMPLETED("5", "已认证", "Completed"),
+    IDENTITY_COMPLETED_NO("7", "禁用", "Completed"),
 
     //确认卸货状态
     NOT_CONFIRM("1", "未确认", "not_confirmed"),

+ 262 - 0
winsea-haixin-plugin-wangluohuoyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/controller/AliyunVideoSyncCheck.java

@@ -0,0 +1,262 @@
+package com.yh.saas.plugin.yiliangyiyun.controller;
+
+
+import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson.JSONObject;
+import com.aliyuncs.DefaultAcsClient;
+import com.aliyuncs.IAcsClient;
+import com.aliyuncs.exceptions.ClientException;
+import com.aliyuncs.exceptions.ServerException;
+import com.aliyuncs.green.model.v20180509.ImageSyncScanRequest;
+import com.aliyuncs.green.model.v20180509.VideoAsyncScanRequest;
+import com.aliyuncs.green.model.v20180509.VideoAsyncScanResultsRequest;
+import com.aliyuncs.green.model.v20180509.VideoSyncScanRequest;
+import com.aliyuncs.http.FormatType;
+import com.aliyuncs.http.HttpResponse;
+import com.aliyuncs.profile.DefaultProfile;
+import com.aliyuncs.profile.IClientProfile;
+
+import java.util.*;
+public class AliyunVideoSyncCheck {
+
+
+    /**
+     * 异步视频鉴黄
+     * @param imageUrl
+     * @throws Exception
+     */
+    public static String aliyunVideoAsyncCheck(String imageUrl) throws Exception {
+
+        IClientProfile profile = DefaultProfile.getProfile("cn-shanghai", "---accessKeyId---", "--accessKeySecret--");
+        DefaultProfile.addEndpoint("cn-shanghai", "cn-shanghai", "Green", "green.cn-shanghai.aliyuncs.com");
+        IAcsClient client = new DefaultAcsClient(profile);
+
+        VideoAsyncScanRequest videoAsyncScanRequest = new VideoAsyncScanRequest();
+        videoAsyncScanRequest.setAcceptFormat(FormatType.JSON); // 指定api返回格式
+        videoAsyncScanRequest.setMethod(com.aliyuncs.http.MethodType.POST); // 指定请求方法
+
+        List<Map<String, Object>> tasks = new ArrayList<Map<String, Object>>();
+        Map<String, Object> task = new LinkedHashMap<String, Object>();
+        task.put("dataId", UUID.randomUUID().toString());
+        task.put("url", imageUrl);
+
+        tasks.add(task);
+        /**
+         * 设置要检测的场景, 计费是按照该处传递的场景进行
+         * 视频默认1秒截取一帧,您可以自行控制截帧频率,收费按照视频的截帧数量以及每一帧的检测场景进行计费
+         * 举例:1分钟的视频截帧60张,检测色情和暴恐涉政2个场景,收费按照60张暴恐+60张暴恐涉政进行计费
+         * porn: porn表示色情场景检测,terrorism表示暴恐涉政场景检测
+         */
+        JSONObject data = new JSONObject();
+        data.put("scenes", Arrays.asList("porn", "terrorism"));
+        data.put("tasks", tasks);
+
+        videoAsyncScanRequest.setHttpContent(data.toJSONString().getBytes("UTF-8"), "UTF-8", FormatType.JSON);
+
+        /**
+         * 请务必设置超时时间
+         */
+        videoAsyncScanRequest.setConnectTimeout(3000);
+        videoAsyncScanRequest.setReadTimeout(6000);
+        try {
+            HttpResponse httpResponse = client.doAction(videoAsyncScanRequest);
+
+            if(httpResponse.isSuccess()){
+                JSONObject jsonObject = JSON.parseObject(new String(httpResponse.getHttpContent(), "UTF-8"));
+//                System.out.println(JSON.toJSONString(jsonObject, true));
+                if (200 == jsonObject.getInteger("code")) {
+                    JSONArray taskResults = jsonObject.getJSONArray("data");
+                    for (Object taskResult : taskResults) {
+                        if (200 == ((JSONObject) taskResult).getInteger("code")) {
+                            String taskId = ((JSONObject) taskResult).getString("taskId");
+                            return taskId;
+                        }
+                    }
+                }
+            }else{
+                System.out.println("response not success. status:" + httpResponse.getStatus());
+            }
+        } catch (ServerException e) {
+            e.printStackTrace();
+        } catch (ClientException e) {
+            e.printStackTrace();
+        }
+        return null;
+    }
+
+    /**
+     * 查询异步检测结果
+     * @param taskId
+     * @return
+     * @throws Exception
+     */
+    public static boolean getResult(String taskId) throws Exception {
+        boolean flag = false;
+        IClientProfile profile = DefaultProfile.getProfile("cn-shanghai", "---accessKeyId---", "--accessKeySecret--");
+        DefaultProfile.addEndpoint("cn-shanghai", "cn-shanghai", "Green", "green.cn-shanghai.aliyuncs.com");
+        IAcsClient client = new DefaultAcsClient(profile);
+
+        VideoAsyncScanResultsRequest videoAsyncScanResultsRequest = new VideoAsyncScanResultsRequest();
+        videoAsyncScanResultsRequest.setAcceptFormat(FormatType.JSON);
+
+        List<String> taskList = new ArrayList<String>();
+        // 这里添加要查询的taskId,提交任务的时候需要自行保存taskId
+        taskList.add(taskId);
+
+        videoAsyncScanResultsRequest.setHttpContent(JSON.toJSONString(taskList).getBytes("UTF-8"), "UTF-8", FormatType.JSON);
+
+        /**
+         * 请务必设置超时时间
+         */
+        videoAsyncScanResultsRequest.setConnectTimeout(3000);
+        videoAsyncScanResultsRequest.setReadTimeout(6000);
+        try {
+            HttpResponse httpResponse = client.doAction(videoAsyncScanResultsRequest);
+            if(httpResponse.isSuccess()){
+                JSONObject scrResponse = JSON.parseObject(new String(httpResponse.getHttpContent(), "UTF-8"));
+//                System.out.println(JSON.toJSONString(jsonObject, true));
+                if (200 == scrResponse.getInteger("code")) {
+                    JSONArray taskResults = scrResponse.getJSONArray("data");
+                    for (Object taskResult : taskResults) {
+                        if (200 == ((JSONObject) taskResult).getInteger("code")) {
+                            JSONArray sceneResults = ((JSONObject) taskResult).getJSONArray("results");
+                            for (Object sceneResult : sceneResults) {
+                                String scene = ((JSONObject) sceneResult).getString("scene");
+                                String suggestion = ((JSONObject) sceneResult).getString("suggestion");
+                                //根据scene和suggetion做相关的处理
+                                //do something
+                                System.out.println("scene = [" + scene + "]");
+                                System.out.println("suggestion = [" + suggestion + "]");
+                                if (!"pass".equals(suggestion)){
+                                    flag = false;
+                                    return flag;
+                                }else {
+                                    flag = true;
+                                }
+                            }
+                        } else {
+                            System.out.println("task process fail:" + ((JSONObject) taskResult).getInteger("code"));
+                        }
+                    }
+                } else {
+                    System.out.println("detect not success. code:" + scrResponse.getInteger("code"));
+                }
+            }else{
+                System.out.println("response not success. status:" + httpResponse.getStatus());
+            }
+        } catch (ServerException e) {
+            e.printStackTrace();
+        } catch (ClientException e) {
+            e.printStackTrace();
+        }
+        return flag;
+    }
+
+    /**
+     * 同步检测
+     * @param imageUrl
+     * @return
+     * @throws Exception
+     */
+    public static boolean aliyunVideoSyncCheck(String imageUrl) throws Exception {
+        boolean flag = false;
+        IClientProfile profile = DefaultProfile.getProfile("cn-shanghai", "---accessKeyId---", "--accessKeySecret--");
+        DefaultProfile.addEndpoint("cn-shanghai", "cn-shanghai", "Green", "green.cn-shanghai.aliyuncs.com");
+        IAcsClient client = new DefaultAcsClient(profile);
+
+        VideoSyncScanRequest videoSyncScanRequest = new VideoSyncScanRequest();
+        videoSyncScanRequest.setAcceptFormat(FormatType.JSON); // 指定api返回格式
+        videoSyncScanRequest.setMethod(com.aliyuncs.http.MethodType.POST); // 指定请求方法
+
+        List<Map<String, Object>> tasks = new ArrayList<Map<String, Object>>();
+        Map<String, Object> task = new LinkedHashMap<String, Object>();
+        task.put("dataId", UUID.randomUUID().toString());
+
+        List<Map<String, Object>> frames = new ArrayList<Map<String, Object>>();
+        Map<String, Object> frame1 = new LinkedHashMap<String, Object>();
+        frame1.put("offset", 0);
+        frame1.put("url", imageUrl);
+
+        Map<String, Object> frame2 = new LinkedHashMap<String, Object>();
+        frame2.put("offset", 5);
+        frame2.put("url", imageUrl);
+
+        Map<String, Object> frame3 = new LinkedHashMap<String, Object>();
+        frame3.put("offset", 10);
+        frame3.put("url", imageUrl);
+        frames.addAll(Arrays.asList(frame1, frame2, frame3));
+
+        task.put("frames", frames);
+        tasks.add(task);
+        /**
+         * 设置要检测的场景, 计费是按照该处传递的场景进行
+         * 视频默认1秒截取一帧,您可以自行控制截帧频率,收费按照视频的截帧数量以及每一帧的检测场景进行计费
+         * 举例:1分钟的视频截帧60张,检测色情和暴恐涉政2个场景,收费按照60张暴恐+60张暴恐涉政进行计费
+         * porn: porn表示色情场景检测
+         */
+        JSONObject data = new JSONObject();
+        data.put("scenes", Arrays.asList("porn", "terrorism"));
+        data.put("tasks", tasks);
+
+        videoSyncScanRequest.setHttpContent(data.toJSONString().getBytes("UTF-8"), "UTF-8", FormatType.JSON);
+
+        /**
+         * 请务必设置超时时间
+         */
+        videoSyncScanRequest.setConnectTimeout(3000);
+        videoSyncScanRequest.setReadTimeout(10000);
+        try {
+            HttpResponse httpResponse = client.doAction(videoSyncScanRequest);
+
+            if(httpResponse.isSuccess()){
+                JSONObject scrResponse = JSON.parseObject(new String(httpResponse.getHttpContent(), "UTF-8"));
+                //System.out.println(JSON.toJSONString(jsonObject, true));
+                if (200 == scrResponse.getInteger("code")) {
+                    JSONArray taskResults = scrResponse.getJSONArray("data");
+                    for (Object taskResult : taskResults) {
+                        if (200 == ((JSONObject) taskResult).getInteger("code")) {
+                            JSONArray sceneResults = ((JSONObject) taskResult).getJSONArray("results");
+                            for (Object sceneResult : sceneResults) {
+                                String scene = ((JSONObject) sceneResult).getString("scene");
+                                String suggestion = ((JSONObject) sceneResult).getString("suggestion");
+                                //根据scene和suggetion做相关的处理
+                                //do something
+                                System.out.println("scene = [" + scene + "]");
+                                System.out.println("suggestion = [" + suggestion + "]");
+                                if (!"pass".equals(suggestion)){
+                                    flag = false;
+                                    return flag;
+                                }else {
+                                    flag = true;
+                                }
+                            }
+                        } else {
+                            System.out.println("task process fail:" + ((JSONObject) taskResult).getInteger("code"));
+                        }
+                    }
+                } else {
+                    System.out.println("detect not success. code:" + scrResponse.getInteger("code"));
+                }
+            }else{
+                System.out.println("response not success. status:" + httpResponse.getStatus());
+            }
+        } catch (ServerException e) {
+            e.printStackTrace();
+        } catch (ClientException e) {
+            e.printStackTrace();
+        }
+        return flag;
+    }
+
+
+//    public static void main(String[] args) throws Exception {
+////        boolean b = aliyunVideoSyncCheck("https://chaojiguoke.oss-cn-shanghai.aliyuncs.com/img/da7f5c8153774a0daeb5897d4c962dd5.mp4");
+//        boolean b = aliyunVideoSyncCheck("https://chaojiguoke.oss-cn-shanghai.aliyuncs.com/img/607d1954d98943a3b1d094173c003c97.mp4");
+//        if (b){
+//            System.out.printf("不是黄视频暴视频");
+//        }else{
+//            System.out.printf("是黄视频暴视频");
+//        }
+    }
+

+ 5 - 0
winsea-haixin-plugin-wangluohuoyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/entity/DriverCarInfo.java

@@ -84,6 +84,11 @@ public class DriverCarInfo extends BaseModel<DriverCarInfo> {
      * 认证状态
      */
     private String status;
+    /**
+     * 模糊查询
+     */
+    @TableField(exist = false)
+    private String search;
 
     @Override
     protected Serializable pkVal() {

+ 6 - 1
winsea-haixin-plugin-wangluohuoyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/entity/DriverInfo.java

@@ -172,7 +172,7 @@ public class DriverInfo extends BaseModel<DriverInfo> {
     @DateTimeFormat(pattern = "yyyy-MM-dd")
     private Date trailerOperationCertificateValidityDate;
     /**
-     * 认证状态key(1审核中3未通过5已认证)
+     * 认证状态key(1审核中3未通过5已认证7 禁用
      */
     private String authenticationStatusKey;
     /**
@@ -183,6 +183,11 @@ public class DriverInfo extends BaseModel<DriverInfo> {
      * 第一次认证标识(1是)
      */
     private String firstFlag;
+    /**
+     * 审核标识
+     */
+    @TableField(exist = false)
+    private String flag;
 
     @TableField(exist = false)
     private List<DriverCarInfo> driverCarInfoList;

+ 24 - 0
winsea-haixin-plugin-wangluohuoyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/service/impl/CarrierInfoServiceImpl.java

@@ -5,10 +5,12 @@ import com.yh.saas.common.support.util.IdGenerator;
 import com.yh.saas.common.support.util.StringUtils;
 import com.yh.saas.plugin.yiliangyiyun.constant.StatusEnum;
 import com.yh.saas.plugin.yiliangyiyun.entity.CarrierInfo;
+import com.yh.saas.plugin.yiliangyiyun.entity.NewsInfo;
 import com.yh.saas.plugin.yiliangyiyun.entity.OrderInfo;
 import com.yh.saas.plugin.yiliangyiyun.mapper.CarrierInfoMapper;
 import com.yh.saas.plugin.yiliangyiyun.service.ICarrierInfoService;
 import com.baomidou.mybatisplus.service.impl.ServiceImpl;
+import com.yh.saas.plugin.yiliangyiyun.service.INewsInfoService;
 import com.yh.saas.plugin.yiliangyiyun.service.IOrderInfoService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
@@ -28,6 +30,8 @@ public class CarrierInfoServiceImpl extends ServiceImpl<CarrierInfoMapper, Carri
     private IOrderInfoService orderInfoService;
     @Autowired
     private ICarrierInfoService carrierInfoService;
+    @Autowired
+    private INewsInfoService newsInfoService;
 
     /**
      * 确认装车
@@ -58,6 +62,16 @@ public class CarrierInfoServiceImpl extends ServiceImpl<CarrierInfoMapper, Carri
                 orderInfo.setCargoOwnerStatus(StatusEnum.CONFIRMED_LOADING.getName());
                 orderInfo.setCargoOwnerStatusKey(StatusEnum.CONFIRMED_LOADING.getFlag());
                 orderInfoService.updateById(orderInfo);
+                // 向货主发送信息
+                NewsInfo newsInfo = new NewsInfo();
+                newsInfo.setCrtCommonId(orderInfo.getCommonId());
+                newsInfo.setReCommonId(orderInfo.getCargoCommonId());
+                newsInfo.setNewsContent("司机 "+orderInfo.getDriverName()+"已确认装车,订单编号"+orderInfo.getOrderNo()+"。");
+                newsInfo.setNumber(orderInfo.getOrderNo());
+                newsInfo.setBussId(orderInfo.getId());
+                newsInfo.setNewsTypeKey("2");
+                newsInfo.setNewsType("承运通知");
+                newsInfoService.addNewsInfo(newsInfo);
             }
             this.updateById(carrierInfo1);
         }
@@ -92,6 +106,16 @@ public class CarrierInfoServiceImpl extends ServiceImpl<CarrierInfoMapper, Carri
                 orderInfo.setCargoOwnerStatus(StatusEnum.CONFIRMED_UNLOAD.getName());
                 orderInfo.setCargoOwnerStatusKey(StatusEnum.CONFIRMED_UNLOAD.getFlag());
                 orderInfoService.updateById(orderInfo);
+                // 向货主发送信息
+                NewsInfo newsInfo = new NewsInfo();
+                newsInfo.setCrtCommonId(orderInfo.getCommonId());
+                newsInfo.setReCommonId(orderInfo.getCargoCommonId());
+                newsInfo.setNewsContent("司机 "+orderInfo.getDriverName()+"已确认卸车,订单编号"+orderInfo.getOrderNo()+"。");
+                newsInfo.setNumber(orderInfo.getOrderNo());
+                newsInfo.setBussId(orderInfo.getId());
+                newsInfo.setNewsTypeKey("2");
+                newsInfo.setNewsType("承运通知");
+                newsInfoService.addNewsInfo(newsInfo);
             }
         }
         return "OK";

+ 7 - 3
winsea-haixin-plugin-wangluohuoyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/service/impl/DriverCarInfoServiceImpl.java

@@ -34,9 +34,13 @@ public class DriverCarInfoServiceImpl extends ServiceImpl<DriverCarInfoMapper, D
      */
     @Override
     public List<DriverCarInfo> selectCar(DriverCarInfo driverCarInfo) {
-        List<DriverCarInfo> driverCarInfoList = this.selectList(new EntityWrapper<DriverCarInfo>()
-                .eq(DriverCarInfo.QueryFiles.DRIVER_ID, driverCarInfo.getDriverId())
-                .eq(DriverCarInfo.QueryFiles.DELETE_FLAG, NumberConstant.CONSTANT0));
+        EntityWrapper<DriverCarInfo> driverCarInfoEntityWrapper = new EntityWrapper<>();
+        driverCarInfoEntityWrapper
+                .eq(DriverCarInfo.QueryFiles.DELETE_FLAG, NumberConstant.CONSTANT0)
+                .eq("status_key",driverCarInfo.getStatusKey())
+                .like("car_number",driverCarInfo.getSearch());
+//        .and("car_number like "+ driverCarInfo.getSearch()+"or ");
+        List<DriverCarInfo> driverCarInfoList = this.selectList(driverCarInfoEntityWrapper);
         return driverCarInfoList;
     }
 

+ 19 - 10
winsea-haixin-plugin-wangluohuoyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/service/impl/DriverInfoServiceImpl.java

@@ -154,7 +154,7 @@ public class DriverInfoServiceImpl extends ServiceImpl<DriverInfoMapper, DriverI
 
 
     /**
-     * 审核
+     * 审核/ 禁用
      *
      * @param driverInfo
      * @return
@@ -167,9 +167,9 @@ public class DriverInfoServiceImpl extends ServiceImpl<DriverInfoMapper, DriverI
 
         if (driverInfo1 != null) {
             //通过
-//            if (driverInfo.getFlag() == 1) {
-//                driverInfo1.setAuthenticationStatusKey(StatusEnum.IDENTITY_COMPLETED.getFlag());
-//                driverInfo1.setAuthenticationStatus(StatusEnum.IDENTITY_COMPLETED.getName());
+            if ("1".equals(driverInfo.getFlag())) {
+                driverInfo1.setAuthenticationStatusKey(StatusEnum.IDENTITY_COMPLETED.getFlag());
+                driverInfo1.setAuthenticationStatus(StatusEnum.IDENTITY_COMPLETED.getName());
 //                geTuiUtils.pushByCid("审核通知", "您的司机认证申请已审核通过", commonUser.getId());
 //                UnimallMessage messageDO = new UnimallMessage();
 //                messageDO.setAdminId(commonUser.getId());
@@ -182,11 +182,11 @@ public class DriverInfoServiceImpl extends ServiceImpl<DriverInfoMapper, DriverI
 //                messageDO.setCompanyId(AuthSecurityUtils.getCurrentUserInfo().getCompId());
 //                messageDO.setPath("XXXXX");
 //                webSocket.sendOneMessage(messageDO);
-//            }
-            //驳回
-//            else {
-//                driverInfo1.setAuthenticationStatusKey(StatusEnum.IDENTITY_FAILED.getFlag());
-//                driverInfo1.setAuthenticationStatus(StatusEnum.IDENTITY_FAILED.getName());
+            }
+//            驳回
+            else if("2".equals(driverInfo.getFlag())){
+                driverInfo1.setAuthenticationStatusKey(StatusEnum.IDENTITY_FAILED.getFlag());
+                driverInfo1.setAuthenticationStatus(StatusEnum.IDENTITY_FAILED.getName());
 //                geTuiUtils.pushByCid("驳回通知", "您的司机认证申请已被驳回", commonUser.getId());
 //                UnimallMessage messageDO = new UnimallMessage();
 //                messageDO.setAdminId(commonUser.getId());
@@ -199,7 +199,16 @@ public class DriverInfoServiceImpl extends ServiceImpl<DriverInfoMapper, DriverI
 //                messageDO.setCompanyId(AuthSecurityUtils.getCurrentUserInfo().getCompId());
 //                messageDO.setPath("XXXXX");
 //                webSocket.sendOneMessage(messageDO);
-//            }
+            }
+            // 禁用
+            else if("3".equals(driverInfo.getFlag())){
+                driverInfo1.setAuthenticationStatusKey(StatusEnum.IDENTITY_COMPLETED_NO.getFlag());
+                driverInfo1.setAuthenticationStatus(StatusEnum.IDENTITY_COMPLETED_NO.getName());
+            }
+            else if("4".equals(driverInfo.getFlag())){
+                driverInfo1.setAuthenticationStatusKey(StatusEnum.IDENTITY_COMPLETED.getFlag());
+                driverInfo1.setAuthenticationStatus(StatusEnum.IDENTITY_COMPLETED.getName());
+            }
             //更改司机信息
             this.updateById(driverInfo1);
             return "OK";

+ 45 - 0
winsea-haixin-plugin-wangluohuoyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/service/impl/OrderInfoServiceImpl.java

@@ -150,16 +150,61 @@ public class OrderInfoServiceImpl extends ServiceImpl<OrderInfoMapper, OrderInfo
             if("1".equals(orderInfo.getTerminator())){
                 //司机端和货主端装态改为已终止
                 orderInfo1.setTerminator("1");
+
+                // 向货主发送信息
+                NewsInfo newsInfo = new NewsInfo();
+                newsInfo.setCrtCommonId(orderInfo1.getCommonId());
+                newsInfo.setReCommonId(orderInfo1.getCargoCommonId());
+                newsInfo.setNewsContent("订单编号"+orderInfo1.getOrderNo()+"已被司机 "+orderInfo1.getDriverName()+" 终止。");
+                newsInfo.setNumber(orderInfo1.getOrderNo());
+                newsInfo.setBussId(orderInfo1.getId());
+                newsInfo.setNewsTypeKey("2");
+                newsInfo.setNewsType("承运通知");
+                newsInfoService.addNewsInfo(newsInfo);
             }
             //货主终止
             else if ("2".equals(orderInfo.getTerminator())){
                 //司机端和货主端装态改为已终止
                 orderInfo1.setTerminator("2");
+
+                // 向司机发送信息
+                NewsInfo newsInfo = new NewsInfo();
+                newsInfo.setCrtCommonId(orderInfo1.getCargoCommonId());
+                newsInfo.setReCommonId(orderInfo1.getCommonId());
+                newsInfo.setNewsContent("订单编号"+orderInfo1.getOrderNo()+"已被货主 "+orderInfo1.getCargoOwner()+" 终止。");
+                newsInfo.setNumber(orderInfo1.getOrderNo());
+                newsInfo.setBussId(orderInfo1.getId());
+                newsInfo.setNewsTypeKey("2");
+                newsInfo.setNewsType("承运通知");
+                newsInfoService.addNewsInfo(newsInfo);
             }
             //平台终止
             else {
                 //司机端和货主端装态改为已终止
                 orderInfo1.setTerminator("3");
+
+
+                // 向司机发送信息
+                NewsInfo newsInfo = new NewsInfo();
+                newsInfo.setCrtCommonId("000");
+                newsInfo.setReCommonId(orderInfo1.getCommonId());
+                newsInfo.setNewsContent("订单编号"+orderInfo1.getOrderNo()+"已被平台终止");
+                newsInfo.setNumber(orderInfo1.getOrderNo());
+                newsInfo.setBussId(orderInfo1.getId());
+                newsInfo.setNewsTypeKey("2");
+                newsInfo.setNewsType("承运通知");
+                newsInfoService.addNewsInfo(newsInfo);
+
+                // 向货主发送信息
+                NewsInfo newsInfo1 = new NewsInfo();
+                newsInfo1.setCrtCommonId(orderInfo1.getCommonId());
+                newsInfo1.setReCommonId(orderInfo1.getCargoCommonId());
+                newsInfo1.setNewsContent("订单编号"+orderInfo1.getOrderNo()+"已被平台终止");
+                newsInfo1.setNumber(orderInfo1.getOrderNo());
+                newsInfo1.setBussId(orderInfo1.getId());
+                newsInfo1.setNewsTypeKey("2");
+                newsInfo1.setNewsType("承运通知");
+                newsInfoService.addNewsInfo(newsInfo1);
             }
             orderInfo1.setOrderStatusKey(StatusEnum.DRIVER_ORDER_END.getFlag());
             orderInfo1.setOrderStatus(StatusEnum.DRIVER_ORDER_END.getName());

+ 13 - 0
winsea-haixin-plugin-wangluohuoyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/service/impl/PublishTaskInfoServiceImpl.java

@@ -38,6 +38,8 @@ public class PublishTaskInfoServiceImpl extends ServiceImpl<PublishTaskInfoMappe
     private ICarrierInfoService carrierInfoService;
     @Autowired
     private IFreightInfoService freightInfoService;
+    @Autowired
+    private INewsInfoService newsInfoService;
 
     /**
      * 地球半径,单位 km
@@ -294,6 +296,17 @@ public class PublishTaskInfoServiceImpl extends ServiceImpl<PublishTaskInfoMappe
         orderInfo.setCargoOwnerStatusKey(StatusEnum.OWNER_PENDING_STATEMENT.getFlag());
         orderInfo.setCargoOwnerStatus(StatusEnum.OWNER_PENDING_STATEMENT.getName());
         boolean one =  orderInfoService.insert(orderInfo);
+
+        // 向货主发送信息
+        NewsInfo newsInfo = new NewsInfo();
+        newsInfo.setCrtCommonId(orderInfo.getCommonId());
+        newsInfo.setReCommonId(orderInfo.getCargoCommonId());
+        newsInfo.setNewsContent("司机 "+orderInfo.getDriverName()+"师傅 已接单,订单编号"+orderInfo.getOrderNo()+"。");
+        newsInfo.setNumber(orderInfo.getOrderNo());
+        newsInfo.setBussId(orderInfo.getId());
+        newsInfo.setNewsTypeKey("2");
+        newsInfo.setNewsType("承运通知");
+        newsInfoService.addNewsInfo(newsInfo);
         //新增承运信息
         CarrierInfo carrierInfo = new CarrierInfo();
         carrierInfo.setId(IdGenerator.generateUUID());