EduRedAction.class.php 8.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253
  1. <?php
  2. // +----------------------------------------------------------------------
  3. // | Fanwe 方维p2p借贷系统
  4. // +----------------------------------------------------------------------
  5. // | Copyright (c) 2011 http://www.fanwe.com All rights reserved.
  6. // +----------------------------------------------------------------------
  7. // | Author: 云淡风轻(1956838968@qq.com)
  8. // +----------------------------------------------------------------------
  9. class EduRedAction extends CommonAction
  10. {
  11. public function index()
  12. {
  13. if (trim($_REQUEST['title']) != '') {
  14. $map['title'] = array('like', '%' . trim($_REQUEST['title']) . '%');
  15. }
  16. $sn = trim($_REQUEST['sn']);
  17. if ($sn != '') {
  18. $map['sn'] = array('eq', $sn);
  19. }
  20. $nick_name = trim($_REQUEST['nick_name']);
  21. if ($nick_name != '') {
  22. $user_ids_array = M("User")->field("id,nick_name")->where("nick_name like '%" . $nick_name . "%'")->findAll();
  23. $user_ids = implode(',', array_map('array_shift', $user_ids_array));
  24. $map['user_id'] = array('in', $user_ids);
  25. }
  26. $user_id = intval($_REQUEST['user_id']);
  27. if ($user_id) {
  28. $map['user_id'] = array('eq', $user_id);
  29. }
  30. if (method_exists($this, '_filter')) {
  31. $this->_filter($map);
  32. }
  33. $name = $this->getActionName();
  34. $model = M($name);
  35. if (!empty ($model)) {
  36. $this->_list($model, $map);
  37. }
  38. $this->display();
  39. }
  40. public function add()
  41. {
  42. $this->display();
  43. }
  44. public function edit()
  45. {
  46. $id = intval($_REQUEST ['id']);
  47. $condition['id'] = $id;
  48. $vo = M(MODULE_NAME)->where($condition)->find();
  49. $this->assign('vo', $vo);
  50. $this->display();
  51. }
  52. public function delete()
  53. {
  54. //删除指定记录
  55. $ajax = intval($_REQUEST['ajax']);
  56. $id = $_REQUEST ['id'];
  57. if (isset ($id)) {
  58. $condition = array('id' => array('in', explode(',', $id)));
  59. $rel_data = M(MODULE_NAME)->where($condition)->findAll();
  60. foreach ($rel_data as $data) {
  61. $info[] = $data['title'];
  62. }
  63. if ($info) {
  64. $info = implode(",", $info);
  65. }
  66. $list = M(MODULE_NAME)->where($condition)->setField('is_delete', 1);
  67. if ($list !== false) {
  68. save_log($info . l("DELETE_SUCCESS"), 1);
  69. clear_auto_cache("get_help_cache");
  70. clear_auto_cache("article_notice");
  71. $result['status'] = 1;
  72. $result['info'] = '删除成功';
  73. } else {
  74. save_log($info . l("DELETE_FAILED"), 0);
  75. $result['status'] = 0;
  76. $result['info'] = '删除失败';
  77. }
  78. } else {
  79. $result['status'] = 0;
  80. $result['info'] = '请选择要删除的选项';
  81. }
  82. admin_ajax_return($result);
  83. }
  84. public function restore()
  85. {
  86. //删除指定记录
  87. $ajax = intval($_REQUEST['ajax']);
  88. $id = $_REQUEST ['id'];
  89. if (isset ($id)) {
  90. $condition = array('id' => array('in', explode(',', $id)));
  91. $rel_data = M(MODULE_NAME)->where($condition)->findAll();
  92. foreach ($rel_data as $data) {
  93. $info[] = $data['title'];
  94. }
  95. if ($info) {
  96. $info = implode(",", $info);
  97. }
  98. $list = M(MODULE_NAME)->where($condition)->setField('is_delete', 0);
  99. if ($list !== false) {
  100. save_log($info . l("RESTORE_SUCCESS"), 1);
  101. clear_auto_cache("get_help_cache");
  102. clear_auto_cache("article_notice");
  103. $this->success(l("RESTORE_SUCCESS"), $ajax);
  104. } else {
  105. save_log($info . l("RESTORE_FAILED"), 0);
  106. $this->error(l("RESTORE_FAILED"), $ajax);
  107. }
  108. } else {
  109. $this->error(l("INVALID_OPERATION"), $ajax);
  110. }
  111. }
  112. public function foreverdelete()
  113. {
  114. //彻底删除指定记录
  115. $ajax = intval($_REQUEST['ajax']);
  116. $id = $_REQUEST ['id'];
  117. if (isset ($id)) {
  118. $condition = array('id' => array('in', explode(',', $id)));
  119. $rel_data = M(MODULE_NAME)->where($condition)->findAll();
  120. foreach ($rel_data as $data) {
  121. $info[] = $data['title'];
  122. }
  123. if ($info) {
  124. $info = implode(",", $info);
  125. }
  126. $list = M(MODULE_NAME)->where($condition)->delete();
  127. if ($list !== false) {
  128. save_log($info . l("FOREVER_DELETE_SUCCESS"), 1);
  129. $this->success(l("FOREVER_DELETE_SUCCESS"), $ajax);
  130. } else {
  131. save_log($info . l("FOREVER_DELETE_FAILED"), 0);
  132. $this->error(l("FOREVER_DELETE_FAILED"), $ajax);
  133. }
  134. } else {
  135. $this->error(l("INVALID_OPERATION"), $ajax);
  136. }
  137. }
  138. public function insert()
  139. {
  140. B('FilterString');
  141. $ajax = intval($_REQUEST['ajax']);
  142. $data = M(MODULE_NAME)->create();
  143. //开始验证有效性
  144. $this->assign("jumpUrl", u(MODULE_NAME . "/add"));
  145. if (!check_empty($data['title'])) {
  146. $this->error("红包名称不能为空");
  147. }
  148. if ($data['diamonds'] <= 0) {
  149. $this->error("钻石数要大于零 ");
  150. }
  151. $red_num = intval($_REQUEST['red_num']);
  152. if ($red_num <= 0) {
  153. $this->error("红包数量要大于零 ");
  154. }
  155. $end_time_num=to_timespan($data['end_time']);
  156. if( $end_time_num >0 && $end_time_num < NOW_TIME)
  157. {
  158. $this->error("过期时间不能小于当前时间");
  159. }
  160. // 更新数据
  161. $log_info = $data['title'] . "红包";
  162. $data['end_time'] = to_date(to_timespan($data['end_time']));
  163. $data['create_time'] = get_gmtime();
  164. $ok_num=0;
  165. for ($i = 0; $i < $red_num; $i++) {
  166. $data['sn'] = $this->get_red_sn();
  167. $list = M(MODULE_NAME)->add($data);
  168. if(false !== $list){
  169. ++$ok_num;
  170. }
  171. }
  172. if ($ok_num>0) {
  173. //成功提示
  174. save_log($log_info ."(".$ok_num."个)". L("INSERT_SUCCESS"), 1);
  175. $this->success(L("INSERT_SUCCESS"));
  176. } else {
  177. //错误提示
  178. save_log($log_info . L("INSERT_FAILED"), 0);
  179. $this->error(L("INSERT_FAILED"));
  180. }
  181. }
  182. public function update()
  183. {
  184. B('FilterString');
  185. $data = M(MODULE_NAME)->create();
  186. $red_info = M(MODULE_NAME)->where("id=" . intval($data['id']))->find();
  187. $log_info = $red_info['title'] . "(ID:" . $red_info['id'] . ")";
  188. if (!$red_info) {
  189. $this->error("请选择编辑的红包");
  190. }
  191. if (to_timespan($red_info['exchange_time']) > 0) {
  192. $this->error("该红包已使用,不能编辑");
  193. }
  194. $end_time_num=to_timespan($data['end_time']);
  195. if( $end_time_num >0 && $end_time_num < NOW_TIME)
  196. {
  197. $this->error("过期时间不能小于当前时间");
  198. }
  199. //开始验证有效性
  200. $this->assign("jumpUrl", u(MODULE_NAME . "/edit", array("id" => $data['id'])));
  201. if (!check_empty($data['title'])) {
  202. $this->error("红包名称不能为空");
  203. }
  204. if ($data['diamonds'] <= 0) {
  205. $this->error("钻石数要大于零 ");
  206. }
  207. // 更新数据
  208. $data['end_time'] = to_date(to_timespan($data['end_time']));
  209. $list = M(MODULE_NAME)->save($data);
  210. if (false !== $list) {
  211. //成功提示
  212. save_log($log_info . L("UPDATE_SUCCESS"), 1);
  213. $this->success(L("UPDATE_SUCCESS"));
  214. } else {
  215. //错误提示
  216. save_log($log_info . L("UPDATE_FAILED"), 0);
  217. $this->error(L("UPDATE_FAILED"), 0, $log_info . L("UPDATE_FAILED"));
  218. }
  219. }
  220. //得到随机数
  221. public function get_red_sn()
  222. {
  223. $chars = "ABCDEFGHJKMNPQRSTWXYZ2345678";//去除了I L O U V 0 1 9
  224. $chars = str_shuffle($chars);
  225. $rand_str = substr($chars, 0, 6);
  226. return $rand_str;
  227. }
  228. }
  229. ?>