QkTreeAction.class.php 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392
  1. <?php
  2. class QkTreeAction extends CommonAction
  3. {
  4. public function __construct()
  5. {
  6. parent::__construct();
  7. }
  8. //树苗列表
  9. public function index()
  10. {
  11. $now = get_gmtime();//获取当前时间
  12. $parameter = '';
  13. $sql_w = '';
  14. if (trim($_REQUEST['title']) != '')//树苗名称
  15. {
  16. $parameter .= "title like " . urlencode('%' . trim($_REQUEST['title']) . '%') . "&";
  17. $sql_w .= "title like '%" . trim($_REQUEST['title']) . "%' and ";
  18. }
  19. if (trim($_REQUEST['diamonds']) != '')//钻石
  20. {
  21. $parameter .= " diamonds = " . trim($_REQUEST['diamonds']) . "&";
  22. $sql_w .= " diamonds = " . trim($_REQUEST['diamonds']) . " and ";
  23. }
  24. $create_time_2 = empty($_REQUEST['create_time_2']) ? to_date($now, 'Y-m-d') : strim($_REQUEST['create_time_2']);
  25. $create_time_2 = to_timespan($create_time_2) + 24 * 3600;
  26. if (trim($_REQUEST['create_time_1']) != '')//起始时间
  27. {
  28. $parameter .= " create_at between '" . to_timespan($_REQUEST['create_time_1']) . "' and '" . $create_time_2 . "'&";
  29. $sql_w .= " create_at between '" . to_timespan($_REQUEST['create_time_1']) . "' and '" . $create_time_2 . "' and ";
  30. }
  31. $sql_str = "SELECT * " .
  32. " FROM " . DB_PREFIX . "qk_tree WHERE 1=1 ";
  33. $count_sql = "SELECT count(*) as tpcount FROM " . DB_PREFIX . "qk_tree WHERE 1=1 ";
  34. $sql_str .= " and " . $sql_w . " 1=1";
  35. $count_sql .= " and " . $sql_w . " 1=1";
  36. $model = D();
  37. $voList = $this->_Sql_list($model, $sql_str, "&" . $parameter, 'sort', 0, $count_sql);
  38. foreach ($voList as $k => $v) {
  39. $voList[$k]['title'] = emoji_decode($v['title']);
  40. $voList[$k]['image'] = get_spec_image($v['image']);
  41. }
  42. $this->assign('url_name', get_manage_url_name());
  43. $this->assign('list', $voList);
  44. $this->display();
  45. }
  46. //添加树苗
  47. public function add_tree()
  48. {
  49. $this->display();
  50. }
  51. //插入树苗数据
  52. public function insert_tree()
  53. {
  54. $data['title'] = strim($_REQUEST['title']);//树苗名称
  55. $data['image'] = strim($_REQUEST['image']);//树苗图片
  56. $data['description'] = strim($_REQUEST['description']);//树苗简介
  57. $data['diamonds'] = strim($_REQUEST['diamonds']);//钻石价格
  58. $data['sort'] = intval($_REQUEST['sort']);//排序
  59. $now = get_gmtime();//当前时间
  60. $data['create_at'] = $now;//创建时间
  61. $data['is_effect'] = 1;//是否有效
  62. if (empty($data['title'])) {
  63. admin_ajax_return(array('status' => '0', 'error' => '请输入树苗名称'));
  64. }
  65. if (empty($data['image'])) {
  66. admin_ajax_return(array('status' => '0', 'error' => '请上传树苗图片'));
  67. }
  68. if (empty($data['description'])) {
  69. admin_ajax_return(array('status' => '0', 'error' => '请输入树苗简介'));
  70. }
  71. if (empty($data['diamonds'])) {
  72. admin_ajax_return(array('status' => '0', 'error' => '请输入钻石价格'));
  73. }
  74. if (empty($data['sort'])) {
  75. admin_ajax_return(array('status' => '0', 'error' => '请输入排序'));
  76. }
  77. $GLOBALS['db']->autoExecute(DB_PREFIX . "qk_tree", $data, 'INSERT');
  78. if ($GLOBALS['db']->affected_rows()) {
  79. $res['status'] = 1;
  80. $res['error'] = '添加树苗成功';
  81. } else {
  82. $res['status'] = 0;
  83. $res['error'] = '添加树苗失败';
  84. }
  85. admin_ajax_return($res);
  86. }
  87. //设置状态
  88. public function set_effect()
  89. {
  90. $id = intval($_REQUEST['id']);//树苗id
  91. $ajax = intval($_REQUEST['ajax']);
  92. $name = $this->getActionName();
  93. $c_is_effect = M($name)->where("id=" . $id)->getField("is_effect"); //当前状态
  94. $n_is_effect = $c_is_effect == 0 ? 1 : 0; //需设置的状态
  95. $result = M($name)->where("id=" . $id)->setField("is_effect", $n_is_effect);
  96. $this->ajaxReturn($n_is_effect, l("SET_EFFECT_" . $n_is_effect), 1);
  97. }
  98. //设置排序
  99. public function set_sort()
  100. {
  101. $id = intval($_REQUEST['id']);//树苗ID
  102. $sort = intval($_REQUEST['sort']);//排序
  103. $name = $this->getActionName();
  104. $tree_info = M($name)->where("id=" . $id)->find();
  105. if (!check_sort($sort)) {
  106. $this->error(l("SORT_FAILED"), 1);
  107. }
  108. M($name)->where("id=" . $id)->setField("sort", $sort);
  109. save_log($tree_info['title'] . l("SORT_SUCCESS"), 1);
  110. $this->success(l("SORT_SUCCESS"), 1);
  111. }
  112. //树苗编辑
  113. public function edit_tree()
  114. {
  115. $id = intval($_REQUEST['tree_id']);//树苗ID
  116. $name = $this->getActionName();
  117. $tree_info = M($name)->where("id=" . $id)->find();
  118. $this->assign("vo", $tree_info);
  119. $this->display();
  120. }
  121. //更新数据
  122. public function update_tree()
  123. {
  124. $id = intval($_REQUEST['id']);//树苗ID
  125. $data['title'] = strim($_REQUEST['title']);//树苗名称
  126. $data['image'] = strim($_REQUEST['image']);//树苗图片
  127. $data['description'] = strim($_REQUEST['description']);//树苗简介
  128. $data['diamonds'] = strim($_REQUEST['diamonds']);//钻石价格
  129. $data['sort'] = intval($_REQUEST['sort']);//排序
  130. $now = get_gmtime();
  131. $data['update_at'] = $now;//更新时间
  132. if (empty($data['title'])) {
  133. admin_ajax_return(array('status' => '0', 'error' => '请输入树苗名称'));
  134. }
  135. if (empty($data['image'])) {
  136. admin_ajax_return(array('status' => '0', 'error' => '请上传树苗图片'));
  137. }
  138. if (empty($data['description'])) {
  139. admin_ajax_return(array('status' => '0', 'error' => '请输入树苗简介'));
  140. }
  141. if (empty($data['diamonds'])) {
  142. admin_ajax_return(array('status' => '0', 'error' => '请输入钻石价格'));
  143. }
  144. if (empty($data['sort'])) {
  145. admin_ajax_return(array('status' => '0', 'error' => '请输入排序'));
  146. }
  147. $GLOBALS['db']->autoExecute(DB_PREFIX . "qk_tree", $data, 'UPDATE', 'id =' . $id);
  148. if ($GLOBALS['db']->affected_rows()) {
  149. $res['status'] = 1;
  150. $res['error'] = '编辑树苗成功';
  151. } else {
  152. $res['status'] = 0;
  153. $res['error'] = '编辑树苗失败';
  154. }
  155. admin_ajax_return($res);
  156. }
  157. //订单列表
  158. public function order_info()
  159. {
  160. $now = get_gmtime();
  161. $parameter = '';
  162. $sql_w = '';
  163. //用户ID
  164. if (trim($_REQUEST['user_id']) != '') {
  165. $parameter .= " user_id = " . trim($_REQUEST['user_id']) . "&";
  166. $sql_w .= " u.id = " . trim($_REQUEST['user_id']) . " and ";
  167. }
  168. //订单号
  169. if (trim($_REQUEST['order_id']) != '') {
  170. $parameter .= " order_id = " . trim($_REQUEST['order_id']) . "&";
  171. $sql_w .= " o.id = " . trim($_REQUEST['order_id']) . " and ";
  172. }
  173. //树苗名称
  174. if (trim($_REQUEST['title']) != '') {
  175. $parameter .= " title like " . urlencode('%' . trim($_REQUEST['title']) . '%') . "&";
  176. $sql_w .= " t.title like '%" . trim($_REQUEST['title']) . "%' and ";
  177. }
  178. if (trim($_REQUEST['diamonds']) != '') {
  179. $parameter .= " diamonds = " . trim($_REQUEST['diamonds']) . "&";
  180. $sql_w .= " o.pay = " . trim($_REQUEST['diamonds']) . " and ";
  181. }
  182. //订单创建时间
  183. $create_time_2 = empty($_REQUEST['create_time_2']) ? to_date($now, 'Y-m-d') : strim($_REQUEST['create_time_2']);
  184. $create_time_2 = to_timespan($create_time_2) + 24 * 3600;
  185. if (trim($_REQUEST['create_time_1']) != '') {
  186. $parameter .= " create_time between '" . to_timespan($_REQUEST['create_time_1']) . "' and '" . $create_time_2 . "'&";
  187. $sql_w .= " o.create_time between '" . to_timespan($_REQUEST['create_time_1']) . "' and '" . $create_time_2 . "' and ";
  188. }
  189. $sql_str = "SELECT o.*,t.title,u.nick_name " .
  190. " FROM " . DB_PREFIX . "qk_tree_order o," . DB_PREFIX . "qk_tree t," . DB_PREFIX . "user u WHERE o.user_id =u.id and o.tree_id=t.id and 1=1 ";
  191. $count_sql = "SELECT count(*) as tpcount FROM " . DB_PREFIX . "qk_tree_order o," . DB_PREFIX . "qk_tree t," . DB_PREFIX . "user u WHERE o.user_id =u.id and o.tree_id=t.id and 1=1 ";
  192. $sql_str .= " and " . $sql_w . " 1=1";
  193. $count_sql .= " and " . $sql_w . " 1=1";
  194. $model = D();
  195. $voList = $this->_Sql_list($model, $sql_str, "&" . $parameter, 'o.id', 0, $count_sql);
  196. foreach ($voList as $k => $v) {
  197. $voList[$k]['title'] = emoji_decode($v['title']);
  198. }
  199. $this->assign('url_name', get_manage_url_name());
  200. $this->assign('list', $voList);
  201. $this->display();
  202. }
  203. //树苗成长列表
  204. public function tree_manage_list()
  205. {
  206. $order_id = intval($_REQUEST['order_id']);//订单编号
  207. if (!$order_id) {
  208. admin_ajax_return(array('status' => '0', 'error' => '订单信息有误'));
  209. }
  210. $now = get_gmtime();
  211. $parameter = '';
  212. $sql_w = '';
  213. //树苗信息创建时间
  214. $create_time_2 = empty($_REQUEST['create_time_2']) ? to_date($now, 'Y-m-d') : strim($_REQUEST['create_time_2']);
  215. $create_time_2 = to_timespan($create_time_2) + 24 * 3600;
  216. if (trim($_REQUEST['create_time_1']) != '') {
  217. $parameter .= " create_at between '" . to_timespan($_REQUEST['create_time_1']) . "' and '" . $create_time_2 . "'&";
  218. $sql_w .= " i.create_at between '" . to_timespan($_REQUEST['create_time_1']) . "' and '" . $create_time_2 . "' and ";
  219. }
  220. $sql_str = "SELECT i.* " .
  221. " FROM " . DB_PREFIX . "qk_tree_info i," . DB_PREFIX . "qk_tree_order o WHERE i.order_id =o.id and 1=1 ";
  222. $count_sql = "SELECT count(*) as tpcount FROM " . DB_PREFIX . "qk_tree_info i," . DB_PREFIX . "qk_tree_order o WHERE i.order_id =o.id and 1=1 ";
  223. $sql_str .= " and i.order_id =" . $order_id . " and " . $sql_w . " 1=1";
  224. $count_sql .= " and i.order_id =" . $order_id . " and " . $sql_w . " 1=1";
  225. $model = D();
  226. $voList = $this->_Sql_list($model, $sql_str, "&" . $parameter, 'i.id', 0, $count_sql);
  227. foreach ($voList as $k => $v) {
  228. $voList[$k]['image'] = get_spec_image($v['image']);
  229. }
  230. //用户昵称
  231. $user_id = $GLOBALS['db']->getOne("SELECT u.id FROM ".DB_PREFIX."user u WHERE u.id = (SELECT user_id FROM ".DB_PREFIX."qk_tree_order o WHERE o.id =".$order_id.")");
  232. $this->assign('user_id',$user_id);
  233. $this->assign('order_id', $order_id);
  234. $this->assign('url_name', get_manage_url_name());
  235. $this->assign('list', $voList);
  236. $this->display();
  237. }
  238. //添加树苗成长信息
  239. public function add_tree_info()
  240. {
  241. $order_id = intval($_REQUEST['order_id']);//订单编号
  242. $this->assign('order_id', $order_id);
  243. $this->display();
  244. }
  245. //插入数据
  246. public function insert_tree_info()
  247. {
  248. $data['image'] = trim($_REQUEST['image']);//树苗成长图片
  249. $data['order_id'] = intval($_REQUEST['order_id']);//订单编号
  250. $now = get_gmtime();
  251. $data['create_at'] = $now;//成长信息创建时间
  252. $data['shoot_time'] = to_timespan(trim($_REQUEST['shoot_time']));
  253. if (!$data['order_id']) {
  254. admin_ajax_return(array('status' => '0', 'error' => '订单信息有误'));
  255. }
  256. if (!$data['image']) {
  257. admin_ajax_return(array('status' => '0', 'error' => '请上传树苗图片'));
  258. }
  259. if (!trim($_REQUEST['shoot_time'])) {
  260. admin_ajax_return(array('status' => '0', 'error' => '请选择拍摄时间'));
  261. }
  262. $GLOBALS['db']->autoExecute(DB_PREFIX . "qk_tree_info", $data, 'INSERT');
  263. if ($GLOBALS['db']->affected_rows()) {
  264. $res['status'] = 1;
  265. $res['error'] = '添加成功';
  266. } else {
  267. $res['status'] = 0;
  268. $res['error'] = '添加失败';
  269. }
  270. admin_ajax_return($res);
  271. }
  272. //编辑树苗成长信息
  273. public function edit_tree_info()
  274. {
  275. $id = intval($_REQUEST['id']);//树苗成长信息ID
  276. $tree_info = M('QkTreeInfo')->where('id =' . $id)->find();//树苗成长信息
  277. $tree_info['image'] = get_spec_image($tree_info['image']);
  278. $tree_info['shoot_time'] = to_date($tree_info['shoot_time']);
  279. $this->assign('tree_info', $tree_info);
  280. $this->display();
  281. }
  282. //更新数据
  283. public function update_tree_info()
  284. {
  285. $id = intval($_REQUEST['id']);//树苗成长信息ID
  286. $data['image'] = trim($_REQUEST['image']);//树苗成长图片
  287. $data['order_id'] = intval($_REQUEST['order_id']);//订单编号
  288. $now = get_gmtime();
  289. $data['update_at'] = $now;//更新时间
  290. $data['shoot_time'] = to_timespan(trim($_REQUEST['shoot_time']));
  291. if (!$data['order_id']) {
  292. admin_ajax_return(array('status' => '0', 'error' => '订单信息有误'));
  293. }
  294. if (!$data['image']) {
  295. admin_ajax_return(array('status' => '0', 'error' => '请上传树苗图片'));
  296. }
  297. if (!trim($_REQUEST['shoot_time'])) {
  298. admin_ajax_return(array('status' => '0', 'error' => '请选择拍摄时间'));
  299. }
  300. $GLOBALS['db']->autoExecute(DB_PREFIX . "qk_tree_info", $data, 'UPDATE', 'id =' . $id);
  301. if ($GLOBALS['db']->affected_rows()) {
  302. $res['status'] = 1;
  303. $res['error'] = '编辑成功';
  304. } else {
  305. $res['status'] = 0;
  306. $res['error'] = '编辑失败';
  307. }
  308. admin_ajax_return($res);
  309. }
  310. //检查图片大小
  311. }