ebike-plus/ebike-user/src/main/java/com/cdzy/user/controller/EbikeOrderController.java

189 lines
5.5 KiB
Java
Raw Normal View History

2025-10-15 17:38:13 +08:00
package com.cdzy.user.controller;
2025-10-16 11:39:47 +08:00
import com.cdzy.common.model.response.JsonResult;
2025-10-31 17:02:53 +08:00
import com.cdzy.user.model.dto.EbikeUserCyclingDto;
2025-11-11 15:59:49 +08:00
import com.cdzy.user.model.dto.EbikeUserCyclingEndDto;
2025-10-29 17:01:46 +08:00
import com.cdzy.user.model.entity.EbikeOrder;
import com.cdzy.user.model.vo.EbikeUserAllOrdersVo;
2025-10-29 17:01:46 +08:00
import com.cdzy.user.service.EbikeOrderService;
2025-11-07 17:41:57 +08:00
import com.ebike.feign.model.dto.FeignEbikeDto;
2025-11-11 10:19:30 +08:00
import com.ebike.feign.model.dto.FeignEbikeUserBikeInfo;
2025-10-29 16:10:00 +08:00
import com.ebike.feign.model.dto.FeignOrderPaymentDto;
2025-11-07 17:41:57 +08:00
import com.ebike.feign.model.vo.FeignEbikeBikeRadiusVo;
2025-10-15 17:38:13 +08:00
import jakarta.annotation.Resource;
2025-11-10 16:29:17 +08:00
import jakarta.validation.constraints.NotNull;
2025-10-16 11:39:47 +08:00
import org.springframework.validation.annotation.Validated;
2025-10-29 14:06:51 +08:00
import org.springframework.web.bind.annotation.*;
2025-10-15 17:38:13 +08:00
2025-11-07 17:41:57 +08:00
import java.util.List;
2025-10-29 16:10:00 +08:00
2025-10-15 17:38:13 +08:00
/**
* 用户订单 控制层
*
2025-11-13 09:57:37 +08:00
* @author yanglei
* @since 2025-10-15 17:15
2025-10-15 17:38:13 +08:00
*/
@RestController
2025-10-29 17:01:46 +08:00
@RequestMapping("/ebikeOrder")
public class EbikeOrderController {
2025-10-15 17:38:13 +08:00
@Resource
2025-10-31 17:02:53 +08:00
private EbikeOrderService ebikeOrderService;
2025-10-15 17:38:13 +08:00
2025-11-11 15:59:49 +08:00
/**
* 车辆列表
*
* @param feignEbikeBikeRadiusVo 坐标信息
*/
@PostMapping("bikeList")
public JsonResult<?> bikeList(@RequestBody @Validated FeignEbikeBikeRadiusVo feignEbikeBikeRadiusVo) {
List<FeignEbikeDto> result = ebikeOrderService.userRadiusList(feignEbikeBikeRadiusVo);
return JsonResult.success(result);
}
/**
* 获取车辆基本信息
*
* @param bikeCode 车辆编码
*/
@GetMapping("queryBikeInfo")
public JsonResult<?> queryBikeInfo(@RequestParam("bikeCode") String bikeCode) {
FeignEbikeUserBikeInfo result = ebikeOrderService.queryBikeInfo(bikeCode);
return JsonResult.success(result);
}
2025-10-28 09:40:32 +08:00
/**
* 开始骑行生成订单开锁
*
2025-11-10 16:29:17 +08:00
* @param orderDto 骑行信息 返回订单开始时间开始点位
2025-10-28 09:40:32 +08:00
*/
2025-10-31 17:02:53 +08:00
@PostMapping("saveRide")
public JsonResult<?> saveRide(@RequestBody @Validated EbikeUserCyclingDto orderDto) {
2025-11-11 15:59:49 +08:00
EbikeOrder result = ebikeOrderService.saveRide(orderDto);
2025-11-10 16:29:17 +08:00
return JsonResult.success(result);
2025-10-31 17:02:53 +08:00
}
2025-10-28 09:40:32 +08:00
2025-10-16 11:39:47 +08:00
/**
* 查看用户是否有未完成订单
*
* @param userId 用户id
*/
@GetMapping("checkHistoryOrder")
2025-11-10 16:29:17 +08:00
public JsonResult<?> checkHistoryOrder(@Validated @NotNull(message = "用户id不能为空") @RequestParam("userId") Long userId) {
2025-10-31 17:02:53 +08:00
EbikeOrder userOrders = ebikeOrderService.checkHistoryOrder(userId);
2025-10-16 11:39:47 +08:00
return JsonResult.success(userOrders);
}
2025-10-15 17:38:13 +08:00
2025-11-11 15:59:49 +08:00
/**
* 完成骑行关锁还车
*
* @param endDto 骑行信息
*/
@PostMapping("doneRide")
public JsonResult<?> doneRide(@RequestBody @Validated EbikeUserCyclingEndDto endDto) {
2025-11-11 17:31:14 +08:00
Long orderId = ebikeOrderService.doneRide(endDto);
return JsonResult.success(orderId);
2025-11-11 15:59:49 +08:00
}
2025-10-29 16:10:00 +08:00
/**
* 订单支付
*
* @param orderPaymentDto 支付信息
*/
@PostMapping("payment")
public JsonResult<?> payment(@RequestBody @Validated FeignOrderPaymentDto orderPaymentDto) {
2025-10-31 17:02:53 +08:00
ebikeOrderService.payment(orderPaymentDto);
2025-10-29 16:10:00 +08:00
return JsonResult.success();
}
/**
* 订单退款申请
*
* @param orderId 订单ID
*/
@GetMapping("refundApply")
2025-10-29 17:01:46 +08:00
public JsonResult<?> refundApply(@RequestParam("orderId") Long orderId) {
2025-10-31 17:02:53 +08:00
ebikeOrderService.refundApply(orderId);
2025-10-29 16:10:00 +08:00
return JsonResult.success();
}
2025-10-29 14:06:51 +08:00
/**
* 订单退款
*
* @param orderId 订单ID
*/
@GetMapping("refund")
2025-10-29 17:01:46 +08:00
public JsonResult<?> refund(@RequestParam("orderId") Long orderId) {
2025-10-31 17:02:53 +08:00
ebikeOrderService.refund(orderId);
2025-10-29 14:06:51 +08:00
return JsonResult.success();
}
/**
* 订单退款完成
*
* @param orderId 订单ID
*/
@GetMapping("doneRefund")
2025-10-29 17:01:46 +08:00
public JsonResult<?> doneRefund(@RequestParam("orderId") Long orderId) {
2025-10-31 17:02:53 +08:00
ebikeOrderService.doneRefund(orderId);
2025-10-29 14:06:51 +08:00
return JsonResult.success();
}
/**
* 订单退款失败
*
* @param orderId 订单ID
*/
@GetMapping("failRefund")
2025-10-29 17:01:46 +08:00
public JsonResult<?> failRefund(@RequestParam("orderId") Long orderId) {
2025-10-31 17:02:53 +08:00
ebikeOrderService.failRefund(orderId);
2025-10-29 14:06:51 +08:00
return JsonResult.success();
}
2025-10-29 16:10:00 +08:00
/**
* 订单退款驳回
*
* @param orderId 订单ID
*/
@GetMapping("rejectRefund")
2025-10-29 17:01:46 +08:00
public JsonResult<?> rejectRefund(@RequestParam("orderId") Long orderId) {
2025-10-31 17:02:53 +08:00
ebikeOrderService.rejectRefund(orderId);
2025-10-29 16:10:00 +08:00
return JsonResult.success();
}
/**
* 根据用户订单表主键获取详细信
*
2025-10-31 17:02:53 +08:00
* @param orderId 用户订单表主键
2025-10-29 16:10:00 +08:00
*/
2025-10-31 17:02:53 +08:00
@GetMapping("getInfo/{orderId}")
public JsonResult<?> getInfo(@PathVariable("orderId") Long orderId) {
EbikeOrder userOrder = ebikeOrderService.getById(orderId);
2025-10-29 16:10:00 +08:00
return JsonResult.success(userOrder);
}
/**
* 根据用户订单表主键获取订单状态
*
* @param orderId 用户订单表主键
*/
@GetMapping("getOrderStatus/{orderId}")
public JsonResult<?> getOrderStatus(@PathVariable("orderId") Long orderId) {
Integer orderStatus = ebikeOrderService.getOrderStatus(orderId);
return JsonResult.success(orderStatus);
}
/**
* 根据用户订单表主键获取订单状态
*
* @param userId 用户订单表主键
*/
@GetMapping("getUserAllOrder")
public JsonResult<?> getUserAllOrder(@RequestParam("userId") Long userId) {
List<EbikeUserAllOrdersVo> userAllOrders = ebikeOrderService.getUserAllOrder(userId);
return JsonResult.success(userAllOrders);
}
2025-10-15 17:38:13 +08:00
}