haungfuli пре 3 година
родитељ
комит
821d4c0e5a
38 измењених фајлова са 2091 додато и 277 уклоњено
  1. 6 0
      winsea-haixin-platform-backend/src/main/resources/application.yml
  2. BIN
      winsea-haixin-platform-backend/src/main/resources/templates/Contract.pdf
  3. BIN
      winsea-haixin-platform-backend/src/main/resources/templates/Contract1.pdf
  4. BIN
      winsea-haixin-platform-backend/src/main/resources/templates/TranContract.pdf
  5. BIN
      winsea-haixin-platform-backend/src/main/resources/templates/TranContract1.pdf
  6. 10 0
      winsea-haixin-plugin-wangluohuoyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/constant/StatusEnum.java
  7. 65 2
      winsea-haixin-plugin-wangluohuoyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/controller/CommonRouteController.java
  8. 58 2
      winsea-haixin-plugin-wangluohuoyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/controller/FleetInfoController.java
  9. 107 3
      winsea-haixin-plugin-wangluohuoyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/controller/FleetMemberInfoController.java
  10. 2 5
      winsea-haixin-plugin-wangluohuoyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/controller/OrderInfoController.java
  11. 12 0
      winsea-haixin-plugin-wangluohuoyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/entity/CommonRoute.java
  12. 4 0
      winsea-haixin-plugin-wangluohuoyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/entity/DriverInfo.java
  13. 4 4
      winsea-haixin-plugin-wangluohuoyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/entity/EvaluateInfo.java
  14. 1 1
      winsea-haixin-plugin-wangluohuoyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/entity/FeedbackReport.java
  15. 37 1
      winsea-haixin-plugin-wangluohuoyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/entity/FleetInfo.java
  16. 94 1
      winsea-haixin-plugin-wangluohuoyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/entity/FleetMemberInfo.java
  17. 65 0
      winsea-haixin-plugin-wangluohuoyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/entity/OrderInfo.java
  18. 9 0
      winsea-haixin-plugin-wangluohuoyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/exception/YExceptionEnum.java
  19. 36 0
      winsea-haixin-plugin-wangluohuoyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/mapper/CommonRouteMapper.java
  20. 21 0
      winsea-haixin-plugin-wangluohuoyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/mapper/FleetInfoMapper.java
  21. 64 0
      winsea-haixin-plugin-wangluohuoyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/mapper/FleetMemberInfoMapper.java
  22. 44 0
      winsea-haixin-plugin-wangluohuoyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/service/ICommonRouteService.java
  23. 37 0
      winsea-haixin-plugin-wangluohuoyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/service/IFleetInfoService.java
  24. 70 0
      winsea-haixin-plugin-wangluohuoyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/service/IFleetMemberInfoService.java
  25. 11 1
      winsea-haixin-plugin-wangluohuoyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/service/IOrderInfoService.java
  26. 108 1
      winsea-haixin-plugin-wangluohuoyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/service/impl/CommonRouteServiceImpl.java
  27. 10 20
      winsea-haixin-plugin-wangluohuoyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/service/impl/EvaluateInfoServiceImpl.java
  28. 175 0
      winsea-haixin-plugin-wangluohuoyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/service/impl/FleetInfoServiceImpl.java
  29. 358 0
      winsea-haixin-plugin-wangluohuoyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/service/impl/FleetMemberInfoServiceImpl.java
  30. 32 0
      winsea-haixin-plugin-wangluohuoyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/service/impl/OrderInfoServiceImpl.java
  31. 1 0
      winsea-haixin-plugin-wangluohuoyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/service/impl/PublishTaskInfoServiceImpl.java
  32. 188 0
      winsea-haixin-plugin-wangluohuoyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/util/CheckTxtUtil.java
  33. 134 203
      winsea-haixin-plugin-wangluohuoyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/util/PdfUtil.java
  34. 104 0
      winsea-haixin-plugin-wangluohuoyun/src/main/resources/mapper/CommonRouteMapper.xml
  35. 10 32
      winsea-haixin-plugin-wangluohuoyun/src/main/resources/mapper/EvaluateInfoMapper.xml
  36. 56 0
      winsea-haixin-plugin-wangluohuoyun/src/main/resources/mapper/FleetInfoMapper.xml
  37. 155 0
      winsea-haixin-plugin-wangluohuoyun/src/main/resources/mapper/FleetMemberInfoMapper.xml
  38. 3 1
      winsea-haixin-plugin-wangluohuoyun/src/main/resources/mapper/OrderInfoMapper.xml

+ 6 - 0
winsea-haixin-platform-backend/src/main/resources/application.yml

@@ -90,6 +90,12 @@ auth:
     - /companyInfo/**/*
     - /orderInfo/*
     - /orderInfo/**/*
+    - /commonRoute/*
+    - /commonRoute/**/*
+    - /fleetInfo/*
+    - /fleetInfo/**/*
+    - /fleetMemberInfo/*
+    - /fleetMemberInfo/**/*
     - /feedbackReport/*
     - /feedbackReport/**/*
     - /evaluateInfo/*

BIN
winsea-haixin-platform-backend/src/main/resources/templates/Contract.pdf


BIN
winsea-haixin-platform-backend/src/main/resources/templates/Contract1.pdf


BIN
winsea-haixin-platform-backend/src/main/resources/templates/TranContract.pdf


BIN
winsea-haixin-platform-backend/src/main/resources/templates/TranContract1.pdf


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

@@ -204,6 +204,16 @@ public enum StatusEnum {
     PLATFORM_FAILED("3", "已驳回", "passed"),
     PLATFORM_COMPLETED("5", "生效中", "Completed"),
 
+    //车队状态
+    FLEET_EXAMINE("1", "审核中", "fleet_examine"),
+    FLEET_REJECT("3", "已驳回", "fleet_reject"),
+    FLEET_ADOPT("5", "已通过", "fleet_adopt"),
+
+    //车队成员状态
+    FLEETMEMBER_APPLY("1", "已申请", "fleetmember_apply"),
+    FLEETMEMBER_REJECT("3", "已拒绝", "fleetmember_reject"),
+    FLEETMEMBER_JOIN("5", "已加入", "fleetmember_join"),
+
     ;
     @Getter
     private String flag;

+ 65 - 2
winsea-haixin-plugin-wangluohuoyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/controller/CommonRouteController.java

@@ -1,9 +1,12 @@
 package com.yh.saas.plugin.yiliangyiyun.controller;
 
 
-import org.springframework.web.bind.annotation.RequestMapping;
+import com.baomidou.mybatisplus.plugins.Page;
+import com.yh.saas.plugin.yiliangyiyun.entity.CommonRoute;
+import com.yh.saas.plugin.yiliangyiyun.service.ICommonRouteService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
 
-import org.springframework.web.bind.annotation.RestController;
 
 /**
  * <p>
@@ -17,5 +20,65 @@ import org.springframework.web.bind.annotation.RestController;
 @RequestMapping("/commonRoute")
 public class CommonRouteController {
 
+    @Autowired
+    private ICommonRouteService commonRouteService;
+
+    /**
+     * 添加常用路线
+     * @param commonRoute
+     * @return
+     */
+    @PostMapping("/api/add")
+    public String add(@RequestBody CommonRoute commonRoute){
+        return commonRouteService.add(commonRoute);
+    }
+
+    /**
+     * 编辑常用路线
+     * @param commonRoute
+     * @return
+     */
+    @PostMapping("/api/edit")
+    public String edit(@RequestBody CommonRoute commonRoute) {
+        return commonRouteService.edit(commonRoute);
+    }
+
+    /**
+     * 删除常用路线
+     * @param commonRoute
+     */
+    @PostMapping("/api/delete")
+    public void delete(@RequestBody CommonRoute commonRoute){
+        commonRouteService.delete(commonRoute.getId());
+    }
+
+    /**
+     * 查看常用路线
+     * @param commonRoute
+     */
+    @GetMapping("/get")
+    public CommonRoute get(CommonRoute commonRoute){
+       return commonRouteService.get(commonRoute);
+    }
+
+    /**
+     * 常用路线列表
+     * @param commonRoute
+     * @return
+     */
+    @GetMapping("/select")
+    public Page<CommonRoute> select(CommonRoute commonRoute){
+        return commonRouteService.select(commonRoute);
+    }
+
+    /**
+     * 司机列表
+     * @param commonRoute
+     * @return
+     */
+    @GetMapping("/driverList")
+    public Page<CommonRoute> driverList(CommonRoute commonRoute){
+        return commonRouteService.driverList(commonRoute);
+    }
 }
 

+ 58 - 2
winsea-haixin-plugin-wangluohuoyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/controller/FleetInfoController.java

@@ -1,9 +1,13 @@
 package com.yh.saas.plugin.yiliangyiyun.controller;
 
 
-import org.springframework.web.bind.annotation.RequestMapping;
+import com.baomidou.mybatisplus.plugins.Page;
+import com.yh.saas.plugin.yiliangyiyun.entity.FleetInfo;
+import com.yh.saas.plugin.yiliangyiyun.service.IFleetInfoService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
 
-import org.springframework.web.bind.annotation.RestController;
+import java.util.List;
 
 /**
  * <p>
@@ -17,5 +21,57 @@ import org.springframework.web.bind.annotation.RestController;
 @RequestMapping("/fleetInfo")
 public class FleetInfoController {
 
+    @Autowired
+    private IFleetInfoService fleetInfoService;
+
+    /**
+     * 添加车队
+     * @param fleetInfo
+     * @return
+     */
+    @PostMapping("/api/addFleetInfo")
+    public String addFleetInfo(@RequestBody FleetInfo fleetInfo){
+        return fleetInfoService.addFleetInfo(fleetInfo);
+    }
+
+    /**
+     * 编辑车队
+     * @param fleetInfo
+     * @return
+     */
+    @PostMapping("/api/editFleetInfo")
+    public String editFleetInfo(@RequestBody FleetInfo fleetInfo) {
+        return fleetInfoService.editFleetInfo(fleetInfo);
+    }
+
+    /**
+     * 车队详情
+     * @param fleetInfo
+     * @return
+     */
+    @GetMapping("/getFleetInfo")
+    public FleetInfo getFleetInfo(FleetInfo fleetInfo) {
+        return fleetInfoService.getFleetInfo(fleetInfo);
+    }
+
+    /**
+     * 车队列表
+     * @param fleetInfo
+     * @return
+     */
+    @GetMapping("/selectFleetInfo")
+    public Page<FleetInfo> selectFleetInfo(FleetInfo fleetInfo){
+        return fleetInfoService.selectFleetInfo(fleetInfo);
+    }
+
+    /**
+     * 邀请车队列表
+     * @param fleetInfo
+     * @return
+     */
+    @GetMapping("/fleetInfos")
+    public List<FleetInfo> fleetInfos(FleetInfo fleetInfo){
+        return fleetInfoService.fleetInfos(fleetInfo);
+    }
 }
 

+ 107 - 3
winsea-haixin-plugin-wangluohuoyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/controller/FleetMemberInfoController.java

@@ -1,9 +1,11 @@
 package com.yh.saas.plugin.yiliangyiyun.controller;
 
 
-import org.springframework.web.bind.annotation.RequestMapping;
-
-import org.springframework.web.bind.annotation.RestController;
+import com.baomidou.mybatisplus.plugins.Page;
+import com.yh.saas.plugin.yiliangyiyun.entity.FleetMemberInfo;
+import com.yh.saas.plugin.yiliangyiyun.service.IFleetMemberInfoService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
 
 /**
  * <p>
@@ -17,5 +19,107 @@ import org.springframework.web.bind.annotation.RestController;
 @RequestMapping("/fleetMemberInfo")
 public class FleetMemberInfoController {
 
+    @Autowired
+    private IFleetMemberInfoService fleetMemberInfoService;
+
+    /**
+     * 我的车队
+     * @param fleetMemberInfo
+     * @return
+     */
+    @GetMapping("/selectMyFleetInfo")
+    public Page<FleetMemberInfo> selectMyFleetInfo(FleetMemberInfo fleetMemberInfo){
+        return fleetMemberInfoService.selectMyFleetInfo(fleetMemberInfo);
+    }
+
+    /**
+     * 加入/邀请
+     * @param fleetMemberInfo
+     * @return
+     */
+    @PostMapping("/api/addFleetMemberInfo")
+    public String addFleetMemberInfo(@RequestBody FleetMemberInfo fleetMemberInfo){
+        return fleetMemberInfoService.addFleetMemberInfo(fleetMemberInfo);
+    }
+
+    /**
+     * 入队申请/车队邀请
+     * @param fleetMemberInfo
+     * @return
+     */
+    @GetMapping("/selectFleetMemberInfo")
+    public Page<FleetMemberInfo> selectFleetMemberInfo(FleetMemberInfo fleetMemberInfo){
+        return fleetMemberInfoService.selectFleetMemberInfo(fleetMemberInfo);
+    }
+
+    /**
+     * 接受/通过/拒绝
+     * @param fleetMemberInfo
+     * @return
+     */
+    @PostMapping("/api/editFleetMemberInfo")
+    public String editFleetMemberInfo(@RequestBody FleetMemberInfo fleetMemberInfo) {
+        return fleetMemberInfoService.editFleetMemberInfo(fleetMemberInfo);
+    }
+
+    /**
+     * 删除成员/删除/退出车队
+     * @param fleetMemberInfo
+     */
+    @PostMapping("/api/delete")
+    public void delete(@RequestBody FleetMemberInfo fleetMemberInfo){
+        fleetMemberInfoService.delete(fleetMemberInfo);
+    }
+
+    /**
+     * 转移队长
+     * @param fleetMemberInfo
+     * @return
+     */
+    @PostMapping("/api/transferLeader")
+    public String transferLeader(@RequestBody FleetMemberInfo fleetMemberInfo) {
+        return fleetMemberInfoService.transferLeader(fleetMemberInfo);
+    }
+
+    /**
+     * 入队申请已读/车队邀请已读/公告已读
+     * @param fleetMemberInfo
+     * @return
+     */
+    @PostMapping("/api/read")
+    public String read(@RequestBody FleetMemberInfo fleetMemberInfo) {
+        return fleetMemberInfoService.read(fleetMemberInfo);
+    }
+
+    /**
+     * 我的车队入队申请红点
+     * @param fleetMemberInfo
+     * @return
+     */
+    @GetMapping("/redDot")
+    public FleetMemberInfo redDot(FleetMemberInfo fleetMemberInfo) {
+        return fleetMemberInfoService.redDot(fleetMemberInfo);
+    }
+
+    /**
+     * 车队成员列表
+     * @param fleetMemberInfo
+     * @return
+     */
+    @GetMapping("/selectFleetMember")
+    public Page<FleetMemberInfo> selectFleetMember(FleetMemberInfo fleetMemberInfo){
+        return fleetMemberInfoService.selectFleetMember(fleetMemberInfo);
+    }
+
+    /**
+     * 入队申请/车队邀请列表删除
+     * @param fleetMemberInfo
+     * @return
+     */
+    @PostMapping("/api/listDelete")
+    public String listDelete(@RequestBody FleetMemberInfo fleetMemberInfo) {
+        return fleetMemberInfoService.listDelete(fleetMemberInfo);
+    }
+
 }
 

+ 2 - 5
winsea-haixin-plugin-wangluohuoyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/controller/OrderInfoController.java

@@ -5,7 +5,6 @@ import com.baomidou.mybatisplus.plugins.Page;
 import com.itextpdf.text.DocumentException;
 import com.yh.saas.plugin.yiliangyiyun.entity.OrderInfo;
 import com.yh.saas.plugin.yiliangyiyun.service.IOrderInfoService;
-import com.yh.saas.plugin.yiliangyiyun.util.XmlUtil;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 
@@ -153,15 +152,13 @@ public class OrderInfoController {
     }
 
     /**
-     * pdf
+     * 司机签合同
      * @param orderInfo
      * @return
      */
     @GetMapping("/setPdf")
     public String setPdf( OrderInfo orderInfo) throws DocumentException, IOException, URISyntaxException {
-//            return orderInfoService.setPdf(orderInfo);
-            String url = "https://taohaoliang.oss-cn-beijing.aliyuncs.com/contractPdf/0193b7756ce74e619c6f7d54fe42ca28.pdf";
-            return url;
+        return orderInfoService.setPdf(orderInfo);
     }
 
 }

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

@@ -1,5 +1,6 @@
 package com.yh.saas.plugin.yiliangyiyun.entity;
 
+import com.baomidou.mybatisplus.annotations.TableField;
 import com.baomidou.mybatisplus.annotations.TableId;
 import com.baomidou.mybatisplus.annotations.TableName;
 import com.baomidou.mybatisplus.enums.IdType;
@@ -9,6 +10,7 @@ import lombok.EqualsAndHashCode;
 import lombok.experimental.Accessors;
 
 import java.io.Serializable;
+import java.util.List;
 
 /**
  * <p>
@@ -68,6 +70,16 @@ public class CommonRoute extends BaseModel<CommonRoute> {
      */
     private String unloadArea;
 
+    /**
+     * 起始地
+     */
+    @TableField(exist = false)
+    private String startAdress;
+    /**
+     * 终到地
+     */
+    @TableField(exist = false)
+    private String endAdress;
 
     @Override
     protected Serializable pkVal() {

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

@@ -63,6 +63,10 @@ public class DriverInfo extends BaseModel<DriverInfo> {
      * 司机电话
      */
     private String driverPhone;
+    /**
+     * 通讯地址
+     */
+    private String postalAddress;
     /**
      * 司机身份证号码
      */

+ 4 - 4
winsea-haixin-plugin-wangluohuoyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/entity/EvaluateInfo.java

@@ -34,13 +34,13 @@ public class EvaluateInfo extends BaseModel<EvaluateInfo> {
     @TableId(type = IdType.UUID)
     private String id;
     /**
-     * 司机用户id
+     * 评价人用户id
      */
-    private String driverId;
+    private String evaluatorId;
     /**
-     * 货主用户id
+     * 被评价人用户id
      */
-    private String ownerId;
+    private String evaluatoredId;
     /**
      * 司机姓名
      */

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

@@ -45,7 +45,7 @@ public class FeedbackReport extends BaseModel<FeedbackReport> {
      */
     private String url;
     /**
-     * 标识(1反馈2举报)
+     * 标识(1反馈2举报人3举报车队
      */
     private String flag;
 

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

@@ -1,5 +1,6 @@
 package com.yh.saas.plugin.yiliangyiyun.entity;
 
+import com.baomidou.mybatisplus.annotations.TableField;
 import com.baomidou.mybatisplus.annotations.TableId;
 import com.baomidou.mybatisplus.annotations.TableName;
 import com.baomidou.mybatisplus.enums.IdType;
@@ -9,6 +10,7 @@ import lombok.EqualsAndHashCode;
 import lombok.experimental.Accessors;
 
 import java.io.Serializable;
+import java.util.List;
 
 /**
  * <p>
@@ -79,7 +81,41 @@ public class FleetInfo extends BaseModel<FleetInfo> {
      * 状态
      */
     private String status;
-
+    /**
+     * 车队成员信息
+     */
+    @TableField(exist = false)
+    private FleetMemberInfo fleetMemberInfo;
+    /**
+     * 车队成员信息列表
+     */
+    @TableField(exist = false)
+    private List<FleetMemberInfo> fleetMemberInfoList;
+    /**
+     * 模糊查询
+     */
+    @TableField(exist = false)
+    private String searchKeyWord;
+    /**
+     * 车队成员人数
+     */
+    @TableField(exist = false)
+    private float fleetMemberNum;
+    /**
+     * 车队成员状态
+     */
+    @TableField(exist = false)
+    private String fleetMemberStatus;
+    /**
+     * 编辑标识(1发公告2设置车队)
+     */
+    @TableField(exist = false)
+    private String flag;
+    /**
+     * 车队成员头像
+     */
+    @TableField(exist = false)
+    private String fleetMemberUrl;
 
     @Override
     protected Serializable pkVal() {

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

@@ -1,5 +1,6 @@
 package com.yh.saas.plugin.yiliangyiyun.entity;
 
+import com.baomidou.mybatisplus.annotations.TableField;
 import com.baomidou.mybatisplus.annotations.TableId;
 import com.baomidou.mybatisplus.annotations.TableName;
 import com.baomidou.mybatisplus.enums.IdType;
@@ -9,6 +10,7 @@ import lombok.EqualsAndHashCode;
 import lombok.experimental.Accessors;
 
 import java.io.Serializable;
+import java.util.List;
 
 /**
  * <p>
@@ -50,7 +52,7 @@ public class FleetMemberInfo extends BaseModel<FleetMemberInfo> {
     /**
      * 队长标识(1是)
      */
-    private String captainFlag;
+    private Long captainFlag;
     /**
      * 状态key(1已申请3已拒绝5已加入)
      */
@@ -59,6 +61,97 @@ public class FleetMemberInfo extends BaseModel<FleetMemberInfo> {
      * 状态
      */
     private String status;
+    /**
+     * 入队申请已读标识(0未读1已读)
+     */
+    private String teamApplication;
+    /**
+     * 车队邀请已读标识(0未读1已读)
+     */
+    private String fleetInvitation;
+    /**
+     * 公告已读标识(0未读1已读)
+     */
+    private String announcement;
+    /**
+     * 列表展示删除标识(1已删除)
+     */
+    private Long exhibitionDeleteFlag;
+    /**
+     * 模糊查询
+     */
+    @TableField(exist = false)
+    private String searchKeyWord;
+    /**
+     * 车队成员人数
+     */
+    @TableField(exist = false)
+    private float fleetMemberNum;
+    /**
+     * 车队名称
+     */
+    @TableField(exist = false)
+    private String fleetName;
+    /**
+     * 常驻省
+     */
+    @TableField(exist = false)
+    private String province;
+    /**
+     * 常驻市
+     */
+    @TableField(exist = false)
+    private String city;
+    /**
+     * 常驻区
+     */
+    @TableField(exist = false)
+    private String area;
+    /**
+     * 封面照片
+     */
+    @TableField(exist = false)
+    private String coverUrl;
+    /**
+     * 车队状态
+     */
+    @TableField(exist = false)
+    private String fleetStatus;
+    /**
+     * id列表
+     */
+    @TableField(exist = false)
+    private List<String> idList;
+    /**
+     * 标识(1入队申请2车队邀请)
+     */
+    @TableField(exist = false)
+    private String flag;
+    /**
+     * 审核标识(1通过2拒绝)
+     */
+    @TableField(exist = false)
+    private String examineFlag;
+    /**
+     * 被转移人id
+     */
+    @TableField(exist = false)
+    private String transferId;
+    /**
+     * 加入邀请标识(1加入2邀请)
+     */
+    @TableField(exist = false)
+    private String joinFlag;
+    /**
+     * 删除成员/删除/退出车队标识(1退出车队)
+     */
+    @TableField(exist = false)
+    private String outFlag;
+    /**
+     * 已读标识(1入队申请2车队邀请3公告)
+     */
+    @TableField(exist = false)
+    private String readFlag;
 
 
     @Override

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

@@ -4,12 +4,15 @@ import com.baomidou.mybatisplus.annotations.TableField;
 import com.baomidou.mybatisplus.annotations.TableId;
 import com.baomidou.mybatisplus.annotations.TableName;
 import com.baomidou.mybatisplus.enums.IdType;
+import com.fasterxml.jackson.annotation.JsonFormat;
 import com.yh.saas.common.support.entity.BaseModel;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
 import lombok.experimental.Accessors;
+import org.springframework.format.annotation.DateTimeFormat;
 
 import java.io.Serializable;
+import java.util.Date;
 import java.util.List;
 
 /**
@@ -37,6 +40,10 @@ public class OrderInfo extends BaseModel<OrderInfo> {
      * 公司id
      */
     private String compId;
+    /**
+     * 任务id
+     */
+    private String taskId;
     /**
      * 司机用户id
      */
@@ -203,6 +210,14 @@ public class OrderInfo extends BaseModel<OrderInfo> {
      * 货主签名地址
      */
     private String cargoOwnerAutograph;
+    /**
+     * 司机合同地址
+     */
+    private String driverContractUrl;
+    /**
+     * 货主合同地址
+     */
+    private String ownerContractUrl;
 
     @TableField(exist = false)
     private List<OrderInfo> orderInfoList;
@@ -360,6 +375,56 @@ public class OrderInfo extends BaseModel<OrderInfo> {
      */
     @TableField(exist = false)
     private Integer zong;
+    /**
+     * 车辆信息
+     */
+    @TableField(exist = false)
+    private List<DriverCarInfo> driverCarInfos;
+    /**
+     * 司机id
+     */
+    @TableField(exist = false)
+    private String driverId;
+
+    /**
+     * 挂车号
+     */
+    @TableField(exist = false)
+    private String trailerNumber;
+    /**
+     * 开始日期
+     */
+    @TableField(exist = false)
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    @DateTimeFormat(pattern = "yyyy-MM-dd")
+    private Date startDates;
+    /**
+     * 结束日期
+     */
+    @TableField(exist = false)
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    @DateTimeFormat(pattern = "yyyy-MM-dd")
+    private Date endDates;
+    /**
+     * 联络人姓名
+     */
+    @TableField(exist = false)
+    private String contactPersonName;
+    /**
+     * 联络人电话
+     */
+    @TableField(exist = false)
+    private String contactPersonPhone;
+    /**
+     * 运费(元/车)
+     */
+    @TableField(exist = false)
+    private String freightCars;
+    /**
+     * 装车后预付款
+     */
+    @TableField(exist = false)
+    private Float advanceCharge;
 
     @Override
     protected Serializable pkVal() {

+ 9 - 0
winsea-haixin-plugin-wangluohuoyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/exception/YExceptionEnum.java

@@ -45,6 +45,15 @@ public enum YExceptionEnum {
 	CERTIFICATE_EXPIRED("ERROR010", "相关证件已过期,请到“我的-司机认证”中更新证件。"),
 	TASK_CANCELLED("ERROR011", "任务已撤销!"),
 	ORDER_SNATCHED("ERROR012", "已抢单,请等待货主确认!"),
+	FLEET_CEILING("ERROR100", "最多可加入200个车队!"),
+	FLEET_NULL("ERROR101", "无可邀请的车队!"),
+	ALREADY_FLEET("ERROR102", "对方已在该车队中!"),
+	PEOPLE_NUMBER_MAX("ERROR103", "人数已达上限!"),
+	FLEET_MAX("ERROR104", "最多可创建50个车队!"),
+	TRANSFER_TEAM_LEADER("ERROR105", "请先转移队长身份!"),
+	FLEET_DISSOLUTION("ERROR106", "车队已解散!"),
+	ALREADY_INVITATION("ERROR107", "对方已经被邀请!"),
+	NOTICE_NON_CONFORMANCE("ERROR108", "公告内容不符合要求!"),
 	;
 	@Getter
 	private String value;

+ 36 - 0
winsea-haixin-plugin-wangluohuoyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/mapper/CommonRouteMapper.java

@@ -2,6 +2,10 @@ package com.yh.saas.plugin.yiliangyiyun.mapper;
 
 import com.yh.saas.plugin.yiliangyiyun.entity.CommonRoute;
 import com.baomidou.mybatisplus.mapper.BaseMapper;
+import com.yh.saas.plugin.yiliangyiyun.entity.DriverInfo;
+
+import java.util.List;
+import java.util.Map;
 
 /**
  * <p>
@@ -13,4 +17,36 @@ import com.baomidou.mybatisplus.mapper.BaseMapper;
  */
 public interface CommonRouteMapper extends BaseMapper<CommonRoute> {
 
+    /**
+     * 根据条件查询常用路线总数
+     *
+     * @param pageView
+     * @return
+     */
+    Integer getCountByCondition(Map<String, Object> pageView);
+
+    /**
+     * 根据条件查询常用路线列表
+     *
+     * @param pageView
+     * @return
+     */
+    List<CommonRoute> getListByCondition(Map<String, Object> pageView);
+
+
+    /**
+     * 根据条件查询车友司机路线总数
+     *
+     * @param pageView
+     * @return
+     */
+    Integer getCountByDriverCondition(Map<String, Object> pageView);
+
+    /**
+     * 根据条件查询常用车友司机列表
+     *
+     * @param pageView
+     * @return
+     */
+    List<CommonRoute> getListByDriverCondition(Map<String, Object> pageView);
 }

+ 21 - 0
winsea-haixin-plugin-wangluohuoyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/mapper/FleetInfoMapper.java

@@ -1,7 +1,13 @@
 package com.yh.saas.plugin.yiliangyiyun.mapper;
 
+import com.baomidou.mybatisplus.plugins.Page;
+import com.yh.saas.plugin.yiliangyiyun.entity.CommonRoute;
 import com.yh.saas.plugin.yiliangyiyun.entity.FleetInfo;
 import com.baomidou.mybatisplus.mapper.BaseMapper;
+import org.springframework.web.bind.annotation.RequestBody;
+
+import java.util.List;
+import java.util.Map;
 
 /**
  * <p>
@@ -13,4 +19,19 @@ import com.baomidou.mybatisplus.mapper.BaseMapper;
  */
 public interface FleetInfoMapper extends BaseMapper<FleetInfo> {
 
+    /**
+     * 根据条件查询车队总数
+     *
+     * @param pageView
+     * @return
+     */
+    Integer getCountByCondition(Map<String, Object> pageView);
+
+    /**
+     * 根据条件查询车队列表
+     *
+     * @param pageView
+     * @return
+     */
+    List<FleetInfo> getListByCondition(Map<String, Object> pageView);
 }

+ 64 - 0
winsea-haixin-plugin-wangluohuoyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/mapper/FleetMemberInfoMapper.java

@@ -3,6 +3,9 @@ package com.yh.saas.plugin.yiliangyiyun.mapper;
 import com.yh.saas.plugin.yiliangyiyun.entity.FleetMemberInfo;
 import com.baomidou.mybatisplus.mapper.BaseMapper;
 
+import java.util.List;
+import java.util.Map;
+
 /**
  * <p>
  * 车队成员信息 Mapper 接口
@@ -13,4 +16,65 @@ import com.baomidou.mybatisplus.mapper.BaseMapper;
  */
 public interface FleetMemberInfoMapper extends BaseMapper<FleetMemberInfo> {
 
+    /**
+     * 根据条件查询车队总数
+     *
+     * @param pageView
+     * @return
+     */
+    Integer getCountByCondition(Map<String, Object> pageView);
+
+    /**
+     * 根据条件查询车队列表
+     *
+     * @param pageView
+     * @return
+     */
+    List<FleetMemberInfo> getListByCondition(Map<String, Object> pageView);
+    /**
+     * 根据条件查询入队申请总数
+     *
+     * @param pageView
+     * @return
+     */
+    Integer getTeamApplicationCountByCondition(Map<String, Object> pageView);
+
+    /**
+     * 根据条件查询入队申请列表
+     *
+     * @param pageView
+     * @return
+     */
+    List<FleetMemberInfo> getTeamApplicationListByCondition(Map<String, Object> pageView);
+    /**
+     * 根据条件查询车队邀请总数
+     *
+     * @param pageView
+     * @return
+     */
+    Integer getTeamInvitationCountByCondition(Map<String, Object> pageView);
+
+    /**
+     * 根据条件查询车队邀请列表
+     *
+     * @param pageView
+     * @return
+     */
+    List<FleetMemberInfo> getTeamInvitationListByCondition(Map<String, Object> pageView);
+
+    /**
+     * 根据条件查询车队成员总数
+     *
+     * @param pageView
+     * @return
+     */
+    Integer getCountByMemberCondition(Map<String, Object> pageView);
+
+    /**
+     * 根据条件查询车队成员列表
+     *
+     * @param pageView
+     * @return
+     */
+    List<FleetMemberInfo> getListByMemberCondition(Map<String, Object> pageView);
 }

+ 44 - 0
winsea-haixin-plugin-wangluohuoyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/service/ICommonRouteService.java

@@ -1,7 +1,11 @@
 package com.yh.saas.plugin.yiliangyiyun.service;
 
+
+import com.baomidou.mybatisplus.plugins.Page;
 import com.yh.saas.plugin.yiliangyiyun.entity.CommonRoute;
 import com.baomidou.mybatisplus.service.IService;
+import org.springframework.web.bind.annotation.RequestBody;
+
 
 /**
  * <p>
@@ -13,4 +17,44 @@ import com.baomidou.mybatisplus.service.IService;
  */
 public interface ICommonRouteService extends IService<CommonRoute> {
 
+    /**
+     * 添加常用路线
+     * @param commonRoute
+     * @return
+     */
+    String add(CommonRoute commonRoute);
+
+    /**
+     * 编辑常用路线
+     * @param commonRoute
+     * @return
+     */
+    String edit(CommonRoute commonRoute);
+
+    /**
+     * 删除常用路线
+     * @param id
+     */
+    void delete(String id);
+
+    /**
+     * 查看常用路线
+     * @param commonRoute
+     */
+    CommonRoute get(CommonRoute commonRoute);
+
+    /**
+     * 常用路线列表
+     * @param commonRoute
+     * @return
+     */
+    Page<CommonRoute> select(CommonRoute commonRoute);
+
+
+    /**
+     * 司机列表
+     * @param commonRoute
+     * @return
+     */
+    Page<CommonRoute> driverList(CommonRoute commonRoute);
 }

+ 37 - 0
winsea-haixin-plugin-wangluohuoyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/service/IFleetInfoService.java

@@ -1,8 +1,11 @@
 package com.yh.saas.plugin.yiliangyiyun.service;
 
+import com.baomidou.mybatisplus.plugins.Page;
 import com.yh.saas.plugin.yiliangyiyun.entity.FleetInfo;
 import com.baomidou.mybatisplus.service.IService;
 
+import java.util.List;
+
 /**
  * <p>
  * 车队信息 服务类
@@ -13,4 +16,38 @@ import com.baomidou.mybatisplus.service.IService;
  */
 public interface IFleetInfoService extends IService<FleetInfo> {
 
+    /**
+     * 添加车队
+     * @param fleetInfo
+     * @return
+     */
+    String addFleetInfo(FleetInfo fleetInfo);
+
+    /**
+     * 编辑车队
+     * @param fleetInfo
+     * @return
+     */
+    String editFleetInfo(FleetInfo fleetInfo);
+
+    /**
+     * 车队详情
+     * @param fleetInfo
+     * @return
+     */
+    FleetInfo getFleetInfo(FleetInfo fleetInfo);
+
+    /**
+     * 车队列表
+     * @param fleetInfo
+     * @return
+     */
+    Page<FleetInfo> selectFleetInfo(FleetInfo fleetInfo);
+
+    /**
+     * 邀请车队列表
+     * @param fleetInfo
+     * @return
+     */
+    List<FleetInfo> fleetInfos(FleetInfo fleetInfo);
 }

+ 70 - 0
winsea-haixin-plugin-wangluohuoyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/service/IFleetMemberInfoService.java

@@ -1,8 +1,10 @@
 package com.yh.saas.plugin.yiliangyiyun.service;
 
+import com.baomidou.mybatisplus.plugins.Page;
 import com.yh.saas.plugin.yiliangyiyun.entity.FleetMemberInfo;
 import com.baomidou.mybatisplus.service.IService;
 
+
 /**
  * <p>
  * 车队成员信息 服务类
@@ -13,4 +15,72 @@ import com.baomidou.mybatisplus.service.IService;
  */
 public interface IFleetMemberInfoService extends IService<FleetMemberInfo> {
 
+    /**
+     * 我的车队
+     * @param fleetMemberInfo
+     * @return
+     */
+    Page<FleetMemberInfo> selectMyFleetInfo(FleetMemberInfo fleetMemberInfo);
+
+    /**
+     * 加入/邀请
+     * @param fleetMemberInfo
+     * @return
+     */
+    String addFleetMemberInfo(FleetMemberInfo fleetMemberInfo);
+
+    /**
+     * 入队申请/车队邀请
+     * @param fleetMemberInfo
+     * @return
+     */
+    Page<FleetMemberInfo> selectFleetMemberInfo(FleetMemberInfo fleetMemberInfo);
+
+    /**
+     * 接受/通过/拒绝
+     * @param fleetMemberInfo
+     * @return
+     */
+    String editFleetMemberInfo(FleetMemberInfo fleetMemberInfo);
+
+    /**
+     * 删除成员/删除/退出车队
+     * @param fleetMemberInfo
+     */
+    void delete(FleetMemberInfo fleetMemberInfo);
+
+    /**
+     * 转移队长
+     * @param fleetMemberInfo
+     * @return
+     */
+    String transferLeader(FleetMemberInfo fleetMemberInfo);
+
+    /**
+     * 入队申请已读/车队邀请已读/公告已读
+     * @param fleetMemberInfo
+     * @return
+     */
+    String read(FleetMemberInfo fleetMemberInfo);
+
+    /**
+     * 我的车队入队申请红点
+     * @param fleetMemberInfo
+     * @return
+     */
+    FleetMemberInfo redDot(FleetMemberInfo fleetMemberInfo);
+
+    /**
+     * 车队成员列表
+     * @param fleetMemberInfo
+     * @return
+     */
+    Page<FleetMemberInfo> selectFleetMember(FleetMemberInfo fleetMemberInfo);
+
+    /**
+     * 入队申请/车队邀请列表删除
+     * @param fleetMemberInfo
+     * @return
+     */
+    String listDelete(FleetMemberInfo fleetMemberInfo);
 }

+ 11 - 1
winsea-haixin-plugin-wangluohuoyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/service/IOrderInfoService.java

@@ -1,8 +1,12 @@
 package com.yh.saas.plugin.yiliangyiyun.service;
 
 import com.baomidou.mybatisplus.plugins.Page;
+import com.itextpdf.text.DocumentException;
 import com.yh.saas.plugin.yiliangyiyun.entity.OrderInfo;
 import com.baomidou.mybatisplus.service.IService;
+
+import java.io.IOException;
+import java.net.URISyntaxException;
 import java.util.List;
 
 /**
@@ -82,7 +86,13 @@ public interface IOrderInfoService extends IService<OrderInfo> {
      */
     String examine(OrderInfo orderInfo);
 
-
     OrderInfo selectHaoPing(String commonId);
 
+    /**
+     * 司机签合同
+     * @param orderInfo
+     * @return
+     */
+    String setPdf( OrderInfo orderInfo) throws DocumentException, IOException, URISyntaxException;
+
 }

+ 108 - 1
winsea-haixin-plugin-wangluohuoyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/service/impl/CommonRouteServiceImpl.java

@@ -1,11 +1,17 @@
 package com.yh.saas.plugin.yiliangyiyun.service.impl;
 
-import com.yh.saas.plugin.yiliangyiyun.entity.CommonRoute;
+import com.baomidou.mybatisplus.plugins.Page;
+import com.google.common.collect.Lists;
+import com.yh.saas.common.support.util.IdGenerator;
+import com.yh.saas.plugin.yiliangyiyun.entity.*;
 import com.yh.saas.plugin.yiliangyiyun.mapper.CommonRouteMapper;
 import com.yh.saas.plugin.yiliangyiyun.service.ICommonRouteService;
 import com.baomidou.mybatisplus.service.impl.ServiceImpl;
 import org.springframework.stereotype.Service;
 
+import java.util.*;
+import java.util.stream.Collectors;
+
 /**
  * <p>
  * 常用路线信息 服务实现类
@@ -17,4 +23,105 @@ import org.springframework.stereotype.Service;
 @Service
 public class CommonRouteServiceImpl extends ServiceImpl<CommonRouteMapper, CommonRoute> implements ICommonRouteService {
 
+    /**
+     * 添加常用路线
+     * @param commonRoute
+     * @return
+     */
+    @Override
+    public String add(CommonRoute commonRoute){
+        //新增主键id
+        commonRoute.setId(IdGenerator.generateUUID());
+        this.insert(commonRoute);
+        return "OK";
+    }
+
+    /**
+     * 编辑常用路线
+     * @param commonRoute
+     * @return
+     */
+    @Override
+    public String edit(CommonRoute commonRoute){
+        this.updateById(commonRoute);
+        return "OK";
+    }
+
+    /**
+     * 删除常用路线
+     * @param id
+     */
+    @Override
+    public void delete(String id){
+        CommonRoute commonRoute = this.selectById(id);
+        if (commonRoute != null) {
+            this.deleteById(commonRoute.getId());
+        }
+    }
+
+    /**
+     * 查看常用路线
+     * @param commonRoute
+     */
+    @Override
+    public CommonRoute get(CommonRoute commonRoute){
+        CommonRoute commonRoute1 = this.selectById(commonRoute.getId());
+        return commonRoute1;
+    }
+
+    /**
+     * 常用路线列表
+     * @param commonRoute
+     * @return
+     */
+    @Override
+    public Page<CommonRoute> select(CommonRoute commonRoute){
+        Map<String, Object> pageView = new HashMap<>(7);
+        pageView.put("startRecord", (commonRoute.getCurrentPage() - 1)
+                * commonRoute.getPageSize());
+        //用户id
+        pageView.put("commonId", commonRoute.getCommonId());
+        pageView.put("pageSize", commonRoute.getPageSize());
+        pageView.put("currentPage", commonRoute.getCurrentPage());
+        // 查询常用路线总数
+        Integer dataCount = baseMapper.getCountByCondition(pageView);
+        List<CommonRoute> dataList = baseMapper.getListByCondition(pageView);
+        Page<CommonRoute> page = new Page<>();
+        page.setRecords(dataList == null ? Lists.newArrayList() : dataList);
+        page.setTotal(dataCount == null ? 0 : dataCount);
+        page.setCurrent(commonRoute.getCurrentPage());
+        page.setSize(commonRoute.getPageSize());
+        return page;
+    }
+
+
+    /**
+     * 车友司机列表
+     * @param commonRoute
+     * @return
+     */
+    @Override
+    public Page<CommonRoute> driverList(CommonRoute commonRoute){
+        Map<String, Object> pageView = new HashMap<>(11);
+        pageView.put("startRecord", (commonRoute.getCurrentPage() - 1)
+                * commonRoute.getPageSize());
+        //模糊查询
+        pageView.put("sendProvince", commonRoute.getSendProvince());
+        pageView.put("sendCity", commonRoute.getSendCity());
+        pageView.put("sendArea", commonRoute.getSendArea());
+        pageView.put("unloadProvince", commonRoute.getUnloadProvince());
+        pageView.put("unloadCity", commonRoute.getUnloadCity());
+        pageView.put("unloadArea", commonRoute.getUnloadArea());
+        pageView.put("pageSize", commonRoute.getPageSize());
+        pageView.put("currentPage", commonRoute.getCurrentPage());
+        // 查询常用路线总数
+        Integer dataCount = baseMapper.getCountByDriverCondition(pageView);
+        List<CommonRoute> dataList = baseMapper.getListByDriverCondition(pageView);
+        Page<CommonRoute> page = new Page<>();
+        page.setRecords(dataList == null ? Lists.newArrayList() : dataList);
+        page.setTotal(dataCount == null ? 0 : dataCount);
+        page.setCurrent(commonRoute.getCurrentPage());
+        page.setSize(commonRoute.getPageSize());
+        return page;
+    }
 }

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

@@ -44,19 +44,9 @@ public class EvaluateInfoServiceImpl extends ServiceImpl<EvaluateInfoMapper, Eva
      */
     @Override
     public String addEvaluateInfo(EvaluateInfo evaluateInfo){
-        //根据订单编号查询评价
-        EvaluateInfo evaluateInfo1 = this.selectOne(new EntityWrapper<EvaluateInfo>()
-            .eq("order_number",evaluateInfo.getOrderNumber()).eq("delete_flag","0"));
-        //如果为空是新增
-        if (evaluateInfo1 == null){
-            //新增主键id
-            evaluateInfo.setId(IdGenerator.generateUUID());
-            this.insert(evaluateInfo);
-        }
-        else {
-            evaluateInfo.setId(evaluateInfo1.getId());
-            this.updateById(evaluateInfo);
-        }
+        //新增主键id
+        evaluateInfo.setId(IdGenerator.generateUUID());
+        this.insert(evaluateInfo);
         return "OK";
     }
 
@@ -72,8 +62,8 @@ public class EvaluateInfoServiceImpl extends ServiceImpl<EvaluateInfoMapper, Eva
         pageView.put("startRecord", (evaluateInfo.getCurrentPage() - 1)
                 * evaluateInfo.getPageSize());
         //用户id
-        pageView.put("driverId", evaluateInfo.getDriverId());
-        pageView.put("ownerId", evaluateInfo.getOwnerId());
+        pageView.put("evaluatorId", evaluateInfo.getEvaluatorId());
+        pageView.put("evaluatoredId", evaluateInfo.getEvaluatoredId());
         pageView.put("haoType", evaluateInfo.getHaoType());
         pageView.put("flag", evaluateInfo.getFlag());
         pageView.put("searchType", evaluateInfo.getSearchType());
@@ -85,14 +75,14 @@ public class EvaluateInfoServiceImpl extends ServiceImpl<EvaluateInfoMapper, Eva
         List<EvaluateInfo> dataList = baseMapper.getListByCondition(pageView);
 
         Map<String, Object> pageView1 = new HashMap<>(12);
-        pageView1.put("driverId", evaluateInfo.getDriverId());
-        pageView1.put("ownerId", evaluateInfo.getOwnerId());
+        pageView.put("evaluatorId", evaluateInfo.getEvaluatorId());
+        pageView.put("evaluatoredId", evaluateInfo.getEvaluatoredId());
         pageView1.put("haoType", "1");
         pageView1.put("flag", evaluateInfo.getFlag());
         Integer dataCount1 = baseMapper.getCountByCondition(pageView);
         Map<String, Object> pageView2 = new HashMap<>(12);
-        pageView2.put("driverId", evaluateInfo.getDriverId());
-        pageView2.put("ownerId", evaluateInfo.getOwnerId());
+        pageView.put("evaluatorId", evaluateInfo.getEvaluatorId());
+        pageView.put("evaluatoredId", evaluateInfo.getEvaluatoredId());
         pageView2.put("haoType", "2");
         pageView2.put("flag", evaluateInfo.getFlag());
         Integer dataCount2 = baseMapper.getCountByCondition(pageView);
@@ -104,7 +94,7 @@ public class EvaluateInfoServiceImpl extends ServiceImpl<EvaluateInfoMapper, Eva
                 evaluateInfo1.setChaCount(String.valueOf(dataCount2));
 
                 CommonUser commonUser1 = commonUserService.selectOne(new EntityWrapper<CommonUser>()
-                        .eq("id", dataList.get(i).getOwnerId()));
+                        .eq("id", dataList.get(i).getEvaluatoredId()));
                 if (commonUser1 != null) {
                     evaluateInfo1.setOwnerPortrait(commonUser1.getAvatarUrl());
                 }

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

@@ -1,11 +1,28 @@
 package com.yh.saas.plugin.yiliangyiyun.service.impl;
 
+import com.baomidou.mybatisplus.mapper.EntityWrapper;
+import com.baomidou.mybatisplus.plugins.Page;
+import com.google.common.collect.Lists;
+import com.yh.saas.common.support.util.IdGenerator;
+import com.yh.saas.plugin.yiliangyiyun.constant.StatusEnum;
 import com.yh.saas.plugin.yiliangyiyun.entity.FleetInfo;
+import com.yh.saas.plugin.yiliangyiyun.entity.FleetMemberInfo;
+import com.yh.saas.plugin.yiliangyiyun.exception.YException;
+import com.yh.saas.plugin.yiliangyiyun.exception.YExceptionEnum;
 import com.yh.saas.plugin.yiliangyiyun.mapper.FleetInfoMapper;
 import com.yh.saas.plugin.yiliangyiyun.service.IFleetInfoService;
 import com.baomidou.mybatisplus.service.impl.ServiceImpl;
+import com.yh.saas.plugin.yiliangyiyun.service.IFleetMemberInfoService;
+import com.yh.saas.plugin.yiliangyiyun.util.CheckTxtUtil;
+import org.apache.commons.collections.CollectionUtils;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
 /**
  * <p>
  * 车队信息 服务实现类
@@ -17,4 +34,162 @@ import org.springframework.stereotype.Service;
 @Service
 public class FleetInfoServiceImpl extends ServiceImpl<FleetInfoMapper, FleetInfo> implements IFleetInfoService {
 
+    @Autowired
+    private IFleetMemberInfoService fleetMemberInfoService;
+
+    /**
+     * 添加车队
+     * @param fleetInfo
+     * @return
+     */
+    @Override
+    public String addFleetInfo(FleetInfo fleetInfo){
+        //查询用户创建的车队数量
+        List<FleetInfo> fleetInfos = this.selectList(new EntityWrapper<FleetInfo>()
+        .eq("common_id",fleetInfo.getCommonId()).eq("delete_flag","0").ne("status_key","3"));
+        if (fleetInfos.size() == 51){
+            //最多创建50个车队
+            throw new YException(YExceptionEnum.FLEET_MAX);
+        }
+        //新增主键id
+        fleetInfo.setId(IdGenerator.generateUUID());
+        fleetInfo.setStatusKey(StatusEnum.FLEET_EXAMINE.getFlag());
+        fleetInfo.setStatus(StatusEnum.FLEET_EXAMINE.getName());
+        boolean one = this.insert(fleetInfo);
+        //新增车队成员信息
+        FleetMemberInfo fleetMemberInfo = fleetInfo.getFleetMemberInfo();
+        fleetMemberInfo.setId(IdGenerator.generateUUID());
+        fleetMemberInfo.setFleetId(fleetInfo.getId());
+        fleetMemberInfo.setCaptainFlag(Long.valueOf(1));
+        fleetMemberInfo.setStatusKey(StatusEnum.FLEETMEMBER_JOIN.getFlag());
+        fleetMemberInfo.setStatus(StatusEnum.FLEETMEMBER_JOIN.getName());
+        boolean two = fleetMemberInfoService.insert(fleetMemberInfo);
+        if (one && two){
+            return "OK";
+        }else {
+            return "NG";
+        }
+    }
+
+    /**
+     * 编辑车队/设置/发公告
+     * @param fleetInfo
+     * @return
+     */
+    @Override
+    public String editFleetInfo(FleetInfo fleetInfo){
+        //1发公告
+        if("1".equals(fleetInfo.getFlag())){
+//            boolean one = CheckTxtUtil.contains(fleetInfo.getNotice());
+//            if (one){
+//                //公告内容不符合要求
+//                throw new YException(YExceptionEnum.NOTICE_NON_CONFORMANCE);
+//            }
+            //查询本车队除了队长的所有成员
+            List<FleetMemberInfo> fleetMemberInfoList = fleetMemberInfoService.selectList(new EntityWrapper<FleetMemberInfo>()
+                    .eq("fleet_id",fleetInfo.getId()).ne("captain_flag","1").eq("status_key","5")
+                    .eq("delete_flag","0"));
+            if (CollectionUtils.isNotEmpty(fleetMemberInfoList)){
+                for (int i =0;i<fleetMemberInfoList.size();i++){
+                    //将车队成员公告标识变成未读
+                    fleetMemberInfoList.get(i).setAnnouncement("0");
+                    fleetMemberInfoService.updateById(fleetMemberInfoList.get(i));
+                }
+            }
+        }
+        this.updateById(fleetInfo);
+        return "ok";
+    }
+
+    /**
+     * 车队详情
+     * @param fleetInfo
+     * @return
+     */
+    @Override
+    public FleetInfo getFleetInfo(FleetInfo fleetInfo){
+        FleetInfo fleetInfo1 = this.selectById(fleetInfo.getId());
+        //根据车队id查询已加入车队的车队成员列表
+        List<FleetMemberInfo> fleetMemberInfos = fleetMemberInfoService.selectList(new EntityWrapper<FleetMemberInfo>()
+            .eq("fleet_id",fleetInfo.getId()).eq("delete_flag","0").eq("status_key","5"));
+        fleetInfo1.setFleetMemberInfoList(fleetMemberInfos);
+        fleetInfo1.setFleetMemberNum(fleetMemberInfos.size());
+        return fleetInfo1;
+    }
+
+    /**
+     * 车队列表
+     * @param fleetInfo
+     * @return
+     */
+    @Override
+    public Page<FleetInfo> selectFleetInfo(FleetInfo fleetInfo){
+        Map<String, Object> pageView = new HashMap<>(11);
+        pageView.put("startRecord", (fleetInfo.getCurrentPage() - 1)
+                * fleetInfo.getPageSize());
+        //用户id
+        pageView.put("commonId", fleetInfo.getCommonId());
+        pageView.put("province", fleetInfo.getProvince());
+        pageView.put("city", fleetInfo.getCity());
+        pageView.put("searchKeyWord", fleetInfo.getSearchKeyWord());
+        pageView.put("pageSize", fleetInfo.getPageSize());
+        pageView.put("currentPage", fleetInfo.getCurrentPage());
+        // 查询车队总数
+        Page<FleetInfo> page = new Page<>();
+        Integer dataCount = baseMapper.getCountByCondition(pageView);
+        List<FleetInfo> dataList = baseMapper.getListByCondition(pageView);
+        if (CollectionUtils.isNotEmpty(dataList)){
+            for (int i = 0; i<dataList.size(); i++){
+                //查询车队成员数
+                Integer memberNum = fleetMemberInfoService.selectCount(new EntityWrapper<FleetMemberInfo>()
+                .eq("fleet_id",dataList.get(i).getId()).eq("delete_flag","0").eq("status_key","5"));
+
+                dataList.get(i).setFleetMemberNum(memberNum);
+            }
+        }
+        page.setRecords(dataList == null ? Lists.newArrayList() : dataList);
+        page.setTotal(dataCount == null ? 0 : dataCount);
+        page.setCurrent(fleetInfo.getCurrentPage());
+        page.setSize(fleetInfo.getPageSize());
+        return page;
+    }
+
+
+
+    /**
+     * 邀请车队列表
+     * @param fleetInfo
+     * @return
+     */
+    @Override
+    public List<FleetInfo> fleetInfos(FleetInfo fleetInfo){
+        //根据用户id查询创建的车队列表
+        List<FleetInfo> fleetInfoList = this.selectList(new EntityWrapper<FleetInfo>().eq("common_id",fleetInfo.getCommonId())
+                .eq("status_key","5").eq("delete_flag","0"));
+        //根据用户id查询不是队长已加入的车队
+        List<FleetMemberInfo> fleetMemberInfoList = this.fleetMemberInfoService.selectList(new EntityWrapper<FleetMemberInfo>()
+        .eq("common_id",fleetInfo.getCommonId()).ne("captain_flag","1").eq("status_key","5")
+                .eq("delete_flag","0"));
+        List<FleetInfo> fleetInfoList1 = new ArrayList<>();
+        if (CollectionUtils.isNotEmpty(fleetMemberInfoList)){
+            for (int i = 0; i<fleetMemberInfoList.size(); i++){
+                //根据车队id查车队
+                FleetInfo fleetInfo1 = this.selectById(fleetMemberInfoList.get(i).getFleetId());
+                //车队不为空且车队邀请权限是所有队员
+                if (fleetInfo1 != null && "1".equals(fleetInfo1.getInvitationPermission())){
+                    fleetInfoList1.add(fleetInfo1);
+                }
+            }
+        }
+        List<FleetInfo> fleetInfoList2 = new ArrayList<>();
+        fleetInfoList2.addAll(fleetInfoList);
+        fleetInfoList2.addAll(fleetInfoList1);
+        if (CollectionUtils.isEmpty(fleetInfoList2)){
+            //没有可邀请的车队
+            throw new YException(YExceptionEnum.FLEET_NULL);
+        }else {
+            return fleetInfoList2;
+        }
+    }
+
 }

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

@@ -1,10 +1,28 @@
 package com.yh.saas.plugin.yiliangyiyun.service.impl;
 
+import com.baomidou.mybatisplus.mapper.EntityWrapper;
+import com.baomidou.mybatisplus.plugins.Page;
+import com.google.common.collect.Lists;
+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.FleetInfo;
 import com.yh.saas.plugin.yiliangyiyun.entity.FleetMemberInfo;
+import com.yh.saas.plugin.yiliangyiyun.exception.YException;
+import com.yh.saas.plugin.yiliangyiyun.exception.YExceptionEnum;
 import com.yh.saas.plugin.yiliangyiyun.mapper.FleetMemberInfoMapper;
+import com.yh.saas.plugin.yiliangyiyun.service.IFleetInfoService;
 import com.yh.saas.plugin.yiliangyiyun.service.IFleetMemberInfoService;
 import com.baomidou.mybatisplus.service.impl.ServiceImpl;
+import org.apache.commons.collections.CollectionUtils;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
 
 /**
  * <p>
@@ -17,4 +35,344 @@ import org.springframework.stereotype.Service;
 @Service
 public class FleetMemberInfoServiceImpl extends ServiceImpl<FleetMemberInfoMapper, FleetMemberInfo> implements IFleetMemberInfoService {
 
+    @Autowired
+    private IFleetInfoService fleetInfoService;
+
+    /**
+     * 我的车队
+     *
+     * @param fleetMemberInfo
+     * @return
+     */
+    @Override
+    public Page<FleetMemberInfo> selectMyFleetInfo(FleetMemberInfo fleetMemberInfo) {
+        Map<String, Object> pageView = new HashMap<>(11);
+        pageView.put("startRecord", (fleetMemberInfo.getCurrentPage() - 1)
+                * fleetMemberInfo.getPageSize());
+        //用户id
+        pageView.put("commonId", fleetMemberInfo.getCommonId());
+        pageView.put("searchKeyWord", fleetMemberInfo.getSearchKeyWord());
+        pageView.put("pageSize", fleetMemberInfo.getPageSize());
+        pageView.put("currentPage", fleetMemberInfo.getCurrentPage());
+        // 查询车队总数
+        Integer dataCount = baseMapper.getCountByCondition(pageView);
+        List<FleetMemberInfo> dataList = baseMapper.getListByCondition(pageView);
+        if (CollectionUtils.isNotEmpty(dataList)) {
+            for (int i = 0; i < dataList.size(); i++) {
+                FleetMemberInfo fleetMemberInfo1 = dataList.get(i);
+                //查询车队成员人数
+                Integer num = this.selectCount(new EntityWrapper<FleetMemberInfo>()
+                        .eq("fleet_id", fleetMemberInfo1.getFleetId()).eq("delete_flag", "0")
+                        .eq("status_key", "5"));
+                fleetMemberInfo1.setFleetMemberNum(num);
+            }
+        }
+        Page<FleetMemberInfo> page = new Page<>();
+        page.setRecords(dataList == null ? Lists.newArrayList() : dataList);
+        page.setTotal(dataCount == null ? 0 : dataCount);
+        page.setCurrent(fleetMemberInfo.getCurrentPage());
+        page.setSize(fleetMemberInfo.getPageSize());
+        return page;
+    }
+
+
+    /**
+     * 加入/邀请
+     *
+     * @param fleetMemberInfo
+     * @return
+     */
+    @Override
+    public String addFleetMemberInfo(FleetMemberInfo fleetMemberInfo) {
+        if ("1".equals(fleetMemberInfo.getJoinFlag())) {
+            //查询此司机已加入的车队数量
+            List<FleetMemberInfo> fleetMemberInfos = this.selectList(new EntityWrapper<FleetMemberInfo>()
+                    .eq("common_id", fleetMemberInfo.getCommonId()).eq("status_key", "5").eq("delete_flag", "0"));
+            if (fleetMemberInfos.size() == 201) {
+                //最多加入200个车队
+                throw new YException(YExceptionEnum.FLEET_CEILING);
+            }
+            //查询加入的车队队长,将队长入队申请标识变为未读
+            FleetMemberInfo fleetMemberInfo1 = this.selectOne(new EntityWrapper<FleetMemberInfo>().eq("fleet_id", fleetMemberInfo.getFleetId())
+                    .eq("captain_flag", "1").eq("delete_flag", "0"));
+            fleetMemberInfo1.setTeamApplication("0");
+            this.updateById(fleetMemberInfo1);
+        } else {
+            //查询对方是否已经在车队
+            FleetMemberInfo fleetMemberInfo1 = this.selectOne(new EntityWrapper<FleetMemberInfo>().eq("common_id", fleetMemberInfo.getCommonId())
+                    .eq("fleet_id", fleetMemberInfo.getFleetId()).eq("status_key", "5").eq("delete_flag", "0"));
+            if (fleetMemberInfo1 != null) {
+                //对方已经在车队中
+                throw new YException(YExceptionEnum.ALREADY_FLEET);
+            }
+            //查询车队成员数量
+            List<FleetMemberInfo> fleetMemberInfos = this.selectList(new EntityWrapper<FleetMemberInfo>()
+                    .eq("fleet_id", fleetMemberInfo.getFleetId()).eq("status_key", "5").eq("delete_flag", "0"));
+            if (fleetMemberInfos.size() == 501) {
+                //人数已达上限
+                throw new YException(YExceptionEnum.PEOPLE_NUMBER_MAX);
+            }
+            //查询对方是否被邀请
+            FleetMemberInfo fleetMemberInfo2 = this.selectOne(new EntityWrapper<FleetMemberInfo>().eq("common_id", fleetMemberInfo.getCommonId())
+                    .eq("fleet_id", fleetMemberInfo.getFleetId()).eq("status_key", "1").eq("delete_flag", "0"));
+            if (fleetMemberInfo2 != null) {
+                //对方已经被邀请
+                throw new YException(YExceptionEnum.ALREADY_INVITATION);
+            }
+            fleetMemberInfo.setFleetInvitation("0");
+        }
+        //新增主键id
+        fleetMemberInfo.setId(IdGenerator.generateUUID());
+        fleetMemberInfo.setStatusKey(StatusEnum.FLEETMEMBER_APPLY.getFlag());
+        fleetMemberInfo.setStatus(StatusEnum.FLEETMEMBER_APPLY.getName());
+        this.insert(fleetMemberInfo);
+        return "OK";
+    }
+
+
+    /**
+     * 入队申请/车队邀请
+     *
+     * @param fleetMemberInfo
+     * @return
+     */
+    @Override
+    public Page<FleetMemberInfo> selectFleetMemberInfo(FleetMemberInfo fleetMemberInfo) {
+        Map<String, Object> pageView = new HashMap<>(11);
+        pageView.put("startRecord", (fleetMemberInfo.getCurrentPage() - 1)
+                * fleetMemberInfo.getPageSize());
+        //用户id
+        pageView.put("commonId", fleetMemberInfo.getCommonId());
+        pageView.put("pageSize", fleetMemberInfo.getPageSize());
+        pageView.put("currentPage", fleetMemberInfo.getCurrentPage());
+        Page<FleetMemberInfo> page = new Page<>();
+        // 查询车队成员总数
+        if ("1".equals(fleetMemberInfo.getFlag())) {
+            //入队申请
+            Integer dataCount = baseMapper.getTeamApplicationCountByCondition(pageView);
+            List<FleetMemberInfo> dataList = baseMapper.getTeamApplicationListByCondition(pageView);
+            page.setRecords(dataList == null ? Lists.newArrayList() : dataList);
+            page.setTotal(dataCount == null ? 0 : dataCount);
+        } else {
+            //车队邀请
+            Integer dataCount = baseMapper.getTeamInvitationCountByCondition(pageView);
+            List<FleetMemberInfo> dataList = baseMapper.getTeamInvitationListByCondition(pageView);
+            page.setRecords(dataList == null ? Lists.newArrayList() : dataList);
+            page.setTotal(dataCount == null ? 0 : dataCount);
+        }
+        page.setCurrent(fleetMemberInfo.getCurrentPage());
+        page.setSize(fleetMemberInfo.getPageSize());
+        return page;
+    }
+
+
+    /**
+     * 接受/通过/拒绝
+     *
+     * @param fleetMemberInfo
+     * @return
+     */
+    @Override
+    public String editFleetMemberInfo(FleetMemberInfo fleetMemberInfo) {
+        //查询车队成员信息
+        FleetMemberInfo fleetMemberInfo1 = this.selectById(fleetMemberInfo.getId());
+        if ("1".equals(fleetMemberInfo.getExamineFlag())) {
+            //查询车队成员数量
+            List<FleetMemberInfo> fleetMemberInfos = this.selectList(new EntityWrapper<FleetMemberInfo>()
+                    .eq("fleet_id", fleetMemberInfo1.getFleetId()).eq("status_key", "5").eq("delete_flag", "0"));
+            if (fleetMemberInfos.size() == 501) {
+                //人数已达上限
+                throw new YException(YExceptionEnum.PEOPLE_NUMBER_MAX);
+            }
+            //查询车队是否存在
+            FleetInfo fleetInfo = fleetInfoService.selectOne(new EntityWrapper<FleetInfo>().eq("id", fleetMemberInfo1.getFleetId())
+                    .eq("delete_flag", "0"));
+            if (fleetInfo == null) {
+                //车队已解散
+                throw new YException(YExceptionEnum.FLEET_DISSOLUTION);
+            }
+            //通过
+            fleetMemberInfo1.setStatusKey(StatusEnum.FLEETMEMBER_JOIN.getFlag());
+            fleetMemberInfo1.setStatus(StatusEnum.FLEETMEMBER_JOIN.getName());
+        } else {
+            //拒绝
+            fleetMemberInfo1.setStatusKey(StatusEnum.FLEETMEMBER_REJECT.getFlag());
+            fleetMemberInfo1.setStatus(StatusEnum.FLEETMEMBER_REJECT.getName());
+        }
+        this.updateById(fleetMemberInfo1);
+        return "OK";
+    }
+
+
+    /**
+     * 删除成员/退出车队
+     *
+     * @param fleetMemberInfo
+     */
+    @Override
+    public void delete(FleetMemberInfo fleetMemberInfo) {
+        //退出车队
+        if ("1".equals(fleetMemberInfo.getOutFlag())) {
+            FleetMemberInfo fleetMemberInfo1 = this.selectOne(new EntityWrapper<FleetMemberInfo>().eq("common_id",fleetMemberInfo.getCommonId())
+                    .eq("fleet_id",fleetMemberInfo.getFleetId()).eq("delete_flag","0"));
+            //队长退出车队
+            if (fleetMemberInfo1.getCaptainFlag() == 1) {
+                //查询车队成员数量
+                List<FleetMemberInfo> fleetMemberInfos = this.selectList(new EntityWrapper<FleetMemberInfo>()
+                        .eq("fleet_id", fleetMemberInfo1.getFleetId()).eq("status_key", "5").eq("delete_flag", "0"));
+                if (fleetMemberInfos.size() > 1) {
+                    //判断车队内是否还有其他成员,有其他成员时提示“请先转移队长身份”
+                    throw new YException(YExceptionEnum.TRANSFER_TEAM_LEADER);
+                }
+            }
+            //删除
+            this.deleteById(fleetMemberInfo1.getId());
+        }
+        //批量删除
+        if (CollectionUtils.isNotEmpty(fleetMemberInfo.getIdList())){
+            List<String> ids = fleetMemberInfo.getIdList();
+            for (int i = 0; i < ids.size(); i++) {
+                this.deleteById(ids.get(i));
+            }
+        }
+    }
+
+
+    /**
+     * 转移队长
+     *
+     * @param fleetMemberInfo
+     * @return
+     */
+    @Override
+    public String transferLeader(FleetMemberInfo fleetMemberInfo) {
+        //查询转移人信息
+        FleetMemberInfo fleetMemberInfo1 = this.selectOne(new EntityWrapper<FleetMemberInfo>().eq("fleet_id", fleetMemberInfo.getFleetId())
+                .eq("captain_flag", "1").eq("delete_flag", "0"));
+        fleetMemberInfo1.setCaptainFlag(Long.valueOf(0));
+        this.updateById(fleetMemberInfo1);
+        //查询被转移人信息
+        FleetMemberInfo fleetMemberInfo2 = this.selectById(fleetMemberInfo.getTransferId());
+        fleetMemberInfo2.setCaptainFlag(Long.valueOf(1));
+        this.updateById(fleetMemberInfo2);
+        //查询车队信息
+        FleetInfo fleetInfo = fleetInfoService.selectById(fleetMemberInfo.getFleetId());
+        fleetInfo.setCommonId(fleetMemberInfo2.getCommonId());
+        fleetInfoService.updateById(fleetInfo);
+        return "OK";
+    }
+
+
+    /**
+     * 入队申请已读/车队邀请已读/公告已读
+     *
+     * @param fleetMemberInfo
+     * @return
+     */
+    @Override
+    public String read(FleetMemberInfo fleetMemberInfo) {
+        //入队申请
+        if ("1".equals(fleetMemberInfo.getReadFlag())) {
+            //根据用户id查询未读入队申请的队长信息
+            List<FleetMemberInfo> fleetMemberInfos = this.selectList(new EntityWrapper<FleetMemberInfo>()
+                    .eq("common_id", fleetMemberInfo.getCommonId()).eq("captain_flag", "1")
+                    .eq("team_application", "0").eq("delete_flag", "0"));
+            if (CollectionUtils.isNotEmpty(fleetMemberInfos)) {
+                for (FleetMemberInfo fleetMemberInfo1 : fleetMemberInfos) {
+                    fleetMemberInfo1.setTeamApplication("1");
+                    this.updateById(fleetMemberInfo1);
+                }
+            }
+        }
+        //车队邀请
+        else if ("2".equals(fleetMemberInfo.getReadFlag())) {
+            //根据用户id查询未读的所有车队邀请
+            List<FleetMemberInfo> fleetMemberInfos = this.selectList(new EntityWrapper<FleetMemberInfo>()
+                    .eq("common_id", fleetMemberInfo.getCommonId()).eq("status_key", "1")
+                    .eq("fleet_invitation", "0").eq("delete_flag", "0"));
+            if (CollectionUtils.isNotEmpty(fleetMemberInfos)) {
+                for (FleetMemberInfo fleetMemberInfo1 : fleetMemberInfos) {
+                    fleetMemberInfo1.setFleetInvitation("1");
+                    this.updateById(fleetMemberInfo1);
+                }
+            }
+        }
+        //公告
+        else {
+            //根据id查询信息
+            FleetMemberInfo fleetMemberInfo1 = this.selectById(fleetMemberInfo.getId());
+            fleetMemberInfo1.setAnnouncement("1");
+            this.updateById(fleetMemberInfo1);
+        }
+        return "ok";
+    }
+
+    /**
+     * 我的车队入队申请红点
+     *
+     * @param fleetMemberInfo
+     * @return
+     */
+    @Override
+    public FleetMemberInfo redDot(FleetMemberInfo fleetMemberInfo) {
+        FleetMemberInfo fleetMemberInfo2 = new FleetMemberInfo();
+        //根据用户id查询标识
+        List<FleetMemberInfo> fleetMemberInfos = this.selectList(new EntityWrapper<FleetMemberInfo>()
+                .eq("common_id", fleetMemberInfo.getCommonId()).eq("delete_flag", "0"));
+        if (CollectionUtils.isNotEmpty(fleetMemberInfos)) {
+            for (FleetMemberInfo fleetMemberInfo1 : fleetMemberInfos) {
+                if ("0".equals(fleetMemberInfo1.getTeamApplication())) {
+                    fleetMemberInfo2.setTeamApplication("0");
+                }
+                if ("0".equals(fleetMemberInfo1.getFleetInvitation())) {
+                    fleetMemberInfo2.setFleetInvitation("0");
+                }
+            }
+        }
+        return fleetMemberInfo2;
+    }
+
+
+    /**
+     * 车队成员列表
+     *
+     * @param fleetMemberInfo
+     * @return
+     */
+    @Override
+    public Page<FleetMemberInfo> selectFleetMember(FleetMemberInfo fleetMemberInfo) {
+        Map<String, Object> pageView = new HashMap<>(11);
+        pageView.put("startRecord", (fleetMemberInfo.getCurrentPage() - 1)
+                * fleetMemberInfo.getPageSize());
+        //用户id
+        pageView.put("fleetId", fleetMemberInfo.getFleetId());
+        pageView.put("searchKeyWord", fleetMemberInfo.getSearchKeyWord());
+        pageView.put("pageSize", fleetMemberInfo.getPageSize());
+        pageView.put("currentPage", fleetMemberInfo.getCurrentPage());
+        // 查询车队总数
+        Integer dataCount = baseMapper.getCountByMemberCondition(pageView);
+        List<FleetMemberInfo> dataList = baseMapper.getListByMemberCondition(pageView);
+        Page<FleetMemberInfo> page = new Page<>();
+        page.setRecords(dataList == null ? Lists.newArrayList() : dataList);
+        page.setTotal(dataCount == null ? 0 : dataCount);
+        page.setCurrent(fleetMemberInfo.getCurrentPage());
+        page.setSize(fleetMemberInfo.getPageSize());
+        return page;
+    }
+
+
+    /**
+     * 入队申请/车队邀请列表删除
+     *
+     * @param fleetMemberInfo
+     * @return
+     */
+    @Override
+    public String listDelete(FleetMemberInfo fleetMemberInfo) {
+        //查询被删除人信息
+        FleetMemberInfo fleetMemberInfo1 = this.selectById(fleetMemberInfo.getId());
+        fleetMemberInfo1.setExhibitionDeleteFlag(Long.valueOf(1));
+        this.updateById(fleetMemberInfo1);
+        return "OK";
+    }
 }

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

@@ -3,18 +3,22 @@ package com.yh.saas.plugin.yiliangyiyun.service.impl;
 import com.baomidou.mybatisplus.mapper.EntityWrapper;
 import com.baomidou.mybatisplus.plugins.Page;
 import com.google.common.collect.Lists;
+import com.itextpdf.text.DocumentException;
 import com.yh.saas.plugin.yiliangyiyun.constant.StatusEnum;
 import com.yh.saas.plugin.yiliangyiyun.entity.*;
 import com.yh.saas.plugin.yiliangyiyun.mapper.OrderInfoMapper;
 import com.yh.saas.plugin.yiliangyiyun.service.*;
 import com.baomidou.mybatisplus.service.impl.ServiceImpl;
 import com.yh.saas.plugin.yiliangyiyun.util.PdfUtil;
+import lombok.SneakyThrows;
 import org.activiti.engine.impl.util.CollectionUtil;
 import org.apache.commons.collections.CollectionUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
+import java.io.IOException;
+import java.net.URISyntaxException;
 import java.text.SimpleDateFormat;
 import java.util.Date;
 import java.util.HashMap;
@@ -44,6 +48,12 @@ public class OrderInfoServiceImpl extends ServiceImpl<OrderInfoMapper, OrderInfo
     private IRepaymentInfoService repaymentInfoService;
     @Autowired
     private IEvaluateInfoService evaluateInfoService;
+    @Autowired
+    private IDriverCarInfoService driverCarInfoService;
+    @Autowired
+    private IDriverInfoService driverInfoService;
+    @Autowired
+    private PdfUtil pdfUtil;
 
     /**
      * 司机订单列表
@@ -101,6 +111,12 @@ public class OrderInfoServiceImpl extends ServiceImpl<OrderInfoMapper, OrderInfo
                 if (commonUser1 != null) {
                     dataList.get(i).setDriverPortrait(commonUser1.getAvatarUrl());
                 }
+                //查询车辆信息
+                List<DriverCarInfo> driverCarInfoList = driverCarInfoService.selectList(new EntityWrapper<DriverCarInfo>()
+                        .eq("driver_id",dataList.get(i).getDriverId()).eq("status_key","5").eq("delete_flag","0"));
+                if (CollectionUtils.isNotEmpty(driverCarInfoList)){
+                    dataList.get(i).setDriverCarInfos(driverCarInfoList);
+                }
             }
         }
 
@@ -489,4 +505,20 @@ public class OrderInfoServiceImpl extends ServiceImpl<OrderInfoMapper, OrderInfo
         return "OK";
     }
 
+
+    /**
+     * 司机签合同
+     * @param orderInfo
+     * @return
+     */
+    @Override
+    public String setPdf(OrderInfo orderInfo) throws DocumentException, IOException, URISyntaxException {
+        OrderInfo orderInfo1 = this.selectById(orderInfo.getId());
+        orderInfo1.setDriverContract("1");
+        orderInfo1.setDriverAutograph(orderInfo.getDriverAutograph());
+        String pdfUrl = pdfUtil.tranContract(orderInfo);
+        orderInfo1.setDriverContractUrl(pdfUrl);
+        this.updateById(orderInfo1);
+        return pdfUrl;
+    }
 }

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

@@ -1092,6 +1092,7 @@ public class PublishTaskInfoServiceImpl extends ServiceImpl<PublishTaskInfoMappe
         //新增订单信息
         OrderInfo orderInfo = new OrderInfo();
         orderInfo.setId(IdGenerator.generateUUID());
+        orderInfo.setTaskId(publishTaskInfo.getId());
         orderInfo.setCommonId(publishTaskInfo.getDriverCommonId());
         //判断司机是否认证
         DriverInfo driverInfo = driverInfoService.selectOne(new EntityWrapper<DriverInfo>().eq("common_id", publishTaskInfo.getDriverCommonId())

+ 188 - 0
winsea-haixin-plugin-wangluohuoyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/util/CheckTxtUtil.java

@@ -0,0 +1,188 @@
+package com.yh.saas.plugin.yiliangyiyun.util;
+
+/**
+ * 敏感词过滤工具类
+ * @author lsj
+ *
+ */
+import java.io.FileInputStream;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+
+import lombok.Getter;
+import org.apache.poi.ss.usermodel.Row;
+import org.apache.poi.ss.usermodel.Sheet;
+import org.apache.poi.ss.usermodel.Workbook;
+import org.apache.poi.xssf.usermodel.XSSFWorkbook;
+import org.springframework.beans.factory.annotation.Value;
+
+public class CheckTxtUtil {
+
+
+        /**
+         * 敏感词集合
+         */
+        public static HashMap sensitiveWordMap;
+
+
+        /**
+         * 初始化敏感词库,构建DFA算法模型
+         */
+        public static void initContext() {
+            HashSet<String> set = new HashSet<String>();
+            try {
+                //获取敏感词文件
+                Workbook workbook = new XSSFWorkbook(new FileInputStream("E:\\checktxt\\mgck-master\\敏感词库表统计.xlsx"));
+                // 获取第一个张表
+                Sheet sheet = workbook.getSheetAt(0);
+                // 获取每行中的字段
+                for (int j = 1; j <= sheet.getLastRowNum(); j++) {
+                    Row row = sheet.getRow(j); // 获取行
+                    if (row == null) {// 略过空行
+                        continue;
+                    } else {
+                        if(row.getCell(2)!=null){
+                            set.add(row.getCell(2).getStringCellValue());
+                        }
+                    }
+                }
+                initSensitiveWordMap(set);
+            } catch (Exception e) {
+                System.out.println("<<<<<<解析敏感词文件报错!");
+                e.printStackTrace();
+            }
+        }
+
+        /**
+         * 初始化敏感词库,构建DFA算法模型
+         *
+         * @param sensitiveWordSet 敏感词库
+         */
+        private static void initSensitiveWordMap(Set<String> sensitiveWordSet) {
+            //初始化敏感词容器,减少扩容操作
+            sensitiveWordMap = new HashMap<String,String>(sensitiveWordSet.size());
+            Map<Object,Object> temp;
+            Map<Object,Object> newWorMap;
+            //遍历sensitiveWordSet
+            for(String key:sensitiveWordSet) {
+                temp = sensitiveWordMap;
+                for (int i = 0; i < key.length(); i++) {
+                    //转换成char型
+                    char keyChar = key.charAt(i);
+                    //库中获取关键字
+                    Object wordMap = temp.get(keyChar);
+                    //如果存在该key,直接赋值,用于下一个循环获取
+                    if (wordMap != null) {
+                        temp = (Map) wordMap;
+                    } else {
+                        //不存在则,则构建一个map,同时将isEnd设置为0,因为他不是最后一个
+                        newWorMap = new HashMap<>();
+                        //不是最后一个
+                        newWorMap.put("isEnd", "0");
+                        temp.put(keyChar, newWorMap);
+                        temp = newWorMap;
+                    }
+                    //最后一个
+                    if (i == key.length() - 1){
+                        temp.put("isEnd", "1");
+                    }
+                }
+            }
+        }
+
+        /**
+         * 判断文字是否包含敏感字符
+         *
+         * 文本
+         *
+         *  若包含返回true,否则返回false
+         */
+        public static boolean contains(String txt) {
+            boolean flag = false;
+            for (int i = 0; i < txt.length(); i++) {
+                int matchFlag = checkSensitiveWord(txt, i); //判断是否包含敏感字符
+                if (matchFlag > 0) {//大于0存在,返回true
+                    flag = true;
+                }
+            }
+            return flag;
+        }
+
+        /**
+         * 检查文字中是否包含敏感字符,检查规则如下:
+         *
+         * @param txt
+         * @param beginIndex
+         * @param
+         * @return 如果存在,则返回敏感词字符的长度,不存在返回0
+         */
+        private static int checkSensitiveWord(String txt, int beginIndex) {
+            //敏感词结束标识位:用于敏感词只有1位的情况
+            boolean flag = false;
+            //匹配标识数默认为0
+            int matchFlag = 0;
+            char word;
+            Map nowMap = sensitiveWordMap;
+            for (int i = beginIndex; i < txt.length(); i++) {
+                word = txt.charAt(i);
+                //获取指定key
+                nowMap = (Map) nowMap.get(word);
+                if (nowMap != null) {//存在,则判断是否为最后一个
+                    //找到相应key,匹配标识+1
+                    matchFlag++;
+                    //如果为最后一个匹配规则,结束循环,返回匹配标识数
+                    if ("1".equals(nowMap.get("isEnd"))) {
+                        //结束标志位为true
+                        flag = true;
+                    }
+                } else {//不存在,直接返回
+                    break;
+                }
+            }
+            if (matchFlag < 2 || !flag) {//长度必须大于等于1,为词
+                matchFlag = 0;
+            }
+            return matchFlag;
+        }
+
+        /**
+         * 获取文字中的敏感词
+         *
+         *  txt文字
+         *
+         *
+         */
+        public  List getSensitiveWord(String txt) {
+            List sensitiveWordList = new ArrayList();
+            for (int i = 0; i < txt.length(); i++) {
+                //判断是否包含敏感字符
+                int length = checkSensitiveWord(txt, i);
+                if (length > 0) {//存在,加入list中
+                    sensitiveWordList.add(txt.substring(i, i + length));
+                    i = i + length - 1;//减1的原因,是因为for会自增
+                }
+            }
+            return sensitiveWordList;
+        }
+
+
+        /**
+         * context是要校验的内容。返回结果是list,为空说明没有敏感词
+         * @param context
+         * @return
+         */
+        public  List checkTxt(String context) {
+            initContext();
+            //包含敏感词返回所有敏感词数据
+            return getSensitiveWord(context);
+        }
+
+        public  void main(String[] args){
+            System.out.println(checkTxt("卖淫嫖娼杀人犯法共产党国民党法轮大法"));
+        }
+
+}

+ 134 - 203
winsea-haixin-plugin-wangluohuoyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/util/PdfUtil.java

@@ -28,7 +28,8 @@ import java.net.URISyntaxException;
 import java.net.URL;
 import java.nio.charset.StandardCharsets;
 import java.util.*;
-public class PdfUtil  {
+@Component
+public class PdfUtil  implements InitializingBean{
     @Autowired
     private IOrderInfoService orderInfoService;
     @Autowired
@@ -39,19 +40,15 @@ public class PdfUtil  {
     private IDriverPayeeInfoService driverPayeeInfoService;
     @Autowired
     private IDriverInfoService driverInfoService;
-    @Value("${oss.aliyun.oss.accessId}")
-    private String accessId;
-    @Value("${oss.aliyun.oss.accessKey}")
-    private String accessKey;
-    @Value("${oss.aliyun.oss.endpoint}")
+    @Autowired
+    private IPublishTaskInfoService publishTaskInfoService;
+    @Autowired
+    private IDriverCarInfoService driverCarInfoService;
+    @Value("${oss.endpoint.default}")
     private String endpoint;
-    @Value("${oss.aliyun.oss.bucket}")
+    @Value("${oss.bucket.name}")
     private String bucket;
-    @Value("${oss.aliyun.oss.dir}")
-    private String dir;
-    @Value("${oss.aliyun.oss.callbackUrl}")
-    private String callbackUrl;
-    @Value("${oss.aliyun.oss.basekUrl}")
+    @Value("${oss.endpoint.internal}")
     private String baseUrl;
     @Autowired
     private OSSClient ossClient;
@@ -60,26 +57,34 @@ public class PdfUtil  {
     public void afterPropertiesSet() throws Exception {
         host = "http://" + bucket + "." + endpoint;
     }
-    public  String tranContract(OrderInfo orderInfo) throws IOException, DocumentException, URISyntaxException {//利用模板生成pdf
+    public String tranContract(OrderInfo orderInfo) throws IOException, DocumentException, URISyntaxException {//利用模板生成pdf
 
         //订单信息
         OrderInfo orderInfo1 = orderInfoService.selectById(orderInfo.getId());
         //运费信息
-        FreightInfo freightInfo = freightInfoService.selectOne(new EntityWrapper<FreightInfo>()
-                .eq("order_id",orderInfo1.getId()).eq("delete_flag","0"));
+//        FreightInfo freightInfo = freightInfoService.selectOne(new EntityWrapper<FreightInfo>()
+//                .eq("order_id",orderInfo1.getId()).eq("delete_flag","0"));
         //承运信息
         CarrierInfo carrierInfo = carrierInfoService.selectOne(new EntityWrapper<CarrierInfo>()
                 .eq("order_id",orderInfo1.getId()).eq("delete_flag","0"));
-        //查询司机收款银行
+        //查询司机信息
         DriverInfo driverInfo = driverInfoService.selectOne(new EntityWrapper<DriverInfo>().eq("common_id",orderInfo1.getCommonId())
                 .eq("delete_flag","0"));
         DriverPayeeInfo driverPayeeInfo = driverPayeeInfoService.selectOne(new EntityWrapper<DriverPayeeInfo>().eq("driver_id",driverInfo.getId())
                 .eq("delete_flag","0"));
+        DriverCarInfo driverCarInfo = driverCarInfoService.selectOne(new EntityWrapper<DriverCarInfo>().eq("driver_id",driverInfo.getId())
+                .eq("car_number",carrierInfo.getCarNo()).eq("delete_flag","0"));
+        //任务信息
+        PublishTaskInfo publishTaskInfo = publishTaskInfoService.selectOne(new EntityWrapper<PublishTaskInfo>().eq("id",orderInfo1.getTaskId())
+                .eq("delete_flag","0"));
+
 
         //模板路径
-        String pdfTmp = "templates" + File.separator + "TranContract.pdf";
+        String pdfTmp = "winsea-haixin-platform-backend" + File.separator + "src" + File.separator + "main" + File.separator + "resources" + File.separator
+                + "templates" + File.separator + "Contract.pdf";
         //生成的新文件路径
-        String newPDFPath ="templates" + File.separator + "TranContract1.pdf";
+        String newPDFPath = "winsea-haixin-platform-backend" + File.separator + "src" + File.separator + "main" + File.separator + "resources" + File.separator
+                + "templates" + File.separator + "Contract1.pdf";
         PdfReader reader;
         FileOutputStream out;
         ByteArrayOutputStream bos;
@@ -104,9 +109,9 @@ public class PdfUtil  {
         AcroFields form = stamper.getAcroFields();
         Iterator<String> it = form.getFields().keySet().iterator();
         Calendar start= Calendar.getInstance();
-        start.setTime(carrierInfo.getLoadingDate());
+        start.setTime(orderInfo.getStartDates());
         Calendar end= Calendar.getInstance();
-        end.setTime(carrierInfo.getUnloadingDate());
+        end.setTime(orderInfo.getEndDates());
         Calendar now= Calendar.getInstance();
         now.setTime(new Date());
         float fontSize = 12f;
@@ -130,224 +135,144 @@ public class PdfUtil  {
             //填写内容部分
             switch (name){
                 case "fill_1" :
-                    form.setField(name, orderInfo1.getContractNo());break;
-                case "Text1" :
-                    form.setField(name, orderInfo1.getCargoOwner());break;
-                case "Text2" :
-                    form.setField(name, orderInfo1.getDriverName());break;
-                case "Text4" :
-                    form.setField(name, orderInfo1.getGoodsName());break;
-                case "fill_30" :
-                    form.setField(name, "散装");break;
-                case "fill_31" :
-                    form.setField(name, "重量"+"");break;
-                case "fill_32" :
-                    form.setField(name, "货值"+"");break;
-                case "fill_33" :
-                    form.setField(name, orderInfo1.getFreight()+"");break;
-                case "fill_34" :
-                    form.setField(name, "运输损耗"+"");break;
-                case "Text5" :
-                    form.setField(name, "运费总价"+"");break;
+                    form.setField(name, "黑龙江中天昊元贸易有限公司");break;
                 case "fill_2" :
-                    form.setField(name, freightInfo.getFreightPayable()+"");break;
+                    form.setField(name, orderInfo1.getDriverName());break;
                 case "fill_3" :
-                    form.setField(name, "大写");break;
+                    form.setField(name, "91230230MA1BNL7Q93");break;
                 case "fill_4" :
-                    form.setField(name, driverPayeeInfo.getBankDeposit());break;
+                    form.setField(name, driverInfo.getNumberCard());break;
+                case "fill_23" :
+                    form.setField(name, carrierInfo.getCarNo());break;
+                case "fill_24" :
+                    form.setField(name, orderInfo.getTrailerNumber());break;
                 case "fill_5" :
-                    form.setField(name, driverPayeeInfo.getPayeeName());break;
+                    form.setField(name, orderInfo1.getDriverName());break;
+                case "fill_6" :
+                    form.setField(name, start.get(Calendar.YEAR)+"");break;
                 case "fill_7" :
-                    form.setField(name, driverPayeeInfo.getBankCard()+"");break;
+                    form.setField(name, start.get(Calendar.MONTH)+1+"");break;
                 case "fill_8" :
-                    form.setField(name, "纳税人识别号");break;
-                case "undefined_2" :
-                    form.setField(name, orderInfo1.getCompName());break;
+                    form.setField(name, start.get(Calendar.DAY_OF_MONTH)+"");break;
+                case "fill_9" :
+                    form.setField(name, end.get(Calendar.YEAR)+"");break;
                 case "fill_10" :
-                    form.setField(name, "开户银行"+"卡号");break;
+                    form.setField(name, end.get(Calendar.MONTH)+1+"");break;
                 case "fill_11" :
-                    form.setField(name, "地址"+orderInfo1.getCargoOwnerPhone());break;
+                    form.setField(name, end.get(Calendar.DAY_OF_MONTH)+"");break;
                 case "fill_12" :
-                    form.setField(name, "汽运");break;
+                    form.setField(name, publishTaskInfo.getSender());break;
                 case "fill_13" :
-                    form.setField(name, carrierInfo.getCarNo());break;
+                    form.setField(name, publishTaskInfo.getSendPrivate()+publishTaskInfo.getSendCity()+publishTaskInfo.getSendArea()
+                            +publishTaskInfo.getSendDetailedAddress());break;
                 case "fill_14" :
-                    form.setField(name, orderInfo1.getSendPrivate());break;
+                    form.setField(name, publishTaskInfo.getSenderPhone());break;
                 case "fill_15" :
-                    form.setField(name, orderInfo1.getSendCity());break;
+                    form.setField(name, publishTaskInfo.getReceiver());break;
                 case "fill_16" :
-                    form.setField(name, orderInfo1.getSendArea());break;
+                    form.setField(name, publishTaskInfo.getUnloadPrivate()+publishTaskInfo.getUnloadCity()+publishTaskInfo.getUnloadArea()
+                            +publishTaskInfo.getUnloadDetailedAddress());break;
+                case "fill_17" :
+                    form.setField(name, publishTaskInfo.getReceiverPhone());break;
                 case "fill_18" :
-                    form.setField(name, orderInfo1.getSendDetailedAddress());break;
+                    form.setField(name, orderInfo1.getDriverName());break;
                 case "fill_19" :
-                    form.setField(name, orderInfo1.getUnloadPrivate());break;
+                    form.setField(name, driverCarInfo.getCarType());break;
                 case "fill_20" :
-                    form.setField(name, orderInfo1.getUnloadCity());break;
+                    form.setField(name, orderInfo1.getDriverPhone());break;
                 case "fill_21" :
-                    form.setField(name, orderInfo1.getUnloadArea());break;
-                case "fill_23" :
-                    form.setField(name, orderInfo1.getUnloadDetailedAddress());break;
-                case "fill_24" :
-                    form.setField(name, Math.round(10)+"");break;
-                case "fill_25" :
-                    form.setField(name, start.get(Calendar.YEAR)+"");break;
-                case "fill_26" :
-                    form.setField(name, start.get(Calendar.MONTH)+1+"");break;
-                case "Text6" :
-                    form.setField(name, start.get(Calendar.DAY_OF_MONTH)+"");break;
-                case "fill_27" :
-                    form.setField(name, end.get(Calendar.YEAR)+"");break;
-                case "fill_28" :
-                    form.setField(name, end.get(Calendar.MONTH)+1+"");break;
-                case "Text7" :
-                    form.setField(name, end.get(Calendar.DAY_OF_MONTH)+"");break;
-                case "fill_1_2" :
-                    form.setField(name, orderInfo1.getCargoOwner());break;
+                    form.setField(name, orderInfo.getContactPersonName());break;
+                case "fill_22" :
+                    form.setField(name, orderInfo.getContactPersonPhone());break;
                 case "fill_3_2" :
-                    form.setField(name, orderInfo1.getCargoOwnerPhone());break;
+                    form.setField(name, publishTaskInfo.getSendPrivate()+publishTaskInfo.getSendCity()+publishTaskInfo.getSendArea()
+                            +publishTaskInfo.getSendDetailedAddress());break;
+                case "fill_4_2" :
+                    form.setField(name, publishTaskInfo.getUnloadPrivate()+publishTaskInfo.getUnloadCity()+publishTaskInfo.getUnloadArea()
+                            +publishTaskInfo.getUnloadDetailedAddress());break;
                 case "fill_5_2" :
-                    form.setField(name, "联系地址");break;
+                    form.setField(name, publishTaskInfo.getGoodsName());break;
+                case "fill_6_2" :
+                    form.setField(name, orderInfo.getFreightCars());break;
                 case "fill_7_2" :
-                    form.setField(name, "e-mail");break;
-                case "fill_9" :
-                    form.setField(name, orderInfo1.getCargoOwnerPhone());break;
+                    form.setField(name, publishTaskInfo.getTaskDescription());break;
+                case "Text1" :
+                    form.setField(name, orderInfo.getFreightCars());break;
+                case "Text2" :
+                    form.setField(name, String.valueOf(orderInfo.getAdvanceCharge()));break;
+                case "fill_1_2" :
+                    form.setField(name, driverPayeeInfo.getBankCard());break;
                 case "fill_2_2" :
-                    form.setField(name, orderInfo1.getDriverName());break;
-                case "fill_4_2" :
-                    form.setField(name, orderInfo1.getDriverPhone());break;
-                case "fill_6" :
-                    form.setField(name, "联系地址");break;
-                case "fill_8_2" :
-                    form.setField(name, "e-mail");break;
-                case "fill_10_2" :
-                    form.setField(name, orderInfo1.getDriverPhone());break;
+                    form.setField(name, driverPayeeInfo.getBankDeposit());break;
                 case "Text3" :
-//                    if(tranContractDTO.getFirstSignatureImg() == null || tranContractDTO.getFirstSignatureImg().isEmpty()){
-//                        break;
-//                    }
-//                    Image image1 = Image.getInstance(new URL(tranContractDTO.getFirstSignatureImg()));
-//                    image1.scaleToFit(signRect.getWidth(), signRect.getHeight());
-//                    image1.setAbsolutePosition(x, y);
-//                    under.addImage(image1);
-                    break;
-                case "Text12" :
-//                    if(tranContractDTO.getFirstLawpersonImg() == null || tranContractDTO.getFirstLawpersonImg().isEmpty()){
-//                        break;
-//                    }
-//                    Image image2 = Image.getInstance(new URL(tranContractDTO.getFirstLawpersonImg()));
-//                    image2.scaleToFit(signRect.getWidth(), signRect.getHeight());
-//                    image2.setAbsolutePosition(x, y);
-//                    under.addImage(image2);
-                    break;
+                    form.setField(name, "甲方");break;
+                case "Text4" :
+                    form.setField(name, "甲方");break;
+                case "Text5" :
+                    if(orderInfo1.getDriverAutograph() == null || orderInfo1.getDriverAutograph().isEmpty()){
+                        break;
+                    }
+                    Image image1 = Image.getInstance(new URL(orderInfo1.getDriverAutograph()));
+                    image1.scaleToFit(signRect.getWidth(), signRect.getHeight());
+                    image1.setAbsolutePosition(x, y);
+                    under.addImage(image1);
+                        break;
+                case "Text6" :
+                    if(orderInfo1.getDriverAutograph() == null || orderInfo1.getDriverAutograph().isEmpty()){
+                        break;
+                    }
+                    Image image2 = Image.getInstance(new URL(orderInfo1.getDriverAutograph()));
+                    image2.scaleToFit(signRect.getWidth(), signRect.getHeight());
+                    image2.setAbsolutePosition(x, y);
+                    under.addImage(image2);
+                        break;
+                case "Text7" :
+                    form.setField(name, "辽宁省营口市鲅鱼圈区蝴蝶泉路龙港花园北一门");break;
                 case "Text8" :
-                    form.setField(name, orderInfo1.getSendCity() + orderInfo1.getSendArea());break;
-                case "Text14" :
-//                    if(tranContractDTO.getSecondSignatureImg() == null || tranContractDTO.getSecondSignatureImg().isEmpty()){
-//                    break;
-//                    }
-//                    Image image3 = Image.getInstance(new URL(tranContractDTO.getSecondSignatureImg()));
-//                    image3.scaleToFit(signRect.getWidth(), signRect.getHeight());
-//                    image3.setAbsolutePosition(x, y);
-//                    under.addImage(image3);
-                    break;
-                case "Text13" :
-//                    if(tranContractDTO.getSecondLawpersonImg() == null || tranContractDTO.getSecondLawpersonImg().isEmpty()){
-//                        break;
-//                    }
-//                    Image image4 = Image.getInstance(new URL(tranContractDTO.getSecondLawpersonImg()));
-//                    image4.scaleToFit(signRect.getWidth(), signRect.getHeight());
-//                    image4.setAbsolutePosition(x, y);
-//                    under.addImage(image4);
-                    break;
+                    form.setField(name, "123456");break;
                 case "Text9" :
-                    form.setField(name, now.get(Calendar.YEAR)+"");break;
+                    form.setField(name, "123456@163.com");break;
                 case "Text10" :
-                    form.setField(name, now.get(Calendar.MONTH)+1+"");break;
+                    form.setField(name, "老王");break;
                 case "Text11" :
+                    form.setField(name, "123456");break;
+                case "Text12" :
+                    form.setField(name, now.get(Calendar.YEAR)+"");break;
+                case "Text13" :
+                    form.setField(name, now.get(Calendar.MONTH)+1+"");break;
+                case "Text14" :
                     form.setField(name, now.get(Calendar.DAY_OF_MONTH)+"");break;
                 case "Text15" :
-                    if(driverInfo.getCardAddressUrl() == null || driverInfo.getCardAddressUrl().isEmpty()){
+                    if(orderInfo.getDriverAutograph() == null || orderInfo.getDriverAutograph().isEmpty()){
                         break;
                     }
-                    Image image51 = Image.getInstance(new URL(driverInfo.getCardAddressUrl()));
-                    image51.scaleToFit(signRect.getWidth(), signRect.getHeight());
-                    image51.setAbsolutePosition(x, y);
-                    under.addImage(image51); break;
-                case "Text16" :
-                    if(driverInfo.getCardBackAddressUrl() == null || driverInfo.getCardBackAddressUrl().isEmpty()){
+                    Image image3 = Image.getInstance(new URL(orderInfo.getDriverAutograph()));
+                    image3.scaleToFit(signRect.getWidth(), signRect.getHeight());
+                    image3.setAbsolutePosition(x, y);
+                    under.addImage(image3);
                         break;
-                    }
-                    Image image61 = Image.getInstance(new URL(driverInfo.getCardBackAddressUrl()));
-                    image61.scaleToFit(signRect.getWidth(), signRect.getHeight());
-                    image61.setAbsolutePosition(x, y);
-                    under.addImage(image61); break;
+                case "Text16" :
+                    form.setField(name, driverInfo.getPostalAddress());break;
                 case "Text17" :
-                    if(driverPayeeInfo.getBankCard() == null || driverPayeeInfo.getBankCard().isEmpty()){
-                        break;
-                    }
-                    Image image5 = Image.getInstance(new URL(driverPayeeInfo.getBankCard()));
-                    image5.scaleToFit(signRect.getWidth(), signRect.getHeight());
-                    image5.setAbsolutePosition(x, y);
-                    under.addImage(image5); break;
+                    form.setField(name, orderInfo1.getDriverPhone());break;
                 case "Text18" :
-//                    if(tranContractDTO.getCarDO().getBankImg1() == null || tranContractDTO.getCarDO().getBankImg1().isEmpty()){
-//                        break;
-//                    }
-//                    Image image6 = Image.getInstance(new URL(tranContractDTO.getCarDO().getBankImg1()));
-//                    image6.scaleToFit(signRect.getWidth(), signRect.getHeight());
-//                    image6.setAbsolutePosition(x, y);
-//                    under.addImage(image6);
-                    break;
+                    form.setField(name, now.get(Calendar.YEAR)+"");break;
                 case "Text19" :
-                    if(driverInfo.getDriverLicenseHomePage() == null || driverInfo.getDriverLicenseHomePage().isEmpty()){
-                        break;
-                    }
-                    Image image7 = Image.getInstance(new URL(driverInfo.getDriverLicenseHomePage()));
-                    image7.scaleToFit(signRect.getWidth(), signRect.getHeight());
-                    image7.setAbsolutePosition(x, y);
-                    under.addImage(image7); break;
+                    form.setField(name, now.get(Calendar.MONTH)+1+"");break;
                 case "Text20" :
-                    if(driverInfo.getDriverLicenseBackPage() == null || driverInfo.getDriverLicenseBackPage().isEmpty()){
-                        break;
-                    }
-                    Image image8 = Image.getInstance(new URL(driverInfo.getDriverLicenseBackPage()));
-                    image8.scaleToFit(signRect.getWidth(), signRect.getHeight());
-                    image8.setAbsolutePosition(x, y);
-                    under.addImage(image8); break;
-                case "Text21" :
-                    if(driverInfo.getDrivingLicenseHomePage() == null || driverInfo.getDrivingLicenseHomePage().isEmpty()){
-                        break;
-                    }
-                    Image image9 = Image.getInstance(new URL(driverInfo.getDrivingLicenseHomePage()));
-                    image9.scaleToFit(signRect.getWidth(), signRect.getHeight());
-                    image9.setAbsolutePosition(x, y);
-                    under.addImage(image9); break;
-                case "Text22" :
-                    if(driverInfo.getDrivingLicenseBackPage() == null || driverInfo.getDrivingLicenseBackPage().isEmpty()){
-                        break;
-                    }
-                    Image image10 = Image.getInstance(new URL(driverInfo.getDrivingLicenseBackPage()));
-                    image10.scaleToFit(signRect.getWidth(), signRect.getHeight());
-                    image10.setAbsolutePosition(x, y);
-                    under.addImage(image10); break;
-                case "Text23" :
-//                    if(tranContractDTO.getCarDO().getPersonNoImg() == null || tranContractDTO.getCarDO().getPersonNoImg().isEmpty()){
-//                        break;
-//                    }
-//                    Image image11 = Image.getInstance(new URL(tranContractDTO.getCarDO().getPersonNoImg()));
-//                    image11.scaleToFit(signRect.getWidth(), signRect.getHeight());
-//                    image11.setAbsolutePosition(x, y);
-//                    under.addImage(image11);
-                    break;
-                case "Text24" :
-//                    if(tranContractDTO.getCarDO().getPersonNoImg1() == null || tranContractDTO.getCarDO().getPersonNoImg1().isEmpty()){
-//                        break;
-//                    }
-//                    Image image12 = Image.getInstance(new URL(tranContractDTO.getCarDO().getPersonNoImg1()));
-//                    image12.scaleToFit(signRect.getWidth(), signRect.getHeight());
-//                    image12.setAbsolutePosition(x, y);
-//                    under.addImage(image12);
-                    break;
+                    form.setField(name, now.get(Calendar.DAY_OF_MONTH)+"");break;
+                case "fill_1_3" :
+                    form.setField(name, "1");break;
+                case "fill_2_3" :
+                    form.setField(name, orderInfo1.getDriverName());break;
+                case "fill_3_3" :
+                    form.setField(name, driverInfo.getDriverSex());break;
+                case "fill_4_3" :
+                    form.setField(name, driverInfo.getNumberCard());break;
+                case "fill_5_3" :
+                    form.setField(name, driverCarInfo.getCarType());break;
+                case "fill_6_3" :
+                    form.setField(name, driverCarInfo.getCarNumber());break;
 
             }
             //
@@ -368,11 +293,17 @@ public class PdfUtil  {
                 new PdfReader(bos.toByteArray()), 4);
         PdfImportedPage importPage4 = copy.getImportedPage(
                 new PdfReader(bos.toByteArray()), 5);
+        PdfImportedPage importPage5 = copy.getImportedPage(
+                new PdfReader(bos.toByteArray()), 6);
+        PdfImportedPage importPage6 = copy.getImportedPage(
+                new PdfReader(bos.toByteArray()), 7);
         copy.addPage(importPage);
         copy.addPage(importPage1);
         copy.addPage(importPage2);
         copy.addPage(importPage3);
         copy.addPage(importPage4);
+        copy.addPage(importPage5);
+        copy.addPage(importPage6);
         doc.close();
         reader.close();
 

+ 104 - 0
winsea-haixin-plugin-wangluohuoyun/src/main/resources/mapper/CommonRouteMapper.xml

@@ -2,4 +2,108 @@
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="com.yh.saas.plugin.yiliangyiyun.mapper.CommonRouteMapper">
 
+    <!-- 获得常用路线总数 -->
+    <select id="getCountByCondition" parameterType="Map" resultType="java.lang.Integer">
+        select
+        count(id)
+        FROM common_route
+        WHERE
+        delete_flag = '0'
+        <if test="commonId != null and commonId != ''">
+            AND common_id = #{commonId}
+        </if>
+    </select>
+
+    <!-- 常用路线列表查询 -->
+    <select id="getListByCondition" parameterType="Map"
+            resultType="com.yh.saas.plugin.yiliangyiyun.entity.CommonRoute">
+        SELECT
+        id,
+        common_id as commonId,
+        driver_nickname as driverNickname,
+        driver_portrait as driverPortrait,
+        send_province as sendProvince,
+        send_city as sendCity,
+        send_area as sendArea,
+        unload_province as unloadProvince,
+        unload_city as unloadCity,
+        unload_area as unloadArea
+        FROM common_route
+        WHERE
+        delete_flag = '0'
+        <if test="commonId != null and commonId != ''">
+            AND common_id = #{commonId}
+        </if>
+        ORDER BY create_date DESC
+        <if test="currentPage != null and currentPage != ''">
+            LIMIT ${startRecord}, ${pageSize}
+        </if>
+    </select>
+
+
+
+    <!-- 获得车友司机总数 -->
+    <select id="getCountByDriverCondition" parameterType="Map" resultType="java.lang.Integer">
+        select
+        count(distinct common_id)
+        FROM common_route
+        WHERE
+        delete_flag = '0'
+        <if test="sendProvince != null and sendProvince != ''">
+            AND (lower(send_province) like lower(CONCAT('%',#{sendProvince},'%')))
+        </if>
+        <if test="sendCity != null and sendCity != ''">
+            AND (lower(send_city) like lower(CONCAT('%',#{sendCity},'%')))
+        </if>
+        <if test="sendArea != null and sendArea != ''">
+            AND (lower(send_area) like lower(CONCAT('%',#{sendArea},'%')))
+        </if>
+        <if test="unloadProvince != null and unloadProvince != ''">
+            AND (lower(unload_province) like lower(CONCAT('%',#{unloadProvince},'%')))
+        </if>
+        <if test="unloadCity != null and unloadCity != ''">
+            AND (lower(unload_city) like lower(CONCAT('%',#{unloadCity},'%')))
+        </if>
+        <if test="unloadArea != null and unloadArea != ''">
+            AND (lower(unload_area) like lower(CONCAT('%',#{unloadArea},'%')))
+        </if>
+    </select>
+
+    <!-- 车友司机列表查询 -->
+    <select id="getListByDriverCondition" parameterType="Map"
+            resultType="com.yh.saas.plugin.yiliangyiyun.entity.CommonRoute">
+        SELECT
+        id,
+        common_id as commonId,
+        driver_nickname as driverNickname,
+        driver_portrait as driverPortrait,
+        GROUP_CONCAT(send_province,send_city,send_area) as startAdress,
+        GROUP_CONCAT(unload_province,unload_city,unload_area) as endAdress
+        FROM common_route
+        WHERE
+        delete_flag = '0'
+        <if test="sendProvince != null and sendProvince != ''">
+            AND (lower(send_province) like lower(CONCAT('%',#{sendProvince},'%')))
+        </if>
+        <if test="sendCity != null and sendCity != ''">
+            AND (lower(send_city) like lower(CONCAT('%',#{sendCity},'%')))
+        </if>
+        <if test="sendArea != null and sendArea != ''">
+            AND (lower(send_area) like lower(CONCAT('%',#{sendArea},'%')))
+        </if>
+        <if test="unloadProvince != null and unloadProvince != ''">
+            AND (lower(unload_province) like lower(CONCAT('%',#{unloadProvince},'%')))
+        </if>
+        <if test="unloadCity != null and unloadCity != ''">
+            AND (lower(unload_city) like lower(CONCAT('%',#{unloadCity},'%')))
+        </if>
+        <if test="unloadArea != null and unloadArea != ''">
+            AND (lower(unload_area) like lower(CONCAT('%',#{unloadArea},'%')))
+        </if>
+        GROUP BY common_id
+        ORDER BY create_date DESC
+        <if test="currentPage != null and currentPage != ''">
+            LIMIT ${startRecord}, ${pageSize}
+        </if>
+    </select>
 </mapper>

+ 10 - 32
winsea-haixin-plugin-wangluohuoyun/src/main/resources/mapper/EvaluateInfoMapper.xml

@@ -15,25 +15,14 @@
             AND satisfaction = 1
         </if>
         <if test="flag == 1">
-            <if test="driverId != null and driverId != ''">
-                AND driver_id = #{driverId}
-            </if>
-            <if test="ownerId != null and ownerId != ''">
-                AND owner_id = #{ownerId}
+            <if test="evaluatorId != null and evaluatorId != ''">
+                AND evaluator_id = #{evaluatorId}
             </if>
         </if>
         <if test="flag == 2">
-            <if test="driverId != null and driverId != ''">
-                AND driver_id = #{driverId}
-                AND owner_id != null
-            </if>
-            <if test="ownerId != null and ownerId != ''">
-                AND owner_id = #{ownerId}
-                AND driver_id != null
+            <if test="evaluatoredId != null and evaluatoredId != ''">
+                AND evaluatored_id = #{evaluatoredId}
             </if>
-        </if>
-        <if test="searchType != null and searchType != ''">
-
         </if>
         <if test="searchKeyWord != null and searchKeyWord != ''">
             AND (lower(order_number) like lower(CONCAT('%',#{searchKeyWord},'%')))
@@ -45,8 +34,8 @@
             resultType="com.yh.saas.plugin.yiliangyiyun.entity.EvaluateInfo">
         SELECT
         id,
-        driver_id as driverId,
-        owner_id as ownerId,
+        evaluator_id as evaluatorId,
+        evaluatored_id as evaluatoredId,
         driver_name as driverName,
         owner_name as ownerName,
         order_id as orderId,
@@ -79,25 +68,14 @@
         </if>
 
         <if test="flag == 1">
-            <if test="driverId != null and driverId != ''">
-                AND driver_id = #{driverId}
-            </if>
-            <if test="ownerId != null and ownerId != ''">
-                AND owner_id = #{ownerId}
+            <if test="evaluatorId != null and evaluatorId != ''">
+                AND evaluator_id = #{evaluatorId}
             </if>
         </if>
         <if test="flag == 2">
-            <if test="driverId != null and driverId != ''">
-                AND driver_id = #{driverId}
-                AND owner_id != null
-            </if>
-            <if test="ownerId != null and ownerId != ''">
-                AND owner_id = #{ownerId}
-                AND driver_id != null
+            <if test="evaluatoredId != null and evaluatoredId != ''">
+                AND evaluatored_id = #{evaluatoredId}
             </if>
-        </if>
-        <if test="searchType != null and searchType != ''">
-
         </if>
         <if test="searchKeyWord != null and searchKeyWord != ''">
             AND (lower(order_number) like lower(CONCAT('%',#{searchKeyWord},'%')))

+ 56 - 0
winsea-haixin-plugin-wangluohuoyun/src/main/resources/mapper/FleetInfoMapper.xml

@@ -2,4 +2,60 @@
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="com.yh.saas.plugin.yiliangyiyun.mapper.FleetInfoMapper">
 
+    <!-- 获得车队列表总数 -->
+    <select id="getCountByCondition" parameterType="Map" resultType="java.lang.Integer">
+        select
+        count(id)
+        FROM fleet_info
+        WHERE
+        delete_flag = '0'
+        AND status_key = '5'
+        <if test="province != null and province != ''">
+            AND (lower(province) like lower(CONCAT('%',#{province},'%')))
+        </if>
+        <if test="city != null and city != ''">
+            AND (lower(city) like lower(CONCAT('%',#{city},'%')))
+        </if>
+        <if test="searchKeyWord != null and searchKeyWord != ''">
+            AND (lower(fleet_name) like lower(CONCAT('%',#{searchKeyWord},'%'))
+            OR lower(fleet_profile) like lower(CONCAT('%',#{searchKeyWord},'%')))
+        </if>
+    </select>
+
+    <!-- 车队列表列表查询 -->
+    <select id="getListByCondition" parameterType="Map"
+            resultType="com.yh.saas.plugin.yiliangyiyun.entity.FleetInfo">
+        SELECT
+        f.id,
+        f.common_id as commonId,
+        f.fleet_name as fleetName,
+        f.province,
+        f.city,
+        f.area,
+        f.fleet_profile as fleetProfile,
+        f.cover_url as coverUrl,
+        f.fleet_url as fleetUrl,
+        fm.status as fleetMemberStatus,
+        (SELECT group_concat(driver_portrait) from fleet_member_info m where m.fleet_id = f.id
+        and m.delete_flag = 0 and m.status_key = 5 LIMIT 3) as fleetMemberUrl
+        FROM fleet_info f
+        LEFT JOIN fleet_member_info fm on fm.fleet_id = f.id and fm.delete_flag = 0 and fm.common_id = #{commonId}
+        WHERE
+        f.delete_flag = '0'
+        AND f.status_key = '5'
+        <if test="province != null and province != ''">
+            AND (lower(f.province) like lower(CONCAT('%',#{province},'%')))
+        </if>
+        <if test="city != null and city != ''">
+            AND (lower(f.city) like lower(CONCAT('%',#{city},'%')))
+        </if>
+        <if test="searchKeyWord != null and searchKeyWord != ''">
+            AND (lower(f.fleet_name) like lower(CONCAT('%',#{searchKeyWord},'%'))
+            OR lower(f.fleet_profile) like lower(CONCAT('%',#{searchKeyWord},'%')))
+        </if>
+        ORDER BY f.create_date DESC
+        <if test="currentPage != null and currentPage != ''">
+            LIMIT ${startRecord}, ${pageSize}
+        </if>
+    </select>
 </mapper>

+ 155 - 0
winsea-haixin-plugin-wangluohuoyun/src/main/resources/mapper/FleetMemberInfoMapper.xml

@@ -2,4 +2,159 @@
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="com.yh.saas.plugin.yiliangyiyun.mapper.FleetMemberInfoMapper">
 
+    <!-- 获得我的车队列表总数 -->
+    <select id="getCountByCondition" parameterType="Map" resultType="java.lang.Integer">
+        select
+        count(f.id)
+        FROM fleet_member_info m
+        LEFT JOIN fleet_info f on m.fleet_id = f.id and f.delete_flag = 0
+        WHERE
+        m.delete_flag = '0'
+        AND m.status_key = '5'
+        AND m.common_id = #{commonId}
+        <if test="searchKeyWord != null and searchKeyWord != ''">
+            AND (lower(f.fleet_name) like lower(CONCAT('%',#{searchKeyWord},'%')))
+        </if>
+    </select>
+
+    <!-- 我的车队列表列表查询 -->
+    <select id="getListByCondition" parameterType="Map"
+            resultType="com.yh.saas.plugin.yiliangyiyun.entity.FleetMemberInfo">
+        SELECT
+        m.id,
+        m.common_id as commonId,
+        m.captain_flag as captainFlag,
+        m.fleet_id as fleetId,
+        m.announcement,
+        f.fleet_name as fleetName,
+        f.province as province,
+        f.city as city,
+        f.area as area,
+        f.cover_url as coverUrl,
+        (CASE WHEN m.captain_flag = 1 THEN f.status ELSE null END) as fleetStatus
+        FROM fleet_member_info m
+        LEFT JOIN fleet_info f on m.fleet_id = f.id and f.delete_flag = 0
+        WHERE
+        m.delete_flag = '0'
+        AND m.status_key = '5'
+        AND m.common_id = #{commonId}
+        <if test="searchKeyWord != null and searchKeyWord != ''">
+            AND (lower(f.fleet_name) like lower(CONCAT('%',#{searchKeyWord},'%')))
+        </if>
+        ORDER BY m.captain_flag DESC , m.create_date DESC
+        <if test="currentPage != null and currentPage != ''">
+            LIMIT ${startRecord}, ${pageSize}
+        </if>
+    </select>
+
+
+    <!-- 获得入队申请列表总数 -->
+    <select id="getTeamApplicationCountByCondition" parameterType="Map" resultType="java.lang.Integer">
+        select
+        count(m.id)
+        FROM fleet_member_info m
+        LEFT JOIN fleet_info f on m.fleet_id = f.id and f.delete_flag = 0 and f.common_id = #{commonId}
+        WHERE
+        m.delete_flag = '0'
+        and f.common_id = #{commonId}
+        and m.exhibition_delete_flag = 0
+    </select>
+
+    <!-- 入队申请列表列表查询 -->
+    <select id="getTeamApplicationListByCondition" parameterType="Map"
+            resultType="com.yh.saas.plugin.yiliangyiyun.entity.FleetMemberInfo">
+        SELECT
+        m.id,
+        m.common_id as commonId,
+        m.driver_nickname as driverNickname,
+        m.driver_portrait as driverPortrait,
+        m.status,
+        m.status_key as statusKey,
+        f.fleet_name as fleetName
+        FROM fleet_member_info m
+        LEFT JOIN fleet_info f on m.fleet_id = f.id and f.delete_flag = 0 and f.common_id = #{commonId}
+        WHERE
+        m.delete_flag = '0'
+        and f.common_id = #{commonId}
+        and m.exhibition_delete_flag = 0
+        ORDER BY m.status_key ASC , m.create_date DESC
+        <if test="currentPage != null and currentPage != ''">
+            LIMIT ${startRecord}, ${pageSize}
+        </if>
+    </select>
+
+
+    <!-- 获得车队邀请列表总数 -->
+    <select id="getTeamInvitationCountByCondition" parameterType="Map" resultType="java.lang.Integer">
+        select
+        count(id)
+        FROM fleet_member_info
+        WHERE
+        delete_flag = '0'
+        AND common_id = #{commonId}
+        AND exhibition_delete_flag = 0
+    </select>
+
+    <!-- 车队邀请列表列表查询 -->
+    <select id="getTeamInvitationListByCondition" parameterType="Map"
+            resultType="com.yh.saas.plugin.yiliangyiyun.entity.FleetMemberInfo">
+        SELECT
+        m.id,
+        m.common_id as commonId,
+        m.status,
+        m.status_key as statusKey,
+        f.fleet_name as fleetName,
+        f.cover_url as coverUrl
+        FROM fleet_member_info m
+        LEFT JOIN fleet_info f on m.fleet_id = f.id and f.delete_flag = 0
+        WHERE
+        m.delete_flag = '0'
+        AND m.common_id = #{commonId}
+        AND m.exhibition_delete_flag = 0
+        ORDER BY m.status_key ASC , m.create_date DESC
+        <if test="currentPage != null and currentPage != ''">
+            LIMIT ${startRecord}, ${pageSize}
+        </if>
+    </select>
+
+
+    <!-- 获得车队成员列表总数 -->
+    <select id="getCountByMemberCondition" parameterType="Map" resultType="java.lang.Integer">
+        select
+        count(id)
+        FROM fleet_member_info
+        WHERE
+        delete_flag = '0'
+        AND status_key = '5'
+        AND fleet_id = #{fleetId}
+        <if test="searchKeyWord != null and searchKeyWord != ''">
+            AND (lower(driver_nickname) like lower(CONCAT('%',#{searchKeyWord},'%')))
+        </if>
+    </select>
+
+    <!-- 车队成员列表列表查询 -->
+    <select id="getListByMemberCondition" parameterType="Map"
+            resultType="com.yh.saas.plugin.yiliangyiyun.entity.FleetMemberInfo">
+        SELECT
+        id,
+        common_id as commonId,
+        driver_nickname as driverNickname,
+        driver_portrait as driverPortrait,
+        captain_flag as captainFlag,
+        status,
+        status_key as statusKey
+        FROM fleet_member_info
+        WHERE
+        delete_flag = '0'
+        AND status_key = '5'
+        AND captain_flag != '1'
+        AND fleet_id = #{fleetId}
+        <if test="searchKeyWord != null and searchKeyWord != ''">
+            AND (lower(driver_nickname) like lower(CONCAT('%',#{searchKeyWord},'%')))
+        </if>
+        ORDER BY captain_flag DESC , create_date DESC
+        <if test="currentPage != null and currentPage != ''">
+            LIMIT ${startRecord}, ${pageSize}
+        </if>
+    </select>
 </mapper>

+ 3 - 1
winsea-haixin-plugin-wangluohuoyun/src/main/resources/mapper/OrderInfoMapper.xml

@@ -182,6 +182,7 @@
         SELECT
         o.id,
         o.order_no as orderNo,
+        o.cargo_common_id as cargoCommonId,
         o.common_id as commonId,
         o.goods_name as goodsName,
         o.send_private as sendPrivate,
@@ -204,7 +205,8 @@
         o.cargo_owner_status_key as cargoOwnerStatusKey,
         o.create_date as createDate,
         o.update_date as updateDate,
-        d.driver_call as driverCall
+        d.driver_call as driverCall,
+        d.id as driverId
         FROM order_info o
         LEFT JOIN driver_info d on d.common_id = o.common_id and d.delete_flag = 0
         WHERE o.delete_flag = '0'