From 010efba33ae0e00ff06e5a95004e0f624f073ba7 Mon Sep 17 00:00:00 2001
From: yujian <yujian@123.com>
Date: 星期三, 17 七月 2019 15:34:45 +0800
Subject: [PATCH] Merge branch 'div' of ssh://193.112.35.168:29418/fanli-server into div
---
fanli/src/main/java/com/yeshi/fanli/service/impl/order/LostOrderServiceImpl.java | 58 +++++++++++++++++++++++++++++++++++++++++++---------------
1 files changed, 43 insertions(+), 15 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..2fe72bd 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
@@ -48,7 +53,7 @@
}
// 璁㈠崟鏄惁宸茬敵璇�
- List<LostOrder> orderList = lostOrderMapper.selectByOrderId(orderId);
+ List<LostOrder> orderList = lostOrderMapper.selectByOrderIdAndType(orderId, type);
if (orderList != null && orderList.size() > 0) {
if (orderList.get(0).getState() == 0 || orderList.get(0).getResultCode() == LostOrder.RESULT_CODE_VERFING) {
return -2;
@@ -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();
}
@@ -210,38 +213,58 @@
@Transactional
@Override
- public void processSuceess(String orderId) {
+ public void processSuceess(String orderId, int orderType) {
// 鏌ヨ璁㈠崟鍙锋槸鍚﹀湪鐢宠瘔鍒楄〃涓�
- List<LostOrder> list = lostOrderMapper.selectByOrderId(orderId);
+ List<LostOrder> list = lostOrderMapper.selectByOrderIdAndType(orderId, orderType);
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()));
}
}
}
@Override
- public void processFail(String orderId) {
- List<LostOrder> list = lostOrderMapper.selectByOrderId(orderId);
+ public void processFail(String orderId, int orderType) {
+ List<LostOrder> list = lostOrderMapper.selectByOrderIdAndType(orderId, orderType);
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
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
@@ -295,4 +318,9 @@
return lostOrderMapper.listByStateAndResultCode(state, resultCode, (page - 1) * pageSize, pageSize);
}
+ @Override
+ public void saveLostOrder(LostOrder lostOrder) {
+ lostOrderMapper.insertSelective(lostOrder);
+ }
+
}
--
Gitblit v1.8.0