From d2c88e6ba5780393715898ec15477526330555fe Mon Sep 17 00:00:00 2001 From: admin <weikou2014> Date: 星期三, 08 五月 2019 11:21:57 +0800 Subject: [PATCH] 热销商品 --- fanli/src/main/java/com/yeshi/fanli/service/impl/order/LostOrderServiceImpl.java | 43 +++++++++++++++++++++++++++++++++---------- 1 files changed, 33 insertions(+), 10 deletions(-) diff --git a/fanli/src/main/java/com/yeshi/fanli/service/impl/order/LostOrderServiceImpl.java b/fanli/src/main/java/com/yeshi/fanli/service/impl/order/LostOrderServiceImpl.java index 4263557..f49b5ec 100644 --- a/fanli/src/main/java/com/yeshi/fanli/service/impl/order/LostOrderServiceImpl.java +++ b/fanli/src/main/java/com/yeshi/fanli/service/impl/order/LostOrderServiceImpl.java @@ -1,6 +1,7 @@ package com.yeshi.fanli.service.impl.order; import java.util.ArrayList; +import java.util.Date; import java.util.List; import java.util.Map; import java.util.concurrent.locks.ReentrantReadWriteLock.ReadLock; @@ -16,6 +17,7 @@ import com.yeshi.fanli.entity.bus.user.LostOrder; import com.yeshi.fanli.entity.bus.user.Order; import com.yeshi.fanli.service.inter.config.ConfigService; +import com.yeshi.fanli.service.inter.msg.UserOrderMsgNotificationService; import com.yeshi.fanli.service.inter.order.HongBaoOrderService; import com.yeshi.fanli.service.inter.order.LostOrderService; import com.yeshi.fanli.service.inter.order.OrderService; @@ -33,9 +35,12 @@ @Resource private LostOrderMapper lostOrderMapper; - + @Resource private ConfigService configService; + + @Resource + private UserOrderMsgNotificationService userOrderMsgNotificationService; @Transactional @Override @@ -70,14 +75,13 @@ if (hongBaoOrderService.countByOrderNoAndHongBaoType(orderId, HongBaoV2.TYPE_SHARE_GOODS) > 0) return -5; - // 娆℃暟闄愬埗 long count = lostOrderMapper.countTodayAppeal(lostOrder.getUserInfo().getId()); String countMax = configService.get("order_appeal_count_day"); if (countMax != null && countMax.trim().length() > 0 && count >= Long.parseLong(countMax)) { return -7; } - + WriteLock lostOrderwriteLock = lostOrderLock.writeLock(); ReadLock lostOrderReadLock = lostOrderLock.readLock(); try { @@ -100,7 +104,7 @@ lostOrderReadLock.lock(); lostOrderwriteLock.unlock(); } - + Order or = orderService.getSystemOrderByUid(Constant.TAOBAO, lostOrder.getUserInfo().getId()); if (or != null) { boolean b = Utils.isUserOrder(or.getOrderId(), lostOrder.getOrderId()); @@ -114,7 +118,6 @@ lostOrder.setJudge("涓嶅尮閰�"); } - try { Order addorder = new Order(); addorder.setBeizhu("琛ュ崟"); @@ -123,7 +126,7 @@ addorder.setOrderType(lostOrder.getType()); addorder.setState(1); addorder.setUserInfo(lostOrder.getUserInfo()); - + boolean b = orderService.addOrder(addorder); if (b) { lostOrder.setRemake("澶勭悊鎴愬姛"); @@ -142,12 +145,12 @@ lostOrder.setRemake(e.getMessage()); lostOrder.setState(LostOrder.STATE_REJECT); } - + lostOrder.setResultCode(LostOrder.RESULT_CODE_VERFING); lostOrder.setHandleTime(System.currentTimeMillis()); lostOrder.setCreateTime(System.currentTimeMillis()); lostOrderMapper.insertSelective(lostOrder); - + } finally { lostOrderReadLock.unlock(); } @@ -216,12 +219,17 @@ if (list == null || list.size() == 0) return; for (LostOrder lo : list) { - if (lo.getState() == 1 && lo.getResultCode() != null + if (lo.getState() == LostOrder.STATE_PASS && lo.getResultCode() != null && lo.getResultCode() == LostOrder.RESULT_CODE_VERFING) { LostOrder update = new LostOrder(); update.setId(lo.getId()); update.setResultCode(LostOrder.RESULT_CODE_SUCCESS); lostOrderMapper.updateByPrimaryKeySelective(update); + Order order = orderService.findOrderByOrderIdAndType(orderId, Order.ORDER_TYPE_TAOBAO); + if (order != null) + // 娣诲姞閫氱煡 + userOrderMsgNotificationService.orderFoundSuccess(lo.getUserInfo().getId(), lo.getOrderId(), + order.getMoney(), 1, new Date(lo.getHandleTime())); } } } @@ -235,13 +243,28 @@ update.setId(order.getId()); update.setResultCode(LostOrder.RESULT_CODE_FAIL); lostOrderMapper.updateByPrimaryKeySelective(update); + // 娣诲姞閫氱煡 + userOrderMsgNotificationService.orderFoundFail(order.getUserInfo().getId(), order.getOrderId(), null, 1, + new Date(order.getHandleTime())); } } @Override public void processFail() { // 璁㈠崟鐢宠瘔浜哄伐閫氳繃鍚庯紝浣嗘槸闅斾簡3澶╄繕鏈鐞嗘垚鍔熷氨瑙嗕负璇ヨ鍗曠敵璇夊け璐� - lostOrderMapper.processFail(); + List<LostOrder> list = lostOrderMapper.listByMaxHandleTimeAndStateAndResultCode( + System.currentTimeMillis() - 1000 * 60 * 60 * 24 * 3L, LostOrder.STATE_PASS, + LostOrder.RESULT_CODE_VERFING); + if (list != null) + for (LostOrder order : list) { + LostOrder update = new LostOrder(); + update.setId(order.getId()); + update.setResultCode(LostOrder.RESULT_CODE_FAIL); + lostOrderMapper.updateByPrimaryKeySelective(update); + // 娣诲姞閫氱煡 + userOrderMsgNotificationService.orderFoundFail(order.getUserInfo().getId(), order.getOrderId(), null, 1, + new Date(order.getHandleTime())); + } } @Override -- Gitblit v1.8.0