token.ctrl.php 7.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169
  1. <?php
  2. /**
  3. * [WeEngine System] Copyright (c) 2014 WE7.CC
  4. * WeEngine is NOT a free software, it under the license terms, visited http://www.we7.cc/ for more details.
  5. */
  6. defined('IN_IA') or exit('Access Denied');
  7. uni_user_permission_check('activity_token_display');
  8. $_W['page']['title'] = '代金券-积分兑换';
  9. $dos = array('display', 'post','del');
  10. $do = in_array($do, $dos) ? $do : 'display';
  11. $creditnames = array();
  12. $unisettings = uni_setting($uniacid, array('creditnames'));
  13. foreach ($unisettings['creditnames'] as $key=>$credit) {
  14. if (!empty($credit['enabled'])) {
  15. $creditnames[$key] = $credit['title'];
  16. }
  17. }
  18. if($do == 'post') {
  19. global $_W, $_GPC;
  20. $couponid = intval($_GPC['id']);
  21. $_W['page']['title'] = !empty($couponid) ? '代金券编辑 - 折扣券 - 会员营销' : '代金券添加 - 折扣券 - 会员营销';
  22. $item = pdo_fetch('SELECT * FROM ' . tablename('activity_coupon') . " WHERE uniacid = '{$_W['uniacid']}' AND couponid = '{$couponid}'");
  23. if(empty($item) || $couponid == 0) {
  24. $item['starttime'] = time();
  25. $item['endtime'] = time() + 6 * 86400;
  26. }
  27. $coupongroup = pdo_fetchall('SELECT groupid FROM ' . tablename('activity_coupon_allocation') . " WHERE uniacid = '{$_W['uniacid']}' AND couponid = '{$couponid}'");
  28. if(!empty($coupongroup)) {
  29. foreach($coupongroup as $cgroup) {
  30. $grouparr[] = $cgroup['groupid'];
  31. }
  32. }
  33. $group = pdo_fetchall('SELECT groupid,title FROM ' . tablename('mc_groups') . " WHERE uniacid = '{$_W['uniacid']}' ");
  34. if(!empty($grouparr)) {
  35. foreach($group as &$g){
  36. if(in_array($g['groupid'], $grouparr)) {
  37. $g['groupid_select'] = 1;
  38. }
  39. }
  40. }
  41. $coupon_modules = pdo_fetchall('SELECT module FROM ' . tablename('activity_coupon_modules') . " WHERE uniacid = '{$_W['uniacid']}' AND couponid = '{$couponid}'", array(), 'module');
  42. if(!empty($coupon_modules)) {
  43. $module = uni_modules();
  44. $keys = array_keys($coupon_modules);
  45. $item['module'] = implode('@', $keys);
  46. }
  47. if(checksubmit('submit')) {
  48. $title = !empty($_GPC['title']) ? trim($_GPC['title']) : message('请输入代金券名称!');
  49. $condition = !empty($_GPC['condition']) ? trim($_GPC['condition']) : message('请输入满多少钱可用!');
  50. $discount = !empty($_GPC['discount']) ? trim($_GPC['discount']) : message('请输入抵消金额!');
  51. if($condition < $discount) {
  52. message("满{$condition}元减{$discount}元,您要给客户发钱吗");
  53. }
  54. $groups = !empty($_GPC['group']) ? $_GPC['group'] : message('请选择可使用的会员组!');
  55. $thumb = !empty($_GPC['thumb']) ? $_GPC['thumb'] : message('请上传缩略图!');
  56. $description = !empty($_GPC['description']) ? trim($_GPC['description']) : message('请填写代金券说明!');
  57. $credittype = !empty($_GPC['credittype']) ? trim($_GPC['credittype']) : message('请选择积分类型!');
  58. $credit = intval($_GPC['credit']);
  59. $limit = intval($_GPC['limit']) ? intval($_GPC['limit']) : message('每人限领数目必须为数字!');
  60. $amount = intval($_GPC['amount']) ? intval($_GPC['amount']) : message('代金券总数必须为数字!');
  61. $starttime = strtotime($_GPC['datelimit']['start']);
  62. $endtime = strtotime($_GPC['datelimit']['end']);
  63. if ($endtime == $starttime) {
  64. $endtime = $endtime + 86399;
  65. }
  66. $data = array(
  67. 'uniacid' => $_W['uniacid'],
  68. 'title' => $title,
  69. 'type' => '2', 'condition' => $condition,
  70. 'discount' => $discount,
  71. 'thumb' => $_GPC['thumb'],
  72. 'description' => $description,
  73. 'credittype' => $credittype,
  74. 'credit' => $credit,
  75. 'limit' => $limit,
  76. 'amount' => $amount,
  77. 'starttime' => $starttime,
  78. 'endtime' => $endtime,
  79. );
  80. if ($couponid) {
  81. if(empty($item['couponsn'])) {
  82. $data['couponsn'] = 'AB' . $_W['uniacid'] . date('YmdHis');
  83. }
  84. pdo_update('activity_coupon', $data, array('uniacid' => $_W['uniacid'], 'couponid' => $couponid));
  85. } else {
  86. $data['couponsn'] = 'AB' . $_W['uniacid'] . date('YmdHis');
  87. pdo_insert('activity_coupon', $data);
  88. $couponid = pdo_insertid();
  89. }
  90. pdo_delete('activity_coupon_allocation', array('uniacid' => $_W['uniacid'], 'couponid' => $couponid));
  91. if($_GPC['group'] && $couponid) {
  92. foreach($_GPC['group'] as $gid) {
  93. $gid = intval($gid);
  94. $insert = array(
  95. 'uniacid' => $_W['uniacid'],
  96. 'couponid' => $couponid,
  97. 'groupid' => $gid
  98. );
  99. pdo_insert('activity_coupon_allocation', $insert) ? '' : message('抱歉,代金券更新失败!', referer(), 'error');
  100. unset($insert);
  101. }
  102. }
  103. pdo_delete('activity_coupon_modules', array('uniacid' => $_W['uniacid'], 'couponid' => $couponid));
  104. $module = trim($_GPC['module-select']);
  105. if(!empty($module) && $couponid) {
  106. $arr = explode('@', $module);
  107. foreach($arr as $li) {
  108. $data = array(
  109. 'uniacid' => $_W['uniacid'],
  110. 'couponid' => $couponid,
  111. 'module' => $li
  112. );
  113. $i++;
  114. pdo_insert('activity_coupon_modules', $data);
  115. }
  116. }
  117. message('代金券更新成功!', url('activity/token/display'), 'success');
  118. }
  119. }
  120. if($do == 'display') {
  121. $_W['page']['title'] = '代金券管理 - 代金券 - 会员营销';
  122. $pindex = max(1, intval($_GPC['page']));
  123. $psize = 30;
  124. $condition = '';
  125. if(!empty($_GPC['keyword'])) {
  126. $condition .= " AND title LIKE '%{$_GPC['keyword']}%'";
  127. }
  128. if(!empty($_GPC['couponsn'])) {
  129. $condition .= " AND couponsn LIKE '%{$_GPC['couponsn']}%'";
  130. }
  131. if(intval($_GPC['groupid'])) {
  132. $total = pdo_fetchcolumn('SELECT COUNT(*) FROM ' . tablename('activity_coupon') . " WHERE uniacid = '{$_W['uniacid']}' AND type = 2 " . $condition . " AND couponid IN (SELECT couponid FROM ".tablename('activity_coupon_allocation')." WHERE groupid = '{$_GPC['groupid']}')");
  133. $list = pdo_fetchall('SELECT * FROM ' . tablename('activity_coupon') . " WHERE uniacid = '{$_W['uniacid']}' AND type = 2 " . $condition . " AND couponid IN (SELECT couponid FROM ".tablename('activity_coupon_allocation')." WHERE groupid = '{$_GPC['groupid']}') ORDER BY couponid DESC LIMIT ".($pindex - 1) * $psize.','.$psize);
  134. } else {
  135. $total = pdo_fetchcolumn('SELECT COUNT(*) FROM ' . tablename('activity_coupon') . " WHERE uniacid = '{$_W['uniacid']}' AND type = 2" . $condition);
  136. $list = pdo_fetchall('SELECT * FROM ' . tablename('activity_coupon') . " WHERE uniacid = '{$_W['uniacid']}' AND type = 2 " . $condition . " ORDER BY couponid DESC LIMIT ".($pindex - 1) * $psize.','.$psize);
  137. }
  138. $groupall = pdo_fetchall('SELECT groupid,title FROM ' . tablename('mc_groups') . " WHERE uniacid = '{$_W['uniacid']}' ");
  139. foreach($list as &$li) {
  140. $group = pdo_fetchall('SELECT m.* FROM ' . tablename('activity_coupon_allocation') . " AS a LEFT JOIN ".tablename('mc_groups')." AS m ON a.groupid = m.groupid WHERE a.uniacid = '{$_W['uniacid']}' AND a.couponid = '{$li['couponid']}'");
  141. $li['group'] = $group;
  142. }
  143. foreach($list as &$li) {
  144. $li['thumb'] = tomedia($li['thumb']);
  145. }
  146. $pager = pagination($total, $pindex, $psize);
  147. }
  148. if($do == 'del') {
  149. $id = intval($_GPC['id']);
  150. $row = pdo_fetch("SELECT couponid FROM ".tablename('activity_coupon')." WHERE uniacid = '{$_W['uniacid']}' AND couponid = :couponid", array(':couponid' => $id));
  151. if (empty($row)) {
  152. message('抱歉,代金券不存在或是已经被删除!');
  153. }
  154. pdo_delete('activity_coupon_allocation', array('uniacid' => $_W['uniacid'],'couponid' => $id));
  155. pdo_delete('activity_coupon', array('uniacid' => $_W['uniacid'], 'couponid' => $id));
  156. pdo_delete('activity_coupon_record', array('uniacid' => $_W['uniacid'], 'couponid' => $id));
  157. message('代金券删除成功!',url('activity/token/display'), 'success');
  158. }
  159. template('activity/token');