|
@@ -143,15 +143,8 @@ pub async fn get_mqtt(
|
|
|
return Json(MqttBack{errcode: 3000, errmsg: Some("数据库异常: 获取用户mqtt-clientid失败".to_string()),mqttp:None,clientid:None,mqttu:None});
|
|
return Json(MqttBack{errcode: 3000, errmsg: Some("数据库异常: 获取用户mqtt-clientid失败".to_string()),mqttp:None,clientid:None,mqttu:None});
|
|
|
};
|
|
};
|
|
|
if let Some(d) = state.mq_detail{
|
|
if let Some(d) = state.mq_detail{
|
|
|
- match d.db_mq_user.execute("update user set user=?, pass=? where clientid=?", (mqtu.clone(),mqtp.clone(),mqid.clone())).await{
|
|
|
|
|
- Ok(n) => {if n==0{
|
|
|
|
|
- log(Warning, format!("update mqttuser failed: no row updated"));
|
|
|
|
|
- if let Err(e)=d.db_mq_user.execute("insert into user(clientid,user,pass,deadline) values(?,?,?,unixepoch()+300)", (mqid.clone(),mqtu.clone(),mqtp.clone())).await{
|
|
|
|
|
- log(Warning, format!("insert mqttuser failed: {e}"));
|
|
|
|
|
- } else {
|
|
|
|
|
- log(Debug, format!("insert mqttuser success"));
|
|
|
|
|
- }
|
|
|
|
|
- }}
|
|
|
|
|
|
|
+ match d.db_mq_user.execute("INSERT INTO user(clientid,user,pass,mode,deadline)VALUES(?,?,?,1,unixepoch()+300)ON CONFLICT(clientid)DO UPDATE SET user=excluded.user,pass=excluded.pass,mode=excluded.mode,deadline=excluded.deadline", (mqid.clone(),mqtu.clone(),mqtp.clone())).await{
|
|
|
|
|
+ Ok(_) => {}
|
|
|
Err(e)=>{log(Warning, format!("fail to update mqttuser: {e}"));}
|
|
Err(e)=>{log(Warning, format!("fail to update mqttuser: {e}"));}
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
@@ -187,4 +180,4 @@ use tokio::io::{AsyncWriteExt};
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
})
|
|
})
|
|
|
-}
|
|
|
|
|
|
|
+}
|