如何下订单

1.orders_goods.jsp(订单管理->下订单)
<%@ page language="java" contentType="text/html; charset=utf-8"
pageEncoding="utf-8" %>
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@ taglib prefix="sec"
uri="http://www.springframework.org/security/tags"%>
<!DOCTYPE html>
<html>
<head>
<title>订单管理</title>
<meta charset="utf-8" />
<script src="/nls_wx/lib/bootstrap3.2.0/js/jquery-1.11.0.min.js"></script>
<script src="/nls_wx/lib/bootstrap3.2.0/js/bootstrap.js"></script>
<meta content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0;" name="viewport" />
<link rel="stylesheet" href="/web10-7/lib/bootstrap3.2.0/css/bootstrap.css">
<link rel="stylesheet" href="/web10-7/lib/font-awesome-4.5.0/css/font-awesome.min.css">
<link rel="stylesheet" href="/web10-7/css/common.css">
</head>
<body class="container-fluid">
<div class="row nav-top navbar-fixed-top">
<div class="col-xs-3">
<a href="javascript:window.location='/web10-7/goods.jsp';"><i class="fa fa-mail-reply fa-lg"></i></a>
</div>
<div class="col-xs-6">
<p class="text-center">订单管理</p>
</div>
<div class="col-xs-3">
<a href="javascript:window.location='/web10-7/wcmain.jsp';"><i class="fa fa-home fa-2x"></i></a>
</div>
</div>
<br><br><br>
<ul class="fh">
<li class="alert alert-danger">
<a href="javascript:toLocation('/web10-7/...')" class="aLink">
<img src="/web10-7/images/001.png" width="40" />
<strong style="font-size: 18px;">未发货</strong>
<span class="glyphicon glyphicon-chevron-right pull-right next"></span>
</a>
</li>
<li class="alert alert-success">
<a href="javascript:toLocation('/web10-7/...')" class="aLink">
<img src="/web10-7/images/001.png" width="40" />
<strong style="font-size: 18px;">已发货</strong>
<span class="glyphicon glyphicon-chevron-right pull-right next"></span>
</a>
</li>
<li class="alert alert-info">
<a href="javascript:toLocation('/web10-7/...')" class="aLink">
<img src="/web10-7/images/001.png" width="40" />
<strong style="font-size: 18px;">下订单</strong>
<span class="glyphicon glyphicon-chevron-right pull-right next"></span>
</a>
</li>
</ul>
</body>
<script type="text/javascript" src="/web10-7/lib/layer/1.9.3/layer.js"></script>
<script type="text/javascript">
function toLocation(url){
//loading
var index = layer.load(2);
window.location=url;
}
</script>
</html>
2.product_bill.jsp(下订单->WcOdersAction)
<%@ page language="java" contentType="text/html; charset=utf-8"
pageEncoding="utf-8"%>
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<link rel="stylesheet"
href="/web10-7/lib/bootstrap3.2.0/css/bootstrap.css">
<link rel="stylesheet"
href="/web10-7/lib/font-awesome-4.5.0/css/font-awesome.min.css">
<link rel="stylesheet" href="/web10-7/css/common.css">
<meta
content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0;"
name="viewport" />
<title>添加新订单</title>
<script src="/web10-7/lib/bootstrap3.2.0/js/jquery-1.11.0.min.js"></script>
<script type="text/javascript" src="/web10-7/lib/layer/1.9.3/layer.js"></script>
<script type="text/javascript">
var d_num = 0;
$(document)
.ready(
function() {
$('#add').click(function() {
d_num++;
var d = '<div><div class="form-group">'
+ '<label for="product_name'+d_num+'">商品名:</label>'
+ '<select class="p_select form-control" size="1" name="product_name'
+ d_num
+ '"'
+ 'id="product_name'
+ d_num
+ '" οnchange="sure(this)">'
+ '<option value="">请选择商品名</option>'
+ '</select>'
+ '</div>'
+ '<div class="form-group">'
+ '<label for="product_price'+d_num+'">商品价格:</label>'
+ '<input type="text" class="p_input form-control" readonly="readonly" name="product_price'+d_num+'"'
+ 'id="product_price'+d_num+'" />'
+ '</div>'
+ '<div class="form-group">'
+ '<label for="product_num'+d_num+'">商品数量:</label>'
+ '<input type="text" class="p_input form-control" name="product_num'
+ d_num
+ '"'
+ 'id="product_num'
+ d_num
+ '" required="required" οnblur="total(this)"/>'
+ '</div>'
+ '<div class="form-group">'
+ '<label for="num'+d_num+'">剩余数量:</label>'
+ '<input type="text" class="p_input form-control" readonly="readonly" name="num'+d_num+'"'
+ 'id="num'+d_num+'"/>'
+ '</div>'
+ '<div class="form-group">'
+ '<label for="Total_price'+d_num+'">总价:</label>'
+ '<input type="text" class="p_input form-control" readonly="readonly" name="Total_price'+d_num+'"'
+ 'id="Total_price'+d_num+'" />'
+ '</div></div>';
$("#div").append(d);
$.ajax({
'url' : '/web10-7/jxs/getProduct',
'type' : 'post',
'datatype' : 'json',
'success' : function(
data,
statusText) {
for (var i = 0; i < data.length; i++) {
var option = "<option value='" + data[i].id + "'>"
+ data[i].name
+ "</option>";
$(
'#product_name'
+ d_num)
.append(
option);
}
},
'error' : function(xhr,
e1, e2) {
layer.msg("系统错误!");
}
})

});
});
</script>
</head>
<body οnlοad="load()">
<div class="container-fluid">
<div class="row nav-top navbar-fixed-top"
style="background-color: gray;">
<div class="col-xs-3">
<a href="javascript:window.location='/web10-7/goods.jsp';"><i
class="fa fa-mail-reply fa-lg"></i></a>
</div>
<div class="col-xs-6">
<p class="text-center">添加新订单</p>
</div>
<div class="col-xs-3">
<a href="javascript:window.location='/web10-7/wcmain.jsp';"><i
class="fa fa-home fa-2x"></i></a>

</div>
</div>
<div class="page-container"
style="padding-top: 50px; padding-left: 25px; padding-right: 25px;">
</div>

<div class="row container">
<div class="col-xs-12">
<form class="form-inline" role="form" id="product_add">

<div id="div">
<div>
<div class="form-group">
<label for="product_name0">商品名:</label> <select
class="p_select form-control" size="1" name="product_name0"
id="product_name0" οnchange="sure(this)">
<option value="">请选择商品名</option>
</select>
</div>
<div class="form-group">
<label for="product_price0">商品价格:</label> <input type="text"
class="p_input form-control" readonly="readonly" name="product_price0"
id="product_price0" />
</div>
<div class="form-group">
<label for="product_num0">商品数量:</label> <input type="text"
class="p_input form-control" name="product_num0" id="product_num0"
required="required" οnblur="total(this)" />
</div>
<div class="form-group">
<label for="num0">剩余数量:</label> <input type="text"
class="p_input form-control" readonly="readonly" name="num0" id="num0" />
</div>


<div class="form-group">
<label for="Total_price0">总价:</label> <input type="text"
class="p_input form-control" readonly="readonly" name="Total_price0"
id="Total_price0" />
</div>
</div>
</div>

<button type="button" id="add" class="btn btn-hide"
style="background-color: gray;">
<p class="text-center p-btn">添 加</p>
</button>

<br>

<div class="form-group">
<label for="distributor_name">名字:</label> <input type="text"
class="form-control" id="distributor_name"
name="distributor_name" required="required"
value="${ d.real_name }" />
</div>
<div class="form-group">
<label for="distributor_phone">联系方式:</label> <input type="text"
class="form-control" id="distributor_phone"
name="distributor_phone" required="required" value="${ d.phone }" />
</div>
<div class="form-group">
<label for="distributor_address">地址:</label> <br> <input
type="text" class="form-control" id="distributor_address"
name="distributor_address" required="required"
value="${ d.address }" />
</div>

<br>
<button type="button" id="sureBtn"
class="btn btn-primary btn-lg form-control btn-hide"
style="background-color: gray;" οnclick="sm()">
<p class="text-center p-btn">确 定</p>
</button>


</form>
</div>
</div>
</div>
<script type="text/javascript"
src="/web10-7/H-ui_v2.2.1/lib/jquery.validation/1.14.0/jquery.validate.min.js"></script>
<script type="text/javascript"
src="/web10-7/H-ui_v2.2.1/lib/jquery.validation/1.14.0/validate-methods.js"></script>
<script type="text/javascript">
var s;
function load() {
$.ajax({
'url' : '/web10-7/jxs/getProduct',
'type' : 'post',
'datatype' : 'json',
'success' : function(data, statusText) {
s = data.length;

for (var i = 0; i < data.length; i++) {
var option = "<option value='" + data[i].id + "'>"
+ data[i].name + "</option>";
$('#product_name0').append(option);

}
},
'error' : function(xhr, e1, e2) {
layer.msg("系统错误!");
}
})

}

function sure(obj) {
var parent_divs = $(obj).parents("div");
var pdiv_0 = parent_divs[1];
var divs = $(pdiv_0).find("*");
var remark = divs[2].value;
$.ajax({
'url' : '/web10-7/jxs/getProductInfo',
'type' : 'post',
'data' : {
"remark" : remark
},
'dataType' : 'json',
'success' : function(data, statusText) {
divs[6 + s].value = data.price;
divs[12 + s].value = data.repertory;
},
'error' : function(xhr, e1, e2) {
layer.msg("系统错误!");
}
});
}

function total(obj) {
var parent_divs = $(obj).parents("div");
var pdiv_0 = parent_divs[1];
var divs = $(pdiv_0).find("*");
if (divs[9 + s].value > divs[12 + s].value) {
layer.msg("超出库存数量!!");
divs[15 + s].value = "";
return false;
} else {
divs[15 + s].value = divs[9 + s].value * divs[6 + s].value;
return true;
}
}
function sm(){
$.ajax({
'url' : '/web10-7/jxs/addBill',
'type' : 'post',
'data': {
"d_num":d_num,
"p_input":$('.p_input').serialize(),
"p_select":$('.p_select').serialize(),
"distributor_name":$('#distributor_name').val(),
"distributor_phone":$('#distributor_phone').val(),
"distributor_address":$('#distributor_address').val()
},
'dataType' : 'json',
'async': false,
'cache':false,
'success': function(data,statusText) {
layer.msg(data.msg);
return false;
},
'error':function(xhr,e2,e2){
layer.msg("系统错误");
}
});
return false;
}
</script>
</body>
</html>
3.WcOdersAction.java(下单成功,把订单信息存进了数据库)
/**
* @author Firmye
* @date 2016年10月27日 上午12:35:45
*
* 下订单
*/
@ResponseBody
@RequestMapping("/addBill")//下订单
public CallbackResult addBill(HttpSession session, HttpServletRequest request, HttpServletResponse response) throws Exception {
Distributor d = (Distributor) session.getAttribute("d");
CallbackResult callbackResult = new CallbackResult();

String order_id = UUIDUtil.getInstance().getUUID();
order_id = EncodeUtil.getInstance().encode_16(order_id);

// 获取参数
String dnum = request.getParameter("d_num");
String p_input = request.getParameter("p_input");
String p_select = request.getParameter("p_select");
String distributor_name = request.getParameter("distributor_name");
String distributor_phone = request.getParameter("distributor_phone");
String distributor_address = request.getParameter("distributor_address");

System.out.println(dnum);
System.out.println(p_input);
String[] p_inputs = p_input.split("&");
String[] inputs = new String[p_inputs.length];
for (int i = 0; i < p_inputs.length; i++) {
String[] tmp = p_inputs[i].split("=");
inputs[i] = tmp[1];
}
String[] p_selects = p_select.split("&");
String[] selects = new String[p_selects.length];
for (int i = 0; i < p_selects.length; i++) {
String[] tmp = p_selects[i].split("=");
selects[i] = tmp[1];
}

List<Product> p_list = new ArrayList<Product>();
for (int i = 0; i < selects.length; i++) {
Product p = productService.getById(selects[i]);
p_list.add(p);
}
double totalPrice = 0;
List<OrderItem> olist = new ArrayList<OrderItem>();
for (int i = 0; i < p_inputs.length; i = i + 4) {
OrderItem o = new OrderItem();
o.setOrder_id(order_id);
o.setPrice(Double.valueOf(inputs[i + 3]));
totalPrice += Double.valueOf(inputs[i + 3]);
o.setProduct_num(Integer.valueOf(inputs[i + 1]));
o.setProduct_id(p_list.get(i / 4).getId());
o.setProduct_name(p_list.get(i / 4).getName());
o.setStatus(1);
olist.add(o);
}

PurchaseOrder p = new PurchaseOrder();
p.setOrder_id(order_id);
p.setDistributor_address(distributor_address);
p.setDistributor_id(d.getId());
p.setDistributor_name(distributor_name);
p.setDistributor_phone(distributor_phone);
p.setCreate_time(GetTimeUtil.getInstance().getNow());
p.setH_distributor_id(d.getParent_id());
p.setTotal_price(totalPrice);
p.setStatus("2");

callbackResult.setStatus(true);
callbackResult.setMsg("下单成功!");
if (purchaseOrderService.add(p)) {
for (OrderItem o : olist) {
if (!orderItemService.add(o)) {
callbackResult.setStatus(false);
callbackResult.setMsg("订单项添加失败!");
break;
}
}
} else {
callbackResult.setStatus(false);
callbackResult.setMsg("订单添加失败!");
}
return callbackResult;
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值