package cn.iocoder.yudao.module.base.controller.admin;

import cn.iocoder.yudao.framework.common.pojo.CommonResult;
import cn.iocoder.yudao.module.base.entity.RepairRecordsItem;
import cn.iocoder.yudao.module.base.service.RepairRecordsItemService;
import cn.iocoder.yudao.module.base.service.RepairRecordsService;
import cn.iocoder.yudao.module.base.vo.RepairRecordsPageReqVO;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;

import javax.annotation.Resource;
import java.util.List;

/**
 * 维修记录 管理 API
 * @author lzt
 */
@Tag(name = "管理后台 - 维修记录")
@RestController
@RequestMapping("/dl/repair-records")
@Validated
public class RepairRecordsController {

    @Resource
    private RepairRecordsService repairRecordsService;
    @Resource
    private RepairRecordsItemService repairRecordsItemService;

    /**
     * 根据当前用户和工单主表id查询当前在维修的项目信息
     * @author vinjor-M
     * @date 13:50 2024/10/19
     * @param ticketId 工单ID
     * @return cn.iocoder.yudao.framework.common.pojo.CommonResult<?>
    **/
    @GetMapping("/listByTicketId")
    @Operation(summary = "根据当前用户和工单主表id查询当前在维修的项目信息")
    public CommonResult<?> selectNowRepairByTicketId(@RequestParam("ticketId") String ticketId) {
        return repairRecordsService.selectNowRepairByTicketId(ticketId);
    }

    /**
     * 维修记录图片授权客户查看接口--收回查看权限也走这个
     * @author vinjor-M
     * @date 13:50 2024/10/19
     * @param itemList 子表集和
     * @return cn.iocoder.yudao.framework.common.pojo.CommonResult<?>
     **/
    @PostMapping("/updateItemBatch")
    @Operation(summary = "维修记录图片授权客户查看接口--收回查看权限也走这个")
    public CommonResult<?> updateItemBatch(@RequestBody List<RepairRecordsItem> itemList) {
        if(!itemList.isEmpty()){
            repairRecordsItemService.updateBatchById(itemList);
        }
        return CommonResult.success("");
    }

    /**
     * 根据条件查询维修记录
     *
     * @author 小李
     * @date 9:48 2024/10/25
     * @param reqVO RepairRecordsPageReqVO实体
    **/
    @GetMapping("/list")
    @Operation(summary = "根据条件查询维修记录")
    public CommonResult<?> queryList(RepairRecordsPageReqVO reqVO) {
        return CommonResult.success(repairRecordsService.queryList(reqVO));
    }
}
