String sign =""; if( null != map.get("sign")){ sign = map.get("sign"); } log.info("买气退款回调参数"+map.toString()); String isRepeat = stringRedisTemplate.opsForValue().get((refundOrderNo+"repeat")); if(null == isRepeat || isRepeat.length() <= 0){ log.info("支付结束"); return null; }else{ stringRedisTemplate.delete((refundOrderNo+"repeat")); } Map<String,String> codeMap = MapUtil.newHashMap(); codeMap.put("serialNumber",outTradeNo); List<H5UserPayCode> list = h5UserPayCodeServiceImpl.byList(codeMap); H5UserPayCode payCode = list.get(0); payCode.setIsRefund(1); payCode.setRefundTime(LocalDateTime.now()); payCode.setRefundCode(refundOrderNo); if(h5UserPayCodeServiceImpl.updateById(payCode)) { stringRedisTemplate.delete(refundOrderNo); log.info("开始往稠州银行写数据-退款数据"); String tempUrl = platformConfig.getPayCzcb().getBaseUrl() + "gasbusiness/v2/orderRefund"; CzcbSFTRefundVO czcbSFTRefundVO = new CzcbSFTRefundVO(); czcbSFTRefundVO.setChannel_no(platformConfig.getPayCzcb().getChannelNo()); czcbSFTRefundVO.setApp_no(platformConfig.getPayCzcb().getAppNo()); String serialNo = SerialNoUtil.genSerialNo("OAC"); czcbSFTRefundVO.setSerial_no(serialNo); czcbSFTRefundVO.setOrder_no(payCode.getOrderCode()); // czcbSFTPayVO.setOrder_type("A"); DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"); czcbSFTRefundVO.setRefund_time(dtf.format(payCode.getCreateTime())); czcbSFTRefundVO.setRefund_amount(new BigDecimal(payCode.getAmount()+"")); czcbSFTRefundVO.setOut_trade_no(payCode.getSerialNumber()); czcbSFTRefundVO.setOut_refund_no(refundOrderNo); czcbSFTRefundVO.setTrans_amount_1(BigDecimal.ZERO); czcbSFTRefundVO.setTrans_amount_2(BigDecimal.ZERO); czcbSFTRefundVO.setTrans_amount_3(new BigDecimal(payCode.getAmount()+"")); czcbSFTRefundVO.setRemark("盛付通订单支付退款"); //判断是正式还是测试 if ( SpringContextUtil.isProd() ) { czcbSFTRefundVO.setOpp_account_no("1010220406000001"); // czcbSFTRefundVO.setOpp_account_no("1010220214000003"); }else{ czcbSFTRefundVO.setOpp_account_no("1010220214000003"); } czcbSFTRefundVO.setOpp_account_name("义乌市城建燃气经营有限公司"); czcbSFTRefundVO.setTrans_amount_4(BigDecimal.ZERO); czcbSFTRefundVO.setTrans_amount_5(new BigDecimal(payCode.getAmount()+"")); czcbSFTRefundVO.setTrans_amount_6(BigDecimal.ZERO); // 操作日期 czcbSFTRefundVO.setTrans_date(DateTime.now().toString("yyyy-MM-dd")); // 操作时间 czcbSFTRefundVO.setTrans_tradetime(DateTime.now().toString("yyyy-MM-dd HH:mm:ss")); czcbSFTRefundVO.setSign_data(SignUtil.addSignMD5(BeanUtil.beanToMap(czcbSFTRefundVO), platformConfig.getPayCzcb().getKey())); log.info("开始往稠州银行写数据:" + JSON.toJSONString(czcbSFTRefundVO)); String result = HttpUtil.post(tempUrl, JSON.toJSONString(czcbSFTRefundVO)); log.info("开始往稠州银行写数据:" + result); if(isSuccess(result)){ log.info("开始往稠州银行写数据写入成功"); } } }catch(Exception ex){ ex.printStackTrace(); } return new R(200,"回调成功"); }
时间: 2023-03-27 15:02:07 浏览: 105
这是一段使用 Java 编写的代码。它的作用是执行退款操作,并将退款的相关信息写入稠州银行的系统。
具体来说,首先检查传入的参数中是否包含 "sign" 字段,如果包含就将其赋值给变量 "sign"。然后记录一条日志,内容为传入参数的内容。接下来,在 Redis 中检查是否存在与退款订单号对应的值,如果不存在或值为空,就直接返回 null。否则,就将 Redis 中的对应的值删除。
然后,使用传入的流水号从数据库中查询相关的记录,并将记录的退款状态更新为已退款。之后使用更新后的记录更新数据库中的相应记录,并在操作成功后将 Redis 中与退款订单号对应的值删除。
最后,使用从配置文件中读取的稠州银行的 URL 和相关参数,调用稠州银行的退款接口,并将相关信息写入稠州银行的系统中。
相关问题
String msg = (String) map.get("msg");
这段代码中,`map` 是一个 `Map` 对象,`get` 方法用于从 `map` 中获取与指定键相关联的值。在这里,键为 `"msg"`,因此 `get("msg")` 返回与该键相关联的值。由于 `Map` 对象是一个泛型类,您需要将值强制转换为 `String` 类型,因为 `get` 方法返回的是一个 `Object` 对象。如果该键不存在,则 `get` 方法返回 `null`。因此,在使用 `get` 方法获取值之前,您需要确保该键在 `map` 中存在。
String element = arrayList.get(0).get("Apple");
这段代码也有问题。假设 `arrayList` 是一个包含了多个 HashMap 的 ArrayList,每个 HashMap 都是一些水果的名称和描述,那么这个代码想要获取第一个 HashMap 中键为 "Apple" 的元素的值。但是,这个代码有两个问题:
1. `arrayList.get(0)` 返回的是第一个 HashMap,而不是一个 ArrayList,所以不能再调用 `get` 方法。
2. HashMap 的 `get` 方法需要传入一个键值,而不是一个整数索引值。
如果想要实现这个功能,可以修改代码如下:
```
ArrayList<HashMap<String, String>> arrayList = new ArrayList<>();
HashMap<String, String> map = new HashMap<>();
map.put("Apple", "A delicious fruit");
arrayList.add(map);
String element = arrayList.get(0).get("Apple");
```
这样就可以正确地获取第一个 HashMap 中键为 "Apple" 的元素的值了。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)