diff --git a/src/main/java/cn/chjyj/szwh/service/impl/OrderTaskServiceImpl.java b/src/main/java/cn/chjyj/szwh/service/impl/OrderTaskServiceImpl.java index 65a6537..c82fee1 100644 --- a/src/main/java/cn/chjyj/szwh/service/impl/OrderTaskServiceImpl.java +++ b/src/main/java/cn/chjyj/szwh/service/impl/OrderTaskServiceImpl.java @@ -1,9 +1,7 @@ package cn.chjyj.szwh.service.impl; -import cn.chjyj.szwh.bean.Order; -import cn.chjyj.szwh.bean.OrderGoodsDetail; -import cn.chjyj.szwh.mapper.OrderGoodsDetailMapper; -import cn.chjyj.szwh.mapper.OrderMapper; +import cn.chjyj.szwh.bean.*; +import cn.chjyj.szwh.mapper.*; import cn.chjyj.szwh.service.OrderTaskService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -23,7 +21,18 @@ public class OrderTaskServiceImpl implements OrderTaskService { //订单商品详情 @Autowired private OrderGoodsDetailMapper orderGoodsDetailMapper; + @Autowired + private GoodsMapper goodsMapper; + @Autowired + private GoodsDetailMapper goodsDetailMapper; + @Autowired + private OrderUserMapper orderUserMapper; + @Autowired + private OperationLogMapper operationLogMapper; + /** + * 关闭超时订单 + */ @Override public void closeOrderTimeout() { SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); @@ -34,11 +43,13 @@ public class OrderTaskServiceImpl implements OrderTaskService { String now=sdf.format(bdate); //组装查询条件 Map qmap =new HashMap<>(); - List orderList= orderMapper.getOrderList(qmap,0,20); + qmap.put("staus",1); + qmap.put("createtime",now); + List orderList= orderMapper.getOrderListUnderDate(now,"1"); // 判断非空 if(orderList!=null){ for(Order od:orderList) { - String field = "goods_islicode"; + String field = "goods_islicode as goodsIslicode"; Map somap = new HashMap(); qmap.put("is_deleted", "0"); qmap.put("batchcode", od.getBatchcode()); //传入订单号 @@ -46,9 +57,37 @@ public class OrderTaskServiceImpl implements OrderTaskService { List dbOdglist = orderGoodsDetailMapper.getOrderGoodsDetailByMap(somap, field); if(dbOdglist!=null){ for(OrderGoodsDetail odg:dbOdglist){ - + //商品 + Goods tmpgoods =goodsMapper.getGoodsByIsli(odg.getGoodsIslicode()); + if(tmpgoods==null){ + continue; + } + //商品详情 + GoodsDetail goodsDetail = goodsDetailMapper.getGoodsDetailBygid(tmpgoods.getGoodsDetailId()); + if(goodsDetail==null){ + continue; + } + // 对比和处理商品状态 + if(goodsDetail.getGoodsEntrust()==1||goodsDetail.getContractualPeriod()==2){ + goodsDetail.setStock(1); + goodsDetailMapper.updateGoodsDetail(goodsDetail); + //更新商品状态 + Map gmap=new HashMap(); + gmap.put("goods_status",1); + goodsMapper.updateGoods(gmap,tmpgoods.getId()); + // 找到购买的用户信息 + OrderUser orderUser =orderUserMapper.getUserOrder(od.getBatchcode(),odg.getGoodsIslicode()); + //操作日志 + OperationLog oplog = new OperationLog(); + oplog.setType("goods"); + oplog.setId(tmpgoods.getId()); + oplog.setMessage(now+orderUser.getName()+"未付款成功,重新发布该标的!"); + operationLogMapper.addLog(oplog); + } } } + //关闭订单 + orderMapper.shutOrder(od.getBatchcode(),now); } } }