2025-03-17 10:46:29 +08:00
package com.diagnose.mapper ;
import com.baomidou.mybatisplus.core.mapper.BaseMapper ;
import com.diagnose.vo.FinanceCashShortVO ;
import com.diagnose.vo.FinanceIndexAnalysisVO ;
2025-03-17 19:44:22 +08:00
import com.diagnose.vo.FinanceRankVO ;
2025-03-17 10:46:29 +08:00
import com.diagnose.vo.FinancialValuationVO ;
import org.apache.ibatis.annotations.Param ;
import org.apache.ibatis.annotations.Select ;
import java.util.List ;
public interface FinanceMapper extends BaseMapper < FinancialValuationVO > {
@Select ( " SELECT * FROM ( " +
" SELECT fin_sum_mac, score, ROW_NUMBER() OVER (PARTITION BY stk_code, mkt_num ORDER BY trd_date DESC) AS rn \ n " +
2025-03-18 19:07:09 +08:00
" FROM fin_val_fac \ n " +
2025-03-17 10:46:29 +08:00
" WHERE stk_code = #{stkCode} AND mkt_num = #{mktNum} \ n " +
" ) t WHERE t.rn = 1 " )
FinancialValuationVO selectFinancialValuation ( @Param ( " stkCode " ) String stkCode , @Param ( " mktNum " ) Integer mktNum ) ;
@Select ( " SELECT * FROM ( " +
" SELECT *, ROW_NUMBER() OVER (PARTITION BY stk_code, sec_mar_par ORDER BY end_date DESC) AS rn \ n " +
2025-03-18 19:07:09 +08:00
" FROM fin_idx_ana \ n " +
2025-03-17 10:46:29 +08:00
" WHERE stk_code = #{stkCode} AND sec_mar_par = #{secMarPar} \ n " +
" ) t WHERE t.rn <= 5 " )
List < FinanceIndexAnalysisVO > selectFinanceIndexAnalysis ( @Param ( " stkCode " ) String stkCode , @Param ( " secMarPar " ) Integer secMarPar ) ;
@Select ( " SELECT * FROM ( " +
" SELECT *, ROW_NUMBER() OVER (PARTITION BY stk_code, sec_mar_par ORDER BY end_date DESC) AS rn \ n " +
2025-03-18 19:07:09 +08:00
" FROM fin_cash_short \ n " +
2025-03-17 10:46:29 +08:00
" WHERE stk_code = #{stkCode} AND sec_mar_par = #{secMarPar} \ n " +
" ) t WHERE t.rn <= 5 " )
List < FinanceCashShortVO > selectFinanceCashShort ( @Param ( " stkCode " ) String stkCode , @Param ( " secMarPar " ) Integer secMarPar ) ;
2025-03-17 19:44:22 +08:00
@Select ( " SELECT * FROM ( " +
" SELECT profit_indu_rank, growth_indu_rank, operate_indu_rank, debt_indu_rank, cash_indu_rank, ROW_NUMBER() OVER (PARTITION BY stk_uni_code ORDER BY end_date DESC) AS rn \ n " +
2025-03-18 19:07:09 +08:00
" FROM fe_stk_diag_fin_rank \ n " +
2025-03-17 19:44:22 +08:00
" WHERE stk_uni_code = #{stkUniCode} \ n " +
" ) t WHERE t.rn = 1 " )
FinanceRankVO selectFinanceRank ( @Param ( " stkUniCode " ) Long stkUniCode ) ;
2025-03-17 10:46:29 +08:00
}