package org.xmx0632.deliciousfruit.api.v1;
import javax.servlet.ServletRequest;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpStatus;
import org.springframework.http.MediaType;
import org.springframework.http.ResponseEntity;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.ResponseBody;
import org.xmx0632.deliciousfruit.api.v1.bo.SettlementRequest;
import org.xmx0632.deliciousfruit.api.v1.bo.SettlementResponse;
import org.xmx0632.deliciousfruit.api.v1.helper.WebHelper;
import org.xmx0632.deliciousfruit.entity.UserAccount;
import org.xmx0632.deliciousfruit.service.IosOrderService;
/**
* 结算接口
*
* @author epeolvv
*
*/
@Controller
@RequestMapping(value = "/api/v1/settlement")
public class SettlementApiController {
private static Logger log = LoggerFactory
.getLogger(SettlementApiController.class);
@Autowired
private IosOrderService iosOrderService;
/**
* 结算
*
**/
@RequestMapping(value = "/process", method = RequestMethod.POST, produces = MediaType.APPLICATION_JSON_VALUE)
@ResponseBody
public ResponseEntity<SettlementResponse> process(
@RequestBody SettlementRequest settlementRequest,
ServletRequest request) {
UserAccount userAccount = WebHelper.getCurrentUser(request);
log.debug("UserAccount:{}", userAccount);
log.debug("Request:{}", settlementRequest);
SettlementResponse response = iosOrderService
.caculatePromotionInfo(settlementRequest);
log.debug("response:{}", response);
return new ResponseEntity<SettlementResponse>(response, HttpStatus.OK);
}
}