步骤 2 : 模仿和排错 步骤 3 : 准备数据SQL 步骤 4 : 页面截图 步骤 5 : OrderItem 步骤 6 : Order.java 步骤 7 : OrderItemDAO 步骤 8 : OrderDAO 步骤 9 : OrderItemService 步骤 10 : OrderService 步骤 11 : Result 步骤 12 : OrderController.java 步骤 13 : listOrder.html 步骤 14 : 查询功能讲解 步骤 15 : 发货功能讲解 步骤 16 : 增加,修改,删除功能
增值内容,请先登录
完整的 Springboot 模仿天猫项目,使用 Springboot 、Vue.js、shiro、redis、elasticsearch 等一整套技术栈, 从无到有涵盖全部129个知识点,565个开发步骤, 充实 Springboot 项目经验,为简历加上一个有吸引力的砝码.
增值内容,点击购买
使用爬虫已经被系统记录,请勿使用爬虫,增大封号风险。 如果是误封 ,请联系站长,谢谢
增值内容,请先登录
完整的 Springboot 模仿天猫项目,使用 Springboot 、Vue.js、shiro、redis、elasticsearch 等一整套技术栈, 从无到有涵盖全部129个知识点,565个开发步骤, 充实 Springboot 项目经验,为简历加上一个有吸引力的砝码.
增值内容,点击购买
使用爬虫已经被系统记录,请勿使用爬虫,增大封号风险。 如果是误封 ,请联系站长,谢谢
增值内容,请先登录
完整的 Springboot 模仿天猫项目,使用 Springboot 、Vue.js、shiro、redis、elasticsearch 等一整套技术栈, 从无到有涵盖全部129个知识点,565个开发步骤, 充实 Springboot 项目经验,为简历加上一个有吸引力的砝码.
增值内容,点击购买
使用爬虫已经被系统记录,请勿使用爬虫,增大封号风险。 如果是误封 ,请联系站长,谢谢
增值内容,请先登录
完整的 Springboot 模仿天猫项目,使用 Springboot 、Vue.js、shiro、redis、elasticsearch 等一整套技术栈, 从无到有涵盖全部129个知识点,565个开发步骤, 充实 Springboot 项目经验,为简历加上一个有吸引力的砝码.
增值内容,点击购买
使用爬虫已经被系统记录,请勿使用爬虫,增大封号风险。 如果是误封 ,请联系站长,谢谢
增值内容,请先登录
完整的 Springboot 模仿天猫项目,使用 Springboot 、Vue.js、shiro、redis、elasticsearch 等一整套技术栈, 从无到有涵盖全部129个知识点,565个开发步骤, 充实 Springboot 项目经验,为简历加上一个有吸引力的砝码.
增值内容,点击购买
使用爬虫已经被系统记录,请勿使用爬虫,增大封号风险。 如果是误封 ,请联系站长,谢谢
package com.how2java.tmall.pojo;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.Table;
import com.fasterxml.jackson.annotation.JsonBackReference;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
@Entity
@Table(name = "orderItem")
@JsonIgnoreProperties({ "handler","hibernateLazyInitializer" })
public class OrderItem {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "id")
private int id;
@ManyToOne
@JoinColumn(name="pid")
private Product product;
@ManyToOne
@JoinColumn(name="oid")
private Order order;
@ManyToOne
@JoinColumn(name="uid")
private User user;
private int number;
public int getNumber() {
return number;
}
public void setNumber(int number) {
this.number = number;
}
public Product getProduct() {
return product;
}
public void setProduct(Product product) {
this.product = product;
}
public Order getOrder() {
return order;
}
public void setOrder(Order order) {
this.order = order;
}
public User getUser() {
return user;
}
public void setUser(User user) {
this.user = user;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
}
增值内容,请先登录
完整的 Springboot 模仿天猫项目,使用 Springboot 、Vue.js、shiro、redis、elasticsearch 等一整套技术栈, 从无到有涵盖全部129个知识点,565个开发步骤, 充实 Springboot 项目经验,为简历加上一个有吸引力的砝码.
增值内容,点击购买
使用爬虫已经被系统记录,请勿使用爬虫,增大封号风险。 如果是误封 ,请联系站长,谢谢
package com.how2java.tmall.pojo;
import java.util.Date;
import java.util.List;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.Table;
import javax.persistence.Transient;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.how2java.tmall.service.OrderService;
@Entity
@Table(name = "order_")
@JsonIgnoreProperties({ "handler","hibernateLazyInitializer" })
public class Order {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "id")
private int id;
@ManyToOne
@JoinColumn(name="uid")
private User user;
private String orderCode;
private String address;
private String post;
private String receiver;
private String mobile;
private String userMessage;
private Date createDate;
private Date payDate;
private Date deliveryDate;
private Date confirmDate;
private String status;
@Transient
private List<OrderItem> orderItems;
@Transient
private float total;
@Transient
private int totalNumber;
@Transient
private String statusDesc;
public void setStatusDesc(String statusDesc) {
this.statusDesc = statusDesc;
}
public String getStatusDesc(){
if(null!=statusDesc)
return statusDesc;
String desc ="未知";
switch(status){
case OrderService.waitPay:
desc="待付";
break;
case OrderService.waitDelivery:
desc="待发";
break;
case OrderService.waitConfirm:
desc="待收";
break;
case OrderService.waitReview:
desc="等评";
break;
case OrderService.finish:
desc="完成";
break;
case OrderService.delete:
desc="刪除";
break;
default:
desc="未知";
}
statusDesc = desc;
return statusDesc;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
public String getPost() {
return post;
}
public void setPost(String post) {
this.post = post;
}
public String getMobile() {
return mobile;
}
public void setMobile(String mobile) {
this.mobile = mobile;
}
public String getUserMessage() {
return userMessage;
}
public void setUserMessage(String userMessage) {
this.userMessage = userMessage;
}
public Date getCreateDate() {
return createDate;
}
public void setCreateDate(Date createDate) {
this.createDate = createDate;
}
public Date getPayDate() {
return payDate;
}
public void setPayDate(Date payDate) {
this.payDate = payDate;
}
public Date getDeliveryDate() {
return deliveryDate;
}
public void setDeliveryDate(Date deliveryDate) {
this.deliveryDate = deliveryDate;
}
public Date getConfirmDate() {
return confirmDate;
}
public void setConfirmDate(Date confirmDate) {
this.confirmDate = confirmDate;
}
public String getReceiver() {
return receiver;
}
public void setReceiver(String receiver) {
this.receiver = receiver;
}
public String getOrderCode() {
return orderCode;
}
public void setOrderCode(String orderCode) {
this.orderCode = orderCode;
}
public User getUser() {
return user;
}
public void setUser(User user) {
this.user = user;
}
public List<OrderItem> getOrderItems() {
return orderItems;
}
public void setOrderItems(List<OrderItem> orderItems) {
this.orderItems = orderItems;
}
public float getTotal() {
return total;
}
public void setTotal(float total) {
this.total = total;
}
public String getStatus() {
return status;
}
public void setStatus(String status) {
this.status = status;
}
public int getTotalNumber() {
return totalNumber;
}
public void setTotalNumber(int totalNumber) {
this.totalNumber = totalNumber;
}
}
增值内容,请先登录
完整的 Springboot 模仿天猫项目,使用 Springboot 、Vue.js、shiro、redis、elasticsearch 等一整套技术栈, 从无到有涵盖全部129个知识点,565个开发步骤, 充实 Springboot 项目经验,为简历加上一个有吸引力的砝码.
增值内容,点击购买
使用爬虫已经被系统记录,请勿使用爬虫,增大封号风险。 如果是误封 ,请联系站长,谢谢
package com.how2java.tmall.dao;
import java.util.List;
import org.springframework.data.jpa.repository.JpaRepository;
import com.how2java.tmall.pojo.Order;
import com.how2java.tmall.pojo.OrderItem;
import com.how2java.tmall.pojo.Product;
import com.how2java.tmall.pojo.User;
public interface OrderItemDAO extends JpaRepository<OrderItem,Integer>{
List<OrderItem> findByOrderOrderByIdDesc(Order order);
}
package com.how2java.tmall.dao; import java.util.List; import org.springframework.data.jpa.repository.JpaRepository; import com.how2java.tmall.pojo.Order; import com.how2java.tmall.pojo.OrderItem; import com.how2java.tmall.pojo.Product; import com.how2java.tmall.pojo.User; public interface OrderItemDAO extends JpaRepository<OrderItem,Integer>{ List<OrderItem> findByOrderOrderByIdDesc(Order order); }
增值内容,请先登录
完整的 Springboot 模仿天猫项目,使用 Springboot 、Vue.js、shiro、redis、elasticsearch 等一整套技术栈, 从无到有涵盖全部129个知识点,565个开发步骤, 充实 Springboot 项目经验,为简历加上一个有吸引力的砝码.
增值内容,点击购买
使用爬虫已经被系统记录,请勿使用爬虫,增大封号风险。 如果是误封 ,请联系站长,谢谢
package com.how2java.tmall.dao;
import java.util.List;
import org.springframework.data.jpa.repository.JpaRepository;
import com.how2java.tmall.pojo.Order;
import com.how2java.tmall.pojo.User;
public interface OrderDAO extends JpaRepository<Order,Integer>{
}
package com.how2java.tmall.dao; import java.util.List; import org.springframework.data.jpa.repository.JpaRepository; import com.how2java.tmall.pojo.Order; import com.how2java.tmall.pojo.User; public interface OrderDAO extends JpaRepository<Order,Integer>{ }
增值内容,请先登录
完整的 Springboot 模仿天猫项目,使用 Springboot 、Vue.js、shiro、redis、elasticsearch 等一整套技术栈, 从无到有涵盖全部129个知识点,565个开发步骤, 充实 Springboot 项目经验,为简历加上一个有吸引力的砝码.
增值内容,点击购买
使用爬虫已经被系统记录,请勿使用爬虫,增大封号风险。 如果是误封 ,请联系站长,谢谢
package com.how2java.tmall.service;
import com.how2java.tmall.dao.OrderItemDAO;
import com.how2java.tmall.pojo.Order;
import com.how2java.tmall.pojo.OrderItem;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
@Service
public class OrderItemService {
@Autowired OrderItemDAO orderItemDAO;
@Autowired ProductImageService productImageService;
public void fill(List<Order> orders) {
for (Order order : orders)
fill(order);
}
public void fill(Order order) {
List<OrderItem> orderItems = listByOrder(order);
float total = 0;
int totalNumber = 0;
for (OrderItem oi :orderItems) {
total+=oi.getNumber()*oi.getProduct().getPromotePrice();
totalNumber+=oi.getNumber();
productImageService.setFirstProdutImage(oi.getProduct());
}
order.setTotal(total);
order.setOrderItems(orderItems);
order.setTotalNumber(totalNumber);
}
public List<OrderItem> listByOrder(Order order) {
return orderItemDAO.findByOrderOrderByIdDesc(order);
}
}
增值内容,请先登录
完整的 Springboot 模仿天猫项目,使用 Springboot 、Vue.js、shiro、redis、elasticsearch 等一整套技术栈, 从无到有涵盖全部129个知识点,565个开发步骤, 充实 Springboot 项目经验,为简历加上一个有吸引力的砝码.
增值内容,点击购买
使用爬虫已经被系统记录,请勿使用爬虫,增大封号风险。 如果是误封 ,请联系站长,谢谢
package com.how2java.tmall.service;
import com.how2java.tmall.dao.OrderDAO;
import com.how2java.tmall.pojo.Order;
import com.how2java.tmall.pojo.OrderItem;
import com.how2java.tmall.util.Page4Navigator;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.PageRequest;
import org.springframework.data.domain.Pageable;
import org.springframework.data.domain.Sort;
import org.springframework.stereotype.Service;
import java.util.List;
@Service
public class OrderService {
public static final String waitPay = "waitPay";
public static final String waitDelivery = "waitDelivery";
public static final String waitConfirm = "waitConfirm";
public static final String waitReview = "waitReview";
public static final String finish = "finish";
public static final String delete = "delete";
@Autowired OrderDAO orderDAO;
public Page4Navigator<Order> list(int start, int size, int navigatePages) {
Sort sort = new Sort(Sort.Direction.DESC, "id");
Pageable pageable = new PageRequest(start, size,sort);
Page pageFromJPA =orderDAO.findAll(pageable);
return new Page4Navigator<>(pageFromJPA,navigatePages);
}
public void removeOrderFromOrderItem(List<Order> orders) {
for (Order order : orders) {
removeOrderFromOrderItem(order);
}
}
private void removeOrderFromOrderItem(Order order) {
List<OrderItem> orderItems= order.getOrderItems();
for (OrderItem orderItem : orderItems) {
orderItem.setOrder(null);
}
}
public Order get(int oid) {
return orderDAO.findOne(oid);
}
public void update(Order bean) {
orderDAO.save(bean);
}
}
增值内容,请先登录
完整的 Springboot 模仿天猫项目,使用 Springboot 、Vue.js、shiro、redis、elasticsearch 等一整套技术栈, 从无到有涵盖全部129个知识点,565个开发步骤, 充实 Springboot 项目经验,为简历加上一个有吸引力的砝码.
增值内容,点击购买
使用爬虫已经被系统记录,请勿使用爬虫,增大封号风险。 如果是误封 ,请联系站长,谢谢
package com.how2java.tmall.util;
public class Result {
public static int SUCCESS_CODE = 0;
public static int FAIL_CODE = 1;
int code;
String message;
Object data;
private Result(int code, String message, Object data) {
this.code = code;
this.message = message;
this.data = data;
}
public static Result success() {
return new Result(SUCCESS_CODE,null,null);
}
public static Result success(Object data) {
return new Result(SUCCESS_CODE,"",data);
}
public static Result fail(String message) {
return new Result(FAIL_CODE,message,null);
}
public int getCode() {
return code;
}
public void setCode(int code) {
this.code = code;
}
public String getMessage() {
return message;
}
public void setMessage(String message) {
this.message = message;
}
public Object getData() {
return data;
}
public void setData(Object data) {
this.data = data;
}
}
增值内容,请先登录
完整的 Springboot 模仿天猫项目,使用 Springboot 、Vue.js、shiro、redis、elasticsearch 等一整套技术栈, 从无到有涵盖全部129个知识点,565个开发步骤, 充实 Springboot 项目经验,为简历加上一个有吸引力的砝码.
增值内容,点击购买
使用爬虫已经被系统记录,请勿使用爬虫,增大封号风险。 如果是误封 ,请联系站长,谢谢
package com.how2java.tmall.web;
import com.how2java.tmall.pojo.Order;
import com.how2java.tmall.service.OrderItemService;
import com.how2java.tmall.service.OrderService;
import com.how2java.tmall.util.Page4Navigator;
import com.how2java.tmall.util.Result;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.io.IOException;
import java.util.Date;
@RestController
public class OrderController {
@Autowired OrderService orderService;
@Autowired OrderItemService orderItemService;
@GetMapping("/orders")
public Page4Navigator<Order> list(@RequestParam(value = "start", defaultValue = "0") int start,@RequestParam(value = "size", defaultValue = "5") int size) throws Exception {
start = start<0?0:start;
Page4Navigator<Order> page =orderService.list(start, size, 5);
orderItemService.fill(page.getContent());
orderService.removeOrderFromOrderItem(page.getContent());
return page;
}
@PutMapping("deliveryOrder/{oid}")
public Object deliveryOrder(@PathVariable int oid) throws IOException {
Order o = orderService.get(oid);
o.setDeliveryDate(new Date());
o.setStatus(OrderService.waitConfirm);
orderService.update(o);
return Result.success();
}
}
增值内容,请先登录
完整的 Springboot 模仿天猫项目,使用 Springboot 、Vue.js、shiro、redis、elasticsearch 等一整套技术栈, 从无到有涵盖全部129个知识点,565个开发步骤, 充实 Springboot 项目经验,为简历加上一个有吸引力的砝码.
增值内容,点击购买
使用爬虫已经被系统记录,请勿使用爬虫,增大封号风险。 如果是误封 ,请联系站长,谢谢
<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org">
<head th:include="include/admin/adminHeader::html('订单管理')" ></head>
<body>
<div th:replace="include/admin/adminNavigator::html" ></div>
<script>
$(function(){
var data4Vue = {
uri:'orders',
beans: [],
pagination:{}
};
//ViewModel
var vue = new Vue({
el: '#workingArea',
data: data4Vue,
mounted:function(){ //mounted 表示这个 Vue 对象加载成功了
this.list(0);
},
methods: {
list:function(start){
var url = this.uri+ "?start="+start;
axios.get(url).then(function(response) {
vue.pagination = response.data;
vue.beans = response.data.content;
});
},
showOrderItems: function(order){
var id = order.id;
$("#orderItemsTR"+id).show();
},
jump: function(page){
jump(page,vue); //定义在adminHeader.html 中
},
jumpByNumber: function(start){
jumpByNumber(start,vue);
},
deliveryOrder:function(order,e){
var url = "deliveryOrder/"+order.id;
axios.put(url).then(function(response) {
$(e.target).hide();
});
}
}
});
Vue.filter('formatDateFilter', function (value, formatString) {
if(null==value)
return "";
formatString = formatString || 'YYYY-MM-DD HH:mm:ss';
return moment(value).format(formatString);
});
});
</script>
<div id="workingArea" >
<h1 class="label label-info" >订单管理</h1>
<br>
<br>
<div class="listDataTableDiv">
<table class="table table-striped table-bordered table-hover table-condensed">
<thead>
<tr class="success">
<th>状态</th>
<th>金额</th>
<th width="100px">商品数量</th>
<th width="100px">买家名称</th>
<th>创建时间</th>
<th>支付时间</th>
<th>发货时间</th>
<th>确认收货时间</th>
<th width="120px">操作</th>
</tr>
</thead>
<tbody>
<!-- 在业务上需要一个订单数据产生两行 tr, 此时就不能在 tr上进行 v-for, 而需要用 template 标签 -->
<template v-for="bean in beans ">
<tr >
<td>
{{bean.statusDesc}}
</td>
<td>
{{bean.total}}
</td>
<td>
{{bean.totalNumber}}
</td>
<td>
{{bean.user.name}}
</td>
<td>
{{bean.createDate | formatDateFilter}}
</td>
<td>
{{bean.payDate | formatDateFilter}}
</td>
<td>
{{bean.deliveryDate | formatDateFilter}}
</td>
<td>
{{bean.confirmDate | formatDateFilter}}
</td>
<td>
<button @click="showOrderItems(bean)" class="orderPageCheckOrderItems btn btn-primary btn-xs">查看详情</button>
<button v-if="bean.status=='waitDelivery'" @click="deliveryOrder(bean,$event)" class="btn btn-primary btn-xs">发货</button>
</td>
</tr>
<tr class="orderPageOrderItemTR" :id="'orderItemsTR'+bean.id">
<td colspan="10" align="center">
<div class="orderPageOrderItem">
<table width="800px" align="center" class="orderPageOrderItemTable">
<tr v-for="orderItem in bean.orderItems">
<td align="left">
<img width="40px" height="40px" :src="'img/productSingle/'+orderItem.product.firstProductImage.id+'.jpg'">
</td>
<td>
<a :href="'product?product.id='+orderItem.product.id">
<span>{{orderItem.product.name}}</span>
</a>
</td>
<td align="right">
<span class="text-muted">{{orderItem.number}}个</span>
</td>
<td align="right">
<span class="text-muted">单价:¥{{orderItem.product.promotePrice}}</span>
</td>
</tr>
</table>
</div>
</td>
</tr>
</template>
</tbody>
</table>
</div>
<div th:replace="include/admin/adminPage::html" ></div>
</div>
<div th:replace="include/admin/adminFooter::html" ></div>
</body>
</html>
增值内容,请先登录
完整的 Springboot 模仿天猫项目,使用 Springboot 、Vue.js、shiro、redis、elasticsearch 等一整套技术栈, 从无到有涵盖全部129个知识点,565个开发步骤, 充实 Springboot 项目经验,为简历加上一个有吸引力的砝码.
增值内容,点击购买
使用爬虫已经被系统记录,请勿使用爬虫,增大封号风险。 如果是误封 ,请联系站长,谢谢
@GetMapping("/orders")
public Page4Navigator<Order> list(@RequestParam(value = "start", defaultValue = "0") int start,@RequestParam(value = "size", defaultValue = "5") int size) throws Exception {
start = start<0?0:start;
Page4Navigator<Order> page =orderService.list(start, size, 5);
orderItemService.fill(page.getContent());
orderService.removeOrderFromOrderItem(page.getContent());
return page;
}
list:function(start){
var url = this.uri+ "?start="+start;
axios.get(url).then(function(response) {
vue.pagination = response.data;
vue.beans = response.data.content;
});
},
showOrderItems: function(order){
var id = order.id;
$("#orderItemsTR"+id).show();
},
<template v-for="bean in beans ">
。。。
</template>
<tr v-for="orderItem in bean.orderItems">
</tr>
<button @click="showOrderItems(bean)" class="orderPageCheckOrderItems btn btn-primary btn-xs">查看详情</button>
增值内容,请先登录
完整的 Springboot 模仿天猫项目,使用 Springboot 、Vue.js、shiro、redis、elasticsearch 等一整套技术栈, 从无到有涵盖全部129个知识点,565个开发步骤, 充实 Springboot 项目经验,为简历加上一个有吸引力的砝码.
增值内容,点击购买
使用爬虫已经被系统记录,请勿使用爬虫,增大封号风险。 如果是误封 ,请联系站长,谢谢
deliveryOrder:function(order,e){
var url = "deliveryOrder/"+order.id;
axios.put(url).then(function(response) {
$(e.target).hide();
});
}
<button v-if="bean.status=='waitDelivery'" @click="deliveryOrder(bean,$event)" class="btn btn-primary btn-xs">发货</button>
deliveryOrder:function(order,e){ var url = "deliveryOrder/"+order.id; axios.put(url).then(function(response) { $(e.target).hide(); }); } <button v-if="bean.status=='waitDelivery'" @click="deliveryOrder(bean,$event)" class="btn btn-primary btn-xs">发货</button>
@PutMapping("deliveryOrder/{oid}")
public Object deliveryOrder(@PathVariable int oid) throws IOException {
Order o = orderService.get(oid);
o.setDeliveryDate(new Date());
o.setStatus(OrderService.waitConfirm);
orderService.update(o);
return Result.success();
}
@PutMapping("deliveryOrder/{oid}") public Object deliveryOrder(@PathVariable int oid) throws IOException { Order o = orderService.get(oid); o.setDeliveryDate(new Date()); o.setStatus(OrderService.waitConfirm); orderService.update(o); return Result.success(); }
增值内容,请先登录
完整的 Springboot 模仿天猫项目,使用 Springboot 、Vue.js、shiro、redis、elasticsearch 等一整套技术栈, 从无到有涵盖全部129个知识点,565个开发步骤, 充实 Springboot 项目经验,为简历加上一个有吸引力的砝码.
增值内容,点击购买
使用爬虫已经被系统记录,请勿使用爬虫,增大封号风险。 如果是误封 ,请联系站长,谢谢
HOW2J公众号,关注后实时获知最新的教程和优惠活动,谢谢。
问答区域
2021-12-22
前台订单管理没显示,测试了好几遍,用站长提供的代码也不行,尬住了
3 个答案
你这瓜保熟吗 跳转到问题位置 答案时间:2022-05-24 是的,因为没有图片,我直接给注释了
风云137694 跳转到问题位置 答案时间:2022-05-10 你的浏览器提示了,id找不到,你要去看去html里面哪个东西用到了id,然后去看后台代码里面返回的值里有没有 drlg7530 跳转到问题位置 答案时间:2022-01-10 好像是因为需要展示产品小图片,但是product中firstProductImage中是null,我是在查询订单项的时候又设置了一遍
回答已经提交成功,正在审核。 请于 我的回答 处查看回答记录,谢谢
2021-11-18
查看详情优化,可以查看和隐藏
2021-10-04
orderService.removeOrderFromOrderItem(page.getContent());
2021-09-17
类型转换问题
提问太多,页面渲染太慢,为了加快渲染速度,本页最多只显示几条提问。还有 46 条以前的提问,请 点击查看
提问之前请登陆
提问已经提交成功,正在审核。 请于 我的提问 处查看提问记录,谢谢
|