optimise unsettle sql

master
Yixian 4 years ago
parent 1869a872e7
commit e67ba7c00d

@ -1690,6 +1690,7 @@ public class CleanServiceImpl implements CleanService, ManagerTodoNoticeProvider
} }
} }
transactionMapper.deleteSettlementTransaction(clearingId); transactionMapper.deleteSettlementTransaction(clearingId);
// transactionMapper.removePreSettleRemark(clearingId);
transactionMapper.removeSettleRemark(clearingId); transactionMapper.removeSettleRemark(clearingId);
preSettleTaskMapper.resetClearStatus(clearingId); preSettleTaskMapper.resetClearStatus(clearingId);
clearingDetailAnalysisMapper.clearAnalysis(clearingId); clearingDetailAnalysisMapper.clearAnalysis(clearingId);

@ -133,6 +133,8 @@ public interface TransactionMapper {
void removeSettleRemark(@Param("clearing_id") int clearingId); void removeSettleRemark(@Param("clearing_id") int clearingId);
// void removePreSettleRemark(@Param("clearing_id") int clearingId);
List<JSONObject> getHfClearAmount(JSONObject params); List<JSONObject> getHfClearAmount(JSONObject params);
List<JSONObject> analysisForATOReport(@Param("clientId") int clientId, @Param("channels") List<String> channels, @Param("from") Date startOfMon, @Param("to") Date endOfMon); List<JSONObject> analysisForATOReport(@Param("clientId") int clientId, @Param("channels") List<String> channels, @Param("from") Date startOfMon, @Param("to") Date endOfMon);
@ -165,6 +167,7 @@ public interface TransactionMapper {
/** /**
* *
*
* @param beginTime * @param beginTime
* @param endTime * @param endTime
* @return * @return

@ -3,13 +3,14 @@
<mapper namespace="au.com.royalpay.payment.manage.mappers.payment.TransactionMapper"> <mapper namespace="au.com.royalpay.payment.manage.mappers.payment.TransactionMapper">
<update id="removeSettleRemark"> <update id="removeSettleRemark">
UPDATE pmt_transactions AS t UPDATE pmt_transactions AS t
INNER JOIN log_clearing_detail d ON d.clear_detail_id = t.clearing_order INNER JOIN (
SET clearing_status = if( select d.clear_detail_id,count(p.task_id) pre_settle_flag from log_clearing_detail d
(select count(task_id) from log_presettle_task p where p.clear_detail_id = d.clear_detail_id) > left join log_presettle_task p on p.clear_detail_id = d.clear_detail_id
0, 4, 0), where d.clearing_id=#{clearing_id}) dd
ON dd.clear_detail_id = t.clearing_order
SET clearing_status = if(pre_settle_flag > 0, 4, 0),
clearing_order = NULL, clearing_order = NULL,
clearing_time = NULL clearing_time = NULL
WHERE d.clearing_id = #{clearing_id}
</update> </update>
<delete id="deleteSettlementTransaction"> <delete id="deleteSettlementTransaction">
DELETE t DELETE t

Loading…
Cancel
Save