wanghousheng 8 months ago
parent 591957bbf6
commit 0692f0e2ad
  1. 16
      app/api/controller/Goods.php
  2. 23
      app/api/controller/Index.php
  3. 27
      app/api/model/wxapp/Setting.php
  4. 10
      app/common/model/Goods.php
  5. 14
      app/common/model/wxapp/Setting.php
  6. 4
      app/store/model/wxapp/Setting.php

@ -18,6 +18,7 @@ use app\common\model\GoodsImage as GoodsImageModel;
use app\common\model\UploadFile as UploadFileModel;
use app\common\service\qrcode\Goods as GoodsPoster;
use cores\exception\BaseException;
use think\db\exception\DbException;
use think\response\Json;
/**
@ -30,15 +31,13 @@ class Goods extends Controller
/**
* 商品列表
* @return Json
* @throws \think\db\exception\DbException
* @throws DbException
*/
public function list(): Json
{
// 获取列表数据
$model = new GoodsModel;
$storeid = request()->header()['storeid'];
$param = $this->request->param();
$param['store_id'] = $storeid;
$list = $model->getList($param);
return $this->renderSuccess(compact('list'));
}
@ -49,16 +48,13 @@ class Goods extends Controller
* @param bool $verifyStatus 是否验证商品状态(上架)
* @return Json
* @throws \think\db\exception\DataNotFoundException
* @throws \think\db\exception\DbException
* @throws DbException
* @throws \think\db\exception\ModelNotFoundException
* @throws BaseException
*/
public function detail(int $goodsId, bool $verifyStatus = true): Json
{
// wmc商品详情
$storeid = request()->header()['storeid'];
$param = $this->request->param();
$param['store_id'] = $storeid;
$model = new GoodsModel;
$goodsInfo = $model->getDetails($goodsId, $verifyStatus);
if (!empty($goodsInfo['content'])) {
@ -163,7 +159,7 @@ class Goods extends Controller
* @param int $goodsId
* @return Json
* @throws \think\db\exception\DataNotFoundException
* @throws \think\db\exception\DbException
* @throws DbException
* @throws \think\db\exception\ModelNotFoundException
*/
public function specData(int $goodsId): Json
@ -190,7 +186,7 @@ class Goods extends Controller
* 推荐的商品列表
* @return Json
* @throws \think\db\exception\DataNotFoundException
* @throws \think\db\exception\DbException
* @throws DbException
* @throws \think\db\exception\ModelNotFoundException
*/
public function recommended(): Json
@ -289,7 +285,7 @@ class Goods extends Controller
* @param string $channel 二维码渠道(小程序码、h5码)
* @throws BaseException
* @throws \think\db\exception\DataNotFoundException
* @throws \think\db\exception\DbException
* @throws DbException
* @throws \think\db\exception\ModelNotFoundException
*/
public function poster(int $goodsId, string $channel = 'H5'): Json

@ -1,8 +1,14 @@
<?php
namespace app\api\controller;
use app\common\model\Banner;
use app\common\model\UploadFile;
use think\db\exception\DataNotFoundException;
use think\db\exception\DbException;
use think\db\exception\ModelNotFoundException;
use think\response\Json;
/**
* 默认控制器
* Class Index
@ -15,7 +21,8 @@ class Index extends Controller
echo '当前访问的index.php,请将index.html设为默认站点入口';
}
public function getBannerList(){
public function getBannerList()
{
$list = Banner::where("status", 10)->select()->toArray();
foreach ($list as &$value) {
$file_path = UploadFile::where('file_id', $value['image_id'])->field('file_id,file_path,file_type,storage,domain')->find();
@ -23,4 +30,18 @@ class Index extends Controller
}
return $this->renderSuccess($list);
}
/**
* @notes:获取小程序配置
* @return Json
* @throws DataNotFoundException
* @throws DbException
* @throws ModelNotFoundException
* @author: wanghousheng
*/
public function wxAppSetting(): Json
{
$data = (new \app\api\model\wxapp\Setting())->info();
return $this->renderSuccess($data);
}
}

@ -13,6 +13,9 @@ declare (strict_types=1);
namespace app\api\model\wxapp;
use app\common\model\wxapp\Setting as SettingModel;
use think\db\exception\DataNotFoundException;
use think\db\exception\DbException;
use think\db\exception\ModelNotFoundException;
/**
* 微信小程序设置模型
@ -24,12 +27,30 @@ class Setting extends SettingModel
/**
* 验证当前是否允许访问
* @return bool
* @throws \think\db\exception\DataNotFoundException
* @throws \think\db\exception\DbException
* @throws \think\db\exception\ModelNotFoundException
* @throws DataNotFoundException
* @throws DbException
* @throws ModelNotFoundException
*/
public static function checkStatus(): bool
{
return (bool)static::getItem('basic', static::$storeId)['enabled'];
}
/**
* @notes:获取小程序配置
* @return array
* @throws DataNotFoundException
* @throws DbException
* @throws ModelNotFoundException
* @author: wanghousheng
*/
public function info(): array
{
$data = static::getItem('basic', static::$storeId);
if (!empty($data['app_secret'])) {
unset($data['app_secret']);
}
return $data;
}
}

@ -25,7 +25,6 @@ use think\model\relation\BelongsTo;
use think\model\relation\HasMany;
use think\model\relation\HasOne;
use think\Paginator;
use app\common\model\Channel;
/**
* 商品模型
@ -132,6 +131,7 @@ class Goods extends BaseModel
{
return $this->hasMany('GoodsSku', 'spu_id')->order(['id' => 'asc']);
}
/**
* 关联商品规格表
* @return HasMany
@ -140,6 +140,7 @@ class Goods extends BaseModel
{
return $this->hasMany('GoodsSku', 'goods_id')->order(['id' => 'asc']);
}
/**
* 关联商品规格关系表
* @return HasMany
@ -175,6 +176,7 @@ class Goods extends BaseModel
{
return $this->hasMany('Comment');
}
/**
* 获取商品列表
* @param array $param 查询条件
@ -307,6 +309,12 @@ class Goods extends BaseModel
$field = $this->getAliasFields($this->name, ['content']);
$field[] = 'selling_point';
//关键字搜索 wanghousheng
if (!empty($param['keyword'])) {
$query = $query->where('goods_name', 'like', "%{$param['keyword']}%")
->whereOr('goods_no', 'like', "%{$param['keyword']}%");
}
// 执行查询
$list = $query->with(['images.file'])
->alias($this->name)

@ -139,7 +139,19 @@ class Setting extends BaseModel
// 小程序AppID
'app_id' => '',
// 小程序AppSecret
'app_secret' => ''
'app_secret' => '',
//同城送
'same_city' => true,
//新人首礼
'new_first_gift' => true,
//大牌正品
'big_brand' => true,
//新品首发
'new_product' => true,
//排行榜
'ranking_list' => true,
//服务
'service' => true,
]
]
];

@ -12,9 +12,9 @@ declare (strict_types=1);
namespace app\store\model\wxapp;
use think\facade\Cache;
use app\common\library\helper;
use app\common\model\wxapp\Setting as SettingModel;
use think\facade\Cache;
/**
* 微信小程序设置模型
@ -44,7 +44,7 @@ class Setting extends SettingModel
return $model->save([
'key' => $key,
'describe' => $this->describe[$key],
'values' => helper::pick($values, ['enabled', 'app_id', 'app_secret']),
'values' => helper::pick($values, ['enabled', 'app_id', 'app_secret', 'same_city', 'new_first_gift', 'big_brand', 'new_product', 'ranking_list', 'service']),
'update_time' => time(),
'store_id' => self::$storeId,
]);

Loading…
Cancel
Save