30/09/2018, 17:22

Xin trợ giúp về lập lịch xử lý trên asp.net?

Mình có 1 project website bán hàng, khi khách hàng xem sản phẩm thì website lưu lại những mặt hàng khách hàng đã xem, mình có 1 vấn đề là làm sao để server tự động gửi thông tin về các mặt hàng tương tự cho khách hàng? Mình nghĩ đến chuyện xử lý theo lô nhưng còn mơ hồ hướng giải quyết quá. Mong các bạn cho ý kiến! Cảm ơn!

Khiem Nguyen viết 19:32 ngày 30/09/2018

cách đơn giản ví dụ khách hàng xem mặt hàng A nằm trong danh mục X, những mặt hàng B, C , D cũng thuộc danh mục X. Thì lúc này khi khách hàng đang xem mặt hàng A thì bạn select những mặt hàng khác có cùng danh mục X như mặt hàng B, C, D. Ngoài ra bạn cũng có thể select lên những mặt hàng có cùng màu sắc giống nhau, giá tiền gần bằng nhau, cùng một hãng sản xuất

=> tóm lại để có thể hiển thị những mặc hàng tương tự thì những mặt hàng đó phải có cùng chung 1 đặc điểm giống nhau được lưu trữ dưới database thì khi đó bạn mới có thể select đi theo nhau để hiển thị lên.

Qk Tran viết 19:32 ngày 30/09/2018

Cảm ơn vì bạn đã replay nhưng cái seleclect tương tự mình làm được rồi, nhưng mình không biết làm sao đê sau 1 khoảng thời gian nó sẽ thực hiện gửi mail cho khách hàng, ví dụ như khi select đủ 20 sản phẩm tương tự thì server sẽ tự động gửi email 1 lần cho khách. Mong mọi người giúp đỡ!

Khiem Nguyen viết 19:26 ngày 30/09/2018

nếu bạn đang làm web forms thì có thể làm như sau. Sử dụng datatable control hoặc là repeater control (tùy bạn thích dùng cái nào), sau đó bạn select danh sách những sản phẩm tương tự và mỗi sản phẩm đi kèm theo nó là một cái checkbox. sau đó viết sự kiện cho cái datatable hoặc là repater trong cái sự kiện đó bạn dùng vòng lặp để duyệt qua hết danh sách sản phẩm tương ứng rồi dùng điều kiện if kiểm tra đã có bao nhiêu checkbox được check nếu thỏa điều kiện = 20 thì bạn gọi hàm gửi email về cho user. về ý tưởng là như vậy. còn để làm được bạn phải áp dụng thêm javascript để làm tốt chuyện này.

http://www.codeproject.com/Questions/534719/GetplusSelectedplusCheckboxesplusinplusASPplusRepe

http://stackoverflow.com/questions/3022313/getting-selected-checkboxes-in-a-gridview-in-asp-net

Qk Tran viết 19:37 ngày 30/09/2018

còn nếu trường hợp với sản phẩm mới, muốn gửi email khi có đủ 20 sản phẩm tương tự vừa mới nhập vào hệ thống (thời gian nhập khác nhau, không nhập đủ hết 20 sp trong 1 lân thì làm thế nào, bạn cho mình xin ý tưởng với?

Khiem Nguyen viết 19:25 ngày 30/09/2018

chưa hiểu rõ ý lắm, bạn có thể ví dụ cụ thể hơn ???

Qk Tran viết 19:29 ngày 30/09/2018

ví dụ như ngày 19 mình nhập thêm 10 sản phẩm, ngày 20 mình nhập tiếp thêm 10 sản phẩm tương tụ với những sản phẩm khách hàng đã xem, khi đã select đủ 20 sp hệ thông sẽ gửi mail giới thiệu sp cho khách hàng, do mỗi khách hàng có số sản phẩm cần quảng cáo qua mail khác nhau nên hệ thống phải làm cách nào kiểm tra select đủ 20 sp tương tự chưa để gưi mail. Hi vọng bạn hiểu ý mình nói! hj

Khiem Nguyen viết 19:24 ngày 30/09/2018

thế này nhé, ngày 19 lưu 10 sp ngày 20 lưu 10 sp. nếu chưa lưu đủ 20 sp thì ko gửi email cho kh còn nếu đã lưu đủ 20 sp thì sẽ gửi email cho kh. phân tích từng bước thế này:

bước 1: khi khách hàng viếng thăm website của bạn bắt buộc bạn phải lưu lại đc lịch sử kh đó đã xem đc những sản phẩm nào xuống database.

bước 2: trong quá trình bạn insert một sản phẩm mới thì lúc này bạn phải viết 1 hàm để kiểm tra xem sản phẩm bạn vừa insert vào có cùng category (ở đây mình ví dụ những sp tương tự là những sp có cùng 1 category) với sản phẩm mà khách hàng A đã xem không ?. Nếu nó có cùng thuộc 1 category thì lúc này bạn mới dùng hàm count để đếm xem trong bảng sản phẩm của bạn đã có đủ 20 sp tương ứng chưa nếu mà chưa đủ thì nó return về false (không gọi hàm gửi mail), còn nếu kiểm tra đã đủ 20 sp rồi sẽ return về true (gọi hàm gửi mail đến kh)

Qk Tran viết 19:26 ngày 30/09/2018

Nếu server chỉ có 1 người sử dụng thì cách này ổn, nhưng server phải đáp ứng cho nhiều yêu cầu khác nhau của khách hàng, mình nghĩ theo hướng nó phụ thuộc nhiều vào từng cá thể sở thích xem của mỗi khách hàng, nếu đặt phần xử lý gửi mail ở code insert thì chỉ có thể gửi mail được 1 lần duy nhất, và điều kiện để select của mỗi khách hàng cũng khác nhau nên cũng gây khó! Không biết mình nghĩ vậy có đúng không?

Khiem Nguyen viết 19:32 ngày 30/09/2018

mình nghỉ bạn chỉ cần làm đơn giản thể này. Khi kh vào xem 1 sp nếu sản phẩm đó đã có đủ 20 sp tương ứng thì khi khách hàng vừa page_load() sản phẩm đó lên bạn sẽ viết một đoạn code để check sp đó có đủ 20 sp tương ứng chưa nếu đủ r thì trong hàm page_load() bạn gọi tới hàm gửi email. Còn nếu chưa đủ thì đừng gửi email. Thiết nghĩ bạn đừng nên auto gửi email như vậy vì kh có cảm giác giống như bạn đang spam vào email của họ vậy. Hãy để một option cho họ lựa chọn bạn có muốn nhận email với những sp liên quan không.

giả sử bạn có 100 sp và mỗi sp đều có 20 sp liên quan thì khi khách hàng xem hết 100 sp thì số lượng email gửi về phía kh cũng khá nhiều. Nếu bạn có biết trang web nào làm nv bạn có thể gửi mình xem để mình tham khảo xem họ làm cách nào.

hay ý của bạn là khi hàng chỉ cần xem 20 sp trên website của bạn thì hệ thống sẽ tự gửi mail list danh sách sp kh vừa xem ? nếu nv thì càng đơn giản nữa

Qk Tran viết 19:36 ngày 30/09/2018

Cảm ơn bạn nhiều nha, mình hình dung được rồi, chắc chắn là sẽ có option. Cảm ơn nhiều!

Bài liên quan
0