| @@ -1757,21 +1757,21 @@ public class PosServiceImpl implements PosService { | |||
| public JSONObject posOrderSync(Map<String, String> params) throws MallinkException { | |||
| JSONObject retMap = new JSONObject(); | |||
| String tenantId = params.get(WxPayConstant.NEU_TENANT_ID); // 租户ID | |||
| String merchantIdStr = params.get(WxPayConstant.NEU_MERCHANT_ID); // 商户ID | |||
| String buUserIdStr = params.get(WxPayConstant.NEU_BU_USER_ID); // POS操作员ID | |||
| String cuUserIdStr = params.get(WxPayConstant.NEU_MEM_ID); // 富茂系统会员ID | |||
| String cuPhoneStr = params.get(WxPayConstant.NEU_MEM_PHONE); // 富茂系统会员手机号 | |||
| String sceneTypeStr = params.get(WxPayConstant.NEU_ORDER_SCENE_TYPE); // 场景类型 | |||
| String posOrderIdStr = params.get(WxPayConstant.NEU_ORDER_ID); // POS订单ID | |||
| String posOrderTimeStr = params.get(WxPayConstant.NEU_ORDER_TIME); // POS订单时间 | |||
| String posAmountStr = params.get(WxPayConstant.NEU_ORDER_AMOUNT); // POS订单总额 | |||
| String orderCreateSN = params.get(WxPayConstant.NEU_ORDER_CREATE_SN); // POS SN号 | |||
| String posStatusStr = params.get(WxPayConstant.NEU_ORDER_STATUS); // 订单状态: 0有效,1取消,根据订单状态处理优惠券;有效:优惠券从预核销处理为核销; | |||
| String tenantId = params.get(WxPayConstant.TENANT_ID); // 租户ID | |||
| String merchantIdStr = params.get(WxPayConstant.MERCHANT_ID); // 商户ID | |||
| String buUserIdStr = params.get(WxPayConstant.BUSER_ID); // POS操作员ID | |||
| String cuUserIdStr = params.get(WxPayConstant.MEM_ID); // 富茂系统会员ID | |||
| String cuPhoneStr = params.get(WxPayConstant.MEM_PHONE); // 富茂系统会员手机号 | |||
| String sceneTypeStr = params.get(WxPayConstant.SCENE_TYPE); // 场景类型 | |||
| String posOrderIdStr = params.get(WxPayConstant.POS_ORDER_ID); // POS订单ID | |||
| String posOrderTimeStr = params.get(WxPayConstant.POS_ORDER_TIME); // POS订单时间 | |||
| String posAmountStr = params.get(WxPayConstant.ORDER_AMOUNT); // POS订单总额 | |||
| String orderCreateSN = params.get(WxPayConstant.ORDER_CREATE_SN); // POS SN号 | |||
| String posStatusStr = params.get(WxPayConstant.ORDER_STATUS); // 订单状态: 0有效,1取消,根据订单状态处理优惠券;有效:优惠券从预核销处理为核销; | |||
| // 1. check params | |||
| if (StringUtils.isBlank(tenantId)) { | |||
| errParam(WxPayConstant.NEU_TENANT_ID); | |||
| errParam(WxPayConstant.TENANT_ID); | |||
| } | |||
| PosMallConfig config = posMallConfigService.getByTenantId(tenantId); | |||
| if (config == null) { | |||
| @@ -1779,31 +1779,31 @@ public class PosServiceImpl implements PosService { | |||
| throw new MallinkException(ErrorCode.POS_CONFIG_NOT_FOUND); | |||
| } | |||
| if (StringUtils.isBlank(merchantIdStr)) { | |||
| errParam(WxPayConstant.NEU_MERCHANT_ID); | |||
| errParam(WxPayConstant.MERCHANT_ID); | |||
| } | |||
| if (StringUtils.isBlank(buUserIdStr)) { | |||
| errParam(WxPayConstant.NEU_BU_USER_ID); | |||
| errParam(WxPayConstant.BUSER_ID); | |||
| } | |||
| if (StringUtils.isBlank(cuUserIdStr)) { | |||
| errParam(WxPayConstant.NEU_MEM_ID); | |||
| errParam(WxPayConstant.MEM_ID); | |||
| } | |||
| if (StringUtils.isBlank(sceneTypeStr)) { | |||
| errParam(WxPayConstant.NEU_ORDER_SCENE_TYPE); | |||
| errParam(WxPayConstant.SCENE_TYPE); | |||
| } | |||
| if (StringUtils.isBlank(posOrderIdStr)) { | |||
| errParam(WxPayConstant.NEU_ORDER_ID); | |||
| errParam(WxPayConstant.POS_ORDER_ID); | |||
| } | |||
| if (StringUtils.isBlank(posOrderTimeStr)) { | |||
| errParam(WxPayConstant.NEU_ORDER_TIME); | |||
| errParam(WxPayConstant.POS_ORDER_TIME); | |||
| } | |||
| if (StringUtils.isBlank(posAmountStr)) { | |||
| errParam(WxPayConstant.NEU_ORDER_AMOUNT); | |||
| errParam(WxPayConstant.ORDER_AMOUNT); | |||
| } | |||
| if (StringUtils.isBlank(orderCreateSN)) { | |||
| errParam(WxPayConstant.NEU_ORDER_CREATE_SN); | |||
| errParam(WxPayConstant.ORDER_CREATE_SN); | |||
| } | |||
| if (StringUtils.isBlank(posStatusStr)) { | |||
| errParam(WxPayConstant.NEU_ORDER_STATUS); | |||
| errParam(WxPayConstant.ORDER_STATUS); | |||
| } | |||
| Long merchantId, buUserId, posOrderId, memId; | |||
| @@ -1835,12 +1835,12 @@ public class PosServiceImpl implements PosService { | |||
| if (posStatusStr.equalsIgnoreCase(WxPayConstant.NEU_ORDER_PAY)) { | |||
| // 4.1 支付同步 | |||
| WxOrder order = createOrderByPos(merchantBUser, memId, posOrderId, posAmount.intValue(), orderTime); | |||
| String payDetail = params.get(WxPayConstant.NEU_PAY_DETAIL); | |||
| String payDetail = params.get(WxPayConstant.PAY_DETAIL); | |||
| JSONObject payDetailObj = JSON.parseObject(payDetail); | |||
| PromotionCalc scoreCreditCalc = new PromotionCalc(); | |||
| scoreCreditCalc.setScore(0); | |||
| scoreCreditCalc.setCredit(0); | |||
| JSONArray payDetailList = payDetailObj.getJSONArray(WxPayConstant.NEU_PAY_DETAIL_LIST); | |||
| JSONArray payDetailList = payDetailObj.getJSONArray(WxPayConstant.PAY_DETAIL_LIST); | |||
| for (int i=0;i<payDetailList.size();i++) { | |||
| JSONObject payOrderObj = payDetailList.getJSONObject(i); | |||
| // ADD to wx_pay_order | |||
| @@ -267,20 +267,20 @@ public class PosAppTest { | |||
| Map<String, String> reqObj = new HashMap<>(); | |||
| reqObj.put(WxPayConstant.NONCE_STR, "1"); | |||
| reqObj.put(WxPayConstant.DEV_ID, devId); | |||
| reqObj.put(WxPayConstant.NEU_TENANT_ID, tenantId); | |||
| reqObj.put(WxPayConstant.NEU_MERCHANT_ID, merchantId); | |||
| reqObj.put(WxPayConstant.NEU_BU_USER_ID, buUserId); | |||
| reqObj.put(WxPayConstant.NEU_MEM_ID, memId); | |||
| reqObj.put(WxPayConstant.NEU_MEM_PHONE, memPhone); | |||
| reqObj.put(WxPayConstant.NEU_ORDER_SCENE_TYPE, sceneType); | |||
| reqObj.put(WxPayConstant.NEU_ORDER_ID, posOrderId); | |||
| reqObj.put(WxPayConstant.NEU_ORDER_TIME, neuDateFormat.format(curDate)); | |||
| reqObj.put(WxPayConstant.NEU_ORDER_AMOUNT, posAmount); | |||
| reqObj.put(WxPayConstant.NEU_ORDER_CREATE_SN, posSN); | |||
| reqObj.put(WxPayConstant.NEU_ORDER_STATUS, "0"); | |||
| reqObj.put(WxPayConstant.TENANT_ID, tenantId); | |||
| reqObj.put(WxPayConstant.MERCHANT_ID, merchantId); | |||
| reqObj.put(WxPayConstant.BUSER_ID, buUserId); | |||
| reqObj.put(WxPayConstant.MEM_ID, memId); | |||
| reqObj.put(WxPayConstant.MEM_PHONE, memPhone); | |||
| reqObj.put(WxPayConstant.SCENE_TYPE, sceneType); | |||
| reqObj.put(WxPayConstant.POS_ORDER_ID, posOrderId); | |||
| reqObj.put(WxPayConstant.POS_ORDER_TIME, neuDateFormat.format(curDate)); | |||
| reqObj.put(WxPayConstant.ORDER_AMOUNT, posAmount); | |||
| reqObj.put(WxPayConstant.ORDER_CREATE_SN, posSN); | |||
| reqObj.put(WxPayConstant.ORDER_STATUS, "0"); | |||
| JSONObject payDetail = new JSONObject(); | |||
| payDetail.put(WxPayConstant.NEU_PAY_DETAIL_LIST, JSON.toJSONString(payDetailList)); | |||
| reqObj.put(WxPayConstant.NEU_PAY_DETAIL, JSON.toJSONString(payDetail)); | |||
| payDetail.put(WxPayConstant.PAY_DETAIL_LIST, JSON.toJSONString(payDetailList)); | |||
| reqObj.put(WxPayConstant.PAY_DETAIL, JSON.toJSONString(payDetail)); | |||
| boolean resSigned = sendAndRes("/posOrderSync", reqObj); | |||
| Assert.assertEquals(resSigned, true); | |||
| } | |||
| @@ -344,20 +344,20 @@ public class PosAppTest { | |||
| Map<String, String> reqObj = new HashMap<>(); | |||
| reqObj.put(WxPayConstant.NONCE_STR, "1"); | |||
| reqObj.put(WxPayConstant.DEV_ID, devId); | |||
| reqObj.put(WxPayConstant.NEU_TENANT_ID, tenantId); | |||
| reqObj.put(WxPayConstant.NEU_MERCHANT_ID, merchantId); | |||
| reqObj.put(WxPayConstant.NEU_BU_USER_ID, buUserId); | |||
| reqObj.put(WxPayConstant.NEU_MEM_ID, memId); | |||
| reqObj.put(WxPayConstant.NEU_MEM_PHONE, memPhone); | |||
| reqObj.put(WxPayConstant.NEU_ORDER_SCENE_TYPE, sceneType); | |||
| reqObj.put(WxPayConstant.NEU_ORDER_ID, posOrderId); | |||
| reqObj.put(WxPayConstant.NEU_ORDER_TIME, neuDateFormat.format(curDate)); | |||
| reqObj.put(WxPayConstant.NEU_ORDER_AMOUNT, orderAmount); | |||
| reqObj.put(WxPayConstant.NEU_ORDER_CREATE_SN, posSN); | |||
| reqObj.put(WxPayConstant.NEU_ORDER_STATUS, "0"); | |||
| reqObj.put(WxPayConstant.TENANT_ID, tenantId); | |||
| reqObj.put(WxPayConstant.MERCHANT_ID, merchantId); | |||
| reqObj.put(WxPayConstant.BUSER_ID, buUserId); | |||
| reqObj.put(WxPayConstant.MEM_ID, memId); | |||
| reqObj.put(WxPayConstant.MEM_PHONE, memPhone); | |||
| reqObj.put(WxPayConstant.SCENE_TYPE, sceneType); | |||
| reqObj.put(WxPayConstant.POS_ORDER_ID, posOrderId); | |||
| reqObj.put(WxPayConstant.POS_ORDER_TIME, neuDateFormat.format(curDate)); | |||
| reqObj.put(WxPayConstant.ORDER_AMOUNT, orderAmount); | |||
| reqObj.put(WxPayConstant.ORDER_CREATE_SN, posSN); | |||
| reqObj.put(WxPayConstant.ORDER_STATUS, "0"); | |||
| JSONObject payDetail = new JSONObject(); | |||
| payDetail.put(WxPayConstant.NEU_PAY_DETAIL_LIST, JSON.toJSONString(payDetailList)); | |||
| reqObj.put(WxPayConstant.NEU_PAY_DETAIL, JSON.toJSONString(payDetail)); | |||
| payDetail.put(WxPayConstant.PAY_DETAIL_LIST, JSON.toJSONString(payDetailList)); | |||
| reqObj.put(WxPayConstant.PAY_DETAIL, JSON.toJSONString(payDetail)); | |||
| boolean resSigned = sendAndRes("/posOrderSync", reqObj); | |||
| Assert.assertEquals(resSigned, true); | |||
| } | |||
| @@ -378,7 +378,7 @@ public class PosAppTest { | |||
| reqObj.put(WxPayConstant.POS_ORDER_ID, posOrderId); | |||
| reqObj.put(WxPayConstant.ORDER_AMOUNT, orderAmount); | |||
| reqObj.put(WxPayConstant.ORDER_AMOUNT_LEFT, orderAmount); | |||
| reqObj.put(WxPayConstant.NEU_ORDER_CREATE_SN, posSN); | |||
| reqObj.put(WxPayConstant.ORDER_CREATE_SN, posSN); | |||
| reqObj.put(WxPayConstant.CARD_ID, cardId); | |||
| reqObj.put(WxPayConstant.AMOUNT_PAID_BY_CARD, orderAmount); | |||
| boolean resSigned = sendAndRes("/cardPayPre", reqObj); | |||
| @@ -388,7 +388,7 @@ public class PosAppTest { | |||
| @Test | |||
| public void cardPayPreCancelTest() throws Exception { | |||
| String cardId = "321883878446825472"; | |||
| String cardSpendId = "329524779780829184"; | |||
| String cardSpendId = "329763372332511232"; | |||
| String sceneType = "1"; // 支付 | |||
| String posOrderId = "1"; | |||
| String orderAmount = "2000"; | |||
| @@ -426,7 +426,7 @@ public class PosAppTest { | |||
| String posPaymentType = String.valueOf(EnumNeuPosPamentType.MEM_CARD.getCode()); | |||
| String posPaymentTypeDes = EnumNeuPosPamentType.MEM_CARD.getMessage(); | |||
| String posPaymentStatus = "0"; | |||
| String cardSpendId = "329527235668242432"; | |||
| String cardSpendId = "329763372332511232"; | |||
| Date curDate = new Date(); | |||
| @@ -447,20 +447,20 @@ public class PosAppTest { | |||
| Map<String, String> reqObj = new HashMap<>(); | |||
| reqObj.put(WxPayConstant.NONCE_STR, "1"); | |||
| reqObj.put(WxPayConstant.DEV_ID, devId); | |||
| reqObj.put(WxPayConstant.NEU_TENANT_ID, tenantId); | |||
| reqObj.put(WxPayConstant.NEU_MERCHANT_ID, merchantId); | |||
| reqObj.put(WxPayConstant.NEU_BU_USER_ID, buUserId); | |||
| reqObj.put(WxPayConstant.NEU_ORDER_SCENE_TYPE, sceneType); | |||
| reqObj.put(WxPayConstant.NEU_MEM_ID, memId); | |||
| reqObj.put(WxPayConstant.NEU_MEM_PHONE, memPhone); | |||
| reqObj.put(WxPayConstant.NEU_ORDER_ID, posOrderId); | |||
| reqObj.put(WxPayConstant.NEU_ORDER_TIME, neuDateFormat.format(curDate)); | |||
| reqObj.put(WxPayConstant.NEU_ORDER_AMOUNT, orderAmount); | |||
| 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.MEM_ID, memId); | |||
| reqObj.put(WxPayConstant.MEM_PHONE, memPhone); | |||
| reqObj.put(WxPayConstant.POS_ORDER_ID, posOrderId); | |||
| reqObj.put(WxPayConstant.POS_ORDER_TIME, neuDateFormat.format(curDate)); | |||
| reqObj.put(WxPayConstant.ORDER_AMOUNT, orderAmount); | |||
| reqObj.put(WxPayConstant.ORDER_CREATE_SN, posSN); | |||
| reqObj.put(WxPayConstant.NEU_ORDER_STATUS, "0"); | |||
| reqObj.put(WxPayConstant.ORDER_STATUS, "0"); | |||
| JSONObject payDetail = new JSONObject(); | |||
| payDetail.put(WxPayConstant.NEU_PAY_DETAIL_LIST, JSON.toJSONString(payDetailList)); | |||
| reqObj.put(WxPayConstant.NEU_PAY_DETAIL, JSON.toJSONString(payDetail)); | |||
| payDetail.put(WxPayConstant.PAY_DETAIL_LIST, JSON.toJSONString(payDetailList)); | |||
| reqObj.put(WxPayConstant.PAY_DETAIL, JSON.toJSONString(payDetail)); | |||
| boolean resSigned = sendAndRes("/posOrderSync", reqObj); | |||
| Assert.assertEquals(resSigned, true); | |||
| } | |||
| @@ -131,40 +131,30 @@ public class WxPayConstant { | |||
| //// 东软相关定义 | |||
| public final static String NEU_TENANT_ID = "TenantID"; // 富茂系统商场ID | |||
| public final static String NEU_MERCHANT_ID = "MerchantID"; // 富茂系统商户ID | |||
| public final static String NEU_BU_USER_ID = "OrderOperatorID"; // 富茂系统登录操作员ID | |||
| public final static String NEU_MEM_ID = "MemberID"; // 富茂系统会员ID | |||
| public final static String NEU_MEM_PHONE = "MemberPhoneNumber"; // 富茂系统会员手机号 | |||
| public final static String NEU_ORDER_ID = "OrderNumberofPlatform"; // 东软平台订单号 | |||
| public final static String NEU_ORDER_TIME = "OrderTimeOfPlatform"; // 平台订单创建时间, 格式:4位年2位月2位日2位24小时制时2位分2位秒3位毫秒 | |||
| public final static String NEU_ORDER_AMOUNT = "OrderAmount"; // 订单价格 | |||
| public final static String NEU_ORDER_CREATE_SN = "OrderCreateSN"; // 创建订单的POS SN号 | |||
| public final static String NEU_ORDER_SCENE_TYPE = "BusinessType"; // 订单场景 // 0:核销 1:支付 | |||
| public final static String NEU_ORDER_STATUS = "OrderStatus"; // 必要,订单状态: 0有效,1取消,根据订单状态处理优惠券;有效:优惠券从预核销处理为核销; | |||
| public final static String NEU_PAY_DETAIL = "PaymentDetail"; | |||
| public final static String NEU_PAY_DETAIL_LIST = "PaymentDetailList"; | |||
| public final static String NEU_PAY_ORDER_ID = "PaymentNumberOfPlatform"; // 东软平台支付订单号 | |||
| public final static String NEU_PAY_ORDER_TIME = "PaymentOrderTime"; // 东软平台支付订单创建时间 | |||
| public final static String NEU_PAY_ORDER_TYPE = "PaymentType"; // 支付方式: 0微信;1支付宝;2现金;3会员折扣;4优惠券;5预付卡;6银行卡 | |||
| public final static String NEU_PAY_ORDER_TYPE_DES = "PaymentTypeDescription"; // 支付方式描述:微信或支付宝或现金或会员折扣或优惠券或预付卡或银行卡 | |||
| public final static String NEU_PAY_ORDER_PARAM = "PaymentThirdPartyString"; // 第三方使用数据,JSON存储,包含富茂所需的系统要素 | |||
| public final static String NEU_PAY_ORDER_STATUS = "PaymentStatus"; // 支付状态:0非手动同步, 1手动同步 | |||
| public final static String NEU_PAY_ORDER_OUT_NO = "OuterPaymentNumber"; // 第三方(微信、支付宝、富茂预付卡)支付订单流水号,富茂优惠券ID,现金和富茂会员折扣时为空 | |||
| public final static String NEU_PAY_ORDER_AMOUNT = "PaymentAmount"; // 支付金额 | |||
| public final static String NEU_PAY_ORDER_OUT_TIME = "PayTime"; // 第三方支付系统返回的支付时间,现金和富茂会员折扣时为空 | |||
| public final static String NEU_REFUND_DETAIL = "RefundDetail"; | |||
| public final static String NEU_REFUND_DETAIL_LIST = "RefundDetailList"; | |||
| public final static String NEU_REFUND_ORDER_ID = "RefundNumberOfPlatform"; // 东软平台退款订单号 | |||
| public final static String NEU_REFUND_ORDER_TIME = "RefundOrderTime"; // 东软平台退款订单创建时间 | |||
| public final static String NEU_REFUND_ORDER_TYPE = "RefundType"; // 退款方式: 0微信;1支付宝;2现金;3会员折扣;4优惠券;5预付卡;6银行卡;7记账; | |||
| public final static String POS_ORDER_TIME = "order_time_of_platform"; // 平台订单创建时间, 格式:4位年2位月2位日2位24小时制时2位分2位秒3位毫秒 | |||
| public final static String PAY_DETAIL = "payment_detail"; | |||
| public final static String PAY_DETAIL_LIST = "payment_detail_list"; | |||
| public final static String NEU_PAY_ORDER_ID = "payment_number_of_platform"; // 东软平台支付订单号 | |||
| public final static String NEU_PAY_ORDER_TIME = "payment_order_time"; // 东软平台支付订单创建时间 | |||
| public final static String NEU_PAY_ORDER_TYPE = "payment_type"; // 支付方式: 0微信;1支付宝;2现金;3会员折扣;4优惠券;5预付卡;6银行卡 | |||
| public final static String NEU_PAY_ORDER_TYPE_DES = "payment_type_description"; // 支付方式描述:微信或支付宝或现金或会员折扣或优惠券或预付卡或银行卡 | |||
| public final static String NEU_PAY_ORDER_PARAM = "payment_third_party_string"; // 第三方使用数据,JSON存储,包含富茂所需的系统要素 | |||
| public final static String NEU_PAY_ORDER_STATUS = "payment_status"; // 支付状态:0非手动同步, 1手动同步 | |||
| public final static String NEU_PAY_ORDER_OUT_NO = "outer_payment_number"; // 第三方(微信、支付宝、富茂预付卡)支付订单流水号,富茂优惠券ID,现金和富茂会员折扣时为空 | |||
| public final static String NEU_PAY_ORDER_AMOUNT = "payment_amount"; // 支付金额 | |||
| public final static String NEU_PAY_ORDER_OUT_TIME = "pay_time"; // 第三方支付系统返回的支付时间,现金和富茂会员折扣时为空 | |||
| public final static String NEU_REFUND_DETAIL = "refund_detail"; | |||
| public final static String NEU_REFUND_DETAIL_LIST = "refund_detail_list"; | |||
| public final static String NEU_REFUND_ORDER_ID = "refund_number_of_platform"; // 东软平台退款订单号 | |||
| public final static String NEU_REFUND_ORDER_TIME = "refund_order_time"; // 东软平台退款订单创建时间 | |||
| public final static String NEU_REFUND_ORDER_TYPE = "refund_type"; // 退款方式: 0微信;1支付宝;2现金;3会员折扣;4优惠券;5预付卡;6银行卡;7记账; | |||
| // 退款方式可以与支付方式不同,但只能是记账,作为线下手动操作退款方式 | |||
| public final static String NEU_REFUND_ORDER_TYPE_DES = "RefundTypeDescription"; // 退款方式描述:微信或支付宝或现金或会员折扣或优惠券或预付卡或银行卡或记账 | |||
| public final static String NEU_REFUND_ORDER_PARAM = "RefundThirdPartyString"; // 第三方使用数据,JSON存储,包含富茂所需的系统要素 | |||
| public final static String NEU_REFUND_ORDER_STATUS = "RefundStatus"; // 退款状态:0非手动, 1手动退款, 2手动释放同步 | |||
| public final static String NEU_REFUND_ORDER_OUT_NO = "OuterRefundNumber"; // 第三方(微信、支付宝、富茂预付卡)支付订单流水号,富茂优惠券ID,现金和富茂会员折扣时为空 | |||
| public final static String NEU_REFUND_ORDER_AMOUNT = "RefundAmount"; // 退款金额 | |||
| public final static String NEU_REFUND_ORDER_OUT_TIME = "RefundTime"; // 第三方支付系统返回的支付时间,现金和富茂会员折扣时为空 | |||
| public final static String NEU_REFUND_ORDER_TYPE_DES = "refund_type_description"; // 退款方式描述:微信或支付宝或现金或会员折扣或优惠券或预付卡或银行卡或记账 | |||
| public final static String NEU_REFUND_ORDER_PARAM = "refund_third_party_string"; // 第三方使用数据,JSON存储,包含富茂所需的系统要素 | |||
| public final static String NEU_REFUND_ORDER_STATUS = "refund_status"; // 退款状态:0非手动, 1手动退款, 2手动释放同步 | |||
| public final static String NEU_REFUND_ORDER_OUT_NO = "outer_refund_number"; // 第三方(微信、支付宝、富茂预付卡)支付订单流水号,富茂优惠券ID,现金和富茂会员折扣时为空 | |||
| public final static String NEU_REFUND_ORDER_AMOUNT = "refund_amount"; // 退款金额 | |||
| public final static String NEU_REFUND_ORDER_OUT_TIME = "refund_time"; // 第三方支付系统返回的支付时间,现金和富茂会员折扣时为空 | |||
| public final static String NEU_ORDER_PAY = "0"; // 有效, 优惠券从预核销处理为核销, 卡从预支付->支付 | |||
| public final static String NEU_ORDER_REFUND = "1"; // 取消 | |||
| @@ -725,13 +725,14 @@ public class WxCardSpendServiceImpl implements WxCardSpendService { | |||
| Date curDate = new Date(); | |||
| // 1. update card_spend | |||
| WxCardSpend updateCardSpend = new WxCardSpend(); | |||
| updateCardSpend.setId(record.getId()); | |||
| updateCardSpend.setOrderId(record.getOrderId()); | |||
| updateCardSpend.setPayStatus(EnumCardSpendStatus.NOT_PAY.getCode()); | |||
| updateCardSpend.setUpdateDate(curDate); | |||
| try { | |||
| wxCardSpendMapper.updateByPrimaryKeySelective(updateCardSpend); | |||
| } catch (Exception e) { | |||
| logger.error("card spend update error"); | |||
| logger.error("card spend update error: " + e.getMessage()); | |||
| throw new MallinkException(ErrorCode.DB_FAIL.getCode(), "card spend 插入出错!"); | |||
| } | |||
| @@ -213,6 +213,8 @@ public class WxCreditHistoryServiceImpl implements WxCreditHistoryService { | |||
| } else if (wxCUserBasicInfo != null && wxCUserBasicInfo.getCredit() != null && wxCUserBasicInfo.getCredit() > 0) { | |||
| currentCreditAmount = wxCUserBasicInfo.getCredit(); | |||
| } | |||
| record.setCreditAmount(currentCreditAmount); | |||
| record.setCreditNum(0); | |||
| int creditChangeNumOrigin = creditIncrement(record); | |||
| int creditChangeNum = creditChangeNumOrigin ; | |||