You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 

55 lines
2.0 KiB

  1. from official.models import CmsCategoryProd
  2. from common import util
  3. def getProdByCms(cms_cate_id, content, page, page_size):
  4. """
  5. 根据cms_category_id查找对应的产品列表
  6. :param cms_cate_id: 品类id
  7. :param content: 搜索关键字
  8. :param page: 当前页
  9. :param page_size: 一页的数量
  10. :return:list
  11. """
  12. condition_list = []
  13. page_size = int(page_size)
  14. start_point = (int(page) - 1) * page_size
  15. sql = """SELECT c.pro_cate_id, c.sign, c.pro_cate_name, c.prod_des, c.show_price,c.show_img, c.category_id,
  16. (SELECT d.end_area_id from bus_ticket d where d.line_id = c.sign order by d.ticket_id desc limit 1) 'poi_id'
  17. FROM cms_category_prod AS b JOIN prod_category AS c ON c.pro_cate_id = b.prod_cate_id AND c.delete_flag = 0 WHERE b.system = 3 AND b.delete_flag = 0 """
  18. if cms_cate_id != 0 and content == '':
  19. sql += ' AND b.cms_cate_id = %s '
  20. condition_list.append(cms_cate_id)
  21. if content != '':
  22. sql += ' and c.pro_cate_name LIKE %s'
  23. content = '%' + content + '%'
  24. condition_list.append(content)
  25. sql += 'limit %s,%s'
  26. condition_list.append(start_point)
  27. condition_list.append(page_size)
  28. prod_list = util.select_all(sql, condition_list)
  29. return prod_list
  30. def getProdNumByCms(cms_cate_id, content):
  31. """
  32. 获取对应的分类下的产品的数量
  33. :param cms_cate_id: 品类id
  34. :return:
  35. """
  36. condition_list = []
  37. sql = """SELECT sum(if(c.pro_cate_id,1,0)) as num FROM cms_category_prod AS b JOIN prod_category AS c ON c.pro_cate_id = b.prod_cate_id AND c.delete_flag = 0 WHERE b.system = 3 AND b.delete_flag = 0"""
  38. if cms_cate_id != 0 and content == '':
  39. sql += ' AND b.cms_cate_id = %s'
  40. condition_list.append(cms_cate_id)
  41. if content != '':
  42. sql += ' and c.pro_cate_name LIKE %s'
  43. content = '%' + content + '%'
  44. condition_list.append(content)
  45. num = util.select_row(sql, condition_list)
  46. return num