bug fix: zero division error

This commit is contained in:
wjsjwr 2025-02-22 17:25:21 +08:00
parent 16b3b63169
commit 2b3b516f18
4 changed files with 28 additions and 12 deletions

View File

@ -10,12 +10,10 @@
<cargoProject FILE="$PROJECT_DIR$/bookkeeper/Cargo.toml" />
</component>
<component name="ChangeListManager">
<list default="true" id="76b3b902-7a5c-4bcd-9c1b-8241d748fb44" name="更改" comment="添加总计">
<change afterPath="$PROJECT_DIR$/bookkeeper/templates/login.html.j2" afterDir="false" />
<list default="true" id="76b3b902-7a5c-4bcd-9c1b-8241d748fb44" name="更改" comment="添加登录页面">
<change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/bookkeeper/Cargo.lock" beforeDir="false" afterPath="$PROJECT_DIR$/bookkeeper/Cargo.lock" afterDir="false" />
<change beforePath="$PROJECT_DIR$/bookkeeper/Cargo.toml" beforeDir="false" afterPath="$PROJECT_DIR$/bookkeeper/Cargo.toml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/bookkeeper/Rocket.toml" beforeDir="false" afterPath="$PROJECT_DIR$/bookkeeper/Rocket.toml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/bookkeeper/src/main.rs" beforeDir="false" afterPath="$PROJECT_DIR$/bookkeeper/src/main.rs" afterDir="false" />
</list>
<option name="SHOW_DIALOG" value="false" />
@ -23,7 +21,7 @@
<option name="HIGHLIGHT_NON_ACTIVE_CHANGELIST" value="false" />
<option name="LAST_RESOLUTION" value="IGNORE" />
</component>
<component name="ExecutionTargetManager" SELECTED_TARGET="RsBuildProfile:dev" />
<component name="ExecutionTargetManager" SELECTED_TARGET="RsBuildProfile:release" />
<component name="FileTemplateManagerImpl">
<option name="RECENT_TEMPLATES">
<list>
@ -84,7 +82,7 @@
</component>
<component name="RunManager" selected="Cargo.Run bookkeeper">
<configuration name="Run bookkeeper" type="CargoCommandRunConfiguration" factoryName="Cargo Command">
<option name="buildProfileId" value="dev" />
<option name="buildProfileId" value="release" />
<option name="command" value="run --package bookkeeper --bin bookkeeper" />
<option name="workingDirectory" value="file://$PROJECT_DIR$/bookkeeper" />
<envs />
@ -158,7 +156,7 @@
<workItem from="1736239592084" duration="2278000" />
<workItem from="1737809478583" duration="76000" />
<workItem from="1739197188908" duration="1873000" />
<workItem from="1740209396270" duration="4798000" />
<workItem from="1740209396270" duration="6029000" />
</task>
<task id="LOCAL-00001" summary="Add bookkeeper">
<option name="closed" value="true" />
@ -272,7 +270,15 @@
<option name="project" value="LOCAL" />
<updated>1739198426101</updated>
</task>
<option name="localTasksCounter" value="15" />
<task id="LOCAL-00015" summary="添加登录页面">
<option name="closed" value="true" />
<created>1740214793630</created>
<option name="number" value="00015" />
<option name="presentableId" value="LOCAL-00015" />
<option name="project" value="LOCAL" />
<updated>1740214793630</updated>
</task>
<option name="localTasksCounter" value="16" />
<servers />
</component>
<component name="TypeScriptGeneratedFilesManager">
@ -304,7 +310,8 @@
<MESSAGE value="更新版本号和部署脚本" />
<MESSAGE value="清仓筛选" />
<MESSAGE value="添加总计" />
<option name="LAST_COMMIT_MESSAGE" value="添加总计" />
<MESSAGE value="添加登录页面" />
<option name="LAST_COMMIT_MESSAGE" value="添加登录页面" />
</component>
<component name="XSLT-Support.FileAssociations.UIState">
<expand />

2
bookkeeper/Cargo.lock generated
View File

@ -481,7 +481,7 @@ dependencies = [
[[package]]
name = "bookkeeper"
version = "0.2.0"
version = "0.2.1"
dependencies = [
"bcrypt",
"chrono",

View File

@ -1,6 +1,6 @@
[package]
name = "bookkeeper"
version = "0.2.0"
version = "0.2.1"
edition = "2021"
[dependencies]

View File

@ -1,3 +1,4 @@
use rust_decimal::prelude::Zero;
#[macro_use]
extern crate rocket;
@ -235,8 +236,16 @@ async fn index(
}
}
let pct = gain / bought;
let net_pct = net_gain / net_bought;
let pct = if bought.is_zero() {
Decimal::zero()
} else {
gain / bought
};
let net_pct = if net_bought.is_zero() {
Decimal::zero()
} else {
net_gain / net_bought
};
Ok(Template::render(
"index",