📝 新增农场详述功能

This commit is contained in:
2025-05-12 17:28:33 +08:00
parent ff5b446b52
commit 6d3eb5d48f
5 changed files with 147 additions and 11 deletions
+87
View File
@@ -170,6 +170,93 @@ class CFarmManager:
return img.pic2bytes()
@classmethod
async def drawDetailFarmByUid(cls, uid: str) -> list:
info = []
farm = await cls.drawFarmByUid(uid)
info.append(BuildImage.open(farm))
dataList = []
columnName = [
"-",
"土地ID",
"作物名称",
"成熟时间",
"土地状态",
"剩余产出",
]
icon = ""
soilNumber = await g_pDBService.user.getUserSoilByUid(uid)
for i in range(1, soilNumber + 1):
soilInfo = await g_pDBService.userSoil.getUserSoil(uid, i)
if not soilInfo:
continue
if soilInfo["soilLevel"] == 1:
iconPath = g_sResourcePath / f"soil/TODO.png"
else:
iconPath = g_sResourcePath / f"soil/普通土地.png"
if iconPath.exists():
icon = (iconPath, 33, 33)
plantName = soilInfo.get("plantName", "-")
if plantName == "-":
matureTime = "-"
soilStatus = "-"
plantNumber = "-"
else:
matureTime = datetime.fromtimestamp(int(soilInfo.get("matureTime", 0))).strftime("%Y-%m-%d %H:%M:%S.%f")
soilStatus = await g_pDBService.userSoil.getUserSoilStatus(uid, i)
num = await g_pDBService.userSteal.getTotalStolenCount(uid, i)
planInfo = await g_pDBService.plant.getPlantByName(plantName)
if not planInfo:
plantNumber = f"None / {num}"
else:
plantNumber = f"{planInfo['harvest']} / {num}"
dataList.append(
[
icon,
i,
plantName,
matureTime,
soilStatus,
plantNumber,
])
if len(dataList) >= 15:
result = await ImageTemplate.table_page(
"土地详细信息",
"测试N\n测试2",
columnName,
dataList,
)
info.append(result)
dataList.clear()
if i >= 30:
result = await ImageTemplate.table_page(
"土地详细信息",
"测试N\n测试2",
columnName,
dataList,
)
info.append(result)
dataList.clear()
return info
@classmethod
async def drawSoilPlant(cls, uid: str, soilIndex: int) -> tuple[bool, BuildImage, bool]:
"""绘制植物资源
+8 -8
View File
@@ -21,8 +21,8 @@ class CShopManager:
bytes: 返回商店图片bytes
"""
data_list = []
column_name = [
dataList = []
columnName = [
"-",
"种子名称",
"种子单价",
@@ -48,16 +48,16 @@ class CShopManager:
continue
icon = ""
icon_path = g_sResourcePath / f"plant/{plant['name']}/icon.png"
if icon_path.exists():
icon = (icon_path, 33, 33)
iconPath = g_sResourcePath / f"plant/{plant['name']}/icon.png"
if iconPath.exists():
icon = (iconPath, 33, 33)
if plant['again'] == True:
sell = "可以"
else:
sell = "不可以"
data_list.append(
dataList.append(
[
icon,
plant['name'],
@@ -79,8 +79,8 @@ class CShopManager:
result = await ImageTemplate.table_page(
title,
"购买示例:@小真寻 购买种子 大白菜 5",
column_name,
data_list,
columnName,
dataList,
)
return result.pic2bytes()