|
|
@@ -0,0 +1,105 @@
|
|
|
+package com.yami.shop.api.controller;
|
|
|
+
|
|
|
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
|
+import com.baomidou.mybatisplus.core.metadata.IPage;
|
|
|
+import com.yami.shop.bean.model.RefundDelivery;
|
|
|
+import com.yami.shop.common.util.PageParam;
|
|
|
+import com.yami.shop.security.api.util.SecurityUtils;
|
|
|
+import com.yami.shop.service.RefundDeliveryService;
|
|
|
+import io.swagger.annotations.Api;
|
|
|
+import io.swagger.annotations.ApiOperation;
|
|
|
+import lombok.AllArgsConstructor;
|
|
|
+import org.springframework.http.ResponseEntity;
|
|
|
+import org.springframework.web.bind.annotation.*;
|
|
|
+
|
|
|
+import javax.validation.Valid;
|
|
|
+import java.util.Objects;
|
|
|
+
|
|
|
+/**
|
|
|
+ * 退货物流信息接口
|
|
|
+ */
|
|
|
+@RestController
|
|
|
+@RequestMapping("/refund/delivery")
|
|
|
+@Api(tags = "退货物流信息接口")
|
|
|
+@AllArgsConstructor
|
|
|
+public class RefundDeliveryController {
|
|
|
+
|
|
|
+ private final RefundDeliveryService refundDeliveryService;
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 分页获取退货物流信息列表
|
|
|
+ */
|
|
|
+ @GetMapping("/page")
|
|
|
+ @ApiOperation("分页获取退货物流信息列表")
|
|
|
+ public ResponseEntity<IPage<RefundDelivery>> page(PageParam<RefundDelivery> pageParam, RefundDelivery refundDelivery) {
|
|
|
+ IPage<RefundDelivery> refundDeliveryPage = refundDeliveryService.page(pageParam, new LambdaQueryWrapper<RefundDelivery>());
|
|
|
+ return ResponseEntity.ok(refundDeliveryPage);
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 根据退款编号获取退货物流信息
|
|
|
+ */
|
|
|
+ @GetMapping("/getByRefundSn/{refundSn}")
|
|
|
+ @ApiOperation("根据退款编号获取退货物流信息")
|
|
|
+ public ResponseEntity<RefundDelivery> getByRefundSn(@PathVariable String refundSn) {
|
|
|
+ RefundDelivery refundDelivery = refundDeliveryService.getOne(new LambdaQueryWrapper<RefundDelivery>().eq(RefundDelivery::getRefundSn, refundSn));
|
|
|
+ return ResponseEntity.ok(refundDelivery);
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 根据ID获取退货物流信息
|
|
|
+ */
|
|
|
+ @GetMapping("/getById/{id}")
|
|
|
+ @ApiOperation("根据ID获取退货物流信息")
|
|
|
+ public ResponseEntity<RefundDelivery> getById(@PathVariable Long id) {
|
|
|
+ RefundDelivery refundDelivery = refundDeliveryService.getById(id);
|
|
|
+ return ResponseEntity.ok(refundDelivery);
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 保存退货物流信息
|
|
|
+ */
|
|
|
+ @PostMapping("/save")
|
|
|
+ @ApiOperation("保存退货物流信息")
|
|
|
+ public ResponseEntity<Void> save(@Valid @RequestBody RefundDelivery refundDelivery) {
|
|
|
+ refundDeliveryService.save(refundDelivery);
|
|
|
+ return ResponseEntity.ok().build();
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 更新退货物流信息
|
|
|
+ */
|
|
|
+ @PutMapping("/update")
|
|
|
+ @ApiOperation("更新退货物流信息")
|
|
|
+ public ResponseEntity<String> update(@Valid @RequestBody RefundDelivery refundDelivery) {
|
|
|
+ RefundDelivery dbRefundDelivery = refundDeliveryService.getById(refundDelivery.getRefundDeliveryId());
|
|
|
+ if (dbRefundDelivery == null) {
|
|
|
+ return ResponseEntity.badRequest().body("退货物流信息不存在");
|
|
|
+ }
|
|
|
+ // 确保用户只能更新自己的退货物流信息
|
|
|
+ if (!Objects.equals(dbRefundDelivery.getUserId(), SecurityUtils.getUser().getUserId())) {
|
|
|
+ return ResponseEntity.badRequest().body("无权限操作");
|
|
|
+ }
|
|
|
+ refundDeliveryService.updateById(refundDelivery);
|
|
|
+ return ResponseEntity.ok("更新成功");
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 删除退货物流信息
|
|
|
+ */
|
|
|
+ @DeleteMapping("/delete/{id}")
|
|
|
+ @ApiOperation("删除退货物流信息")
|
|
|
+ public ResponseEntity<String> delete(@PathVariable Long id) {
|
|
|
+ RefundDelivery refundDelivery = refundDeliveryService.getById(id);
|
|
|
+ if (refundDelivery == null) {
|
|
|
+ return ResponseEntity.badRequest().body("退货物流信息不存在");
|
|
|
+ }
|
|
|
+ // 确保用户只能删除自己的退货物流信息
|
|
|
+ if (!Objects.equals(refundDelivery.getUserId(), SecurityUtils.getUser().getUserId())) {
|
|
|
+ return ResponseEntity.badRequest().body("无权限操作");
|
|
|
+ }
|
|
|
+ refundDeliveryService.removeById(id);
|
|
|
+ return ResponseEntity.ok("删除成功");
|
|
|
+ }
|
|
|
+}
|