ShopController.php 23 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499
  1. <?php
  2. /**
  3. * ShopController 商城相关api接口
  4. */
  5. class ShopController extends ApiBaseController{
  6. public function beforeAction($action){
  7. $weixin_use = array('addAddress','addressList','delAddress','editAddress');
  8. if(Yii::app()->getRequest()->getParam("request_from") == 'weixin' && in_array($action->id,$weixin_use)){
  9. return true;
  10. }
  11. return $this->verify();
  12. }
  13. /**
  14. * 商城首页
  15. */
  16. public function actionIndex(){
  17. $user_id = Yii::app()->getRequest()->getParam("user_id");
  18. $page = intval(Yii::app()->getRequest()->getParam("page",1));
  19. $user = CommonFn::getObJ($user_id,"ZUser");
  20. //获取所有商品
  21. $current_time = time();
  22. $pagesize = Yii::app()->params['shopIndexPageSize'];
  23. $conditions = array(
  24. 'status'=>array('==',1),
  25. 'start_time'=>array('<=',$current_time),
  26. 'end_time'=>array('>=',$current_time),
  27. 'count'=>array('>=',1),
  28. );
  29. $order = array(
  30. 'order'=>'desc',
  31. );
  32. $model = new Goods();
  33. $pagedata = CommonFn::getPagedata($model,$page,$pagesize,$conditions,$order);
  34. $goods_list = array();
  35. foreach ($pagedata['res'] as $key => $value) {
  36. if(isset($value['city_info']['province']) && $value['city_info']['province']){
  37. if($user && $user->city_info['province'] == $value['city_info']['province']){
  38. if($value['city_info']['city'] && $value['city_info']['city']!=$user->city_info['city']){
  39. continue;
  40. }else{
  41. $goods_list[] = $value;
  42. }
  43. }else{
  44. continue;
  45. }
  46. }else{
  47. $goods_list[] = $value;
  48. }
  49. }
  50. $data['goods'] = $goods_list;
  51. $Key = HelperKey::generateRedisKey(date('YmdHi'),'luck_users');
  52. $luckey_list = UserActionRedis::get($Key);
  53. if($luckey_list){
  54. $data['luckey_list'] = json_decode($luckey_list);
  55. }else{
  56. $criteria = new EMongoCriteria();
  57. $criteria->type('==','lottery');
  58. $lottery_goods = $model->findAll($criteria);
  59. $criteria = new EMongoCriteria();
  60. $model = new Order();
  61. $criteria->sort('time',EMongoCriteria::SORT_DESC);
  62. $criteria->limit(10);
  63. $goods_ids = array();
  64. if($lottery_goods){
  65. foreach ($lottery_goods as $key => $value) {
  66. $goods_ids[] = $value->_id;
  67. // $criteria->addCond('goods','or',array(array('goods_id' => $value->_id,'count' => 1)));
  68. }
  69. }
  70. $criteria->addCond('goods.goods_id','in',$goods_ids);
  71. $lottery_list = $model->findAll($criteria);
  72. $lucke_list =array();
  73. foreach ($lottery_list as $key => $value) {
  74. $order = $model->parseRow($value);
  75. $temp['user_name'] = $order['user']['user_name'];
  76. $temp['goods'] = $order['goods'][0];
  77. unset($temp['goods']['score']);
  78. unset($temp['goods']['type']);
  79. unset($temp['goods']['avatar']);
  80. unset($temp['goods']['buy_count']);
  81. unset($temp['goods']['market_price']);
  82. $luckey_list[] = $temp;
  83. }
  84. UserActionRedis::set($Key,json_encode($luckey_list));
  85. $data['luckey_list'] = $luckey_list;
  86. }
  87. CommonFn::requestAjax(true,CommonFn::getMessage('message','operation_success'),$data,200,array('sum_count' => $pagedata['sum_count'],'sum_page'=>$pagedata['sum_page'],'page_size'=>$pagedata['page_size'],'current_page'=>$pagedata['current_page']));
  88. }
  89. /**
  90. * 商品详情
  91. */
  92. public function actiongoodsDetail(){
  93. $goods_id = Yii::app()->getRequest()->getParam("goods_id");
  94. $user_id = Yii::app()->getRequest()->getParam("user_id");
  95. if(!$goods_id){
  96. CommonFn::requestAjax(false,CommonFn::getMessage('message','params_illegal'));
  97. }
  98. $goods = CommonFn::apigetObJ($goods_id,"ZGoods",CommonFn::getMessage('shop','goods_not_exist'));
  99. $data = Goods::model()->parseRow($goods);
  100. $user_obj = RUser::get(new MongoId($user_id));
  101. $score_enough = false;
  102. if($user_obj){
  103. $user = RUser::model()->parseRow($user_obj);
  104. if($user['score'] >= $goods->score){
  105. $score_enough = true;
  106. }
  107. }
  108. $data['score_enough'] = $score_enough;
  109. CommonFn::requestAjax(true,CommonFn::getMessage('message','operation_success'),$data);
  110. }
  111. /**
  112. * 新增收货地址
  113. */
  114. public function actionAddAddress(){
  115. $user_id = Yii::app()->getRequest()->getParam("user_id");
  116. $name = trim(Yii::app()->request->getParam('name',''));
  117. $mobile = Yii::app()->request->getParam('mobile');
  118. $position = json_decode(Yii::app()->request->getParam('address_position'),true);
  119. $address_position[0] = isset($position['lng'])?floatval($position['lng']):floatval(0);
  120. $address_position[1] = isset($position['lat'])?floatval($position['lat']):floatval(0);
  121. $phoneReg = Yii::app()->params['phoneReg'];
  122. if(!preg_match($phoneReg,$mobile)){
  123. CommonFn::requestAjax(false,CommonFn::getMessage('message','phone_illegal'));
  124. }
  125. $address = json_decode(Yii::app()->request->getParam('address'),true);
  126. if(!isset($address['province']) || empty($address['province'])){
  127. CommonFn::requestAjax(false,CommonFn::getMessage('message','params_illegal'));
  128. }
  129. $is_default = intval(Yii::app()->request->getParam('is_default'),0);
  130. if(!$name||!$mobile||!$address||!$user_id){
  131. CommonFn::requestAjax(false,CommonFn::getMessage('message','params_illegal'));
  132. }
  133. $user = CommonFn::apigetObJ($user_id,"ZUser",CommonFn::getMessage('user','id_not_exist'),201);
  134. $new_address = array('name'=>$name,'mobile'=>$mobile,'address'=>$address,'position' => $address_position,'is_default'=>$is_default,'address_id'=>time());
  135. if($is_default==1){
  136. foreach ($user->shop_address as $key => $value) {
  137. if(isset($value['is_default']) && $value['is_default'] == 1){
  138. $value['is_default'] = 0;
  139. }
  140. $user->shop_address[$key] = $value;
  141. $user->update(array('shop_address'),true);
  142. }
  143. }
  144. $user->shop_address = $user->shop_address?array_merge($user->shop_address,array($new_address)):array($new_address);
  145. $result = $user->update(array('shop_address'),true);
  146. if($result){
  147. CommonFn::requestAjax(true,CommonFn::getMessage('message','operation_success'),$new_address);
  148. }else{
  149. CommonFn::requestAjax(false,'操作失败,请稍后再试',array());
  150. }
  151. }
  152. /**
  153. * 收货地址列表
  154. */
  155. public function actionAddressList(){
  156. $user_id = Yii::app()->getRequest()->getParam("user_id");
  157. $user = CommonFn::apigetObJ($user_id,"ZUser",CommonFn::getMessage('user','id_not_exist'),201);
  158. $data = $user->shop_address?$user->shop_address:array();
  159. $data = array_values($data);
  160. CommonFn::requestAjax(true,CommonFn::getMessage('message','operation_success'),$data);
  161. }
  162. /**
  163. * 修改收货地址
  164. */
  165. public function actionEditAddress(){
  166. $user_id = Yii::app()->getRequest()->getParam("user_id");
  167. $name = trim(Yii::app()->request->getParam('name',''));
  168. $mobile = Yii::app()->request->getParam('mobile');
  169. $position = json_decode(Yii::app()->request->getParam('address_position'),true);
  170. $address_position[0] = isset($position['lng'])?floatval($position['lng']):floatval(0);
  171. $address_position[1] = isset($position['lat'])?floatval($position['lat']):floatval(0);
  172. $phoneReg = Yii::app()->params['phoneReg'];
  173. if(!preg_match($phoneReg,$mobile)){
  174. CommonFn::requestAjax(false,CommonFn::getMessage('message','phone_illegal'));
  175. }
  176. $address = json_decode(Yii::app()->request->getParam('address'),true);
  177. if(!isset($address['province']) || empty($address['province'])){
  178. CommonFn::requestAjax(false,CommonFn::getMessage('message','params_illegal'));
  179. }
  180. $address_id = Yii::app()->request->getParam('address_id');
  181. $is_default = intval(Yii::app()->request->getParam('is_default'),0);
  182. if(!$name||!$mobile||!$address||!$user_id||!$address_id){
  183. CommonFn::requestAjax(false,CommonFn::getMessage('message','params_illegal'));
  184. }
  185. $user = CommonFn::apigetObJ($user_id,"ZUser",CommonFn::getMessage('user','id_not_exist'),201);
  186. if($is_default==1){
  187. $old_address_list = $user->shop_address?$user->shop_address:array();
  188. foreach ($old_address_list as $key => $value) {
  189. if(isset($value['is_default']) && $value['is_default'] == 1){
  190. $value['is_default'] = 0;
  191. }
  192. $old_address_list[$key] = $value;
  193. }
  194. $user->shop_address = $old_address_list;
  195. $user->update(array('shop_address'),true);
  196. }
  197. $address_list = $user->shop_address?$user->shop_address:array();
  198. foreach ($address_list as $key => $value) {
  199. if($value['address_id'] == $address_id){
  200. $value['name'] = $name;
  201. $value['mobile'] = $mobile;
  202. $value['address'] = $address;
  203. $value['is_default'] = $is_default;
  204. $value['position'] = $address_position;
  205. $new_address = $value;
  206. $address_list[$key] = $new_address;
  207. }
  208. }
  209. if(!isset($new_address)){
  210. CommonFn::requestAjax(false,CommonFn::getMessage('shop','address_not_exist'));
  211. }
  212. $user->shop_address = $address_list;
  213. $result = $user->update(array('shop_address'),true);
  214. if($result){
  215. CommonFn::requestAjax(true,'地址修改成功',$new_address);
  216. }else{
  217. CommonFn::requestAjax(false,'地址修改失败',array());
  218. }
  219. }
  220. /**
  221. * 删除收货地址
  222. */
  223. public function actionDelAddress(){
  224. $user_id = Yii::app()->getRequest()->getParam("user_id");
  225. $address_id = Yii::app()->request->getParam('address_id');
  226. if(!$user_id||!$address_id){
  227. CommonFn::requestAjax(false,CommonFn::getMessage('message','params_illegal'));
  228. }
  229. $user = CommonFn::apigetObJ($user_id,"ZUser",CommonFn::getMessage('user','id_not_exist'),201);
  230. $address_list = $user->shop_address?$user->shop_address:array();
  231. foreach ($address_list as $key => $value) {
  232. if($value['address_id'] == $address_id){
  233. $old_address = $value;
  234. unset($address_list[$key]);
  235. }
  236. }
  237. if(!isset($old_address)){
  238. CommonFn::requestAjax(false,CommonFn::getMessage('shop','address_not_exist'));
  239. }
  240. if(empty($address_list)){
  241. CommonFn::requestAjax(false,CommonFn::getMessage('shop','address_less_one'));
  242. }
  243. $user->shop_address = $address_list;
  244. $result = $user->update(array('shop_address'),true);
  245. if($result){
  246. CommonFn::requestAjax(true,'地址删除成功');
  247. }else{
  248. CommonFn::requestAjax(false,'地址删除失败');
  249. }
  250. }
  251. public function actionCheckPermission(){
  252. $user_id = Yii::app()->getRequest()->getParam("user_id");
  253. $goods_id = Yii::app()->getRequest()->getParam("goods_id");
  254. $user_obj = CommonFn::apigetObJ($user_id,"ZUser",CommonFn::getMessage('user','id_not_exist'),201);
  255. if($user_obj->status == 0){
  256. CommonFn::requestAjax(false,CommonFn::getMessage('user','user_shop_forbidden'));
  257. }
  258. $user = RUser::model()->parseRow($user_obj);
  259. $goods = CommonFn::apigetObJ($goods_id,"ZGoods",CommonFn::getMessage('shop','goods_not_exist'));
  260. $level_limit = $goods->min_level;
  261. if($user['level']<$level_limit){
  262. CommonFn::requestAjax(false,CommonFn::getMessage('shop','level_too_low'));
  263. }
  264. if($goods->count<=0){
  265. CommonFn::requestAjax(false,CommonFn::getMessage('shop','goods_count_empty'),array('refresh'=>true));
  266. }
  267. if($user['score'] < $goods->score){
  268. CommonFn::requestAjax(false,CommonFn::getMessage('shop','score_too_low'));
  269. }
  270. $criteria = new EMongoCriteria();
  271. $criteria->user('==',$user_obj->_id);
  272. $criteria->goods('==',array(array('goods_id' => $goods->_id,'count' => 1)));
  273. $criteria->status('!=',-2);
  274. $have_exchange = Order::model()->count($criteria);
  275. if($have_exchange>=$goods->max_exchange){
  276. CommonFn::requestAjax(false,CommonFn::getMessage('shop','have_too_much'));
  277. }
  278. CommonFn::requestAjax(true,'success',(object)array());
  279. }
  280. /**
  281. * 商品兑换
  282. */
  283. public function actionExchange(){
  284. $user_id = Yii::app()->getRequest()->getParam("user_id");
  285. $goods_id = Yii::app()->getRequest()->getParam("goods_id");
  286. $memo = Yii::app()->getRequest()->getParam("memo","");
  287. $address_id = Yii::app()->getRequest()->getParam("address_id");
  288. if(!$user_id||!$goods_id||!$address_id){
  289. CommonFn::requestAjax(false,CommonFn::getMessage('message','params_illegal'));
  290. }
  291. $user_obj = CommonFn::apigetObJ($user_id,"ZUser",CommonFn::getMessage('user','id_not_exist'),201);
  292. $user = RUser::model()->parseRow($user_obj);
  293. if($user_obj->status == 0){
  294. CommonFn::requestAjax(false,CommonFn::getMessage('user','user_shop_forbidden'));
  295. }
  296. $goods = CommonFn::apigetObJ($goods_id,"ZGoods",CommonFn::getMessage('shop','goods_not_exist'));
  297. $address_list = $user_obj->shop_address?$user_obj->shop_address:array();
  298. $address = array();
  299. foreach ($address_list as $value) {
  300. if($address_id == $value['address_id']){
  301. $address = $value;
  302. }
  303. }
  304. if(!$address){
  305. CommonFn::requestAjax(false,CommonFn::getMessage('shop','address_false'));
  306. }
  307. if ($goods->type == 'exchange' && $goods->status == 1) {
  308. $criteria = new EMongoCriteria();
  309. $criteria->user('==',$user_obj->_id);
  310. $criteria->goods('==',array(array('goods_id' => $goods->_id,'count' => 1)));
  311. $criteria->status('!=',-2);
  312. $have_exchange = Order::model()->count($criteria);
  313. if($have_exchange>=$goods->max_exchange){
  314. CommonFn::requestAjax(false,CommonFn::getMessage('shop','have_too_much'));
  315. }
  316. $level_limit = $goods->min_level;
  317. if($user['level']<$level_limit){
  318. CommonFn::requestAjax(false,CommonFn::getMessage('shop','level_too_low'));
  319. }
  320. if($goods->count<=0){
  321. CommonFn::requestAjax(false,CommonFn::getMessage('shop','goods_count_empty'));
  322. }
  323. if($user['score'] < $goods->score){
  324. CommonFn::requestAjax(false,CommonFn::getMessage('shop','score_too_low'));
  325. }
  326. $order = new Order();
  327. $order->price = $goods->score;
  328. $order->time = time();
  329. $order->goods = array(array('goods_id' => $goods->_id,'count' => 1));
  330. $order->user = $user_obj->_id;
  331. $order->status = 0;
  332. $order->memo = $memo;
  333. $order->address = $address;
  334. $result = Service::factory('ScoreService')->cutDownScore($user_id,'exchange_goods',$goods->score);
  335. if($result && $order->save()){
  336. $goods->count = $goods->count>=1?$goods->count-1:0;
  337. $goods->update(array('count',true));
  338. $data['order_info'] = Order::model()->parseRow($order);
  339. CommonFn::requestAjax(true,CommonFn::getMessage('message','operation_success'),$data);
  340. }else{
  341. CommonFn::requestAjax(false,'order_false',array());
  342. }
  343. }elseif($goods->type == 'lottery'){
  344. $order_id = Yii::app()->getRequest()->getParam("order_id");
  345. $order = CommonFn::apigetObJ($order_id,"ZOrder",CommonFn::getMessage('message','params_illegal'));
  346. $order->address = $address;
  347. $order->memo = $memo;
  348. $order->status = 0;
  349. if($order->update(array('address','memo','status'),true)){
  350. $data['order_info'] = Order::model()->parseRow($order);
  351. CommonFn::requestAjax(true,CommonFn::getMessage('message','operation_success'),$data);
  352. }else{
  353. CommonFn::requestAjax(false,'order_false',array());
  354. }
  355. }else{
  356. CommonFn::requestAjax(false,CommonFn::getMessage('shop','goods_no_exchange'));
  357. }
  358. }
  359. /**
  360. * 商品抽奖
  361. */
  362. public function actionLottery(){
  363. $user_id = Yii::app()->getRequest()->getParam("user_id");
  364. $goods_id = Yii::app()->getRequest()->getParam("goods_id");
  365. $address_id = Yii::app()->getRequest()->getParam("address_id");
  366. $user_obj = CommonFn::apigetObJ($user_id,"ZUser",CommonFn::getMessage('user','id_not_exist'),201);
  367. $user = RUser::model()->parseRow($user_obj);
  368. if($user_obj->status == 0){
  369. CommonFn::requestAjax(false,CommonFn::getMessage('user','user_shop_forbidden'));
  370. }
  371. $goods = CommonFn::apigetObJ($goods_id,"ZGoods",CommonFn::getMessage('shop','goods_not_exist'));
  372. $level_limit = $goods->min_level;
  373. if($user['level']<$level_limit){
  374. CommonFn::requestAjax(false,CommonFn::getMessage('shop','level_too_low'));
  375. }
  376. if($goods->count<=0){
  377. CommonFn::requestAjax(false,CommonFn::getMessage('shop','goods_count_empty'));
  378. }
  379. if($goods->end_time <= time() || $goods->status == -2){
  380. CommonFn::requestAjax(false,CommonFn::getMessage('shop','goods_not_exist'));
  381. }
  382. if($user['score'] < $goods->score){
  383. CommonFn::requestAjax(false,CommonFn::getMessage('shop','score_too_low'));
  384. }
  385. $address_list = $user_obj->shop_address?$user_obj->shop_address:array();
  386. $address = array();
  387. foreach ($address_list as $value) {
  388. if($address_id == $value['address_id']){
  389. $address = $value;
  390. }
  391. }
  392. if(!$address){
  393. CommonFn::requestAjax(false,CommonFn::getMessage('shop','address_false'));
  394. }
  395. if ($goods->type == 'lottery') {
  396. $criteria = new EMongoCriteria();
  397. $criteria->user('==',$user_obj->_id);
  398. $criteria->goods('==',array(array('goods_id' => $goods->_id,'count' => 1)));
  399. $criteria->status('!=',-2);
  400. $have_exchange = Order::model()->count($criteria);
  401. if($have_exchange>=$goods->max_exchange){
  402. CommonFn::requestAjax(false,CommonFn::getMessage('shop','have_too_much'));
  403. }
  404. $date = date('Ymd');
  405. $Key = HelperKey::generateUserActionKey($user_id,$date,'lottery',$goods_id);
  406. $times = UserActionRedis::get($Key);
  407. $limit = $goods->max_times_per_day;
  408. if($times>=$limit){
  409. CommonFn::requestAjax(false,CommonFn::getMessage('shop','lottery_too_much'));
  410. }else{
  411. UserActionRedis::set($Key,$times+1);
  412. }
  413. $result = Service::factory('ScoreService')->cutDownScore($user_id,'lottery_goods',$goods->score);
  414. $probability = $goods->probability;
  415. $goods->lottertimes += 1;
  416. $goods->update(array('lottertimes'),true);
  417. // 用户中奖历史检查
  418. // 若用户已累计中奖十次以上则无法中奖
  419. $criteria_order = new EMongoCriteria();
  420. $criteria_order->user('==', new MongoId($user_id));
  421. $all_orders = Order::model()->findAll($criteria_order);
  422. if ($all_orders->count() >= 10) {
  423. $data['user'] = RUser::model()->parseRow($user_obj,array('id','score'));
  424. CommonFn::requestAjax(true,CommonFn::getMessage('shop','bad_luckey'),$data);
  425. }
  426. $result = Service::factory('LotteryService')->checkLucky($probability);
  427. if($result==1){
  428. $order = new Order();
  429. $order->time = time();
  430. $order->goods = array(array('goods_id' => $goods->_id,'count' => 1));
  431. $order->user = $user_obj->_id;
  432. $order->status = 3;
  433. $order->address = $address;
  434. $data['user'] = RUser::model()->parseRow($user_obj,array('id','score'));
  435. if($result && $order->save()){
  436. $goods->count = $goods->count>=1?$goods->count-1:0;
  437. $goods->update(array('count',true));
  438. $data['order_id'] = (string)$order->_id;
  439. CommonFn::requestAjax(true,CommonFn::getMessage('shop','good_luckey'),$data);
  440. }else{
  441. CommonFn::requestAjax(true,CommonFn::getMessage('shop','bad_luckey'),$data);
  442. }
  443. }else{
  444. $data['user'] = RUser::model()->parseRow($user_obj,array('id','score'));
  445. CommonFn::requestAjax(true,CommonFn::getMessage('shop','bad_luckey'),$data);
  446. }
  447. }else{
  448. CommonFn::requestAjax(false,CommonFn::getMessage('shop','goods_no_lottery'));
  449. }
  450. }
  451. /**
  452. * 订单列表
  453. */
  454. public function actionOrderList(){
  455. $user_id = Yii::app()->getRequest()->getParam("user_id");
  456. $user_obj = CommonFn::apigetObJ($user_id,"ZUser",CommonFn::getMessage('user','id_not_exist'),201);
  457. $page = intval(Yii::app()->getRequest()->getParam("page",1));
  458. $pagesize = Yii::app()->params['OrderListPageSize'];
  459. $conditions = array(
  460. 'user'=>array('==',$user_obj->_id)
  461. );
  462. $order = array(
  463. 'time'=>'desc',
  464. );
  465. $model = new Order();
  466. $pagedata = CommonFn::getPagedata($model,$page,$pagesize,$conditions,$order);
  467. $order_list = $pagedata['res'];
  468. foreach ($order_list as $key => $value) {
  469. $order_list[$key] = $model->output($value,array('id','price','order_num','time','time_str','status','status_str','status_str_color','goods'));
  470. }
  471. $data = array_values($order_list);
  472. CommonFn::requestAjax(true,CommonFn::getMessage('message','operation_success'),$data,200,array('sum_count' => $pagedata['sum_count'],'sum_page'=>$pagedata['sum_page'],'page_size'=>$pagedata['page_size'],'current_page'=>$pagedata['current_page']));
  473. }
  474. /**
  475. * 订单详情
  476. */
  477. public function actionOrderDetail(){
  478. $order_id = Yii::app()->getRequest()->getParam("order_id");
  479. $order = CommonFn::apigetObJ($order_id,"ZOrder",CommonFn::getMessage('message','params_illegal'));
  480. $data = Order::model()->parseRow($order,array('id','price','express_info','time','memo','order_num','time_str','status','status_str','status_str_color','goods','address'));
  481. CommonFn::requestAjax(true,CommonFn::getMessage('message','operation_success'),$data);
  482. }
  483. }