导航:首页 > 编程语言 > java提交订单

java提交订单

发布时间:2023-08-07 09:15:35

1. 请问java的商城订单模块,如何解决用户恶意创建订单,但是不支付的问题 求详细解决方案。

其实这种问题应该是从产品的角度来解决的。而不是让一个程序员去想如何限制用户的行为。作为产品应该相处解决方案,然后程序员去实现。不过目前看来你这可能是个练手的项目,我跟你说下我之前项目的一些解决方案。

首先就是对用户频繁下单的限制,这里你可以在redis里写入一个和用户id相关的key。设置20秒左右的失效时间,这样如果是正常用户的话在这个时间里一般会避免这种情况的发生。然后从订单的角度来说,这样一个用户就算下了大量的订单也不会太多,然后写个定时任务,对下单超过30分钟还没支付的订单进行处理,比如给他的订单状态设置成已删除这种。
当然我们做的商城属于一个项目内置的,买周边和虚拟物品的,所以访问量不大。太大的量的话最好还是先让产品来想如何限制。

2. java题:编写类似淘宝一个简单的处理订单发货和进货的程序,要求实现简单的进货和发货以及统计货物量的功能

import java.util.ArrayList;

public class Du {

public static void main(String[] args) throws Exception {
Seller seller = new Seller("My Store");
seller.addGoods("T-shirt", 200);
seller.addGoods("Pill", 100);
seller.addGoods("T-shirt", 100);
seller.addGoods("T-shirt", 50);
seller.addGoods("Pill", 50);
seller.addGoods("Hat", 100);
seller.printGoods();

Seller sell2 = new Seller("The Other Store");
sell2.addGoods("T-shirt", 200);
sell2.addGoods("Hat", 100);
sell2.sellGoods("T-shirt", 50);
sell2.addGoods("Hat", 100);
sell2.printGoods();

}

}

class Seller {
private String sellerName;

private int TotalTypeOfGoods;

private ArrayList<String> goodsNameList = new ArrayList<String>();

private ArrayList<Integer> goodsQuantityList = new ArrayList<Integer>();

public Seller(String sellerName) {
this.sellerName = sellerName;
}

public void addGoods(String goodName, int goodNum) {
int index = goodsNameList.indexOf(goodName);
if (index == -1) {
goodsNameList.add(goodName);
goodsQuantityList.add(new Integer(goodNum));
} else {
goodsQuantityList.set(index, goodsQuantityList.get(index)
.intValue()
+ goodNum);
}

TotalTypeOfGoods = goodsNameList.size();
}

public void sellGoods(String goodName, int goodNum) throws Exception {
if (TotalTypeOfGoods == 0) {
throw new Exception("No goods provided by the shop. Closed!");
}

int index = goodsNameList.indexOf(goodName);

if (index != -1) {
int qty = goodsQuantityList.get(index);
if (goodNum > qty) {
throw new Exception("Insufficient goods in the shop. Sorry!");
}

goodsQuantityList.set(index, qty - goodNum);
}else{
throw new Exception("Our shop doesn't sell " + goodName);
}

}

public void printGoods() {
System.out.print("Seller :" + this.sellerName + "\t");
System.out.println("Totoal Types of Goods is :" + this.TotalTypeOfGoods);

for(int i = 0; i < goodsNameList.size(); i++){
System.out.print("Goods Name: " + goodsNameList.get(i));
System.out.println("Remains: " + goodsQuantityList.get(i));
}

System.out.println();
}
}

-----------------testing
Seller :My Store Totoal Types of Goods is :3
Goods Name: T-shirtRemains: 350
Goods Name: PillRemains: 150
Goods Name: HatRemains: 100

Seller :The Other Store Totoal Types of Goods is :2
Goods Name: T-shirtRemains: 150
Goods Name: HatRemains: 200

3. java一个订单接口,调用订单接口要创建10000份订单,用多线程怎么实现,求助大神!!!!!

{

//重写run方法,run方法的方法体就是现场执行体
publicvoidrun()
{
System.out.println("创建订单");
}
}

publicclassTest{
publicstaticvoidmain(String[]args)
{
newMyThread().start();//开启一个线程
newMyThread().start();//开启一个线程

}

}

4. java 如何实现一个用户 一个订单

package cn.test.logan.day04;

import java.util.ArrayList;

/**

* 订单类

* 包含:订单ID、订单所属用户、订单所包含的商品、订单总金额、订单应付金额

* 500-1000 -------> 8.5折

* 1000-1500 -------> 8折

* 1500-2000 -------> 7折

* 2000以上 -------> 6.5折

* 如果是会员,那么可以基于以上折扣继续折扣

* 一般会员:9.5折

* 中级会员:9折

* 高级会员:8折

* @author QIN

*

*/

public class Order {undefined

// 订单ID

public String ordId;

// 订单所属用户

public User user;

// 订单所包含的商品(多个商品,使用ArrayList)

public ArrayList pds;

// 订单总金额

public float ordAllAmt;

// 订单应付金额

public float payAmt;

// 计算总金额的方法

public void setAllAmt() {undefined

float sum = 0;

for(int i=0;i

sum +=this.pds.get(i).price * this.pds.get(i).number;

}

this.ordAllAmt = sum;

}

// 计算实付金额

public void setPayAmt() {undefined

float tmp = this.ordAllAmt;

// 根据总金额进行折扣

if(this.ordAllAmt >= 500 && this.ordAllAmt < 1000) {undefined

tmp = this.ordAllAmt * 0.85f;

}

if(this.ordAllAmt >= 1000 && this.ordAllAmt < 1500) {undefined

tmp = this.ordAllAmt * 0.8f;

}

if(this.ordAllAmt >= 1500 && this.ordAllAmt < 2000) {undefined

tmp = this.ordAllAmt * 0.7f;

}

if(this.ordAllAmt >= 2000) {undefined

tmp = this.ordAllAmt * 0.65f;

}

// 根据会员等级折扣

if(user.CustLevel.equals("一般会员")) {undefined

tmp = tmp * 0.95f;

}

if(user.CustLevel.equals("中级会员")) {undefined

tmp = tmp * 0.9f;

}

if(user.CustLevel.equals("高级会员")) {undefined

tmp = tmp * 0.8f;

}

//计算结果赋值给对象上的payAmt变量

this.payAmt = tmp;

}

}
参考资料来源:网络贴吧CSDN博主“公子京”

5. java web 开发 购物网站 怎么做订单结算部分

我写过两次订单结算,不过都是asp.net下的,但是应该差不多吧.订单结算是最后的步骤,提交订单之后需要做结算,实际上就是收钱嘛.
传统来讲此时需要一个支付接口,比如说支付宝财付通快钱 网银在线之类的,他们提供接口,我们按照他们说明文档来实现就好.重要的是交易记录哦!!提交订单后需要交易日志(不能从字面意义上来理解"交易",实际上跟别人讨价还价也是交易的一种不是嘛.)转到接口前需要日志,接口返回信息需要日志(表结构差不多啦)这些日志,方便以后退款或者查看状态使用;
不传统来讲除支付接口外,要考虑购物网站个人钱包支付或者线下汇款之类的 建议使用策略模式
额 不知道说啥了.缕一缕在纸上构思下就差不多 但一定要考虑好安全性

6. java实现实时订单推送需要用到什么技术

1:支付技术,订单需要支付
2:流程,订单系统肯定从下单到支付再到送货等一系列需要走流程
3:定位技术,订单需要地理定位,帮助送货员准确送货到买家
4:消息技术,在订单走到任何环节都需要消息及时反馈
5:搜索技术,买家会在系统搜索满意的物品

阅读全文

与java提交订单相关的资料

热点内容
程序员主动离职和被裁员哪个好 浏览:790
360命令行 浏览:726
程序员骗色 浏览:668
cisco2950重启命令 浏览:459
加密货币区块链可以增发吗 浏览:290
黄龙公式源码 浏览:773
linux系统ftp服务器 浏览:321
山西配电服务器机柜云主机 浏览:452
量化选股模型公式源码 浏览:9
龙卡购车分期怎么绑app 浏览:779
python读取bios信息 浏览:113
程序员老爸初体验 浏览:729
aes加密后长什么样子 浏览:978
语言有编译器吗 浏览:31
解压声控怎么调大音量 浏览:216
缠论中的高精度画笔源码 浏览:824
通用计算型云服务器 浏览:620
程序员手机分享 浏览:296
pdfsmart 浏览:425
nginx部署php 浏览:666