소스 검색

售后订单

guomengjiao 2 달 전
부모
커밋
89a840ad87

+ 82 - 0
ruoyi-api/src/main/java/com/ruoyi/api/controller/info/ApiTeacherOrderRefundController.java

@@ -0,0 +1,82 @@
+package com.ruoyi.api.controller.info;
+
+import cn.hutool.core.util.ObjectUtil;
+import com.ruoyi.api.controller.common.AbstractApiController;
+import com.ruoyi.common.annotation.RepeatSubmit;
+import com.ruoyi.common.core.domain.PageQuery;
+import com.ruoyi.common.core.domain.R;
+import com.ruoyi.common.core.page.TableDataInfo;
+import com.ruoyi.common.core.validate.QueryGroup;
+import com.ruoyi.info.management.domain.bo.TeacherDepartmentRelBo;
+import com.ruoyi.info.management.domain.vo.TeacherDepartmentRelVo;
+import com.ruoyi.info.management.service.ITeacherDepartmentRelService;
+import com.ruoyi.info.order.domain.bo.OrderRefundBo;
+import com.ruoyi.info.order.domain.vo.OrderRefundVo;
+import com.ruoyi.info.order.service.IOrderRefundService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import io.swagger.annotations.ApiParam;
+import lombok.RequiredArgsConstructor;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.*;
+
+import javax.validation.constraints.NotNull;
+import java.util.List;
+import java.util.stream.Collectors;
+
+/**
+ * 售后订单Controller
+ *
+ * @author ruoyi
+ * @date 2025-09-29
+ */
+@Validated
+@Api(value = "售后订单控制器", tags = {"售后订单管理"})
+@RequiredArgsConstructor
+@RestController
+@RequestMapping("/api/orderRefund")
+public class ApiTeacherOrderRefundController extends AbstractApiController {
+
+    private final IOrderRefundService iOrderRefundService;
+    private final ITeacherDepartmentRelService teacherDepartmentRelService;
+
+    /**
+     * 分页查询售后订单列表
+     */
+    @ApiOperation("查询售后订单列表")
+    @GetMapping("/page")
+    public TableDataInfo<OrderRefundVo> page(@Validated(QueryGroup.class) OrderRefundBo bo, PageQuery pageQuery) {
+        //获取老师科室
+        TeacherDepartmentRelBo teacherDepartmentRelBo = new TeacherDepartmentRelBo();
+        teacherDepartmentRelBo.setTeacherId(getTeacherId());
+        List<TeacherDepartmentRelVo> teacherDepartmentRelVos = teacherDepartmentRelService.queryList(teacherDepartmentRelBo);
+        if (ObjectUtil.isEmpty(teacherDepartmentRelVos)) {
+            return TableDataInfo.build();
+        }
+        bo.setHospitalDepartmentIds(teacherDepartmentRelVos.stream().map(TeacherDepartmentRelVo::getDepartmentId).collect(Collectors.toList()));
+        return iOrderRefundService.queryPageList(bo, pageQuery);
+    }
+
+    /**
+     * 获取售后订单详细信息
+     */
+    @ApiOperation("获取售后订单详细信息")
+    @GetMapping("/info/{id}")
+    public R<OrderRefundVo> getInfo(@ApiParam("主键")
+                                                  @NotNull(message = "主键不能为空")
+                                                  @PathVariable("id") Long id) {
+        return R.ok(iOrderRefundService.queryById(id));
+    }
+
+    /**
+     * 同意或拒绝售后订单
+     */
+    @ApiOperation("同意或拒绝售后订单")
+    @RepeatSubmit()
+    @PostMapping("/agreeOrRefuse")
+    public R<Void> agreeOrRefuse(@RequestBody OrderRefundBo bo) {
+        bo.setOperatorId(getTeacherId());
+        return toAjax(iOrderRefundService.agreeOrRefuse(bo) ? 1 : 0);
+    }
+
+}

+ 4 - 0
ruoyi-info/ruoyi-info-biz/src/main/java/com/ruoyi/info/order/domain/OrderRefund.java

@@ -75,6 +75,10 @@ public class OrderRefund extends BaseTimeEntity {
      * 操作时间
      */
     private Date operationTime;
+    /**
+     * 操作人类型 1-平台 2-管理老师
+     */
+    private Integer operatorType;
     /**
      * 操作人
      */

+ 3 - 0
ruoyi-info/ruoyi-info-biz/src/main/java/com/ruoyi/info/order/domain/vo/OrderRefundVo.java

@@ -111,6 +111,9 @@ public class OrderRefundVo {
     @ApiModelProperty("操作时间")
     private Date operationTime;
 
+    @ExcelProperty(value = "操作类型")
+    @ApiModelProperty("操作类型 1-平台 2-管理老师")
+    private Integer operatorType;
     /**
      * 操作人
      */

+ 2 - 0
ruoyi-info/ruoyi-info-biz/src/main/java/com/ruoyi/info/order/service/IOrderRefundService.java

@@ -77,4 +77,6 @@ public interface IOrderRefundService {
     boolean cancel(Long id);
 
     boolean hasRefund(Long id);
+
+    boolean agreeOrRefuse(OrderRefundBo bo);
 }

+ 5 - 0
ruoyi-info/ruoyi-info-biz/src/main/java/com/ruoyi/info/order/service/impl/OrderRefundServiceImpl.java

@@ -202,4 +202,9 @@ public class OrderRefundServiceImpl implements IOrderRefundService {
         return baseMapper.selectCount(new LambdaQueryWrapper<OrderRefund>().eq(OrderRefund::getOrderId, id)) > 0;
     }
 
+    @Override
+    public boolean agreeOrRefuse(OrderRefundBo bo) {
+        return false;
+    }
+
 }

+ 1 - 0
ruoyi-info/ruoyi-info-biz/src/main/resources/mapper/order/OrderRefundMapper.xml

@@ -17,6 +17,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         <result property="actualRefundAmount" column="actual_refund_amount"/>
         <result property="operationReason" column="operation_reason"/>
         <result property="operationTime" column="operation_time"/>
+        <result property="operatorType" column="operator_type"/>
         <result property="operatorId" column="operator_id"/>
         <result property="refundTradeNo" column="refund_trade_no"/>
         <result property="completeTime" column="complete_time"/>

+ 1 - 0
script/sql/baifc-0928.sql

@@ -106,6 +106,7 @@ CREATE TABLE `tb_order_refund`  (
     `actual_refund_amount` decimal(10, 2) NULL DEFAULT NULL COMMENT '实退金额',
     `operation_reason` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '操作原因',
     `operation_time` datetime(0) NULL DEFAULT NULL COMMENT '操作时间',
+    `operator_type` tinyint(0) NULL COMMENT '操作类型 1-平台 2-管理老师',
     `operator_id` bigint(0) NULL DEFAULT NULL COMMENT '操作人',
     `refund_trade_no` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '退款交易号',
     `complete_time` datetime DEFAULT NULL COMMENT '退款完成时间',