package com.pz.merchant.controller.applet;

import cn.dev33.satoken.annotation.SaIgnore;
import com.pz.common.core.controller.BaseController;
import com.pz.common.core.domain.R;
import com.pz.common.exception.ServiceException;
import com.pz.merchant.service.ISonOrderService;
import com.pz.merchant.service.impl.SonOrderServiceBuilder;
import lombok.RequiredArgsConstructor;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import javax.validation.constraints.NotNull;

/**
 * 订单
 * <p>created in  2023/9/14 15:44
 *
 * @author WangMin
 * @version 1.0
 */
@Validated
@RestController()
@RequestMapping("/app/order")
@RequiredArgsConstructor
public class OrderController extends BaseController {

    private final SonOrderServiceBuilder sonOrderServiceBuilder;


    /**
     * 查询订单详情
     *
     * @param businessId 业务ID
     * @param totalId    主订单ID
     * @return 订单详情
     */
    @GetMapping("/detail")
    public R<Object> getOrderDetailByTotalId(@NotNull(message = "业务ID不能为空") Integer businessId, @NotNull(message = "订单ID不能为空") Integer totalId) {
        ISonOrderService orderService = sonOrderServiceBuilder.getSonOrderService(businessId);
        if (orderService == null) {
            throw new ServiceException("业务异常");
        }
        return R.ok(orderService.getSonOrderDetailDataByTotalId(totalId));
    }
}