fix: 增加对记录的查询再新增的操作
This commit is contained in:
parent
9f99c2a2b4
commit
7ac4e658bf
|
|
@ -4,8 +4,10 @@ use std::{env, time::Duration};
|
|||
use chrono::{Local, NaiveDate};
|
||||
use regex::Regex;
|
||||
use scraper::{Html, Selector};
|
||||
use sea_orm::{ActiveModelTrait, ActiveValue::Set, ConnectOptions, Database};
|
||||
use sea_orm::{ColumnTrait, EntityTrait, QueryFilter};
|
||||
use sea_orm::{ActiveModelTrait, ConnectOptions, Database};
|
||||
|
||||
use crate::model::prelude::*;
|
||||
use crate::model::{sd, pls, plw};
|
||||
|
||||
pub async fn get_data_from_500_com(issue_type: &str) -> Result<String, String> {
|
||||
|
|
@ -67,73 +69,85 @@ pub async fn get_data_from_500_com(issue_type: &str) -> Result<String, String> {
|
|||
let code_double = numbers.iter().filter(|&&x| x % 2 == 0).count() as i32;
|
||||
|
||||
if issue_type == "sd" {
|
||||
let sd_record = Sd::find().filter(sd::Column::DrawIssue.eq(issue.clone())).one(&db).await.map_err(|e| e.to_string())?;
|
||||
if sd_record.is_none() {
|
||||
let group_type = if unique_numbers.len() == 3 { 6 } else if unique_numbers.len() == 2{ 3 } else {1};
|
||||
let new_model = sd::ActiveModel {
|
||||
draw_issue: Set(Some(issue)),
|
||||
draw_code: Set(Some(ball)),
|
||||
draw_date: Set(Some(date)),
|
||||
created_at: Set(Some(Local::now().naive_local())),
|
||||
sum_num: Set(Some(sum)),
|
||||
code_small: Set(Some(code_small)),
|
||||
code_big: Set(Some(code_big)),
|
||||
code_single: Set(Some(code_single)),
|
||||
code_double: Set(Some(code_double)),
|
||||
hundred: Set(Some(numbers[0])),
|
||||
ten: Set(Some(numbers[1])),
|
||||
one: Set(Some(numbers[2])),
|
||||
sum_hundred_one: Set(Some(numbers[0] + numbers[2])),
|
||||
sum_hundred_ten: Set(Some(numbers[0] + numbers[1])),
|
||||
sum_ten_one: Set(Some(numbers[1] + numbers[2])),
|
||||
group_type: Set(Some(group_type)),
|
||||
let sd_model = sd::Model {
|
||||
draw_issue:issue.into(),
|
||||
draw_code: ball.into(),
|
||||
draw_date: Some(date),
|
||||
created_at: Some(Local::now().naive_local()),
|
||||
sum_num: sum.into(),
|
||||
code_small: code_small.into(),
|
||||
code_big: code_big.into(),
|
||||
code_single: code_single.into(),
|
||||
code_double: code_double.into(),
|
||||
hundred: numbers[0].into(),
|
||||
ten: numbers[1].into(),
|
||||
one: numbers[2].into(),
|
||||
sum_hundred_one: (numbers[0] + numbers[2]).into(),
|
||||
sum_hundred_ten: (numbers[0] + numbers[1]).into(),
|
||||
sum_ten_one: (numbers[1] + numbers[2]).into(),
|
||||
group_type: group_type.into(),
|
||||
..Default::default()
|
||||
};
|
||||
new_model.insert(&db).await.expect("insert error");
|
||||
let new_model = sd::ActiveModel::from(sd_model);
|
||||
new_model.insert(&db).await.map_err(|_e| "福彩3D数据插入失败")?;
|
||||
}
|
||||
} else if issue_type == "pls" {
|
||||
let pls_record = Pls::find().filter(pls::Column::DrawIssue.eq(issue.clone())).one(&db).await.map_err(|e| e.to_string())?;
|
||||
if pls_record.is_none() {
|
||||
let group_type = if unique_numbers.len() == 3 { 6 } else if unique_numbers.len() == 2{ 3 } else {1};
|
||||
let new_model = pls::ActiveModel {
|
||||
draw_issue: Set(Some(issue)),
|
||||
draw_code: Set(Some(ball)),
|
||||
draw_date: Set(Some(date)),
|
||||
created_at: Set(Some(Local::now().naive_local())),
|
||||
sum_num: Set(Some(sum)),
|
||||
code_small: Set(Some(code_small)),
|
||||
code_big: Set(Some(code_big)),
|
||||
code_single: Set(Some(code_single)),
|
||||
code_double: Set(Some(code_double)),
|
||||
hundred: Set(Some(numbers[0])),
|
||||
ten: Set(Some(numbers[1])),
|
||||
one: Set(Some(numbers[2])),
|
||||
sum_hundred_one: Set(Some(numbers[0] + numbers[2])),
|
||||
sum_hundred_ten: Set(Some(numbers[0] + numbers[1])),
|
||||
sum_ten_one: Set(Some(numbers[1] + numbers[2])),
|
||||
group_type: Set(Some(group_type)),
|
||||
let pls_model = pls::Model {
|
||||
draw_issue:issue.into(),
|
||||
draw_code: ball.into(),
|
||||
draw_date: Some(date),
|
||||
created_at: Some(Local::now().naive_local()),
|
||||
sum_num: sum.into(),
|
||||
code_small: code_small.into(),
|
||||
code_big: code_big.into(),
|
||||
code_single: code_single.into(),
|
||||
code_double: code_double.into(),
|
||||
hundred: numbers[0].into(),
|
||||
ten: numbers[1].into(),
|
||||
one: numbers[2].into(),
|
||||
sum_hundred_one: (numbers[0] + numbers[2]).into(),
|
||||
sum_hundred_ten: (numbers[0] + numbers[1]).into(),
|
||||
sum_ten_one: (numbers[1] + numbers[2]).into(),
|
||||
group_type: group_type.into(),
|
||||
..Default::default()
|
||||
};
|
||||
new_model.insert(&db).await.expect("insert error");
|
||||
let new_model = pls::ActiveModel::from(pls_model);
|
||||
new_model.insert(&db).await.map_err(|_e| "排列3数据插入失败")?;
|
||||
}
|
||||
} else if issue_type == "plw" {
|
||||
let new_model = plw::ActiveModel {
|
||||
draw_issue: Set(Some(issue)),
|
||||
draw_code: Set(Some(ball)),
|
||||
draw_date: Set(Some(date)),
|
||||
created_at: Set(Some(Local::now().naive_local())),
|
||||
sum_num: Set(Some(sum)),
|
||||
code_small: Set(Some(code_small)),
|
||||
code_big: Set(Some(code_big)),
|
||||
code_single: Set(Some(code_single)),
|
||||
code_double: Set(Some(code_double)),
|
||||
ten_thousand: Set(Some(numbers[0])),
|
||||
thousand: Set(Some(numbers[1])),
|
||||
hundred: Set(Some(numbers[2])),
|
||||
ten: Set(Some(numbers[3])),
|
||||
one: Set(Some(numbers[4])),
|
||||
sum_hundred_one: Set(Some(numbers[2] + numbers[4])),
|
||||
sum_hundred_ten: Set(Some(numbers[2] + numbers[3])),
|
||||
sum_ten_one: Set(Some(numbers[3] + numbers[4])),
|
||||
sum_first_3: Set(Some(numbers[0] + numbers[1] + numbers[2])),
|
||||
sum_next_3: Set(Some(numbers[2] + numbers[3] + numbers[4])),
|
||||
let plw_record = Plw::find().filter(plw::Column::DrawIssue.eq(issue.clone())).one(&db).await.map_err(|e| e.to_string())?;
|
||||
if plw_record.is_none() {
|
||||
let plw_model = plw::Model {
|
||||
draw_issue:issue.into(),
|
||||
draw_code: ball.into(),
|
||||
draw_date: Some(date),
|
||||
created_at: Some(Local::now().naive_local()),
|
||||
sum_num: sum.into(),
|
||||
code_small: code_small.into(),
|
||||
code_big: code_big.into(),
|
||||
code_single: code_single.into(),
|
||||
code_double: code_double.into(),
|
||||
ten_thousand: numbers[0].into(),
|
||||
thousand: numbers[1].into(),
|
||||
hundred: numbers[2].into(),
|
||||
ten: numbers[3].into(),
|
||||
one: numbers[4].into(),
|
||||
sum_hundred_one: (numbers[2] + numbers[4]).into(),
|
||||
sum_hundred_ten: (numbers[2] + numbers[3]).into(),
|
||||
sum_ten_one: (numbers[3] + numbers[4]).into(),
|
||||
sum_first_3: (numbers[0] + numbers[1] + numbers[2]).into(),
|
||||
sum_next_3: (numbers[1] + numbers[2] + numbers[3]).into(),
|
||||
..Default::default()
|
||||
};
|
||||
new_model.insert(&db).await.expect("insert error");
|
||||
let new_model = plw::ActiveModel::from(plw_model);
|
||||
new_model.insert(&db).await.map_err(|_e| "排列五数据插入失败")?;
|
||||
}
|
||||
}
|
||||
// 返回获取的数据
|
||||
Ok(ret_val)
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@
|
|||
|
||||
use sea_orm::entity::prelude::*;
|
||||
|
||||
#[derive(Clone, Debug, PartialEq, DeriveEntityModel, Eq)]
|
||||
#[derive(Clone, Debug, Default, PartialEq, DeriveEntityModel, Eq)]
|
||||
#[sea_orm(table_name = "pls")]
|
||||
pub struct Model {
|
||||
#[sea_orm(primary_key)]
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@
|
|||
|
||||
use sea_orm::entity::prelude::*;
|
||||
|
||||
#[derive(Clone, Debug, PartialEq, DeriveEntityModel, Eq)]
|
||||
#[derive(Clone, Debug, Default, PartialEq, DeriveEntityModel, Eq)]
|
||||
#[sea_orm(table_name = "plw")]
|
||||
pub struct Model {
|
||||
#[sea_orm(primary_key)]
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@
|
|||
|
||||
use sea_orm::entity::prelude::*;
|
||||
|
||||
#[derive(Clone, Debug, PartialEq, DeriveEntityModel, Eq)]
|
||||
#[derive(Clone, Debug, Default, PartialEq, DeriveEntityModel, Eq)]
|
||||
#[sea_orm(table_name = "sd")]
|
||||
pub struct Model {
|
||||
#[sea_orm(primary_key)]
|
||||
|
|
|
|||
Loading…
Reference in New Issue