Skip to content
切换导航条
切换导航条
当前项目
正在载入...
登录
Harvey
/
job-executor
转到一个项目
切换导航栏
切换导航栏固定状态
项目
群组
代码片段
帮助
项目
活动
版本库
流水线
图表
问题
0
合并请求
0
维基
网络
创建新的问题
作业
提交
问题看板
文件
提交
网络
比较
分支
标签
Commit 4ed06084
由
Harvey
编写于
2025-05-14 17:17:58 +0800
浏览文件
选项
浏览文件
标签
下载
电子邮件补丁
差异文件
no message
1 个父辈
cfce6459
隐藏空白字符变更
内嵌
并排
正在显示
173 个修改的文件
包含
7 行增加
和
643 行删除
build/bl/info_mysql/table/T_Admin.js
build/bl/info_mysql/table/T_BasketBallArea.js
build/bl/info_mysql/table/T_BasketBallMatchType.js
build/bl/info_mysql/table/T_Company.js
build/bl/info_mysql/table/T_Goal.js
build/bl/info_mysql/table/T_Match.js
build/bl/info_mysql/table/T_MatchJson.js
build/bl/info_mysql/table/T_MatchType.js
build/bl/info_mysql/table/T_NBACompany.js
build/bl/info_mysql/table/T_NBALeagueRank.js
build/bl/info_mysql/table/T_NBAMatch.js
build/bl/info_mysql/table/T_NBAMatchType.js
build/bl/info_mysql/table/T_NBAOdds100.js
build/bl/info_mysql/table/T_NBAOddsBigSmall.js
build/bl/info_mysql/table/T_NBAOddsLetGoal.js
build/bl/info_mysql/table/T_NBAPlayer.js
build/bl/info_mysql/table/T_NBAState.js
build/bl/info_mysql/table/T_NBATeam.js
build/bl/info_mysql/table/T_NBAYearMonth.js
build/bl/info_mysql/table/T_Odds100.js
build/bl/info_mysql/table/T_OddsBigSmall.js
build/bl/info_mysql/table/T_OddsHalfBigSmall.js
build/bl/info_mysql/table/T_OddsHalfLetGoal.js
build/bl/info_mysql/table/T_OddsLetGoal.js
build/bl/info_mysql/table/T_OddsStandard.js
build/bl/info_mysql/table/T_Player.js
build/bl/info_mysql/table/T_PlayerInTeam.js
build/bl/info_mysql/table/T_State.js
build/bl/info_mysql/table/T_Team.js
build/bl/info_mysql/table/T_WordRank.js
build/bl/info_mysql/table/chart_issue.js
build/bl/info_mysql/table/chart_lottery.js
build/bl/info_mysql/table/core_issue.js
build/bl/info_mysql/table/core_issue_sub.js
build/bl/info_mysql/table/core_issue_temp.js
build/bl/info_mysql/table/core_lottery.js
build/bl/info_mysql/table/core_match.js
build/bl/info_mysql/table/core_news.js
build/bl/info_mysql/table/core_news_comment.js
build/bl/info_mysql/table/cps_expert.js
build/bl/info_mysql/table/cps_user.js
build/bl/info_mysql/table/index.js
build/bl/info_mysql/table/lottery_shop_info.js
build/bl/info_mysql/table/lottery_shop_relation.js
build/bl/info_mysql/table/match.js
build/bl/info_mysql/table/match_inputs.js
build/bl/info_mysql/table/ms_admin_menu.js
build/bl/info_mysql/table/ms_admin_role.js
build/bl/info_mysql/table/ms_app_log.js
build/bl/info_mysql/table/ms_appversion.js
build/bl/info_mysql/table/ms_article.js
build/bl/info_mysql/table/ms_basketball_company.js
build/bl/info_mysql/table/ms_basketball_competition.js
build/bl/info_mysql/table/ms_basketball_competition_history.js
build/bl/info_mysql/table/ms_basketball_game.js
build/bl/info_mysql/table/ms_basketball_game_odds.js
build/bl/info_mysql/table/ms_basketball_player.js
build/bl/info_mysql/table/ms_basketball_state.js
build/bl/info_mysql/table/ms_basketball_team.js
build/bl/info_mysql/table/ms_chart_field.js
build/bl/info_mysql/table/ms_chart_router.js
build/bl/info_mysql/table/ms_coupons.js
build/bl/info_mysql/table/ms_message_stat.js
build/bl/info_mysql/table/ms_order.js
build/bl/info_mysql/table/ms_order_middle.js
build/bl/info_mysql/table/ms_pay_type.js
build/bl/info_mysql/table/ms_recharge_channels.js
build/bl/info_mysql/table/ms_schedule.js
build/bl/info_mysql/table/ms_soccer_base_surface.js
build/bl/info_mysql/table/ms_soccer_club_rank.js
build/bl/info_mysql/table/ms_soccer_coach_rank.js
build/bl/info_mysql/table/ms_soccer_company.js
build/bl/info_mysql/table/ms_soccer_competition.js
build/bl/info_mysql/table/ms_soccer_competition_history.js
build/bl/info_mysql/table/ms_soccer_game.js
build/bl/info_mysql/table/ms_soccer_game_event.js
build/bl/info_mysql/table/ms_soccer_game_lineup.js
build/bl/info_mysql/table/ms_soccer_hdaodds_814.js
build/bl/info_mysql/table/ms_soccer_nation_rank.js
build/bl/info_mysql/table/ms_soccer_player.js
build/bl/info_mysql/table/ms_soccer_player_rank.js
build/bl/info_mysql/table/ms_soccer_result_trend.js
build/bl/info_mysql/table/ms_soccer_state.js
build/bl/info_mysql/table/ms_soccer_team.js
build/bl/info_mysql/table/ms_trend_stat.js
build/bl/info_mysql/table/ms_user.js
build/bl/info_mysql/table/ms_user_attention.js
build/bl/info_mysql/table/ms_user_charge.js
build/bl/info_mysql/table/ms_user_log.js
build/bl/info_mysql/table/ms_user_operation.js
build/bl/info_mysql/table/ms_vedio_room.js
build/bl/info_mysql/table/ms_xcx_message.js
build/bl/info_mysql/table/prediction_dictionary.js
build/bl/info_mysql/table/prediction_expert.js
build/bl/info_mysql/table/prediction_result.js
build/bl/info_mysql/table/prediction_template.js
build/bl/info_mysql/table/sporttery_lineups.js
build/bl/info_mysql/table/sporttery_match.js
build/bl/info_mysql/table/sporttery_match_lineup.js
build/bl/info_mysql/table/sporttery_pool.js
build/bl/info_mysql/table/stat_history_same_odds.js
build/bl/info_mysql/table/stat_inner_prediction_13.js
build/bl/info_mysql/table/stat_inner_prediction_13_pre.js
build/bl/info_mysql/table/stat_inner_prediction_3.js
build/bl/info_mysql/table/stat_inner_prediction_39.js
build/bl/info_mysql/table/stat_inner_prediction_39_history.js
build/bl/info_mysql/table/stat_inner_prediction_39_pre.js
build/bl/info_mysql/table/stat_inner_prediction_3_pre.js
build/bl/info_mysql/table/stat_inner_prediction_5.js
build/bl/info_mysql/table/stat_inner_prediction_5_history.js
build/bl/info_mysql/table/stat_inner_prediction_5_pre.js
build/bl/info_mysql/table/stat_inner_prediction_6.js
build/bl/info_mysql/table/stat_inner_prediction_63.js
build/bl/info_mysql/table/stat_inner_prediction_63_history.js
build/bl/info_mysql/table/stat_inner_prediction_63_pre.js
build/bl/info_mysql/table/stat_inner_prediction_63_temp.js
build/bl/info_mysql/table/stat_inner_prediction_64.js
build/bl/info_mysql/table/stat_inner_prediction_64_pre.js
build/bl/info_mysql/table/stat_inner_prediction_6_history.js
build/bl/info_mysql/table/stat_inner_prediction_6_pre.js
build/bl/info_mysql/table/stat_inner_prediction_6_temp.js
build/bl/info_mysql/table/stat_inner_prediction_72.js
build/bl/info_mysql/table/stat_inner_prediction_72_pre.js
build/bl/info_mysql/table/stat_inner_prediction_8.js
build/bl/info_mysql/table/stat_inner_prediction_8_pre.js
build/bl/info_mysql/table/stat_inner_prediction_8_temp.js
build/bl/info_mysql/table/stat_simple_predict.js
build/bl/info_mysql/table/tools_ledger.js
build/bl/info_mysql/table/tools_sxjx.js
build/bl/info_mysql/table/transfer_competitions.js
build/bl/info_mysql/table/transfer_national.js
build/bl/info_mysql/table/transfer_players.js
build/bl/info_mysql/table/transfer_players_history_transfer.js
build/bl/info_mysql/table/transfer_players_injury_transfer.js
build/bl/info_mysql/table/transfer_players_workers_transfer.js
build/bl/info_mysql/table/transfer_teams.js
build/bl/nami_mysql/table/coache_history.js
build/bl/nami_mysql/table/coache_honors.js
build/bl/nami_mysql/table/competition_point_rank.js
build/bl/nami_mysql/table/competition_statistics_details.js
build/bl/nami_mysql/table/europe_companys.js
build/bl/nami_mysql/table/index.js
build/bl/nami_mysql/table/intelligence.js
build/bl/nami_mysql/table/match_history_compensation.js
build/bl/nami_mysql/table/odds_asian_roll_ball.js
build/bl/nami_mysql/table/odds_big_small_history.js
build/bl/nami_mysql/table/odds_big_small_immedicate.js
build/bl/nami_mysql/table/odds_big_small_roll_ball.js
build/bl/nami_mysql/table/odds_corner_ball_history.js
build/bl/nami_mysql/table/odds_corner_ball_immediate.js
build/bl/nami_mysql/table/odds_corner_roll_ball.js
build/bl/nami_mysql/table/odds_europe_roll_ball.js
build/bl/nami_mysql/table/odds_european_immediate.js
build/bl/nami_mysql/table/player_honors.js
build/bl/nami_mysql/table/player_stats.js
build/bl/nami_mysql/table/player_transfer.js
build/bl/nami_mysql/table/season_best_lineup.js
build/bl/nami_mysql/table/season_bracket_matches.js
build/bl/nami_mysql/table/team_honor.js
build/bl/nami_mysql/table/team_injury.js
build/bl/nami_mysql/table/team_rank_club.js
build/bl/nami_mysql/table/team_rank_fifa_men.js
build/bl/nami_mysql/table/team_rank_fifa_women.js
build/bl/nami_mysql/table/team_squad.js
build/bl/sxjx/index.js
build/job/index.js
build/job/test/index.js
build/job/worker.js
build/xxl_job/executor.js
build/xxl_job/index.js
build/xxl_job/job_manager.js
build/xxl_job/logger.js
tsconfig.json
build/bl/info_mysql/table/T_Admin.js
查看文件 @
4ed0608
/* jshint indent: 2 */
module
.
exports
=
function
(
sequelize
,
DataTypes
)
{
module
.
exports
=
function
(
sequelize
,
DataTypes
)
{
return
sequelize
.
define
(
'T_Admin'
,
{
return
sequelize
.
define
(
'T_Admin'
,
{
Id
:
{
Id
:
{
...
...
build/bl/info_mysql/table/T_BasketBallArea.js
查看文件 @
4ed0608
/* jshint indent: 2 */
module
.
exports
=
function
(
sequelize
,
DataTypes
)
{
module
.
exports
=
function
(
sequelize
,
DataTypes
)
{
return
sequelize
.
define
(
'T_BasketBallArea'
,
{
return
sequelize
.
define
(
'T_BasketBallArea'
,
{
Id
:
{
Id
:
{
...
...
build/bl/info_mysql/table/T_BasketBallMatchType.js
查看文件 @
4ed0608
/* jshint indent: 2 */
module
.
exports
=
function
(
sequelize
,
DataTypes
)
{
module
.
exports
=
function
(
sequelize
,
DataTypes
)
{
return
sequelize
.
define
(
'T_BasketBallMatchType'
,
{
return
sequelize
.
define
(
'T_BasketBallMatchType'
,
{
Id
:
{
Id
:
{
...
...
build/bl/info_mysql/table/T_Company.js
查看文件 @
4ed0608
/* jshint indent: 2 */
module
.
exports
=
function
(
sequelize
,
DataTypes
)
{
module
.
exports
=
function
(
sequelize
,
DataTypes
)
{
return
sequelize
.
define
(
'T_Company'
,
{
return
sequelize
.
define
(
'T_Company'
,
{
Id
:
{
Id
:
{
...
...
build/bl/info_mysql/table/T_Goal.js
查看文件 @
4ed0608
/* jshint indent: 2 */
module
.
exports
=
function
(
sequelize
,
DataTypes
)
{
module
.
exports
=
function
(
sequelize
,
DataTypes
)
{
return
sequelize
.
define
(
'T_Goal'
,
{
return
sequelize
.
define
(
'T_Goal'
,
{
Id
:
{
Id
:
{
...
...
build/bl/info_mysql/table/T_Match.js
查看文件 @
4ed0608
/* jshint indent: 2 */
module
.
exports
=
function
(
sequelize
,
DataTypes
)
{
module
.
exports
=
function
(
sequelize
,
DataTypes
)
{
return
sequelize
.
define
(
'T_Match'
,
{
return
sequelize
.
define
(
'T_Match'
,
{
Id
:
{
Id
:
{
...
...
build/bl/info_mysql/table/T_MatchJson.js
查看文件 @
4ed0608
/* jshint indent: 2 */
module
.
exports
=
function
(
sequelize
,
DataTypes
)
{
module
.
exports
=
function
(
sequelize
,
DataTypes
)
{
return
sequelize
.
define
(
'T_MatchJson'
,
{
return
sequelize
.
define
(
'T_MatchJson'
,
{
Id
:
{
Id
:
{
...
...
build/bl/info_mysql/table/T_MatchType.js
查看文件 @
4ed0608
/* jshint indent: 2 */
module
.
exports
=
function
(
sequelize
,
DataTypes
)
{
module
.
exports
=
function
(
sequelize
,
DataTypes
)
{
return
sequelize
.
define
(
'T_MatchType'
,
{
return
sequelize
.
define
(
'T_MatchType'
,
{
Id
:
{
Id
:
{
...
...
build/bl/info_mysql/table/T_NBACompany.js
查看文件 @
4ed0608
/* jshint indent: 2 */
module
.
exports
=
function
(
sequelize
,
DataTypes
)
{
module
.
exports
=
function
(
sequelize
,
DataTypes
)
{
return
sequelize
.
define
(
'T_NBACompany'
,
{
return
sequelize
.
define
(
'T_NBACompany'
,
{
Id
:
{
Id
:
{
...
...
build/bl/info_mysql/table/T_NBALeagueRank.js
查看文件 @
4ed0608
/* jshint indent: 2 */
module
.
exports
=
function
(
sequelize
,
DataTypes
)
{
module
.
exports
=
function
(
sequelize
,
DataTypes
)
{
return
sequelize
.
define
(
'T_NBALeagueRank'
,
{
return
sequelize
.
define
(
'T_NBALeagueRank'
,
{
Id
:
{
Id
:
{
...
...
build/bl/info_mysql/table/T_NBAMatch.js
查看文件 @
4ed0608
/* jshint indent: 2 */
module
.
exports
=
function
(
sequelize
,
DataTypes
)
{
module
.
exports
=
function
(
sequelize
,
DataTypes
)
{
return
sequelize
.
define
(
'T_NBAMatch'
,
{
return
sequelize
.
define
(
'T_NBAMatch'
,
{
Id
:
{
Id
:
{
...
...
build/bl/info_mysql/table/T_NBAMatchType.js
查看文件 @
4ed0608
/* jshint indent: 2 */
module
.
exports
=
function
(
sequelize
,
DataTypes
)
{
module
.
exports
=
function
(
sequelize
,
DataTypes
)
{
return
sequelize
.
define
(
'T_NBAMatchType'
,
{
return
sequelize
.
define
(
'T_NBAMatchType'
,
{
Id
:
{
Id
:
{
...
...
build/bl/info_mysql/table/T_NBAOdds100.js
查看文件 @
4ed0608
/* jshint indent: 2 */
module
.
exports
=
function
(
sequelize
,
DataTypes
)
{
module
.
exports
=
function
(
sequelize
,
DataTypes
)
{
return
sequelize
.
define
(
'T_NBAOdds100'
,
{
return
sequelize
.
define
(
'T_NBAOdds100'
,
{
Id
:
{
Id
:
{
...
...
build/bl/info_mysql/table/T_NBAOddsBigSmall.js
查看文件 @
4ed0608
/* jshint indent: 2 */
module
.
exports
=
function
(
sequelize
,
DataTypes
)
{
module
.
exports
=
function
(
sequelize
,
DataTypes
)
{
return
sequelize
.
define
(
'T_NBAOddsBigSmall'
,
{
return
sequelize
.
define
(
'T_NBAOddsBigSmall'
,
{
MatchId
:
{
MatchId
:
{
...
...
build/bl/info_mysql/table/T_NBAOddsLetGoal.js
查看文件 @
4ed0608
/* jshint indent: 2 */
module
.
exports
=
function
(
sequelize
,
DataTypes
)
{
module
.
exports
=
function
(
sequelize
,
DataTypes
)
{
return
sequelize
.
define
(
'T_NBAOddsLetGoal'
,
{
return
sequelize
.
define
(
'T_NBAOddsLetGoal'
,
{
MatchId
:
{
MatchId
:
{
...
...
build/bl/info_mysql/table/T_NBAPlayer.js
查看文件 @
4ed0608
/* jshint indent: 2 */
module
.
exports
=
function
(
sequelize
,
DataTypes
)
{
module
.
exports
=
function
(
sequelize
,
DataTypes
)
{
return
sequelize
.
define
(
'T_NBAPlayer'
,
{
return
sequelize
.
define
(
'T_NBAPlayer'
,
{
Id
:
{
Id
:
{
...
...
build/bl/info_mysql/table/T_NBAState.js
查看文件 @
4ed0608
/* jshint indent: 2 */
module
.
exports
=
function
(
sequelize
,
DataTypes
)
{
module
.
exports
=
function
(
sequelize
,
DataTypes
)
{
return
sequelize
.
define
(
'T_NBAState'
,
{
return
sequelize
.
define
(
'T_NBAState'
,
{
Id
:
{
Id
:
{
...
...
build/bl/info_mysql/table/T_NBATeam.js
查看文件 @
4ed0608
/* jshint indent: 2 */
module
.
exports
=
function
(
sequelize
,
DataTypes
)
{
module
.
exports
=
function
(
sequelize
,
DataTypes
)
{
return
sequelize
.
define
(
'T_NBATeam'
,
{
return
sequelize
.
define
(
'T_NBATeam'
,
{
Id
:
{
Id
:
{
...
...
build/bl/info_mysql/table/T_NBAYearMonth.js
查看文件 @
4ed0608
/* jshint indent: 2 */
module
.
exports
=
function
(
sequelize
,
DataTypes
)
{
module
.
exports
=
function
(
sequelize
,
DataTypes
)
{
return
sequelize
.
define
(
'T_NBAYearMonth'
,
{
return
sequelize
.
define
(
'T_NBAYearMonth'
,
{
MatchTypeId
:
{
MatchTypeId
:
{
...
...
build/bl/info_mysql/table/T_Odds100.js
查看文件 @
4ed0608
/* jshint indent: 2 */
module
.
exports
=
function
(
sequelize
,
DataTypes
)
{
module
.
exports
=
function
(
sequelize
,
DataTypes
)
{
return
sequelize
.
define
(
'T_Odds100'
,
{
return
sequelize
.
define
(
'T_Odds100'
,
{
Id
:
{
Id
:
{
...
...
build/bl/info_mysql/table/T_OddsBigSmall.js
查看文件 @
4ed0608
/* jshint indent: 2 */
module
.
exports
=
function
(
sequelize
,
DataTypes
)
{
module
.
exports
=
function
(
sequelize
,
DataTypes
)
{
return
sequelize
.
define
(
'T_OddsBigSmall'
,
{
return
sequelize
.
define
(
'T_OddsBigSmall'
,
{
MatchId
:
{
MatchId
:
{
...
...
build/bl/info_mysql/table/T_OddsHalfBigSmall.js
查看文件 @
4ed0608
/* jshint indent: 2 */
module
.
exports
=
function
(
sequelize
,
DataTypes
)
{
module
.
exports
=
function
(
sequelize
,
DataTypes
)
{
return
sequelize
.
define
(
'T_OddsHalfBigSmall'
,
{
return
sequelize
.
define
(
'T_OddsHalfBigSmall'
,
{
MatchId
:
{
MatchId
:
{
...
...
build/bl/info_mysql/table/T_OddsHalfLetGoal.js
查看文件 @
4ed0608
/* jshint indent: 2 */
module
.
exports
=
function
(
sequelize
,
DataTypes
)
{
module
.
exports
=
function
(
sequelize
,
DataTypes
)
{
return
sequelize
.
define
(
'T_OddsHalfLetGoal'
,
{
return
sequelize
.
define
(
'T_OddsHalfLetGoal'
,
{
MatchId
:
{
MatchId
:
{
...
...
build/bl/info_mysql/table/T_OddsLetGoal.js
查看文件 @
4ed0608
/* jshint indent: 2 */
module
.
exports
=
function
(
sequelize
,
DataTypes
)
{
module
.
exports
=
function
(
sequelize
,
DataTypes
)
{
return
sequelize
.
define
(
'T_OddsLetGoal'
,
{
return
sequelize
.
define
(
'T_OddsLetGoal'
,
{
MatchId
:
{
MatchId
:
{
...
...
build/bl/info_mysql/table/T_OddsStandard.js
查看文件 @
4ed0608
/* jshint indent: 2 */
module
.
exports
=
function
(
sequelize
,
DataTypes
)
{
module
.
exports
=
function
(
sequelize
,
DataTypes
)
{
return
sequelize
.
define
(
'T_OddsStandard'
,
{
return
sequelize
.
define
(
'T_OddsStandard'
,
{
MatchId
:
{
MatchId
:
{
...
...
build/bl/info_mysql/table/T_Player.js
查看文件 @
4ed0608
/* jshint indent: 2 */
module
.
exports
=
function
(
sequelize
,
DataTypes
)
{
module
.
exports
=
function
(
sequelize
,
DataTypes
)
{
return
sequelize
.
define
(
'T_Player'
,
{
return
sequelize
.
define
(
'T_Player'
,
{
Id
:
{
Id
:
{
...
...
build/bl/info_mysql/table/T_PlayerInTeam.js
查看文件 @
4ed0608
/* jshint indent: 2 */
module
.
exports
=
function
(
sequelize
,
DataTypes
)
{
module
.
exports
=
function
(
sequelize
,
DataTypes
)
{
return
sequelize
.
define
(
'T_PlayerInTeam'
,
{
return
sequelize
.
define
(
'T_PlayerInTeam'
,
{
PlayerId
:
{
PlayerId
:
{
...
...
build/bl/info_mysql/table/T_State.js
查看文件 @
4ed0608
/* jshint indent: 2 */
module
.
exports
=
function
(
sequelize
,
DataTypes
)
{
module
.
exports
=
function
(
sequelize
,
DataTypes
)
{
return
sequelize
.
define
(
'T_State'
,
{
return
sequelize
.
define
(
'T_State'
,
{
Id
:
{
Id
:
{
...
...
build/bl/info_mysql/table/T_Team.js
查看文件 @
4ed0608
/* jshint indent: 2 */
module
.
exports
=
function
(
sequelize
,
DataTypes
)
{
module
.
exports
=
function
(
sequelize
,
DataTypes
)
{
return
sequelize
.
define
(
'T_Team'
,
{
return
sequelize
.
define
(
'T_Team'
,
{
Id
:
{
Id
:
{
...
...
build/bl/info_mysql/table/T_WordRank.js
查看文件 @
4ed0608
/* jshint indent: 2 */
module
.
exports
=
function
(
sequelize
,
DataTypes
)
{
module
.
exports
=
function
(
sequelize
,
DataTypes
)
{
return
sequelize
.
define
(
'T_WordRank'
,
{
return
sequelize
.
define
(
'T_WordRank'
,
{
Location
:
{
Location
:
{
...
...
build/bl/info_mysql/table/chart_issue.js
查看文件 @
4ed0608
/* jshint indent: 2 */
module
.
exports
=
function
(
sequelize
,
DataTypes
)
{
module
.
exports
=
function
(
sequelize
,
DataTypes
)
{
return
sequelize
.
define
(
'chart_issue'
,
{
return
sequelize
.
define
(
'chart_issue'
,
{
Id
:
{
Id
:
{
...
...
build/bl/info_mysql/table/chart_lottery.js
查看文件 @
4ed0608
/* jshint indent: 2 */
module
.
exports
=
function
(
sequelize
,
DataTypes
)
{
module
.
exports
=
function
(
sequelize
,
DataTypes
)
{
return
sequelize
.
define
(
'chart_lottery'
,
{
return
sequelize
.
define
(
'chart_lottery'
,
{
Id
:
{
Id
:
{
...
...
build/bl/info_mysql/table/core_issue.js
查看文件 @
4ed0608
/* jshint indent: 2 */
module
.
exports
=
function
(
sequelize
,
DataTypes
)
{
module
.
exports
=
function
(
sequelize
,
DataTypes
)
{
return
sequelize
.
define
(
'core_issue'
,
{
return
sequelize
.
define
(
'core_issue'
,
{
Id
:
{
Id
:
{
...
...
build/bl/info_mysql/table/core_issue_sub.js
查看文件 @
4ed0608
/* jshint indent: 2 */
module
.
exports
=
function
(
sequelize
,
DataTypes
)
{
module
.
exports
=
function
(
sequelize
,
DataTypes
)
{
return
sequelize
.
define
(
'core_issue_sub'
,
{
return
sequelize
.
define
(
'core_issue_sub'
,
{
Id
:
{
Id
:
{
...
...
build/bl/info_mysql/table/core_issue_temp.js
查看文件 @
4ed0608
/* jshint indent: 2 */
module
.
exports
=
function
(
sequelize
,
DataTypes
)
{
module
.
exports
=
function
(
sequelize
,
DataTypes
)
{
return
sequelize
.
define
(
'core_issue'
,
{
return
sequelize
.
define
(
'core_issue'
,
{
Id
:
{
Id
:
{
...
...
build/bl/info_mysql/table/core_lottery.js
查看文件 @
4ed0608
/* jshint indent: 2 */
module
.
exports
=
function
(
sequelize
,
DataTypes
)
{
module
.
exports
=
function
(
sequelize
,
DataTypes
)
{
return
sequelize
.
define
(
'core_lottery'
,
{
return
sequelize
.
define
(
'core_lottery'
,
{
Id
:
{
Id
:
{
...
...
build/bl/info_mysql/table/core_match.js
查看文件 @
4ed0608
/* jshint indent: 2 */
module
.
exports
=
function
(
sequelize
,
DataTypes
)
{
module
.
exports
=
function
(
sequelize
,
DataTypes
)
{
return
sequelize
.
define
(
'core_match'
,
{
return
sequelize
.
define
(
'core_match'
,
{
Id
:
{
Id
:
{
...
...
build/bl/info_mysql/table/core_news.js
查看文件 @
4ed0608
/* jshint indent: 2 */
module
.
exports
=
function
(
sequelize
,
DataTypes
)
{
module
.
exports
=
function
(
sequelize
,
DataTypes
)
{
return
sequelize
.
define
(
'core_news'
,
{
return
sequelize
.
define
(
'core_news'
,
{
Id
:
{
Id
:
{
...
...
build/bl/info_mysql/table/core_news_comment.js
查看文件 @
4ed0608
/* jshint indent: 2 */
module
.
exports
=
function
(
sequelize
,
DataTypes
)
{
module
.
exports
=
function
(
sequelize
,
DataTypes
)
{
return
sequelize
.
define
(
'core_news_comment'
,
{
return
sequelize
.
define
(
'core_news_comment'
,
{
id
:
{
id
:
{
...
...
build/bl/info_mysql/table/cps_expert.js
查看文件 @
4ed0608
/* jshint indent: 2 */
module
.
exports
=
function
(
sequelize
,
DataTypes
)
{
module
.
exports
=
function
(
sequelize
,
DataTypes
)
{
return
sequelize
.
define
(
'cps_expert'
,
{
return
sequelize
.
define
(
'cps_expert'
,
{
id
:
{
id
:
{
...
...
build/bl/info_mysql/table/cps_user.js
查看文件 @
4ed0608
/* jshint indent: 2 */
module
.
exports
=
function
(
sequelize
,
DataTypes
)
{
module
.
exports
=
function
(
sequelize
,
DataTypes
)
{
return
sequelize
.
define
(
'cps_user'
,
{
return
sequelize
.
define
(
'cps_user'
,
{
id
:
{
id
:
{
...
...
build/bl/info_mysql/table/index.js
查看文件 @
4ed0608
...
@@ -227,7 +227,6 @@ const ms_chart_field = sequelize.import('ms_chart_field');
...
@@ -227,7 +227,6 @@ const ms_chart_field = sequelize.import('ms_chart_field');
exports
.
ms_chart_field
=
ms_chart_field
;
exports
.
ms_chart_field
=
ms_chart_field
;
const
ms_chart_router
=
sequelize
.
import
(
'ms_chart_router'
);
const
ms_chart_router
=
sequelize
.
import
(
'ms_chart_router'
);
exports
.
ms_chart_router
=
ms_chart_router
;
exports
.
ms_chart_router
=
ms_chart_router
;
// sporttery_pool
const
sporttery_pool
=
sequelize
.
import
(
'sporttery_pool'
);
const
sporttery_pool
=
sequelize
.
import
(
'sporttery_pool'
);
exports
.
sporttery_pool
=
sporttery_pool
;
exports
.
sporttery_pool
=
sporttery_pool
;
const
ms_coupons
=
sequelize
.
import
(
'ms_coupons'
);
const
ms_coupons
=
sequelize
.
import
(
'ms_coupons'
);
...
...
build/bl/info_mysql/table/lottery_shop_info.js
查看文件 @
4ed0608
/* jshint indent: 2 */
module
.
exports
=
function
(
sequelize
,
DataTypes
)
{
module
.
exports
=
function
(
sequelize
,
DataTypes
)
{
return
sequelize
.
define
(
'lottery_shop_info'
,
{
return
sequelize
.
define
(
'lottery_shop_info'
,
{
id
:
{
id
:
{
...
@@ -12,11 +11,6 @@ module.exports = function (sequelize, DataTypes) {
...
@@ -12,11 +11,6 @@ module.exports = function (sequelize, DataTypes) {
allowNull
:
true
,
allowNull
:
true
,
comment
:
'彩店名称'
comment
:
'彩店名称'
},
},
// real_name: {
// type: DataTypes.STRING(50),
// allowNull: true,
// comment: '店主姓名'
// },
type
:
{
type
:
{
type
:
DataTypes
.
INTEGER
(
2
),
type
:
DataTypes
.
INTEGER
(
2
),
allowNull
:
true
,
allowNull
:
true
,
...
...
build/bl/info_mysql/table/lottery_shop_relation.js
查看文件 @
4ed0608
/* jshint indent: 2 */
module
.
exports
=
function
(
sequelize
,
DataTypes
)
{
module
.
exports
=
function
(
sequelize
,
DataTypes
)
{
return
sequelize
.
define
(
'lottery_shop_relation'
,
{
return
sequelize
.
define
(
'lottery_shop_relation'
,
{
id
:
{
id
:
{
...
...
build/bl/info_mysql/table/match.js
查看文件 @
4ed0608
/* jshint indent: 2 */
module
.
exports
=
function
(
sequelize
,
DataTypes
)
{
module
.
exports
=
function
(
sequelize
,
DataTypes
)
{
return
sequelize
.
define
(
'match'
,
{
return
sequelize
.
define
(
'match'
,
{
match_time
:
{
match_time
:
{
...
...
build/bl/info_mysql/table/match_inputs.js
查看文件 @
4ed0608
/* jshint indent: 2 */
module
.
exports
=
function
(
sequelize
,
DataTypes
)
{
module
.
exports
=
function
(
sequelize
,
DataTypes
)
{
return
sequelize
.
define
(
'match_inputs'
,
{
return
sequelize
.
define
(
'match_inputs'
,
{
id
:
{
id
:
{
...
...
build/bl/info_mysql/table/ms_admin_menu.js
查看文件 @
4ed0608
/*********************************************************************
# Autor: sandyWqh
# Date: 2020-11-02 17:42:13
# Description:
# Version: 1.0
# LastEditors: sandyWqh
# LastEditTime: 2020-11-11 09:36:59
**********************************************************************/
/* jshint indent: 2 */
module
.
exports
=
function
(
sequelize
,
DataTypes
)
{
module
.
exports
=
function
(
sequelize
,
DataTypes
)
{
return
sequelize
.
define
(
'ms_admin_menu'
,
{
return
sequelize
.
define
(
'ms_admin_menu'
,
{
id
:
{
id
:
{
...
...
build/bl/info_mysql/table/ms_admin_role.js
查看文件 @
4ed0608
/* jshint indent: 2 */
module
.
exports
=
function
(
sequelize
,
DataTypes
)
{
module
.
exports
=
function
(
sequelize
,
DataTypes
)
{
return
sequelize
.
define
(
'ms_admin_role'
,
{
return
sequelize
.
define
(
'ms_admin_role'
,
{
id
:
{
id
:
{
...
...
build/bl/info_mysql/table/ms_app_log.js
查看文件 @
4ed0608
/* jshint indent: 2 */
module
.
exports
=
function
(
sequelize
,
DataTypes
)
{
module
.
exports
=
function
(
sequelize
,
DataTypes
)
{
return
sequelize
.
define
(
'ms_app_log'
,
{
return
sequelize
.
define
(
'ms_app_log'
,
{
id
:
{
id
:
{
...
...
build/bl/info_mysql/table/ms_appversion.js
查看文件 @
4ed0608
/* jshint indent: 2 */
module
.
exports
=
function
(
sequelize
,
DataTypes
)
{
module
.
exports
=
function
(
sequelize
,
DataTypes
)
{
return
sequelize
.
define
(
'ms_appversion'
,
{
return
sequelize
.
define
(
'ms_appversion'
,
{
Id
:
{
Id
:
{
...
...
build/bl/info_mysql/table/ms_article.js
查看文件 @
4ed0608
/* jshint indent: 2 */
module
.
exports
=
function
(
sequelize
,
DataTypes
)
{
module
.
exports
=
function
(
sequelize
,
DataTypes
)
{
return
sequelize
.
define
(
'ms_article'
,
{
return
sequelize
.
define
(
'ms_article'
,
{
uuid
:
{
uuid
:
{
...
...
build/bl/info_mysql/table/ms_basketball_company.js
查看文件 @
4ed0608
/* jshint indent: 2 */
module
.
exports
=
function
(
sequelize
,
DataTypes
)
{
module
.
exports
=
function
(
sequelize
,
DataTypes
)
{
return
sequelize
.
define
(
'ms_basketball_company'
,
{
return
sequelize
.
define
(
'ms_basketball_company'
,
{
ms_nba_company_id
:
{
ms_nba_company_id
:
{
...
...
build/bl/info_mysql/table/ms_basketball_competition.js
查看文件 @
4ed0608
/* jshint indent: 2 */
module
.
exports
=
function
(
sequelize
,
DataTypes
)
{
module
.
exports
=
function
(
sequelize
,
DataTypes
)
{
return
sequelize
.
define
(
'ms_basketball_competition'
,
{
return
sequelize
.
define
(
'ms_basketball_competition'
,
{
id
:
{
id
:
{
...
...
build/bl/info_mysql/table/ms_basketball_competition_history.js
查看文件 @
4ed0608
/* jshint indent: 2 */
module
.
exports
=
function
(
sequelize
,
DataTypes
)
{
module
.
exports
=
function
(
sequelize
,
DataTypes
)
{
return
sequelize
.
define
(
'ms_basketball_competition_history'
,
{
return
sequelize
.
define
(
'ms_basketball_competition_history'
,
{
id
:
{
id
:
{
...
...
build/bl/info_mysql/table/ms_basketball_game.js
查看文件 @
4ed0608
/* jshint indent: 2 */
module
.
exports
=
function
(
sequelize
,
DataTypes
)
{
module
.
exports
=
function
(
sequelize
,
DataTypes
)
{
return
sequelize
.
define
(
'ms_basketball_game'
,
{
return
sequelize
.
define
(
'ms_basketball_game'
,
{
id
:
{
id
:
{
...
...
build/bl/info_mysql/table/ms_basketball_game_odds.js
查看文件 @
4ed0608
/*********************************************************************
# Autor: sandyWqh
# Date: 2021-01-08 15:20:22
# Description:
# Version: 1.0
# LastEditors: sandyWqh
# LastEditTime: 2021-03-16 15:33:12
**********************************************************************/
/* jshint indent: 2 */
module
.
exports
=
function
(
sequelize
,
DataTypes
)
{
module
.
exports
=
function
(
sequelize
,
DataTypes
)
{
return
sequelize
.
define
(
'ms_basketball_game_odds'
,
{
return
sequelize
.
define
(
'ms_basketball_game_odds'
,
{
id
:
{
id
:
{
...
...
build/bl/info_mysql/table/ms_basketball_player.js
查看文件 @
4ed0608
/* jshint indent: 2 */
module
.
exports
=
function
(
sequelize
,
DataTypes
)
{
module
.
exports
=
function
(
sequelize
,
DataTypes
)
{
return
sequelize
.
define
(
'ms_basketball_player'
,
{
return
sequelize
.
define
(
'ms_basketball_player'
,
{
id
:
{
id
:
{
...
...
build/bl/info_mysql/table/ms_basketball_state.js
查看文件 @
4ed0608
/* jshint indent: 2 */
module
.
exports
=
function
(
sequelize
,
DataTypes
)
{
module
.
exports
=
function
(
sequelize
,
DataTypes
)
{
return
sequelize
.
define
(
'ms_basketball_state'
,
{
return
sequelize
.
define
(
'ms_basketball_state'
,
{
ms_nba_state_id
:
{
ms_nba_state_id
:
{
...
...
build/bl/info_mysql/table/ms_basketball_team.js
查看文件 @
4ed0608
/* jshint indent: 2 */
module
.
exports
=
function
(
sequelize
,
DataTypes
)
{
module
.
exports
=
function
(
sequelize
,
DataTypes
)
{
return
sequelize
.
define
(
'ms_basketball_team'
,
{
return
sequelize
.
define
(
'ms_basketball_team'
,
{
id
:
{
id
:
{
...
...
build/bl/info_mysql/table/ms_chart_field.js
查看文件 @
4ed0608
/* jshint indent: 2 */
module
.
exports
=
function
(
sequelize
,
DataTypes
)
{
module
.
exports
=
function
(
sequelize
,
DataTypes
)
{
return
sequelize
.
define
(
'ms_chart_field'
,
{
return
sequelize
.
define
(
'ms_chart_field'
,
{
id
:
{
id
:
{
...
...
build/bl/info_mysql/table/ms_chart_router.js
查看文件 @
4ed0608
/* jshint indent: 2 */
module
.
exports
=
function
(
sequelize
,
DataTypes
)
{
module
.
exports
=
function
(
sequelize
,
DataTypes
)
{
return
sequelize
.
define
(
'ms_chart_router'
,
{
return
sequelize
.
define
(
'ms_chart_router'
,
{
id
:
{
id
:
{
...
...
build/bl/info_mysql/table/ms_coupons.js
查看文件 @
4ed0608
/* jshint indent: 2 */
module
.
exports
=
function
(
sequelize
,
DataTypes
)
{
module
.
exports
=
function
(
sequelize
,
DataTypes
)
{
return
sequelize
.
define
(
'ms_coupons'
,
{
return
sequelize
.
define
(
'ms_coupons'
,
{
id
:
{
id
:
{
...
...
build/bl/info_mysql/table/ms_message_stat.js
查看文件 @
4ed0608
/* jshint indent: 2 */
module
.
exports
=
function
(
sequelize
,
DataTypes
)
{
module
.
exports
=
function
(
sequelize
,
DataTypes
)
{
return
sequelize
.
define
(
'ms_message_stat'
,
{
return
sequelize
.
define
(
'ms_message_stat'
,
{
message_stat_id
:
{
message_stat_id
:
{
...
...
build/bl/info_mysql/table/ms_order.js
查看文件 @
4ed0608
/* jshint indent: 2 */
module
.
exports
=
function
(
sequelize
,
DataTypes
)
{
module
.
exports
=
function
(
sequelize
,
DataTypes
)
{
return
sequelize
.
define
(
'ms_order'
,
{
return
sequelize
.
define
(
'ms_order'
,
{
id
:
{
id
:
{
...
...
build/bl/info_mysql/table/ms_order_middle.js
查看文件 @
4ed0608
/* jshint indent: 2 */
module
.
exports
=
function
(
sequelize
,
DataTypes
)
{
module
.
exports
=
function
(
sequelize
,
DataTypes
)
{
return
sequelize
.
define
(
'ms_order_middle'
,
{
return
sequelize
.
define
(
'ms_order_middle'
,
{
id
:
{
id
:
{
...
...
build/bl/info_mysql/table/ms_pay_type.js
查看文件 @
4ed0608
/* jshint indent: 2 */
module
.
exports
=
function
(
sequelize
,
DataTypes
)
{
module
.
exports
=
function
(
sequelize
,
DataTypes
)
{
return
sequelize
.
define
(
'ms_pay_type'
,
{
return
sequelize
.
define
(
'ms_pay_type'
,
{
id
:
{
id
:
{
...
...
build/bl/info_mysql/table/ms_recharge_channels.js
查看文件 @
4ed0608
/* jshint indent: 2 */
module
.
exports
=
function
(
sequelize
,
DataTypes
)
{
module
.
exports
=
function
(
sequelize
,
DataTypes
)
{
return
sequelize
.
define
(
'ms_recharge_channels'
,
{
return
sequelize
.
define
(
'ms_recharge_channels'
,
{
id
:
{
id
:
{
...
...
build/bl/info_mysql/table/ms_schedule.js
查看文件 @
4ed0608
/* jshint indent: 2 */
module
.
exports
=
function
(
sequelize
,
DataTypes
)
{
module
.
exports
=
function
(
sequelize
,
DataTypes
)
{
return
sequelize
.
define
(
'ms_schedule'
,
{
return
sequelize
.
define
(
'ms_schedule'
,
{
ms_schedule_id
:
{
ms_schedule_id
:
{
...
...
build/bl/info_mysql/table/ms_soccer_base_surface.js
查看文件 @
4ed0608
/* jshint indent: 2 */
module
.
exports
=
function
(
sequelize
,
DataTypes
)
{
module
.
exports
=
function
(
sequelize
,
DataTypes
)
{
return
sequelize
.
define
(
'ms_soccer_base_surface'
,
{
return
sequelize
.
define
(
'ms_soccer_base_surface'
,
{
id
:
{
id
:
{
...
...
build/bl/info_mysql/table/ms_soccer_club_rank.js
查看文件 @
4ed0608
/* jshint indent: 2 */
module
.
exports
=
function
(
sequelize
,
DataTypes
)
{
module
.
exports
=
function
(
sequelize
,
DataTypes
)
{
return
sequelize
.
define
(
'ms_soccer_club_rank'
,
{
return
sequelize
.
define
(
'ms_soccer_club_rank'
,
{
club_id
:
{
club_id
:
{
...
...
build/bl/info_mysql/table/ms_soccer_coach_rank.js
查看文件 @
4ed0608
/* jshint indent: 2 */
module
.
exports
=
function
(
sequelize
,
DataTypes
)
{
module
.
exports
=
function
(
sequelize
,
DataTypes
)
{
return
sequelize
.
define
(
'ms_soccer_coach_rank'
,
{
return
sequelize
.
define
(
'ms_soccer_coach_rank'
,
{
year
:
{
year
:
{
...
...
build/bl/info_mysql/table/ms_soccer_company.js
查看文件 @
4ed0608
/* jshint indent: 2 */
module
.
exports
=
function
(
sequelize
,
DataTypes
)
{
module
.
exports
=
function
(
sequelize
,
DataTypes
)
{
return
sequelize
.
define
(
'ms_soccer_company'
,
{
return
sequelize
.
define
(
'ms_soccer_company'
,
{
ms_company_id
:
{
ms_company_id
:
{
...
...
build/bl/info_mysql/table/ms_soccer_competition.js
查看文件 @
4ed0608
/* jshint indent: 2 */
module
.
exports
=
function
(
sequelize
,
DataTypes
)
{
module
.
exports
=
function
(
sequelize
,
DataTypes
)
{
return
sequelize
.
define
(
'ms_soccer_competition'
,
{
return
sequelize
.
define
(
'ms_soccer_competition'
,
{
id
:
{
id
:
{
...
...
build/bl/info_mysql/table/ms_soccer_competition_history.js
查看文件 @
4ed0608
/* jshint indent: 2 */
module
.
exports
=
function
(
sequelize
,
DataTypes
)
{
module
.
exports
=
function
(
sequelize
,
DataTypes
)
{
return
sequelize
.
define
(
'ms_soccer_competition_history'
,
{
return
sequelize
.
define
(
'ms_soccer_competition_history'
,
{
id
:
{
id
:
{
...
...
build/bl/info_mysql/table/ms_soccer_game.js
查看文件 @
4ed0608
/* jshint indent: 2 */
module
.
exports
=
function
(
sequelize
,
DataTypes
)
{
module
.
exports
=
function
(
sequelize
,
DataTypes
)
{
return
sequelize
.
define
(
'ms_soccer_game'
,
{
return
sequelize
.
define
(
'ms_soccer_game'
,
{
id
:
{
id
:
{
...
@@ -413,7 +412,6 @@ module.exports = function (sequelize, DataTypes) {
...
@@ -413,7 +412,6 @@ module.exports = function (sequelize, DataTypes) {
type
:
DataTypes
.
JSON
,
type
:
DataTypes
.
JSON
,
allowNull
:
true
allowNull
:
true
},
},
//oversea_info_0
oversea_info_0
:
{
oversea_info_0
:
{
type
:
DataTypes
.
JSON
,
type
:
DataTypes
.
JSON
,
allowNull
:
true
allowNull
:
true
...
@@ -442,12 +440,10 @@ module.exports = function (sequelize, DataTypes) {
...
@@ -442,12 +440,10 @@ module.exports = function (sequelize, DataTypes) {
type
:
DataTypes
.
STRING
(
20
),
type
:
DataTypes
.
STRING
(
20
),
allowNull
:
true
allowNull
:
true
},
},
//标签
tags
:
{
tags
:
{
type
:
DataTypes
.
JSON
,
type
:
DataTypes
.
JSON
,
allowNull
:
true
allowNull
:
true
},
},
//倍率
odds
:
{
odds
:
{
type
:
DataTypes
.
JSON
,
type
:
DataTypes
.
JSON
,
allowNull
:
true
allowNull
:
true
...
...
build/bl/info_mysql/table/ms_soccer_game_event.js
查看文件 @
4ed0608
/* jshint indent: 2 */
module
.
exports
=
function
(
sequelize
,
DataTypes
)
{
module
.
exports
=
function
(
sequelize
,
DataTypes
)
{
return
sequelize
.
define
(
'ms_soccer_game_event'
,
{
return
sequelize
.
define
(
'ms_soccer_game_event'
,
{
id
:
{
id
:
{
...
...
build/bl/info_mysql/table/ms_soccer_game_lineup.js
查看文件 @
4ed0608
/* jshint indent: 2 */
module
.
exports
=
function
(
sequelize
,
DataTypes
)
{
module
.
exports
=
function
(
sequelize
,
DataTypes
)
{
return
sequelize
.
define
(
'ms_soccer_game_lineup'
,
{
return
sequelize
.
define
(
'ms_soccer_game_lineup'
,
{
id
:
{
id
:
{
...
...
build/bl/info_mysql/table/ms_soccer_hdaodds_814.js
查看文件 @
4ed0608
/* jshint indent: 2 */
module
.
exports
=
function
(
sequelize
,
DataTypes
)
{
module
.
exports
=
function
(
sequelize
,
DataTypes
)
{
return
sequelize
.
define
(
'ms_soccer_hdaodds_814'
,
{
return
sequelize
.
define
(
'ms_soccer_hdaodds_814'
,
{
id
:
{
id
:
{
...
...
build/bl/info_mysql/table/ms_soccer_nation_rank.js
查看文件 @
4ed0608
/* jshint indent: 2 */
module
.
exports
=
function
(
sequelize
,
DataTypes
)
{
module
.
exports
=
function
(
sequelize
,
DataTypes
)
{
return
sequelize
.
define
(
'ms_soccer_nation_rank'
,
{
return
sequelize
.
define
(
'ms_soccer_nation_rank'
,
{
national_id
:
{
national_id
:
{
...
...
build/bl/info_mysql/table/ms_soccer_player.js
查看文件 @
4ed0608
/* jshint indent: 2 */
module
.
exports
=
function
(
sequelize
,
DataTypes
)
{
module
.
exports
=
function
(
sequelize
,
DataTypes
)
{
return
sequelize
.
define
(
'ms_soccer_player'
,
{
return
sequelize
.
define
(
'ms_soccer_player'
,
{
id
:
{
id
:
{
...
...
build/bl/info_mysql/table/ms_soccer_player_rank.js
查看文件 @
4ed0608
/* jshint indent: 2 */
module
.
exports
=
function
(
sequelize
,
DataTypes
)
{
module
.
exports
=
function
(
sequelize
,
DataTypes
)
{
return
sequelize
.
define
(
'ms_soccer_player_rank'
,
{
return
sequelize
.
define
(
'ms_soccer_player_rank'
,
{
player_Id
:
{
player_Id
:
{
...
...
build/bl/info_mysql/table/ms_soccer_result_trend.js
查看文件 @
4ed0608
/*********************************************************************
# Autor: sandyWqh
# Date: 2021-03-16 15:31:34
# Description:
# Version: 1.0
# LastEditors : sandyWqh
# LastEditTime : 2021-04-08 16:17:17
**********************************************************************/
/* jshint indent: 2 */
module
.
exports
=
function
(
sequelize
,
DataTypes
)
{
module
.
exports
=
function
(
sequelize
,
DataTypes
)
{
return
sequelize
.
define
(
'ms_soccer_result_trend'
,
{
return
sequelize
.
define
(
'ms_soccer_result_trend'
,
{
id
:
{
id
:
{
...
...
build/bl/info_mysql/table/ms_soccer_state.js
查看文件 @
4ed0608
/* jshint indent: 2 */
module
.
exports
=
function
(
sequelize
,
DataTypes
)
{
module
.
exports
=
function
(
sequelize
,
DataTypes
)
{
return
sequelize
.
define
(
'ms_soccer_state'
,
{
return
sequelize
.
define
(
'ms_soccer_state'
,
{
ms_state_id
:
{
ms_state_id
:
{
...
...
build/bl/info_mysql/table/ms_soccer_team.js
查看文件 @
4ed0608
/* jshint indent: 2 */
module
.
exports
=
function
(
sequelize
,
DataTypes
)
{
module
.
exports
=
function
(
sequelize
,
DataTypes
)
{
return
sequelize
.
define
(
'ms_soccer_team'
,
{
return
sequelize
.
define
(
'ms_soccer_team'
,
{
id
:
{
id
:
{
...
@@ -206,12 +205,10 @@ module.exports = function (sequelize, DataTypes) {
...
@@ -206,12 +205,10 @@ module.exports = function (sequelize, DataTypes) {
type
:
DataTypes
.
STRING
(
50
),
type
:
DataTypes
.
STRING
(
50
),
allowNull
:
true
allowNull
:
true
},
},
//predictz_name
predictz_name
:
{
predictz_name
:
{
type
:
DataTypes
.
STRING
(
200
),
type
:
DataTypes
.
STRING
(
200
),
allowNull
:
true
allowNull
:
true
},
},
//footballsuper_name
footballsuper_name
:
{
footballsuper_name
:
{
type
:
DataTypes
.
STRING
(
200
),
type
:
DataTypes
.
STRING
(
200
),
allowNull
:
true
allowNull
:
true
...
...
build/bl/info_mysql/table/ms_trend_stat.js
查看文件 @
4ed0608
/* jshint indent: 2 */
module
.
exports
=
function
(
sequelize
,
DataTypes
)
{
module
.
exports
=
function
(
sequelize
,
DataTypes
)
{
return
sequelize
.
define
(
'ms_trend_stat'
,
{
return
sequelize
.
define
(
'ms_trend_stat'
,
{
id
:
{
id
:
{
...
...
build/bl/info_mysql/table/ms_user.js
查看文件 @
4ed0608
/* jshint indent: 2 */
module
.
exports
=
function
(
sequelize
,
DataTypes
)
{
module
.
exports
=
function
(
sequelize
,
DataTypes
)
{
return
sequelize
.
define
(
'ms_user'
,
{
return
sequelize
.
define
(
'ms_user'
,
{
user_id
:
{
user_id
:
{
...
...
build/bl/info_mysql/table/ms_user_attention.js
查看文件 @
4ed0608
/* jshint indent: 2 */
module
.
exports
=
function
(
sequelize
,
DataTypes
)
{
module
.
exports
=
function
(
sequelize
,
DataTypes
)
{
return
sequelize
.
define
(
'ms_user_attention'
,
{
return
sequelize
.
define
(
'ms_user_attention'
,
{
uuid
:
{
uuid
:
{
...
...
build/bl/info_mysql/table/ms_user_charge.js
查看文件 @
4ed0608
/* jshint indent: 2 */
module
.
exports
=
function
(
sequelize
,
DataTypes
)
{
module
.
exports
=
function
(
sequelize
,
DataTypes
)
{
return
sequelize
.
define
(
'ms_user_charge'
,
{
return
sequelize
.
define
(
'ms_user_charge'
,
{
id
:
{
id
:
{
...
...
build/bl/info_mysql/table/ms_user_log.js
查看文件 @
4ed0608
/* jshint indent: 2 */
module
.
exports
=
function
(
sequelize
,
DataTypes
)
{
module
.
exports
=
function
(
sequelize
,
DataTypes
)
{
return
sequelize
.
define
(
'ms_user_log'
,
{
return
sequelize
.
define
(
'ms_user_log'
,
{
uuid
:
{
uuid
:
{
...
...
build/bl/info_mysql/table/ms_user_operation.js
查看文件 @
4ed0608
/* jshint indent: 2 */
module
.
exports
=
function
(
sequelize
,
DataTypes
)
{
module
.
exports
=
function
(
sequelize
,
DataTypes
)
{
return
sequelize
.
define
(
'ms_user_operation'
,
{
return
sequelize
.
define
(
'ms_user_operation'
,
{
uuid
:
{
uuid
:
{
...
...
build/bl/info_mysql/table/ms_vedio_room.js
查看文件 @
4ed0608
/* jshint indent: 2 */
module
.
exports
=
function
(
sequelize
,
DataTypes
)
{
module
.
exports
=
function
(
sequelize
,
DataTypes
)
{
return
sequelize
.
define
(
'ms_video_room'
,
{
return
sequelize
.
define
(
'ms_video_room'
,
{
uuid
:
{
uuid
:
{
...
...
build/bl/info_mysql/table/ms_xcx_message.js
查看文件 @
4ed0608
/* jshint indent: 2 */
module
.
exports
=
function
(
sequelize
,
DataTypes
)
{
module
.
exports
=
function
(
sequelize
,
DataTypes
)
{
return
sequelize
.
define
(
'ms_xcx_message'
,
{
return
sequelize
.
define
(
'ms_xcx_message'
,
{
id
:
{
id
:
{
...
...
build/bl/info_mysql/table/prediction_dictionary.js
查看文件 @
4ed0608
/* jshint indent: 2 */
module
.
exports
=
function
(
sequelize
,
DataTypes
)
{
module
.
exports
=
function
(
sequelize
,
DataTypes
)
{
return
sequelize
.
define
(
'prediction_dictionary'
,
{
return
sequelize
.
define
(
'prediction_dictionary'
,
{
id
:
{
id
:
{
...
...
build/bl/info_mysql/table/prediction_expert.js
查看文件 @
4ed0608
/* jshint indent: 2 */
module
.
exports
=
function
(
sequelize
,
DataTypes
)
{
module
.
exports
=
function
(
sequelize
,
DataTypes
)
{
return
sequelize
.
define
(
'prediction_expert'
,
{
return
sequelize
.
define
(
'prediction_expert'
,
{
expertid
:
{
expertid
:
{
...
...
build/bl/info_mysql/table/prediction_result.js
查看文件 @
4ed0608
/* jshint indent: 2 */
module
.
exports
=
function
(
sequelize
,
DataTypes
)
{
module
.
exports
=
function
(
sequelize
,
DataTypes
)
{
return
sequelize
.
define
(
'prediction_result'
,
{
return
sequelize
.
define
(
'prediction_result'
,
{
dbno
:
{
dbno
:
{
...
...
build/bl/info_mysql/table/prediction_template.js
查看文件 @
4ed0608
/* jshint indent: 2 */
module
.
exports
=
function
(
sequelize
,
DataTypes
)
{
module
.
exports
=
function
(
sequelize
,
DataTypes
)
{
return
sequelize
.
define
(
'prediction_template'
,
{
return
sequelize
.
define
(
'prediction_template'
,
{
id
:
{
id
:
{
...
...
build/bl/info_mysql/table/sporttery_lineups.js
查看文件 @
4ed0608
/* jshint indent: 2 */
module
.
exports
=
function
(
sequelize
,
DataTypes
)
{
module
.
exports
=
function
(
sequelize
,
DataTypes
)
{
return
sequelize
.
define
(
'sporttery_lineups'
,
{
return
sequelize
.
define
(
'sporttery_lineups'
,
{
id
:
{
id
:
{
...
...
build/bl/info_mysql/table/sporttery_match.js
查看文件 @
4ed0608
/* jshint indent: 2 */
module
.
exports
=
function
(
sequelize
,
DataTypes
)
{
module
.
exports
=
function
(
sequelize
,
DataTypes
)
{
return
sequelize
.
define
(
'sporttery_match'
,
{
return
sequelize
.
define
(
'sporttery_match'
,
{
id
:
{
id
:
{
...
...
build/bl/info_mysql/table/sporttery_match_lineup.js
查看文件 @
4ed0608
/* jshint indent: 2 */
module
.
exports
=
function
(
sequelize
,
DataTypes
)
{
module
.
exports
=
function
(
sequelize
,
DataTypes
)
{
return
sequelize
.
define
(
'sporttery_match_lineup'
,
{
return
sequelize
.
define
(
'sporttery_match_lineup'
,
{
m_id
:
{
m_id
:
{
...
...
build/bl/info_mysql/table/sporttery_pool.js
查看文件 @
4ed0608
/* jshint indent: 2 */
module
.
exports
=
function
(
sequelize
,
DataTypes
)
{
module
.
exports
=
function
(
sequelize
,
DataTypes
)
{
return
sequelize
.
define
(
'sporttery_pool'
,
{
return
sequelize
.
define
(
'sporttery_pool'
,
{
id
:
{
id
:
{
...
...
build/bl/info_mysql/table/stat_history_same_odds.js
查看文件 @
4ed0608
/* jshint indent: 2 */
module
.
exports
=
function
(
sequelize
,
DataTypes
)
{
module
.
exports
=
function
(
sequelize
,
DataTypes
)
{
return
sequelize
.
define
(
'stat_history_same_odds'
,
{
return
sequelize
.
define
(
'stat_history_same_odds'
,
{
id
:
{
id
:
{
...
...
build/bl/info_mysql/table/stat_inner_prediction_13.js
查看文件 @
4ed0608
/* jshint indent: 2 */
module
.
exports
=
function
(
sequelize
,
DataTypes
)
{
module
.
exports
=
function
(
sequelize
,
DataTypes
)
{
return
sequelize
.
define
(
'stat_inner_prediction_13'
,
{
return
sequelize
.
define
(
'stat_inner_prediction_13'
,
{
id
:
{
id
:
{
...
...
build/bl/info_mysql/table/stat_inner_prediction_13_pre.js
查看文件 @
4ed0608
/* jshint indent: 2 */
module
.
exports
=
function
(
sequelize
,
DataTypes
)
{
module
.
exports
=
function
(
sequelize
,
DataTypes
)
{
return
sequelize
.
define
(
'stat_inner_prediction_13_pre'
,
{
return
sequelize
.
define
(
'stat_inner_prediction_13_pre'
,
{
id
:
{
id
:
{
...
...
build/bl/info_mysql/table/stat_inner_prediction_3.js
查看文件 @
4ed0608
/* jshint indent: 2 */
module
.
exports
=
function
(
sequelize
,
DataTypes
)
{
module
.
exports
=
function
(
sequelize
,
DataTypes
)
{
return
sequelize
.
define
(
'stat_inner_prediction_3'
,
{
return
sequelize
.
define
(
'stat_inner_prediction_3'
,
{
id
:
{
id
:
{
...
...
build/bl/info_mysql/table/stat_inner_prediction_39.js
查看文件 @
4ed0608
/* jshint indent: 2 */
module
.
exports
=
function
(
sequelize
,
DataTypes
)
{
module
.
exports
=
function
(
sequelize
,
DataTypes
)
{
return
sequelize
.
define
(
'stat_inner_prediction_39'
,
{
return
sequelize
.
define
(
'stat_inner_prediction_39'
,
{
id
:
{
id
:
{
...
...
build/bl/info_mysql/table/stat_inner_prediction_39_history.js
查看文件 @
4ed0608
/* jshint indent: 2 */
module
.
exports
=
function
(
sequelize
,
DataTypes
)
{
module
.
exports
=
function
(
sequelize
,
DataTypes
)
{
return
sequelize
.
define
(
'stat_inner_prediction_39_history'
,
{
return
sequelize
.
define
(
'stat_inner_prediction_39_history'
,
{
id
:
{
id
:
{
...
...
build/bl/info_mysql/table/stat_inner_prediction_39_pre.js
查看文件 @
4ed0608
/* jshint indent: 2 */
module
.
exports
=
function
(
sequelize
,
DataTypes
)
{
module
.
exports
=
function
(
sequelize
,
DataTypes
)
{
return
sequelize
.
define
(
'stat_inner_prediction_39_pre'
,
{
return
sequelize
.
define
(
'stat_inner_prediction_39_pre'
,
{
id
:
{
id
:
{
...
...
build/bl/info_mysql/table/stat_inner_prediction_3_pre.js
查看文件 @
4ed0608
/* jshint indent: 2 */
module
.
exports
=
function
(
sequelize
,
DataTypes
)
{
module
.
exports
=
function
(
sequelize
,
DataTypes
)
{
return
sequelize
.
define
(
'stat_inner_prediction_3_pre'
,
{
return
sequelize
.
define
(
'stat_inner_prediction_3_pre'
,
{
id
:
{
id
:
{
...
...
build/bl/info_mysql/table/stat_inner_prediction_5.js
查看文件 @
4ed0608
/* jshint indent: 2 */
module
.
exports
=
function
(
sequelize
,
DataTypes
)
{
module
.
exports
=
function
(
sequelize
,
DataTypes
)
{
return
sequelize
.
define
(
'stat_inner_prediction_5'
,
{
return
sequelize
.
define
(
'stat_inner_prediction_5'
,
{
id
:
{
id
:
{
...
...
build/bl/info_mysql/table/stat_inner_prediction_5_history.js
查看文件 @
4ed0608
/* jshint indent: 2 */
module
.
exports
=
function
(
sequelize
,
DataTypes
)
{
module
.
exports
=
function
(
sequelize
,
DataTypes
)
{
return
sequelize
.
define
(
'stat_inner_prediction_5_history'
,
{
return
sequelize
.
define
(
'stat_inner_prediction_5_history'
,
{
id
:
{
id
:
{
...
...
build/bl/info_mysql/table/stat_inner_prediction_5_pre.js
查看文件 @
4ed0608
/* jshint indent: 2 */
module
.
exports
=
function
(
sequelize
,
DataTypes
)
{
module
.
exports
=
function
(
sequelize
,
DataTypes
)
{
return
sequelize
.
define
(
'stat_inner_prediction_5_pre'
,
{
return
sequelize
.
define
(
'stat_inner_prediction_5_pre'
,
{
id
:
{
id
:
{
...
...
build/bl/info_mysql/table/stat_inner_prediction_6.js
查看文件 @
4ed0608
/* jshint indent: 2 */
module
.
exports
=
function
(
sequelize
,
DataTypes
)
{
module
.
exports
=
function
(
sequelize
,
DataTypes
)
{
return
sequelize
.
define
(
'stat_inner_prediction_6'
,
{
return
sequelize
.
define
(
'stat_inner_prediction_6'
,
{
id
:
{
id
:
{
...
...
build/bl/info_mysql/table/stat_inner_prediction_63.js
查看文件 @
4ed0608
/* jshint indent: 2 */
module
.
exports
=
function
(
sequelize
,
DataTypes
)
{
module
.
exports
=
function
(
sequelize
,
DataTypes
)
{
return
sequelize
.
define
(
'stat_inner_prediction_63'
,
{
return
sequelize
.
define
(
'stat_inner_prediction_63'
,
{
id
:
{
id
:
{
...
...
build/bl/info_mysql/table/stat_inner_prediction_63_history.js
查看文件 @
4ed0608
/* jshint indent: 2 */
module
.
exports
=
function
(
sequelize
,
DataTypes
)
{
module
.
exports
=
function
(
sequelize
,
DataTypes
)
{
return
sequelize
.
define
(
'stat_inner_prediction_63_history'
,
{
return
sequelize
.
define
(
'stat_inner_prediction_63_history'
,
{
id
:
{
id
:
{
...
...
build/bl/info_mysql/table/stat_inner_prediction_63_pre.js
查看文件 @
4ed0608
/* jshint indent: 2 */
module
.
exports
=
function
(
sequelize
,
DataTypes
)
{
module
.
exports
=
function
(
sequelize
,
DataTypes
)
{
return
sequelize
.
define
(
'stat_inner_prediction_63_pre'
,
{
return
sequelize
.
define
(
'stat_inner_prediction_63_pre'
,
{
id
:
{
id
:
{
...
...
build/bl/info_mysql/table/stat_inner_prediction_63_temp.js
查看文件 @
4ed0608
/* jshint indent: 2 */
module
.
exports
=
function
(
sequelize
,
DataTypes
)
{
module
.
exports
=
function
(
sequelize
,
DataTypes
)
{
return
sequelize
.
define
(
'stat_inner_prediction_63_temp'
,
{
return
sequelize
.
define
(
'stat_inner_prediction_63_temp'
,
{
id
:
{
id
:
{
...
...
build/bl/info_mysql/table/stat_inner_prediction_64.js
查看文件 @
4ed0608
/* jshint indent: 2 */
module
.
exports
=
function
(
sequelize
,
DataTypes
)
{
module
.
exports
=
function
(
sequelize
,
DataTypes
)
{
return
sequelize
.
define
(
'stat_inner_prediction_64'
,
{
return
sequelize
.
define
(
'stat_inner_prediction_64'
,
{
id
:
{
id
:
{
...
...
build/bl/info_mysql/table/stat_inner_prediction_64_pre.js
查看文件 @
4ed0608
/* jshint indent: 2 */
module
.
exports
=
function
(
sequelize
,
DataTypes
)
{
module
.
exports
=
function
(
sequelize
,
DataTypes
)
{
return
sequelize
.
define
(
'stat_inner_prediction_64_pre'
,
{
return
sequelize
.
define
(
'stat_inner_prediction_64_pre'
,
{
id
:
{
id
:
{
...
...
build/bl/info_mysql/table/stat_inner_prediction_6_history.js
查看文件 @
4ed0608
/* jshint indent: 2 */
module
.
exports
=
function
(
sequelize
,
DataTypes
)
{
module
.
exports
=
function
(
sequelize
,
DataTypes
)
{
return
sequelize
.
define
(
'stat_inner_prediction_6_history'
,
{
return
sequelize
.
define
(
'stat_inner_prediction_6_history'
,
{
id
:
{
id
:
{
...
...
build/bl/info_mysql/table/stat_inner_prediction_6_pre.js
查看文件 @
4ed0608
/* jshint indent: 2 */
module
.
exports
=
function
(
sequelize
,
DataTypes
)
{
module
.
exports
=
function
(
sequelize
,
DataTypes
)
{
return
sequelize
.
define
(
'stat_inner_prediction_6_pre'
,
{
return
sequelize
.
define
(
'stat_inner_prediction_6_pre'
,
{
id
:
{
id
:
{
...
...
build/bl/info_mysql/table/stat_inner_prediction_6_temp.js
查看文件 @
4ed0608
/* jshint indent: 2 */
module
.
exports
=
function
(
sequelize
,
DataTypes
)
{
module
.
exports
=
function
(
sequelize
,
DataTypes
)
{
return
sequelize
.
define
(
'stat_inner_prediction_6_temp'
,
{
return
sequelize
.
define
(
'stat_inner_prediction_6_temp'
,
{
id
:
{
id
:
{
...
...
build/bl/info_mysql/table/stat_inner_prediction_72.js
查看文件 @
4ed0608
/* jshint indent: 2 */
module
.
exports
=
function
(
sequelize
,
DataTypes
)
{
module
.
exports
=
function
(
sequelize
,
DataTypes
)
{
return
sequelize
.
define
(
'stat_inner_prediction_72'
,
{
return
sequelize
.
define
(
'stat_inner_prediction_72'
,
{
id
:
{
id
:
{
...
...
build/bl/info_mysql/table/stat_inner_prediction_72_pre.js
查看文件 @
4ed0608
/* jshint indent: 2 */
module
.
exports
=
function
(
sequelize
,
DataTypes
)
{
module
.
exports
=
function
(
sequelize
,
DataTypes
)
{
return
sequelize
.
define
(
'stat_inner_prediction_72_pre'
,
{
return
sequelize
.
define
(
'stat_inner_prediction_72_pre'
,
{
id
:
{
id
:
{
...
@@ -115,7 +114,6 @@ module.exports = function (sequelize, DataTypes) {
...
@@ -115,7 +114,6 @@ module.exports = function (sequelize, DataTypes) {
type
:
DataTypes
.
STRING
(
2000
),
type
:
DataTypes
.
STRING
(
2000
),
allowNull
:
true
allowNull
:
true
},
},
// 价格
price
:
{
price
:
{
type
:
DataTypes
.
DECIMAL
,
type
:
DataTypes
.
DECIMAL
,
allowNull
:
true
allowNull
:
true
...
...
build/bl/info_mysql/table/stat_inner_prediction_8.js
查看文件 @
4ed0608
/* jshint indent: 2 */
module
.
exports
=
function
(
sequelize
,
DataTypes
)
{
module
.
exports
=
function
(
sequelize
,
DataTypes
)
{
return
sequelize
.
define
(
'stat_inner_prediction_8'
,
{
return
sequelize
.
define
(
'stat_inner_prediction_8'
,
{
id
:
{
id
:
{
...
...
build/bl/info_mysql/table/stat_inner_prediction_8_pre.js
查看文件 @
4ed0608
/* jshint indent: 2 */
module
.
exports
=
function
(
sequelize
,
DataTypes
)
{
module
.
exports
=
function
(
sequelize
,
DataTypes
)
{
return
sequelize
.
define
(
'stat_inner_prediction_8_pre'
,
{
return
sequelize
.
define
(
'stat_inner_prediction_8_pre'
,
{
id
:
{
id
:
{
...
...
build/bl/info_mysql/table/stat_inner_prediction_8_temp.js
查看文件 @
4ed0608
/* jshint indent: 2 */
module
.
exports
=
function
(
sequelize
,
DataTypes
)
{
module
.
exports
=
function
(
sequelize
,
DataTypes
)
{
return
sequelize
.
define
(
'stat_inner_prediction_8_temp'
,
{
return
sequelize
.
define
(
'stat_inner_prediction_8_temp'
,
{
id
:
{
id
:
{
...
...
build/bl/info_mysql/table/stat_simple_predict.js
查看文件 @
4ed0608
/* jshint indent: 2 */
module
.
exports
=
function
(
sequelize
,
DataTypes
)
{
module
.
exports
=
function
(
sequelize
,
DataTypes
)
{
return
sequelize
.
define
(
'stat_simple_predict'
,
{
return
sequelize
.
define
(
'stat_simple_predict'
,
{
id
:
{
id
:
{
...
...
build/bl/info_mysql/table/tools_ledger.js
查看文件 @
4ed0608
/* jshint indent: 2 */
module
.
exports
=
function
(
sequelize
,
DataTypes
)
{
module
.
exports
=
function
(
sequelize
,
DataTypes
)
{
return
sequelize
.
define
(
'tools_ledger'
,
{
return
sequelize
.
define
(
'tools_ledger'
,
{
id
:
{
id
:
{
...
...
build/bl/info_mysql/table/tools_sxjx.js
查看文件 @
4ed0608
...
@@ -5,26 +5,6 @@ module.exports = function (sequelize, DataTypes) {
...
@@ -5,26 +5,6 @@ module.exports = function (sequelize, DataTypes) {
allowNull
:
false
,
allowNull
:
false
,
primaryKey
:
true
,
primaryKey
:
true
,
},
},
// asia:{
// type: DataTypes.JSON,
// allowNull: false
// },
// europe:{
// type: DataTypes.JSON,
// allowNull: false
// },
// user:{
// type: DataTypes.JSON,
// allowNull: false
// },
// lstp:{
// type: DataTypes.JSON,
// allowNull: false
// },
// avg:{
// type: DataTypes.JSON,
// allowNull: false
// },
xxzs
:
{
xxzs
:
{
type
:
DataTypes
.
JSON
,
type
:
DataTypes
.
JSON
,
allowNull
:
true
allowNull
:
true
...
...
build/bl/info_mysql/table/transfer_competitions.js
查看文件 @
4ed0608
"use strict"
;
"use strict"
;
Object
.
defineProperty
(
exports
,
"__esModule"
,
{
value
:
true
});
Object
.
defineProperty
(
exports
,
"__esModule"
,
{
value
:
true
});
/* jshint indent: 2 */
const
moment
=
require
(
"moment"
);
const
moment
=
require
(
"moment"
);
module
.
exports
=
function
(
sequelize
,
DataTypes
)
{
module
.
exports
=
function
(
sequelize
,
DataTypes
)
{
return
sequelize
.
define
(
'transfer_competitions'
,
{
return
sequelize
.
define
(
'transfer_competitions'
,
{
...
...
build/bl/info_mysql/table/transfer_national.js
查看文件 @
4ed0608
"use strict"
;
"use strict"
;
Object
.
defineProperty
(
exports
,
"__esModule"
,
{
value
:
true
});
Object
.
defineProperty
(
exports
,
"__esModule"
,
{
value
:
true
});
/* jshint indent: 2 */
const
moment
=
require
(
"moment"
);
const
moment
=
require
(
"moment"
);
module
.
exports
=
function
(
sequelize
,
DataTypes
)
{
module
.
exports
=
function
(
sequelize
,
DataTypes
)
{
return
sequelize
.
define
(
'transfer_national'
,
{
return
sequelize
.
define
(
'transfer_national'
,
{
...
...
build/bl/info_mysql/table/transfer_players.js
查看文件 @
4ed0608
"use strict"
;
"use strict"
;
Object
.
defineProperty
(
exports
,
"__esModule"
,
{
value
:
true
});
Object
.
defineProperty
(
exports
,
"__esModule"
,
{
value
:
true
});
/* jshint indent: 2 */
const
moment
=
require
(
"moment"
);
const
moment
=
require
(
"moment"
);
module
.
exports
=
function
(
sequelize
,
DataTypes
)
{
module
.
exports
=
function
(
sequelize
,
DataTypes
)
{
return
sequelize
.
define
(
'transfer_players'
,
{
return
sequelize
.
define
(
'transfer_players'
,
{
...
...
build/bl/info_mysql/table/transfer_players_history_transfer.js
查看文件 @
4ed0608
"use strict"
;
"use strict"
;
Object
.
defineProperty
(
exports
,
"__esModule"
,
{
value
:
true
});
Object
.
defineProperty
(
exports
,
"__esModule"
,
{
value
:
true
});
/* jshint indent: 2 */
const
moment
=
require
(
"moment"
);
const
moment
=
require
(
"moment"
);
module
.
exports
=
function
(
sequelize
,
DataTypes
)
{
module
.
exports
=
function
(
sequelize
,
DataTypes
)
{
return
sequelize
.
define
(
'transfer_players_history_transfer'
,
{
return
sequelize
.
define
(
'transfer_players_history_transfer'
,
{
...
...
build/bl/info_mysql/table/transfer_players_injury_transfer.js
查看文件 @
4ed0608
"use strict"
;
"use strict"
;
Object
.
defineProperty
(
exports
,
"__esModule"
,
{
value
:
true
});
Object
.
defineProperty
(
exports
,
"__esModule"
,
{
value
:
true
});
/* jshint indent: 2 */
const
moment
=
require
(
"moment"
);
const
moment
=
require
(
"moment"
);
module
.
exports
=
function
(
sequelize
,
DataTypes
)
{
module
.
exports
=
function
(
sequelize
,
DataTypes
)
{
return
sequelize
.
define
(
'transfer_players_injury_transfer'
,
{
return
sequelize
.
define
(
'transfer_players_injury_transfer'
,
{
...
...
build/bl/info_mysql/table/transfer_players_workers_transfer.js
查看文件 @
4ed0608
"use strict"
;
"use strict"
;
Object
.
defineProperty
(
exports
,
"__esModule"
,
{
value
:
true
});
Object
.
defineProperty
(
exports
,
"__esModule"
,
{
value
:
true
});
/* jshint indent: 2 */
const
moment
=
require
(
"moment"
);
const
moment
=
require
(
"moment"
);
module
.
exports
=
function
(
sequelize
,
DataTypes
)
{
module
.
exports
=
function
(
sequelize
,
DataTypes
)
{
return
sequelize
.
define
(
'transfer_players_workers_transfer'
,
{
return
sequelize
.
define
(
'transfer_players_workers_transfer'
,
{
...
...
build/bl/info_mysql/table/transfer_teams.js
查看文件 @
4ed0608
"use strict"
;
"use strict"
;
Object
.
defineProperty
(
exports
,
"__esModule"
,
{
value
:
true
});
Object
.
defineProperty
(
exports
,
"__esModule"
,
{
value
:
true
});
/* jshint indent: 2 */
const
moment
=
require
(
"moment"
);
const
moment
=
require
(
"moment"
);
module
.
exports
=
function
(
sequelize
,
DataTypes
)
{
module
.
exports
=
function
(
sequelize
,
DataTypes
)
{
return
sequelize
.
define
(
'transfer_teams'
,
{
return
sequelize
.
define
(
'transfer_teams'
,
{
...
...
build/bl/nami_mysql/table/coache_history.js
查看文件 @
4ed0608
/* jshint indent: 2 */
module
.
exports
=
function
(
sequelize
,
DataTypes
)
{
module
.
exports
=
function
(
sequelize
,
DataTypes
)
{
return
sequelize
.
define
(
'coache_history'
,
{
return
sequelize
.
define
(
'coache_history'
,
{
id
:
{
id
:
{
...
...
build/bl/nami_mysql/table/coache_honors.js
查看文件 @
4ed0608
/* jshint indent: 2 */
module
.
exports
=
function
(
sequelize
,
DataTypes
)
{
module
.
exports
=
function
(
sequelize
,
DataTypes
)
{
return
sequelize
.
define
(
'coache_honors'
,
{
return
sequelize
.
define
(
'coache_honors'
,
{
id
:
{
id
:
{
...
...
build/bl/nami_mysql/table/competition_point_rank.js
查看文件 @
4ed0608
/* jshint indent: 2 */
module
.
exports
=
function
(
sequelize
,
DataTypes
)
{
module
.
exports
=
function
(
sequelize
,
DataTypes
)
{
return
sequelize
.
define
(
'competition_point_rank'
,
{
return
sequelize
.
define
(
'competition_point_rank'
,
{
season_id
:
{
season_id
:
{
...
...
build/bl/nami_mysql/table/competition_statistics_details.js
查看文件 @
4ed0608
/* jshint indent: 2 */
module
.
exports
=
function
(
sequelize
,
DataTypes
)
{
module
.
exports
=
function
(
sequelize
,
DataTypes
)
{
return
sequelize
.
define
(
'competition_statistics_details'
,
{
return
sequelize
.
define
(
'competition_statistics_details'
,
{
id
:
{
id
:
{
...
...
build/bl/nami_mysql/table/europe_companys.js
查看文件 @
4ed0608
/* jshint indent: 2 */
module
.
exports
=
function
(
sequelize
,
DataTypes
)
{
module
.
exports
=
function
(
sequelize
,
DataTypes
)
{
return
sequelize
.
define
(
'europe_companys'
,
{
return
sequelize
.
define
(
'europe_companys'
,
{
id
:
{
id
:
{
...
...
build/bl/nami_mysql/table/index.js
查看文件 @
4ed0608
...
@@ -95,18 +95,6 @@ const odds_corner_ball_history = sequelize.import("odds_corner_ball_history");
...
@@ -95,18 +95,6 @@ const odds_corner_ball_history = sequelize.import("odds_corner_ball_history");
exports
.
odds_corner_ball_history
=
odds_corner_ball_history
;
exports
.
odds_corner_ball_history
=
odds_corner_ball_history
;
const
season_ranks
=
sequelize
.
import
(
"season_ranks"
);
const
season_ranks
=
sequelize
.
import
(
"season_ranks"
);
exports
.
season_ranks
=
season_ranks
;
exports
.
season_ranks
=
season_ranks
;
// coache_history.ts
// coache_honors.ts
// intelligence.ts
// player_honors.ts
// player_transfer.ts
// season_best_lineup.ts
// team_honor.ts
// team_injury.ts
// team_rank_club.ts
// team_rank_fifa_men.ts
// team_rank_fifa_women.ts
// team_squad.ts
const
coache_history
=
sequelize
.
import
(
"coache_history"
);
const
coache_history
=
sequelize
.
import
(
"coache_history"
);
exports
.
coache_history
=
coache_history
;
exports
.
coache_history
=
coache_history
;
const
coache_honors
=
sequelize
.
import
(
"coache_honors"
);
const
coache_honors
=
sequelize
.
import
(
"coache_honors"
);
...
...
build/bl/nami_mysql/table/intelligence.js
查看文件 @
4ed0608
/* jshint indent: 2 */
module
.
exports
=
function
(
sequelize
,
DataTypes
)
{
module
.
exports
=
function
(
sequelize
,
DataTypes
)
{
return
sequelize
.
define
(
'intelligence'
,
{
return
sequelize
.
define
(
'intelligence'
,
{
id
:
{
id
:
{
...
...
build/bl/nami_mysql/table/match_history_compensation.js
查看文件 @
4ed0608
/* jshint indent: 2 */
module
.
exports
=
function
(
sequelize
,
DataTypes
)
{
module
.
exports
=
function
(
sequelize
,
DataTypes
)
{
return
sequelize
.
define
(
'match_history_compensation'
,
{
return
sequelize
.
define
(
'match_history_compensation'
,
{
id
:
{
id
:
{
...
...
build/bl/nami_mysql/table/odds_asian_roll_ball.js
查看文件 @
4ed0608
/* jshint indent: 2 */
module
.
exports
=
function
(
sequelize
,
DataTypes
)
{
module
.
exports
=
function
(
sequelize
,
DataTypes
)
{
return
sequelize
.
define
(
'odds_asian_roll_ball'
,
{
return
sequelize
.
define
(
'odds_asian_roll_ball'
,
{
id
:
{
id
:
{
...
...
build/bl/nami_mysql/table/odds_big_small_history.js
查看文件 @
4ed0608
/* jshint indent: 2 */
module
.
exports
=
function
(
sequelize
,
DataTypes
)
{
module
.
exports
=
function
(
sequelize
,
DataTypes
)
{
return
sequelize
.
define
(
'odds_big_small_history'
,
{
return
sequelize
.
define
(
'odds_big_small_history'
,
{
id
:
{
id
:
{
...
...
build/bl/nami_mysql/table/odds_big_small_immedicate.js
查看文件 @
4ed0608
/* jshint indent: 2 */
module
.
exports
=
function
(
sequelize
,
DataTypes
)
{
module
.
exports
=
function
(
sequelize
,
DataTypes
)
{
return
sequelize
.
define
(
'odds_big_small_immedicate'
,
{
return
sequelize
.
define
(
'odds_big_small_immedicate'
,
{
id
:
{
id
:
{
...
...
build/bl/nami_mysql/table/odds_big_small_roll_ball.js
查看文件 @
4ed0608
/* jshint indent: 2 */
module
.
exports
=
function
(
sequelize
,
DataTypes
)
{
module
.
exports
=
function
(
sequelize
,
DataTypes
)
{
return
sequelize
.
define
(
'odds_big_small_roll_ball'
,
{
return
sequelize
.
define
(
'odds_big_small_roll_ball'
,
{
id
:
{
id
:
{
...
...
build/bl/nami_mysql/table/odds_corner_ball_history.js
查看文件 @
4ed0608
/* jshint indent: 2 */
module
.
exports
=
function
(
sequelize
,
DataTypes
)
{
module
.
exports
=
function
(
sequelize
,
DataTypes
)
{
return
sequelize
.
define
(
'odds_corner_ball_history'
,
{
return
sequelize
.
define
(
'odds_corner_ball_history'
,
{
id
:
{
id
:
{
...
...
build/bl/nami_mysql/table/odds_corner_ball_immediate.js
查看文件 @
4ed0608
/* jshint indent: 2 */
module
.
exports
=
function
(
sequelize
,
DataTypes
)
{
module
.
exports
=
function
(
sequelize
,
DataTypes
)
{
return
sequelize
.
define
(
'odds_corner_ball_immediate'
,
{
return
sequelize
.
define
(
'odds_corner_ball_immediate'
,
{
id
:
{
id
:
{
...
...
build/bl/nami_mysql/table/odds_corner_roll_ball.js
查看文件 @
4ed0608
/* jshint indent: 2 */
module
.
exports
=
function
(
sequelize
,
DataTypes
)
{
module
.
exports
=
function
(
sequelize
,
DataTypes
)
{
return
sequelize
.
define
(
'odds_corner_roll_ball'
,
{
return
sequelize
.
define
(
'odds_corner_roll_ball'
,
{
id
:
{
id
:
{
...
...
build/bl/nami_mysql/table/odds_europe_roll_ball.js
查看文件 @
4ed0608
/* jshint indent: 2 */
module
.
exports
=
function
(
sequelize
,
DataTypes
)
{
module
.
exports
=
function
(
sequelize
,
DataTypes
)
{
return
sequelize
.
define
(
'odds_europe_roll_ball'
,
{
return
sequelize
.
define
(
'odds_europe_roll_ball'
,
{
id
:
{
id
:
{
...
...
build/bl/nami_mysql/table/odds_european_immediate.js
查看文件 @
4ed0608
/* jshint indent: 2 */
module
.
exports
=
function
(
sequelize
,
DataTypes
)
{
module
.
exports
=
function
(
sequelize
,
DataTypes
)
{
return
sequelize
.
define
(
'odds_european_immediate'
,
{
return
sequelize
.
define
(
'odds_european_immediate'
,
{
id
:
{
id
:
{
...
...
build/bl/nami_mysql/table/player_honors.js
查看文件 @
4ed0608
/* jshint indent: 2 */
module
.
exports
=
function
(
sequelize
,
DataTypes
)
{
module
.
exports
=
function
(
sequelize
,
DataTypes
)
{
return
sequelize
.
define
(
'player_honors'
,
{
return
sequelize
.
define
(
'player_honors'
,
{
id
:
{
id
:
{
...
...
build/bl/nami_mysql/table/player_stats.js
查看文件 @
4ed0608
...
@@ -11,13 +11,6 @@ module.exports = function (sequelize, DataTypes) {
...
@@ -11,13 +11,6 @@ module.exports = function (sequelize, DataTypes) {
allowNull
:
true
,
allowNull
:
true
,
comment
:
"球员统计数据"
comment
:
"球员统计数据"
},
},
// updated_at: {
// type: DataTypes.BIGINT,
// allowNull: true,
// get(){
// return moment(this.getDataValue('updated_at')).format('YYYY-MM-DD HH:mm:ss');
// }
// },
created_at
:
{
created_at
:
{
type
:
DataTypes
.
DATE
,
type
:
DataTypes
.
DATE
,
allowNull
:
true
allowNull
:
true
...
...
build/bl/nami_mysql/table/player_transfer.js
查看文件 @
4ed0608
/* jshint indent: 2 */
module
.
exports
=
function
(
sequelize
,
DataTypes
)
{
module
.
exports
=
function
(
sequelize
,
DataTypes
)
{
return
sequelize
.
define
(
'player_transfer'
,
{
return
sequelize
.
define
(
'player_transfer'
,
{
id
:
{
id
:
{
...
...
build/bl/nami_mysql/table/season_best_lineup.js
查看文件 @
4ed0608
/* jshint indent: 2 */
module
.
exports
=
function
(
sequelize
,
DataTypes
)
{
module
.
exports
=
function
(
sequelize
,
DataTypes
)
{
return
sequelize
.
define
(
'season_best_lineup'
,
{
return
sequelize
.
define
(
'season_best_lineup'
,
{
id
:
{
id
:
{
...
...
build/bl/nami_mysql/table/season_bracket_matches.js
查看文件 @
4ed0608
/* jshint indent: 2 */
module
.
exports
=
function
(
sequelize
,
DataTypes
)
{
module
.
exports
=
function
(
sequelize
,
DataTypes
)
{
return
sequelize
.
define
(
'season_bracket_matches'
,
{
return
sequelize
.
define
(
'season_bracket_matches'
,
{
id
:
{
id
:
{
...
...
build/bl/nami_mysql/table/team_honor.js
查看文件 @
4ed0608
/* jshint indent: 2 */
module
.
exports
=
function
(
sequelize
,
DataTypes
)
{
module
.
exports
=
function
(
sequelize
,
DataTypes
)
{
return
sequelize
.
define
(
'team_honor'
,
{
return
sequelize
.
define
(
'team_honor'
,
{
id
:
{
id
:
{
...
...
build/bl/nami_mysql/table/team_injury.js
查看文件 @
4ed0608
/* jshint indent: 2 */
module
.
exports
=
function
(
sequelize
,
DataTypes
)
{
module
.
exports
=
function
(
sequelize
,
DataTypes
)
{
return
sequelize
.
define
(
'team_injury'
,
{
return
sequelize
.
define
(
'team_injury'
,
{
id
:
{
id
:
{
...
...
build/bl/nami_mysql/table/team_rank_club.js
查看文件 @
4ed0608
/* jshint indent: 2 */
module
.
exports
=
function
(
sequelize
,
DataTypes
)
{
module
.
exports
=
function
(
sequelize
,
DataTypes
)
{
return
sequelize
.
define
(
'team_rank_club'
,
{
return
sequelize
.
define
(
'team_rank_club'
,
{
id
:
{
id
:
{
...
...
build/bl/nami_mysql/table/team_rank_fifa_men.js
查看文件 @
4ed0608
/* jshint indent: 2 */
module
.
exports
=
function
(
sequelize
,
DataTypes
)
{
module
.
exports
=
function
(
sequelize
,
DataTypes
)
{
return
sequelize
.
define
(
'team_rank_fifa_men'
,
{
return
sequelize
.
define
(
'team_rank_fifa_men'
,
{
id
:
{
id
:
{
...
...
build/bl/nami_mysql/table/team_rank_fifa_women.js
查看文件 @
4ed0608
/* jshint indent: 2 */
module
.
exports
=
function
(
sequelize
,
DataTypes
)
{
module
.
exports
=
function
(
sequelize
,
DataTypes
)
{
return
sequelize
.
define
(
'team_rank_fifa_women'
,
{
return
sequelize
.
define
(
'team_rank_fifa_women'
,
{
id
:
{
id
:
{
...
...
build/bl/nami_mysql/table/team_squad.js
查看文件 @
4ed0608
/* jshint indent: 2 */
module
.
exports
=
function
(
sequelize
,
DataTypes
)
{
module
.
exports
=
function
(
sequelize
,
DataTypes
)
{
return
sequelize
.
define
(
'team_squad'
,
{
return
sequelize
.
define
(
'team_squad'
,
{
id
:
{
id
:
{
...
...
build/bl/sxjx/index.js
查看文件 @
4ed0608
"use strict"
;
"use strict"
;
Object
.
defineProperty
(
exports
,
"__esModule"
,
{
value
:
true
});
Object
.
defineProperty
(
exports
,
"__esModule"
,
{
value
:
true
});
exports
.
calc_pre_win
=
exports
.
create_match_data
=
void
0
;
exports
.
calc_pre_win
=
exports
.
create_match_data
=
void
0
;
//处理纳米数据,共用调用
const
info_db
=
require
(
"../info_mysql/table"
);
const
info_db
=
require
(
"../info_mysql/table"
);
const
nami_db
=
require
(
"../nami_mysql/table"
);
const
nami_db
=
require
(
"../nami_mysql/table"
);
const
moment
=
require
(
"moment"
);
const
moment
=
require
(
"moment"
);
...
@@ -33,7 +32,6 @@ ORDER BY match_time desc LIMIT 10;`)
...
@@ -33,7 +32,6 @@ ORDER BY match_time desc LIMIT 10;`)
if
(
v
[
0
].
rating
<
1
)
{
if
(
v
[
0
].
rating
<
1
)
{
continue
;
continue
;
}
}
//select short_name_zh,logo from players where id in (1332014)
var
res
=
await
nami_db
.
players
.
findAll
({
var
res
=
await
nami_db
.
players
.
findAll
({
attributes
:
[
'id'
,
'short_name_zh'
,
'logo'
],
attributes
:
[
'id'
,
'short_name_zh'
,
'logo'
],
where
:
{
where
:
{
...
@@ -289,16 +287,6 @@ from odds_european_immediate where id= :matchid`, {
...
@@ -289,16 +287,6 @@ from odds_european_immediate where id= :matchid`, {
if
(
!
data
||
data
.
length
!=
2
||
!
data
[
0
][
0
].
s
||
!
data
[
1
][
0
].
s
)
{
if
(
!
data
||
data
.
length
!=
2
||
!
data
[
0
][
0
].
s
||
!
data
[
1
][
0
].
s
)
{
return
null
;
return
null
;
}
}
// 亚洲态度:取全部公司的均值后,计算百分比,根据下面方式取概率大的一方加平。
// 如:通过多家亚指公司算出均值如下:
// 1.01 -0.78 0.85
// 第一步:先把本金加上水位都加1.则为2.01 -0.78 1.85
// 第二步:让球方为主队,则主水2.01+盘口0.78=2.79
// 第三步:用2.79 1.85计算百分比:
// 胜:4.64/(1.23+1.85)=60%
// 负:1-60%=40%
// 平:平固定算20%;
// 取概率大的一方加平,则可取:胜 平 百分比为80%。
var
asia_data
=
data
[
0
][
0
];
var
asia_data
=
data
[
0
][
0
];
var
asia
;
var
asia
;
if
(
asia_data
.
p
>
0
)
{
if
(
asia_data
.
p
>
0
)
{
...
@@ -333,34 +321,6 @@ from odds_european_immediate where id= :matchid`, {
...
@@ -333,34 +321,6 @@ from odds_european_immediate where id= :matchid`, {
};
};
}
}
async
function
lstp
(
sp
)
{
async
function
lstp
(
sp
)
{
// let sql = `
// select game_id as GameId,
// competition_id,
// score as Score,
// host_id as SportsdtHostId,
// guest_id as SportsdtGuestId,
// host_name,
// guest_name,
// game_date as Date,
// game_name,
// yiqiu_game_id,
// JSON_ARRAY(first_odds_host,first_odds_guest,first_odds_handicap,sport_odds_host,sport_odds_guest,sport_odds_handicap) as Data
// from db_info.stat_soccer_ahodds
// where first_odds_host=${sp[0]}
// and first_odds_guest=${sp[1]}
// and first_odds_handicap=${sp[2]}
// and game_date<'${moment().add(-1, 'days').format("YYYY-MM-DD HH:mm:ss")}'
// order by game_date desc
// limit 300 `
// let list = await info_db.sequelize.query(sql)
// if (list[0].length > 0) {
// list = list[0]
// } else {
// list = []
// }
// if (list && list.length) {
// return;
// }
if
(
sp
[
0
]
<
sp
[
2
])
{
if
(
sp
[
0
]
<
sp
[
2
])
{
return
{
return
{
rate
:
(
1
/
sp
[
0
]
+
1
/
sp
[
1
])
/
(
1
/
sp
[
0
]
+
1
/
sp
[
1
]
+
1
/
sp
[
2
]),
rate
:
(
1
/
sp
[
0
]
+
1
/
sp
[
1
])
/
(
1
/
sp
[
0
]
+
1
/
sp
[
1
]
+
1
/
sp
[
2
]),
...
@@ -373,16 +333,9 @@ async function lstp(sp) {
...
@@ -373,16 +333,9 @@ async function lstp(sp) {
pre
:
[
'负'
,
'平'
]
pre
:
[
'负'
,
'平'
]
};
};
}
}
// list = JSON.parse(JSON.stringify(list))
// list = _.filter(list, (o) => {
// return o.host_name && o.guest_name
// })
// list = _.unionBy(list, "yiqiu_game_id");
// return base.getItemResultByList(list, true)
return
null
;
return
null
;
}
}
async
function
start1
(
issue_name
)
{
async
function
start1
(
issue_name
)
{
// var issue_name = moment().format('YYYY-MM-DD');
var
data
=
await
info_db
.
ms_soccer_game
.
findAll
({
var
data
=
await
info_db
.
ms_soccer_game
.
findAll
({
attributes
:
[
'id'
,
'leisu_match_id'
,
'odds'
,
'yiqiu_host_team_id'
,
'yiqiu_guest_team_id'
,
'leisu_host_id'
,
'leisu_guest_id'
,
'match_time'
],
attributes
:
[
'id'
,
'leisu_match_id'
,
'odds'
,
'yiqiu_host_team_id'
,
'yiqiu_guest_team_id'
,
'leisu_host_id'
,
'leisu_guest_id'
,
'match_time'
],
where
:
{
where
:
{
...
@@ -486,7 +439,6 @@ async function start1(issue_name) {
...
@@ -486,7 +439,6 @@ async function start1(issue_name) {
model
.
meeting
=
await
meeting
([
item
.
yiqiu_host_team_id
,
item
.
yiqiu_guest_team_id
],
item
.
match_time
);
model
.
meeting
=
await
meeting
([
item
.
yiqiu_host_team_id
,
item
.
yiqiu_guest_team_id
],
item
.
match_time
);
var
history_host_team
=
await
history_team
(
item
.
yiqiu_host_team_id
,
true
,
item
.
match_time
);
var
history_host_team
=
await
history_team
(
item
.
yiqiu_host_team_id
,
true
,
item
.
match_time
);
var
history_guest_team
=
await
history_team
(
item
.
yiqiu_guest_team_id
,
false
,
item
.
match_time
);
var
history_guest_team
=
await
history_team
(
item
.
yiqiu_guest_team_id
,
false
,
item
.
match_time
);
// { data: res, avg_jq: time > 0 ? 1.0 * sum_jq_time / time : 0, sum_jq, host_jq }
model
.
history
=
[
history_host_team
.
data
,
history_guest_team
.
data
,
model
.
history
=
[
history_host_team
.
data
,
history_guest_team
.
data
,
{
sum_jq
:
history_host_team
.
sum_jq
,
host_jq
:
history_host_team
.
host_jq
,
spf
:
history_host_team
.
spf
},
{
sum_jq
:
history_host_team
.
sum_jq
,
host_jq
:
history_host_team
.
host_jq
,
spf
:
history_host_team
.
spf
},
{
sum_jq
:
history_guest_team
.
sum_jq
,
host_jq
:
history_guest_team
.
host_jq
,
spf
:
history_guest_team
.
spf
}
{
sum_jq
:
history_guest_team
.
sum_jq
,
host_jq
:
history_guest_team
.
host_jq
,
spf
:
history_guest_team
.
spf
}
...
@@ -497,20 +449,11 @@ async function start1(issue_name) {
...
@@ -497,20 +449,11 @@ async function start1(issue_name) {
if
(
sum_avg_jq
>
6
)
if
(
sum_avg_jq
>
6
)
sum_avg_jq
=
6.1
;
sum_avg_jq
=
6.1
;
model
.
pre
[
1
]
=
[
Math
.
floor
(
sum_avg_jq
),
Math
.
ceil
(
sum_avg_jq
)];
model
.
pre
[
1
]
=
[
Math
.
floor
(
sum_avg_jq
),
Math
.
ceil
(
sum_avg_jq
)];
// if (model.meeting && model.meeting.sum_jq && model.meeting.z_spf.length) {
// var avg_jq = model.meeting.sum_jq * 1.0 / model.meeting.z_spf.length;
// model.pre[1] = [Math.floor(avg_jq), Math.ceil(avg_jq)];
// } else if (history_host_team.sum_jq && history_guest_team.sum_jq) {
// var avg_jq = (1.0 * history_host_team.sum_jq / history_host_team.data.length + 1.0 * history_guest_team.sum_jq / history_guest_team.data.length) / 2.0;
// model.pre[1] = [Math.floor(avg_jq), Math.ceil(avg_jq)];
// }
model
.
pre
[
1
]
=
_
.
uniq
(
model
.
pre
[
1
]);
model
.
pre
[
1
]
=
_
.
uniq
(
model
.
pre
[
1
]);
var
h
=
await
trait_team
(
item
.
yiqiu_host_team_id
,
item
.
match_time
);
var
h
=
await
trait_team
(
item
.
yiqiu_host_team_id
,
item
.
match_time
);
var
g
=
await
trait_team
(
item
.
yiqiu_guest_team_id
,
item
.
match_time
);
var
g
=
await
trait_team
(
item
.
yiqiu_guest_team_id
,
item
.
match_time
);
model
.
trait
=
[
h
,
g
];
model
.
trait
=
[
h
,
g
];
try
{
try
{
// 胜平负 总进球 比分 半全场
//[["胜", "平"], [3, 4]]
model
.
pre_all
=
[...
model
.
pre
,
...
predictScoreAndHalfFull
(
model
.
pre
)];
model
.
pre_all
=
[...
model
.
pre
,
...
predictScoreAndHalfFull
(
model
.
pre
)];
}
}
catch
(
error
)
{
catch
(
error
)
{
...
@@ -521,45 +464,33 @@ async function start1(issue_name) {
...
@@ -521,45 +464,33 @@ async function start1(issue_name) {
}
}
}
}
function
predictScoreAndHalfFull
(
pre
)
{
function
predictScoreAndHalfFull
(
pre
)
{
// 输入参数结构: pre = [["胜", "平"], [3, 4]]
const
[
winDrawLose
,
totalGoals
]
=
pre
;
const
[
winDrawLose
,
totalGoals
]
=
pre
;
// 比分预测结果
const
scorePredictions
=
[];
const
scorePredictions
=
[];
// 半全场预测结果
const
halfFullPredictions
=
[];
const
halfFullPredictions
=
[];
// 根据胜平负和总进球生成比分预测
for
(
const
outcome
of
winDrawLose
)
{
for
(
const
outcome
of
winDrawLose
)
{
for
(
const
goals
of
totalGoals
)
{
for
(
const
goals
of
totalGoals
)
{
// 随机生成2-4个比分预测
const
count
=
Math
.
floor
(
Math
.
random
()
*
3
)
+
2
;
const
count
=
Math
.
floor
(
Math
.
random
()
*
3
)
+
2
;
for
(
let
i
=
0
;
i
<
count
;
i
++
)
{
for
(
let
i
=
0
;
i
<
count
;
i
++
)
{
if
(
outcome
===
"胜"
)
{
if
(
outcome
===
"胜"
)
{
// 主队胜的比分: 主队进球 > 客队进球,且总和=goals
// 主队至少进1球,最多进goals-1球
// 客队最多进主队进球-1球
const
minHome
=
Math
.
max
(
1
,
Math
.
ceil
(
goals
/
2
));
const
minHome
=
Math
.
max
(
1
,
Math
.
ceil
(
goals
/
2
));
const
maxHome
=
goals
;
const
maxHome
=
goals
;
if
(
minHome
>
maxHome
)
if
(
minHome
>
maxHome
)
continue
;
// 无解情况跳过
continue
;
const
home
=
Math
.
floor
(
Math
.
random
()
*
(
maxHome
-
minHome
+
1
))
+
minHome
;
const
home
=
Math
.
floor
(
Math
.
random
()
*
(
maxHome
-
minHome
+
1
))
+
minHome
;
const
away
=
goals
-
home
;
const
away
=
goals
-
home
;
scorePredictions
.
push
(
`
${
home
}
-
${
away
}
`
);
scorePredictions
.
push
(
`
${
home
}
-
${
away
}
`
);
}
}
else
if
(
outcome
===
"平"
)
{
else
if
(
outcome
===
"平"
)
{
// 平局的比分: 主队进球 = 客队进球,且总和=goals
if
(
goals
%
2
===
0
)
{
if
(
goals
%
2
===
0
)
{
const
score
=
goals
/
2
;
const
score
=
goals
/
2
;
scorePredictions
.
push
(
`
${
score
}
-
${
score
}
`
);
scorePredictions
.
push
(
`
${
score
}
-
${
score
}
`
);
}
}
}
}
else
if
(
outcome
===
"负"
)
{
else
if
(
outcome
===
"负"
)
{
// 客队胜的比分: 主队进球 < 客队进球,且总和=goals
// 客队至少进1球,最多进goals-1球
// 主队最多进客队进球-1球
const
minAway
=
Math
.
max
(
1
,
Math
.
ceil
(
goals
/
2
));
const
minAway
=
Math
.
max
(
1
,
Math
.
ceil
(
goals
/
2
));
const
maxAway
=
goals
;
const
maxAway
=
goals
;
if
(
minAway
>
maxAway
)
if
(
minAway
>
maxAway
)
continue
;
// 无解情况跳过
continue
;
const
away
=
Math
.
floor
(
Math
.
random
()
*
(
maxAway
-
minAway
+
1
))
+
minAway
;
const
away
=
Math
.
floor
(
Math
.
random
()
*
(
maxAway
-
minAway
+
1
))
+
minAway
;
const
home
=
goals
-
away
;
const
home
=
goals
-
away
;
scorePredictions
.
push
(
`
${
home
}
-
${
away
}
`
);
scorePredictions
.
push
(
`
${
home
}
-
${
away
}
`
);
...
@@ -567,29 +498,23 @@ function predictScoreAndHalfFull(pre) {
...
@@ -567,29 +498,23 @@ function predictScoreAndHalfFull(pre) {
}
}
}
}
}
}
// 根据胜平负生成半全场预测
for
(
const
outcome
of
winDrawLose
)
{
for
(
const
outcome
of
winDrawLose
)
{
// 随机生成2-4个半全场预测
const
count
=
Math
.
floor
(
Math
.
random
()
*
3
)
+
2
;
const
count
=
Math
.
floor
(
Math
.
random
()
*
3
)
+
2
;
for
(
let
i
=
0
;
i
<
count
;
i
++
)
{
for
(
let
i
=
0
;
i
<
count
;
i
++
)
{
if
(
outcome
===
"胜"
)
{
if
(
outcome
===
"胜"
)
{
// 可能的情况: 胜胜, 平胜
const
options
=
[
"胜胜"
,
"平胜"
];
const
options
=
[
"胜胜"
,
"平胜"
];
halfFullPredictions
.
push
(
options
[
Math
.
floor
(
Math
.
random
()
*
options
.
length
)]);
halfFullPredictions
.
push
(
options
[
Math
.
floor
(
Math
.
random
()
*
options
.
length
)]);
}
}
else
if
(
outcome
===
"平"
)
{
else
if
(
outcome
===
"平"
)
{
// 可能的情况: 平平, 胜平, 负平
const
options
=
[
"平平"
,
"胜平"
,
"负平"
];
const
options
=
[
"平平"
,
"胜平"
,
"负平"
];
halfFullPredictions
.
push
(
options
[
Math
.
floor
(
Math
.
random
()
*
options
.
length
)]);
halfFullPredictions
.
push
(
options
[
Math
.
floor
(
Math
.
random
()
*
options
.
length
)]);
}
}
else
if
(
outcome
===
"负"
)
{
else
if
(
outcome
===
"负"
)
{
// 可能的情况: 负负, 平负
const
options
=
[
"负负"
,
"平负"
];
const
options
=
[
"负负"
,
"平负"
];
halfFullPredictions
.
push
(
options
[
Math
.
floor
(
Math
.
random
()
*
options
.
length
)]);
halfFullPredictions
.
push
(
options
[
Math
.
floor
(
Math
.
random
()
*
options
.
length
)]);
}
}
}
}
}
}
// 去重并限制数量
const
uniqueScores
=
[...
new
Set
(
scorePredictions
)].
slice
(
0
,
4
);
const
uniqueScores
=
[...
new
Set
(
scorePredictions
)].
slice
(
0
,
4
);
const
uniqueHalfFull
=
[...
new
Set
(
halfFullPredictions
)].
slice
(
0
,
4
);
const
uniqueHalfFull
=
[...
new
Set
(
halfFullPredictions
)].
slice
(
0
,
4
);
return
[
uniqueScores
,
uniqueHalfFull
];
return
[
uniqueScores
,
uniqueHalfFull
];
...
@@ -675,7 +600,6 @@ async function calc_pre_win() {
...
@@ -675,7 +600,6 @@ async function calc_pre_win() {
await
(
0
,
common_1
.
sleep
)(
1000
);
await
(
0
,
common_1
.
sleep
)(
1000
);
}
}
exports
.
calc_pre_win
=
calc_pre_win
;
exports
.
calc_pre_win
=
calc_pre_win
;
//生成比赛数据
async
function
create_match_data
()
{
async
function
create_match_data
()
{
for
(
let
index
=
-
3
;
index
<
1
;
index
++
)
{
for
(
let
index
=
-
3
;
index
<
1
;
index
++
)
{
await
start1
(
moment
().
add
(
-
index
,
'days'
).
format
(
'YYYY-MM-DD'
)).
catch
(
a
=>
console
.
log
(
a
));
await
start1
(
moment
().
add
(
-
index
,
'days'
).
format
(
'YYYY-MM-DD'
)).
catch
(
a
=>
console
.
log
(
a
));
...
...
build/job/index.js
查看文件 @
4ed0608
...
@@ -13,12 +13,7 @@ if (global['app_config'].job.enable_piscina) {
...
@@ -13,12 +13,7 @@ if (global['app_config'].job.enable_piscina) {
minThreads
:
1
,
minThreads
:
1
,
maxQueue
:
100
,
maxQueue
:
100
,
idleTimeout
:
60000
,
idleTimeout
:
60000
,
concurrentTasksPerWorker
:
5
,
//单个工作线程同时处理的任务数 任务包含异步操作时可以考虑增加
concurrentTasksPerWorker
:
5
,
// resourceLimits: {
// maxOldGenerationSizeMb: 1024,
// maxYoungGenerationSizeMb: 256,
// stackSizeMb: 4,
// },
});
});
async
function
run_task
(
args
)
{
async
function
run_task
(
args
)
{
return
piscina
.
run
(
args
);
return
piscina
.
run
(
args
);
...
...
build/job/test/index.js
查看文件 @
4ed0608
...
@@ -2,18 +2,9 @@
...
@@ -2,18 +2,9 @@
Object
.
defineProperty
(
exports
,
"__esModule"
,
{
value
:
true
});
Object
.
defineProperty
(
exports
,
"__esModule"
,
{
value
:
true
});
exports
.
demo_test
=
exports
.
demoJobHandler
=
void
0
;
exports
.
demo_test
=
exports
.
demoJobHandler
=
void
0
;
const
common_1
=
require
(
"../../libs/common"
);
const
common_1
=
require
(
"../../libs/common"
);
/**
* demo任务
* @param {any} jobLogger 由xxl-job组件定义的任务logger,会将日志内容输出到文件,可在调度中心查看执行日志
* @param {{ jobParam1: any, jobParam2: any }} jobParams 任务参数
* @param {Object} context 任务上下文
* @return {Promise<void>} 函数必须返回一个 promise
*/
async
function
demoJobHandler
(
jobLogger
,
jobParams
,
context
)
{
async
function
demoJobHandler
(
jobLogger
,
jobParams
,
context
)
{
// jobLogger.debug('params: %o, context: %o', jobParams, context)
for
(
let
i
=
1
;
i
<
10
;
i
++
)
{
for
(
let
i
=
1
;
i
<
10
;
i
++
)
{
await
(
0
,
common_1
.
sleep
)(
1000
);
await
(
0
,
common_1
.
sleep
)(
1000
);
// jobLogger.debug(`${i}s passed`)
}
}
return
{
result
:
'return value'
};
return
{
result
:
'return value'
};
}
}
...
@@ -22,7 +13,6 @@ async function demo_test(jobLogger, jobParams, context) {
...
@@ -22,7 +13,6 @@ async function demo_test(jobLogger, jobParams, context) {
jobLogger
.
debug
(
'params: %o, context: %o'
,
jobParams
,
context
);
jobLogger
.
debug
(
'params: %o, context: %o'
,
jobParams
,
context
);
for
(
let
i
=
1
;
i
<
5
;
i
++
)
{
for
(
let
i
=
1
;
i
<
5
;
i
++
)
{
await
(
0
,
common_1
.
sleep
)(
1000
);
await
(
0
,
common_1
.
sleep
)(
1000
);
// jobLogger.debug(`${i}s passed`)
}
}
return
{
result
:
'return value'
};
return
{
result
:
'return value'
};
}
}
...
...
build/job/worker.js
查看文件 @
4ed0608
...
@@ -2,28 +2,16 @@
...
@@ -2,28 +2,16 @@
Object
.
defineProperty
(
exports
,
"__esModule"
,
{
value
:
true
});
Object
.
defineProperty
(
exports
,
"__esModule"
,
{
value
:
true
});
const
fs
=
require
(
"fs"
);
const
fs
=
require
(
"fs"
);
const
path
=
require
(
'path'
);
const
path
=
require
(
'path'
);
//多线程情况下 需要重新初始化config配置
require
(
'../../config/index'
);
require
(
'../../config/index'
);
const
job_handlers
=
new
Map
();
const
job_handlers
=
new
Map
();
/**
* 递归加载指定目录下所有 .js 文件
* @param {string|string[]} dirPaths 要加载的目录路径(可以是字符串或数组)
* @param {object} [options] 配置选项
* @param {boolean} [options.ignoreNodeModules=true] 是否忽略 node_modules 目录
* @param {RegExp|function} [options.filter] 自定义过滤条件
* @returns {object} 包含所有加载模块的对象(以相对路径为键)
*/
function
loadAllJSFiles
(
dirPaths
,
options
=
{})
{
function
loadAllJSFiles
(
dirPaths
,
options
=
{})
{
const
{
ignoreNodeModules
=
true
,
filter
=
null
}
=
options
;
const
{
ignoreNodeModules
=
true
,
filter
=
null
}
=
options
;
const
loadedModules
=
{};
const
loadedModules
=
{};
// 统一处理为数组形式
if
(
!
Array
.
isArray
(
dirPaths
))
{
if
(
!
Array
.
isArray
(
dirPaths
))
{
dirPaths
=
[
dirPaths
];
dirPaths
=
[
dirPaths
];
}
}
dirPaths
.
forEach
(
dirPath
=>
{
dirPaths
.
forEach
(
dirPath
=>
{
// 解析为绝对路径
const
absoluteDir
=
path
.
resolve
(
dirPath
);
const
absoluteDir
=
path
.
resolve
(
dirPath
);
// 递归读取目录
function
scanDirectory
(
currentDir
,
relativePath
=
''
)
{
function
scanDirectory
(
currentDir
,
relativePath
=
''
)
{
const
files
=
fs
.
readdirSync
(
currentDir
);
const
files
=
fs
.
readdirSync
(
currentDir
);
files
.
forEach
(
file
=>
{
files
.
forEach
(
file
=>
{
...
@@ -31,11 +19,9 @@ function loadAllJSFiles(dirPaths, options = {}) {
...
@@ -31,11 +19,9 @@ function loadAllJSFiles(dirPaths, options = {}) {
const
stat
=
fs
.
statSync
(
fullPath
);
const
stat
=
fs
.
statSync
(
fullPath
);
const
newRelativePath
=
path
.
join
(
relativePath
,
file
);
const
newRelativePath
=
path
.
join
(
relativePath
,
file
);
if
(
stat
.
isDirectory
())
{
if
(
stat
.
isDirectory
())
{
// 跳过 node_modules 目录(如果配置了忽略)
if
(
ignoreNodeModules
&&
file
===
'node_modules'
)
{
if
(
ignoreNodeModules
&&
file
===
'node_modules'
)
{
return
;
return
;
}
}
// 递归扫描子目录
scanDirectory
(
fullPath
,
newRelativePath
);
scanDirectory
(
fullPath
,
newRelativePath
);
}
}
else
if
(
path
.
extname
(
file
)
===
'.js'
&&
else
if
(
path
.
extname
(
file
)
===
'.js'
&&
...
@@ -43,7 +29,6 @@ function loadAllJSFiles(dirPaths, options = {}) {
...
@@ -43,7 +29,6 @@ function loadAllJSFiles(dirPaths, options = {}) {
(
typeof
filter
===
'function'
&&
filter
(
fullPath
))
||
(
typeof
filter
===
'function'
&&
filter
(
fullPath
))
||
(
filter
instanceof
RegExp
&&
filter
.
test
(
fullPath
))))
{
(
filter
instanceof
RegExp
&&
filter
.
test
(
fullPath
))))
{
try
{
try
{
// 加载模块并存储
const
module
=
require
(
fullPath
);
const
module
=
require
(
fullPath
);
const
moduleKey
=
newRelativePath
.
replace
(
/
\.
js$/
,
''
);
const
moduleKey
=
newRelativePath
.
replace
(
/
\.
js$/
,
''
);
loadedModules
[
moduleKey
]
=
module
;
loadedModules
[
moduleKey
]
=
module
;
...
@@ -83,7 +68,6 @@ function wrapper_task(func) {
...
@@ -83,7 +68,6 @@ function wrapper_task(func) {
continue
;
continue
;
}
}
job_handlers
.
set
(
key2
,
wrapper_task
(
m
[
key2
]));
job_handlers
.
set
(
key2
,
wrapper_task
(
m
[
key2
]));
// console.log(key2)
}
}
}
}
}
}
...
...
build/xxl_job/executor.js
查看文件 @
4ed0608
...
@@ -2,8 +2,6 @@
...
@@ -2,8 +2,6 @@
Object
.
defineProperty
(
exports
,
"__esModule"
,
{
value
:
true
});
Object
.
defineProperty
(
exports
,
"__esModule"
,
{
value
:
true
});
exports
.
Executor
=
void
0
;
exports
.
Executor
=
void
0
;
const
job_manager_1
=
require
(
"./job_manager"
);
const
job_manager_1
=
require
(
"./job_manager"
);
// const logger = require('./logger')
// const log = logger('xxl-job-executor')
const
axios_1
=
require
(
"axios"
);
const
axios_1
=
require
(
"axios"
);
class
Executor
{
class
Executor
{
executorKey
;
executorKey
;
...
@@ -12,14 +10,6 @@ class Executor {
...
@@ -12,14 +10,6 @@ class Executor {
executorUrl
;
executorUrl
;
jobHandlers
;
jobHandlers
;
jobManager
;
jobManager
;
/**
* @param {string} executorKey
* @param {string} scheduleCenterUrl
* @param {string} accessToken
* @param {string} jobLogPath
* @param {Map} jobHandlers
* @param {*} context
*/
constructor
(
executorKey
,
scheduleCenterUrl
,
accessToken
,
jobLogPath
,
jobHandlers
,
context
)
{
constructor
(
executorKey
,
scheduleCenterUrl
,
accessToken
,
jobLogPath
,
jobHandlers
,
context
)
{
this
.
executorKey
=
executorKey
;
this
.
executorKey
=
executorKey
;
this
.
scheduleCenterUrl
=
scheduleCenterUrl
;
this
.
scheduleCenterUrl
=
scheduleCenterUrl
;
...
@@ -27,16 +17,10 @@ class Executor {
...
@@ -27,16 +17,10 @@ class Executor {
this
.
jobHandlers
=
jobHandlers
;
this
.
jobHandlers
=
jobHandlers
;
this
.
jobManager
=
new
job_manager_1
.
JobManager
(
jobLogPath
,
context
);
this
.
jobManager
=
new
job_manager_1
.
JobManager
(
jobLogPath
,
context
);
}
}
/**
* 应用执行器中间件
* @param {*} app
* @param {string} domain
*/
applyMiddleware
({
app
,
domain
})
{
applyMiddleware
({
app
,
domain
})
{
this
.
executorUrl
=
domain
;
this
.
executorUrl
=
domain
;
const
express
=
require
(
'express'
);
const
express
=
require
(
'express'
);
var
router
=
new
express
.
Router
();
var
router
=
new
express
.
Router
();
//请求认证
router
.
use
(
async
(
req
,
res
,
next
)
=>
{
router
.
use
(
async
(
req
,
res
,
next
)
=>
{
res
.
status
(
200
);
res
.
status
(
200
);
const
token
=
req
.
headers
&&
req
.
headers
[
'xxl-job-access-token'
];
const
token
=
req
.
headers
&&
req
.
headers
[
'xxl-job-access-token'
];
...
@@ -53,11 +37,6 @@ class Executor {
...
@@ -53,11 +37,6 @@ class Executor {
this
.
addJobRoutes
(
router
);
this
.
addJobRoutes
(
router
);
app
.
use
(
router
);
app
.
use
(
router
);
}
}
/**
* 添加xxl-job相关的路由,供调度中心访问
* @param {express.Router} router
* @param {string} baseUri
*/
addJobRoutes
(
router
)
{
addJobRoutes
(
router
)
{
router
.
post
(
`/beat`
,
async
(
req
,
res
,
next
)
=>
{
router
.
post
(
`/beat`
,
async
(
req
,
res
,
next
)
=>
{
res
.
send
(
this
.
beat
());
res
.
send
(
this
.
beat
());
...
@@ -77,31 +56,12 @@ class Executor {
...
@@ -77,31 +56,12 @@ class Executor {
res
.
send
(
data
);
res
.
send
(
data
);
});
});
}
}
/**
* 心跳检测:调度中心检测执行器是否在线时使用
* @return {{code: number, msg: string}}
*/
beat
()
{
beat
()
{
return
{
code
:
200
,
msg
:
'success'
};
return
{
code
:
200
,
msg
:
'success'
};
}
}
/**
* 忙碌检测:调度中心检测指定执行器上指定任务是否忙碌(运行中)时使用
* @param {string} jobId - 任务ID
* @return {{code: number, msg: string}}
*/
idleBeat
(
jobId
)
{
idleBeat
(
jobId
)
{
return
(
this
.
jobManager
.
hasJob
(
jobId
)
?
{
code
:
500
,
msg
:
'busy'
}
:
{
code
:
200
,
msg
:
'idle'
});
return
(
this
.
jobManager
.
hasJob
(
jobId
)
?
{
code
:
500
,
msg
:
'busy'
}
:
{
code
:
200
,
msg
:
'idle'
});
}
}
/**
* 触发任务执行
* @param {number} jobId - 任务ID
* @param {string} handlerName - 任务的handler名字
* @param {string} jobJsonParams - 任务参数
* @param {number} executorTimeout - 任务超时时间,单位秒,大于零时生效
* @param {number} logId - 本次调度日志ID
* @param {number} - 本次调度日志时间
* @return {{code: number, msg: string}}
*/
run
({
jobId
,
executorHandler
:
handlerName
,
executorParams
:
jobJsonParams
,
executorTimeout
,
logId
,
logDateTime
})
{
run
({
jobId
,
executorHandler
:
handlerName
,
executorParams
:
jobJsonParams
,
executorTimeout
,
logId
,
logDateTime
})
{
const
jobHandler
=
this
.
jobHandlers
.
get
(
handlerName
);
const
jobHandler
=
this
.
jobHandlers
.
get
(
handlerName
);
if
(
!
jobHandler
)
{
if
(
!
jobHandler
)
{
...
@@ -110,67 +70,19 @@ class Executor {
...
@@ -110,67 +70,19 @@ class Executor {
this
.
jobManager
.
runJob
(
jobId
,
jobJsonParams
,
logId
,
logDateTime
,
executorTimeout
,
handlerName
,
jobHandler
,
this
.
callback
.
bind
(
this
));
this
.
jobManager
.
runJob
(
jobId
,
jobJsonParams
,
logId
,
logDateTime
,
executorTimeout
,
handlerName
,
jobHandler
,
this
.
callback
.
bind
(
this
));
return
{
code
:
200
,
msg
:
'success'
};
return
{
code
:
200
,
msg
:
'success'
};
}
}
/**
* 终止任务
* @param {number} jobId - 任务ID
* @return {{code: number, msg: string}}
*/
killJob
(
jobId
)
{
killJob
(
jobId
)
{
return
{
code
:
500
,
msg
:
`not yet support, jobId(
${
jobId
}
)`
};
return
{
code
:
500
,
msg
:
`not yet support, jobId(
${
jobId
}
)`
};
}
}
/**
* 查看执行日志
* @param {number} logDateTime - 本次调度日志时间
* @param {number} logId - 本次调度日志ID
* @param {number} fromLineNum - 日志开始行号
* @return {*} - fromLineNum:日志开始行号; toLineNum:日志结束行号; logContent:日志内容
*/
async
readLog
(
logDateTime
,
logId
,
fromLineNum
)
{
async
readLog
(
logDateTime
,
logId
,
fromLineNum
)
{
//待实现
return
{
return
{
code
:
200
,
content
:
{
code
:
200
,
content
:
{
"fromLineNum"
:
0
,
"fromLineNum"
:
0
,
"toLineNum"
:
100
,
"toLineNum"
:
100
,
"logContent"
:
"test"
,
"logContent"
:
"test"
,
"isEnd"
:
true
// 日志是否全部加载完
"isEnd"
:
true
}
}
};
};
//let logContent
//let toLineNum
// try {
// const lines = await this.jobManager.readJobLog(logDateTime, logId)
// lines.splice(0, fromLineNum - 1)
// if (last(lines) === '') lines.pop()
// toLineNum = fromLineNum + lines.length - 1
// lines.unshift('')
// logContent = lines.join('\n')
// } catch (err) {
// log.err('readLog error: %o', err.message)
// toLineNum = fromLineNum
// logContent = err.toString()
// }
// 请求数据格式如下,放置在 RequestBody 中,JSON格式:
// {
// "logDateTim":0, // 本次调度日志时间
// "logId":0, // 本次调度日志ID
// "fromLineNum":0 // 日志开始行号,滚动加载日志
// }
// 响应数据格式:
// {
// "code":200, // 200 表示正常、其他失败
// "msg": null // 错误提示消息
// "content":{
// "fromLineNum":0, // 本次请求,日志开始行数
// "toLineNum":100, // 本次请求,日志结束行号
// "logContent":"xxx", // 本次请求日志内容
// "isEnd":true // 日志是否全部加载完
// }
// }
// return { code: 200, content: { fromLineNum, toLineNum, logContent } }
}
}
/**
* 执行器注册:执行器注册时使用,调度中心会实时感知注册成功的执行器并发起任务调度
*/
async
registry
()
{
async
registry
()
{
return
axios_1
.
default
.
post
(
`
${
this
.
scheduleCenterUrl
}
/api/registry`
,
{
return
axios_1
.
default
.
post
(
`
${
this
.
scheduleCenterUrl
}
/api/registry`
,
{
registryGroup
:
'EXECUTOR'
,
registryGroup
:
'EXECUTOR'
,
...
@@ -182,12 +94,8 @@ class Executor {
...
@@ -182,12 +94,8 @@ class Executor {
'Content-Type'
:
'application/json'
'Content-Type'
:
'application/json'
}
}
}).
then
((
response
)
=>
{
}).
then
((
response
)
=>
{
// console.log('执行器注册成功:', response.data);
}).
catch
(
error
=>
console
.
error
(
'执行器注册失败:'
,
error
.
message
));
}).
catch
(
error
=>
console
.
error
(
'执行器注册失败:'
,
error
.
message
));
}
}
/**
* 执行器注册摘除:执行器注册摘除时使用,注册摘除后的执行器不参与任务调度与执行
*/
async
registryRemove
()
{
async
registryRemove
()
{
return
axios_1
.
default
.
post
(
`
${
this
.
scheduleCenterUrl
}
/api/registryRemove`
,
{
return
axios_1
.
default
.
post
(
`
${
this
.
scheduleCenterUrl
}
/api/registryRemove`
,
{
'registryGroup'
:
'EXECUTOR'
,
'registryGroup'
:
'EXECUTOR'
,
...
@@ -200,11 +108,6 @@ class Executor {
...
@@ -200,11 +108,6 @@ class Executor {
}
}
}).
then
((
response
)
=>
console
.
log
(
'执行器移除成功:'
,
response
.
data
)).
catch
(
error
=>
console
.
error
(
'执行器移除失败:'
,
error
.
message
));
}).
then
((
response
)
=>
console
.
log
(
'执行器移除成功:'
,
response
.
data
)).
catch
(
error
=>
console
.
error
(
'执行器移除失败:'
,
error
.
message
));
}
}
/**
* 任务回调:执行器执行完任务后,回调任务结果时使用
* @param {Error|null} error 错误对象
* @param {{logId: number, result: any ,use_time:number}} jobResult 任务结果
*/
async
callback
(
error
,
{
logId
,
result
,
use_time
})
{
async
callback
(
error
,
{
logId
,
result
,
use_time
})
{
var
handleMsg
=
JSON
.
stringify
({
use_time
,
result
,
error
:
error
&&
error
.
message
});
var
handleMsg
=
JSON
.
stringify
({
use_time
,
result
,
error
:
error
&&
error
.
message
});
return
axios_1
.
default
.
post
(
`
${
this
.
scheduleCenterUrl
}
/api/callback`
,
[{
return
axios_1
.
default
.
post
(
`
${
this
.
scheduleCenterUrl
}
/api/callback`
,
[{
...
...
build/xxl_job/index.js
查看文件 @
4ed0608
...
@@ -2,35 +2,18 @@
...
@@ -2,35 +2,18 @@
Object
.
defineProperty
(
exports
,
"__esModule"
,
{
value
:
true
});
Object
.
defineProperty
(
exports
,
"__esModule"
,
{
value
:
true
});
exports
.
XxlJobExecutor
=
void
0
;
exports
.
XxlJobExecutor
=
void
0
;
const
executor_1
=
require
(
"./executor"
);
const
executor_1
=
require
(
"./executor"
);
/**
* XxlJobExecutor
*/
class
XxlJobExecutor
{
class
XxlJobExecutor
{
executor
;
executor
;
registryInterval
;
registryInterval
;
/**
* 创建 XxlJobExecutor 实例
* @param {Map<String, Function>} jobHandlers 所有的任务执行函数,key: 任务标识,即调度中心任务配置的JobHandler;value: 任务执行函数
* @param {Object} context 为所有任务执行函数指定公共的上下文对象,常见比如数据库实例 { database, redis }
*/
constructor
(
opts
,
jobHandlers
,
context
=
undefined
)
{
constructor
(
opts
,
jobHandlers
,
context
=
undefined
)
{
const
{
XXL_JOB_EXECUTOR_KEY
:
executorKey
,
XXL_JOB_SCHEDULE_CENTER_URL
:
scheduleCenterUrl
,
XXL_JOB_ACCESS_TOKEN
:
accessToken
,
XXL_JOB_JOB_LOG_PATH
:
jobLogPath
,
}
=
opts
;
const
{
XXL_JOB_EXECUTOR_KEY
:
executorKey
,
XXL_JOB_SCHEDULE_CENTER_URL
:
scheduleCenterUrl
,
XXL_JOB_ACCESS_TOKEN
:
accessToken
,
XXL_JOB_JOB_LOG_PATH
:
jobLogPath
,
}
=
opts
;
this
.
executor
=
new
executor_1
.
Executor
(
executorKey
,
scheduleCenterUrl
,
accessToken
,
jobLogPath
,
jobHandlers
,
context
);
this
.
executor
=
new
executor_1
.
Executor
(
executorKey
,
scheduleCenterUrl
,
accessToken
,
jobLogPath
,
jobHandlers
,
context
);
}
}
/**
* 应用执行器组件
* @param {Object} args
* @param {any} args.app 执行器server, express
* @param {string} args.appDomain 执行器 server 地址
*/
applyMiddleware
({
app
,
domain
})
{
applyMiddleware
({
app
,
domain
})
{
this
.
executor
.
applyMiddleware
({
app
,
domain
});
this
.
executor
.
applyMiddleware
({
app
,
domain
});
const
registry
=
this
.
executor
.
registry
.
bind
(
this
.
executor
);
const
registry
=
this
.
executor
.
registry
.
bind
(
this
.
executor
);
registry
()
&&
(
this
.
registryInterval
=
setInterval
(
registry
,
30000
));
registry
()
&&
(
this
.
registryInterval
=
setInterval
(
registry
,
30000
));
}
}
/**
* 关闭服务前应调用该方法,将执行器从调度中心摘除
*/
async
close
()
{
async
close
()
{
if
(
this
.
registryInterval
)
{
if
(
this
.
registryInterval
)
{
clearInterval
(
this
.
registryInterval
);
clearInterval
(
this
.
registryInterval
);
...
...
build/xxl_job/job_manager.js
查看文件 @
4ed0608
...
@@ -3,66 +3,25 @@ Object.defineProperty(exports, "__esModule", { value: true });
...
@@ -3,66 +3,25 @@ Object.defineProperty(exports, "__esModule", { value: true });
exports
.
JobManager
=
void
0
;
exports
.
JobManager
=
void
0
;
const
moment
=
require
(
"moment"
);
const
moment
=
require
(
"moment"
);
const
Path
=
require
(
"path"
);
const
Path
=
require
(
"path"
);
// const Path = require('path')
// const logger = require('./logger')
// const log = logger('xxl-job-manager')
// const { Task, tapTask } = require('./purefuncs')
// const { mkdir, searchInFile } = require('./file')
/**
* 任务管理
*/
class
JobManager
{
class
JobManager
{
context
;
context
;
runningJobs
;
runningJobs
;
jobLogPath
;
jobLogPath
;
/**
* @param {string} jobLogPath
* @param {*} context
*/
constructor
(
jobLogPath
,
context
)
{
constructor
(
jobLogPath
,
context
)
{
// mkdir(jobLogPath)
this
.
jobLogPath
=
jobLogPath
;
this
.
jobLogPath
=
jobLogPath
;
this
.
context
=
context
;
this
.
context
=
context
;
this
.
runningJobs
=
new
Set
();
this
.
runningJobs
=
new
Set
();
}
}
/**
* 根据调度时间获取日志文件路径
* @param {number} dateTime
* @return {string}
*/
getLogFilePath
(
dateTime
)
{
getLogFilePath
(
dateTime
)
{
return
Path
.
resolve
(
process
.
cwd
(),
`
${
this
.
jobLogPath
}
/
${
moment
(
dateTime
,
'x'
).
format
(
'YYYY-MM-DD'
)}
.log`
);
return
Path
.
resolve
(
process
.
cwd
(),
`
${
this
.
jobLogPath
}
/
${
moment
(
dateTime
,
'x'
).
format
(
'YYYY-MM-DD'
)}
.log`
);
}
}
/**
* 构造任务logger的namespace
* @param {string} handlerName
* @param {number} dateTime
* @param {number} logId
* @return {string}
*/
getJobLoggerNamespace
(
handlerName
,
dateTime
,
logId
)
{
getJobLoggerNamespace
(
handlerName
,
dateTime
,
logId
)
{
return
`
${
handlerName
}
-
${
moment
(
dateTime
,
'x'
).
format
(
'YYMMDD'
)}
-
${
logId
}
-executing`
;
return
`
${
handlerName
}
-
${
moment
(
dateTime
,
'x'
).
format
(
'YYMMDD'
)}
-
${
logId
}
-executing`
;
}
}
/**
* @param {{number}} jobId
* @return {boolean}
*/
hasJob
(
jobId
)
{
hasJob
(
jobId
)
{
return
this
.
runningJobs
.
has
(
jobId
);
return
this
.
runningJobs
.
has
(
jobId
);
}
}
async
runJob
(
jobId
,
// 任务ID
async
runJob
(
jobId
,
jobJsonParams
,
logId
,
logDateTime
,
executorTimeout
,
handlerName
,
jobHandler
,
callback
)
{
jobJsonParams
,
// 任务参数(JSON格式)
logId
,
// 日志ID
logDateTime
,
// 日志时间
executorTimeout
,
// 执行超时时间(秒)
handlerName
,
// 处理器名称
jobHandler
,
// 任务处理函数
callback
// 回调函数
)
{
// 1. 初始化日志记录器
// const loggerNamespace = this.getJobLoggerNamespace(handlerName, logDateTime, logId);
// const logFilePath = this.getLogFilePath(logDateTime);
// const jobLogger = logger(loggerNamespace, logFilePath);
let
result
,
timeoutTimer
,
error
;
let
result
,
timeoutTimer
,
error
;
let
use_time
=
new
Date
().
getTime
();
let
use_time
=
new
Date
().
getTime
();
try
{
try
{
...
@@ -110,27 +69,11 @@ class JobManager {
...
@@ -110,27 +69,11 @@ class JobManager {
error
error
});
});
}
}
/**
* @param {number} logDateTime
* @param {number} logId
* @return {Promise<Array>}
*/
async
readJobLog
(
logDateTime
,
logId
)
{
async
readJobLog
(
logDateTime
,
logId
)
{
const
logFilePath
=
this
.
getLogFilePath
(
logDateTime
);
const
logFilePath
=
this
.
getLogFilePath
(
logDateTime
);
const
jobLogNamespace
=
this
.
getJobLoggerNamespace
(
''
,
logDateTime
,
logId
)
+
' '
;
const
jobLogNamespace
=
this
.
getJobLoggerNamespace
(
''
,
logDateTime
,
logId
)
+
' '
;
return
fs
.
existsSync
(
logFilePath
)
?
await
searchInFile
(
logFilePath
,
jobLogNamespace
,
`
${
jobLogNamespace
}
end`
)
:
[];
return
fs
.
existsSync
(
logFilePath
)
?
await
searchInFile
(
logFilePath
,
jobLogNamespace
,
`
${
jobLogNamespace
}
end`
)
:
[];
}
}
/**
* @param {number} jobId
* @param {number} logId
* @param {*} jobLogger
* @param {function} callback
* @param {number} timeoutTimer
* @param {number} use_time
* @param {*} result
* @param {*} error
* @return {Promise<void>}
*/
async
finishJob
({
jobId
,
logId
,
callback
,
timeoutTimer
,
use_time
,
result
,
error
})
{
async
finishJob
({
jobId
,
logId
,
callback
,
timeoutTimer
,
use_time
,
result
,
error
})
{
try
{
try
{
timeoutTimer
&&
clearTimeout
(
timeoutTimer
);
timeoutTimer
&&
clearTimeout
(
timeoutTimer
);
...
...
build/xxl_job/logger.js
查看文件 @
4ed0608
// import debug from 'debug';
// import fs from 'fs';
// import os from 'os';
// import util from 'util';
// // 类型定义
// type LogLevel = 'error' | 'info' | 'warn' | 'debug' | 'trace';
// type LoggerMethods = {
// [key in LogLevel]: debug.Debugger;
// } & {
// close: () => void;
// };
// interface LoggerOptions {
// namespace: string;
// logFilePath?: string;
// enabledLevels?: string;
// debugEnabled?: boolean;
// }
// // 配置解析
// const parseEnvBool = (envVar: string): boolean => {
// const value = process.env[envVar] || '';
// return /^(yes|on|true|enable|enabled|1)$/i.test(value);
// };
// const getEnvValue = (envVar: string, defaultValue: string): string => {
// return process.env[envVar] !== undefined ? process.env[envVar] : defaultValue;
// };
// // 默认配置
// const DEFAULT_LOG_LEVELS = 'info:*,warn:*,error:*,debug:*,trace:*';
// const WRITE_STREAM_OPTIONS: fs.WriteStreamOptions = {
// flags: 'a',
// encoding: 'utf8',
// autoClose: true,
// emitClose: true
// };
// // 空日志函数
// const noop = (..._args: any[]): void => {};
// const noopLogger: LoggerMethods = {
// error: noop,
// info: noop,
// warn: noop,
// debug: noop,
// trace: noop,
// close: noop
// };
// // 创建基础日志函数
// const createBaseLoggers = (namespace: string): Omit<LoggerMethods, 'close'> => {
// return {
// error: debug('error').extend(namespace),
// info: debug('info').extend(namespace),
// warn: debug('warn').extend(namespace),
// debug: debug('debug').extend(namespace),
// trace: debug('trace').extend(namespace)
// };
// };
// // 配置日志级别
// const configureLogLevels = (
// logger: Omit<LoggerMethods, 'close'>,
// enabledLevels: string
// ): void => {
// Object.entries(logger).forEach(([level]) => {
// logger[level as LogLevel].enabled = enabledLevels.includes(level);
// });
// };
// // 创建文件日志写入器
// const createFileLogger = (
// logFilePath: string,
// logger: Omit<LoggerMethods, 'close'>,
// enabledLevels: string
// ): LoggerMethods => {
// const writeStream = fs.createWriteStream(logFilePath, WRITE_STREAM_OPTIONS);
// const logToFile = (...args: any[]): void => {
// writeStream.write(`${util.format(...args)}${os.EOL}`);
// };
// const logToConsoleAndFile = (...args: any[]): void => {
// const message = util.format(...args);
// console.error(message);
// writeStream.write(`${message}${os.EOL}`);
// };
// // 配置日志输出方式
// Object.entries(logger).forEach(([level, logFn]) => {
// logFn.log = enabledLevels.includes(level) ? logToConsoleAndFile : logToFile;
// });
// // 返回完整logger对象
// return {
// ...logger,
// close: (): void => {
// writeStream.end();
// // 切换回仅控制台日志
// Object.values(logger).forEach((logFn) => {
// logFn.log = console.error;
// });
// }
// };
// };
// // 主导出函数
// export const createLogger = (
// options: LoggerOptions | string
// ): LoggerMethods => {
// // 处理参数重载
// const normalizedOptions = typeof options === 'string'
// ? { namespace: options }
// : options;
// const {
// namespace,
// logFilePath,
// enabledLevels = getEnvValue('DEBUG', DEFAULT_LOG_LEVELS),
// debugEnabled = parseEnvBool('XXL_JOB_DEBUG_LOG')
// } = normalizedOptions;
// if (!debugEnabled && !logFilePath) {
// return noopLogger;
// }
// const logger = createBaseLoggers(namespace);
// // 配置日志级别
// configureLogLevels(logger, enabledLevels);
// if (!logFilePath) {
// return {
// ...logger,
// close: noop
// };
// }
// // 文件日志配置
// return createFileLogger(logFilePath, logger, enabledLevels);
// };
// // 默认导出
// export default createLogger;
//# sourceMappingURL=logger.js.map
//# sourceMappingURL=logger.js.map
\ No newline at end of file
\ No newline at end of file
tsconfig.json
查看文件 @
4ed0608
...
@@ -5,7 +5,8 @@
...
@@ -5,7 +5,8 @@
"outDir"
:
"build/"
,
"outDir"
:
"build/"
,
"experimentalDecorators"
:
true
,
"experimentalDecorators"
:
true
,
"emitDecoratorMetadata"
:
true
,
"emitDecoratorMetadata"
:
true
,
"sourceMap"
:
true
"sourceMap"
:
true
,
"removeComments"
:
true
},
},
"include"
:
[
"include"
:
[
"src/**/*.ts"
"src/**/*.ts"
...
...
编写
预览
支持
Markdown
格式
附加文件
你添加了
0
人
到此讨论。请谨慎行事。
Finish editing this message first!
Cancel
请
注册
或
登录
后发表评论