| | |
| | | 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; |
| | |
| | | |
| | | @Resource |
| | | ScoreOrderMapper scoreOrderMapper; |
| | | |
| | | @Resource |
| | | ScoreExpressInfoMapper scoreExpressInfoMapper; |
| | | |
| | | @Resource |
| | | ScoreOrderDetailsMapper scoreOrderDetailsMapper; |
| | | |
| | | public Map<String, Object> queryOrderList(QueryOrderListDto model) { |
| | | String name = model.getName(); |
| | |
| | | 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(); |
| | | } |
| | | } |