diff --git a/app/common/repositories/store/product/ProductRepository.php b/app/common/repositories/store/product/ProductRepository.php
index 936067d..defdaef 100755
--- a/app/common/repositories/store/product/ProductRepository.php
+++ b/app/common/repositories/store/product/ProductRepository.php
@@ -37,7 +37,12 @@ use crmeb\jobs\SendSmsJob;
use crmeb\services\QrcodeService;
use crmeb\services\RedisCacheService;
use crmeb\services\SwooleTaskService;
+use FormBuilder\Exception\FormBuilderException;
use FormBuilder\Factory\Elm;
+use FormBuilder\Form;
+use think\db\exception\DataNotFoundException;
+use think\db\exception\DbException;
+use think\db\exception\ModelNotFoundException;
use think\exception\ValidateException;
use think\facade\Cache;
use think\facade\Db;
@@ -128,6 +133,66 @@ class ProductRepository extends BaseRepository
return (app()->make(StoreCategoryRepository::class))->merExists(0, $id);
}
+ /**
+ * @param null $id
+ * @param array $formData
+ * @return Form
+ * @throws FormBuilderException
+ * @author xaboy
+ * @day 2020-05-07
+ */
+ public function form($id = null, array $formData = [])
+ {
+ $action = Route::buildUrl('systemStoreProductUpdateSpread', compact('id'))->build();
+ return Elm::createForm($action, [
+ Elm::number('normal_integral_one', '普通区直推积分比例:')->placeholder('请输入普通区直推积分比例')
+ ->max(100)->min(0)->required(),
+ Elm::number('normal_integral_two', '普通区间推积分比例:')->placeholder('请输入普通区间推积分比例')
+ ->max(100)->min(0)->required(),
+ Elm::number('normal_diamond_one', '普通区直推钻石返佣:')->placeholder('请输入普通区直推钻石返佣')
+ ->min(0)->required(),
+ Elm::number('normal_diamond_two', '普通区间推钻石返佣::')->placeholder('请输入普通区钻石返佣:')
+ ->min(0)->required(),
+
+ Elm::switches('is_hot', '设为爆单商品:', 1)->activeValue(1)->inactiveValue(0)->inactiveText('否')->activeText('是'),
+
+ Elm::number('hot_integral_one', '爆单区直推积分比例:')->placeholder('请输入爆单区直推积分比例')
+ ->max(100)->min(0)->required(),
+ Elm::number('hot_integral_two', '爆单区间推积分比例:')->placeholder('请输入爆单区间推积分比例')
+ ->max(100)->min(0)->required(),
+ Elm::number('hot_diamond_one', '爆单区直推钻石返佣:')->placeholder('请输入爆单区直推钻石返佣')
+ ->min(0)->required(),
+ Elm::number('hot_diamond_two', '爆单区间推钻石返佣::')->placeholder('请输入爆单区钻石返佣:')
+ ->min(0)->required(),
+
+ Elm::number('hot_integral_rate', '爆单区返佣比例:')->placeholder('请输入爆单区返佣比例')
+ ->max(100)->min(0)->required(),
+ Elm::number('hot_integral_total', '爆单区返佣积分:')->placeholder('请输入爆单区返佣积分')
+ ->max(100)->min(0)->required(),
+
+
+// Elm::number('order_sum', '营业额:')->placeholder('请输入营业额')->min(0)->required(),
+// Elm::number('diamond', '赠送钻石数/天:')->placeholder('请输入赠送钻石数')->min(0)->required(),
+// Elm::number('diamond_max', '赠送最大钻石数:')->placeholder('请输入赠送最大钻石数')->min(0)->required(),
+// Elm::number('rate', '业绩分红比例:')->placeholder('请输入业绩分红比例')->max(100)->min(0)->required(),
+ ])->setTitle('设置返佣比例')->formData($formData);
+ }
+
+ /**
+ * @param $id
+ * @return Form
+ * @throws FormBuilderException
+ * @throws DataNotFoundException
+ * @throws DbException
+ * @throws ModelNotFoundException
+ * @author xaboy
+ * @day 2020-05-07
+ */
+ public function updateForm($id)
+ {
+ return $this->form($id, $this->dao->get($id)->toArray());
+ }
+
/**
* @Author:Qinii
* @Date: 2020/5/20
diff --git a/app/common/repositories/user/UserAssetsLogRepository.php b/app/common/repositories/user/UserAssetsLogRepository.php
index d820d7b..fddaf25 100644
--- a/app/common/repositories/user/UserAssetsLogRepository.php
+++ b/app/common/repositories/user/UserAssetsLogRepository.php
@@ -32,7 +32,7 @@ use think\facade\Log;
*/
class UserAssetsLogRepository extends BaseRepository
{
- const ASSET_INTEGRAL = 1; // 消费积分积分
+ const ASSET_INTEGRAL = 1; // 积分
const ASSET_DIAMOND = 2; // 钻石
const ASSET_STOCK = 3; // 本票
diff --git a/app/controller/admin/store/StoreProduct.php b/app/controller/admin/store/StoreProduct.php
index af0ff86..de055a3 100755
--- a/app/controller/admin/store/StoreProduct.php
+++ b/app/controller/admin/store/StoreProduct.php
@@ -15,10 +15,14 @@ namespace app\controller\admin\store;
use app\common\repositories\store\product\SpuRepository;
use app\common\repositories\system\merchant\MerchantRepository;
use app\common\repositories\system\operate\OperateLogRepository;
+use FormBuilder\Exception\FormBuilderException;
use think\App;
use crmeb\basic\BaseController;
use app\validate\merchant\StoreProductAdminValidate as validate;
use app\common\repositories\store\product\ProductRepository as repository;
+use think\db\exception\DataNotFoundException;
+use think\db\exception\DbException;
+use think\db\exception\ModelNotFoundException;
use think\facade\Queue;
class StoreProduct extends BaseController
@@ -61,6 +65,42 @@ class StoreProduct extends BaseController
return app('json')->success($this->repository->getAdminList($merId, $where, $page, $limit));
}
+
+ /**
+ * @param $id
+ * @return mixed
+ * @throws DbException
+ * @throws FormBuilderException
+ * @throws DataNotFoundException
+ * @throws ModelNotFoundException
+ * @author xaboy
+ * @day 2020-05-07
+ */
+ public function updateForm($id)
+ {
+ if (!$this->repository->exists($id))
+ return app('json')->fail('数据不存在');
+ return app('json')->success(formToData($this->repository->updateForm($id)));
+ }
+
+ /**
+ * @param $id
+ * @return mixed
+ * @throws DbException
+ * @author xaboy
+ * @day 2020-05-07
+ */
+ public function updateSpread($id)
+ {
+ $data = $this->request->params(['is_hot', 'normal_integral_one', 'normal_integral_two', 'normal_diamond_one', 'normal_diamond_two',
+ 'hot_integral_one', 'hot_integral_two', 'hot_diamond_one', 'hot_diamond_two', 'hot_integral_rate', 'hot_integral_total']);
+ if (!$this->repository->exists($id))
+ return app('json')->fail('数据不存在');
+ $this->repository->update($id, $data);
+
+ return app('json')->success('编辑成功');
+ }
+
/**
* @Author:Qinii
* @Date: 2020/5/18
@@ -159,7 +199,7 @@ class StoreProduct extends BaseController
*/
public function checkParams(validate $validate)
{
- $data = $this->request->params(['is_hot', 'is_best', 'is_benefit', 'is_new', 'store_name', 'content', 'rank', 'star']);
+ $data = $this->request->params(['is_hot','is_good', 'is_best', 'is_benefit', 'is_new', 'store_name', 'content', 'rank', 'star']);
$validate->check($data);
return $data;
}
diff --git a/route/admin/product.php b/route/admin/product.php
index 7d7c297..a133a91 100755
--- a/route/admin/product.php
+++ b/route/admin/product.php
@@ -173,6 +173,16 @@ Route::group(function () {
'_alias' => '列表',
'_auth' => false,
]);
+
+ Route::post('update/spread/:id', '/updateSpread')->name('systemStoreProductUpdateSpread')->option([
+ '_alias' => '商品返佣编辑',
+ ]);
+ Route::get('form/:id', '/updateForm')->name('systemStoreProductUpdateSpreadForm')->option([
+ '_alias' => '商品返佣编辑表单',
+ '_auth' => false,
+ '_form' => 'systemStoreProductUpdateSpread',
+ ]);
+
Route::get('lst_filter', '/getStatusFilter')->name('systemStoreProductLstFilter')->option([
'_alias' => '统计',
]);
diff --git a/view/admin/src/api/product.js b/view/admin/src/api/product.js
index 17c1a94..77f4993 100644
--- a/view/admin/src/api/product.js
+++ b/view/admin/src/api/product.js
@@ -171,6 +171,9 @@ export function merCategoryListApi() {
export function productDetailApi(id) {
return request.get(`store/product/detail/${id}`)
}
+export function productEditSpreadApi(id) {
+ return request.get('store/product/form/' + id)
+}
/**
* @description 秒杀商品审核 -- 详情
*/
@@ -527,4 +530,4 @@ export function merProductLstApi(data) {
/** 商品列表 -- 商品操作记录 */
export function operateRecordList(id,data) {
return request.get(`store/product/get_operate_list/${id}`,data)
-}
\ No newline at end of file
+}
diff --git a/view/admin/src/views/product/productExamine/index.vue b/view/admin/src/views/product/productExamine/index.vue
index dd535f8..b49d0e1 100644
--- a/view/admin/src/views/product/productExamine/index.vue
+++ b/view/admin/src/views/product/productExamine/index.vue
@@ -159,7 +159,7 @@
查看评价
- 编辑标签
+ 设置返佣
已售数量
强制下架
@@ -181,11 +181,14 @@
备注:5星为最高推荐级别,1星为最低推荐级别,设置后会在商城商品列表、搜索商品列表中体现。
-
-
- {{ item.name }}
-
+
+
+
+
+
+
+
@@ -283,7 +286,8 @@ import {
updatetProductLabel,
batchesLabelsApi,
batchesRecommendApi,
- batchesOnOffApi
+ batchesOnOffApi,
+ productEditSpreadApi
} from '@/api/product'
import { roterPre } from '@/settings'
import infoFrom from './info'
@@ -356,6 +360,7 @@ export default {
is_best: 0,
is_new: 0,
is_benefit: 0,
+ is_good: 0,
ficti: 0,
is_ficti: "",
content: '',
@@ -472,6 +477,10 @@ export default {
sys_labels: row.sys_labels
}
},
+ // 编辑返佣数据
+ onEditSpread(id) {
+ this.$modalForm(productEditSpreadApi(id)).then(() => this.getList());
+ },
// 查看详情
onDetails(id) {
this.product_id = id;
@@ -531,6 +540,7 @@ export default {
is_best: info.is_best,
is_new: info.is_new,
is_benefit: info.is_benefit,
+ is_good: info.is_good,
ficti: info.ficti,
content: info.content,
store_name: info.store_name,