java web 编程实现 用户在购买商品24小时内未付款,商品自动重新上架。麻烦解释详细点,谢谢。

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java web 编程实现 用户在购买商品24小时内未付款,商品自动重新上架。麻烦解释详细点,谢谢。相关的知识,希望对你有一定的参考价值。

我用java编写一个web程序,要实现这样的一个功能,就是用户在登录后,将商品添加到购物车内,这时在货架上的商品就会减少一个,其他用户不能购买这件商品,但是如果24内未付款的情况下,商品自动回到货架上,其他用户又可以购买了,

这个要看你数据库怎么设计的,可以做成每个小时查询一次看看是不是订购的商品未付款,未付款的恢复至可购买,也可以做成有人订购某种商品时,检测该商品是不是有超过一小时未付费的。 参考技术A 很多架构都有定时器,可以指定多久后执行,可以用这个吧,但是不知道如果规模特别巨大之后他们的效率怎么样 参考技术B 你可以设计一个表,专门记录那些没付款的交易记录,付款的时候,从中删除掉该记录.然后你安排进程专门扫描这张表的记录.查找逾期未付款商品. 参考技术C 楼上的答案可以实现了,不过后一种方法不好,假如有很多人订购,你不是要查询很多次了。而且逻辑也不通,商品回到可购买状态不应该由用户购买事件驱动

购物程序

要求:

  1. 启动程序后,让用户输入工资,然后打印出带有序号的商品列表
  2. 用户输入商品序号购买相应的商品,或者输入 \' q \' 退出购买界面
  3. 选择商品后,检查余额是否足够,够则直接扣款,不够则提示余额不足
  4. 用户每购买一件商品后,或者输入 \' q \' 退出购买界面后,提示:是否继续购买?(Y/N),实现多次购买
  5. 若用户购买了商品,打印出购买的商品列表,总金额,余额;若用户没买任何商品,打印:交易结束,购物失败

Readme:

  运行程序,输入薪水,根据商品列表的序号选择购买的商品,可以选择多次购买,或者不购买

 

流程图:

 

             

 

代码:

 1 # 简单的购物小程序
 2 
 3 product_list = [
 4     [\'surface pro 4\', 7800],
 5     [\'dell xps 15\', 12000],
 6     [\'macbook\', 12000],
 7     [\'小米6\', 2499],
 8     [\'iphone7\', 4600],
 9     [\'坚果Pro\', 1499]
10 ]
11 shopping_list = []
12 
13 
14 # 判断输入的薪水格式是否正确
15 while True:
16     salary = input(\'\\n请输入您的薪水:\')
17     if not salary.isdigit():                    # 薪水不是数字,结束循环
18         print(\'\\n输入格式有误!请重新输入...\')
19         continue
20     break
21 
22 
23 balance = salary = int(salary)
24 
25 print(\'\\n-----------欢迎购买------------\\n\')
26 
27 # 生成带序号的商品列表
28 for index, item in enumerate(product_list):
29     print(index, item)
30 
31 
32 # 判断输入的序号是否符合要求
33 while True:
34 
35     while True:
36         i = input(\'\\n输入您要购买的商品序号,或输入 q 取消购买:\')
37         if i == \'q\':                                 # 输入 q 退出购买界面
38             while True:
39                 a = input(\'\\n是否继续购买?(Y/N):\')
40                 if a != \'n\' and a != \'N\' and a != \'y\' and a != \'Y\':
41                     print(\'\\n输入格式有误,请重试...\')
42                     continue
43                 elif a == \'y\' or a == \'Y\':                  # 继续购买
44                     break
45                 else:                                       # 购买完毕
46                     if balance == salary:              # 没有买任何东西
47                         print(\'\\n交易结束,购买失败...\')
48                         exit()
49                     else:                              # 结算   
50                         print(\'\\n您已成功购买以下商品:\\n\')
51                         for item in shopping_list:
52                             print(item)
53                         print(\'\\n共消费金额 %d 元,余额 %d 元\' % (salary - balance, balance))
54                         exit()
55             continue
56 
57         if not i.isdigit():                          # 序号不是数字,结束循环
58             print(\'\\n输入格式有误!请重新输入...\')
59             continue
60 
61         i = int(i)
62 
63         if i < 0 or i >= len(product_list):   # 序号范围不正确,结束循环
64             print(\'\\n此商品不存在,请重新输入...\')
65             continue
66         break
67 
68     product = product_list[i]
69     price = int(product[1])
70 
71     # 判断余额是否充足,够就直接扣款,不够提醒
72     if price <= balance:
73         balance -= price
74         shopping_list.append(product_list[i])
75         print(\'\\n您已成功购买 %s ,当前余额为 %d 元\' %(product, balance))
76     else:
77         print(\'\\n购买失败,您的余额不足...\')
78 
79     while True:
80         a = input(\'\\n是否继续购买?(Y/N):\')
81         if a != \'n\' and a != \'N\' and a != \'y\' and a != \'Y\':
82             print(\'\\n输入格式有误,请重试...\')
83             continue
84         break
85 
86     if a == \'Y\' or a == \'y\':
87         continue
88     else:
89         break
90 
91 if balance == salary:
92     print(\'\\n交易结束,购买失败...\')
93     exit()
94 else:
95     print(\'\\n您已成功购买以下商品:\\n\')
96     for item in shopping_list:
97         print(item)
98     print(\'\\n共消费金额 %d 元,余额 %d 元\' %(salary-balance, balance))
99     exit()

 

以上是关于java web 编程实现 用户在购买商品24小时内未付款,商品自动重新上架。麻烦解释详细点,谢谢。的主要内容,如果未能解决你的问题,请参考以下文章

如何让淘宝店铺的商品能自动发货到旺旺

购物商城小程序

购物程序

java超市购物小程序

python实现简单的购物程序

python--简易购物车实现