| | |
| | | private ITComplaintService tComplaintService; |
| | | |
| | | @Autowired |
| | | private ITOrderPrivateCarService orderPrivateCarService; |
| | | |
| | | @Autowired |
| | | private ITOrderTaxiService orderTaxiService; |
| | | |
| | | @Autowired |
| | | private ITOrderCrossCityService orderCrossCityService; |
| | | |
| | | @Autowired |
| | | private IUserService userService; |
| | | |
| | | @Autowired |
| | |
| | | if(ToolUtil.isEmpty(tDriver.getIdCard())){ |
| | | return "身份证号不能为空"; |
| | | } |
| | | Boolean b = UserUtil.idCardAuth(tDriver.getName(), tDriver.getIdCard()); |
| | | if(!b){ |
| | | return "司机姓名和身份证号不匹配"; |
| | | } |
| | | |
| | | if (1 == roleType){ //平台 |
| | | if (2 == companyType.intValue()){ |
| | |
| | | if(ToolUtil.isEmpty(tDriver.getIdCard())){ |
| | | return "身份证号不能为空"; |
| | | } |
| | | |
| | | Boolean b = UserUtil.idCardAuth(tDriver.getName(), tDriver.getIdCard()); |
| | | if(!b){ |
| | | return "司机姓名和身份证号不匹配"; |
| | | } |
| | | |
| | | if (1 == roleType){ //平台 |
| | | if (2 == companyType.intValue()){ |
| | | if (SinataUtil.isNotEmpty(oneId)){ |
| | |
| | | obj.setUpdateTime(new Date()); |
| | | obj.setUpdateUser(ShiroKit.getUser().getId()); |
| | | obj.setPlaceOfEmployment(tDriver.getPlaceOfEmployment()); |
| | | List<Integer> newServiceTypes = parseDriverServiceTypes(serverBox); |
| | | String unfinishedOrderError = validateDriverCancelledServiceUnfinishedOrders(tDriver.getId(), newServiceTypes); |
| | | if (unfinishedOrderError != null) { |
| | | return unfinishedOrderError; |
| | | } |
| | | tDriverService.updateAllColumnById(obj); |
| | | |
| | | //删除业务 |
| | |
| | | }).start(); |
| | | |
| | | return SUCCESS_TIP; |
| | | } |
| | | |
| | | private List<Integer> parseDriverServiceTypes(String serverBox) { |
| | | List<Integer> serviceTypes = new ArrayList<>(); |
| | | if (SinataUtil.isEmpty(serverBox)) { |
| | | return serviceTypes; |
| | | } |
| | | String[] serverArray = serverBox.split(","); |
| | | for (String serviceType : serverArray) { |
| | | if (SinataUtil.isNotEmpty(serviceType)) { |
| | | serviceTypes.add(Integer.valueOf(serviceType)); |
| | | } |
| | | } |
| | | return serviceTypes; |
| | | } |
| | | |
| | | private String validateDriverCancelledServiceUnfinishedOrders(Integer driverId, List<Integer> newServiceTypes) { |
| | | List<Integer> oldServiceTypes = getDriverServiceTypes(driverId); |
| | | if (oldServiceTypes.isEmpty()) { |
| | | return null; |
| | | } |
| | | if (oldServiceTypes.contains(1) && !newServiceTypes.contains(1) && hasUnfinishedPrivateCarOrder(driverId)) { |
| | | return "当前司机存在快车未完成订单,无法变动"; |
| | | } |
| | | if (oldServiceTypes.contains(2) && !newServiceTypes.contains(2) && hasUnfinishedTaxiOrder(driverId)) { |
| | | return "当前司机存在出租车未完成订单,无法变动"; |
| | | } |
| | | if (oldServiceTypes.contains(3) && !newServiceTypes.contains(3) && hasUnfinishedCrossCityOrder(driverId)) { |
| | | return "当前司机存在跨城出行未完成订单,无法变动"; |
| | | } |
| | | return null; |
| | | } |
| | | |
| | | private List<Integer> getDriverServiceTypes(Integer driverId) { |
| | | List<Integer> serviceTypes = new ArrayList<>(); |
| | | List<TDriverService> serviceList = tDriverServiceService.selectList(new EntityWrapper<TDriverService>().eq("driverId", driverId)); |
| | | for (TDriverService service : serviceList) { |
| | | if (service != null && service.getType() != null && !serviceTypes.contains(service.getType())) { |
| | | serviceTypes.add(service.getType()); |
| | | } |
| | | } |
| | | return serviceTypes; |
| | | } |
| | | |
| | | private boolean hasUnfinishedPrivateCarOrder(Integer driverId) { |
| | | return orderPrivateCarService.selectCount(new EntityWrapper<TOrderPrivateCar>() |
| | | .eq("isDelete", 1) |
| | | .eq("driverId", driverId) |
| | | .notIn("state", 8, 9, 10, 12)) > 0; |
| | | } |
| | | |
| | | private boolean hasUnfinishedTaxiOrder(Integer driverId) { |
| | | return orderTaxiService.selectCount(new EntityWrapper<TOrderTaxi>() |
| | | .eq("isDelete", 1) |
| | | .eq("driverId", driverId) |
| | | .notIn("state", 8, 9, 10, 12)) > 0; |
| | | } |
| | | |
| | | private boolean hasUnfinishedCrossCityOrder(Integer driverId) { |
| | | return orderCrossCityService.selectCount(new EntityWrapper<TOrderCrossCity>() |
| | | .eq("isDelete", 1) |
| | | .eq("driverId", driverId) |
| | | .notIn("state", 8, 9, 10, 12)) > 0; |
| | | } |
| | | |
| | | /** |
| | |
| | | if (count > 0){ |
| | | continue; |
| | | } |
| | | Boolean b = UserUtil.idCardAuth(zero, seven); |
| | | if(!b){ |
| | | drivers.add(zero); |
| | | continue; |
| | | } |
| | | //判断所属机构 |
| | | if (!one.equals("平台司机") && !one.equals("加盟司机")){ |
| | | return new ErrorTip(500, "所属机构内容不正确"); |
| | |
| | | continue; |
| | | } |
| | | |
| | | Boolean b = UserUtil.idCardAuth(zero, seven); |
| | | if(!b){ |
| | | drivers.add(zero); |
| | | continue; |
| | | } |
| | | //判断性别 |
| | | if (!two.equals("男") && !two.equals("女")){ |
| | | return new ErrorTip(500, "性别内容不正确"); |
| | |
| | | if (count > 0){ |
| | | continue; |
| | | } |
| | | Boolean b = UserUtil.idCardAuth(zero, four); |
| | | if(!b){ |
| | | drivers.add(zero); |
| | | continue; |
| | | } |
| | | |
| | | //判断性别 |
| | | if (!one.equals("男") && !one.equals("女")){ |
| | | return new ErrorTip(500, "性别内容不正确"); |