zy 7 mesi fa
parent
commit
b441155b6f

+ 3 - 1
bus-biz/src/main/java/bus/service/BCoursePreService.java

@@ -33,7 +33,7 @@ public interface BCoursePreService extends IService<BCoursePrePo> {
      * @param preId
      * @return
      */
-    List<BUserPreDetailDto> getPreUserByCourse(String courseId, String preId);
+    List<BUserPreDetailDto> getPreUserByCourse(String courseId, String preId,String preDate);
 
 
     /**
@@ -49,6 +49,8 @@ public interface BCoursePreService extends IService<BCoursePrePo> {
     List<BCourseUserPrePageDto> getPreUserNum(BCourseUserPreReqDto reqDto);
 
    void selectBusFc(PreBusStatusDto preBusStatusDto);
+
+    void updateFcStatus(String preBusId);
     /**
      * 详情
      * @param id

+ 34 - 12
bus-biz/src/main/java/bus/service/impl/BCoursePreServiceImpl.java

@@ -1,20 +1,14 @@
 package bus.service.impl;
 
-import bus.mapper.BPreBusMapper;
-import bus.mapper.BUserPreMapper;
-import bus.mapper.WChatUserMapper;
+import bus.mapper.*;
 import bus.model.SnowflakeUtil;
 import bus.model.dto.*;
 import bus.model.dto.req.BCourseUserPrePageDto;
 import bus.model.dto.req.BCourseUserPreReqDto;
 import bus.model.dto.req.BUserPreDetailDto;
 import bus.model.dto.req.PreBusStatusDto;
-import bus.model.po.BPreBusPo;
-import bus.model.po.BUserPrePo;
-import bus.model.po.WChatUserPo;
+import bus.model.po.*;
 import bus.model.vo.BCoursePreVo;
-import bus.model.po.BCoursePrePo;
-import bus.mapper.BCoursePreMapper;
 
 import bus.model.vo.BUserPreVo;
 import bus.service.BCoursePreService;
@@ -22,11 +16,13 @@ import bus.service.BUserPreService;
 import cn.hutool.core.bean.BeanUtil;
 import cn.hutool.core.collection.CollectionUtil;
 import cn.hutool.core.date.DateUtil;
+import cn.hutool.core.util.StrUtil;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.orcas.common.sso.model.ExtInfo;
 import com.orcas.iso.config.common.user.CurrentUserHolder;
+import com.qzwisdom.qzframework.core.tool.exception.BusinessException;
 import org.springframework.data.web.config.QuerydslWebConfiguration;
 import org.springframework.stereotype.Service;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -48,6 +44,9 @@ public class BCoursePreServiceImpl extends ServiceImpl<BCoursePreMapper, BCourse
     @Autowired
     private BCoursePreMapper bCoursePreMapper;
     @Autowired
+
+    private BBusInfoMapper bBusInfoMapper;
+    @Autowired
     private BUserPreMapper bUserPreMapper;
     @Autowired
     private BPreBusMapper bPreBusMapper;
@@ -110,12 +109,13 @@ public class BCoursePreServiceImpl extends ServiceImpl<BCoursePreMapper, BCourse
     }
 
     @Override
-    public List<BUserPreDetailDto> getPreUserByCourse(String courseId, String preId) {
+    public List<BUserPreDetailDto> getPreUserByCourse(String courseId, String preId,String preDate) {
         List<BUserPreDetailDto> ss = new ArrayList<>();
         QueryWrapper<BUserPrePo> queryWrapper = new QueryWrapper<>();
         queryWrapper.select("distinct user_id");
         queryWrapper.eq("pre_id",preId);
         queryWrapper.eq("course_id",courseId);
+        queryWrapper.eq("pre_date",preDate);
         List<BUserPrePo> list = bUserPreMapper.selectList(queryWrapper);
         if(CollectionUtil.isEmpty(list)){
          return CollectionUtil.newArrayList();
@@ -133,7 +133,7 @@ public class BCoursePreServiceImpl extends ServiceImpl<BCoursePreMapper, BCourse
             if(wChatUserPo !=null) {
                 detailDto.setWxName(wChatUserPo.getWxName());
                 detailDto.setWxPhone(wChatUserPo.getWxPhone());
-                detailDto.setPreDate(DateUtil.format(bUserPrePo.getPreDate(),"yyyy-MM-dd"));
+                detailDto.setPreDate(preDate);
                 ss.add(detailDto);
             }
         }
@@ -235,16 +235,38 @@ public class BCoursePreServiceImpl extends ServiceImpl<BCoursePreMapper, BCourse
 
     @Override
     public void selectBusFc(PreBusStatusDto preBusStatusDto) {
+
         ExtInfo extInfo = CurrentUserHolder.get();
         String preBusId = preBusStatusDto.getPreBusId();
         BPreBusPo bPreBusPo = bPreBusMapper.selectById(preBusId);
-        bPreBusPo.setBusId(preBusStatusDto.getBusId());
-        bPreBusPo.setPreStatus(preBusStatusDto.getPreStatus());
+        List<String> busIdList = preBusStatusDto.getBusIdList();
+        if(CollectionUtil.isEmpty(busIdList)){
+            throw new BusinessException("请选择车辆");
+        }
+        String busIdStr = String.join(",", busIdList);
+        QueryWrapper<BBusInfoPo>  queryWrapper = new QueryWrapper<>();
+        queryWrapper.in("id",busIdList);
+        List<BBusInfoPo> bBusInfoPos = bBusInfoMapper.selectList(queryWrapper);
+        if(CollectionUtil.isEmpty(bBusInfoPos) ||bBusInfoPos.size() != busIdList.size()){
+            throw new BusinessException("车辆信息异常");
+        }
+        List<String> busNoList = bBusInfoPos.stream().map(BBusInfoPo::getBusNo).collect(Collectors.toList());
+        String busNoStr = String.join(",", busNoList);
+        bPreBusPo.setBusId(busIdStr);
+        bPreBusPo.setBusNo(busNoStr);
+        bPreBusPo.setPreStatus("1");
         bPreBusPo.setUpdaterId(extInfo.getUserId());
         bPreBusPo.setUpdateTime(new Date());
         bPreBusMapper.updateById(bPreBusPo);
     }
 
+    @Override
+    public void updateFcStatus(String preBusId ) {
+        BPreBusPo bPreBusPo = bPreBusMapper.selectById(preBusId);
+        bPreBusPo.setPreStatus("2");
+        bPreBusMapper.updateById(bPreBusPo);
+    }
+
     /**
      * 详情
      * @param id

+ 4 - 2
bus-biz/src/main/resources/mapper/BCoursePreMapper.xml

@@ -24,11 +24,12 @@
           parameterType="bus.model.dto.req.BCourseUserPreReqDto">
     SELECT
       a.id as preId,
-      count(a.id) as userNum,
+      count(DISTINCT b.user_id) as userNum,
       a.course_id as courseId,
       a.pre_time as preTime,
       b.pre_date as preDate,
       c.course_name as courseName,
+      d.id as preBusId,
       d.bus_code as busCode,
       d.pre_status as preStatus,
       d.id as preBusId
@@ -45,7 +46,8 @@
       <if test="courseId != null and courseId != ''">
         and a.course_id = #{courseId}
       </if>
-    GROUP BY  a.id asc
+     group by b.pre_id,b.pre_date,a.course_id
+     ORDER BY  a.course_id ASC,b.pre_date asc,a.pre_time asc
   </select>
 
 </mapper>

+ 4 - 5
bus-common/src/main/java/bus/model/dto/req/PreBusStatusDto.java

@@ -3,14 +3,13 @@ package bus.model.dto.req;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 
+import java.util.List;
+
 @Data
 public class PreBusStatusDto {
    @ApiModelProperty("预约时刻发车id")
     private String preBusId;
-    @ApiModelProperty("0未发车 1已发车 2预约取消")
-    private String preStatus;
-    @ApiModelProperty("车牌号")
-    private String busCode;
+
     @ApiModelProperty("车辆id")
-    private String busId;
+    private List<String> busIdList;
 }

+ 1 - 1
bus-common/src/main/java/bus/model/po/BPreBusPo.java

@@ -24,7 +24,7 @@ public class BPreBusPo{
     private String preTime;
     private String busId;
     private String preStatus;
-    private String busCode;
+    private String busNo;
     private Date createTime;
     private Date updateTime;
     private String creatorId;

+ 12 - 2
bus-web/src/main/java/bus/controller/biz/BCoursePreController.java

@@ -56,8 +56,11 @@ public class BCoursePreController implements BaseController {
      */
     @ApiOperation("查询某路线时刻的人员list")
     @GetMapping(value = "getPreUserByCourse")
-    public List<BUserPreDetailDto> getPreUserByCourse(@RequestParam String courseId, @RequestParam String preId){
-        return bCoursePreService.getPreUserByCourse(courseId,preId);
+    public List<BUserPreDetailDto> getPreUserByCourse(@RequestParam("courseId") String courseId,
+                                                      @RequestParam("preId") String preId,
+                                                      @RequestParam("preDate") String preDate
+    ){
+        return bCoursePreService.getPreUserByCourse(courseId,preId,preDate);
     }
 
 
@@ -106,6 +109,13 @@ public class BCoursePreController implements BaseController {
         return "选择发车成功";
     }
 
+    @ApiOperation("取消发车")
+    @PostMapping(value = "updateFcStatus")
+    public String  updateFcStatus(@RequestParam String preBusId){
+        bCoursePreService.updateFcStatus(preBusId);
+        return "修改成功";
+    }
+
 
 //    /**
 //     * 详情