| | |
| | | package cc.mrbird.febs.mall.service.impl; |
| | | |
| | | import cc.mrbird.febs.common.entity.FebsResponse; |
| | | import cc.mrbird.febs.common.entity.QueryRequest; |
| | | import cc.mrbird.febs.mall.dto.DeliverGoodsDto; |
| | | import cc.mrbird.febs.mall.dto.MallOrderInfoDto; |
| | | import cc.mrbird.febs.mall.entity.MallExpressInfo; |
| | | import cc.mrbird.febs.mall.entity.MallOrderInfo; |
| | | import cc.mrbird.febs.mall.entity.MallOrderItem; |
| | | import cc.mrbird.febs.mall.mapper.MallExpressInfoMapper; |
| | | import cc.mrbird.febs.mall.mapper.MallOrderInfoMapper; |
| | | import cc.mrbird.febs.mall.mapper.MallOrderItemMapper; |
| | | import cc.mrbird.febs.mall.service.IAdminMallOrderService; |
| | | import cc.mrbird.febs.mall.vo.AdminMallOrderInfoVo; |
| | | import cc.mrbird.febs.mall.vo.AdminMallOrderVo; |
| | | import cc.mrbird.febs.mall.vo.AdminOrderDetailVo; |
| | | import cn.hutool.core.collection.CollUtil; |
| | | import cn.hutool.core.util.ObjectUtil; |
| | | import cn.hutool.core.util.StrUtil; |
| | | import com.baomidou.mybatisplus.core.metadata.IPage; |
| | | import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
| | | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
| | |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | import java.util.List; |
| | | |
| | | @Slf4j |
| | | @Service |
| | | @RequiredArgsConstructor |
| | | public class AdminMallOrderService extends ServiceImpl<MallOrderInfoMapper, MallOrderInfo> implements IAdminMallOrderService { |
| | | |
| | | |
| | | private final MallOrderInfoMapper mallOrderInfoMapper; |
| | | |
| | | private final MallExpressInfoMapper mallExpressInfoMapper; |
| | | |
| | | private final MallOrderItemMapper mallOrderItemMapper; |
| | | |
| | | @Override |
| | | public IPage<AdminMallOrderInfoVo> getOrderListInPage(MallOrderInfoDto mallOrderInfo, QueryRequest request) { |
| | | Page<AdminMallOrderInfoVo> page = new Page<>(request.getPageNum(), request.getPageSize()); |
| | |
| | | public AdminMallOrderVo getMallOrderInfoById(long id) { |
| | | return this.baseMapper.getMallOrderInfoById(id); |
| | | } |
| | | |
| | | @Override |
| | | public FebsResponse deliverGoods(DeliverGoodsDto deliverGoodsDto) { |
| | | MallOrderInfo mallOrderInfo = mallOrderInfoMapper.selectById(deliverGoodsDto.getId()); |
| | | if(ObjectUtil.isEmpty(mallOrderInfo)){ |
| | | return new FebsResponse().fail().message("订单不存在,刷新后重试"); |
| | | } |
| | | Integer status = mallOrderInfo.getStatus(); |
| | | if(2 != status){ |
| | | return new FebsResponse().fail().message("订单不是待发货状态"); |
| | | } |
| | | String expressNo = deliverGoodsDto.getExpressNo(); |
| | | if(StrUtil.isEmpty(expressNo)){ |
| | | return new FebsResponse().fail().message("请输入物流单号"); |
| | | } |
| | | String expressCom = deliverGoodsDto.getExpressCom(); |
| | | if(StrUtil.isEmpty(expressCom)){ |
| | | return new FebsResponse().fail().message("请输入物流公司"); |
| | | } |
| | | MallExpressInfo mallExpressInfo = new MallExpressInfo(); |
| | | mallExpressInfo.setMemberId(mallExpressInfo.getMemberId()); |
| | | mallExpressInfo.setExpressNo(expressNo); |
| | | mallExpressInfo.setExpressCom(expressCom); |
| | | mallExpressInfoMapper.insert(mallExpressInfo); |
| | | |
| | | mallOrderInfo.setStatus(3); |
| | | mallOrderInfoMapper.updateById(mallOrderInfo); |
| | | return new FebsResponse().success(); |
| | | } |
| | | |
| | | @Override |
| | | public AdminOrderDetailVo getMallOrderDetailById(long id) { |
| | | AdminOrderDetailVo adminOrderDetailVo = mallOrderInfoMapper.getMallOrderDetailById(id); |
| | | MallExpressInfo mallExpressInfo = mallExpressInfoMapper.selectByOrderId(id); |
| | | if(ObjectUtil.isNotEmpty(mallExpressInfo)){ |
| | | adminOrderDetailVo.setExpressNo(mallExpressInfo.getExpressNo()); |
| | | adminOrderDetailVo.setExpressCom(mallExpressInfo.getExpressCom()); |
| | | } |
| | | List<MallOrderItem> mallOrderItems = mallOrderInfoMapper.getMallOrderItemByOrderId(id); |
| | | if(CollUtil.isNotEmpty(mallOrderItems)){ |
| | | StringBuffer orderItems = new StringBuffer(); |
| | | for (MallOrderItem item : mallOrderItems){ |
| | | StringBuffer orderItem = new StringBuffer(); |
| | | orderItems.append(item.getGoodsName()+"-"+item.getCnt()+"*"+item.getPrice()+"-合计"+item.getAmount()+"; \n "); |
| | | orderItems.append(orderItem); |
| | | } |
| | | adminOrderDetailVo.setOrderItems(orderItems.toString()); |
| | | } |
| | | |
| | | return adminOrderDetailVo; |
| | | } |
| | | |
| | | |
| | | } |