| | |
| | | @ApiOperation(value = "获取司机钱包明细", tags = {"司机端-个人中心"}, notes = "") |
| | | @ApiImplicitParams({ |
| | | @ApiImplicitParam(value = "日期", name = "time", required = true, dataType = "string"), |
| | | @ApiImplicitParam(value = "类型(1=收入,3=充值,4=支出,7=优惠券,8=保险)", name = "type", required = true, dataType = "int"), |
| | | @ApiImplicitParam(value = "类型(1=收入,3=充值,4=支出,7=优惠券,8=保险,9=信息费,10=平台充值)", name = "type", required = true, dataType = "int"), |
| | | @ApiImplicitParam(value = "页码,首页1", name = "pageNum", required = true, dataType = "int"), |
| | | @ApiImplicitParam(value = "页条数", name = "pageSize", required = true, dataType = "int"), |
| | | @ApiImplicitParam(name = "Authorization", value = "用户token(Bearer +token)", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....") |
| | |
| | | * @return |
| | | */ |
| | | public Driver setDriverParamete(Driver driver, DriverRegisterWarpper driverRegisterWarpper) throws Exception{ |
| | | driver.setName(driverRegisterWarpper.getName()); |
| | | driver.setSex(driverRegisterWarpper.getSex()); |
| | | driver.setAvatar(driverRegisterWarpper.getAvatar()); |
| | | driver.setPhone(driverRegisterWarpper.getPhone()); |
| | | driver.setEmergencyContact(driverRegisterWarpper.getEmergencyContact()); |
| | | driver.setEmergencyPhone(driverRegisterWarpper.getEmergencyPhone()); |
| | | driver.setIdcard(driverRegisterWarpper.getIdcard()); |
| | | driver.setIdcardBack(driverRegisterWarpper.getIdcardBack()); |
| | | driver.setIdcardFront(driverRegisterWarpper.getIdcardFront()); |
| | | driver.setDriverLicenseNumber(driverRegisterWarpper.getDriverLicenseNumber()); |
| | | driver.setDriverLicense(driverRegisterWarpper.getDriverLicense()); |
| | | driver.setFirstCertificateTime(driverRegisterWarpper.getFirstCertificateTime()); |
| | | //注册地 |
| | | String code = driverRegisterWarpper.getCode(); |
| | | BranchOffice branchOffice = branchOfficeService.selectOne(new EntityWrapper<BranchOffice>().eq("districtCode", code).eq("status", 1)); |
| | |
| | | * 合适司:积分 > 评分 > 距离 |
| | | * 3.司机没有接单直接将订单置入大厅 |
| | | */ |
| | | try { |
| | | boolean lock = redisUtil.lock(5); |
| | | if(!lock){ |
| | | int num1 = 1; |
| | | while (num1 <= 10){ |
| | | Thread.sleep(3000);//等待3秒 |
| | | lock = redisUtil.lock(5); |
| | | if(lock){ |
| | | break; |
| | | }else{ |
| | | num1++; |
| | | } |
| | | } |
| | | } |
| | | if(!lock){ |
| | | redisUtil.unlock(); |
| | | order.setHallOrder(1); |
| | | this.updateById(order); |
| | | ExtraPushOrder(order); |
| | | return; |
| | | } |
| | | SystemConfig systemConfig = systemConfigService.selectOne(new EntityWrapper<SystemConfig>().eq("type", 1)); |
| | | if(null == systemConfig){ |
| | | redisUtil.unlock(); |
| | | return; |
| | | } |
| | | JSONObject jsonObject = JSON.parseObject(systemConfig.getContent()); |
| | |
| | | Double score = null; |
| | | Double d = null; |
| | | for (Driver driver1 : drivers) { |
| | | String value = redisUtil.getValue("DRIVER" + driver1.getId()); |
| | | if(ToolUtil.isEmpty(value)){ |
| | | continue; |
| | | } |
| | | DriverWork driverWork = driverWorkService.selectOne(new EntityWrapper<DriverWork>().eq("driverId", driver1.getId()).eq("status", 1)); |
| | | if(null == driverWork){ |
| | | continue; |
| | |
| | | continue; |
| | | } |
| | | if(integral.compareTo(driver1.getIntegral()) == 0 && score.compareTo(driver1.getScore()) == 0){//积分相同/评分相同对比距离 |
| | | String value = redisUtil.getValue("DRIVER" + driver1.getId()); |
| | | if(ToolUtil.isEmpty(value)){ |
| | | continue; |
| | | } |
| | | |
| | | Map<String, Double> distance = GeodesyUtil.getDistance(value, order.getStartLng() + "," + order.getStartLat()); |
| | | Double wgs84 = distance.get("WGS84"); |
| | | if(d == null || d.compareTo(wgs84) > 0){ |
| | |
| | | } |
| | | |
| | | if(null != driver){ |
| | | Driver driver1 = driverService.selectById(driver); |
| | | driver1.setServerStatus(2); |
| | | driverService.updateById(driver1); |
| | | |
| | | pushUtil.pushGrabOrder(driver, 2, order.getId(), num4); |
| | | //创建定时任务处理订单到大厅 |
| | | new Timer().schedule(new TimerTask() { |
| | | @Override |
| | | public void run() { |
| | | driver1.setServerStatus(1); |
| | | driverService.updateById(driver1); |
| | | Order order1 = OrderServiceImpl.this.selectById(order.getId()); |
| | | if(order1.getState() == 101 || order1.getState() == 201){ |
| | | |
| | | order1.setHallOrder(1); |
| | | OrderServiceImpl.this.updateById(order1); |
| | | |
| | |
| | | this.updateById(order); |
| | | ExtraPushOrder(order); |
| | | } |
| | | redisUtil.unlock(); |
| | | }catch (Exception e){ |
| | | redisUtil.unlock(); |
| | | e.printStackTrace(); |
| | | } |
| | | |
| | | } |
| | | |
| | | |
| | |
| | | orderRefusalService.insert(orderRefusal); |
| | | |
| | | Driver driver = driverService.selectById(uid); |
| | | driver.setServerStatus(1); |
| | | driverService.updateById(driver); |
| | | //扣除积分 |
| | | SystemConfig systemConfig = systemConfigService.selectOne(new EntityWrapper<SystemConfig>().eq("type", 4)); |
| | | if(null != systemConfig) { |
| | |
| | | if(count > 0){ |
| | | return ResultUtil.error("还有未完成的订单"); |
| | | } |
| | | boolean lock = redisUtil.lock(); |
| | | boolean lock = redisUtil.lock(5); |
| | | if(!lock){ |
| | | int num1 = 1; |
| | | while (num1 <= 10){ |
| | | Thread.sleep(3000);//等待3秒 |
| | | lock = redisUtil.lock(5); |
| | | if(lock){ |
| | | break; |
| | | }else{ |
| | | num1++; |
| | | } |
| | | } |
| | | } |
| | | if(!lock){ |
| | | return ResultUtil.error("请重试"); |
| | | } |
| | |
| | | private String code; |
| | | @ApiModelProperty("时间") |
| | | private Long createTime; |
| | | @ApiModelProperty("类型(1=订单收入,3=充值,4=提现,7=优惠券收入,8=保险支付)") |
| | | @ApiModelProperty("类型(1=订单收入,3=充值,4=提现,7=优惠券收入,8=保险支付,9=信息费,10=平台充值)") |
| | | private Integer type; |
| | | @ApiModelProperty("金额") |
| | | private Double amount; |
| | |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | import lombok.Data; |
| | | |
| | | import java.util.Date; |
| | | |
| | | /** |
| | | * 司机注册 |
| | | * @author pzb |
| | |
| | | public class DriverRegisterWarpper { |
| | | @ApiModelProperty(value = "注册区域code", required = true, dataType = "string") |
| | | private String code; |
| | | @ApiModelProperty(value = "姓名", required = true, dataType = "string") |
| | | private String name; |
| | | @ApiModelProperty(value = "性别(1=男,2=女)", required = true, dataType = "int") |
| | | private Integer sex; |
| | | @ApiModelProperty(value = "头像", required = true, dataType = "string") |
| | | private String avatar; |
| | | @ApiModelProperty(value = "手机号码", required = true, dataType = "string") |
| | |
| | | private String emergencyContact; |
| | | @ApiModelProperty(value = "紧急联系人电话", required = true, dataType = "string") |
| | | private String emergencyPhone; |
| | | @ApiModelProperty(value = "身份证号码", required = true, dataType = "string") |
| | | private String idcard; |
| | | @ApiModelProperty(value = "身份证正面照", required = true, dataType = "string") |
| | | private String idcardFront; |
| | | @ApiModelProperty(value = "身份证背面照", required = true, dataType = "string") |
| | | private String idcardBack; |
| | | @ApiModelProperty(value = "驾驶证号码", required = true, dataType = "string") |
| | | private String driverLicenseNumber; |
| | | @ApiModelProperty(value = "初领驾驶证时间", required = true, dataType = "string") |
| | | private Date firstCertificateTime; |
| | | @ApiModelProperty(value = "驾驶证照片", required = true, dataType = "string") |
| | | private String driverLicense; |
| | | @ApiModelProperty(value = "邀约人类型(1=用户,2=司机)", required = false, dataType = "int") |