From bcd981811a00c3e7d4ef44582e705f63d5966817 Mon Sep 17 00:00:00 2001 From: xiaoyong931011 <15274802129@163.com> Date: Thu, 24 Jun 2021 18:41:36 +0800 Subject: [PATCH] 20210624 商品分类 --- gc-shop/src/main/java/com/xzx/gc/shop/service/OrderService.java | 74 +++++++++++++++++++++++++++++++++++++ 1 files changed, 74 insertions(+), 0 deletions(-) diff --git a/gc-shop/src/main/java/com/xzx/gc/shop/service/OrderService.java b/gc-shop/src/main/java/com/xzx/gc/shop/service/OrderService.java index 3f08d63..04201e4 100644 --- a/gc-shop/src/main/java/com/xzx/gc/shop/service/OrderService.java +++ b/gc-shop/src/main/java/com/xzx/gc/shop/service/OrderService.java @@ -1,14 +1,28 @@ package com.xzx.gc.shop.service; +import cn.hutool.core.collection.CollUtil; import cn.hutool.core.convert.Convert; +import cn.hutool.core.util.ObjectUtil; +import com.fasterxml.jackson.databind.DeserializationFeature; +import com.fasterxml.jackson.databind.ObjectMapper; import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageInfo; +import com.xzx.gc.entity.ScoreExpressInfo; +import com.xzx.gc.entity.ScoreGoodsStyle; +import com.xzx.gc.entity.ScoreOrder; +import com.xzx.gc.entity.ScoreOrderDetails; +import com.xzx.gc.shop.dto.DeliverGoodsDto; import com.xzx.gc.shop.dto.QueryOrderListDto; +import com.xzx.gc.shop.mapper.ScoreExpressInfoMapper; +import com.xzx.gc.shop.mapper.ScoreOrderDetailsMapper; import com.xzx.gc.shop.mapper.ScoreOrderMapper; +import com.xzx.gc.shop.vo.ExpressInfoVo; import com.xzx.gc.shop.vo.QueryOrderListVo; +import com.xzx.gc.shop.vo.ViewOrderVo; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import tk.mybatis.mapper.entity.Example; import javax.annotation.Resource; import java.util.Date; @@ -23,6 +37,12 @@ @Resource ScoreOrderMapper scoreOrderMapper; + + @Resource + ScoreExpressInfoMapper scoreExpressInfoMapper; + + @Resource + ScoreOrderDetailsMapper scoreOrderDetailsMapper; public Map<String, Object> queryOrderList(QueryOrderListDto model) { String name = model.getName(); @@ -41,4 +61,58 @@ return map; } + public ViewOrderVo viewOrder(Long id) { + ViewOrderVo viewOrderVo = new ViewOrderVo(); + ScoreOrder scoreOrder = scoreOrderMapper.selectByPrimaryKey(id); + if(ObjectUtil.isNotEmpty(scoreOrder)){ + /** + * 获取基本信息 + * 获取物流信息 + * 获取商品订单详情 + */ + ObjectMapper objectMapper = new ObjectMapper(); + objectMapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false); + viewOrderVo = objectMapper.convertValue(scoreOrder, ViewOrderVo.class); + //2-待收货,3-已完成,获取物流信息 + Integer status = scoreOrder.getStatus() == null ? 0:scoreOrder.getStatus(); + if(ScoreOrder.STATUS_ING == status || ScoreOrder.STATUS_DONE == status){ + Example exampleExpress = new Example(ScoreExpressInfo.class); + Example.Criteria criteriaExpress = exampleExpress.createCriteria(); + criteriaExpress.andEqualTo("orderId",id); + ScoreExpressInfo scoreExpressInfo = scoreExpressInfoMapper.selectOneByExample(exampleExpress); + ExpressInfoVo expressInfoVo = objectMapper.convertValue(scoreExpressInfo, ExpressInfoVo.class); + viewOrderVo.setExpressInfoVo(expressInfoVo); + } + //订单详情 + Example exampleDetails = new Example(ScoreOrderDetails.class); + Example.Criteria criteriaDetails = exampleDetails.createCriteria(); + criteriaDetails.andEqualTo("orderId",id); + List<ScoreOrderDetails> scoreOrderDetails = scoreOrderDetailsMapper.selectByExample(exampleDetails); + if(CollUtil.isNotEmpty(scoreOrderDetails)){ + viewOrderVo.setScoreOrderDetails(scoreOrderDetails); + } + + } + return viewOrderVo; + } + + public void deliverGoods(DeliverGoodsDto model) { + /** + * 获取物流表的信息 + * 更新物流信息 + * 更新订单状态 + */ + Long id = model.getId(); + Example exampleExpress = new Example(ScoreExpressInfo.class); + Example.Criteria criteriaExpress = exampleExpress.createCriteria(); + criteriaExpress.andEqualTo("orderId",id); + ScoreExpressInfo scoreExpressInfo = scoreExpressInfoMapper.selectOneByExample(exampleExpress); + scoreExpressInfo.setExpressNo(model.getExpressNo()); + scoreExpressInfo.setExpressCom(model.getExpressCom()); + scoreExpressInfoMapper.updateByPrimaryKeySelective(scoreExpressInfo); + + ScoreOrder scoreOrder = scoreOrderMapper.selectByPrimaryKey(id); + scoreOrder.setStatus(ScoreOrder.STATUS_ING); + scoreOrderMapper.updateByPrimaryKeySelective(scoreOrder); + } } -- Gitblit v1.9.1