package com.doumee.api.web.mall; import com.doumee.api.web.ApiController; import com.doumee.config.annotation.LoginRequired; import com.doumee.core.annotation.pr.PreventRepeat; import com.doumee.core.annotation.trace.Trace; import com.doumee.core.constants.ResponseStatus; import com.doumee.core.model.ApiResponse; import com.doumee.core.model.PageData; import com.doumee.core.model.PageWrap; import com.doumee.core.utils.Constants; import com.doumee.dao.admin.response.AftersaleListResponse; import com.doumee.dao.business.model.Aftersale; import com.doumee.dao.web.request.goods.AftersaleCancelRequest; import com.doumee.dao.web.request.goods.AftersaleCreateRequest; import com.doumee.dao.web.request.goods.AftersalePostRequest; import com.doumee.service.business.AftersaleService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; /** * @author 江蹄蹄 * @date 2023/04/06 17:47 */ @Api(tags = "商品售后") @Trace(exclude = true) @RestController @RequestMapping("/web/aftersale") public class AftersaleApi extends ApiController { @Autowired private AftersaleService aftersaleService; @LoginRequired @PreventRepeat @ApiOperation("新建售后申请") @PostMapping("/create") public ApiResponse create(@RequestBody AftersaleCreateRequest aftersale) { aftersale.setMemberId(getMemberId()); return ApiResponse.success(aftersaleService.create(aftersale)); } @ApiOperation("取消售后申请") @PostMapping("/cancel") @LoginRequired public ApiResponse memberCancel(@RequestBody AftersaleCancelRequest aftersale) { aftersale.setMemberId(getMemberId()); aftersaleService.memberCancel(aftersale); return ApiResponse.success(null); } @ApiOperation("邮寄操作") @PostMapping("/post") @LoginRequired public ApiResponse post(@RequestBody AftersalePostRequest aftersale) { aftersale.setMemberId(getMemberId()); aftersaleService.memberPost(aftersale); return ApiResponse.success(null); } @ApiOperation("分页查询") @PostMapping("/page") @LoginRequired public ApiResponse> findJoinPage (@RequestBody PageWrap pageWrap) { pageWrap.getModel().setMemberId(getMemberId()); return ApiResponse.success(aftersaleService.findJoinPage(pageWrap)); } @ApiOperation("根据ID查询") @GetMapping("/{id}") @LoginRequired public ApiResponse findById(@PathVariable Integer id) { Aftersale model =aftersaleService.findJoinById(id,true); if(model ==null || !Constants.equalsInteger(model.getMemberId(),getMemberId())){ return ApiResponse.failed(ResponseStatus.DATA_EMPTY.getCode(),"对不起,售后单信息不存在!"); } return ApiResponse.success(model); } }