当前位置: 首页 > news >正文

win7怎么做网站石家庄房产信息网

win7怎么做网站,石家庄房产信息网,时尚风格网站,正定县住房和城乡建设局网站文章目录 查询历史订单查询订单详情取消订单再来一单 查询历史订单 分页查询历史订单可以根据订单状态查询展示订单数据时,需要展示的数据包括:下单时间、订单状态、订单金额、订单明细(商品名称、图片) #OrderController/*** 历…

文章目录

  • 查询历史订单
  • 查询订单详情
  • 取消订单
  • 再来一单


查询历史订单

  • 分页查询历史订单
  • 可以根据订单状态查询
  • 展示订单数据时,需要展示的数据包括:下单时间、订单状态、订单金额、订单明细(商品名称、图片)
#OrderController/*** 历史订单查询** @param page* @param pageSize* @param status   订单状态 1待付款 2待接单 3已接单 4派送中 5已完成 6已取消* @return*/
@GetMapping("/historyOrders")
@ApiOperation("历史订单查询")
public Result<PageResult> page(int page, int pageSize, Integer status) {PageResult pageResult = orderService.pageQueryUser(page, pageSize, status);return Result.success(pageResult);
}
#OrderService    
/*** 用户端订单分页查询* @param page* @param pageSize* @param status* @return*/PageResult pageQueryUser(int page, int pageSize, Integer status);
#OrderServiceImpl/*** 用户端订单分页查询** @param pageNum* @param pageSize* @param status* @return*/public PageResult pageQuery4User(int pageNum, int pageSize, Integer status) {// 设置分页PageHelper.startPage(pageNum, pageSize);OrdersPageQueryDTO ordersPageQueryDTO = new OrdersPageQueryDTO();ordersPageQueryDTO.setUserId(BaseContext.getCurrentId());ordersPageQueryDTO.setStatus(status);// 分页条件查询Page<Orders> page = orderMapper.pageQuery(ordersPageQueryDTO);List<OrderVO> list = new ArrayList();// 查询出订单明细,并封装入OrderVO进行响应if (page != null && page.getTotal() > 0) {for (Orders orders : page) {Long orderId = orders.getId();// 订单id// 查询订单明细List<OrderDetail> orderDetails = orderDetailMapper.getByOrderId(orderId);OrderVO orderVO = new OrderVO();BeanUtils.copyProperties(orders, orderVO);orderVO.setOrderDetailList(orderDetails);list.add(orderVO);}}return new PageResult(page.getTotal(), list);
}
/**OrderMapper* 分页条件查询并按下单时间排序* @param ordersPageQueryDTO*/
Page<Orders> pageQuery(OrdersPageQueryDTO ordersPageQueryDTO);
#OrderMapper.xml
<select id="pageQuery" resultType="Orders">select * from orders<where><if test="number != null and number!=''">and number like concat('%',#{number},'%')</if><if test="phone != null and phone!=''">and phone like concat('%',#{phone},'%')</if><if test="userId != null">and user_id = #{userId}</if><if test="status != null">and status = #{status}</if><if test="beginTime != null">and order_time &gt;= #{beginTime}</if><if test="endTime != null">and order_time &lt;= #{endTime}</if></where>order by order_time desc
</select>
/**  OrderDetailMapper* 根据订单id查询订单明细* @param orderId* @return*/
@Select("select * from order_detail where order_id = #{orderId}")
List<OrderDetail> getByOrderId(Long orderId);

查询订单详情

根据订单id查询订单详情 user/order/orderDetail/:id GET

/*** 查询订单详情* @param id* @return*/
@GetMapping("/orderDetail/{id}")
@ApiOperation("查询订单详情")
public Result<OrderVO> details(@PathVariable("id") Long id){OrderVO orderVO = orderService.details(id);return Result.success(orderVO);
}/***  订单详情* @param id* @return*/
OrderVO details(Long id);/**** 查询订单详情* @param id* @return*/
@Override
public OrderVO details(Long id) {//根据id查询订单Orders orders = orderMapper.getById(id);//查询该订单对应得菜品/套餐明显List<OrderDetail> orderDetailList = orderDetailMapper.getByOrderId(orders.getId());// 将该订单及其详情封装到OrderVO并返回OrderVO  orderVO = new OrderVO();BeanUtils.copyProperties(orders,orderVO);orderVO.setOrderDetailList(orderDetailList);return orderVO;
}/*** 根据id查询订单* @param id* @return*/
@Select("select * from orders where id = #{id}")
Orders getById(Long id);

取消订单

业务规则:

  • 待支付和待接单状态下,用户可直接取消订单
  • 商家已接单状态下,用户取消订单需电话沟通商家
  • 派送中状态下,用户取消订单需电话沟通商家
  • 如果在待接单状态下取消订单,需要给用户退款
  • 取消订单后需要将订单状态修改为“已取消”

PUT /user/order/cancel/{id}

/*** 用户取消订单* @param id* @return* @throws Exception*/
@PutMapping("/cancel/{id}")
@ApiOperation("取消订单")
public Result cancel(@PathVariable("id") Long id) throws Exception{//根据传入的订单id 取消订单orderService.userCancelById(id);return Result.success();
}/***  用户取消订单* @param id* @throws Exception*/
void userCancelById(Long id) throws Exception;/*** 取消订单* @param id* @throws Exception*/
@Override
public void userCancelById(Long id) throws Exception {//根据id查询订单Orders ordersDB = orderMapper.getById(id);if(ordersDB == null){//订单不存在throw new OrderBusinessException(MessageConstant.ORDER_NOT_FOUND);}//订单状态 1待付款 2待接单 3已接单 4派送中 5已完成 6已取消if(ordersDB.getStatus() > 2){throw new OrderBusinessException(MessageConstant.ORDER_STATUS_ERROR);}Orders orders = new Orders();orders.setId(ordersDB.getId());//订单处于待接单状态下取消 需要进行退款if(ordersDB.getStatus().equals(Orders.TO_BE_CONFIRMED)){//调用微信支付退款接口weChatPayUtil.refund(ordersDB.getNumber(),//商户订单号ordersDB.getNumber(),//商户退款单号new BigDecimal(0.01),//退款金额 单位 元new BigDecimal(0.01)// 原订单金额);//支付状态修改为 已退款orders.setPayStatus(Orders.REFUND);}//更新订单状态 取消原因 取消时间orders.setStatus(Orders.CANCELLED);orders.setCancelReason("用户取消");orders.setCancelTime(LocalDateTime.now());orderMapper.update(orders);
}

再来一单

POST /user/order/repetition/{id}

将原订单商品重新加入购物车中

/*** 再来一单* @param id* @return*/
@PostMapping("/repetition/{id}")
@ApiOperation("再来一单")
public Result repetition(@PathVariable Long id){orderService.repetition(id);return Result.success();
}/*** 再来一单* @param id*/
void repetition(Long id);/*** 再来一单* @param id*/
@Transactional
@Override
public void repetition(Long id) {//查询当前用户idLong userId = BaseContext.getCurrentId();//根据订单id查询当前订单详情List<OrderDetail> orderDetailList = orderDetailMapper.getByOrderId(id);//将订单详情对象转换为购物车对象List<ShoppingCart> shoppingCartList = orderDetailList.stream().map(x-> {ShoppingCart shoppingCart = new ShoppingCart();//将原订单详情里面的菜品信息重新复制到购物车对象BeanUtils.copyProperties(x, shoppingCart, "id");shoppingCart.setUserId(userId);shoppingCart.setCreateTime(LocalDateTime.now());return shoppingCart;}).collect(Collectors.toList());//将购物车对像批量添加到数据库shoppingCartMapper.insertBatch(shoppingCartList);
}
http://www.yayakq.cn/news/403142/

相关文章:

  • 福州响应式网站视觉传达毕业设计网站
  • 视频网站开发流程杭州的地区代码
  • 做网站的工作时间网站使用手册
  • 增加网站外链学生创业做网站制作设计
  • 南昌专业做网站公司哪家好免费中介系统房产软件
  • 门户网站开发项目抖音代运营违法吗
  • 萝岗电子商务网站建设羽毛球赛事2022直播
  • 想更新公司网站怎么做深圳企业推广网站排名
  • 模板网站建站公司宿迁交通工程建设有限公司网站
  • 厦门企业官方网站建设手机网站 免费建站
  • 交互式网站备案推广app的平台
  • 网站建设是一次性给钱还是什么工程建设云网站
  • 搜狗网站录入微信网站建设报价表
  • 网站开发找什么论文广西建设网个人查询
  • 企业网站建设及推广wordpress 分类 权限
  • 群晖做网站服务器速度快吗wordpress 头像上传路径
  • 郑州网站托管公司哪家好网站对域名
  • 网站建设亿金手指花总14网站建设详细需求说明书
  • 玉山网站建设wordpress无法上传mp3
  • python做网站源码济南 网站开发
  • 长沙微信网站制作wordpress 访客插件
  • gta5办公室网站正在建设淮安维度网站建设
  • 做瓷砖在什么网站上找素材好做好的网站怎么链接
  • 建站平台 phpwind服务器上的网站不能访问
  • 专业网站建设策划cn域名
  • 在线公司网站查询ps制作网站首页面教程
  • 网站建设与维护基础知识百度小程序制作流程
  • 岳麓区营销型网站建设定制正规网站建设费用
  • 丰台建设企业网站负责加强局网站建设
  • 网站建设需要准备什么微网站制作电话