|
@@ -81,12 +81,12 @@ pub async fn checkout_flow_task_of_share_device(
|
|
|
Json(u): Json<CheckoutShare>
|
|
Json(u): Json<CheckoutShare>
|
|
|
) -> Json<JsonBack> {
|
|
) -> Json<JsonBack> {
|
|
|
let uid = match check_token(&state, u.token).await {
|
|
let uid = match check_token(&state, u.token).await {
|
|
|
- Ok(id) => id,
|
|
|
|
|
|
|
+ Ok(uid) => uid,
|
|
|
Err(_) => {
|
|
Err(_) => {
|
|
|
return token_fail();
|
|
return token_fail();
|
|
|
}
|
|
}
|
|
|
};
|
|
};
|
|
|
- let (id, typo,interval, createby) = match state.db_lite.query(
|
|
|
|
|
|
|
+ let (the_id, typo,interval, createby) = match state.db_lite.query(
|
|
|
"select did,typo,strftime('%s','now')-strftime('%s',createtime),createby from flow_task_share where ticket=? and isdelete=0",
|
|
"select did,typo,strftime('%s','now')-strftime('%s',createtime),createby from flow_task_share where ticket=? and isdelete=0",
|
|
|
[
|
|
[
|
|
|
// params.linkrand.clone()
|
|
// params.linkrand.clone()
|
|
@@ -104,54 +104,54 @@ pub async fn checkout_flow_task_of_share_device(
|
|
|
// "update flow_task_share set isdelete=1 where ticket=?",
|
|
// "update flow_task_share set isdelete=1 where ticket=?",
|
|
|
[u.linkrand.clone()]).await{
|
|
[u.linkrand.clone()]).await{
|
|
|
Ok(_) => {},
|
|
Ok(_) => {},
|
|
|
- Err(e) => return Json(JsonBack{errcode: 3001, errmsg: Some(format!("删除分享流程失败: {e}"))}),
|
|
|
|
|
|
|
+ Err(e) => return Json(JsonBack{errcode: 3000, errmsg: Some(format!("删除分享流程失败: {e}"))}),
|
|
|
};
|
|
};
|
|
|
- return Json(JsonBack{errcode: 3001, errmsg: Some("分享流程已过期".to_string())});
|
|
|
|
|
|
|
+ return Json(JsonBack{errcode: 3000, errmsg: Some("分享流程已过期".to_string())});
|
|
|
}
|
|
}
|
|
|
// 为2时转让设备,需要移除原用户与设备的关系
|
|
// 为2时转让设备,需要移除原用户与设备的关系
|
|
|
if typo == 2{
|
|
if typo == 2{
|
|
|
- if let Err(e) = state.db_lite.execute("delete from map_user_device where uid=? and did=?", (createby, id)).await{
|
|
|
|
|
- return Json(JsonBack{errcode: 3001, errmsg: Some(format!("转让时删除设备关系失败: {e}"))});
|
|
|
|
|
|
|
+ if let Err(e) = state.db_lite.execute("delete from map_user_device where uid=? and did=?", (createby, the_id)).await{
|
|
|
|
|
+ return Json(JsonBack{errcode: 3000, errmsg: Some(format!("转让时删除设备关系失败: {e}"))});
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
// 为0时分享区域
|
|
// 为0时分享区域
|
|
|
if typo == 0{
|
|
if typo == 0{
|
|
|
- match state.db_lite.execute("insert into map_user_area(uid,aid)values(?,?)", [uid, id]).await{
|
|
|
|
|
|
|
+ match state.db_lite.execute("insert into map_user_area(uid,aid)values(?,?)", [uid, the_id]).await{
|
|
|
Ok(i) => {
|
|
Ok(i) => {
|
|
|
log(Debug, format!("影响一级区域数量{i}个"));
|
|
log(Debug, format!("影响一级区域数量{i}个"));
|
|
|
},
|
|
},
|
|
|
- Err(e) => if e==""{/*Unique异常跳过 */} else {return Json(JsonBack{errcode: 3002, errmsg: Some(format!("添加区域分享关系失败: {e}"))});},
|
|
|
|
|
|
|
+ Err(e) => if e==""{/*Unique异常跳过 */} else {return Json(JsonBack{errcode: 3000, errmsg: Some(format!("添加区域分享关系失败: {e}"))});},
|
|
|
};
|
|
};
|
|
|
- match state.db_lite.execute("insert into map_user_area(uid,aid) select ?,id from area where sup=? and id not in (select aid from map_user_area where uid=?)", [uid, id,uid]).await{
|
|
|
|
|
|
|
+ match state.db_lite.execute("insert into map_user_area(uid,aid) select ?,id from area where sup=? and id not in (select aid from map_user_area where uid=?)", [uid, the_id,uid]).await{
|
|
|
Ok(i) => {
|
|
Ok(i) => {
|
|
|
log(Debug, format!("影响二级区域数量{i}个"));
|
|
log(Debug, format!("影响二级区域数量{i}个"));
|
|
|
},
|
|
},
|
|
|
- Err(e) => if e==""{/*Unique异常跳过 */} else {return Json(JsonBack{errcode: 3002, errmsg: Some(format!("添加区域下级分享关系失败: {e}"))})},
|
|
|
|
|
|
|
+ Err(e) => if e==""{/*Unique异常跳过 */} else {return Json(JsonBack{errcode: 3000, errmsg: Some(format!("添加区域下级分享关系失败: {e}"))})},
|
|
|
};
|
|
};
|
|
|
- match state.db_lite.execute("insert into map_user_device(uid,did) select ?,device.id from device where area in (select id from area where area.sup=?) and device.id not in (select did from map_user_device where uid=?)", [uid, id,uid]).await{
|
|
|
|
|
|
|
+ match state.db_lite.execute("insert into map_user_device(uid,did) select ?,device.id from device where area in (select id from area where area.sup=?) and device.id not in (select did from map_user_device where uid=?)", [uid, the_id,uid]).await{
|
|
|
Ok(i) => {
|
|
Ok(i) => {
|
|
|
log(Debug, format!("影响设备数量{i}个"));
|
|
log(Debug, format!("影响设备数量{i}个"));
|
|
|
},
|
|
},
|
|
|
- Err(e) =>if e==""{/*Unique异常跳过 */} else { return Json(JsonBack{errcode: 3002, errmsg: Some(format!("添加区域下全部设备关系失败: {e}"))})},
|
|
|
|
|
|
|
+ Err(e) =>if e==""{/*Unique异常跳过 */} else { return Json(JsonBack{errcode: 3000, errmsg: Some(format!("添加区域下全部设备关系失败: {e}"))})},
|
|
|
};
|
|
};
|
|
|
|
|
|
|
|
}
|
|
}
|
|
|
// 为1时分享设备,为2时转让设备,此处添加设备与新用户的关系
|
|
// 为1时分享设备,为2时转让设备,此处添加设备与新用户的关系
|
|
|
else if typo == 1 || typo == 2 {
|
|
else if typo == 1 || typo == 2 {
|
|
|
- match state.db_lite.execute("insert into map_user_device(uid,did)values(?,?)", [uid, id]).await{
|
|
|
|
|
|
|
+ match state.db_lite.execute("insert into map_user_device(uid,did)values(?,?)", [uid, the_id]).await{
|
|
|
Ok(_) => {},
|
|
Ok(_) => {},
|
|
|
- Err(e) => if e==""{/*Unique异常跳过*/}else{ return Json(JsonBack{errcode: 3002, errmsg: Some(format!("添加设备分享关系失败: {e}"))});}
|
|
|
|
|
|
|
+ Err(e) => if e==""{/*Unique异常跳过*/}else{ return Json(JsonBack{errcode: 3000, errmsg: Some(format!("添加设备分享关系失败: {e}"))});}
|
|
|
};
|
|
};
|
|
|
} else {
|
|
} else {
|
|
|
- return Json(JsonBack{errcode: 3003, errmsg: Some("分享流程类型错误".to_string())});
|
|
|
|
|
|
|
+ return Json(JsonBack{errcode: 3000, errmsg: Some("分享流程类型错误".to_string())});
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
// 转让设备需要将belongto更新
|
|
// 转让设备需要将belongto更新
|
|
|
if typo == 2{
|
|
if typo == 2{
|
|
|
- match state.db_lite.execute("update device set belongto=? where id=?", [uid, id]).await{
|
|
|
|
|
|
|
+ match state.db_lite.execute("update device set belongto=? where id=?", [uid, the_id]).await{
|
|
|
Ok(_) => {},
|
|
Ok(_) => {},
|
|
|
- Err(e) => return Json(JsonBack{errcode: 3004, errmsg: Some(format!("更新设备分享关系失败: {e}"))}),
|
|
|
|
|
|
|
+ Err(e) => return Json(JsonBack{errcode: 3000, errmsg: Some(format!("更新设备分享关系失败: {e}"))}),
|
|
|
}
|
|
}
|
|
|
match state.db_lite.execute("delete from flow_task_share where ticket=?", [u.linkrand.clone()]).await{
|
|
match state.db_lite.execute("delete from flow_task_share where ticket=?", [u.linkrand.clone()]).await{
|
|
|
Ok(_) => {},
|
|
Ok(_) => {},
|