142 行
4.5 KiB
PHP
可执行文件
142 行
4.5 KiB
PHP
可执行文件
<?php
|
|
|
|
namespace Common\Business;
|
|
|
|
use Retail\Model\GoodsLabelLinkModel;
|
|
use Retail\Model\MGoodsLabelLinkModel;
|
|
//[1.7.90]
|
|
/**
|
|
* 标签类
|
|
* Class LabelInventory
|
|
* [
|
|
* 依据商品id查询标签集合 basisGoodsIdGetLabelList
|
|
* 批量绑定标签 addLabel
|
|
* ]
|
|
* @package Common\Business
|
|
*/
|
|
class LabelInventory
|
|
{
|
|
/**
|
|
* 依据商品id查询标签集合
|
|
* @param $param
|
|
* [
|
|
* user_type 3商户 4门店
|
|
* merchant_id
|
|
* store_id
|
|
* goods_id_arr 商品id集合 json字符串
|
|
* ]
|
|
* @return mixed
|
|
*/
|
|
public function basisGoodsIdGetLabelList($param)
|
|
{
|
|
$VerifyClass = new VerifyParam();
|
|
$verifyResult = $VerifyClass->identityVerify($param);
|
|
if ($verifyResult['status'] != 1) {
|
|
return $verifyResult;
|
|
}
|
|
if (empty($param['goods_id_arr'])) {
|
|
return callBack(statusCode()['error'], '请传入商品标识');
|
|
}
|
|
$goods_id_arr = json_decode($param['goods_id_arr'], true);
|
|
if (!is_array($goods_id_arr)) {
|
|
return callBack(statusCode()['error'], '商品标识格式有误');
|
|
}
|
|
$where = [
|
|
'merchant_id' => $param['merchant_id'],
|
|
'goods_id' => ['in', $goods_id_arr]
|
|
];
|
|
switch ($param['user_type']) {
|
|
case 3:
|
|
$LabelModel = new MGoodsLabelLinkModel();
|
|
break;
|
|
case 4:
|
|
$LabelModel = new GoodsLabelLinkModel();
|
|
$where['store_id'] = $param['store_id'];
|
|
break;
|
|
}
|
|
$list = $LabelModel->getSelect($where, 'label_id,goods_id');
|
|
$arr = [];
|
|
if (!empty($list)) {
|
|
foreach ($list as $val) {
|
|
$arr[$val['goods_id']][] = $val['label_id'];
|
|
}
|
|
}
|
|
return callBack(statusCode()['success'], '查询成功', $arr);
|
|
}
|
|
|
|
|
|
/**
|
|
* 批量绑定标签
|
|
* @param $param
|
|
* [
|
|
* user_type 3商户 4门店
|
|
* operate_id
|
|
* merchant_id
|
|
* store_id
|
|
* label_arr 商户或者门店商品与标签关联信息 json字符串['1'=>[2,3]]
|
|
* relation_arr 门店与商户或者其他门店的商品关联信息 json字符串['1'=>'门店商品id']
|
|
* ]
|
|
* @return mixed
|
|
*/
|
|
public function addLabel($param)
|
|
{
|
|
$VerifyClass = new VerifyParam();
|
|
$verifyResult = $VerifyClass->identityVerify($param);
|
|
if ($verifyResult['status'] != 1) {
|
|
return $verifyResult;
|
|
}
|
|
if (empty($param['label_arr']) || empty($param['relation_arr'])) {
|
|
return callBack(statusCode()['error'], '缺少参数');
|
|
}
|
|
$label_arr = json_decode($param['label_arr'], true);
|
|
$relation_arr = json_decode($param['relation_arr'], true);
|
|
if (!is_array($label_arr) || !is_array($relation_arr)) {
|
|
return callBack(statusCode()['error'], '参数格式有误');
|
|
}
|
|
switch ($param['user_type']) {
|
|
case 3:
|
|
//暂留
|
|
break;
|
|
case 4:
|
|
$LabelModel = new GoodsLabelLinkModel();
|
|
break;
|
|
}
|
|
$time = $_SERVER['REQUEST_TIME'];
|
|
$data = [
|
|
'merchant_id' => $param['merchant_id'],
|
|
'store_id' => $param['store_id'],
|
|
'operate_id' => $param['operate_id'],
|
|
'add_time' => $time
|
|
];
|
|
$add_arr = [];
|
|
foreach ($relation_arr as $key => $value) {
|
|
if (!empty($label_arr[$key])) {
|
|
$data['goods_id'] = $value;
|
|
$arr = $label_arr[$key]; //标签值
|
|
foreach ($arr as $val) {
|
|
$data['label_id'] = $val;
|
|
$add_arr[] = $data;
|
|
}
|
|
}
|
|
}
|
|
if (!empty($add_arr)) {
|
|
try {
|
|
M()->startTrans();
|
|
$LabelModel->deleteOrder([
|
|
'goods_id' => ['in', $relation_arr]
|
|
]);
|
|
$id = $LabelModel->addAll($add_arr);
|
|
if (!empty($id)) {
|
|
M()->commit();
|
|
return callBack(statusCode()['success'], '标签绑定成功');
|
|
} else {
|
|
M()->rollback();
|
|
return callBack(statusCode()['error'], '标签绑定失败');
|
|
}
|
|
} catch (\Exception $e) {
|
|
return callBack(statusCode()['error'], '标签绑定失败');
|
|
}
|
|
}
|
|
return callBack(statusCode()['error'], '标签绑定失败');
|
|
}
|
|
} |