package com.boco.nbd.wios.manage.controller; import com.boco.nbd.wios.manage.entity.bo.InvoiceQueryBo; import com.boco.nbd.wios.manage.entity.settlement.vo.InvoiceDTO; import com.boco.nbd.wios.manage.entity.settlement.vo.InvoiceDetailDTO; import com.boco.nbd.wios.manage.service.impl.InvoiceService; import com.ihidea.component.api.v2.BaseResponse; import io.swagger.annotations.Api; import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParams; import io.swagger.annotations.ApiOperation; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import springfox.documentation.annotations.ApiIgnore; import java.util.List; /** * 发票管理接口 * * @author xgl * @version [版本号, 2020年10月13日] */ @RestController @RequestMapping("api") @Api(tags = "发票管理接口") @ApiIgnore public class InvoiceController { @Autowired private InvoiceService invoiceService; /** * 查询发票列表 * * @param condition * @return */ @GetMapping(value = "invoice/all") @ApiOperation(value = "查询发票列表") public BaseResponse<List<InvoiceDTO>> getList(InvoiceQueryBo condition) { List<InvoiceDTO> list = invoiceService.getList(condition); return new BaseResponse<>(list); } /** * 查询发票详情 * * @param invoiceId * @return */ @GetMapping(value = "invoice/detail") @ApiOperation(value = "查询发票详情") @ApiImplicitParams({@ApiImplicitParam(paramType = "query", name = "invoiceId", value = "发票id", required = false, dataType = "String"),}) public BaseResponse<InvoiceDetailDTO> getDetail(String invoiceId) { InvoiceDetailDTO dto = invoiceService.getDetail(invoiceId); return new BaseResponse<>(dto); } /** * 待开票的纸票出票 * * @param outInvoiceId * @return */ @GetMapping(value = "invoice/print") @ApiOperation(value = "待开票的纸票出票") @ApiImplicitParams({@ApiImplicitParam(paramType = "query", name = "outInvoiceId", value = "第三方发票id", required = true, dataType = "String"),}) public BaseResponse<Object> print(String outInvoiceId) { invoiceService.print(outInvoiceId); return new BaseResponse<>(); } /** * 已开票纸票发货 * @param invoiceId * @param logisticsComp * @param logisticsNo * @return */ @GetMapping(value = "invoice/setLogistics") @ApiOperation(value = "已开票纸票发货") @ApiImplicitParams({@ApiImplicitParam(paramType = "query", name = "invoiceId", value = "发票id", required = true, dataType = "String"), @ApiImplicitParam(paramType = "query", name = "logisticsComp", value = "物流公司", required = true, dataType = "String"), @ApiImplicitParam(paramType = "query", name = "logisticsNo", value = "物流单号", required = true, dataType = "String"), }) public BaseResponse<Object> setLogistics(String invoiceId,String logisticsComp,String logisticsNo) { invoiceService.setLogistics(invoiceId,logisticsComp,logisticsNo); return new BaseResponse<>(); } }