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()
async with db.sqlorContext('kboss') as sor:
try:
if ns.get('id'):
# 根据收藏ID删除
update_sql = """
UPDATE user_favorite
SET del_flg = '1'
WHERE productid = '%s' AND userid = '%s'
""" % (ns.get('id'), ns['userid'])
WHERE userid = '%s' AND productid = '%s'
""" % (ns.get('userid'), ns.get('id'))
await sor.sqlExe(update_sql, {})
else:
return {

View File

@ -24,8 +24,8 @@ async def favorite_search(ns={}):
where_conditions = ["f.del_flg = '0'"]
if ns.get('userid'):
where_conditions.append("f.userid = '%s'" % ns.get('userid'))
if ns.get('favorite_type'):
where_conditions.append("f.favorite_type = '%s'" % ns.get('favorite_type'))
if ns.get('publish_type'):
where_conditions.append("f.favorite_type = '%s'" % ns.get('publish_type'))
where_clause = " AND ".join(where_conditions)
@ -58,11 +58,35 @@ async def favorite_search(ns={}):
product_info_li = await sor.sqlExe(product_sql, {})
if product_info_li:
product['product_info'] = product_info_li[0]
# 增加收藏状态
product['product_info']['favorite'] = '1'
# 手机号加*
if product['product_info'].get('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:
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 {
'status': True,

View File

@ -63,13 +63,24 @@ async def user_browse_history_search(ns={}):
SELECT * FROM user_publish_product
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, {})
if product_info_li:
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'):
product['product_info']['phone_number'] = '***************'
if product['product_info'].get('img') and domain_name:
product['product_info']['img'] = 'https://' + domain_name + '/idfile?path=' + product['product_info']['img']
if product['product_info'].get('img'):
product['product_info']['img'] = 'https://' + product['product_info']['domain_name'] + '/idfile?path=' + product['product_info']['img']
else:
product['product_info'] = None