Слияние клиентов magento - PullRequest
2 голосов
/ 14 июля 2011

Есть ли способ объединения учетных записей клиентов в Magento?У меня есть клиент, чья электронная почта была повреждена (или так они говорят), поэтому они создали новую учетную запись.Я хотел бы иметь возможность объединить историю старого клиента с новым.Возможно ли это?

Ответы [ 3 ]

1 голос
/ 14 ноября 2013

Если у вас есть разрешение на создание хранимой подпрограммы MySQL и в вашем распоряжении база данных information_schema, следующий код объединит клиентов. Обратите внимание, что после создания подпрограммы вам необходимо запустить ее, указав в качестве параметров entity_id клиентов.

drop procedure if exists merge_customers;
delimiter //
create procedure merge_customers(
  id1 int unsigned, -- the customer to keep
  id2 int unsigned) -- the record to delete
begin
declare done int default false;
declare tbl_name, col_name varchar(255);
declare c cursor for
  select table_name, column_name
  from information_schema.key_column_usage
  where table_schema = database()
    and referenced_table_name = 'customer_entity'
    and referenced_column_name = 'entity_id';
declare continue handler for not found set done = true;
open c;
read_loop: loop
  fetch c into tbl_name, col_name;
  if done then
    leave read_loop;
  end if;
  set @str = concat(
    'UPDATE IGNORE ', tbl_name,
    ' SET ', col_name, ' = ', id1,
    ' WHERE ', col_name, ' = ', id2
  );
  prepare stmt from @str;
  execute stmt;
  deallocate prepare stmt;
end loop;
close c;
delete from customer_entity where entity_id = id2;
end//
delimiter;
0 голосов
/ 04 марта 2014

Я ищу то же самое.Определенно необходимое расширение.

В настоящее время я изменяю Customer_ID вручную в phpMyAdmin в обеих таблицах sales_flat_order & sales_flat_order_grid.Вы можете найти идентификатор клиента в администраторе magento, второй столбец в разделе клиентов.

Но это ОЧЕНЬ много времени, было бы так здорово, если бы кто-то мог написать модуль, я бы заплатил за него.

0 голосов
/ 15 июля 2011

Вы можете возместить заказы одной учетной записи (которая фактически не возмещает какие-либо сборы) и отправить идентичные заказы под другой учетной записью, используя, например, метод оплаты «Чек» (который фактически не взимает никаких сборов). Таким образом, у вас есть бумажный след активности, который не случится, если вы измените базу данных напрямую.

Кроме того, спросите себя, может ли этот человек быть плохим? Насколько вы уверены, что они, кто они говорят, что они? Просто зная имя своего питомца или какой-либо секретный вопрос только доказывает, что они видели страницу первого лица на Facebook. Что это значит, что письмо «испорчено»?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...