@Update("INSERT INTO dy_check_monitor_statistics (id, data_date, payment, in_money_amount, diff_amount, data_type, create_time, creator_name, update_time, updater_name, deleted, remark) " + "select \n" + "#{id} as 'id',\n" + "#{dataDate} as 'data_date',\n" + "IFNULL(SUM(t.receivable_amount),0) + IFNULL(SUM(t.order_refund_fee),0) as 'payment',\n" + "IFNULL(SUM(t.receipt_amount),0) + IFNULL(SUM(t.bill_refund_fee),0) as 'in_money_amount',\n" + "(IFNULL(SUM(t.receipt_amount),0) + IFNULL(SUM(t.bill_refund_fee),0)) - (IFNULL(SUM(t.receivable_amount),0) + IFNULL(SUM(t.order_refund_fee),0)) as 'diff_amount',\n" + "'1' as 'data_type',\n" + "now() as 'create_time',\n" + "'system' as 'creator_name',\n" + "now() as 'update_time',\n" + "'system' as 'updater_name',\n" + "'0' as 'deleted',\n" + "'' as 'remark' \n" + "from dy_check_monitor t \n" + "where t.data_date = #{dataDate}") int updateStatistics(Long id, LocalDate dataDate); 解释一下这段代码
时间: 2024-04-26 08:22:06 浏览: 157
SQL.rar_SQL INSERT_drop_insert into_oracle_sybase
这段代码使用了 MyBatis 的注解,它是一个数据库操作的方法。该方法的作用是在 dy_check_monitor_statistics 表中插入一条数据,数据包括 id、data_date、payment、in_money_amount、diff_amount、data_type、create_time、creator_name、update_time、updater_name、deleted、remark 这些字段。其中,id 和 dataDate 是方法的参数,其他字段都是根据 dy_check_monitor 表中的数据计算出来的。具体来说,payment 表示应收金额和订单退款金额之和,in_money_amount 表示实收金额和账单退款金额之和,diff_amount 表示实收金额和账单退款金额之和减去应收金额和订单退款金额之和。这个方法会在 dy_check_monitor 表中查找 data_date 等于参数 dataDate 的数据,并将计算出来的结果插入到 dy_check_monitor_statistics 表中。
阅读全文