report.py 1.2 KB

123456789101112131415161718192021222324252627282930
  1. from database.dao.mysql_dao import MySqlDao
  2. from models import Recommend
  3. class ReportUtils:
  4. def __init__(self, city_uuid):
  5. self._recommend_model = Recommend(city_uuid)
  6. self._city_uuid = city_uuid
  7. self._dao = MySqlDao()
  8. def _get_recommend_cust_list(self, product_id):
  9. """获取推荐商户列表"""
  10. # 判断product_id是否是新品规
  11. products_in_order = self._dao.get_product_from_order(self._city_uuid)["product_code"].unique().tolist()
  12. recall_count = 1000 # 参数调整
  13. if product_id in products_in_order:
  14. recommend_list = self._recommend_model.get_recommend_list_by_gbdtlr(product_id, recall_count=recall_count)
  15. else:
  16. recommend_list = self._recommend_model.get_recommend_list_by_item2vec(product_id, recall_count=recall_count)
  17. recommend_list = list(map(lambda x: x["cust_code"], recommend_list))
  18. return recommend_list
  19. if __name__ == "__main__":
  20. city_uuid = "00000000000000000000000011445301"
  21. product_id = '350139'
  22. report = ReportUtils(city_uuid)
  23. recommend_list = report._get_recommend_cust_list(product_id)