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'], '标签绑定失败'); } }