小编and*_*onc的帖子

多个 If 语句缩减

我正在寻找一些帮助清理下面的代码并减少行数。如果 get 返回空值,有没有办法不设置任何内容?

            if (map.get("cpn_rate") != null) {
                collateral.setCoupon(new BigDecimal(map.get("cpn_rate")));
            }
            if (map.get("Price") != null) {
                collateral.setPrice(new BigDecimal(map.get("Price")));
            }
            if (map.get("Par") != null) {
                collateral.setPar(new BigDecimal(map.get("Par")));
            }
            if (map.get("mkt_val") != null) {
                collateral.setMarketValue(new BigDecimal(map.get("mkt_val")));
            }
            if (map.get("Accrued Intr") != null) {
                collateral.setAccurInterest(new BigDecimal(map.get("Accrued Intr")));
            }
            if (map.get("Total Market Value") != null) {
                collateral.setTotMktValue(new BigDecimal(map.get("Total Market Value")));
            }
Run Code Online (Sandbox Code Playgroud)

java

4
推荐指数
1
解决办法
179
查看次数

Spring Webflux 查找和保存的正确方法

我创建了以下方法来查找 Analysis 对象,更新其结果字段,然后最后将结果保存在数据库中,但不等待返回。

public void updateAnalysisWithResults(String uuidString, String results) {
        findByUUID(uuidString).subscribe(analysis -> {
            analysis.setResults(results);
            computeSCARepository.save(analysis).subscribe();
        });
    }
Run Code Online (Sandbox Code Playgroud)

在订阅中订阅感觉写得不好。这是一个不好的做法吗?有更好的方法来写这个吗?

更新:入口点

@PatchMapping("compute/{uuid}/results")
    public Mono<Void> patchAnalysisWithResults(@PathVariable String uuid, @RequestBody String results) {
        return computeSCAService.updateAnalysisWithResults(uuid,results);
    }
Run Code Online (Sandbox Code Playgroud)
    public Mono<Void> updateAnalysisWithResults(String uuidString, String results) {
//        findByUUID(uuidString).subscribe(analysis -> {
//            analysis.setResults(results);
//            computeSCARepository.save(analysis).subscribe();
//        });
        return findByUUID(uuidString)
                .doOnNext(analysis -> analysis.setResults(results))
                .doOnNext(computeSCARepository::save)
                .then();
    }
Run Code Online (Sandbox Code Playgroud)

java reactive-streams spring-webflux

3
推荐指数
1
解决办法
3883
查看次数

平均时间oracle sql

我正在尝试查找某个日期范围的平均开始时间,但平均功能似乎无法正常使用to_char(cast(Start_Dt as date),'HH24:MI')(Start_Dt sample:)12/12/18 02:30:13。关于如何获得理想结果的任何想法?

样品:

SELECT
job_nm
avg(to_char(cast(Start_Dt as date),'HH24:MI'))
FROM batch_table
Where Start_Dt >= trunc(sysdate-10)
group by job_nm
Run Code Online (Sandbox Code Playgroud)

错误:ORA-01722:无效号码01722。00000-“无效号码” *原因:指定的号码无效。*操作:指定一个有效数字。

理想的结果是查询仅查看最近10天运行的作业以及该期间的平均开始时间。
预期结果:

 JOB_NM | AVG Time
    open   |  2:30
    close  |  3:30
Run Code Online (Sandbox Code Playgroud)

sql oracle

2
推荐指数
2
解决办法
270
查看次数

标签 统计

java ×2

oracle ×1

reactive-streams ×1

spring-webflux ×1

sql ×1