scene('list')->validate(); // 查询条件 $map = []; $limit = request('limit', config('page_num', 10)); $status = request('status', ''); $start_time = request('start_time', ''); $end_time = request('end_time', ''); $product_name = request('product_name', ''); $platform = request('platform', ''); $store_scope = request('store_scope', ''); $company_scope = request('company_scope', ''); // 时间条件 if ($start_time) $map[] = ['insert_time', '>=', strtotime($start_time)]; if ($end_time) $map[] = ['insert_time', '<=', strtotime($end_time)]; // 其他条件 if ($status) $map[] = ['status', '=', $status]; if ($product_name) $map[] = ['product_name', 'like', "%$product_name%"]; if ($platform) $map[] = ['platform', 'like', "%$platform%"]; if ($store_scope) $map[] = ['store_scope', '=', $store_scope]; if ($company_scope) $map[] = ['company_scope', '=', $company_scope]; // 查询数据 $result = $ControlGoodsModel->query() ->where($map) ->orderByDesc('id') ->paginate($limit)->toarray(); // 分配数据 if (!$result) return json_send(['code' => 'error', 'msg' => '暂无数据']); if (isset($result['data']) && count($result['data']) > 0) { foreach ($result['data'] as $key => $value) { $result['data'][$key]['platform'] = isset($value['platform']) ? explode(',', $value['platform']) : ''; //查询店铺名称 if (trim($value['store_scope']) == '') { $result['data'][$key]['store_name'] = ['全部店铺']; } else { $result['data'][$key]['store_name'] = ''; } //查询公司名称 if ($value['company_scope'] == '1') { $result['data'][$key]['company_name'] = ['全部公司']; } else { $company_data = $ControlGoodsCompanyModel->where('control_product_logid', $value['id']) ->join('washconfig_violation_store', 'washconfig_violation_store.id', '=', 'washconfig_control_product_company.company_id') ->select(['washconfig_violation_store.id', 'washconfig_violation_store.company_name', 'washconfig_control_product_company.company_id'])->get()->toArray(); $result['data'][$key]['company_name'] = !empty($company_data) ? array_column($company_data, 'company_name') : ''; } } } // 加载模板 return json_send(['code' => 'success', 'msg' => '获取成功', 'data' => $result]); } /** * 详情 * @author 唐远望 * @version 1.0 * @date 2025-12-03 */ public function detail(Request $request, ControlGoodsModel $ControlGoodsModel, ViolationStoreModel $ViolationStoreModel, ControlGoodsCompanyModel $ControlGoodsCompanyModel) { $request->scene('detail')->validate(); // 接收参数 $id = request('id', 0); $map = ['id' => $id]; $data = $ControlGoodsModel->where($map)->first(); if (!$data) return json_send(['code' => 'error', 'msg' => '记录不存在']); //查询店铺名称 if (trim($data['store_scope']) == '') { $data['store_name'] = ['全部店铺']; } else { $data['store_name'] = ''; } //查询公司名称 if ($data->company_scope == '1') { $data->company_name = ['全部公司']; $data->company_ids =''; } else { $company_data = $ControlGoodsCompanyModel->where('control_product_logid', $data->id) ->join('washconfig_violation_store', 'washconfig_violation_store.id', '=', 'washconfig_control_product_company.company_id') ->select(['washconfig_violation_store.id', 'washconfig_violation_store.company_name', 'washconfig_control_product_company.company_id'])->get()->toArray(); $data->company_name = !empty($company_data) ? array_column($company_data, 'company_name') : ''; $data->company_ids = !empty($company_data) ? array_column($company_data, 'company_id') : ''; } $data->platform = isset($data->platform) ? explode(',', $data->platform) : ''; // 加载模板 return json_send(['code' => 'success', 'msg' => '获取成功', 'data' => $data]); } /** * 添加 * @author 唐远望 * @version 1.0 * @date 2025-12-03 * */ public function add(Request $request, ControlGoodsModel $ControlGoodsModel) { $request->scene('add')->validate(); // 接收数据 $all_data = request()->all(); $store_scope = request('store_scope', ''); $all_data['store_scope'] = $store_scope; $company_scope = request('company_scope', ''); $all_data['company_scope'] = $company_scope; //查询是否存在 $map = ['product_name' => $all_data['product_name'], 'product_specs' => $all_data['product_specs'], 'platform' => $all_data['platform']]; $data = $ControlGoodsModel->where($map)->first(); if ($data) return json_send(['code' => 'error', 'msg' => '记录已存在']); // 写入数据表 $result = $ControlGoodsModel->addControlGoods($all_data); // 如果操作失败 if (!$result) return json_send(['code' => 'error', 'msg' => '新增失败']); // 告知结果 return json_send(['code' => 'success', 'msg' => '新增成功']); } /** * 修改 * @author 唐远望 * @version 1.0 * @date 2025-12-03 * */ public function edit(Request $request, ControlGoodsModel $ControlGoodsModel) { $request->scene('edit')->validate(); // 接收参数 $id = request('id', 0); // 接收数据 $all_data = request()->all(); $store_scope = request('store_scope', ''); $all_data['store_scope'] = $store_scope; $company_scope = request('company_scope', ''); $all_data['company_scope'] = $company_scope; //查询是否存在 $map = ['product_name' => $all_data['product_name'], 'product_specs' => $all_data['product_specs'], 'platform' => $all_data['platform']]; $data = $ControlGoodsModel->where($map)->where('id', '!=', $id)->first(); if ($data) return json_send(['code' => 'error', 'msg' => '记录已存在']); // 更新数据表 $where = ['id' => $id]; $result = $ControlGoodsModel->updateControlGoods($where, $all_data); // 如果操作失败 if (!$result) return json_send(['code' => 'error', 'msg' => '修改失败']); // 告知结果 return json_send(['code' => 'success', 'msg' => '修改成功']); } /** * 修改状态 * @author 唐远望 * @version 1.0 * @date 2025-12-03 * */ public function set_status(Request $request, ControlGoodsModel $ControlGoodsModel) { // 验证参数 $request->scene('set_status')->validate(); // 接收数据 $id = request('id', 0); $status = request('status', 0); // 查询用户 $where = ['id' => $id]; // 执行修改 $result = $ControlGoodsModel->changeStatus($where, $status); // 提示新增失败 if (!$result) return json_send(['code' => 'error', 'msg' => '设置失败']); // 告知结果 return json_send(['code' => 'success', 'msg' => '设置成功']); } /** * 删除 * @author 唐远望 * @version 1.0 * @date 2025-12-03 * */ public function delete(Request $request, ControlGoodsModel $ControlGoodsModel) { // 验证参数 $request->scene('delete')->validate(); // 接收数据 $id = request('id', 0); // 查询用户 $where = ['id' => $id]; // 执行删除 $result = $ControlGoodsModel->deleteControlGoods($where); // 提示删除失败 if (!$result) return json_send(['code' => 'error', 'msg' => '删除失败']); // 告知结果 return json_send(['code' => 'success', 'msg' => '删除成功']); } }