| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475 |
- <?php
- /**
- * 重庆赤晓店信息科技有限公司
- * https://www.chixiaodian.com
- * Copyright (c) 2023 赤店商城 All rights reserved.
- */
- namespace app\plugins\integral\controllers;
- use app\models\Goods;
- use app\models\SaasIntegralCat;
- use app\models\User;
- use app\plugins\integral\models\form\GoodsForm;
- use app\plugins\integral\models\SaasIntegralGoods;
- use app\plugins\integral\models\SaasIntegralOrder;
- class OrderController extends BaseController
- {
- public function actionList() {
- $status = get_params('status', -1);
- $key = get_params('key');
- $query = SaasIntegralOrder::find()->alias('sio')->where(['sio.store_id' => get_store_id(),
- 'sio.is_delete' => 0])->leftJoin(['g' => Goods::tableName()],'g.id=sio.goods_id')
- ->leftJoin(['sig' => SaasIntegralGoods::tableName()],'sig.goods_id=sio.goods_id');
- if (!empty($key)) {
- $query->andWhere([
- 'or',
- ['like', 'g.name', $key],
- ['like', 'sig.name', $key],
- ['like', 'sio.name', $key],
- ['like', 'sio.order_no', $key],
- ]);
- }
- if ($status >= 0) {
- $query->andWhere(['sio.is_clerk' => $status]);
- }
- $query->select('sio.*, g.cover_pic, g.name AS origin_name, sig.attr AS integral_goods_attr, sig.cat_id AS integral_cat_id')->orderBy(['sio.is_clerk' => SORT_ASC, 'sio.created_at' => SORT_DESC]);
- $list = pagination_make($query);
- foreach ($list['list'] as &$val) {
- $user = User::findOne($val['user_id']);
- $val['user_name'] = $user->nickname;
- $val['binding'] = $user->binding;
- $val['cat_name'] = SaasIntegralCat::findOne($val['integral_cat_id'])->name;
- $val['created_at'] = date('Y-m-d H:i:s', $val['created_at']);
- $attr = json_decode($val['integral_goods_attr'], true);
- $count = count($attr);
- $str = '';
- foreach ($attr as $key => &$value) {
- $attr_group = GoodsForm::getAttrGroupByAttId($value['attr_id']);
- $t = $value['attr_name'];
- unset($value['attr_name']);
- $value['attr_group_name'] = $attr_group ? $attr_group->attr_group_name : null;
- $value['attr_name'] = $t;
- $str .= $value['attr_group_name'] . ':' . $t;
- if ($key < $count - 1) {
- $str .= ',';
- }
- }
- $val['attr_str'] = $str;
- }
- return [
- 'code' => 0,
- 'msg' => 'success',
- 'data' => [
- 'data' => $list['list'],
- 'pageNo' => $list['pageNo'],
- 'totalCount' => $list['totalCount'],
- ],
- ];
- }
- }
|