| package com.mzl.flower.web.payment; | 
|   | 
| import com.baomidou.mybatisplus.extension.plugins.pagination.Page; | 
| import com.mzl.flower.base.BaseController; | 
| import com.mzl.flower.base.R; | 
| import com.mzl.flower.base.ReturnDataDTO; | 
| import com.mzl.flower.config.security.SecurityUtils; | 
| import com.mzl.flower.constant.Constants; | 
| import com.mzl.flower.dto.request.payment.*; | 
| import com.mzl.flower.dto.response.payment.OrderItemSalesNewDTO; | 
| import com.mzl.flower.dto.response.payment.OrderItemSalesNewListDTO; | 
| import com.mzl.flower.dto.response.payment.OrderStatusCountDTO; | 
| import com.mzl.flower.entity.payment.OrderItem; | 
| import com.mzl.flower.service.payment.OrderItemSalesService; | 
| import com.mzl.flower.service.payment.OrderItemSettlementService; | 
| import io.swagger.annotations.Api; | 
| import io.swagger.annotations.ApiImplicitParam; | 
| import io.swagger.annotations.ApiImplicitParams; | 
| import io.swagger.annotations.ApiOperation; | 
| import lombok.extern.slf4j.Slf4j; | 
| import org.springframework.beans.factory.annotation.Autowired; | 
| import org.springframework.http.ResponseEntity; | 
| import org.springframework.validation.annotation.Validated; | 
| import org.springframework.web.bind.annotation.*; | 
| import org.springframework.web.multipart.MultipartFile; | 
|   | 
| import javax.servlet.http.HttpServletResponse; | 
| import java.util.List; | 
|   | 
| @RestController | 
| @RequestMapping("/api/sales") | 
| @Api(value = "售后管理-运营人员", tags = "售后管理-运营人员") | 
| @Validated | 
| @Slf4j | 
| public class SalesController extends BaseController { | 
|   | 
|     @Autowired | 
|     private OrderItemSalesService salesService; | 
|   | 
|     @Autowired | 
|     private OrderItemSettlementService orderItemSettlementService; | 
|   | 
|     @GetMapping("/status/count") | 
|     @ApiOperation(value = "获取状态数量") | 
|     public ResponseEntity<ReturnDataDTO<List<OrderStatusCountDTO>>> getSalesStatusCount(OrderItemSalesQueryDTO dto){ | 
|         return returnData(R.SUCCESS.getCode(), salesService.getSalesStatusCount(dto)); | 
|     } | 
|   | 
|     @GetMapping("/list") | 
|     @ApiOperation(value = "查询售后列表") | 
|     public ResponseEntity<ReturnDataDTO<Page<OrderItemSalesNewListDTO>>> selectSalesList(Page page | 
|             , OrderItemSalesQueryDTO dto){ | 
|         return returnData(R.SUCCESS.getCode(), salesService.selectSalesList(page, dto)); | 
|     } | 
|   | 
|     @GetMapping({"/list/export"}) | 
|     @ApiOperation(value = "售后列表导出") | 
|     public void exportSales(HttpServletResponse response, OrderItemSalesQueryDTO dto){ | 
|         salesService.exportSalesList(response, dto); | 
|     } | 
|   | 
|     @GetMapping("/list/view") | 
|     @ApiOperation(value = "售后详情") | 
|     @ApiImplicitParams({ | 
|             @ApiImplicitParam(name = "id", value = "售后id", required = true, dataType = "String", paramType = "query") | 
|     }) | 
|     public ResponseEntity<ReturnDataDTO<OrderItemSalesNewDTO>> getSalesInfo(String id){ | 
|         return returnData(R.SUCCESS.getCode(), salesService.getSalesInfo(id)); | 
|     } | 
|   | 
|     @PostMapping("/audit/agree") | 
|     @ApiOperation(value = "审核售后单-通过") | 
|     public ResponseEntity<ReturnDataDTO> agree(@RequestBody OrderItemSalesAuditDTO dto) { | 
|         OrderItem oi = salesService.doAudit(dto, Constants.ORDER_SALES_STATUS.AGREED.name()); | 
|         orderItemSettlementService.saveItemSettlementInfo(oi, SecurityUtils.getUserId(), Constants.S_TYPE.SALES); | 
|         return returnData(R.SUCCESS.getCode(), null); | 
|     } | 
|   | 
|     @PostMapping("/audit/reject") | 
|     @ApiOperation(value = "审核售后单-拒绝") | 
|     public ResponseEntity<ReturnDataDTO> reject(@RequestBody OrderItemSalesAuditDTO dto) { | 
|         salesService.doAudit(dto, Constants.ORDER_SALES_STATUS.REJECTED.name()); | 
|         return returnData(R.SUCCESS.getCode(), null); | 
|     } | 
| } |