我想实现当借阅量大于库存量会节借阅失败并弹出库存量不足的界面,但现在库借阅量大于库存量时,反而会借阅成功,我该如何修改?
逻辑功能
def add(self):
"""
添加图书信息
:return:
"""
bookName = self.bookNameInput.text()
if bookName.strip() == "":
self.x = show_custom_message_box("系统提示", "请选择借阅图书!")
return
ID = self.idInput.text()
if ID.strip() == "":
self.x = show_custom_message_box("系统提示", "图书编号不能为空!")
return
author = self.authorInput.text()
if author.strip() == "":
self.x = show_custom_message_box("系统提示", "图书作者不能为空!")
return
age = self.ageInput.text()
if age.strip() == "":
self.x = show_custom_message_box("系统提示", "年龄不能为空!")
return
sex = ''
if self.manRadio.isChecked():
sex = '男'
else:
sex = '女'
price = self.priceInput.text()
if price.strip() == "":
self.x = show_custom_message_box("系统提示", "图书价格不能为空!")
return
stock = self.stockInput.text()
if stock.strip() == "":
self.x = show_custom_message_box("系统提示", "借阅量不能为空!")
return
stock = int(stock)
if stock == 0 or stock > 10:
self.x = show_custom_message_box("系统提示", "请重新借阅!")
return
TID = self.bookTypeComboBoX.currentData()
if bookName == -1:
self.x = show_custom_message_box("系统提示", "请选择图书类别!")
return
bookDesc = self.bookDescInput.toPlainText()
rbook = Book.my_construtor2(ID, bookName, author, age, sex, price, TID, bookDesc, stock)
if borrowDao.check1(rbook) > 0:
self.x = show_custom_message_box("系统提示", "库存量不足!")
elif borrowDao.add(rbook) > 0:
self.x = show_custom_message_box("系统提示", "借阅成功!")
self.resetForm()
self.initTable()
else:
self.x = show_custom_message_box("系统提示", "借阅失败!")
数据库模块
def check1(rbook: Rbook):
con = dbUtil.getCon()
cursor = con.cursor()
# 检查库存量
check_sql = f"SELECT stock FROM t_book WHERE ID='{rbook.ID}' AND author='{rbook.author}'"
cursor.execute(check_sql)
con.commit()
count = cursor.fetchone()
print(rbook.stock)
print(count)
if count[0] <= rbook.stock:
return 0
dbUtil.closeCon(con)