coop_put.php 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110
  1. <?php
  2. //查询term字典
  3. require_once "../config.php";
  4. require_once "../public/_pdo.php";
  5. require_once '../public/function.php';
  6. require_once '../ucenter/function.php';
  7. require_once '../group/function.php';
  8. require_once "../redis/function.php";
  9. require_once "../collect/function.php";
  10. require_once __DIR__."/../public/snowflakeid.php";
  11. $snowflake = new SnowFlakeId();
  12. $respond['status']=0;
  13. $respond['message']="成功";
  14. if(isset($_POST["res_id"])){
  15. $redis = redis_connect();
  16. #打开目标数据库
  17. $dest_db = _PG_DB_USER_SHARE_;#目标数据库
  18. $dest_table = _PG_TABLE_USER_SHARE_;#目标表名
  19. $PDO_DEST = new PDO($dest_db,_DB_USERNAME_,_DB_PASSWORD_,array(PDO::ATTR_PERSISTENT=>true));
  20. $PDO_DEST->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
  21. $queryInsert = "INSERT INTO ".$dest_table."
  22. (
  23. id,
  24. res_id,
  25. res_type,
  26. cooperator_id,
  27. cooperator_type,
  28. power,
  29. create_time,
  30. modify_time,
  31. created_at,
  32. updated_at)
  33. VALUES (? , ? , ? , ?, ? , ? ,? , ? , ? , ? )";
  34. $stmtDEST = $PDO_DEST->prepare($queryInsert);
  35. $data = json_decode($_POST["user_info"]);
  36. try {
  37. $PDO_DEST->beginTransaction();
  38. foreach ($data as $key => $user) {
  39. # code...
  40. #插入目标表
  41. $create_time = mTime();
  42. $created_at = date("Y-m-d H:i:s.",$create_time/1000).($create_time%1000)." UTC";
  43. $updated_at = date("Y-m-d H:i:s.",$create_time/1000).($create_time%1000)." UTC";
  44. $commitData = array(
  45. $snowflake->id(),
  46. $_POST["res_id"],
  47. $_POST["res_type"],
  48. $user->id,
  49. $user->type,
  50. $_POST["power"],
  51. $create_time,
  52. $create_time,
  53. $created_at,
  54. $updated_at
  55. );
  56. $stmtDEST->execute($commitData);
  57. }
  58. $PDO_DEST->commit();
  59. $respond['status']=0;
  60. $respond['message']="成功";
  61. if($redis){
  62. switch ((int)$_POST["res_type"]) {
  63. case 1:
  64. # pcs
  65. $redis->del("power://pcs/".$_POST["res_id"]);
  66. break;
  67. case 2:
  68. # channel
  69. $redis->del("power://channel/".$_POST["res_id"]);
  70. break;
  71. case 3:
  72. # code...
  73. $redis->del("power://article/".$_POST["res_id"]);
  74. break;
  75. case 4:
  76. # 文集
  77. $redis->del("power://collection/".$_POST["res_id"]);
  78. # 删除文章列表权限缓存
  79. $collection = new CollectInfo($redis);
  80. $articleList = $collection->getArticleList($_POST["res_id"]);
  81. foreach ($articleList as $key => $value) {
  82. # code...
  83. $redis->del("power://article/".$value);
  84. }
  85. break;
  86. default:
  87. # code...
  88. break;
  89. }
  90. }
  91. echo json_encode($respond, JSON_UNESCAPED_UNICODE);
  92. }catch (Exception $e) {
  93. $PDO_DEST->rollBack();
  94. $respond['status']=1;
  95. $respond['message']="Failed: " . $e->getMessage();
  96. echo json_encode($respond, JSON_UNESCAPED_UNICODE);
  97. }
  98. }
  99. else{
  100. $respond['status']=1;
  101. $respond['message']="no res id";
  102. echo json_encode($respond, JSON_UNESCAPED_UNICODE);
  103. }
  104. ?>