0, // 默认 'shelves' => 1, // 已上架 'status_sold_out' => 2 // 已下架 ]; private static $AUDIT_STATUS = [ 'audit_status_stay' => 0, // 待审核 'audit_status_ok' => 1, // 审核通过 'audit_status_refuse' => 2 // 审核失败 ]; // 获取商品列表 public static function lists($get) { // 1 已上架 2 已下架 if ($get['type'] == 1 || $get['type'] == 2) { $where[] = ['state', '=', $get['type']]; $where[] = ['audit_status', '=', self::$AUDIT_STATUS['audit_status_ok']]; // 审核成功 } // 待审核 if ($get['type'] == 3) { $where[] = ['audit_status', '=', self::$AUDIT_STATUS['audit_status_stay']]; } // 审核失败 if ($get['type'] == 4) { $where[] = ['audit_status', '=', self::$AUDIT_STATUS['audit_status_refuse']]; } $m_where[] = ['lstore_id', '=', $get['lstore_id']]; $m_where[] = ['delete_time', '=', 0]; $list = LocalStoreGoods::with('pic') ->field('id, lstore_id, title, price') ->where($where) ->where($m_where) ->order('id', 'desc') ->page($get['page_no'], $get['page_size']) ->select() ->toArray(); $count = LocalStoreGoods::where($where)->where($m_where)->count(); foreach ($list as &$v) { foreach ($v['pic'] as &$v1) { $v1['url'] = Config::get('aliyunoss.domain') . $v1['url']; } } // 统计待审核的商品数量 $stay_goods_count = LocalStoreGoods::where($m_where)->where(['audit_status' => self::$AUDIT_STATUS['audit_status_stay']])->count(); // 统计审核失败的商品数量 $fail_goods_count = LocalStoreGoods::where($m_where)->where(['audit_status' => self::$AUDIT_STATUS['audit_status_refuse']])->count(); $result = [ 'stay_goods_count' => $stay_goods_count, 'fail_goods_count' => $fail_goods_count, 'count' => $count, 'lists' => $list, 'more' => is_more($count, $get['page_no'], $get['page_size']), 'page_no' => $get['page_no'], 'page_size' => $get['page_size'] ]; return $result; } // 添加商品 public static function saveGoods($form, $user_id) { try { $len = strlen(Config::get('aliyunoss.domain')); if ($form['type'] === 'add') { $id = LocalStoreGoods::insertGetId([ 'user_id' => $user_id, 'lstore_id' => $form['lstore_id'], 'title' => $form['title'], 'price' => $form['price'], 'desc' => $form['desc'] ?? '', 'details' => $form['details'] ?? '', 'state' => self::$STATUS['shelves'], 'create_time' => time(), ]); } else if ($form['type'] === 'edit') { LocalStoreGoods::where(['id' => $form['id']])->update([ 'title' => $form['title'], 'price' => $form['price'], 'desc' => $form['desc'] ?? '', 'details' => $form['details'] ?? '', 'audit_status' => self::$AUDIT_STATUS['audit_status_stay'], 'update_time' => time(), ]); LocalStoreGoodsPic::where(['lsg_id' => $form['id']])->delete(); $id = $form['id']; } // 处理图片 $data = []; foreach ($form['url'] as $k => &$v) { $data[$k]['lsg_id'] = $id; $data[$k]['url'] = substr($v, $len, strlen($v)); } LocalStoreGoodsPic::insertAll($data); return true; } catch (\Exception $e) { self::$error = $e->getMessage(); return false; } } public static function editGoods($form, $user_id) { try { $form['user_id'] = $user_id; $form['update'] = time(); $form['state'] = 1; $pic = $form['url']; unset($form['url']); $id = LocalStoreGoods::update([ 'title' => $form['title'], 'price' => $form['price'], 'desc' => $form['desc'], 'details' => $form['details'], ]); $data = []; foreach ($pic as $k => &$v) { $data[$k]['lsg_id'] = $id; $data[$k]['url'] = basename($v); } LocalStoreGoodsPic::insertAll($data); return true; } catch (\Exception $e) { self::$error = $e->getMessage(); return false; } } // 获取商家自身的商品详情 public static function shop_details($get) { $data = LocalStoreGoods::with('pic') ->where([ 'id' => $get['id'], 'lstore_id' => $get['lstore_id'], 'delete_time' => 0, 'audit_status' => $get['audit_status'] ])->find()->toArray(); if ($data) { foreach ($data['pic'] as &$v) { $v['url'] = Config::get('aliyunoss.domain') . $v['url']; } return $data; } return false; } // 获取商品详情 public static function details($get) { $data = LocalStoreGoods::with('pic') ->where([ 'id' => $get['id'], 'lstore_id' => $get['lstore_id'], 'delete_time' => 0, 'audit_status' => self::$AUDIT_STATUS['audit_status_ok'], ])->find()->toArray(); if ($data) { foreach ($data['pic'] as &$v) { $v['url'] = Config::get('aliyunoss.domain') . $v['url']; } return $data; } return false; } // 设置状态 public static function setState($form, $user_id) { if (isset(self::$STATUS[$form['type']])) { $state = self::$STATUS[$form['type']]; $result = LocalStoreGoods::where(['id' => $form['id'], 'user_id' => $user_id, 'lstore_id' => $form['lstore_id']])->update([ 'state' => $state, ]); return $result; } return false; } }