আমার দোকানে কয়েকটি কুপন কোড রয়েছে এবং আমি ব্যবহারকারীর কী কোড ব্যবহার করতে পারে তা ট্র্যাক করতে সক্ষম হতে চাই। বিপরীতভাবে, এখানে কোনও উপায় রয়েছে যে কোনও নির্দিষ্ট কোডটি কতবার ব্যবহৃত হয়েছিল?
আমার দোকানে কয়েকটি কুপন কোড রয়েছে এবং আমি ব্যবহারকারীর কী কোড ব্যবহার করতে পারে তা ট্র্যাক করতে সক্ষম হতে চাই। বিপরীতভাবে, এখানে কোনও উপায় রয়েছে যে কোনও নির্দিষ্ট কোডটি কতবার ব্যবহৃত হয়েছিল?
উত্তর:
কোন গ্রাহক কোন কুপন ব্যবহার করেছেন:
আমি সাধারণত কাঁচা ডিবি অনুসন্ধানগুলি থেকে দূরে থাকি তবে এই ক্ষেত্রে আমি ব্যতিক্রম করব:
select customer_email, group_concat(distinct sfo.coupon_code) from sales_flat_order sfo
where coupon_code is not null
group by customer_email;
আপনি ম্যাজেন্টো ওআরএম এর মাধ্যমেও এটি করতে পারতেন - কীভাবে এটি করা যায় এবং পরবর্তী সময়ে এবং কীভাবে সম্পাদনা করা যায় সে সম্পর্কে একটি রচনাআপ তৈরি করবে :
$coll = Mage::getModel('sales/order')->getCollection()
->getSelect()->reset(Zend_Db_Select::COLUMNS)
->columns(array('customer_email',new Zend_Db_Expr('group_concat(distinct coupon_code)')))
->where(new Zend_Db_Expr('coupon_code is not null'))
->group(array('customer_email'));
কতবার একটি কুপন ব্যবহৃত হয়েছিল:
ইতিমধ্যে অন্য উত্তরে নির্দেশিত হিসাবে এটি একটি প্রতিবেদনে। সবচেয়ে বেসিক স্তরে এর জন্য ক্যোয়ারীটি হ'ল:
select coupon_code,count(coupon_code) from sales_flat_order
group by coupon_code;
এটি পরিচালনা করার ORM কেন্দ্রিক উপায়টিও মোটামুটি সোজা:
$coll = Mage::getModel('sales/order')->getCollection()
->getSelect()->reset(Zend_Db_Select::COLUMNS)
->columns(array('coupon_code',new Zend_Db_Expr('count(coupon_code)')))
->group(array('coupon_code'));
নোট করুন যে এটি অ্যাকাউন্ট অর্ডার স্থিতি বা চালিত অর্থ প্রদানের ক্ষেত্রে গ্রহণ করবে না।
Reports > Sales > Coupons
আপনার প্রশাসনের ক্ষেত্রে আপনাকে নির্দিষ্ট ছাড় কোডটি কতবার ব্যবহার করা হয়েছিল, বিক্রির পরিমাণ এবং প্রতিটিটির জন্য মোট ছাড়ের পরিমাণও দেওয়া হয়েছিল তা আপনাকে দেখতে দেবে। আপনি এটি দিন, মাস, বছর ইত্যাদি দ্বারা ফিল্টার করতে পারেনYou can also filter by order status and for a certain date period.
ডিফল্ট প্রতিবেদন রিপোর্ট -> বিক্রয় -> কুপন উপলভ্য।
এবং স্ক্রিপ্টের সাহায্যে আপনি ব্যবহার করা কুপন গণনা এবং গ্রাহকের বিশদ খুব সহজেই খুঁজে পেতে পারেন:
$coupon = Mage::getModel('salesrule/coupon/usage');
$coupon->load('code', 'coupon_id');
if($coupon->getId()) {
$timesUsed = $coupon->getTimesUsed();
$customer = $coupon->getCustomerId();
echo $timesUsed;
echo $customer;
}
$coupon
নির্দিষ্ট গ্রাহক এই বস্তুর সাথে যুক্ত? মনে হচ্ছে আপনি কিছু মিস করছেন।
আমার ক্লায়েন্টের কাছ থেকে আমার অনুরূপ অনুরোধ ছিল, তারা জানতে চেয়েছিলেন যে কোনও নির্দিষ্ট আদেশে কোনটি কুপন ব্যবহার করা হয়েছিল
আপাতত আমি ডিবিতে এটি ম্যানুয়ালি করছি তবে এটির জন্য আমি যখনই এক্সটেনশান করব তখনই আমি আমার প্রশ্নটি আপডেট করব, আশা করি এর মধ্যেই এটি সহায়তা করবে
SELECT sfo.customer_id AS customer, ce.email, GROUP_CONCAT(cev.value SEPARATOR ' ') as name,
sfo.entity_id, sfo.increment_id,scu.times_used,sc.coupon_id,sc.rule_id,sc.code FROM sales_flat_order sfo
LEFT JOIN salesrule_coupon_usage scu ON sfo.customer_id = scu.customer_id LEFT JOIN salesrule_coupon sc
ON sc.coupon_id = scu.coupon_id LEFT JOIN customer_entity ce ON ce.entity_id = sfo.customer_id
LEFT JOIN customer_entity_varchar cev ON cev.entity_id = sfo.customer_id WHERE (cev.attribute_id IN (5,7)
OR cev.attribute_id IS NULL) GROUP BY sfo.increment_id ORDER BY sfo.increment_id;
কিছু রেখাগুলি নালায় পূর্ণ হতে পারে এটি সম্ভবত অতিথি গ্রাহক এবং কিছুতে কুপনের তথ্যে নাল থাকবে, এগুলি এমন আদেশ হবে যেখানে কুপনগুলি ব্যবহৃত হয়নি were
এখানে একটি ওপেন সোর্স কুপন মডিউল রয়েছে যা আমি ব্যবহার করেছি (ম্যাজেন্টো 1 - EE) https://github.com/pavelnovitsky/CouponUsage
এটি একটি নতুন অ্যাডমিন গ্রিড তৈরি করে:
Admin > Promotions > Coupon Usage
যা আদেশের সাথে কুপনকে লিঙ্ক করে। আমি এটি নিশ্চিত করতে পারি যে এটি কয়েক বছরের পুরানো হলেও এটি ভাল কাজ করে।
একটি Magento ce-1.8.1.0 দোকানে আমি applied_rule_ids
টেবিলে ডাটাবেস ক্ষেত্রটি পেয়েছি sales_flat_order
। Shopping Cart Price Rules
পৃষ্ঠাটির আইডিটির সাথে এটি মিলছে বলে মনে হচ্ছে ।
আপনি যদি কুপন কোড উত্পন্ন করে থাকেন তবে তা কার্যকর হতে পারে:
COUNT নির্বাচন করুন (*) FROM বিক্রয়_flat_ অর্ডার যেখানে FIND_IN_SET ('1', প্রয়োগ_পড়তা_আইডি)
FIND_IN_SET()
পরিবর্তে আরও ভাল ব্যবহার করুন=
আমার কাছে একটি কুপন কোড রয়েছে যার প্রতি গ্রাহক মূল্য 1 ব্যবহার করে এবং আমি এটি আমার গ্রাহকের অ্যাকাউন্টে ব্যবহার করতে পারছি না। সুতরাং আমি sales_flat_order
টেবিলকে জিজ্ঞাসা করেছি কারণ অন্যান্য উত্তরগুলি এই কোডটি কীভাবে ব্যবহার করেছি তা দেখার পরামর্শ দেয় এবং সেই সারণীতে আমার কোনও অর্ডার ছিল না যা দেখায় যে আমি প্রশ্নের অভ্যন্তরে কুপন কোডটি ব্যবহার করেছি। আমাকে কোডটি খনন করতে হয়েছিল এবং Mage_SalesRule_Model_Validator::_canProcessRule()
এটিতে আমি টেবিলগুলি পরীক্ষা করে দেখতে পেলাম salesrule_coupon_usage
এবং salesrule_customer
..
select * from production.mage_salesrule_customer
where customer_id = 58394
উপরে এই জিজ্ঞাসাটি দেখায় আমি একবার কুপন ব্যবহার করেছি। আমি জানি না যে এটি কেন একবার ব্যবহার করে দেখায় এবং কেন আদেশ টেবিলে আমার ব্যবহারের কোনও রেকর্ড নেই (এখনও), তবে আমি আশা করি যে এটি অন্য কাউকে সাহায্য করবে যা এটি বের করার জন্য লড়াই করে যাচ্ছিল।
ম্যাজেন্টো 2 এর জন্য, দয়া করে গ্রাহকের ইমেল, কুপন কোড, ছাড়ের পরিমাণ, গ্র্যান্ড টোটাল এবং ইনক্রিমেন্ট আইডি পেতে এই বর্গ স্কয়ারটি চালান
select a.customer_email, a.coupon_code, b.increment_id, a.discount_amount,
a.grand_total from `sales_order` as a, `sales_order_grid` as b where
coupon_code is not null AND a.`entity_id` = b.`entity_id`