|
@@ -7,9 +7,11 @@ import com.leromro.common.core.controller.BaseController;
|
|
|
import com.leromro.common.core.domain.AjaxResult;
|
|
|
import com.leromro.common.core.domain.R;
|
|
|
import com.leromro.common.core.page.TableDataInfo;
|
|
|
+import com.leromro.common.utils.GeoUtils;
|
|
|
import com.leromro.common.utils.SecurityUtils;
|
|
|
import com.leromro.core.domain.PlatformFinance;
|
|
|
import com.leromro.core.domain.SecondOrder;
|
|
|
+import com.leromro.core.domain.dto.VolunteerStartOrderDTO;
|
|
|
import com.leromro.core.domain.vo.AppSecoundOrderInfoVO;
|
|
|
import com.leromro.core.domain.vo.VolunteerOrderStatisticsVO;
|
|
|
import com.leromro.core.domain.vo.VolunteerOrdersVO;
|
|
@@ -70,22 +72,33 @@ public class volunteerOrderController extends BaseController {
|
|
|
return R.ok(webSecondOrderInfo);
|
|
|
}
|
|
|
|
|
|
- @ApiOperation(value = "志愿者滑动,开始订单", notes = "目前只传secondOrderId(第二版再根据地址判断)")
|
|
|
- @GetMapping("/getTimesByDate/{secondOrderId}")
|
|
|
- public AjaxResult volunteerStartWork(@PathVariable Long secondOrderId){
|
|
|
+ @ApiOperation(value = "志愿者滑动,开始订单", notes = "目传secondOrderId,以及当前地址和收货地址的距离")
|
|
|
+ @PostMapping("/volunteerStartSecondOrder")
|
|
|
+ public AjaxResult volunteerStartWork(SecondOrder secondOrder){
|
|
|
UpdateWrapper<SecondOrder> updateWrapper = new UpdateWrapper<>();
|
|
|
- updateWrapper.eq("second_order_id",secondOrderId).set("order_status","3").set("update_time", DateTimeUtil.getNowTime()).set("service_start_time",DateTimeUtil.getNowTime());
|
|
|
+ SecondOrder secondOrder1 = secondOrderService.getById(secondOrder.getSecondOrderId());
|
|
|
+ //计算距离:
|
|
|
+ double v;
|
|
|
+ if (secondOrder.getServiceStartLongitude().isEmpty() && secondOrder.getServiceStartLatitude().isEmpty()){
|
|
|
+ throw new RuntimeException("获取您当前位置失败,请保持网络通畅并且打开位置权限后重新开始订单");
|
|
|
+ }else {
|
|
|
+ v = GeoUtils.calculateDistance( Double.parseDouble(secondOrder.getServiceStartLongitude()),
|
|
|
+ Double.parseDouble(secondOrder.getServiceStartLatitude()),
|
|
|
+ Double.parseDouble(secondOrder1.getLongitude()),
|
|
|
+ Double.parseDouble(secondOrder1.getLatitude()));
|
|
|
+ }
|
|
|
+ updateWrapper.eq("second_order_id",secondOrder.getSecondOrderId()).set("order_status","3").set("update_time", DateTimeUtil.getNowTime())
|
|
|
+ .set("service_start_time",DateTimeUtil.getNowTime()).set("start_service_distance",v).set("service_start_longitude",secondOrder.getServiceStartLongitude()).set("service_start_latitude",secondOrder.getServiceStartLatitude());
|
|
|
secondOrderService.update(updateWrapper);
|
|
|
//订单开始 根据secondOrderId修改主订单状态 修改为3
|
|
|
- mainOrderService.startService(secondOrderId);
|
|
|
+ mainOrderService.startService(secondOrder.getSecondOrderId());
|
|
|
// 通过websocket向客户发送消息,提示服务已开始
|
|
|
-
|
|
|
return AjaxResult.success();
|
|
|
}
|
|
|
|
|
|
- @ApiOperation(value = "志愿者滑动,结束订单并上传图片", notes = "传入seconderOrderId,以及图片拼接在一起的字符串 json对象参数")
|
|
|
+ @ApiOperation(value = "志愿者滑动,结束订单并上传图片", notes = "传入seconderOrderId,以及图片拼接在一起的字符串 普通参数")
|
|
|
@PostMapping("/volunteerFinishSecondOrder")
|
|
|
- public AjaxResult volunteerFinishWork(@RequestBody SecondOrder secondOrder){
|
|
|
+ public AjaxResult volunteerFinishWork(SecondOrder secondOrder){
|
|
|
return secondOrderService.volunteerFinishWork(secondOrder);
|
|
|
}
|
|
|
|