package cn.superdesk.uniorder.openapi.api.accounting.customer;

import cn.superdesk.uniorder.openapi.api.base.O;
import cn.superdesk.uniorder.openapi.oauth2.request.AccessTokenRequest;
import cn.superdesk.uniorder.openapi.oauth2.response.AccessTokenResponse;
import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
import com.github.xiaoymin.knife4j.annotations.ApiSort;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.*;

@Deprecated
@Api(value = "客户对账单API接口", tags = {"客户对账单API接口"})
@ApiSort(value = 300000)
@Slf4j
@RestController
@RequestMapping("/v0/biz/Statement/customer")
public class StatementAccountCustomerController {

	// list
	@ApiOperation(value = "对账单列表 list")
	@ApiOperationSupport(order = 10)
	@RequestMapping(value = "list", method = RequestMethod.POST)
	@ResponseBody
	public O<AccessTokenResponse> list(@RequestBody AccessTokenRequest request) {

		AccessTokenResponse accessTokenResponse = new AccessTokenResponse();

		return new O<AccessTokenResponse>()
				.setResult(accessTokenResponse)
				.setResultCode(200)
				.setResultMessage("成功")
				.setSuccess(true);
	}

	// preview
	@ApiOperation(value = "对账单创建-预览 preview")
	@ApiOperationSupport(order = 11)
	@RequestMapping(value = "preview", method = RequestMethod.POST)
	@ResponseBody
	public O<AccessTokenResponse> preview(@RequestBody AccessTokenRequest request) {

		AccessTokenResponse accessTokenResponse = new AccessTokenResponse();

		return new O<AccessTokenResponse>()
				.setResult(accessTokenResponse)
				.setResultCode(200)
				.setResultMessage("成功")
				.setSuccess(true);
	}

	// create
	@ApiOperation(value = "对账单创建 create")
	@ApiOperationSupport(order = 12)
	@RequestMapping(value = "create", method = RequestMethod.POST)
	@ResponseBody
	public O<AccessTokenResponse> create(@RequestBody AccessTokenRequest request) {

		AccessTokenResponse accessTokenResponse = new AccessTokenResponse();

		return new O<AccessTokenResponse>()
				.setResult(accessTokenResponse)
				.setResultCode(200)
				.setResultMessage("成功")
				.setSuccess(true);
	}

	//	detail
	@ApiOperation(value = "对账单详情 detail")
	@ApiOperationSupport(order = 13)
	@RequestMapping(value = "detail", method = RequestMethod.POST)
	@ResponseBody
	public O<AccessTokenResponse> detail(@RequestBody AccessTokenRequest request) {

		AccessTokenResponse accessTokenResponse = new AccessTokenResponse();

		return new O<AccessTokenResponse>()
				.setResult(accessTokenResponse)
				.setResultCode(200)
				.setResultMessage("成功")
				.setSuccess(true);
	}

	//	opSubmit
	@ApiOperation(value = "对账单操作 提交对账 opSubmit")
	@ApiOperationSupport(order = 14)
	@RequestMapping(value = "opSubmit", method = RequestMethod.POST)
	@ResponseBody
	public O<AccessTokenResponse> opSubmit(@RequestBody AccessTokenRequest request) {

		AccessTokenResponse accessTokenResponse = new AccessTokenResponse();

		return new O<AccessTokenResponse>()
				.setResult(accessTokenResponse)
				.setResultCode(200)
				.setResultMessage("成功")
				.setSuccess(true);
	}

	//	opConfirm
	@ApiOperation(value = "对账单操作 确认对账 opConfirm")
	@ApiOperationSupport(order = 15)
	@RequestMapping(value = "opConfirm", method = RequestMethod.POST)
	@ResponseBody
	public O<AccessTokenResponse> opConfirm(@RequestBody AccessTokenRequest request) {

		AccessTokenResponse accessTokenResponse = new AccessTokenResponse();

		return new O<AccessTokenResponse>()
				.setResult(accessTokenResponse)
				.setResultCode(200)
				.setResultMessage("成功")
				.setSuccess(true);
	}

	//	opEdit
	@ApiOperation(value = "对账单操作 编辑对账 opEdit")
	@ApiOperationSupport(order = 16)
	@RequestMapping(value = "opEdit", method = RequestMethod.POST)
	@ResponseBody
	public O<AccessTokenResponse> accessToken(@RequestBody AccessTokenRequest request) {

		AccessTokenResponse accessTokenResponse = new AccessTokenResponse();

		return new O<AccessTokenResponse>()
				.setResult(accessTokenResponse)
				.setResultCode(200)
				.setResultMessage("成功")
				.setSuccess(true);
	}

	//	opAgain
	@ApiOperation(value = "对账单操作 重新对账 opAgain")
	@ApiOperationSupport(order = 17)
	@RequestMapping(value = "opAgain", method = RequestMethod.POST)
	@ResponseBody
	public O<AccessTokenResponse> opAgain(@RequestBody AccessTokenRequest request) {

		AccessTokenResponse accessTokenResponse = new AccessTokenResponse();

		return new O<AccessTokenResponse>()
				.setResult(accessTokenResponse)
				.setResultCode(200)
				.setResultMessage("成功")
				.setSuccess(true);
	}

	//	opReject
	@ApiOperation(value = "对账单操作 拒绝对账 opReject")
	@ApiOperationSupport(order = 18)
	@RequestMapping(value = "opReject", method = RequestMethod.POST)
	@ResponseBody
	public O<AccessTokenResponse> opReject(@RequestBody AccessTokenRequest request) {

		AccessTokenResponse accessTokenResponse = new AccessTokenResponse();

		return new O<AccessTokenResponse>()
				.setResult(accessTokenResponse)
				.setResultCode(200)
				.setResultMessage("成功")
				.setSuccess(true);
	}

	//	opCancel
	@ApiOperation(value = "对账单操作 取消对账 opCancel")
	@ApiOperationSupport(order = 19)
	@RequestMapping(value = "opCancel", method = RequestMethod.POST)
	@ResponseBody
	public O<AccessTokenResponse> opCancel(@RequestBody AccessTokenRequest request) {

		AccessTokenResponse accessTokenResponse = new AccessTokenResponse();

		return new O<AccessTokenResponse>()
				.setResult(accessTokenResponse)
				.setResultCode(200)
				.setResultMessage("成功")
				.setSuccess(true);
	}

	//	opDelete
	@ApiOperation(value = "对账单操作 删除对账 opDelete")
	@ApiOperationSupport(order = 20)
	@RequestMapping(value = "opDelete", method = RequestMethod.POST)
	@ResponseBody
	public O<AccessTokenResponse> opDelete(@RequestBody AccessTokenRequest request) {

		AccessTokenResponse accessTokenResponse = new AccessTokenResponse();

		return new O<AccessTokenResponse>()
				.setResult(accessTokenResponse)
				.setResultCode(200)
				.setResultMessage("成功")
				.setSuccess(true);
	}
}
