From bdce38de757cc606fbdc58d66dd604de8fd74efa Mon Sep 17 00:00:00 2001
From: yujian <yujian@163.com>
Date: 星期三, 29 四月 2020 10:16:52 +0800
Subject: [PATCH] 分享订单号 取消隐藏
---
fanli/src/main/java/com/yeshi/fanli/service/impl/order/LostOrderServiceImpl.java | 107 +++++++++++++++++++++++++++++++++++++++--------------
1 files changed, 79 insertions(+), 28 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..532a496 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,8 @@
package com.yeshi.fanli.service.impl.order;
+import java.math.BigDecimal;
import java.util.ArrayList;
+import java.util.Date;
import java.util.List;
import java.util.Map;
import java.util.concurrent.locks.ReentrantReadWriteLock.ReadLock;
@@ -15,10 +17,15 @@
import com.yeshi.fanli.entity.bus.user.HongBaoV2;
import com.yeshi.fanli.entity.bus.user.LostOrder;
import com.yeshi.fanli.entity.bus.user.Order;
+import com.yeshi.fanli.entity.order.CommonOrder;
+import com.yeshi.fanli.entity.order.HongBaoOrder;
+import com.yeshi.fanli.entity.system.ConfigKeyEnum;
import com.yeshi.fanli.service.inter.config.ConfigService;
import com.yeshi.fanli.service.inter.order.HongBaoOrderService;
import com.yeshi.fanli.service.inter.order.LostOrderService;
import com.yeshi.fanli.service.inter.order.OrderService;
+import com.yeshi.fanli.service.inter.order.msg.UserOrderMsgNotificationService;
+import com.yeshi.fanli.service.inter.order.tb.TaoBaoPunishOrderService;
import com.yeshi.fanli.util.Constant;
import com.yeshi.fanli.util.Utils;
@@ -33,9 +40,15 @@
@Resource
private LostOrderMapper lostOrderMapper;
-
+
@Resource
private ConfigService configService;
+
+ @Resource
+ private UserOrderMsgNotificationService userOrderMsgNotificationService;
+
+ @Resource
+ private TaoBaoPunishOrderService taoBaoPunishOrderService;
@Transactional
@Override
@@ -47,8 +60,16 @@
type = 1;
}
+ // 鏄惁澶勪簬杩濊璁㈠崟涓�
+ if (type == 1) {
+ int count = taoBaoPunishOrderService.countByTradeParentId(orderId);
+ if (count > 0) {
+ return -1001;
+ }
+ }
+
// 璁㈠崟鏄惁宸茬敵璇�
- 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;
@@ -67,17 +88,16 @@
}
// 鏄惁涓哄垎浜禋璁㈠崟
- if (hongBaoOrderService.countByOrderNoAndHongBaoType(orderId, HongBaoV2.TYPE_SHARE_GOODS) > 0)
+ if (hongBaoOrderService.countByOrderNoAndHongBaoType(orderId, HongBaoV2.TYPE_SHARE_GOODS, type) > 0)
return -5;
-
// 娆℃暟闄愬埗
long count = lostOrderMapper.countTodayAppeal(lostOrder.getUserInfo().getId());
- String countMax = configService.get("order_appeal_count_day");
+ String countMax = configService.get(ConfigKeyEnum.orderAppealCountDay.getKey());
if (countMax != null && countMax.trim().length() > 0 && count >= Long.parseLong(countMax)) {
return -7;
}
-
+
WriteLock lostOrderwriteLock = lostOrderLock.writeLock();
ReadLock lostOrderReadLock = lostOrderLock.readLock();
try {
@@ -100,8 +120,8 @@
lostOrderReadLock.lock();
lostOrderwriteLock.unlock();
}
-
- Order or = orderService.getSystemOrderByUid(Constant.TAOBAO, lostOrder.getUserInfo().getId());
+
+ Order or = orderService.getSystemOrderByUid(type, lostOrder.getUserInfo().getId());
if (or != null) {
boolean b = Utils.isUserOrder(or.getOrderId(), lostOrder.getOrderId());
if (b) {
@@ -114,7 +134,6 @@
lostOrder.setJudge("涓嶅尮閰�");
}
-
try {
Order addorder = new Order();
addorder.setBeizhu("琛ュ崟");
@@ -123,7 +142,7 @@
addorder.setOrderType(lostOrder.getType());
addorder.setState(1);
addorder.setUserInfo(lostOrder.getUserInfo());
-
+
boolean b = orderService.addOrder(addorder);
if (b) {
lostOrder.setRemake("澶勭悊鎴愬姛");
@@ -142,12 +161,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 +229,66 @@
@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, orderType);
+
+ List<HongBaoOrder> hongBaoOrderList = hongBaoOrderService.listDetailByOrderIdAndSourceType(orderId,
+ orderType);
+ int goodsCount = 0;
+ for (HongBaoOrder hongBaoOrder : hongBaoOrderList) {
+ if (hongBaoOrder.getCommonOrder().getState() != CommonOrder.STATE_SX)
+ goodsCount += hongBaoOrder.getCommonOrder().getCount();
+ }
+
+ // TODO 鍒嗕韩璁㈠崟鍙壘鍥�
+ if (order != null)
+ userOrderMsgNotificationService.orderFoundSuccess(lo.getUserInfo().getId(), orderId, orderType,
+ Constant.TYPE_REBATE, order.getMoney(), order.getMoney(), goodsCount,
+ new Date(lo.getCreateTime()));
}
}
}
@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());
}
}
@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());
+ }
}
@Override
@@ -269,25 +316,24 @@
* @return
*/
@Override
- public List<LostOrder> listQuery(long start, int count, String key, Integer state, Integer handleType) {
- return lostOrderMapper.listQuery(start, count, key, state, handleType);
+ public List<LostOrder> listQuery(long start, int count, String key, Integer state, Integer handleType,
+ Integer type) {
+ return lostOrderMapper.listQuery(start, count, key, state, handleType, type);
}
@Override
- public long countQuery(String key, Integer state, Integer handleType) {
- return lostOrderMapper.countQuery(key, state, handleType);
+ public long countQuery(String key, Integer state, Integer handleType, Integer type) {
+ return lostOrderMapper.countQuery(key, state, handleType, type);
}
@Override
- public List<Map<String, Object>> countLostNum(Integer dateType, Integer resultCode, String year, String startTime,
- String endTime) throws Exception {
- return lostOrderMapper.countLostNum(dateType, resultCode, year, startTime, endTime);
+ public Integer countLostOrderNum(String preDay, int resultCode) {
+ return lostOrderMapper.countLostOrderNum(preDay, resultCode);
}
@Override
- public List<Map<String, Object>> countAppealMoney(Integer dateType, String year, String startTime, String endTime)
- throws Exception {
- return lostOrderMapper.countAppealMoney(dateType, year, startTime, endTime);
+ public BigDecimal countAppealMoney(String preDay) {
+ return lostOrderMapper.countAppealMoney(preDay);
}
@Override
@@ -295,4 +341,9 @@
return lostOrderMapper.listByStateAndResultCode(state, resultCode, (page - 1) * pageSize, pageSize);
}
+ @Override
+ public void saveLostOrder(LostOrder lostOrder) {
+ lostOrderMapper.insertSelective(lostOrder);
+ }
+
}
--
Gitblit v1.8.0