Error setting expression '1ecApplmainDto.ecApplDetailDtos_[0].id.serialno' with value '[Ljava.lang.String;@53c29556' ognl.ExpressionSyntaxException: Malformed OGNL expression: 1ecApplmainDto.ecApplDetailDtos_[0].id.serialno [ognl.ParseException: Encountered " <IDENT> "ecApplmainDto "" at line 1, column 2.
时间: 2024-04-05 18:29:11 浏览: 70
这个错误提示是因为你在设置表达式的时候出现了语法错误,具体是在 `1ecApplmainDto.ecApplDetailDtos_[0].id.serialno` 这个表达式中出现了问题。可能原因是你的表达式不符合 OGNL 语法规则。建议检查一下表达式中是否有语法错误或者变量名拼写错误。另外,`[Ljava.lang.String;@53c29556` 这个值也可能是因为你在设置值的时候出现了问题,建议检查一下设置值的方式是否正确。
相关问题
select * from (select rownum as r, t.* from (select to_char(a.d_disclosedate, 'yyyy-MM-dd') as showdatetime, a.c_filetype, a.c_filename, a.c_filepath, a.c_month, a.c_year, a.d_modifydate, a.d_createdate, a.l_serialno, b.c_caption, b.c_keyvalue, wm_concat(c.c_fundcode) as c_fundcode, wm_concat(c.c_fundname) as c_fundname, b.c_memo from twordfilesmanage a, tdictionary b, tfundinfo c, twordfundrelation d where 1 = 1 and b.c_sysname = 'DATACNT' and b.l_keyno = 1301 and a.c_publish = '1' and a.c_filetype = trim(b.c_keyvalue) and c.c_fundcode = d.c_fundcode and a.l_serialno = d.l_serialno and a.c_filetype = '1' group by (a.d_disclosedate, a.c_filetype, a.c_filename, a.c_filepath, a.c_month, a.c_year, a.d_modifydate, a.d_createdate, a.l_serialno, b.c_caption, b.c_keyvalue, b.c_memo)) t where rownum <= 10) where r >= 1
这是一条 SQL 查询语句,目的是从数据库中查询符合条件的记录,并返回所有列的值。具体查询条件如下:
- 查询表 twordfilesmanage、tdictionary、tfundinfo 和 twordfundrelation
- 查询条件包括:
- b.c_sysname = 'DATACNT'
- b.l_keyno = 1301
- a.c_publish = '1'
- a.c_filetype = trim(b.c_keyvalue)
- c.c_fundcode = d.c_fundcode
- a.l_serialno = d.l_serialno
- a.c_filetype = '1'
- 查询结果按照 a.d_disclosedate、a.c_filetype、a.c_filename、a.c_filepath、a.c_month、a.c_year、a.d_modifydate、a.d_createdate、a.l_serialno、b.c_caption、b.c_keyvalue 和 b.c_memo 分组,并使用 wm_concat 函数对 c.c_fundcode 和 c.c_fundname 进行合并处理
- 最终返回 10 条符合条件的记录
该查询语句的具体实现可能会根据数据库的不同而有所不同。
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,"回调成功"); }
这是一段使用 Java 编写的代码。它的作用是执行退款操作,并将退款的相关信息写入稠州银行的系统。
具体来说,首先检查传入的参数中是否包含 "sign" 字段,如果包含就将其赋值给变量 "sign"。然后记录一条日志,内容为传入参数的内容。接下来,在 Redis 中检查是否存在与退款订单号对应的值,如果不存在或值为空,就直接返回 null。否则,就将 Redis 中的对应的值删除。
然后,使用传入的流水号从数据库中查询相关的记录,并将记录的退款状态更新为已退款。之后使用更新后的记录更新数据库中的相应记录,并在操作成功后将 Redis 中与退款订单号对应的值删除。
最后,使用从配置文件中读取的稠州银行的 URL 和相关参数,调用稠州银行的退款接口,并将相关信息写入稠州银行的系统中。
阅读全文