diff --git a/src/main/java/com/sczx/pay/alipay/controller/ItemController.java b/src/main/java/com/sczx/pay/alipay/controller/ItemController.java index d8952f3..b4778d2 100644 --- a/src/main/java/com/sczx/pay/alipay/controller/ItemController.java +++ b/src/main/java/com/sczx/pay/alipay/controller/ItemController.java @@ -77,7 +77,15 @@ public class ItemController { return itemService.createStringRentItem(request); } - + @ApiOperation(value = "商品详情查询") + @ApiOperationSupport(order = 7) + @GetMapping(value = "/query") + public OpenResponse query(@ApiParam(value = "支付平台侧商品ID") @RequestParam(required = false) String itemId, + @ApiParam(value = "商家侧商品ID") @RequestParam(required = false) String outItemId, + @ApiParam(value = "是否查询编辑版本,默认为0", defaultValue = "0") @RequestParam(required = false) String needEditSpu) { + return itemService.queryItemDetail(itemId, outItemId, + StringUtils.isNumeric(needEditSpu) ? Long.parseLong(needEditSpu) : 0); + } /** * 租赁类(实物)履约模板创建 diff --git a/src/main/java/com/sczx/pay/alipay/service/ItemService.java b/src/main/java/com/sczx/pay/alipay/service/ItemService.java index b548bbc..d21d340 100644 --- a/src/main/java/com/sczx/pay/alipay/service/ItemService.java +++ b/src/main/java/com/sczx/pay/alipay/service/ItemService.java @@ -39,4 +39,6 @@ public interface ItemService { OpenResponse deliveryTemplateQuery(); + OpenResponse queryItemDetail(String itemId, String outItemId, long needEditSpu); + } diff --git a/src/main/java/com/sczx/pay/alipay/service/impl/ItemServiceImpl.java b/src/main/java/com/sczx/pay/alipay/service/impl/ItemServiceImpl.java index 08eb2e6..6083b7a 100644 --- a/src/main/java/com/sczx/pay/alipay/service/impl/ItemServiceImpl.java +++ b/src/main/java/com/sczx/pay/alipay/service/impl/ItemServiceImpl.java @@ -198,7 +198,7 @@ public class ItemServiceImpl implements ItemService { // 设置sku数组 List skus = new ArrayList(); ItemSkuCreateVO skus0 = new ItemSkuCreateVO(); - skus0.setOutSkuId("dd202509020002_sku"); + skus0.setOutSkuId("dd202509020003_sku"); skus0.setSaleStatus("AVAILABLE"); List skuAttrs = new ArrayList(); @@ -502,4 +502,42 @@ public class ItemServiceImpl implements ItemService { return itemSkus; } + @Override + public OpenResponse queryItemDetail(String itemId, String outItemId, long needEditSpu) { + return AlipayApiTemplate.execute(new AlipayApiCallback() { + @Override + public AlipayOpenAppItemQueryResponse process() throws AlipayApiException { + // 构造请求参数以调用接口 + AlipayOpenAppItemQueryRequest request = new AlipayOpenAppItemQueryRequest(); + AlipayOpenAppItemQueryModel model = new AlipayOpenAppItemQueryModel(); + if (!StringUtils.isEmpty(itemId)) { + // 设置支付宝侧商品id + model.setItemId(itemId); + } + + if (!StringUtils.isEmpty(outItemId)) { + // 设置商家侧商品id + model.setOutItemId(outItemId); + } + + // 设置是否查询编辑版本 + model.setNeedEditSpu(needEditSpu); + + request.setBizModel(model); + + return alipaySdkUtil.execute(request); + } + + @Override + public AlipayOpenAppItemQueryResponse getData(AlipayOpenAppItemQueryResponse response) { + return response; + } + + @Override + public String getApiName() { + return "alipay.open.app.item.query"; + } + }); + } + }