RUserController.php 4.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120
  1. <?php
  2. class RUserController extends AdminController{
  3. public function actionIndex()
  4. {
  5. $this->render('index');
  6. }
  7. public function actionList(){
  8. $search = Yii::app()->request->getParam('search', '');
  9. $id = Yii::app()->request->getParam('id', '');
  10. $params = CommonFn::getPageParams();
  11. if(isset($params['sort']) && isset($params['sort']['register_time'])){
  12. $params['sort'] = array('_id' => $params['sort']['register_time']);
  13. }
  14. $criteria = new EMongoCriteria($params);
  15. if ($id != ''){
  16. $user_id = new MongoId($id);
  17. $criteria->_id('==', $user_id);
  18. }
  19. if ($search != '' && !CommonFn::isMongoId($search) && !CommonFn::isDeviceId($search)){
  20. $criteria->user_name('or', new MongoRegex('/' . $search . '/'));
  21. if (CommonFn::isMongoId($search)){
  22. $criteria->_id('or', new MongoId($search));
  23. }
  24. }
  25. if (CommonFn::isMongoId($search)) {
  26. $criteria = new EMongoCriteria();
  27. $criteria->_id('==', new MongoId($search));
  28. }
  29. $cursor = RUser::model()->findAll($criteria);
  30. $total = $cursor->count();
  31. $rows = CommonFn::getRowsFromCursor($cursor);
  32. $parsedRows = RUser::model()->parse($rows);
  33. echo CommonFn::composeDatagridData($parsedRows, $total);
  34. }
  35. public function actionUpdate(){
  36. $id = Yii::app()->request->getParam('id', '');
  37. if(!$id){
  38. CommonFn::requestAjax(false, "缺少必须参数");
  39. }
  40. $criteria = new EMongoCriteria();
  41. $criteria->_id = new MongoId($id);
  42. $user = RUser::model()->find($criteria);
  43. //$keys = array('status','certify_status','is_fake_user','city_info');
  44. //$success = $user->save(true, $keys, true);
  45. CommonFn::requestAjax($success, $message, array());
  46. }
  47. public function actionGetCoupons(){
  48. $user_id = Yii::app()->getRequest()->getParam("user_id");
  49. $UserCoupon = new UserCoupon();
  50. $criteria = new EMongoCriteria();
  51. $criteria->user('==',new MongoId($user_id));
  52. $current_time = time();
  53. $criteria->end_time('>=',$current_time);
  54. $criteria->status('==',1);
  55. $coupons = UserCoupon::model()->findAll($criteria);
  56. $coupon_list = array();
  57. foreach ($coupons as $value) {
  58. $coupon = Coupon::get($value->coupon);
  59. if($coupon->status!=1){
  60. continue;
  61. }
  62. $coupon = $UserCoupon->parseRow($value,array('id','start_time','end_time','start_time_str','end_time_str','coupon'));
  63. $coupon['unuseable_reason'] = '可使用';
  64. $coupon_list[] = $coupon;
  65. }
  66. $criteria = new EMongoCriteria();
  67. $criteria->user('==',new MongoId($user_id));
  68. $criteria->status('==',-1);
  69. $coupons = UserCoupon::model()->findAll($criteria);
  70. foreach ($coupons as $value) {
  71. $coupon = $UserCoupon->parseRow($value,array('id','start_time','end_time','start_time_str','end_time_str','coupon'));
  72. $coupon['unuseable_reason'] = '已使用';
  73. $coupon_list[] = $coupon;
  74. }
  75. $criteria = new EMongoCriteria();
  76. $criteria->user('==',new MongoId($user_id));
  77. $current_time = time();
  78. $criteria->end_time('<',$current_time);
  79. $coupons = UserCoupon::model()->findAll($criteria);
  80. foreach ($coupons as $value) {
  81. $coupon = $UserCoupon->parseRow($value,array('id','start_time','end_time','start_time_str','end_time_str','coupon'));
  82. $coupon['unuseable_reason'] = '已过期';
  83. $coupon_list[] = $coupon;
  84. }
  85. foreach ($coupon_list as $key => $value) {
  86. $coupon_list[$key]['name'] = $value['coupon']['name'];
  87. $coupon_list[$key]['value'] = $value['coupon']['value'];
  88. $coupon_list[$key]['min_price'] = $value['coupon']['min_price'];
  89. $coupon_list[$key]['type_str'] = $value['coupon']['type_str'];
  90. }
  91. $total = count($coupon_list);
  92. $data = $coupon_list;
  93. echo CommonFn::composeDatagridData($data, $total);
  94. }
  95. }