diff --git a/app/admin/controller/Passport.php b/app/admin/controller/Passport.php index 2eb44ed9..4f7d74f7 100644 --- a/app/admin/controller/Passport.php +++ b/app/admin/controller/Passport.php @@ -47,6 +47,7 @@ class Passport extends Controller } return $this->renderSuccess([ 'userId' => $userInfo['admin_user_id'], + 'role' => $userInfo['role'], 'token' => $model->getToken() ], '登录成功'); } diff --git a/app/api/model/Goods.php b/app/api/model/Goods.php index 80446c50..b99a3577 100644 --- a/app/api/model/Goods.php +++ b/app/api/model/Goods.php @@ -437,7 +437,7 @@ class Goods extends GoodsModel // 获取商品记录 $goodsInfo = $this->getGoodsMain($goodsId, $with, $verifyStatus); - $this->dealGoodsImage($goodsInfo); + //$this->dealGoodsImage($goodsInfo); // 商品规格列表 $goodsInfo['specList'] = GoodsSpecRelModel::getSpecList($goodsInfo['goods_id']); @@ -643,19 +643,19 @@ class Goods extends GoodsModel //价格判断 if (UserService::isstore()) { $priceArr = \app\common\model\PriceSet::distributionPrice($goods['goods_price_min'], $goods['cost_price_min'], $catIds); - $goods['goods_price_min_plus'] = $priceArr['membershipPrice']; - $goods['goods_price_min_dealer'] = $priceArr['distributionPrice']; - $goods['goods_price_min'] = $goods['goods_price_min_plus'];//$goods['cost_price_min'];//店长售价,展示为成本价 + $goods['goods_price_min_plus'] = round($priceArr['membershipPrice']); + $goods['goods_price_min_dealer'] = round($priceArr['distributionPrice']); + $goods['goods_price_min'] = round($goods['goods_price_min_plus']);//$goods['cost_price_min'];//店长售价,展示为成本价 } elseif (UserService::isPlusMember()) { $membershipPrice = \app\common\model\PriceSet::membershipPrice($goods['goods_price_min'], $goods['cost_price_min'], $catIds); $goods['discount'] = bcdiv((string)($membershipPrice * 10), (string)$goods['goods_price_min'], 1); - $goods['goods_price_min'] = $membershipPrice; + $goods['goods_price_min'] = round($membershipPrice); } elseif (UserService::isDealerMember()) { $priceArr = \app\common\model\PriceSet::distributionPrice($goods['goods_price_min'], $goods['cost_price_min'], $catIds); $goods['discount'] = bcdiv((string)($priceArr['distributionPrice'] * 10), (string)$goods['goods_price_min'], 1); //$goods['goods_price_min'] = $membershipPrice; - $goods['goods_price_min'] = $priceArr['distributionPrice']; + $goods['goods_price_min'] = round($priceArr['distributionPrice']); } if ($goods['discount'] == 10) { diff --git a/app/command/SyncStoreBasicData.php b/app/command/SyncStoreBasicData.php new file mode 100644 index 00000000..4393cf55 --- /dev/null +++ b/app/command/SyncStoreBasicData.php @@ -0,0 +1,253 @@ +setName('SyncStoreBasicData')->setDescription('同步商城基础数据'); + $this->addArgument("store_id"); + $this->addArgument("isSyncMaintenanceData"); + $this->addArgument("isSyncHelpData"); + $this->addArgument("isSyncRichTextData"); + } + + protected function execute(Input $input, Output $output) + { + $store_id = $input->getArgument("store_id"); + $isSyncMaintenanceData = $input->getArgument("isSyncMaintenanceData"); + $isSyncHelpData = $input->getArgument("isSyncHelpData"); + $isSyncRichTextData = $input->getArgument("isSyncRichTextData"); + + $where[] = ['is_sync','=', 0]; + $where[] = ['is_delete','=', 0]; + $where[] = ['is_recycle','=', 0]; + $where[] = ['status','=', 1]; + + if ($store_id) { + $where[] = ['store_id','=', $store_id]; + } else { + $where[] = ['store_id', '<>', self::DEFAULT_STORE_ID]; + } + $stores = Store::where($where)->field('store_id,is_sync,is_recycle,status,is_delete')->select()->toArray(); + // echo "
"; + // print_r($stores); + // exit(); + if (!$stores) { + echo "没有要同步的商城了"; + return; + } + foreach ($stores as $store) { + if ($isSyncMaintenanceData) { + $this->syncMaintenanceData($store); + } + if ($isSyncHelpData) { + $this->syncHelpData($store); + } + if ($isSyncRichTextData) { + $this->syncRichTextData($store); + } + Store::where('store_id', $store['store_id'])->update(['is_sync' => 1]); + } + + + } + /** + * 同步富文本数据 + * [syncHelpData description] + * @param [type] $store [description] + * @return [type] [description] + */ + private function syncRichTextData($store){ + //维修分类数据同步 + $agreementList = Agreement::where('store_id',self::DEFAULT_STORE_ID)->select()->toArray(); + if ($agreementList) { + foreach ($agreementList as &$agreement) { + $info = Agreement::where('store_id', $store['store_id'])->where('original_id', $agreement['id'])->find(); + if ($info) { + echo $agreement['id']."富文本已存在".PHP_EOL; + continue; + } + $agreement['create_time'] = time(); + $agreement['update_time'] = time(); + $agreement['original_id'] = $agreement['id']; + $agreement['store_id'] = $store['store_id']; + unset($agreement['id']); + $ret = Agreement::create($agreement); + var_dump($ret->id); + } + unset($agreement); + } + } + /** + * 同步帮助中心数据 + * [syncHelpData description] + * @param [type] $store [description] + * @return [type] [description] + */ + private function syncHelpData($store){ + //维修分类数据同步 + $articleCategoryList = Category::where('store_id',self::DEFAULT_STORE_ID)->where('status', 1)->select()->toArray(); + if ($articleCategoryList) { + foreach ($articleCategoryList as &$articleCategory) { + $info = Category::where('store_id', $store['store_id'])->where('original_id', $articleCategory['category_id'])->find(); + if ($info) { + echo $articleCategory['category_id']."帮助分类已存在".PHP_EOL; + continue; + } + $articleCategory['create_time'] = time(); + $articleCategory['update_time'] = time(); + $articleCategory['original_id'] = $articleCategory['category_id']; + $articleCategory['store_id'] = $store['store_id']; + unset($articleCategory['category_id']); + + //复制图片 + $upload_file = Db::name('upload_file')->where('file_id', $articleCategory['img_id'])->find(); + if ($upload_file) { + $upload_file['store_id'] = $store['store_id']; + $upload_file['create_time'] = time(); + unset($upload_file['file_id']); + $image_id = Db::name('upload_file')->insertGetId($upload_file); + } + //写入维修数据 + $articleCategory['img_id'] = $image_id ?? 0; + $ret = Category::create($articleCategory); + var_dump($ret->id); + } + unset($articleCategory); + } + + //维修数据同步 + $articleList = Article::where('store_id',self::DEFAULT_STORE_ID)->where('is_delete', 0)->where('status', 1)->select()->toArray(); + if ($articleList) { + foreach ($articleList as &$article) { + $info = Article::where('store_id', $store['store_id'])->where('original_id', $article['article_id'])->find(); + if ($info) { + echo $article['article_id']."帮助已存在".PHP_EOL; + continue; + } + //查询分类id + $articleCategory = Category::where('original_id', $article['category_id'])->where('store_id', $store['store_id'])->find(); + if (!$articleCategory) { + continue; + } + $article['create_time'] = time(); + $article['update_time'] = time(); + $article['original_id'] = $article['article_id']; + $article['category_id'] = $articleCategory['category_id']; + $article['store_id'] = $store['store_id']; + unset($article['article_id']); + //复制图片 + $upload_file = Db::name('upload_file')->where('file_id', $article['image_id'])->find(); + if ($upload_file) { + $upload_file['store_id'] = $store['store_id']; + $upload_file['create_time'] = time(); + unset($upload_file['file_id']); + $image_id = Db::name('upload_file')->insertGetId($upload_file); + } + //写入维修数据 + $article['image_id'] = $image_id; + $ret = Article::create($article); + //写入图片id + var_dump($ret->id); + } + unset($article); + } + } + /** + * 同步维修数据 + * [syncMaintenanceData description] + * @param [type] $store [description] + * @return [type] [description] + */ + private function syncMaintenanceData($store){ + //维修分类数据同步 + $maintenanceCategoryList = MaintenanceCategory::where('store_id',self::DEFAULT_STORE_ID)->where('status', 1)->select()->toArray(); + + if ($maintenanceCategoryList) { + foreach ($maintenanceCategoryList as &$maintenanceCategory) { + $info = MaintenanceCategory::where('store_id', $store['store_id'])->where('original_id', $maintenanceCategory['id'])->find(); + if ($info) { + echo $maintenanceCategory['id']."维修分类已存在".PHP_EOL; + continue; + } + $maintenanceCategory['create_time'] = time(); + $maintenanceCategory['update_time'] = time(); + $maintenanceCategory['original_id'] = $maintenanceCategory['id']; + $maintenanceCategory['store_id'] = $store['store_id']; + unset($maintenanceCategory['id']); + // echo ""; + // print_r($maintenanceCategory); + // exit(); + $ret = MaintenanceCategory::create($maintenanceCategory); + var_dump($ret->id); + } + unset($maintenanceCategory); + } + + //维修数据同步 + $maintenanceList = Maintenance::where('store_id',self::DEFAULT_STORE_ID)->where('is_delete', 0)->select()->toArray(); + + if ($maintenanceList) { + foreach ($maintenanceList as &$maintenance) { + $info = Maintenance::where('store_id', $store['store_id'])->where('original_id', $maintenance['id'])->find(); + if ($info) { + echo $maintenance['id']."维修已存在".PHP_EOL; + continue; + } + // echo ""; + // print_r($info); + // exit(); + //查询分类id + $maintenanceCategory = MaintenanceCategory::where('original_id', $maintenance['category_id'])->where('store_id', $store['store_id'])->find(); + if (!$maintenanceCategory) { + continue; + } + $maintenance['create_time'] = time(); + $maintenance['update_time'] = time(); + $maintenance['original_id'] = $maintenance['id']; + $maintenance['category_id'] = $maintenanceCategory['id']; + $maintenance['store_id'] = $store['store_id']; + unset($maintenance['id']); + //复制图片 + $upload_file = Db::name('upload_file')->where('file_id', $maintenance['img_id'])->find(); + if ($upload_file) { + $upload_file['store_id'] = $store['store_id']; + $upload_file['create_time'] = time(); + unset($upload_file['file_id']); + // echo ""; + // print_r($upload_file); + // exit(); + $image_id = Db::name('upload_file')->insertGetId($upload_file); + } + + //写入维修数据 + $maintenance['img_id'] = $image_id ?? 0; + $ret = Maintenance::create($maintenance); + //写入图片id + var_dump($ret->id); + } + unset($maintenance); + } + } + +} diff --git a/app/common/model/Goods.php b/app/common/model/Goods.php index f3ffc512..9365da66 100644 --- a/app/common/model/Goods.php +++ b/app/common/model/Goods.php @@ -481,6 +481,18 @@ class Goods extends BaseModel if (isset($param['goods_price_max']) && $param['goods_price_max'] !== '') { $filter[] = ['goods.goods_price_min', '<=', $params['goods_price_max']]; } + if (isset($param['distribute_price_max']) && $param['distribute_price_max'] !== '') { + $filter[] = ['goods.distribute_price', '<=', $params['distribute_price_max']]; + } + if (isset($param['distribute_price_min']) && $param['distribute_price_min'] !== '') { + $filter[] = ['goods.distribute_price', '>=', $params['distribute_price_min']]; + } + if (isset($param['shop_price_min']) && $param['shop_price_min'] !== '') { + $filter[] = ['goods.shop_price', '>=', $params['shop_price_min']]; + } + if (isset($param['shop_price_max']) && $param['shop_price_max'] !== '') { + $filter[] = ['goods.shop_price', '<=', $params['shop_price_max']]; + } if (isset($param['profit_rate_min']) && $param['profit_rate_min'] !== '') { $filter[] = ['goods.profit_rate', '>=', $params['profit_rate_min']]; } diff --git a/config/console.php b/config/console.php index 2cedb105..d64e0746 100644 --- a/config/console.php +++ b/config/console.php @@ -11,5 +11,6 @@ return [ 'test' => 'app\command\test', 'CalDealerTime' => 'app\command\CalDealerTime', 'UpdateCollectGoodsPrice' => 'app\command\UpdateCollectGoodsPrice', + 'SyncStoreBasicData' => 'app\command\SyncStoreBasicData', ], ];