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<PageData<AftersaleListResponse>> findJoinPage (@RequestBody PageWrap<Aftersale> pageWrap) {
|
pageWrap.getModel().setMemberId(getMemberId());
|
return ApiResponse.success(aftersaleService.findJoinPage(pageWrap));
|
}
|
@ApiOperation("根据ID查询")
|
@GetMapping("/{id}")
|
@LoginRequired
|
public ApiResponse<Aftersale> 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);
|
}
|
}
|