From ff076ec18ccc61d9d03863d859000e4a46c19a76 Mon Sep 17 00:00:00 2001
From: admin <weikou2014>
Date: 星期五, 27 十二月 2019 11:20:35 +0800
Subject: [PATCH] 自购返利维权到账修改
---
fanli/src/main/java/com/yeshi/fanli/service/impl/order/LostOrderServiceImpl.java | 89 ++++++++++++++++++++++++++++++++------------
1 files changed, 65 insertions(+), 24 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..15c4e98 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;
@@ -12,6 +13,7 @@
import org.springframework.transaction.annotation.Transactional;
import com.yeshi.fanli.dao.mybatis.order.LostOrderMapper;
+import com.yeshi.fanli.dto.ChartTDO;
import com.yeshi.fanli.entity.bus.user.HongBaoV2;
import com.yeshi.fanli.entity.bus.user.LostOrder;
import com.yeshi.fanli.entity.bus.user.Order;
@@ -19,7 +21,8 @@
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.util.Constant;
+import com.yeshi.fanli.service.inter.order.msg.UserOrderMsgNotificationService;
+import com.yeshi.fanli.service.inter.order.tb.TaoBaoPunishOrderService;
import com.yeshi.fanli.util.Utils;
@Service
@@ -33,9 +36,15 @@
@Resource
private LostOrderMapper lostOrderMapper;
-
+
@Resource
private ConfigService configService;
+
+ @Resource
+ private UserOrderMsgNotificationService userOrderMsgNotificationService;
+
+ @Resource
+ private TaoBaoPunishOrderService taoBaoPunishOrderService;
@Transactional
@Override
@@ -47,8 +56,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 +84,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");
if (countMax != null && countMax.trim().length() > 0 && count >= Long.parseLong(countMax)) {
return -7;
}
-
+
WriteLock lostOrderwriteLock = lostOrderLock.writeLock();
ReadLock lostOrderReadLock = lostOrderLock.readLock();
try {
@@ -100,8 +116,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 +130,6 @@
lostOrder.setJudge("涓嶅尮閰�");
}
-
try {
Order addorder = new Order();
addorder.setBeizhu("琛ュ崟");
@@ -123,7 +138,7 @@
addorder.setOrderType(lostOrder.getType());
addorder.setState(1);
addorder.setUserInfo(lostOrder.getUserInfo());
-
+
boolean b = orderService.addOrder(addorder);
if (b) {
lostOrder.setRemake("澶勭悊鎴愬姛");
@@ -142,12 +157,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 +225,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
@@ -269,23 +304,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,
+ public List<ChartTDO> countLostNum(Integer dateType, Integer resultCode, String year, String startTime,
String endTime) throws Exception {
return lostOrderMapper.countLostNum(dateType, resultCode, year, startTime, endTime);
}
@Override
- public List<Map<String, Object>> countAppealMoney(Integer dateType, String year, String startTime, String endTime)
+ public List<ChartTDO> countAppealMoney(Integer dateType, String year, String startTime, String endTime)
throws Exception {
return lostOrderMapper.countAppealMoney(dateType, year, startTime, endTime);
}
@@ -295,4 +331,9 @@
return lostOrderMapper.listByStateAndResultCode(state, resultCode, (page - 1) * pageSize, pageSize);
}
+ @Override
+ public void saveLostOrder(LostOrder lostOrder) {
+ lostOrderMapper.insertSelective(lostOrder);
+ }
+
}
--
Gitblit v1.8.0