RechargeController.php 7.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208
  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','==',strval($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. $coupon = new MongoId($coupon);
  85. $coupon_obj = Coupon::get($coupon);
  86. if (!$coupon_obj) {
  87. CommonFn::requestAjax(false, '代金券不存在');
  88. break;
  89. } else {
  90. $coupons_obj[$key] = $coupon;
  91. }
  92. }
  93. } else{
  94. //返现
  95. $cash_back = intval(Yii::app()->request->getParam('cash_back', ''));
  96. if ($cash_back <= 0 ){
  97. CommonFn::requestAjax(false, '返现金额不能为0');
  98. }
  99. }
  100. $recharge = new Recharge();
  101. $recharge->denomination = intval($denomination);//充值面额
  102. $recharge->cash_back = intval($cash_back);//返现金额
  103. $recharge->coupons = $coupons_obj;
  104. $recharge->desc = $desc;//描述
  105. $recharge->status = intval($status);//状态
  106. $addRecharge_arr = array('denomination','cash_back','status','desc','coupons');
  107. $success = $recharge->save(true, $addRecharge_arr);
  108. CommonFn::requestAjax($success, '', array());
  109. }
  110. public function actionEdit() {
  111. $denomination = intval(Yii::app()->request->getParam('denomination',''));//面额
  112. $desc = Yii::app()->request->getParam('desc', '');//描述
  113. $status = intval(Yii::app()->request->getParam('status', '0'));
  114. $id = Yii::app()->request->getParam('id', '');
  115. $coupons = array();//代金券
  116. $select_fun = Yii::app()->request->getParam('select_fun', '');
  117. $coupons_obj = array();
  118. //指定状态
  119. if ($status == 100) {
  120. CommonFn::requestAjax(false, '必须指定状态!');
  121. }
  122. //填写面额
  123. if (!isset($denomination)) {
  124. CommonFn::requestAjax(false, '必须填写面额!');
  125. }
  126. $cash_back = 0;
  127. if ($select_fun == 'coupon') {
  128. //数组分割处理
  129. $coupons = explode("<br />",nl2br(trim(Yii::app()->request->getParam('text_coupons'))));
  130. foreach ($coupons as $key => $coupon) {
  131. $coupon = rtrim(trim($coupon),',');
  132. foreach ($coupons as $k => $v) {
  133. if ($key != $k) {
  134. $v = rtrim(trim($v),',');
  135. if ($v == $coupon) {
  136. CommonFn::requestAjax(false, '代金券id重复');
  137. break;
  138. }
  139. }
  140. }
  141. $coupon = new MongoId($coupon);
  142. $coupon_obj = Coupon::get($coupon);
  143. if (!$coupon_obj) {
  144. CommonFn::requestAjax(false, '代金券不存在');
  145. break;
  146. } else {
  147. $coupons_obj[$key] = $coupon;
  148. }
  149. }
  150. } else{
  151. //返现
  152. $cash_back = intval(Yii::app()->request->getParam('cash_back', ''));
  153. if ($cash_back <= 0 ){
  154. CommonFn::requestAjax(false, '返现金额不能为0');
  155. }
  156. }
  157. $criteria = new EMongoCriteria();
  158. $criteria->_id = new MongoId($id);
  159. $recharge = Recharge::model()->find($criteria);
  160. $recharge->coupons = $coupons_obj;
  161. $recharge->cash_back = $cash_back;
  162. $recharge->desc = $desc;
  163. $recharge->denomination = $denomination;
  164. $recharge->status = $status;
  165. //保存修改的充值券信息
  166. $addRecharge_arr = array('denomination','cash_back','status','desc','coupons');
  167. $success = $recharge->save(true, $addRecharge_arr);
  168. CommonFn::requestAjax($success, '', array());
  169. }
  170. }