From a049677ca6c3d13f2767b98f92254756c1b2a5ce Mon Sep 17 00:00:00 2001 From: Stormeye Wu Date: Tue, 24 Sep 2019 13:45:07 +0800 Subject: [PATCH] =?UTF-8?q?[POS][=E4=BF=AE=E6=94=B9]:=E6=A3=80=E6=9F=A5?= =?UTF-8?q?=E5=88=B8list?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../iformall/service/impl/PosServiceImpl.java | 8 +++++--- .../java/com/iformall/pos/test/PosAppTest.java | 18 ++++++++++++++++++ 2 files changed, 23 insertions(+), 3 deletions(-) diff --git a/mallinkPosApi/src/main/java/com/iformall/service/impl/PosServiceImpl.java b/mallinkPosApi/src/main/java/com/iformall/service/impl/PosServiceImpl.java index 6dbb3bd0a..9fcffd505 100644 --- a/mallinkPosApi/src/main/java/com/iformall/service/impl/PosServiceImpl.java +++ b/mallinkPosApi/src/main/java/com/iformall/service/impl/PosServiceImpl.java @@ -176,6 +176,9 @@ public class PosServiceImpl implements PosService { } else { dataMap.put(WxPayConstant.ORDER_CREATE_SN, orderCreateSN); } + if (StringUtils.isBlank(coListStr)) { + errParam(WxPayConstant.COUPON_ORDER_LIST); + } Integer iSceneType; try { @@ -219,9 +222,7 @@ public class PosServiceImpl implements PosService { } JSONObject promotionCoupon = new JSONObject(); JSONArray couponList = new JSONArray(); - if (StringUtils.isBlank(coListStr)) { - errParam(WxPayConstant.COUPON_ORDER_LIST); - } + JSONArray couponOrderArr = JSON.parseArray(coListStr); if (couponOrderArr.size() != 1) { String errMessage = "核销只能使用一张券"; @@ -316,6 +317,7 @@ public class PosServiceImpl implements PosService { coQ.put("cUserId", user.getId()); coQ.put("merchantId", merchantId); List avaCoList = couponOrderMapper.findAvailCouponOrder(coQ); + JSONArray selCoArr = JSONObject.parseArray(coListStr); if (config.getCoupon().equals(EnumPosCouponEnableType.SingleEnable.getCode())) { if (selCoArr.size() > 1) { // 为空时,返回所有可用券列表 diff --git a/mallinkPosApi/src/test/java/com/iformall/pos/test/PosAppTest.java b/mallinkPosApi/src/test/java/com/iformall/pos/test/PosAppTest.java index 5471eb62f..070abd7dd 100644 --- a/mallinkPosApi/src/test/java/com/iformall/pos/test/PosAppTest.java +++ b/mallinkPosApi/src/test/java/com/iformall/pos/test/PosAppTest.java @@ -119,6 +119,24 @@ public class PosAppTest { Assert.assertEquals(resSigned, true); } + @Test + public void payCalculate1Test() throws Exception { + String sceneType = String.valueOf(EnumPosSceneType.PAY.getCode()); + Map reqObj = new HashMap<>(); + reqObj.put(WxPayConstant.NONCE_STR, "123456"); + reqObj.put(WxPayConstant.DEV_ID, devId); + reqObj.put(WxPayConstant.TENANT_ID, tenantId); + reqObj.put(WxPayConstant.MERCHANT_ID, merchantId); + reqObj.put(WxPayConstant.BUSER_ID, buUserId); + reqObj.put(WxPayConstant.SCENE_TYPE, sceneType); + reqObj.put(WxPayConstant.ORDER_CREATE_SN, posSN); + reqObj.put(WxPayConstant.MEM_PHONE, "18240016029"); + reqObj.put(WxPayConstant.ORDER_AMOUNT, "100"); + reqObj.put(WxPayConstant.ORDER_AMOUNT_LEFT, "100"); + boolean resSigned = sendAndRes("/queryAndCalc", reqObj); + Assert.assertEquals(resSigned, true); + } + @Test public void verifyCalculateTest() throws Exception { String selCoList = "[\"321872988134408192\"]";