|
|
@@ -8,11 +8,6 @@ use biz\item\classes\PtItemClassClass;
|
|
|
use biz\item\classes\UnitClass;
|
|
|
use biz\wx\classes\WxMessageClass;
|
|
|
use bizGhs\base\classes\BaseClass;
|
|
|
-use bizGhs\cp\classes\CpClass;
|
|
|
-use bizGhs\cp\classes\CpClassClass;
|
|
|
-use bizGhs\cp\classes\CpItemClass;
|
|
|
-use bizGhs\cp\classes\PtCpClass;
|
|
|
-use bizGhs\cp\classes\PtCpClassClass;
|
|
|
use bizGhs\custom\classes\CustomClass;
|
|
|
use bizGhs\item\classes\CostChangeClass;
|
|
|
use bizGhs\item\classes\ItemClassClass;
|
|
|
@@ -1866,7 +1861,7 @@ class ProductClass extends BaseClass
|
|
|
|
|
|
if (isset($data["reachNum"]) && $data["reachNum"] > 0) {
|
|
|
$upData['reachNum'] = $data['reachNum'];
|
|
|
- if (isset($data['reachNumDiscount']) == false || $data['reachNumDiscount'] <= 0) {
|
|
|
+ if (!isset($data['reachNumDiscount']) || $data['reachNumDiscount'] <= 0) {
|
|
|
util::fail('请填写满减的优惠金额');
|
|
|
}
|
|
|
$reachNumDiscount = $data['reachNumDiscount'];
|
|
|
@@ -1951,59 +1946,6 @@ class ProductClass extends BaseClass
|
|
|
CostChangeClass::addData($changeData);
|
|
|
}
|
|
|
|
|
|
- /***************产品模块*****************/
|
|
|
- $ptCpIds = [];
|
|
|
- if (isset($data['cpInfo']) && !empty($data['cpInfo'])) {
|
|
|
- $dbHas = CpItemClass::getAllByCondition(['productId' => $id], null, '*', 'cpId', true);
|
|
|
- $dbHasCpIds = array_keys($dbHas);
|
|
|
- $cpIds = array_column($data['cpInfo'], 'cpId');
|
|
|
- $cpInfoList = CpClass::getByIds($cpIds, null, 'id');
|
|
|
- $ptCpIds = array_column($cpInfoList, 'ptCpId');
|
|
|
- $delCpIds = array_diff($dbHasCpIds, $cpIds);
|
|
|
- if (!empty($delCpIds)) {
|
|
|
- foreach ($delCpIds as $delCpId) {
|
|
|
- //数据库里有,但传过来的没有,则需要删除
|
|
|
- CpItemClass::deleteByCondition(['cpId' => $delCpId, 'productId' => $id]);
|
|
|
- }
|
|
|
- }
|
|
|
- foreach ($data['cpInfo'] as $cpKey => $cpVal) {
|
|
|
- $cpId = $cpVal['cpId'] ?? 0;
|
|
|
- if (isset($cpInfoList[$cpId]) == false) {
|
|
|
- util::fail('添加了无效产品');
|
|
|
- }
|
|
|
- $currentCp = $cpInfoList[$cpId];
|
|
|
- if (isset($currentCp['mainId']) == false || $currentCp['mainId'] != $mainId) {
|
|
|
- util::fail('不是你的产品哦');
|
|
|
- }
|
|
|
- $cpName = $currentCp['name'] ?? '';
|
|
|
- $ptCpId = $currentCp['ptCpId'] ?? 0;
|
|
|
- $cpPy = $currentCp['py'] ?? '';
|
|
|
- $name = $update['name'] ?? '';
|
|
|
- $py = stringUtil::py($name);
|
|
|
- $hasCp = CpItemClass::getByCondition(['cpId' => $cpId, 'productId' => $id], true);
|
|
|
- if (empty($hasCp)) {
|
|
|
- $addCp = [
|
|
|
- 'cpId' => $cpId,
|
|
|
- 'ptCpId' => $ptCpId,
|
|
|
- 'ptItemId' => $ptItemId,
|
|
|
- 'productId' => $id,
|
|
|
- 'name' => $name,
|
|
|
- 'py' => $py,
|
|
|
- 'cpName' => $cpName,
|
|
|
- 'cpPy' => $cpPy,
|
|
|
- 'mainId' => $mainId,
|
|
|
- ];
|
|
|
- CpItemClass::add($addCp);
|
|
|
- }
|
|
|
- }
|
|
|
- $upData['hasCpId'] = 1;
|
|
|
- } else {
|
|
|
- if ($shop->itemToClass == 1) {
|
|
|
- util::fail('请选择产品');
|
|
|
- }
|
|
|
- }
|
|
|
- /***************产品模块*****************/
|
|
|
-
|
|
|
self::updateById($id, $upData);
|
|
|
|
|
|
//创建限购缓存
|
|
|
@@ -2041,10 +1983,6 @@ class ProductClass extends BaseClass
|
|
|
unset($upData['status']);
|
|
|
|
|
|
if (isset($shop->default) && $shop->default == 1 && isset($shop->dataSync) && $shop->dataSync == 1) {
|
|
|
- /***************产品模块*****************/
|
|
|
- $ptClassList = PtCpClassClass::getAllByCondition(['delStatus' => 0], null, '*', 'id');
|
|
|
- /***************产品模块*****************/
|
|
|
-
|
|
|
|
|
|
//总店修改同步到所有门店
|
|
|
$chainShopList = ShopClass::getAllByCondition(['sjId' => $sjId], null, '*', null, true);
|
|
|
@@ -2092,103 +2030,6 @@ class ProductClass extends BaseClass
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- /***************产品模块*****************/
|
|
|
- if (!empty($ptCpIds)) {
|
|
|
- $chainProductId = $chainProduct->id ?? 0;
|
|
|
- $chainPtItemId = $chainProduct->itemId ?? 0;
|
|
|
- $currentCpList = CpClass::getAllByCondition(['mainId' => $chainMainId, 'ptCpId' => ['in', $ptCpIds]], null, '*', 'ptCpId', true);
|
|
|
- $hasPtCpIds = array_keys($currentCpList);
|
|
|
- $diffIds = array_diff($ptCpIds, $hasPtCpIds);
|
|
|
- //部分产品没有新建,需要新建
|
|
|
- if (!empty($diffIds)) {
|
|
|
- $ptCpInfoList = PtCpClass::getByIds($diffIds);
|
|
|
- if (empty($ptCpInfoList)) {
|
|
|
- util::fail('平台产品有问题');
|
|
|
- }
|
|
|
- $customCpClassList = CpClassClass::getAllByCondition(['mainId' => $chainMainId], null, "*");
|
|
|
- if (empty($customCpClassList)) {
|
|
|
- util::fail('没有找到产品的分类');
|
|
|
- }
|
|
|
- $defaultCpClassId = 0;
|
|
|
- foreach ($customCpClassList as $customVal) {
|
|
|
- if (isset($customVal['isDefault']) && $customVal['isDefault'] == 1) {
|
|
|
- $defaultCpClassId = $customVal['id'] ?? 0;
|
|
|
- }
|
|
|
- }
|
|
|
- if (empty($defaultCpClassId)) {
|
|
|
- util::fail('没有找到产品的默认分类');
|
|
|
- }
|
|
|
- foreach ($ptCpInfoList as $ptCpInfo) {
|
|
|
- $ptCpName = $ptCpInfo['name'] ?? '';
|
|
|
- $ptCpCover = $ptCpInfo['cover'] ?? '';
|
|
|
- $ptCpId = $ptCpInfo['id'] ?? 0;
|
|
|
- $ptCpAuth = $ptCpInfo['auth'] ?? 0;
|
|
|
-
|
|
|
- $ptCpClassId = $ptCpInfo['classId'] ?? 0;
|
|
|
- $ptCpClassInfo = $ptClassList[$ptCpClassId] ?? '';
|
|
|
- $ptCpClassName = $ptCpClassInfo['name'] ?? '';
|
|
|
- if (empty($ptCpClassName)) {
|
|
|
- util::fail('平台产品分类名称没有找到');
|
|
|
- }
|
|
|
- $currentClassId = 0;
|
|
|
- foreach ($customCpClassList as $customVal) {
|
|
|
- if (isset($customVal['name']) && $customVal['name'] == $ptCpClassName) {
|
|
|
- $currentClassId = $customVal['id'] ?? 0;
|
|
|
- }
|
|
|
- }
|
|
|
- if (empty($currentClassId)) {
|
|
|
- $currentClassId = $defaultCpClassId;
|
|
|
- }
|
|
|
- $addData = [
|
|
|
- 'name' => $ptCpName,
|
|
|
- 'cover' => $ptCpCover,
|
|
|
- 'ptCpId' => $ptCpId,
|
|
|
- 'classId' => $currentClassId,
|
|
|
- 'shopId' => $chainShopId,
|
|
|
- 'mainId' => $chainMainId,
|
|
|
- 'auth' => $ptCpAuth,
|
|
|
- ];
|
|
|
- CpClass::addCp($addData, $chainShop);
|
|
|
- }
|
|
|
- }
|
|
|
- $dbHas = CpItemClass::getAllByCondition(['productId' => $chainProductId], null, '*', 'cpId', true);
|
|
|
- $dbHasCpIds = array_keys($dbHas);
|
|
|
- $cpInfoList = CpClass::getAllByCondition(['mainId' => $chainMainId, 'ptCpId' => ['in', $ptCpIds]], null, '*', 'id');
|
|
|
- $mayHasCpIds = array_keys($cpInfoList);
|
|
|
- $delCpIds = array_diff($dbHasCpIds, $mayHasCpIds);
|
|
|
- if (!empty($delCpIds)) {
|
|
|
- foreach ($delCpIds as $delCpId) {
|
|
|
- //数据库里有,但传过来的没有,则需要删除
|
|
|
- CpItemClass::deleteByCondition(['cpId' => $delCpId, 'productId' => $chainProductId]);
|
|
|
- }
|
|
|
- }
|
|
|
- foreach ($cpInfoList as $cpKey => $currentCp) {
|
|
|
- $cpId = $currentCp['id'] ?? 0;
|
|
|
- $ptCpId = $currentCp['ptCpId'] ?? 0;
|
|
|
- $cpName = $currentCp['name'] ?? '';
|
|
|
- $cpPy = $currentCp['py'] ?? '';
|
|
|
- $name = $params['name'] ?? '';
|
|
|
- $py = stringUtil::py($name);
|
|
|
- $hasCp = CpItemClass::getByCondition(['cpId' => $cpId, 'productId' => $chainProductId], true);
|
|
|
- if (empty($hasCp)) {
|
|
|
- $addCp = [
|
|
|
- 'cpId' => $cpId,
|
|
|
- 'ptCpId' => $ptCpId,
|
|
|
- 'productId' => $chainProductId,
|
|
|
- 'ptItemId' => $chainPtItemId,
|
|
|
- 'name' => $name,
|
|
|
- 'py' => $py,
|
|
|
- 'cpName' => $cpName,
|
|
|
- 'cpPy' => $cpPy,
|
|
|
- 'mainId' => $mainId,
|
|
|
- ];
|
|
|
- CpItemClass::add($addCp);
|
|
|
- }
|
|
|
- }
|
|
|
- $params['hasCpId'] = 1;
|
|
|
- }
|
|
|
- /***************产品模块*****************/
|
|
|
-
|
|
|
//加盟店仅同步名称等非重要参数
|
|
|
if ($chainShop->join == 1) {
|
|
|
unset($params['skPrice']);
|
|
|
@@ -2202,6 +2043,9 @@ class ProductClass extends BaseClass
|
|
|
unset($params['hjDiscountPrice']);
|
|
|
unset($params['discountPrice']);
|
|
|
unset($params['skDiscountPrice']);
|
|
|
+ //满减也不能同步,惠雅鲜花批发
|
|
|
+ unset($params['reachNum']);
|
|
|
+ unset($params['reachNumDiscount']);
|
|
|
self::updateById($chainProduct->id, $params);
|
|
|
continue;
|
|
|
}
|