| | |
| | | String outTradeNo = time + nonce; |
| | | String amount = String.valueOf(erpProcurement.getPayMoney().multiply(new BigDecimal("100")).intValue()); |
| | | |
| | | TCrmSupplier supplier = crmSupplierService.getById(erpProcurement.getSupplierId()); |
| | | |
| | | |
| | | String apiPath = "sit/api/v3/labs/trans/preorder"; |
| | | String body = "{\n" + |
| | |
| | | "\t\"version\": \"3.0\",\n" + |
| | | "\t\"req_data\": {\n" + |
| | | "\t\t\"out_trade_no\": \"" + outTradeNo + "\",\n" + |
| | | "\t\t\"merchant_no\": \"822290059430BFA\",\n" + |
| | | "\t\t\"term_no\": \"D9261078\",\n" + |
| | | "\t\t\"merchant_no\": \""+supplier.getRecvMerchantNo()+"\",\n" + |
| | | "\t\t\"term_no\": \""+supplier.getTermNo()+"\",\n" + |
| | | "\t\t\"notify_url\": \"http://221.182.45.100:8089/t-sys-order/messageHandle\",\n" + |
| | | "\t\t\"location_info\": {\n" + |
| | | "\t\t\t\"request_ip\": \"" + ipAddr + "\"\n" + |
| | |
| | | String code = jsonObject1.getString("log_no"); |
| | | erpProcurement.setPayTransactionId(code); |
| | | erpProcurement.setStatus(2); |
| | | erpProcurement.setTermNo("D9261078"); |
| | | erpProcurement.setTermNo(supplier.getTermNo()); |
| | | erpProcurement.setAccountType(type); |
| | | erpProcurement.setTransType("41"); |
| | | erpProcurementService.updateById(erpProcurement); |
| | |
| | | } |
| | | |
| | | |
| | | public static void main(String[] args) { |
| | | String a = "{\"code\":\"BBS00000\",\"msg\":\"成功\",\"resp_time\":\"20250916114506\",\"resp_data\":{\"merchant_no\":\"822290059430BFA\",\"out_trade_no\":\"202509161144582Kck\",\"trade_no\":\"2025091666200821320234\",\"log_no\":\"66200821320234\",\"settle_merchant_no\":\"\",\"settle_term_no\":\"\",\"trade_req_date\":\"20250916\",\"acc_resp_fields\":{\"code\":\"https://qr.alipay.com/bax01747cbtdjneesjaz0044\",\"code_image\":\"\",\"prepay_id\":\"\",\"app_id\":\"\",\"pay_sign\":\"\",\"time_stamp\":\"\",\"nonce_str\":\"\",\"package\":\"\",\"sign_type\":\"\",\"form_data\":\"\",\"redirect_url\":\"\",\"best_pay_info\":\"\",\"partner_id\":\"\",\"sub_mch_id\":\"2088240727800097\"}}}"; |
| | | |
| | | } |
| | | |
| | | @RequestMapping("/messageHandle") |
| | | @ApiOperation(value = "拉卡拉支付信息回调接口") |
| | |
| | | |
| | | |
| | | HashMap<String, Object> map = new HashMap<>(); |
| | | map.put("merchant_no", "822290059430BFA"); |
| | | map.put("merchant_no", erpProcurement.getMerchantNo()); |
| | | map.put("log_no", erpProcurement.getPayTransactionId()); |
| | | map.put("log_date", DateUtils.dateTime()); |
| | | map.put("notify_url", "http://221.182.45.100:8089/t-sys-order/messageSeparateHandle"); |
| | |
| | | String outTradeNo = time + str; |
| | | map.put("out_separate_no", outTradeNo); |
| | | map.put("total_amt", erpProcurement.getPayMoney().multiply(BigDecimal.valueOf(100)).intValue() + ""); |
| | | // 平台应得分账 |
| | | |
| | | |
| | | |
| | | BigDecimal allMoney = erpProcurement.getPayMoney(); |
| | | // 平台应得分账 |
| | | BigDecimal payMoney = erpProcurement.getPayMoney(); |
| | | ArrayList<HashMap<String, Object>> objects = new ArrayList<>(); |
| | | // 根据供应商id分组 |
| | |
| | | List<TErpProcurementGoods> value = entry.getValue(); |
| | | BigDecimal reduce = value.stream().map(TErpProcurementGoods::getSupplierMoney).reduce(BigDecimal.ZERO, BigDecimal::add); |
| | | payMoney = payMoney.subtract(reduce); |
| | | map1.put("recv_merchant_no", supplier.getRecvMerchantNo()); |
| | | map1.put("recv_no", supplier.getRecvMerchantNo()); |
| | | map1.put("separate_value", reduce.multiply(BigDecimal.valueOf(100)).intValue() + ""); |
| | | objects.add(map1); |
| | | // objects.add(map1); |
| | | } |
| | | HashMap<String, Object> map1 = new HashMap<>(); |
| | | map1.put("recv_merchant_no", "822641048160MMJ"); |
| | | //TODO hzt |
| | | map1.put("recv_no", "822641048160MMJ"); |
| | | // 手续费 |
| | | BigDecimal bigDecimal = allMoney.multiply(new BigDecimal("0.038")).setScale(2, RoundingMode.HALF_UP); |
| | | payMoney = payMoney.subtract(bigDecimal); |
| | |
| | | if ( erpProcurement!=null && "SUCCESS".equals(status)) { |
| | | erpProcurement.setRefundStatus(1); |
| | | erpProcurementService.updateById(erpProcurement); |
| | | // 修改分账状态 |
| | | List<TErpProcurementGoods> list1 = erpProcurementGoodsService.list(new LambdaQueryWrapper<TErpProcurementGoods>().eq(TErpProcurementGoods::getProcurementId, erpProcurement.getId())); |
| | | for (Object object : jsonArray) { |
| | | JSONObject jsonObject = JSONObject.parseObject(object.toString()); |
| | | String recvMerchantNo = jsonObject.getString("recv_merchant_no"); |
| | | String recvNo = jsonObject.getString("recv_no"); |
| | | List<TErpProcurementGoods> collect1 = list1.stream().filter(e -> e.getRecvMerchantNo().equals(recvMerchantNo)).collect(Collectors.toList()); |
| | | collect1.stream().forEach(e->e.setRecvNo(recvNo)); |
| | | erpProcurementGoodsService.updateBatchById(collect1); |
| | | } |
| | | list1.stream().forEach(e->e.setStatus(1)); |
| | | erpProcurementGoodsService.updateBatchById(list1); |
| | | |
| | | |
| | | // 响应success |
| | | JSONObject jsonObject = new JSONObject(); |
| | | jsonObject.put("code", "SUCCESS"); |
| | |
| | | "\t\"req_time\": \"" + time + "\",\n" + |
| | | "\t\"version\": \"3.0\",\n" + |
| | | "\t\"req_data\": {\n" + |
| | | "\t\t\"merchant_no\": \"822290059430BFA\",\n" + |
| | | "\t\t\"merchant_no\": \""+erpProcurement.getMerchantNo()+"\",\n" + |
| | | "\t\t\"term_no\": \""+erpProcurement.getTermNo()+"\",\n" + |
| | | "\t\t\"refund_amount\": " + refund_amount + ",\n" + |
| | | "\t\t\"out_trade_no\": \"" + outTradeNo + "\",\n" + |
| | |
| | | |
| | | |
| | | HashMap<String, Object> map = new HashMap<>(); |
| | | map.put("merchant_no", "822290059430BFA"); |
| | | map.put("merchant_no", erpProcurement.getMerchantNo()); |
| | | map.put("origin_separate_no", erpProcurement.getSeparateNo()); |
| | | map.put("out_separate_no",outTradeNo); |
| | | erpProcurement.setRefundOutSeparateNo(outTradeNo); |
| | | erpProcurementService.updateById(erpProcurement); |
| | | |
| | | |
| | | List<TErpProcurementGoods> list = erpProcurementGoodsService.list(new LambdaQueryWrapper<TErpProcurementGoods>().eq(TErpProcurementGoods::getProcurementId, erpProcurement.getId())); |
| | | |
| | | // List<TErpProcurementGoods> list = erpProcurementGoodsService.list(new LambdaQueryWrapper<TErpProcurementGoods>().eq(TErpProcurementGoods::getProcurementId, erpProcurement.getId())); |
| | | // 根据供应商id分组 |
| | | Map<String, List<TErpProcurementGoods>> collect = list.stream().collect(Collectors.groupingBy(TErpProcurementGoods::getSupplierId)); |
| | | // Map<String, List<TErpProcurementGoods>> collect = list.stream().collect(Collectors.groupingBy(TErpProcurementGoods::getSupplierId)); |
| | | ArrayList<HashMap<String, Object>> objects = new ArrayList<>(); |
| | | BigDecimal allMoney = list.stream().map(TErpProcurementGoods::getSupplierMoney).reduce(BigDecimal.ZERO, BigDecimal::add); |
| | | for (Map.Entry<String, List<TErpProcurementGoods>> entry : collect.entrySet()) { |
| | | HashMap<String, Object> map1 = new HashMap<>(); |
| | | List<TErpProcurementGoods> value = entry.getValue(); |
| | | BigDecimal reduce = value.stream().map(TErpProcurementGoods::getSupplierMoney).reduce(BigDecimal.ZERO, BigDecimal::add); |
| | | String recv_no = value.stream().map(TErpProcurementGoods::getRecvNo).collect(Collectors.toList()).get(0); |
| | | map1.put("recv_no", recv_no); |
| | | map1.put("amt", reduce.multiply(BigDecimal.valueOf(100)).intValue() + ""); |
| | | objects.add(map1); |
| | | } |
| | | BigDecimal add = allMoney.add(erpProcurement.getMoney()).multiply(BigDecimal.valueOf(100)); |
| | | map.put("total_amt",add); |
| | | // BigDecimal allMoney = list.stream().map(TErpProcurementGoods::getSupplierMoney).reduce(BigDecimal.ZERO, BigDecimal::add); |
| | | // for (Map.Entry<String, List<TErpProcurementGoods>> entry : collect.entrySet()) { |
| | | // |
| | | // List<TErpProcurementGoods> value = entry.getValue(); |
| | | // BigDecimal reduce = value.stream().map(TErpProcurementGoods::getSupplierMoney).reduce(BigDecimal.ZERO, BigDecimal::add); |
| | | // String recv_no = value.stream().map(TErpProcurementGoods::getRecvNo).collect(Collectors.toList()).get(0); |
| | | // } |
| | | HashMap<String, Object> map1 = new HashMap<>(); |
| | | // TODO hzt |
| | | map1.put("recv_no", "dsadasda"); |
| | | map1.put("amt", erpProcurement.getMoney().multiply(BigDecimal.valueOf(100)).intValue() + ""); |
| | | objects.add(map1); |
| | | map.put("total_amt",erpProcurement.getMoney().multiply(BigDecimal.valueOf(100)).intValue() + ""); |
| | | map.put("origin_recv_datas",objects); |
| | | reqMap.put("req_data", map); |
| | | |