where('uid', $uid)->first(); $goodsInfo->number_orders += 1; $goodsInfo->browse += 1; $goodsInfo->save(); } /** * 点赞加1 * * @param $uid * @return void */ public function addLike($uid) { GoodsModel::query()->where('uid', $uid)->increment('likes'); } /** * 添加商品 * * @param array $data * @return bool */ public function createOne(array $data) { $goodsdata = [ 'title' => $data['title'], 'class_uid' => $data['class_uid'], 'sort' => $data['sort'], 'steer_level' => $data['steer_level'], 'cover' => $data['cover'], 'status' => $data['status'], 'coins' => $data['coins'], 'original_cions' => $data['original_cions'], 'member_coins' => $data['member_coins'], 'shops_uid' => $data['shops_uid'], 'likes' => $data['likes'], 'browse' => $data['browse'], 'number_orders' => $data['number_orders'], 'appraise' => $data['appraise'], 'introduce' => $data['introduce'], 'photo_address' => json_encode($data['photo_address']), 'stock' => $data['stock'], ]; if ($data['status'] == 2) { $goodsdata['up_date'] = date('Y-m-d H:i:s'); } Db::beginTransaction(); $res = GoodsModel::query()->create($goodsdata); if (!$res) { Db::rollBack(); return false; } $res1 = ShopsModel::query()->where('uid', $data['shops_uid'])->increment('goods_count'); if (!$res1) { Db::rollBack(); return false; } if ($data['status'] == 2) { $res3 = ShopsModel::query()->where('uid', $data['shops_uid'])->increment('goods_up_count'); if (!$res3) { Db::rollBack(); return false; } } Db::commit(); return $res; } /** * 修改商品 * * @param array $data * @param array $oldGoodsInfo * @return array|false */ public function updateOne(array $data,array &$oldGoodsInfo) { $goodsInfo = GoodsModel::query()->where('uid', $data['uid'])->first(); if (!$goodsInfo) { logger('商品不存在'); return false; } $oldGoodsInfo = clone $goodsInfo; $oldGoodsInfo = $oldGoodsInfo->toArray(); if (!empty($data['number_orders'])) { $goodsInfo->number_orders = $data['number_orders']; } if (!empty($data['appraise'])) { $goodsInfo->appraise = $data['appraise']; } if (!empty($data['introduce'])) { $goodsInfo->introduce = $data['introduce']; } if (!empty($data['photo_address'])) { $goodsInfo->photo_address = json_encode($data['photo_address']); } if (!empty($data['stock'])) { $goodsInfo->stock = $data['stock']; } if (!empty($data['shops_uid'])) { $goodsInfo->shops_uid = $data['shops_uid']; } if (!empty($data['likes'])) { $goodsInfo->likes = $data['likes']; } if (!empty($data['browse'])) { $goodsInfo->browse = $data['browse']; } if (!empty($data['title'])) { $goodsInfo->title = $data['title']; } if (!empty($data['class_uid'])) { $goodsInfo->class_uid = $data['class_uid']; } if (!empty($data['sort'])) { $goodsInfo->sort = $data['sort']; } if (!empty($data['status'])) { $goodsInfo->status = $data['status']; } if (!empty($data['coins'])) { $goodsInfo->coins = $data['coins']; } if (!empty($data['original_cions'])) { $goodsInfo->original_cions = $data['original_cions']; } if (!empty($data['member_coins'])) { $goodsInfo->member_coins = $data['member_coins']; } if (!empty($data['steer_level'])) { $goodsInfo->steer_level = $data['steer_level']; } if (!empty($data['cover'])) { $goodsInfo->cover = $data['cover']; } Db::beginTransaction(); $res = $goodsInfo->save(); if (!$res) { Db::rollBack(); return false; } // 下架 if ($goodsInfo['status'] == 2 && $data['status'] != 2) { $res1 = ShopsModel::query()->where('uid', $data['shops_uid'])->decrement('goods_up_count'); if ($res1) { Db::rollBack(); return false; } } Db::commit(); return $goodsInfo->toArray(); } }