项目架构目录
maven依赖
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.5.6.RELEASE</version>
</parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.5.6.RELEASE</version>
</parent>
<properties>
<java.version>1.8</java.version>
</properties>
<java.version>1.8</java.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-freemarker</artifactId>
</dependency>
<dependency>
<groupId>redis.clients</groupId>
<artifactId>jedis</artifactId>
</dependency>
<dependency>
<groupId>net.sf.json-lib</groupId>
<artifactId>json-lib</artifactId>
<version>2.4</version>
<classifier>jdk15</classifier>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<fork>true</fork>
</configuration>
</plugin>
</plugins>
</build>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-freemarker</artifactId>
</dependency>
<dependency>
<groupId>redis.clients</groupId>
<artifactId>jedis</artifactId>
</dependency>
<dependency>
<groupId>net.sf.json-lib</groupId>
<artifactId>json-lib</artifactId>
<version>2.4</version>
<classifier>jdk15</classifier>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<fork>true</fork>
</configuration>
</plugin>
</plugins>
</build>
application.properties配置文件
spring.datasource.url=jdbc:mysql://localhost:3306/XXXX?useUnicode=true&characterEncoding=utf8
spring.datasource.username=root
spring.datasource.password=root
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
spring.datasource.username=root
spring.datasource.password=root
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
# REDIS
spring.redis.database=0
spring.redis.host=X.X.X.X
spring.redis.port=6379
spring.redis.pool.max-active=8
spring.redis.pool.max-wait=-1
spring.redis.pool.max-idle=8
spring.redis.pool.min-idle=0
spring.redis.timeout=0
spring.redis.database=0
spring.redis.host=X.X.X.X
spring.redis.port=6379
spring.redis.pool.max-active=8
spring.redis.pool.max-wait=-1
spring.redis.pool.max-idle=8
spring.redis.pool.min-idle=0
spring.redis.timeout=0
server.port=80
spring.mvc.static-path-pattern=/**
spring.resources.static-locations=classpath:/META-INF/resources/,classpath:/resources/,classpath:/static/,classpath:/public/,file:${web.upload-path}
spring.resources.static-locations=classpath:/META-INF/resources/,classpath:/resources/,classpath:/static/,classpath:/public/,file:${web.upload-path}
spring.jpa.properties.hibernate.hbm2ddl.auto=update
spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MySQL5InnoDBDialect
spring.jpa.show-sql= true
spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MySQL5InnoDBDialect
spring.jpa.show-sql= true
实体类
对于不想在数据库创建的字段要加@Transient注解
springdata关系映射:一对一@OneToOne
多对一@ManyToOne
@ManyToOne
@JoinColumn(name="uid")//指定在数据库生成的字段
private User user;
@JoinColumn(name="uid")//指定在数据库生成的字段
private User user;
@ManyToMany //多对多
@JoinTable(name="tb_order_good",joinColumns= {@JoinColumn(name="oid")},inverseJoinColumns= {@JoinColumn(name="gid")})
private List<Good> glists;
@JoinTable(name="tb_order_good",joinColumns= {@JoinColumn(name="oid")},inverseJoinColumns= {@JoinColumn(name="gid")})
private List<Good> glists;
1.多条件查询
@RequestMapping("/")
public String toindex(HttpServletRequest request,Order order,Integer tid,Integer sid) {
User user = (User) request.getSession().getAttribute("user");
List<Order> olists=orderService.getOrdersList(order,tid,sid);
List<PayType> plist=orderService.getPayTypesList();
List<Status> slist=orderService.getStatusList();
Jedis jedis = jedisPool.getResource();
String oid = jedis.get("user"+user.getUid());
if(oid==null) {
jedis.close();
request.setAttribute("olists", olists);
request.setAttribute("order", order);
request.setAttribute("plists", plist);
request.setAttribute("slists", slist);
request.setAttribute("tid", tid);
request.setAttribute("sid", sid);
return "index";
}
Map<String, String> map=null;
if(tid==null&&sid==null) {
if(order.getOid()==""||order.getOid()==null) {
if(jedis.hgetAll(oid).isEmpty()) {
}else {
map = jedis.hgetAll(oid);
}
}
if(order.getOid()==oid) {
if(jedis.hgetAll(oid).isEmpty()) {
}else {
map = jedis.hgetAll(oid);
}
}
}
jedis.close();
request.setAttribute("olists", olists);
request.setAttribute("plists", plist);
request.setAttribute("slists", slist);
request.setAttribute("tid", tid);
request.setAttribute("sid", sid);
request.setAttribute("map", map);
request.setAttribute("order", order);
return "index";
}
public String toindex(HttpServletRequest request,Order order,Integer tid,Integer sid) {
User user = (User) request.getSession().getAttribute("user");
List<Order> olists=orderService.getOrdersList(order,tid,sid);
List<PayType> plist=orderService.getPayTypesList();
List<Status> slist=orderService.getStatusList();
Jedis jedis = jedisPool.getResource();
String oid = jedis.get("user"+user.getUid());
if(oid==null) {
jedis.close();
request.setAttribute("olists", olists);
request.setAttribute("order", order);
request.setAttribute("plists", plist);
request.setAttribute("slists", slist);
request.setAttribute("tid", tid);
request.setAttribute("sid", sid);
return "index";
}
Map<String, String> map=null;
if(tid==null&&sid==null) {
if(order.getOid()==""||order.getOid()==null) {
if(jedis.hgetAll(oid).isEmpty()) {
}else {
map = jedis.hgetAll(oid);
}
}
if(order.getOid()==oid) {
if(jedis.hgetAll(oid).isEmpty()) {
}else {
map = jedis.hgetAll(oid);
}
}
}
jedis.close();
request.setAttribute("olists", olists);
request.setAttribute("plists", plist);
request.setAttribute("slists", slist);
request.setAttribute("tid", tid);
request.setAttribute("sid", sid);
request.setAttribute("map", map);
request.setAttribute("order", order);
return "index";
}
2.多条件查询 可以更灵活一些 调用Specification。其中root.get(key),key值必须和实体类中的字段想对应
如果是模糊查询,调用root.like 有很多方法需要自己去尝试
public List<Order> getOrdersList(Order order,Integer tid, Integer sid) {
List<Order> list = orderRepository.findAll(new Specification<Order>() {
List<Order> list = orderRepository.findAll(new Specification<Order>() {
@Override
public Predicate toPredicate(Root<Order> root, CriteriaQuery<?> query, CriteriaBuilder cb) {
List<Predicate> predicates = new ArrayList<Predicate>();
if(order!=null) {
if(!"".equals(order.getOid())&&null!=order.getOid()) {
predicates.add(cb.equal(root.get("oid"), order.getOid()));
}
if(null!=tid) {
predicates.add(cb.equal(root.get("payType"), tid));
}
if(null!=sid) {
predicates.add(cb.equal(root.get("status"), sid));
}
}
query.where(predicates.toArray(new Predicate[predicates.size()]));
return null;
}
});
public Predicate toPredicate(Root<Order> root, CriteriaQuery<?> query, CriteriaBuilder cb) {
List<Predicate> predicates = new ArrayList<Predicate>();
if(order!=null) {
if(!"".equals(order.getOid())&&null!=order.getOid()) {
predicates.add(cb.equal(root.get("oid"), order.getOid()));
}
if(null!=tid) {
predicates.add(cb.equal(root.get("payType"), tid));
}
if(null!=sid) {
predicates.add(cb.equal(root.get("status"), sid));
}
}
query.where(predicates.toArray(new Predicate[predicates.size()]));
return null;
}
});
3.有时候 我们可能需要自写sql语句 比如遇到修改的时候。这时候一定要在service层加事物注解@@Transactional
@Modifying //这个注解一定要加 不然报错
//Order是实体类名字不是数据库表名,同时每个要修改的字段也是实体类 如payType就是实体类属性,同时payType也是一个实体类需要其tid
@Query(value="update Order o set o.payType.tid=:tid,o.status.sid=:sid where o.oid=:oid")
void updateOrder(@Param("oid")String oid,@Param("tid")Integer tid,@Param("sid")Integer sid);
@Query(value="update Order o set o.payType.tid=:tid,o.status.sid=:sid where o.oid=:oid")
void updateOrder(@Param("oid")String oid,@Param("tid")Integer tid,@Param("sid")Integer sid);
4。给大家展示一个主页面 用的bootstrap+freemark
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<link rel="stylesheet" href="bootstrap3/bootstrap.min.css"/>
<script type="text/javascript" src="bootstrap3/jquery.min.js"></script>
<script type="text/javascript" src="bootstrap3/bootstrap.min.js"></script>
<title>Insert title here</title>
</head>
<script type="text/javascript">
function addorder(){
location="toaddOrder";
}
function todelete(oid){
alert(oid);
$.post(
"deleteOrderByoid",
{oid:oid},
function(obj){
if(obj>0){
alert("删除成功!");
location.reload();
}
}
);
}
function toquery(oid){
$.post(
"getOrderByOid",
{oid:oid},
function(obj){
$("#oid1").text(obj.oid);
$("#name1").text(obj.user.name);
var time=obj.createtime;
var da = new Date(time);
var year = da.getFullYear();
var month = da.getMonth()+1;
var date = da.getDate();
var h=da.getHours();
var m=da.getMinutes();
var s=da.getSeconds();
$("#time1").text(year+"-"+month+"-"+date+" "+h+":"+m+":"+s);
$("#sumprice1").text(obj.sumprice);
$("#pay_type").text(obj.payType.tname);
$("#statu").text(obj.status.sname);
var goods=obj.glists;
$(".tr1").remove();
for(var i in goods){
$("#tab1").append("<tr class='tr1'><td>"+goods[i].gid+"</td><td>"+goods[i].gname+"</td><td>"+goods[i].gprice+"</td></tr>");
}
$("#myModalLabel").text("订单详情页面");
},"json"
);
$("#myModalLabel1").text("订单详情界面");
$("#myModal1").modal("show");
}
function toPay(oid){
$.post(
"getOrderByOid",
{oid:oid},
function(obj){
$("#oid").text(obj.oid);
$("#name").text(obj.user.name);
var time=obj.createtime;
var da = new Date(time);
var year = da.getFullYear();
var month = da.getMonth()+1;
var date = da.getDate();
var h=da.getHours();
var m=da.getMinutes();
var s=da.getSeconds();
$("#time").text(year+"-"+month+"-"+date+" "+h+":"+m+":"+s);
$("#sumprice").text(obj.sumprice);
$("[name='oid']").val(obj.oid);
$("#myModalLabel").text("支付界面");
},"json"
);
$("#myModal").modal("show");
}
function addRedisOrder(oid){
$.post(
"addRedisOrder",{oid:oid},function(obj){
if(obj>0){
location.reload();
}
}
)
}
</script>
<body>
<div class="container">
<h1>订单展示:</h1>
<form action="/" method="post">
订单编号:<input type="text" name="oid" value="${order.oid!}">
支付类型:<select name="tid">
<option value="">请选择</option>
<#list plists as t>
<#if tid??>
<#if tid==t.tid>
<option value="${t.tid}" selected>${t.tname}</option>
<#else>
<option value="${t.tid}">${t.tname}</option>
</#if>
<#else>
<option value="${t.tid}">${t.tname}</option>
</#if>
</#list>
</select>
订单状态:<select name="sid">
<option value="">请选择</option>
<#list slists as s>
<#if sid??>
<#if sid==s.sid>
<option value="${s.sid}" selected>${s.sname}</option>
<#else>
<option value="${s.sid}">${s.sname}</option>
</#if>
<#else>
<option value="${s.sid}">${s.sname}</option>
</#if>
</#list>
</select>
<input type="submit" value="查询" class="btn btn-info">
<input type="button" value="下單" class="btn btn-info" οnclick="addorder()">
</form>
<table class="table table-bordered table-hover" style="margin-top: 10px">
<tr class="success">
<td>订单编号</td>
<td>订单用户</td>
<td>购买金额</td>
<td>创建时间</td>
<td>支付类型</td>
<td>订单状态</td>
<td>操作</td>
</tr>
<#list olists as o>
<tr>
<td>${o.oid}</td>
<td>${o.user.name}</td>
<td>${o.sumprice}</td>
<td>${o.createtime}</td>
<td>
<#if o.payType??>
${o.payType.tname!}
</#if>
</td>
<td>
${o.status.sname}
</td>
<td>
<#if o.status.sname=='已支付'>
<input type="button" class="btn btn-primary" value="查看" οnclick="toquery(${o.oid})">
<#elseif o.status.sname=='待支付'>
<input type="button" class="btn btn-info" value="支付" οnclick="toPay(${o.oid})">
<input type="button" class="btn btn-primary" value="查看" οnclick="toquery(${o.oid})">
<#else>
</#if>
<input type="button" class="btn btn-danger" value="删除" οnclick="todelete(${o.oid})">
</td>
</tr>
</#list>
<#if map??>
<tr>
<td>${map.oid!}</td>
<td>${map.name!}</td>
<td></td>
<td>${map.data!}</td>
<td></td>
<td>${map.pay_type!}</td>
<td><input type="button" class="btn btn-info" value="提交" οnclick="addRedisOrder(${map.oid!})">
<input type="button" class="btn btn-info" value="编辑" οnclick="location='toeditOrder'">
<input type="button" class="btn btn-danger" value="删除" οnclick="todelete(${map.oid!})"></td>
</tr>
</#if>
</table>
</div>
<!-- 模态框(Modal) -->
<div class="modal fade" id="myModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
<h4 class="modal-title" id="myModalLabel"></h4>
</div>
<form action="pay" method="post">
<div class="modal-body">
<input type="hidden" name="oid">
<span><span>订单号:<span id="oid"></span></span> <span>订单用户:<span id="name"></span></span></span><br>
<p></p><p></p>
<span>订单时间:<span id="time"></span></span> <span>订单金额:<span id="sumprice"></span></span><br>
<p></p><p></p>
<span>支付方式:<select name="tid">
<option value="">请选择</option>
<#list plists as t>
<option value="${t.tid}">${t.tname}</option>
</#list></select>
</span>
</div>
<div class="modal-footer">
<button type="submit" class="btn btn-primary">支付</button>
<button type="button" class="btn btn-default" data-dismiss="modal">取消支付</button>
</div>
</form>
</div><!-- /.modal-content -->
</div><!-- /.modal -->
</div>
<div class="modal fade" id="myModal1" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
<h4 class="modal-title" id="myModalLabel1"></h4>
</div>
<div class="modal-body">
<table class="table table-bordered table-hover" id="tab1">
<tr>
<td>订单编号</td>
<td colspan="2"><span id="oid1"></span></td>
</tr>
<tr>
<td>订单用户</td>
<td colspan="2"><span id="name1"></span></td>
</tr>
<tr>
<td>订单金额</td>
<td colspan="2"><span id="sumprice1"></span></td>
</tr>
<tr>
<td>订单时间</td>
<td colspan="2"><span id="time1"></span></td>
</tr>
<tr>
<td>支付类型</td>
<td colspan="2"><span id="pay_type"></span></td>
</tr>
<tr>
<td>订单状态</td>
<td colspan="2"><span id="statu"></span></td>
</tr>
<tr>
<td colspan="3">所购商品</td>
</tr>
<tr>
<td>选择</td>
<td>商品名称</td>
<td>商品价格</td>
</tr>
</table>
</div>
<div class="modal-footer">
</div>
</div><!-- /.modal-content -->
</div><!-- /.modal -->
</div>
</body>
</html>
<html>
<head>
<meta charset="UTF-8">
<link rel="stylesheet" href="bootstrap3/bootstrap.min.css"/>
<script type="text/javascript" src="bootstrap3/jquery.min.js"></script>
<script type="text/javascript" src="bootstrap3/bootstrap.min.js"></script>
<title>Insert title here</title>
</head>
<script type="text/javascript">
function addorder(){
location="toaddOrder";
}
function todelete(oid){
alert(oid);
$.post(
"deleteOrderByoid",
{oid:oid},
function(obj){
if(obj>0){
alert("删除成功!");
location.reload();
}
}
);
}
function toquery(oid){
$.post(
"getOrderByOid",
{oid:oid},
function(obj){
$("#oid1").text(obj.oid);
$("#name1").text(obj.user.name);
var time=obj.createtime;
var da = new Date(time);
var year = da.getFullYear();
var month = da.getMonth()+1;
var date = da.getDate();
var h=da.getHours();
var m=da.getMinutes();
var s=da.getSeconds();
$("#time1").text(year+"-"+month+"-"+date+" "+h+":"+m+":"+s);
$("#sumprice1").text(obj.sumprice);
$("#pay_type").text(obj.payType.tname);
$("#statu").text(obj.status.sname);
var goods=obj.glists;
$(".tr1").remove();
for(var i in goods){
$("#tab1").append("<tr class='tr1'><td>"+goods[i].gid+"</td><td>"+goods[i].gname+"</td><td>"+goods[i].gprice+"</td></tr>");
}
$("#myModalLabel").text("订单详情页面");
},"json"
);
$("#myModalLabel1").text("订单详情界面");
$("#myModal1").modal("show");
}
function toPay(oid){
$.post(
"getOrderByOid",
{oid:oid},
function(obj){
$("#oid").text(obj.oid);
$("#name").text(obj.user.name);
var time=obj.createtime;
var da = new Date(time);
var year = da.getFullYear();
var month = da.getMonth()+1;
var date = da.getDate();
var h=da.getHours();
var m=da.getMinutes();
var s=da.getSeconds();
$("#time").text(year+"-"+month+"-"+date+" "+h+":"+m+":"+s);
$("#sumprice").text(obj.sumprice);
$("[name='oid']").val(obj.oid);
$("#myModalLabel").text("支付界面");
},"json"
);
$("#myModal").modal("show");
}
function addRedisOrder(oid){
$.post(
"addRedisOrder",{oid:oid},function(obj){
if(obj>0){
location.reload();
}
}
)
}
</script>
<body>
<div class="container">
<h1>订单展示:</h1>
<form action="/" method="post">
订单编号:<input type="text" name="oid" value="${order.oid!}">
支付类型:<select name="tid">
<option value="">请选择</option>
<#list plists as t>
<#if tid??>
<#if tid==t.tid>
<option value="${t.tid}" selected>${t.tname}</option>
<#else>
<option value="${t.tid}">${t.tname}</option>
</#if>
<#else>
<option value="${t.tid}">${t.tname}</option>
</#if>
</#list>
</select>
订单状态:<select name="sid">
<option value="">请选择</option>
<#list slists as s>
<#if sid??>
<#if sid==s.sid>
<option value="${s.sid}" selected>${s.sname}</option>
<#else>
<option value="${s.sid}">${s.sname}</option>
</#if>
<#else>
<option value="${s.sid}">${s.sname}</option>
</#if>
</#list>
</select>
<input type="submit" value="查询" class="btn btn-info">
<input type="button" value="下單" class="btn btn-info" οnclick="addorder()">
</form>
<table class="table table-bordered table-hover" style="margin-top: 10px">
<tr class="success">
<td>订单编号</td>
<td>订单用户</td>
<td>购买金额</td>
<td>创建时间</td>
<td>支付类型</td>
<td>订单状态</td>
<td>操作</td>
</tr>
<#list olists as o>
<tr>
<td>${o.oid}</td>
<td>${o.user.name}</td>
<td>${o.sumprice}</td>
<td>${o.createtime}</td>
<td>
<#if o.payType??>
${o.payType.tname!}
</#if>
</td>
<td>
${o.status.sname}
</td>
<td>
<#if o.status.sname=='已支付'>
<input type="button" class="btn btn-primary" value="查看" οnclick="toquery(${o.oid})">
<#elseif o.status.sname=='待支付'>
<input type="button" class="btn btn-info" value="支付" οnclick="toPay(${o.oid})">
<input type="button" class="btn btn-primary" value="查看" οnclick="toquery(${o.oid})">
<#else>
</#if>
<input type="button" class="btn btn-danger" value="删除" οnclick="todelete(${o.oid})">
</td>
</tr>
</#list>
<#if map??>
<tr>
<td>${map.oid!}</td>
<td>${map.name!}</td>
<td></td>
<td>${map.data!}</td>
<td></td>
<td>${map.pay_type!}</td>
<td><input type="button" class="btn btn-info" value="提交" οnclick="addRedisOrder(${map.oid!})">
<input type="button" class="btn btn-info" value="编辑" οnclick="location='toeditOrder'">
<input type="button" class="btn btn-danger" value="删除" οnclick="todelete(${map.oid!})"></td>
</tr>
</#if>
</table>
</div>
<!-- 模态框(Modal) -->
<div class="modal fade" id="myModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
<h4 class="modal-title" id="myModalLabel"></h4>
</div>
<form action="pay" method="post">
<div class="modal-body">
<input type="hidden" name="oid">
<span><span>订单号:<span id="oid"></span></span> <span>订单用户:<span id="name"></span></span></span><br>
<p></p><p></p>
<span>订单时间:<span id="time"></span></span> <span>订单金额:<span id="sumprice"></span></span><br>
<p></p><p></p>
<span>支付方式:<select name="tid">
<option value="">请选择</option>
<#list plists as t>
<option value="${t.tid}">${t.tname}</option>
</#list></select>
</span>
</div>
<div class="modal-footer">
<button type="submit" class="btn btn-primary">支付</button>
<button type="button" class="btn btn-default" data-dismiss="modal">取消支付</button>
</div>
</form>
</div><!-- /.modal-content -->
</div><!-- /.modal -->
</div>
<div class="modal fade" id="myModal1" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
<h4 class="modal-title" id="myModalLabel1"></h4>
</div>
<div class="modal-body">
<table class="table table-bordered table-hover" id="tab1">
<tr>
<td>订单编号</td>
<td colspan="2"><span id="oid1"></span></td>
</tr>
<tr>
<td>订单用户</td>
<td colspan="2"><span id="name1"></span></td>
</tr>
<tr>
<td>订单金额</td>
<td colspan="2"><span id="sumprice1"></span></td>
</tr>
<tr>
<td>订单时间</td>
<td colspan="2"><span id="time1"></span></td>
</tr>
<tr>
<td>支付类型</td>
<td colspan="2"><span id="pay_type"></span></td>
</tr>
<tr>
<td>订单状态</td>
<td colspan="2"><span id="statu"></span></td>
</tr>
<tr>
<td colspan="3">所购商品</td>
</tr>
<tr>
<td>选择</td>
<td>商品名称</td>
<td>商品价格</td>
</tr>
</table>
</div>
<div class="modal-footer">
</div>
</div><!-- /.modal-content -->
</div><!-- /.modal -->
</div>
</body>
</html>