This commit is contained in:
ping 2025-08-27 14:05:00 +08:00
parent 0772dd8750
commit 90e00d7d4f
3 changed files with 41 additions and 7 deletions

View File

@ -14,14 +14,13 @@ async def favorite_delete(ns={}):
db = DBPools() db = DBPools()
async with db.sqlorContext('kboss') as sor: async with db.sqlorContext('kboss') as sor:
try: try:
if ns.get('id'): if ns.get('id'):
# 根据收藏ID删除 # 根据收藏ID删除
update_sql = """ update_sql = """
UPDATE user_favorite UPDATE user_favorite
SET del_flg = '1' SET del_flg = '1'
WHERE productid = '%s' AND userid = '%s' WHERE userid = '%s' AND productid = '%s'
""" % (ns.get('id'), ns['userid']) """ % (ns.get('userid'), ns.get('id'))
await sor.sqlExe(update_sql, {}) await sor.sqlExe(update_sql, {})
else: else:
return { return {

View File

@ -24,8 +24,8 @@ async def favorite_search(ns={}):
where_conditions = ["f.del_flg = '0'"] where_conditions = ["f.del_flg = '0'"]
if ns.get('userid'): if ns.get('userid'):
where_conditions.append("f.userid = '%s'" % ns.get('userid')) where_conditions.append("f.userid = '%s'" % ns.get('userid'))
if ns.get('favorite_type'): if ns.get('publish_type'):
where_conditions.append("f.favorite_type = '%s'" % ns.get('favorite_type')) where_conditions.append("f.favorite_type = '%s'" % ns.get('publish_type'))
where_clause = " AND ".join(where_conditions) where_clause = " AND ".join(where_conditions)
@ -58,12 +58,36 @@ async def favorite_search(ns={}):
product_info_li = await sor.sqlExe(product_sql, {}) product_info_li = await sor.sqlExe(product_sql, {})
if product_info_li: if product_info_li:
product['product_info'] = product_info_li[0] product['product_info'] = product_info_li[0]
# 增加收藏状态
product['product_info']['favorite'] = '1'
# 手机号加* # 手机号加*
if product['product_info'].get('phone_number'): if product['product_info'].get('phone_number'):
product['product_info']['phone_number'] = '**************' product['product_info']['phone_number'] = '**************'
if product['product_info'].get('img'):
product['product_info']['img'] = 'https://' + product['product_info']['domain_name'] + '/idfile?path=' + product['product_info']['img']
else: else:
product['product_info'] = None product['product_info'] = None
date_groups = {}
for item in result:
# 提取日期部分(如"2025-08-22 15:58:52" → "2025-08-22"
browse_date = datetime.datetime.strptime(item["create_at"], "%Y-%m-%d %H:%M:%S").strftime("%Y-%m-%d")
if browse_date not in date_groups:
date_groups[browse_date] = []
date_groups[browse_date].append(item)
# 按日期升序排序并添加序号
sorted_dates = sorted(date_groups.keys(), reverse=True) # 按日期升序排列
result = []
for idx, date in enumerate(sorted_dates, start=1):
result.append({
"id": str(idx), # 序号从1开始
"browse_date": date,
"products": date_groups[date] # 该日期下的所有浏览记录
})
return { return {
'status': True, 'status': True,
'msg': '查询成功', 'msg': '查询成功',

View File

@ -63,13 +63,24 @@ async def user_browse_history_search(ns={}):
SELECT * FROM user_publish_product SELECT * FROM user_publish_product
WHERE id = '{product['productid']}' AND del_flg = '0' AND listing_status = 'listing'; WHERE id = '{product['productid']}' AND del_flg = '0' AND listing_status = 'listing';
""" """
favorite_sql = f"""
SELECT * FROM user_favorite
WHERE productid = '{product['productid']}' AND userid = '{userid}' AND del_flg = '0';
"""
favorite_status = await sor.sqlExe(favorite_sql, {})
product_info_li = await sor.sqlExe(product_sql, {}) product_info_li = await sor.sqlExe(product_sql, {})
if product_info_li: if product_info_li:
product['product_info'] = product_info_li[0] product['product_info'] = product_info_li[0]
if favorite_status:
product['product_info']['favorite'] = '1'
else:
product['product_info']['favorite'] = '0'
if product['product_info'].get('phone_number'): if product['product_info'].get('phone_number'):
product['product_info']['phone_number'] = '***************' product['product_info']['phone_number'] = '***************'
if product['product_info'].get('img') and domain_name: if product['product_info'].get('img'):
product['product_info']['img'] = 'https://' + domain_name + '/idfile?path=' + product['product_info']['img'] product['product_info']['img'] = 'https://' + product['product_info']['domain_name'] + '/idfile?path=' + product['product_info']['img']
else: else:
product['product_info'] = None product['product_info'] = None