RechargeController.php 7.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219
  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. $order = intval(Yii::app()->request->getParam('order', 1));
  61. $coupons = array();
  62. $select_fun = Yii::app()->request->getParam('add_select_fun', '');
  63. $flag = empty($denomination);
  64. $flag = $flag || $status == -1 ;
  65. if ($flag) {
  66. CommonFn::requestAjax(false, '请检查数据完整性', array());
  67. exit;
  68. }
  69. $coupons_obj = array();
  70. //判断 返现 代金券
  71. if ($select_fun == 'coupon') {
  72. //数组分割处理
  73. $coupons = explode("<br />",nl2br(trim(Yii::app()->request->getParam('coupons'))));
  74. foreach ($coupons as $key => $coupon) {
  75. $coupon = rtrim(trim($coupon),',');
  76. foreach ($coupons as $k => $v) {
  77. if ($key != $k) {
  78. $v = rtrim(trim($v),',');
  79. if ($v == $coupon) {
  80. CommonFn::requestAjax(false, '代金券id重复');
  81. break;
  82. }
  83. }
  84. }
  85. if (CommonFn::isMongoId($coupon)) {
  86. $coupon = new MongoId($coupon);
  87. $coupon_obj = Coupon::get($coupon);
  88. if (!$coupon_obj) {
  89. CommonFn::requestAjax(false, '代金券不存在');
  90. break;
  91. } else {
  92. $coupons_obj[$key] = $coupon;
  93. }
  94. } else {
  95. CommonFn::requestAjax(false, '代金券输入错误');
  96. break;
  97. }
  98. }
  99. } else{
  100. //返现
  101. $cash_back = intval(Yii::app()->request->getParam('cash_back', ''));
  102. if ($cash_back < 0 ){
  103. CommonFn::requestAjax(false, '返现金额不能为0');
  104. }
  105. }
  106. $recharge = new Recharge();
  107. $recharge->denomination = intval($denomination);//充值面额
  108. $recharge->cash_back = intval($cash_back);//返现金额
  109. $recharge->coupons = $coupons_obj;
  110. $recharge->desc = $desc;//描述
  111. $recharge->status = intval($status);//状态
  112. $recharge->order = $order;
  113. $addRecharge_arr = array('denomination','cash_back','status','desc','coupons','order');
  114. $success = $recharge->save(true, $addRecharge_arr);
  115. CommonFn::requestAjax($success, '', array());
  116. }
  117. public function actionEdit() {
  118. $denomination = intval(Yii::app()->request->getParam('denomination',''));//面额
  119. $desc = Yii::app()->request->getParam('desc', '');//描述
  120. $status = intval(Yii::app()->request->getParam('status', 0));//状态
  121. $order = intval(Yii::app()->request->getParam('order', 1));
  122. $id = Yii::app()->request->getParam('id', '');
  123. $coupons = array();//代金券
  124. $select_fun = Yii::app()->request->getParam('select_fun', '');
  125. $coupons_obj = array();
  126. //指定状态
  127. if ($status == 100) {
  128. CommonFn::requestAjax(false, '必须指定状态!');
  129. }
  130. //填写面额
  131. if (!isset($denomination)) {
  132. CommonFn::requestAjax(false, '必须填写面额!');
  133. }
  134. $cash_back = 0;
  135. if ($select_fun == 'coupon') {
  136. //数组分割处理
  137. $coupons = explode("<br />",nl2br(trim(Yii::app()->request->getParam('text_coupons'))));
  138. if (empty($coupons[0])) {
  139. CommonFn::requestAjax(false, '请输入代金券');
  140. }
  141. foreach ($coupons as $key => $coupon) {
  142. $coupon = rtrim(trim($coupon),',');
  143. /*foreach ($coupons as $k => $v) {
  144. if ($key != $k) {
  145. $v = rtrim(trim($v),',');
  146. if ($v == $coupon) {
  147. CommonFn::requestAjax(false, '代金券id重复');
  148. break;
  149. }
  150. }
  151. }*/
  152. $coupon = new MongoId($coupon);
  153. $coupon_obj = Coupon::get($coupon);
  154. if (!$coupon_obj) {
  155. CommonFn::requestAjax(false, '代金券不存在');
  156. break;
  157. } else {
  158. $coupons_obj[$key] = $coupon;
  159. }
  160. }
  161. } else{
  162. //返现
  163. $cash_back = intval(Yii::app()->request->getParam('cash_back', ''));
  164. if ($cash_back < 0 ){
  165. CommonFn::requestAjax(false, '返现金额不能为0');
  166. }
  167. }
  168. $criteria = new EMongoCriteria();
  169. $criteria->_id = new MongoId($id);
  170. $recharge = Recharge::model()->find($criteria);
  171. $recharge->order = $order;
  172. $recharge->coupons = $coupons_obj;
  173. $recharge->cash_back = $cash_back;
  174. $recharge->desc = $desc;
  175. $recharge->denomination = $denomination;
  176. $recharge->status = $status;
  177. //保存修改的充值券信息
  178. $addRecharge_arr = array('denomination','cash_back','status','desc','coupons','order');
  179. $success = $recharge->save(true, $addRecharge_arr);
  180. CommonFn::requestAjax($success, '', array());
  181. }
  182. }