|
|
@@ -3,6 +3,9 @@
|
|
|
namespace app\api\controller\user;
|
|
|
|
|
|
use app\admin\model\store\ProductCode;
|
|
|
+use app\admin\model\store\StoreProduct as ProductModel;
|
|
|
+use app\admin\model\store\StoreProductAttr;
|
|
|
+use app\admin\model\store\StoreProductCate;
|
|
|
use app\admin\model\ump\WriteOff;
|
|
|
use app\http\validates\user\AddressValidate;
|
|
|
use app\models\store\StoreCoupon;
|
|
|
@@ -10,6 +13,7 @@ use app\models\store\StoreProduct;
|
|
|
use app\models\system\SystemCity;
|
|
|
use app\models\system\SystemStoreStaff;
|
|
|
use app\models\user\UserVisit;
|
|
|
+use crmeb\services\JsonService as Json;
|
|
|
use think\db\exception\DataNotFoundException;
|
|
|
use think\db\exception\DbException;
|
|
|
use think\db\exception\ModelNotFoundException;
|
|
|
@@ -31,6 +35,7 @@ use app\models\user\UserNotice;
|
|
|
use crmeb\services\GroupDataService;
|
|
|
use crmeb\services\UtilService;
|
|
|
use think\facade\Db;
|
|
|
+use think\facade\Validate;
|
|
|
|
|
|
/**
|
|
|
* 用户类
|
|
|
@@ -784,4 +789,92 @@ class UserController
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ public function store_coupon(Request $request)
|
|
|
+ {
|
|
|
+ $user = SystemStoreStaff::where('uid', $request->uid())->find();
|
|
|
+ if (!$user) return app('json')->fail('不是店员不能添加优惠券');
|
|
|
+ if ($user['coupon_status'] == 0) return app('json')->fail('未开启添加优惠券功能');
|
|
|
+
|
|
|
+ $data = UtilService::postMore([
|
|
|
+ ['title', ''],
|
|
|
+ ['price', 0],
|
|
|
+ ['ot_price', 0],
|
|
|
+ ['coupon_price', ''],
|
|
|
+ ['start_time', ''],
|
|
|
+ ['end_time', ''],
|
|
|
+ ['store_info', ''],
|
|
|
+ ['stock', 0]
|
|
|
+ ]);
|
|
|
+ $validate = Validate::rule(['title' => 'require', 'price' => 'require', 'ot_price' => 'require', 'coupon_price' => 'require', 'start_time' => 'require', 'end_time' => 'require', 'store_info' => 'require', 'stock' => 'require',]);
|
|
|
+ $validate->message([
|
|
|
+ 'title.require' => '请填写优惠券名称',
|
|
|
+ 'price.require' => '请填写价格',
|
|
|
+ 'ot_price.require' => '请填写原价',
|
|
|
+ 'coupon_price.require' => '请填写优惠券面值',
|
|
|
+ 'start_time.require' => '请填写开始时间',
|
|
|
+ 'end_time.require' => '请填写结束时间',
|
|
|
+ 'store_info.require' => '请填写优惠券介绍',
|
|
|
+ 'stock.require' => '请填写数量',
|
|
|
+ ]);
|
|
|
+ if (!$validate->check($data)) return app('json')->fail($validate->getError());
|
|
|
+ ProductModel::beginTrans();
|
|
|
+ $coupon = StoreCoupon::create([
|
|
|
+ 'title' => $data['title'],
|
|
|
+ 'coupon_price' => $data['coupon_price'],
|
|
|
+ 'start_time' => strtotime($data['start_time']),
|
|
|
+ 'end_time' => strtotime($data['end_time']),
|
|
|
+ 'store_id' => $user['store_id'],
|
|
|
+ 'status' => 1
|
|
|
+ ]);
|
|
|
+ $product = StoreProduct::create([
|
|
|
+ 'image' => 'http://xl.frp.liuniu946.com/uploads/attach/2022/05/20220510/1ab4cc277e63c34e2157f0ea67d870f2.jpg',
|
|
|
+ 'slider_image' => json_encode([]),
|
|
|
+ 'store_name' => $data['title'],
|
|
|
+ 'store_info' => $data['store_info'],
|
|
|
+ 'cate_id' => 4,
|
|
|
+ 'price' => $data['price'],
|
|
|
+ 'ot_price' => $data['ot_price'],
|
|
|
+ 'activity' => '1,2,3',
|
|
|
+ 'store_type' => 1,
|
|
|
+ 'coupon' => $coupon['id'],
|
|
|
+ 'stock' => $data['stock'],
|
|
|
+ 'ficti' => 0
|
|
|
+ ]);
|
|
|
+ $cateData[] = ['product_id' => $product['id'], 'cate_id' => 4, 'add_time' => time()];
|
|
|
+ StoreProductCate::insertAll($cateData);
|
|
|
+ $attr = [
|
|
|
+ [
|
|
|
+ 'value' => '规格',
|
|
|
+ 'detailValue' => '',
|
|
|
+ 'attrHidden' => '',
|
|
|
+ 'detail' => ['默认']
|
|
|
+ ]
|
|
|
+ ];
|
|
|
+ $detail[] = [
|
|
|
+ 'pic' => 'http://xl.frp.liuniu946.com/uploads/attach/2022/05/20220510/1ab4cc277e63c34e2157f0ea67d870f2.jpg',
|
|
|
+ 'price' => $data['price'],
|
|
|
+ 'integral' => 0,
|
|
|
+ 'cost' => 0,
|
|
|
+ 'ot_price' => $data['ot_price'],
|
|
|
+ 'stock' => $data['stock'],
|
|
|
+ 'bar_code' => '',
|
|
|
+ 'volume' => 0,
|
|
|
+ 'weight' => 0,
|
|
|
+ 'brokerage' => 0,
|
|
|
+ 'brokerage_two' => 0,
|
|
|
+ 'value1' => '规格',
|
|
|
+ 'detail' => [
|
|
|
+ '规格' => '默认'
|
|
|
+ ]
|
|
|
+ ];
|
|
|
+ $attr_res = StoreProductAttr::createProductAttr($attr, $detail, $product['id']);
|
|
|
+ if ($attr_res) {
|
|
|
+ ProductModel::commitTrans();
|
|
|
+ return Json::success('添加产品成功!');
|
|
|
+ } else {
|
|
|
+ ProductModel::rollbackTrans();
|
|
|
+ return Json::fail(StoreProductAttr::getErrorInfo());
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
}
|