From 6e686b5f3e261b7c6a0bd95993a3dceceeeea9ab Mon Sep 17 00:00:00 2001 From: xiaoyong931011 <15274802129@163.com> Date: Fri, 25 Jun 2021 15:34:16 +0800 Subject: [PATCH] 20210625 商品分类 --- gc-shop/src/main/java/com/xzx/gc/shop/service/OrderService.java | 124 +++++++++++++++++++++++++++++++++++++++- 1 files changed, 119 insertions(+), 5 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..0705db4 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,20 +1,30 @@ 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 cn.hutool.core.util.StrUtil; +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.*; +import com.xzx.gc.shop.dto.AddGoodsOrderDto; +import com.xzx.gc.shop.dto.DeliverGoodsDto; +import com.xzx.gc.shop.dto.InsureOrderDto; import com.xzx.gc.shop.dto.QueryOrderListDto; -import com.xzx.gc.shop.mapper.ScoreOrderMapper; +import com.xzx.gc.shop.mapper.*; +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.beans.factory.annotation.Autowired; 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; -import java.util.HashMap; -import java.util.List; -import java.util.Map; +import java.util.*; @Service @Transactional @@ -23,6 +33,27 @@ @Resource ScoreOrderMapper scoreOrderMapper; + + @Resource + ScoreExpressInfoMapper scoreExpressInfoMapper; + + @Resource + ScoreOrderDetailsMapper scoreOrderDetailsMapper; + + @Resource + private AddressInfoMapper addressInfoMapper; + + @Autowired + private AccountInfoMapper accountInfoMapper; + + @Autowired + private ScoreGoodsStyleMapper scoreGoodsStyleMapper; + + @Autowired + private ScoreGoodsSkuMapper scoreGoodsSkuMapper; + + @Autowired + private ScoreGoodsMapper scoreGoodsMapper; public Map<String, Object> queryOrderList(QueryOrderListDto model) { String name = model.getName(); @@ -41,4 +72,87 @@ 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); +// String voucherImg = viewOrderVo.getVoucherImg(); + String voucherImg = scoreOrder.getVoucherImg(); + List<String> lists = StrUtil.split(voucherImg, ","); + viewOrderVo.setVoucherImgs(lists); + //2-待收货3-已收货4-已完成5-已评价,获取物流信息 + Integer status = scoreOrder.getStatus() == null ? 0:scoreOrder.getStatus(); + if(ScoreOrder.STATUS_DOING == status + || ScoreOrder.STATUS_DONE == status + || ScoreOrder.STATUS_ON == status + || ScoreOrder.STATUS_EVALUATE == 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 Long 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); + if(ObjectUtil.isNotEmpty(scoreExpressInfo)){ + scoreExpressInfo.setExpressNo(model.getExpressNo()); + scoreExpressInfo.setExpressCom(model.getExpressCom()); + scoreExpressInfoMapper.updateByPrimaryKeySelective(scoreExpressInfo); + + ScoreOrder scoreOrder = new ScoreOrder(); + scoreOrder.setId(id); + scoreOrder.setStatus(ScoreOrder.STATUS_ON); + scoreOrderMapper.updateByPrimaryKeySelective(scoreOrder); + } + return id; + } + + public Long insureOrder(InsureOrderDto model) { + ScoreOrder scoreOrder = new ScoreOrder(); + scoreOrder.setId(model.getId()); + scoreOrder.setVoucherImg(CollUtil.join(model.getVoucherImgs(),",")); + scoreOrderMapper.updateByPrimaryKeySelective(scoreOrder); + return scoreOrder.getId(); + } + + public void addOrder(AddGoodsOrderDto addGoodsOrderDto) { + ScoreGoodsStyle style = scoreGoodsStyleMapper.selectByPrimaryKey(addGoodsOrderDto.getStyleId()); + ScoreGoodsSku sku = scoreGoodsSkuMapper.selectByPrimaryKey(addGoodsOrderDto.getSkuId()); + ScoreGoods goods = scoreGoodsMapper.selectByPrimaryKey(style.getGoodsId()); + + + AddressInfo addressInfo = addressInfoMapper.selectByPrimaryKey(addGoodsOrderDto.getAddressId()); + AccountInfo accountInfo = accountInfoMapper.selectAccountInfoByUserId(addGoodsOrderDto.getUserId()); + } } -- Gitblit v1.9.1