| | |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | import javax.annotation.Resource; |
| | | import java.math.BigDecimal; |
| | | import java.math.RoundingMode; |
| | | import java.util.Date; |
| | | import java.util.Map; |
| | | import java.util.TreeMap; |
| | |
| | | params.put("pay_bankcode", bankCode); |
| | | params.put("pay_notifyurl", getNotifyUrl()); |
| | | params.put("pay_callbackurl", getReturnUrl()); |
| | | params.put("pay_amount", order.getAmount().toPlainString()); |
| | | params.put("pay_amount", getBRLAmount(order.getAmount())); |
| | | params.put("pay_productname", "商品订单-" + order.getOrderNo()); |
| | | |
| | | // 通道 968 需要 network 参数 |
| | |
| | | return json.getString("payurl"); |
| | | } |
| | | |
| | | private String getBRLAmount(BigDecimal amount){ |
| | | DataDictionaryCustom dataDictionaryCustom = dataDictionaryCustomMapper.selectDicDataByTypeAndCode( |
| | | "MONEY_CHANGE", |
| | | "BRL" |
| | | ); |
| | | BigDecimal rate = new BigDecimal("5.18"); |
| | | if (dataDictionaryCustom != null){ |
| | | rate = new BigDecimal(dataDictionaryCustom.getValue()); |
| | | } |
| | | |
| | | return amount.multiply( rate).setScale(2, RoundingMode.DOWN).toString(); |
| | | } |
| | | |
| | | // ==================== 回调处理 ==================== |
| | | |
| | | /** |