PageRenderTime 49ms CodeModel.GetById 19ms RepoModel.GetById 1ms app.codeStats 0ms

/web/admin/module/pay/review_item.php

https://gitlab.com/xusasuke6/Slg_php
PHP | 400 lines | 350 code | 49 blank | 1 comment | 65 complexity | 423691da411dd96253e403e151465335 MD5 | raw file
  1. <?php
  2. define('IN_DATANG_SYSTEM', true);
  3. include "../../../config/config.php";
  4. include "../../../admin/class/admin_log_class.php";
  5. include SYSDIR_ADMIN."/include/global.php";
  6. global $smarty, $db;
  7. define('UNREVIEW', '1'); //未审核
  8. define('SEND_FAIL', '2'); //失败
  9. define('SEND_DENY', '3'); //拒绝
  10. define('SEND_SUCCESS', '4'); //成功
  11. $review_rst = array(
  12. '0' => $buf_lang['left']['show_all'],
  13. '1' => $buf_lang['left']['wait_review'],
  14. '2' => $buf_lang['left']['failure'],
  15. '3' => $buf_lang['left']['refuse'],
  16. '4' => $buf_lang['left']['success'],
  17. );
  18. $ITEM_TYPE_NUM = array(
  19. 'send_item' => 5,
  20. 'send_stone' => 6,
  21. 'send_equip' => 7
  22. );
  23. $apply_admin_name = trim($_REQUEST['apply_admin_name']);
  24. $review_admin_name = trim($_REQUEST['review_admin_name']);
  25. if ( !isset($_REQUEST['dateStart']))
  26. $dateStart = strftime ("%Y-%m-%d", time() - 86400*7 );
  27. else
  28. $dateStart = trim(SS($_REQUEST['dateStart']));
  29. if ( !isset($_REQUEST['dateEnd']))
  30. $dateEnd = strftime ("%Y-%m-%d", time() );
  31. else
  32. $dateEnd = trim(SS($_REQUEST['dateEnd']));
  33. $dateStartStamp = strtotime($dateStart . ' 0:0:0');
  34. $dateEndStamp = strtotime($dateEnd . ' 23:59:59');
  35. $dateStartStr = strftime ("%Y-%m-%d", $dateStartStamp);
  36. $dateEndStr = strftime ("%Y-%m-%d", $dateEndStamp);
  37. $op_id = $_REQUEST['op_id'];
  38. if(empty($op_id))$op_id = '0';
  39. $action = trim($_REQUEST['action']);
  40. $id = trim($_REQUEST['sendID']);
  41. if (!empty($id))
  42. {
  43. $sql = 'SELECT `status` FROM `t_log_review` where `id` = '.$id;
  44. $rs = $db->FetchAll($sql);
  45. if ($rs[0]['status'] != UNREVIEW)
  46. {
  47. die ( "已审核,请勿重复操作!" );
  48. }
  49. }
  50. if(!empty($id))
  51. {
  52. $send_role_info = $_REQUEST['send']["{$id}"];
  53. $role_id = $send_role_info['role_id'];
  54. $role_name = $send_role_info['role_name'];
  55. $item_type = $send_role_info['item_type'];
  56. $item_id = $send_role_info['item_id'];
  57. $bind = $send_role_info['bind'];
  58. $number = $send_role_info['number'];
  59. $reason =$send_role_info['reason'];
  60. $reason_log = $reason;
  61. $reason = str_replace("\\'", "'", $reason); // 还原 '
  62. $reason = str_replace("\\\"", "\"", $reason); // 还原 "
  63. $reason = str_replace("\\\\", "\\", $reason); // 还原 \
  64. $reason = urlencode($reason);
  65. }
  66. if ($action == 'doAgreeOne')
  67. {
  68. $type = $ITEM_TYPE_NUM[$item_type];
  69. //批量赠送道具
  70. $role_id_array = explode(',', $role_id);
  71. $role_name_array = explode(',', $role_name);
  72. $role_cnt = count($role_id_array);
  73. $success_role_id = '';
  74. $success_role_name = '';
  75. $fail_role_id = '';
  76. $fail_role_name = '';
  77. for($i=0;$i<$role_cnt;$i++)
  78. {
  79. $role_name_tmp = $role_name_array[$i];
  80. #角色名空格编码
  81. $role_name_array[$i] = str_replace("\\'", "'", $role_name_array[$i]); // 还原 '
  82. $role_name_array[$i] = str_replace("\\\"", "\"", $role_name_array[$i]); // 还原 "
  83. $role_name_array[$i] = str_replace("\\\\", "\\", $role_name_array[$i]); // 还原 \
  84. $role_name_array[$i] = urlencode($role_name_array[$i]);
  85. $url = $erlangWebAdminHost."goods/send_goods/?role_id={$role_id_array[$i]}&role_name={$role_name_array[$i]}&number={$number}&type={$type}&typeid={$item_id}&bind={$bind}&reason={$reason}";
  86. $result = getJson($url);
  87. if ($result ['result'] == 'ok')
  88. {
  89. $success_role_id .= ',';
  90. $success_role_id .= $role_id_array[$i];
  91. $success_role_name .= ',';
  92. $success_role_name .= $role_name_tmp;
  93. }
  94. else
  95. {
  96. $fail_role_id .= ',';
  97. $fail_role_id .= $role_id_array[$i];
  98. $fail_role_name .= ',';
  99. $fail_role_name .= $role_name_tmp;
  100. }
  101. }
  102. if(!empty($success_role_id) && !empty($success_role_name))
  103. {
  104. $status = SEND_SUCCESS;
  105. $loger1 = new AdminLogClass();
  106. $loger1->Log(AdminLogClass::TYPE_REVIEW_AND_SEND_GOODS, $item_id, $number, '', $success_role_id, $success_role_name);
  107. }
  108. else
  109. {
  110. $status = SEND_FAIL;
  111. }
  112. $loger = new AdminLogClass();
  113. $loger->updateReviewLog($id, $status);
  114. if(!empty($fail_role_id) && !empty($fail_role_name))
  115. {
  116. errorExit("赠送道具给以下玩家:{$fail_role_name} 发生未知错误!");
  117. }
  118. }
  119. else if($action == 'doDenyOne')
  120. {
  121. $status = SEND_DENY;
  122. $loger = new AdminLogClass();
  123. $loger->updateReviewLog($id, $status);
  124. $loger->Log(AdminLogClass::TYPE_REVIEW_AND_DENY_SEND_GOODS, '拒绝赠送道具', $number, '', $role_id, $role_name);
  125. }
  126. else if ($action == 'doAgreeMany')
  127. {
  128. $send_role_list = $_REQUEST['Send_check'];
  129. $id_reviewed = '';
  130. foreach ($send_role_list as $key => $value)
  131. {
  132. if (!empty($value))
  133. {
  134. $sql = 'SELECT `status` FROM `t_log_review` where `id` = '.$value;
  135. $rs = $db->FetchAll($sql);
  136. if ($rs[0]['status'] != UNREVIEW)
  137. {
  138. $id_reviewed .= ',';
  139. $id_reviewed .= $value;
  140. }
  141. }
  142. }
  143. if(!empty($id_reviewed))
  144. {
  145. errorExit("ID为 {$id_reviewed}的条目已经审核,请勿重复操作!");
  146. }
  147. $all_fail_name = '';
  148. foreach ($send_role_list as $key => $value)
  149. {
  150. $send_role_info = $_REQUEST['send']["{$value}"];
  151. $role_id = $send_role_info['role_id'];
  152. $role_name = $send_role_info['role_name'];
  153. $item_type = $send_role_info['item_type'];
  154. $item_id = $send_role_info['item_id'];
  155. $bind = $send_role_info['bind'];
  156. $number = $send_role_info['number'];
  157. $reason =$send_role_info['reason'];
  158. $reason_log = $reason;
  159. $reason = str_replace("\\'", "'", $reason); // 还原 '
  160. $reason = str_replace("\\\"", "\"", $reason); // 还原 "
  161. $reason = str_replace("\\\\", "\\", $reason); // 还原 \
  162. $reason = urlencode($reason);
  163. $type = $ITEM_TYPE_NUM[$item_type];
  164. //批量赠送道具
  165. $role_id_array = explode(',', $role_id);
  166. $role_name_array = explode(',', $role_name);
  167. $role_cnt = count($role_id_array);
  168. $success_role_id = '';
  169. $success_role_name = '';
  170. $fail_role_id = '';
  171. $fail_role_name = '';
  172. for($i=0;$i<$role_cnt;$i++)
  173. {
  174. $role_name_tmp = $role_name_array[$i];
  175. #角色名空格编码
  176. $role_name_array[$i] = str_replace("\\'", "'", $role_name_array[$i]); // 还原 '
  177. $role_name_array[$i] = str_replace("\\\"", "\"", $role_name_array[$i]); // 还原 "
  178. $role_name_array[$i] = str_replace("\\\\", "\\", $role_name_array[$i]); // 还原 \
  179. $role_name_array[$i] = urlencode($role_name_array[$i]);
  180. $result = getJson($erlangWebAdminHost."goods/send_goods/?role_id={$role_id_array[$i]}&role_name={$role_name_array[$i]}&number={$number}&type={$type}&typeid={$item_id}&bind={$bind}&reason={$reason}");
  181. if ($result ['result'] == 'ok')
  182. {
  183. $success_role_id .= ',';
  184. $success_role_id .= $role_id_array[$i];
  185. $success_role_name .= ',';
  186. $success_role_name .= $role_name_tmp;
  187. }
  188. else
  189. {
  190. $fail_role_id .= ',';
  191. $fail_role_id .= $role_id_array[$i];
  192. $fail_role_name .= ',';
  193. $fail_role_name .= $role_name_tmp;
  194. }
  195. }
  196. if(!empty($success_role_id) && !empty($success_role_name))
  197. {
  198. $status = SEND_SUCCESS;
  199. $loger1 = new AdminLogClass();
  200. $loger1->Log(AdminLogClass::TYPE_REVIEW_AND_SEND_GOODS, $item_id, $number, '', $success_role_id, $success_role_name);
  201. }
  202. else
  203. {
  204. $status = SEND_FAIL;
  205. }
  206. $loger = new AdminLogClass();
  207. $loger->updateReviewLog($value, $status);
  208. if(!empty($fail_role_id) && !empty($fail_role_name))
  209. {
  210. $all_fail_name .= ',';
  211. $all_fail_name .= $fail_role_name;
  212. }
  213. }
  214. if(!empty($all_fail_name))
  215. {
  216. errorExit("赠送道具给以下玩家:{$all_fail_name} 时发生未知错误!");
  217. }
  218. }
  219. else if ($action == 'doDenyMany')
  220. {
  221. $send_role_list = $_REQUEST['Send_check'];
  222. $id_reviewed = '';
  223. foreach ($send_role_list as $key => $value)
  224. {
  225. if (!empty($value))
  226. {
  227. $sql = 'SELECT `status` FROM `t_log_review` where `id` = ' .$value;
  228. $rs = $db->FetchAll($sql);
  229. if ($rs[0]['status'] != UNREVIEW)
  230. {
  231. $id_reviewed .= ',';
  232. $id_reviewed .= $value;
  233. }
  234. }
  235. }
  236. if(!empty($id_reviewed))
  237. {
  238. errorExit("ID为 {$id_reviewed}的条目已经审核,请勿重复操作!");
  239. }
  240. foreach ($send_role_list as $key => $value)
  241. {
  242. $send_role_info = $_REQUEST['send']["{$value}"];
  243. $role_id = $send_role_info['role_id'];
  244. $role_name = $send_role_info['role_name'];
  245. $number = $send_role_info['number'];
  246. $status = SEND_DENY;
  247. $loger = new AdminLogClass();
  248. $loger->updateReviewLog($value, $status);
  249. $loger->Log(AdminLogClass::TYPE_REVIEW_AND_DENY_SEND_GOODS, '拒绝赠送道具', $number, '', $role_id, $role_name);
  250. }
  251. }
  252. $log = new AdminLogClass();
  253. $data = $log->getReviewLog($dateStartStamp, $dateEndStamp, $apply_admin_name, $review_admin_name, $op_id, 'item', '');
  254. foreach($data as $key => $row)
  255. {
  256. if($row['status'] == UNREVIEW)
  257. {
  258. $data[$key]['status_desc'] = $buf_lang['left']['wait_review'];
  259. }
  260. else if ($row['status'] == SEND_SUCCESS)
  261. {
  262. $data[$key]['status_desc'] = $buf_lang['left']['success'];
  263. }
  264. else if ($row['status'] == SEND_FAIL)
  265. {
  266. $data[$key]['status_desc'] = $buf_lang['left']['failure'];
  267. }
  268. else if ($row['status'] == SEND_DENY)
  269. {
  270. $data[$key]['status_desc'] = $buf_lang['left']['refuse'];
  271. }
  272. if ($row['bind'] == '0')
  273. {
  274. $data[$key]['bind_cn'] = $buf_lang['new']['no'];
  275. }
  276. else if ($row['bind'] == '1')
  277. {
  278. $data[$key]['bind_cn'] = $buf_lang['new']['yes'];
  279. }
  280. }
  281. //分页开始 2012-2-2 数组分页
  282. $whichpage = $_REQUEST['whichpage'];
  283. if(!$whichpage) {
  284. $notepage=1;
  285. }
  286. else {
  287. $notepage=$whichpage;
  288. }
  289. $pagesize=10;
  290. $noterecs=($notepage-1)*$pagesize;
  291. $page_num = count($data);
  292. $pagecount=ceil($page_num/$pagesize);
  293. $buf_num = 0;
  294. if( $pagecount == 1)
  295. {
  296. foreach($data as $v)
  297. {
  298. $new_data[] = $v;
  299. }
  300. }
  301. else
  302. {
  303. foreach($data as $v)
  304. {
  305. $buf_num++;
  306. if(($buf_num > $noterecs) && ( $buf_num <= ($noterecs+$pagesize)))
  307. {
  308. $new_data[] = $v;
  309. }
  310. }
  311. }
  312. $noterecs=$noterecs+1;
  313. $fisrt=1;
  314. $prev=$whichpage-1;
  315. $next=$whichpage+1;
  316. $last=$pagecount;
  317. if($page_num > 0)
  318. {
  319. $start = "<a href='review_item.php?whichpage=".$fisrt."&dateStart=".$dateStart."&dateEnd=".$dateEnd."&apply_admin_name=".$apply_admin_name."&review_admin_name=".$review_admin_name."'>首页</a></font>&nbsp;&nbsp";
  320. if($whichpage>1) {
  321. $start.= "<a href='review_item.php?whichpage=".$prev."&dateStart=".$dateStart."&dateEnd=".$dateEnd."&apply_admin_name=".$apply_admin_name."&review_admin_name=".$review_admin_name."'>上一页</a> ";
  322. }
  323. for($counter=1;$counter<=$pagecount;$counter++) {
  324. $start.= ("<font size=+1 color=red><a href='review_item.php?whichpage=".$counter."&dateStart=".$dateStart."&dateEnd=".$dateEnd."&apply_admin_name=".$apply_admin_name."&review_admin_name=".$review_admin_name."'>".$pad.$counter."</a></font>&nbsp;&nbsp;");
  325. }
  326. if($whichpage < $pagecount) {
  327. $start.= "<a href='review_item.php?whichpage=".$next."&dateStart=".$dateStart."&dateEnd=".$dateEnd."&apply_admin_name=".$apply_admin_name."&review_admin_name=".$review_admin_name."'>下一页</a> ";
  328. }
  329. $start.= "<a href='review_item.php?whichpage=".$pagecount."&dateStart=".$dateStart."&dateEnd=".$dateEnd."&apply_admin_name=".$apply_admin_name."&review_admin_name=".$review_admin_name."'>尾页</a> ";
  330. $start.= "总页数(".$pagecount.")";
  331. $start.= "共".$rsnum."条记录";
  332. }
  333. $smarty->assign('whichpage',$whichpage);
  334. $smarty->assign("page",$start);
  335. $smarty->assign("search_keyword1", $dateStartStr);
  336. $smarty->assign("search_keyword2", $dateEndStr);
  337. $smarty->assign("op_id",$op_id);
  338. $smarty->assign("op_name",$review_rst);
  339. $smarty->assign("keywordlist", $new_data);
  340. $smarty->assign("apply_admin_name", $apply_admin_name);
  341. $smarty->assign("review_admin_name", $review_admin_name);
  342. $smarty->display('module/pay/review_item.html');