| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182 |
- <?php
- declare (strict_types = 1);
- namespace app\system\controller\v1;
- use app\BaseController;
- use app\model\system\Product as ProductModel;
- use app\model\system\SiteProduct;
- use app\Request;
- use library\services\UtilService;
- // +----------------------------------------------------------------------
- // | [ WE CAN DO IT MORE SIMPLE ]
- // +----------------------------------------------------------------------
- // | Copyright (c) 2018-2020 rights reserved.
- // +----------------------------------------------------------------------
- // | Author: TABLE ME
- // +----------------------------------------------------------------------
- // | Date: 2020-09-06 21:53
- // +----------------------------------------------------------------------
- class Product extends BaseController
- {
- /**
- * 基本设置
- */
- public function list(Request $request) {
- $pageSize = 20;
- $post = UtilService::getMore([
- ['page',1],
- ['name',''],
- ['artType','all']
- ],$request);
- list($pageCount,$data) = (new ProductModel)->getList($post['page'],$post,$pageSize,'id desc');
- $result = UtilService::getParam(["id","price","title","commission","status","sales","count","img","add_time","wget","seq","warehouseAr",'cate_name'],$data);
- $totalCount['count'] = (new ProductModel)->count();
- $totalCount['downCount'] = (new ProductModel)->where('status',0)->count();
- $totalCount['upCount'] = (new ProductModel)->where('status',1)->count();
- return app('json')->success([
- 'list' => $result,
- 'pageCount' => $pageCount,
- 'pageSize' => $pageSize,
- 'page' => $post['page'],
- 'totalCount'=>$totalCount
- ]);
- }
- /**
- * 保存数据
- * @param Request $request
- */
- public function save(Request $request) {
- $post = UtilService::getMore([
- ['cate_id','','empty','请选择商品分类'],
- ['count','0'],
- ['desc',''],
- ['id','0'],
- ['imgAr',[]],
- ['is_host',0],
- ['csno',''],
- ['price','0'],
- ['commission','0'],
- ['is_new',0],
- ['status',''],
- ['title',''],
- ['unit_name',''],
- ['ver_bug_count',0],
- ['wget',0],
- ['warehouseAr',[]],
- ['seq',0]
- ],$request);
- $post['img'] = join(',',$post['imgAr']);
- $post['warehouse_ids'] = join(',',$post['warehouseAr']);
- unset($post['imgAr']);
- unset($post['warehouseAr']);
- (new ProductModel())->saveProduct($post);
- return app('json')->success("数据保存成功");
- }
- /**
- * 获取产品基本信息
- * @param Request $request
- */
- public function info(Request $request) {
- [$id] = UtilService::getMore([
- ['id','','empty','参数错误']
- ],$request,true);
- $info = ProductModel::get(compact('id'))->toArray();
- return app('json')->success($info);
- }
- /**
- * 栏目删除
- * @param Request $request
- */
- public function del(Request $request) {
- [$id] = UtilService::getMore([
- ['id',0,'empty','参数错误']
- ],$request,true);
- $bool = (new ProductModel())->delProduct($id);
- return app('json')->success("栏目删除成功");
- }
- /**
- * 站点产品
- * @param Request $request
- */
- public function site(Request $request) {
- $pageSize = 50;
- [$sassid,$page,$type] = UtilService::getMore([
- ['sassid',0,'empty','参数错误'],
- ['page',1],
- ['type','']
- ],$request,true);
- $where = [];
- if(!empty($type)) {
- $where['type'] = $type;
- }
- $sitePro = new SiteProduct();
- $sitePro->setSassid($sassid);
- list($pageCount,$data) = $sitePro->getList($page,$where,$pageSize,'id desc');
- $result = UtilService::getParam(["id","price","title","sales","count","img","commission",
- ['is_host','is_host',function($var){
- return $var ? true : false;
- }],
- ['is_new','is_new',function($var){
- return $var ? true : false;
- }],
- ['status','status',function($var){
- return $var ? true : false;
- }],
- "ver_bug_count"],$data);
- return app('json')->success([
- 'list' => $result,
- 'pageCount' => $pageCount,
- 'pageSize' => $pageSize,
- 'page' => $page
- ]);
- }
- /**
- * 站点产品配置
- * @param Request $request
- */
- public function siteSave(Request $request) {
- $post = UtilService::getMore([
- ['id','','empty','参数错误'],
- ['price','','empty','参数错误'],
- ['ver_bug_count',''],
- ['is_new',false],
- ['is_host',false],
- ['status',false],
- ],$request);
- $sitePro = (new SiteProduct)->where('id',$post['id'])->find();
- if(empty($sitePro)) {
- return app('json')->fail('找不到产品数据');
- }
- $pro = ProductModel::where('id',$sitePro['p_id'])->find();
- if(empty($pro)) {
- return app('json')->fail('找不到产品数据');
- }
- if($pro['commission'] > $post['price']) {
- return app('json')->fail('价格不能低于,产品售价!');
- }
- (new SiteProduct)
- ->where('id',$post['id'])
- ->save([
- 'price' => $post['price'],
- 'ver_bug_count' => $post['ver_bug_count'],
- 'is_new' => $post['is_new'] ? 1 : 0,
- 'is_host' => $post['is_host'] ? 1 : 0,
- 'status' => $post['status'] ? 1 : 0,
- ]);
- return app('json')->success('设置成功');
- }
- }
|