From d375fe94715d15bfa748991df5d922106a477e5d Mon Sep 17 00:00:00 2001 From: Helius <wangdoubleone@gmail.com> Date: Thu, 24 Jun 2021 19:23:04 +0800 Subject: [PATCH] Merge branch 'score-shop' of http://120.27.238.55:7000/r/xzx into score-shop --- gc-shop/src/main/java/com/xzx/gc/shop/service/OrderService.java | 90 +++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 90 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..6b45805 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,29 @@ 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.InsureOrderDto; 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 +38,12 @@ @Resource ScoreOrderMapper scoreOrderMapper; + + @Resource + ScoreExpressInfoMapper scoreExpressInfoMapper; + + @Resource + ScoreOrderDetailsMapper scoreOrderDetailsMapper; public Map<String, Object> queryOrderList(QueryOrderListDto model) { String name = model.getName(); @@ -41,4 +62,73 @@ 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-已收货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 scoreExpressInfo.getId(); + } + + public Long insureOrder(InsureOrderDto model) { + ScoreOrder scoreOrder = new ScoreOrder(); + scoreOrder.setId(model.getId()); + scoreOrder.setVoucherImg(model.getVoucherImgs().toString()); + scoreOrderMapper.updateByPrimaryKeySelective(scoreOrder); + return scoreOrder.getId(); + } } -- Gitblit v1.9.1