package org.xmx0632.deliciousfruit.api.v1; import java.math.BigDecimal; 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.DeductionByCashCouponRequest; import org.xmx0632.deliciousfruit.api.v1.bo.DeductionByCashCouponResponse; import org.xmx0632.deliciousfruit.api.v1.bo.DeductionByGiftCardRequest; import org.xmx0632.deliciousfruit.api.v1.bo.DeductionByGiftCardResponse; import org.xmx0632.deliciousfruit.api.v1.bo.DeductionByPointRequest; import org.xmx0632.deliciousfruit.api.v1.bo.DeductionByPointResponse; import org.xmx0632.deliciousfruit.api.v1.bo.DeductionFromAccountRequest; import org.xmx0632.deliciousfruit.api.v1.bo.DeductionFromAccountResponse; import org.xmx0632.deliciousfruit.api.v1.bo.Result; import org.xmx0632.deliciousfruit.api.v1.helper.WebHelper; import org.xmx0632.deliciousfruit.entity.UserAccount; import org.xmx0632.deliciousfruit.service.ConfigService; /** * 抵扣付款接口 * * @author Jefferson-pengtao */ @Controller @RequestMapping(value = "/api/v1/deduction") public class DeductionPayApiController { private static Logger log = LoggerFactory .getLogger(OrderApiController.class); @Autowired private ConfigService configService; @RequestMapping(value = "/point", method = RequestMethod.POST, produces = MediaType.APPLICATION_JSON_VALUE) @ResponseBody public ResponseEntity<DeductionByPointResponse> point( @RequestBody DeductionByPointRequest deductionByPointRequest, ServletRequest request) { UserAccount userAccount = WebHelper.getCurrentUser(request); log.debug("UserAccount:{}", userAccount); log.debug("Request:{}", deductionByPointRequest); DeductionByPointResponse response = new DeductionByPointResponse(); response.setTransactionID(deductionByPointRequest.getTransactionID()); response.setPointLeft(100); response.setResult(Result.SUCCESS_RESULT); log.debug("response:{}", response); return new ResponseEntity<DeductionByPointResponse>(response, HttpStatus.OK); } @RequestMapping(value = "/account", method = RequestMethod.POST, produces = MediaType.APPLICATION_JSON_VALUE) @ResponseBody public ResponseEntity<DeductionFromAccountResponse> account( @RequestBody DeductionFromAccountRequest deductionFromAccountRequest, ServletRequest request) { UserAccount userAccount = WebHelper.getCurrentUser(request); log.debug("UserAccount:{}", userAccount); log.debug("Request:{}", deductionFromAccountRequest); DeductionFromAccountResponse response = new DeductionFromAccountResponse(); response.setTransactionID(deductionFromAccountRequest .getTransactionID()); response.setBalance(BigDecimal.valueOf(100.00)); response.setResult(Result.SUCCESS_RESULT); log.debug("response:{}", response); return new ResponseEntity<DeductionFromAccountResponse>(response, HttpStatus.OK); } @RequestMapping(value = "/cashCoupon", method = RequestMethod.POST, produces = MediaType.APPLICATION_JSON_VALUE) @ResponseBody public ResponseEntity<DeductionByCashCouponResponse> cashCoupon( @RequestBody DeductionByCashCouponRequest deductionByCashCouponRequest, ServletRequest request) { UserAccount userAccount = WebHelper.getCurrentUser(request); log.debug("UserAccount:{}", userAccount); log.debug("Request:{}", deductionByCashCouponRequest); DeductionByCashCouponResponse response = new DeductionByCashCouponResponse(); response.setTransactionID(deductionByCashCouponRequest .getTransactionID()); response.setPayLeftTimes(2); response.setResult(Result.SUCCESS_RESULT); log.debug("response:{}", response); return new ResponseEntity<DeductionByCashCouponResponse>(response, HttpStatus.OK); } @RequestMapping(value = "/giftCard", method = RequestMethod.POST, produces = MediaType.APPLICATION_JSON_VALUE) @ResponseBody public ResponseEntity<DeductionByGiftCardResponse> giftCard( @RequestBody DeductionByGiftCardRequest deductionByGiftCardRequest, ServletRequest request) { UserAccount userAccount = WebHelper.getCurrentUser(request); log.debug("UserAccount:{}", userAccount); log.debug("Request:{}", deductionByGiftCardRequest); DeductionByGiftCardResponse response = new DeductionByGiftCardResponse(); response.setTransactionID(deductionByGiftCardRequest.getTransactionID()); response.setBalance(BigDecimal.valueOf(50.00)); response.setResult(Result.SUCCESS_RESULT); log.debug("response:{}", response); return new ResponseEntity<DeductionByGiftCardResponse>(response, HttpStatus.OK); } }