package ltd.newbee.mall.service.impl;
import ltd.newbee.mall.common.*;
import ltd.newbee.mall.controller.vo.*;
import ltd.newbee.mall.dao.NewBeeMallGoodsMapper;
import ltd.newbee.mall.dao.NewBeeMallOrderItemMapper;
import ltd.newbee.mall.dao.NewBeeMallOrderMapper;
import ltd.newbee.mall.dao.NewBeeMallShoppingCartItemMapper;
import ltd.newbee.mall.entity.NewBeeMallGoods;
import ltd.newbee.mall.entity.NewBeeMallOrder;
import ltd.newbee.mall.entity.NewBeeMallOrderItem;
import ltd.newbee.mall.entity.StockNumDTO;
import ltd.newbee.mall.service.NewBeeMallOrderService;
import ltd.newbee.mall.util.BeanUtil;
import ltd.newbee.mall.util.NumberUtil;
import ltd.newbee.mall.util.PageQueryUtil;
import ltd.newbee.mall.util.PageResult;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.CollectionUtils;
import org.springframework.util.StringUtils;
import java.util.*;
import java.util.function.Function;
import java.util.stream.Collectors;
import static java.util.stream.Collectors.groupingBy;
@Service
public class NewBeeMallOrderServiceImpl implements NewBeeMallOrderService {
@Autowired
private NewBeeMallOrderMapper newBeeMallOrderMapper;
@Autowired
private NewBeeMallOrderItemMapper newBeeMallOrderItemMapper;
@Autowired
private NewBeeMallShoppingCartItemMapper newBeeMallShoppingCartItemMapper;
@Autowired
private NewBeeMallGoodsMapper newBeeMallGoodsMapper;
@Override
public PageResult getNewBeeMallOrdersPage(PageQueryUtil pageUtil) {
List<NewBeeMallOrder> newBeeMallOrders = newBeeMallOrderMapper.findNewBeeMallOrderList(pageUtil);
int total = newBeeMallOrderMapper.getTotalNewBeeMallOrders(pageUtil);
PageResult pageResult = new PageResult(newBeeMallOrders, total, pageUtil.getLimit(), pageUtil.getPage());
return pageResult;
}
@Override
@Transactional
public String updateOrderInfo(NewBeeMallOrder newBeeMallOrder) {
NewBeeMallOrder temp = newBeeMallOrderMapper.selectByPrimaryKey(newBeeMallOrder.getOrderId());
//不为空且orderStatus>=0且状态为出库之前可以修改部分信息
if (temp != null && temp.getOrderStatus() >= 0 && temp.getOrderStatus() < 3) {
temp.setTotalPrice(newBeeMallOrder.getTotalPrice());
temp.setUserAddress(newBeeMallOrder.getUserAddress());
temp.setUpdateTime(new Date());
if (newBeeMallOrderMapper.updateByPrimaryKeySelective(temp) > 0) {
return ServiceResultEnum.SUCCESS.getResult();
}
return ServiceResultEnum.DB_ERROR.getResult();
}
return ServiceResultEnum.DATA_NOT_EXIST.getResult();
}
@Override
@Transactional
public String checkDone(Long[] ids) {
//查询所有的订单 判断状态 修改状态和更新时间
List<NewBeeMallOrder> orders = newBeeMallOrderMapper.selectByPrimaryKeys(Arrays.asList(ids));
String errorOrderNos = "";
if (!CollectionUtils.isEmpty(orders)) {
for (NewBeeMallOrder newBeeMallOrder : orders) {
if (newBeeMallOrder.getIsDeleted() == 1) {
errorOrderNos += newBeeMallOrder.getOrderNo() + " ";
continue;
}
if (newBeeMallOrder.getOrderStatus() != 1) {
errorOrderNos += newBeeMallOrder.getOrderNo() + " ";
}
}
if (StringUtils.isEmpty(errorOrderNos)) {
//订单状态正常 可以执行配货完成操作 修改订单状态和更新时间
if (newBeeMallOrderMapper.checkDone(Arrays.asList(ids)) > 0) {
return ServiceResultEnum.SUCCESS.getResult();
} else {
return ServiceResultEnum.DB_ERROR.getResult();
}
} else {
//订单此时不可执行出库操作
if (errorOrderNos.length() > 0 && errorOrderNos.length() < 100) {
return errorOrderNos + "订单的状态不是支付成功无法执行出库操作";
} else {
return "你选择了太多状态不是支付成功的订单,无法执行配货完成操作";
}
}
}
//未查询到数据 返回错误提示
return ServiceResultEnum.DATA_NOT_EXIST.getResult();
}
@Override
@Transactional
public String checkOut(Long[] ids) {
//查询所有的订单 判断状态 修改状态和更新时间
List<NewBeeMallOrder> orders = newBeeMallOrderMapper.selectByPrimaryKeys(Arrays.asList(ids));
String errorOrderNos = "";
if (!CollectionUtils.isEmpty(orders)) {
for (NewBeeMallOrder newBeeMallOrder : orders) {
if (newBeeMallOrder.getIsDeleted() == 1) {
errorOrderNos += newBeeMallOrder.getOrderNo() + " ";
continue;
}
if (newBeeMallOrder.getOrderStatus() != 1 && newBeeMallOrder.getOrderStatus() != 2) {
errorOrderNos += newBeeMallOrder.getOrderNo() + " ";
}
}
if (StringUtils.isEmpty(errorOrderNos)) {
//订单状态正常 可以执行出库操作 修改订单状态和更新时间
if (newBeeMallOrderMapper.checkOut(Arrays.asList(ids)) > 0) {
return ServiceResultEnum.SUCCESS.getResult();
} else {
return ServiceResultEnum.DB_ERROR.getResult();
}
} else {
//订单此时不可执行出库操作
if (errorOrderNos.length() > 0 && errorOrderNos.length() < 100) {
return errorOrderNos + "订单的状态不是支付成功或配货完成无法执行出库操作";
} else {
return "你选择了太多状态不是支付成功或配货完成的订单,无法执行出库操作";
}
}
}
//未查询到数据 返回错误提示
return ServiceResultEnum.DATA_NOT_EXIST.getResult();
}
@Override
@Transactional
public String closeOrder(Long[] ids) {
//查询所有的订单 判断状态 修改状态和更新时间
List<NewBeeMallOrder> orders = newBeeMallOrderMapper.selectByPrimaryKeys(Arrays.asList(ids));
String errorOrderNos = "";
if (!CollectionUtils.isEmpty(orders)) {
for (NewBeeMallOrder newBeeMallOrder : orders) {
// isDeleted=1 一定为已关闭订单
if (newBeeMallOrder.getIsDeleted() == 1) {
errorOrderNos += newBeeMallOrder.getOrderNo() + " ";
continue;
}
//已关闭或者已完成无法关闭订单
if (newBeeMallOrder.getOrderStatus() == 4 || newBeeMallOrder.getOrderStatus() < 0) {
errorOrderNos += newBeeMallOrder.getOrderNo() + " ";
}
}
if (StringUtils.isEmpty(errorOrderNos)) {
//订单状态正常 可以执行关闭操作 修改订单状态和更新时间
if (newBeeMallOrderMapper.closeOrder(Arrays.asList(ids), NewBeeMallOrderStatusEnum.ORDER_CLOSED_BY_JUDGE.getOrderStatus()) > 0) {
return ServiceResultEnum.SUCCESS.getResult();
} else {
return ServiceResultEnum.DB_ERROR.getResult();
}
} else {
//订单此时不可执行关闭操作
if (errorOrderNos.length() > 0 && errorOrderNos.length() < 100) {
return errorOrderNos + "订单不能执行关闭操作";
} else {
return "你选择的订单不能执行关闭操作";
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
项目描述 包括商城系统及商城后台管理系统,基于 Spring Boot 2.X 和mybatis技术开发。前台商城系统包含首页门户、商品分类、新品上线、首页轮播、商品推荐、商品搜索、商品展示、购物车、订单结算、订单流程、个人订单管理、会员中心、帮助中心等模块。后台管理系统包含数据面板、轮播图管理、商品管理、订单管理、会员管理、分类管理、设置等模块。 视图层使用了thymeleaf模板引擎,前端框架使用了jquery、bootstrap。 运行环境 jdk8+tomcat7(8)+mysql5.7+IntelliJ IDEA+maven 项目技术(必填) spring+spring boot+mybatis+bootstrap+jquery
资源详情
资源评论
资源推荐
收起资源包目录
基于SpringBoot开发的网上商城系统 (247个子文件)
$PRODUCT_WORKSPACE_FILE$ 489B
bootstrap-modal.css 106KB
swiper.min.css 19KB
index.css 9KB
order-detail.css 9KB
header.css 8KB
my-orders.css 8KB
order-settle.css 6KB
cart.css 6KB
pay.css 5KB
search.css 5KB
addresses.css 4KB
pay-select.css 3KB
detail.css 3KB
iconfont.css 3KB
login.css 2KB
personal.css 2KB
common.css 948B
项目介绍.docx 563KB
iconfont.eot 2KB
index.html 16KB
order-detail.html 15KB
newbee_mall_goods_edit.html 12KB
order-settle.html 11KB
pay-select.html 10KB
my-orders.html 9KB
newbee_mall_order.html 8KB
cart.html 7KB
newbee_mall_index_config.html 6KB
newbee_mall_carousel.html 6KB
personal.html 6KB
newbee_mall_category.html 6KB
search.html 6KB
detail.html 6KB
profile.html 6KB
sidebar.html 5KB
register.html 5KB
error.html 4KB
login.html 4KB
header.html 4KB
error_5xx.html 4KB
error_404.html 4KB
error_400.html 4KB
login.html 4KB
newbee_mall_goods.html 4KB
alipay.html 3KB
wxpay.html 3KB
newbee_mall_user.html 3KB
header.html 3KB
index.html 2KB
footer.html 2KB
personal-sidebar.html 528B
footer.html 369B
favicon.ico 9KB
newbee-mall.iml 9KB
NewBeeMallOrderServiceImpl.java 20KB
NewBeeMallGoodsController.java 12KB
NewBeeMallCategoryServiceImpl.java 9KB
NewBeeMallGoodsCategoryController.java 7KB
OrderController.java 6KB
NewBeeMallShoppingCartServiceImpl.java 6KB
ShoppingCartController.java 6KB
AdminController.java 5KB
PersonalController.java 5KB
NewBeeMallGoods.java 5KB
NewBeeMallOrderController.java 5KB
NewBeeMallGoodsIndexConfigController.java 4KB
CommonController.java 4KB
NewBeeMallIndexConfigServiceImpl.java 4KB
NewBeeMallUserServiceImpl.java 4KB
NewBeeMallCarouselController.java 4KB
NewBeeMallGoodsServiceImpl.java 4KB
NewBeeMallOrder.java 4KB
GoodsController.java 3KB
IndexConfig.java 3KB
BeanUtil.java 3KB
ErrorPageController.java 3KB
GoodsCategory.java 3KB
Carousel.java 3KB
NewBeeMallCarouselServiceImpl.java 3KB
MallUser.java 3KB
NeeBeeMallWebMvcConfigurer.java 3KB
NewBeeMallOrderDetailVO.java 3KB
IndexController.java 2KB
NewBeeMallOrderItem.java 2KB
UploadController.java 2KB
AdminUserServiceImpl.java 2KB
NewBeeMallOrderService.java 2KB
NewBeeMallUtils.java 2KB
NewBeeMallGoodsDetailVO.java 2KB
NewBeeMallOrderListVO.java 2KB
NewBeeMallUserController.java 2KB
NewBeeMallCartNumberInterceptor.java 2KB
NewBeeMallShoppingCartItem.java 2KB
NewBeeMallExceptionHandler.java 2KB
SearchPageCategoryVO.java 2KB
AdminUser.java 2KB
ResultGenerator.java 2KB
PageResult.java 2KB
Constants.java 2KB
共 247 条
- 1
- 2
- 3
csdnid233333
- 粉丝: 1
- 资源: 24
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0