def load_statement_list(self): """ 获取要还款的对账单列表数据,仅包含对账单号、还款日、应还款额、已还款额 :return: 对账单列表 """ # 获取要显示的信息 list_info = dbapi.load_statement_list(self.cardno) return list_info
def recreate_statement(self): """ 根据今天的日期将当前卡的对账单重新生成,主要对过了还款日的账单重新生成利息信息 :return: """ # 获取当前日期 today = datetime.strptime(date.today().strftime("%Y-%m-%d"), "%Y-%m-%d") # 获取所有卡的对账单信息 card_statement = dbapi.load_statement_list(self.cardno) tmp_list = list() # 如果有记录 if len(card_statement) > 0: for record in card_statement: for k, v in record.items(): # 如果已经还款了,将对账单放入临时列表中 if v["isfinished"] == 1: tmp_list.append(record) else: # 还未还款? 获取还款日期 pay_day = datetime.strptime(v["pdate"], "%Y-%m-%d") # 如果还款日大于当前日期,无利息 day_delta = (today - pay_day).days if day_delta > 0: # 过了还款日了,计算利息 = 总费用 * 日息 * 超过天数 interest = v[ "total"] * settings.EXPIRE_DAY_RATE * day_delta # 更新利息信息记录 record[k]["interest"] = interest # 将更新过的记录写入临时列表 tmp_list.append(record) else: # 没有过还款日直接写入临时列表 tmp_list.append(record) # 都处理完了,将更新过的列表写入文件,替换原有信息 dbapi.write_statement_list(self.cardno, tmp_list) else: # 此卡没有对账单记录 pass
def recreate_statement(self): """ 根据今天的日期将当前卡的对账单重新生成,主要对过了还款日的账单重新生成利息信息 :return: """ # 获取当前日期 today = datetime.strptime(date.today().strftime("%Y-%m-%d"), "%Y-%m-%d") # 获取所有卡的对账单信息 card_statement = dbapi.load_statement_list(self.cardno) tmp_list = list() # 如果有记录 if len(card_statement) > 0: for record in card_statement: for k, v in record.items(): # 如果已经还款了,将对账单放入临时列表中 if v["isfinished"] == 1: tmp_list.append(record) else: # 还未还款? 获取还款日期 pay_day = datetime.strptime(v["pdate"], "%Y-%m-%d") # 如果还款日大于当前日期,无利息 day_delta = (today - pay_day).days if day_delta > 0: # 过了还款日了,计算利息 = 总费用 * 日息 * 超过天数 interest = v["total"] * settings.EXPIRE_DAY_RATE * day_delta # 更新利息信息记录 record[k]["interest"] = interest # 将更新过的记录写入临时列表 tmp_list.append(record) else: # 没有过还款日直接写入临时列表 tmp_list.append(record) # 都处理完了,将更新过的列表写入文件,替换原有信息 dbapi.write_statement_list(self.cardno, tmp_list) else: # 此卡没有对账单记录 pass