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.CashCouponRequest; import org.xmx0632.deliciousfruit.api.v1.bo.CashCouponResponse; import org.xmx0632.deliciousfruit.api.v1.bo.ECouponRequest; import org.xmx0632.deliciousfruit.api.v1.bo.ECouponResponse; import org.xmx0632.deliciousfruit.api.v1.bo.GiftCardRequest; import org.xmx0632.deliciousfruit.api.v1.bo.GiftCardResponse; import org.xmx0632.deliciousfruit.api.v1.bo.OrderResponse.PayByEcoupon; import org.xmx0632.deliciousfruit.api.v1.bo.Result; import org.xmx0632.deliciousfruit.api.v1.bo.UserBalanceResponse; import org.xmx0632.deliciousfruit.api.v1.bo.UserPointResponse; import org.xmx0632.deliciousfruit.api.v1.helper.WebHelper; import org.xmx0632.deliciousfruit.entity.UserAccount; import org.xmx0632.deliciousfruit.erp.ErpApiService; /** * 用户资产查询接口 包括: 积分,账户余额,现金券,礼品卡 * * @author epeolvv * */ @Controller @RequestMapping(value = "/api/v1/asset/query") public class UserAssetsQueryApiController { private static Logger log = LoggerFactory .getLogger(UserAssetsQueryApiController.class); @Autowired private ErpApiService erpApiService; /** * 积分查询 * */ @RequestMapping(value = "/point", method = RequestMethod.GET, produces = MediaType.APPLICATION_JSON_VALUE) @ResponseBody public ResponseEntity<UserPointResponse> point(ServletRequest request) { UserAccount userAccount = WebHelper.getCurrentUser(request); log.debug("UserAccount:{}", userAccount); UserPointResponse response = new UserPointResponse(); /* * ErpCustomer erpCustomer = erpApiService.getCustomerBy(userAccount * .getCustomerId()); * * if (erpCustomer == null) { * * } response.setPoint(Integer.parseInt(erpCustomer.getIntPoint())); */ response.setResult(Result.SUCCESS_RESULT); response.setPoint(100); log.debug("response:{}", response); return new ResponseEntity<UserPointResponse>(response, HttpStatus.OK); } /** * 账户余额查询 * */ @RequestMapping(value = "/balance", method = RequestMethod.GET, produces = MediaType.APPLICATION_JSON_VALUE) @ResponseBody public ResponseEntity<UserBalanceResponse> balance(ServletRequest request) { UserAccount userAccount = WebHelper.getCurrentUser(request); log.debug("UserAccount:{}", userAccount); UserBalanceResponse response = new UserBalanceResponse(); log.debug("userAccount:" + userAccount); /* * ErpCustomer erpCustomer = erpApiService.getCustomerBy(userAccount * .getCustomerId()); * * if (erpCustomer == null) { * * } * * response.setBalance(BigDecimal.valueOf(Integer.parseInt(erpCustomer * .getDecCoin()))); */ // TODO 测试数据 response.setBalance(BigDecimal.valueOf(100.00)); response.setResult(Result.SUCCESS_RESULT); log.debug("response:{}", response); return new ResponseEntity<UserBalanceResponse>(response, HttpStatus.OK); } /** * 现金券查询 * **/ @RequestMapping(value = "/cashCoupon", method = RequestMethod.POST, produces = MediaType.APPLICATION_JSON_VALUE) @ResponseBody public ResponseEntity<CashCouponResponse> cashCoupon( @RequestBody CashCouponRequest cashCouponRequest, ServletRequest request) { UserAccount userAccount = WebHelper.getCurrentUser(request); log.debug("UserAccount:{}", userAccount); log.debug("Request:{}", cashCouponRequest); CashCouponResponse response = new CashCouponResponse(); for (String id : cashCouponRequest.getCashCouponIds()) { CashCouponResponse.CashCoupon cashCoupon = new CashCouponResponse.CashCoupon(); cashCoupon.setId(id); response.getCashCoupons().add(cashCoupon); } response.setResult(Result.SUCCESS_RESULT); log.debug("response:{}", response); return new ResponseEntity<CashCouponResponse>(response, HttpStatus.OK); } /** * 现金券查询 * **/ @RequestMapping(value = "/eCoupon", method = RequestMethod.POST, produces = MediaType.APPLICATION_JSON_VALUE) @ResponseBody public ResponseEntity<ECouponResponse> eCoupon( @RequestBody ECouponRequest eCouponRequest, ServletRequest request) { UserAccount userAccount = WebHelper.getCurrentUser(request); log.debug("UserAccount:{}", userAccount); log.debug("Request:{}", eCouponRequest); ECouponResponse response = new ECouponResponse(); for (String id : eCouponRequest.geteCouponIds()) { PayByEcoupon payByEcoupon = new PayByEcoupon(); payByEcoupon.setId(id); payByEcoupon.setAmount(BigDecimal.valueOf(100.00)); response.geteCoupons().add(payByEcoupon); } response.setResult(Result.SUCCESS_RESULT); log.debug("response:{}", response); return new ResponseEntity<ECouponResponse>(response, HttpStatus.OK); } /** * 礼品卡查询 * */ @RequestMapping(value = "/giftCard", method = RequestMethod.POST, produces = MediaType.APPLICATION_JSON_VALUE) @ResponseBody public ResponseEntity<GiftCardResponse> giftCard( @RequestBody GiftCardRequest giftCardRequest, ServletRequest request) { UserAccount userAccount = WebHelper.getCurrentUser(request); log.debug("UserAccount:{}", userAccount); log.debug("Request:{}", giftCardRequest); GiftCardResponse response = new GiftCardResponse(); for (GiftCardRequest.CardReq cardReq : giftCardRequest.getGiftCards()) { GiftCardResponse.GiftCard giftCard = new GiftCardResponse.GiftCard(); giftCard.setId(cardReq.getId()); response.getGiftCards().add(giftCard); } response.setResult(Result.SUCCESS_RESULT); log.debug("response:{}", response); return new ResponseEntity<GiftCardResponse>(response, HttpStatus.OK); } }