25'ten fazla konu seçemezsiniz Konular bir harf veya rakamla başlamalı, kısa çizgiler ('-') içerebilir ve en fazla 35 karakter uzunluğunda olabilir.

user.php 12 KiB

3 yıl önce
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377
  1. <?php
  2. class operate_user
  3. {
  4. public $userId = '';
  5. public $time = '';
  6. function __construct()
  7. {
  8. $this->userId = getUserId();//1;
  9. $this->time = date('Y-m-d H:i:s', time());
  10. }
  11. function execUser($operate)
  12. {
  13. $supplier_id = isset($_POST['supplier_id']) ? trim($_POST['supplier_id']) : '';//供应商或渠道商id
  14. $user_name = isset($_POST['user_name']) ? trim($_POST['user_name']) : '';//用户名
  15. $true_name = isset($_POST['true_name']) ? trim($_POST['true_name']) : '';//真实姓名
  16. $phone_no = isset($_POST['phone_no']) ? trim($_POST['phone_no']) : '';//手机号
  17. $user_id = isset($_POST['user_id']) ? trim($_POST['user_id']) : '';//用户id
  18. if ($operate == 'check')//获得账号列表
  19. {
  20. $this->checkUserName($user_id, $user_name, 'check');
  21. }
  22. if ($operate == 'insert')//新增数据
  23. {
  24. $this->insertUser($supplier_id, $user_name, $true_name, $phone_no);
  25. }
  26. if ($operate == 'list')//获得账号列表
  27. {
  28. $this->getListUser($supplier_id);
  29. }
  30. if ($operate == 'stop')//停用
  31. {
  32. $this->stopUser($user_id);
  33. }
  34. if ($operate == 'start')//启用
  35. {
  36. $this->startUser($user_id);
  37. }
  38. if ($operate == 'delete')//删除
  39. {
  40. $this->deleteUser($user_id);
  41. }
  42. if ($operate == 'detail')//获取详情
  43. {
  44. $this->detailUser($user_id);
  45. }
  46. if ($operate == 'update')//修改账号
  47. {
  48. $this->updateUser($user_id, $user_name, $true_name, $phone_no);
  49. }
  50. if ($operate == 'update_password')//初始化密码
  51. {
  52. $this->updateUserPassword($user_id);
  53. }
  54. }
  55. //新增用户
  56. function insertUser($supplier_id, $user_name, $true_name, $phone_no)
  57. {
  58. global $pdo;
  59. if (empty($supplier_id) || empty($user_name) || empty($true_name) || empty($phone_no)) {
  60. $json['code'] = '1';
  61. $json['info'] = '必填项不可为空';
  62. echo json_encode($json);
  63. exit();
  64. }
  65. $this->checkUserName('', $user_name, 'insert_check');
  66. $main_corp_id_sql = "select main_corp_id from base_supplier where id = " . $supplier_id . ' and cancel_flag = 0 limit 1';
  67. $result = $pdo->query($main_corp_id_sql);
  68. $main_corp_id = $result->fetchAll(PDO::FETCH_ASSOC);
  69. $main_corp_id = $main_corp_id[0]['main_corp_id'];
  70. $new_user_id = 0;
  71. $password = md5('zzcx8888');
  72. $sql = "INSERT INTO base_user (
  73. create_user_id,
  74. create_time,
  75. user_name,
  76. org_id,
  77. top_org_id,
  78. user_password,
  79. true_name,
  80. phone_no,
  81. `status`,
  82. main_corp_id,
  83. user_role
  84. )
  85. VALUE
  86. (" . $this->userId . ", '" . $this->time . "', '" . $user_name . "', " . $supplier_id . ", " . $supplier_id . ", '" . $password . "', '" . $true_name . "', '" . $phone_no . "',0," . $main_corp_id . ",17)";
  87. writeLog("insertUser base_user:" . $sql);
  88. $result = $pdo->exec($sql);
  89. $new_user_id = $pdo->lastInsertId();
  90. if ($result) {
  91. $json['code'] = '0';
  92. $json['info'] = '插入成功';
  93. if ($new_user_id != 0) {
  94. //如果账户类型是酒店那么 base_user_role 中插入 103,104,104 并且 base_user中的user_role 改为11
  95. $get_type_sql = "select b.product_type as product_type from base_supplier a inner join base_supplier_purchase b on a.id = b.supplier_id where b.cancel_flag= 0 and a.cancel_flag = 0 and b.product_type = 25 and a.id = $supplier_id limit 1";
  96. writeLog("判断账户类型是否酒店(是否为25):" . $sql);
  97. $result = $pdo->query($get_type_sql);
  98. $res = $result->fetchAll(PDO::FETCH_ASSOC);
  99. if ($res[0]['product_type'] == 25) {
  100. $sql = "insert into base_user_role(user_id,user_role,cancel_flag) VALUES ($new_user_id,103,0),($new_user_id,104,0),($new_user_id,105,0)";
  101. writeLog("insertUser base_user_role:" . $sql);
  102. $result = $pdo->exec($sql);
  103. $sql = "update base_user set user_role = 11 where id = $new_user_id";
  104. $result = $pdo->exec($sql);
  105. if ($result){
  106. $json['code'] = '0';
  107. $json['info'] = '插入成功';
  108. }else{
  109. $json['code'] = '2';
  110. $json['info'] = '插入失败';
  111. }
  112. }
  113. }
  114. echo json_encode($json);
  115. exit();
  116. } else {
  117. $json['code'] = '1';
  118. $json['info'] = '系统原因插入失败';
  119. echo json_encode($json);
  120. exit();
  121. }
  122. }
  123. //检验用户名
  124. function checkUserName($user_id, $user_name, $check_type)
  125. {
  126. global $pdo;
  127. if (empty($user_id)) {
  128. $sql = "SELECT
  129. user_name
  130. FROM
  131. base_user
  132. WHERE
  133. cancel_flag = 0
  134. AND user_name = '" . $user_name . "'";
  135. } else {
  136. $sql = "SELECT
  137. user_name
  138. FROM
  139. base_user
  140. WHERE
  141. cancel_flag = 0
  142. AND id != " . $user_id . "
  143. AND user_name = '" . $user_name . "'";
  144. }
  145. writeLog("checkUserName base_user:" . $sql);
  146. $result = $pdo->query($sql);
  147. $res = $result->fetchAll(PDO::FETCH_ASSOC);
  148. if (count($res) > 0) {
  149. $json['code'] = '1';
  150. $json['info'] = '用户名已存在';
  151. echo json_encode($json);
  152. exit();
  153. } else {
  154. if ($check_type == 'check') {
  155. $json['code'] = '0';
  156. $json['info'] = '用户名可用';
  157. echo json_encode($json);
  158. exit();
  159. } else {
  160. return true;
  161. }
  162. }
  163. }
  164. //获得账号列表
  165. function getListUser($supplier_id)
  166. {
  167. global $pdo;
  168. $sql = "SELECT
  169. id,
  170. true_name,
  171. `status`
  172. FROM
  173. base_user
  174. WHERE
  175. cancel_flag = 0
  176. AND org_id = " . $supplier_id;
  177. writeLog("getListUser base_user:" . $sql);
  178. $result = $pdo->query($sql);
  179. $res = $result->fetchAll(PDO::FETCH_ASSOC);
  180. if (count($res) > 0) {
  181. foreach ($res as $k => $v) {
  182. if ($v['status'] == 0) {
  183. $res[$k]['status'] = '停用';
  184. } else {
  185. $res[$k]['status'] = '启用';
  186. }
  187. }
  188. }
  189. $json['code'] = '0';
  190. $json['info'] = '用户名可用';
  191. $json['list'] = $res;
  192. echo json_encode($json);
  193. exit();
  194. }
  195. //停用账号
  196. function stopUser($user_id)
  197. {
  198. global $pdo;
  199. $sql = "UPDATE base_user
  200. SET `status` = 1,
  201. update_user_id = " . $this->userId . ",
  202. update_time = '" . $this->time . "'
  203. WHERE
  204. id = " . $user_id;
  205. writeLog("stopUser base_user:" . $sql);
  206. $result = $pdo->exec($sql);
  207. if ($result) {
  208. $json['code'] = '0';
  209. $json['info'] = '停用成功';
  210. echo json_encode($json);
  211. exit();
  212. } else {
  213. $json['code'] = '1';
  214. $json['info'] = '系统原因停用失败';
  215. echo json_encode($json);
  216. exit();
  217. }
  218. }
  219. //启用账号
  220. function startUser($user_id)
  221. {
  222. global $pdo;
  223. $sql = "UPDATE base_user
  224. SET `status` = 0,
  225. update_user_id = " . $this->userId . ",
  226. update_time = '" . $this->time . "'
  227. WHERE
  228. id = " . $user_id;
  229. writeLog("startUser base_user:" . $sql);
  230. $result = $pdo->exec($sql);
  231. if ($result) {
  232. $json['code'] = '0';
  233. $json['info'] = '启用成功';
  234. echo json_encode($json);
  235. exit();
  236. } else {
  237. $json['code'] = '1';
  238. $json['info'] = '系统原因启用失败';
  239. echo json_encode($json);
  240. exit();
  241. }
  242. }
  243. //删除账号
  244. function deleteUser($user_id)
  245. {
  246. global $pdo;
  247. $sql = "UPDATE base_user
  248. SET cancel_flag = 1,
  249. update_user_id = " . $this->userId . ",
  250. update_time = '" . $this->time . "'
  251. WHERE
  252. id = " . $user_id;
  253. writeLog("deleteUser base_user:" . $sql);
  254. $result = $pdo->exec($sql);
  255. if ($result) {
  256. $json['code'] = '0';
  257. $json['info'] = '删除成功';
  258. echo json_encode($json);
  259. exit();
  260. } else {
  261. $json['code'] = '1';
  262. $json['info'] = '系统原因删除失败';
  263. echo json_encode($json);
  264. exit();
  265. }
  266. }
  267. //获取详情
  268. function detailUser($user_id)
  269. {
  270. global $pdo;
  271. $sql = "SELECT
  272. id,
  273. user_name,
  274. true_name,
  275. phone_no
  276. FROM
  277. base_user
  278. WHERE
  279. cancel_flag = 0
  280. AND id = " . $user_id;
  281. writeLog("detailUser base_user:" . $sql);
  282. $result = $pdo->query($sql);
  283. $res = $result->fetchAll(PDO::FETCH_ASSOC);
  284. if (count($res) > 0) {
  285. $json['code'] = '0';
  286. $json['info'] = '获取信息成功';
  287. $json['list'] = $res;
  288. echo json_encode($json);
  289. exit();
  290. } else {
  291. $json['code'] = '1';
  292. $json['info'] = '该数据已删除';
  293. echo json_encode($json);
  294. exit();
  295. }
  296. }
  297. //修改账号
  298. function updateUser($user_id, $user_name, $true_name, $phone_no)
  299. {
  300. global $pdo;
  301. if (empty($user_name) || empty($true_name) || empty($phone_no)) {
  302. $json['code'] = '1';
  303. $json['info'] = '必填项不可为空';
  304. echo json_encode($json);
  305. exit();
  306. }
  307. $this->checkUserName($user_id, $user_name, 'update_check');
  308. $sql = "UPDATE base_user
  309. SET user_name = '" . $user_name . "',
  310. true_name = '" . $true_name . "',
  311. phone_no = '" . $phone_no . "',
  312. update_user_id = " . $this->userId . ",
  313. update_time = '" . $this->time . "'
  314. WHERE
  315. id = " . $user_id;
  316. writeLog("updateUser base_user:" . $sql);
  317. $result = $pdo->exec($sql);
  318. if ($result) {
  319. $json['code'] = '0';
  320. $json['info'] = '修改成功';
  321. echo json_encode($json);
  322. exit();
  323. } else {
  324. $json['code'] = '1';
  325. $json['info'] = '系统原因修改失败';
  326. echo json_encode($json);
  327. exit();
  328. }
  329. }
  330. //重置密码
  331. function updateUserPassword($user_id)
  332. {
  333. global $pdo;
  334. $sql = "UPDATE base_user
  335. SET user_password = '" . md5('zzcx8888') . "',
  336. update_user_id = " . $this->userId . ",
  337. update_time = '" . $this->time . "'
  338. WHERE
  339. id = " . $user_id;
  340. writeLog("updateUserPassword base_user:" . $sql);
  341. $result = $pdo->exec($sql);
  342. if ($result) {
  343. $json['code'] = '0';
  344. $json['info'] = '初始化密码成功';
  345. echo json_encode($json);
  346. exit();
  347. } else {
  348. $json['code'] = '1';
  349. $json['info'] = '系统原因初始化密码失败';
  350. echo json_encode($json);
  351. exit();
  352. }
  353. }
  354. }
  355. $operate = trim($_POST['operate']);//操作类型
  356. $operate_user = new operate_user;
  357. $operate_user->execUser($operate);
  358. ?>