lqmac 11 months ago
parent 29b7f903e8
commit fad622eead
  1. 3
      app/api/controller/Controller.php
  2. 5
      app/api/controller/Goods.php
  3. 38
      app/common/model/Goods.php
  4. 8
      app/store/controller/Goods.php

@ -32,6 +32,8 @@ class Controller extends BaseController
// 当前商城ID // 当前商城ID
protected int $storeId; protected int $storeId;
protected $storeInfo;
/** /**
* API基类初始化 * API基类初始化
* @throws BaseException * @throws BaseException
@ -82,6 +84,7 @@ class Controller extends BaseController
if ($store['is_recycle'] || $store['is_delete']) { if ($store['is_recycle'] || $store['is_delete']) {
throwError('很抱歉,当前商城已删除'); throwError('很抱歉,当前商城已删除');
} }
$this->storeInfo = $store;
} }
/** /**

@ -39,9 +39,14 @@ class Goods extends Controller
*/ */
public function list(): Json public function list(): Json
{ {
// 获取列表数据 // 获取列表数据
$model = new GoodsModel; $model = new GoodsModel;
$param = $this->request->param(); $param = $this->request->param();
//限制过滤条件-渠道
$param['channels'] = $this->storeInfo['open_channel'] ? array_merge(['zy'], explode(",", $this->storeInfo['open_channel'])) : [];
//分类利润-利润率
$param['fliter_condition'] = $this->storeInfo['fliter_condition'];
$list = $model->getList($param); $list = $model->getList($param);
return $this->renderSuccess(compact('list')); return $this->renderSuccess(compact('list'));
} }

@ -329,13 +329,36 @@ class Goods extends BaseModel
$query = $query->whereRaw('goods_name like ? or goods_no like ?', ["%{$val}%", "%{$val}%"]); $query = $query->whereRaw('goods_name like ? or goods_no like ?', ["%{$val}%", "%{$val}%"]);
} }
} }
// 执行查询 if (isset($param['fliter_condition']) && $param['fliter_condition']) {
$list = $query->with(['images.file']) $fliter_condition = json_decode($param['fliter_condition'], true);
->alias($this->name)
->field($field) $str = "";
->where('is_delete', '=', 0) foreach ($fliter_condition as $value) {
->order($sort) $strConditon = "(";
->paginate($listRows); $strConditon .= "goods_category_rel.category_id in (".implode(",", $value['category']).")";
$strConditon .= " and goods.profit >= ".$value['profit'];
$strConditon .= " and goods.profit_rate >= ".$value['profit_rate'] . ") or ";
$str .= $strConditon;
}
$str = trim($str, "or ");
// 执行查询
$list = $query->with(['images.file'])
->alias($this->name)
->field($field)
->where('is_delete', '=', 0)
->where($str)
->order($sort)
->paginate($listRows);
} else {
// 执行查询
$list = $query->with(['images.file'])
->alias($this->name)
->field($field)
->where('is_delete', '=', 0)
->order($sort)
->paginate($listRows);
}
// 整理列表数据并返回 // 整理列表数据并返回
return $this->setGoodsListData($list); return $this->setGoodsListData($list);
@ -526,6 +549,7 @@ class Goods extends BaseModel
if (isset($param['is_has_detail']) && $param['is_has_detail'] !== '') { if (isset($param['is_has_detail']) && $param['is_has_detail'] !== '') {
$filter[] = ['goods.is_has_detail', '=', $params['is_has_detail']]; $filter[] = ['goods.is_has_detail', '=', $params['is_has_detail']];
} }
// 实例化新查询对象 // 实例化新查询对象
return $query->where($filter); return $query->where($filter);
} }

@ -158,10 +158,10 @@ class Goods extends Controller
$params['goods_no'] = $model->goods_no; $params['goods_no'] = $model->goods_no;
} }
echo "<pre>"; // echo "<pre>";
print_r($params); // print_r($params);
print_r($model->toArray()); // print_r($model->toArray());
exit(); // exit();
// 更新记录 // 更新记录
if ($model->edit($params)) { if ($model->edit($params)) {
return $this->renderSuccess('更新成功'); return $this->renderSuccess('更新成功');

Loading…
Cancel
Save