奧巴马 发表于 2025-2-1 14:55:44

DeepSeek在编写代码方面,也没有大家说的那么神。

[*]pub async fn get_order_list(&self,
[*]                           mobile: String,
[*]                           token: Option,
[*]                           db: Arc,
[*]                           req_encrypt: EncryptedMessage,
[*]    ) -> Result {
[*]      let mut query = Payments::find();
[*]      let decrypted_message = EncryptedMessage::decrypt_message(
[*]            &req_encrypt,
[*]            &token.clone().unwrap_or_default(),
[*]      )
[*]            .map_err(|e| {
[*]                eprintln!("Decryption error: {}", e);
[*]                warp::reject::custom(crate::models::utils::DatabaseError("Decryption failed".into()))
[*]            })?;
[*]      let req:QueryOrderRequest = serde_json::from_str(&decrypted_message).map_err(|e| {
[*]            eprintln!("Deserialization error: {}", e);
[*]            warp::reject::custom(crate::models::utils::DatabaseError("Invalid request format".into()))
[*]      })?;
[*]
[*]      let user = match User::find()
[*]            .filter(user::Column::Username.contains(mobile.as_str()))
[*]            .one(&*db)
[*]            .await
[*]      {
[*]            Ok(Some(emp)) => emp,
[*]            Ok(None) => {
[*]                return Ok(send_error_message(404,"failed".to_string(),"404 - 用户不存在".to_string(),None));
[*]            }
[*]            Err(e) => {
[*]                eprintln!("DB query error: {:?}", e);
[*]
[*]                return Ok(send_error_message(404,"failed".to_string(),"404 - 数据库查询失败".to_string(),None));
[*]            }
[*]      };
[*]
[*]      let order_list_result = query
[*]            .filter(Payments::Column::UserId.contains(user.id.to_string()))
[*]            .limit(req.limit)
[*]            .offset(req.page * req.limit)
[*]            .all(&*db)
[*]            .await;
[*]
[*]      let order_list = match order_list_result {
[*]            Ok(order_list) => order_list,
[*]            Err(e) => {
[*]                eprintln!("DB query error: {:?}", e);
[*]                return Ok(send_error_message(404,"failed".to_string(),"404 - 数据库查询失败".to_string(),None));
[*]            }
[*]
[*]      };
[*]
[*]      let total_result = Payments::find()
[*]            .filter(Payments::Column::UserId.contains(user.id.to_string()))
[*]            .count()
[*]            .all(&*db);
[*]
[*]      
[*]
[*]
[*]    }复制代码


这个rust的let total_result = Payments::find()
            .filter(Payments::Column::UserId.contains(user.id.to_string()))
            .count()
            .all(&*db);
是错误的。请帮我纠正它


如果 得出。
let total_result = Payments::find()
    .filter(Payments::Column::UserId.eq(user.id)) // 使用eq匹配数值类型,移除不必要的字符串转换
    .count(&*db)// 直接执行计数查询
    .await;       // 异步等待结果


这就是错误的。实际上编译不过去。count 方法缺少引用。
你问它是不是缺少引用。然后就一本正经的胡说八道了。

GPT。经过引导能正确给出

[*] let page = req.page; // 默认第 1 页
[*]      let page_size = req.limit; // 默认每页 10 条
[*]
[*]      // 创建分页器
[*]      let paginator = query.paginate(&*db, page_size as u64);
[*]
[*]      // 获取总数
[*]      let total = paginator
[*]            .num_items()
[*]            .await
[*]            .map_err(|e| {
[*]                eprintln!("Error fetching total count: {}", e);
[*]                return Ok(send_error_message(404,"failed".to_string(),"404 - 数据库查询失败".to_string(),None));
[*]            })?;
[*]
[*]      // 获取当前页的员工列表
[*]      let order_list_result = paginator
[*]            .fetch_page((page - 1) as usize as u64) // page-1 因为 fetch_page 从 0 开始
[*]            .await;
[*]复制代码




https://url.tz/ap9qud1





男人三十 发表于 2025-2-1 14:57:14

哪个好用用哪个 没有必要非要分出个绝对的高低
能打破垄断把价格打下来就是好事

01801l 发表于 2025-2-1 14:59:45

可以先检查一下有没有开深度思考(R1),不开的话V3版本还是差了点,开了智力直接提升一个数量级
static/image/smiley/default/lol.gif
页: [1]
查看完整版本: DeepSeek在编写代码方面,也没有大家说的那么神。