RechargeController.php 7.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216
  1. <?php
  2. /**
  3. * Created by PhpStorm.
  4. * User: PHP
  5. * Date: 2016/9/28
  6. * Time: 9:29
  7. */
  8. class RechargeController extends AdminController {
  9. public function actionIndex() {
  10. $status_option = Recharge::$status_option;
  11. $status = CommonFn::getComboboxData($status_option, 100, true, 100);
  12. // 代金券信息
  13. $criteria_main = new EMongoCriteria();
  14. $criteria_main->status('==', 1);
  15. $conpon_main = Coupon::model()->findAll($criteria_main);
  16. $rows_main = CommonFn::getRowsFromCursor($conpon_main);
  17. $main_row = array();
  18. foreach($rows_main as $row){
  19. $ids = (string)$row['_id'];
  20. $main_row[$ids] = array('name' =>$row['name']);
  21. }
  22. $main_coupons = CommonFn::getComboboxData($main_row, 100, true, 100);
  23. $this->render('index', array(
  24. 'status' => $status,
  25. 'main_coupons' => $main_coupons,
  26. ));
  27. }
  28. public function actionList() {
  29. $search = Yii::app()->request->getParam('search', '');
  30. $id = Yii::app()->request->getParam('id', '');
  31. $filter_status = intval(Yii::app()->request->getParam('status', 100));
  32. $params = CommonFn::getPageParams();
  33. $criteria = new EMongoCriteria($params);
  34. if ($id != ''){
  35. $recharge_id = new MongoId($id);
  36. $criteria->_id('==', $recharge_id);
  37. }
  38. if ($filter_status != 100){
  39. $criteria->addCond('status','==',intval($filter_status));
  40. }
  41. if ($search != ''){
  42. if(CommonFn::isMongoId($search)){
  43. $criteria->_id('==', new MongoId($search));
  44. $criteria->addCond('_id','or',new MongoId($search));
  45. $criteria->addCond('user','or',new MongoId($search));
  46. }
  47. }
  48. $recharge = Recharge::model()->findAll($criteria);
  49. $total = $recharge->count();
  50. $rows = CommonFn::getRowsFromCursor($recharge);
  51. $parsedRows = Recharge::model()->parse($rows);
  52. echo CommonFn::composeDatagridData($parsedRows, $total);
  53. }
  54. //添加充值卡信息
  55. public function actionAdd () {
  56. $denomination = intval(Yii::app()->request->getParam('denomination', 0));
  57. $cash_back = intval(Yii::app()->request->getParam('cash_back', 0));
  58. $status = intval(Yii::app()->request->getParam('status', 0));
  59. $desc = Yii::app()->request->getParam('desc', '');
  60. $coupons = array();
  61. $select_fun = Yii::app()->request->getParam('add_select_fun', '');
  62. $flag = empty($denomination);
  63. $flag = $flag || $status == -1 ;
  64. if ($flag) {
  65. CommonFn::requestAjax(false, '请检查数据完整性', array());
  66. exit;
  67. }
  68. $coupons_obj = array();
  69. //判断 返现 代金券
  70. if ($select_fun == 'coupon') {
  71. //数组分割处理
  72. $coupons = explode("<br />",nl2br(trim(Yii::app()->request->getParam('coupons'))));
  73. foreach ($coupons as $key => $coupon) {
  74. $coupon = rtrim(trim($coupon),',');
  75. foreach ($coupons as $k => $v) {
  76. if ($key != $k) {
  77. $v = rtrim(trim($v),',');
  78. if ($v == $coupon) {
  79. CommonFn::requestAjax(false, '代金券id重复');
  80. break;
  81. }
  82. }
  83. }
  84. if (CommonFn::isMongoId($coupon)) {
  85. $coupon = new MongoId($coupon);
  86. $coupon_obj = Coupon::get($coupon);
  87. if (!$coupon_obj) {
  88. CommonFn::requestAjax(false, '代金券不存在');
  89. break;
  90. } else {
  91. $coupons_obj[$key] = $coupon;
  92. }
  93. } else {
  94. CommonFn::requestAjax(false, '代金券输入错误');
  95. break;
  96. }
  97. }
  98. } else{
  99. //返现
  100. $cash_back = intval(Yii::app()->request->getParam('cash_back', ''));
  101. if ($cash_back <= 0 ){
  102. CommonFn::requestAjax(false, '返现金额不能为0');
  103. }
  104. }
  105. $recharge = new Recharge();
  106. $recharge->denomination = intval($denomination);//充值面额
  107. $recharge->cash_back = intval($cash_back);//返现金额
  108. $recharge->coupons = $coupons_obj;
  109. $recharge->desc = $desc;//描述
  110. $recharge->status = intval($status);//状态
  111. $addRecharge_arr = array('denomination','cash_back','status','desc','coupons');
  112. $success = $recharge->save(true, $addRecharge_arr);
  113. CommonFn::requestAjax($success, '', array());
  114. }
  115. public function actionEdit() {
  116. $denomination = intval(Yii::app()->request->getParam('denomination',''));//面额
  117. $desc = Yii::app()->request->getParam('desc', '');//描述
  118. $status = intval(Yii::app()->request->getParam('status', '0'));
  119. $id = Yii::app()->request->getParam('id', '');
  120. $coupons = array();//代金券
  121. $select_fun = Yii::app()->request->getParam('select_fun', '');
  122. $coupons_obj = array();
  123. //指定状态
  124. if ($status == 100) {
  125. CommonFn::requestAjax(false, '必须指定状态!');
  126. }
  127. //填写面额
  128. if (!isset($denomination)) {
  129. CommonFn::requestAjax(false, '必须填写面额!');
  130. }
  131. $cash_back = 0;
  132. if ($select_fun == 'coupon') {
  133. //数组分割处理
  134. $coupons = explode("<br />",nl2br(trim(Yii::app()->request->getParam('text_coupons'))));
  135. foreach ($coupons as $key => $coupon) {
  136. $coupon = rtrim(trim($coupon),',');
  137. foreach ($coupons as $k => $v) {
  138. if ($key != $k) {
  139. $v = rtrim(trim($v),',');
  140. if ($v == $coupon) {
  141. CommonFn::requestAjax(false, '代金券id重复');
  142. break;
  143. }
  144. }
  145. }
  146. $coupon = new MongoId($coupon);
  147. $coupon_obj = Coupon::get($coupon);
  148. if (!$coupon_obj) {
  149. CommonFn::requestAjax(false, '代金券不存在');
  150. break;
  151. } else {
  152. $coupons_obj[$key] = $coupon;
  153. }
  154. }
  155. } else{
  156. //返现
  157. $cash_back = intval(Yii::app()->request->getParam('cash_back', ''));
  158. if ($cash_back <= 0 ){
  159. CommonFn::requestAjax(false, '返现金额不能为0');
  160. }
  161. }
  162. $criteria = new EMongoCriteria();
  163. $criteria->_id = new MongoId($id);
  164. $recharge = Recharge::model()->find($criteria);
  165. $recharge->coupons = $coupons_obj;
  166. $recharge->cash_back = $cash_back;
  167. $recharge->desc = $desc;
  168. $recharge->denomination = $denomination;
  169. $recharge->status = $status;
  170. //保存修改的充值券信息
  171. $addRecharge_arr = array('denomination','cash_back','status','desc','coupons');
  172. $success = $recharge->save(true, $addRecharge_arr);
  173. CommonFn::requestAjax($success, '', array());
  174. }
  175. }