From 30d8e227e8d823b6c38c3b9c90ac2df03b63befe Mon Sep 17 00:00:00 2001
From: admin <weikou2014>
Date: 星期二, 25 二月 2025 16:41:22 +0800
Subject: [PATCH] 淘宝转链接口更新

---
 fanli/src/main/java/com/yeshi/fanli/service/impl/order/LostOrderServiceImpl.java |  708 ++++++++++++++++++++++++++++++----------------------------
 1 files changed, 370 insertions(+), 338 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 15b7367..404e3ea 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,338 +1,370 @@
-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;
-import java.util.concurrent.locks.ReentrantReadWriteLock.WriteLock;
-
-import javax.annotation.Resource;
-
-import org.springframework.stereotype.Service;
-import org.springframework.transaction.annotation.Transactional;
-
-import com.yeshi.fanli.dao.mybatis.order.LostOrderMapper;
-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.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.Utils;
-
-@Service
-public class LostOrderServiceImpl implements LostOrderService {
-
-	@Resource
-	private OrderService orderService;
-
-	@Resource
-	private HongBaoOrderService hongBaoOrderService;
-
-	@Resource
-	private LostOrderMapper lostOrderMapper;
-
-	@Resource
-	private ConfigService configService;
-
-	@Resource
-	private UserOrderMsgNotificationService userOrderMsgNotificationService;
-
-	@Resource
-	private TaoBaoPunishOrderService taoBaoPunishOrderService;
-
-	@Transactional
-	@Override
-	public int addLostOrder(LostOrder lostOrder) {
-		String orderId = lostOrder.getOrderId();
-		Integer type = lostOrder.getType();
-		if (type == null) { // 榛樿涓烘窐瀹濊鍗�
-			lostOrder.setType(1);
-			type = 1;
-		}
-
-		// 鏄惁澶勪簬杩濊璁㈠崟涓�
-		if (type == 1) {
-			int count = taoBaoPunishOrderService.countByTradeParentId(orderId);
-			if (count > 0) {
-				return -1001;
-			}
-		}
-
-		// 璁㈠崟鏄惁宸茬敵璇�
-		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;
-			} else if (orderList.get(0).getState() == 1
-					&& orderList.get(0).getResultCode() == LostOrder.RESULT_CODE_SUCCESS) {
-				return -1;
-			} else {
-				return -6;
-			}
-		}
-
-		// 璁㈠崟宸插瓨鍦�
-		Order order = orderService.findOrderByOrderIdAndType(orderId, type);
-		if (order != null) {
-			return -3;
-		}
-
-		// 鏄惁涓哄垎浜禋璁㈠崟
-		if (hongBaoOrderService.countByOrderNoAndHongBaoType(orderId, HongBaoV2.TYPE_SHARE_GOODS, type) > 0)
-			return -5;
-
-		// 娆℃暟闄愬埗
-		long count = lostOrderMapper.countTodayAppeal(lostOrder.getUserInfo().getId());
-		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 {
-			try {
-				lostOrderwriteLock.lock();
-				List<Integer> stateList = new ArrayList<>();
-				stateList.add(0);
-				stateList.add(1);
-				List<LostOrder> list = lostOrderMapper.listByOrderIdAndTypeAndState(orderId, type, stateList);
-				if (list.size() > 0) {
-					LostOrder find = list.get(0);
-					Integer state = find.getState();
-					if (state == 0) {
-						return -2;
-					} else if (state == 1) {
-						return -1;
-					}
-				}
-			} finally {
-				lostOrderReadLock.lock();
-				lostOrderwriteLock.unlock();
-			}
-
-			Order or = orderService.getSystemOrderByUid(type, lostOrder.getUserInfo().getId());
-			if (or != null) {
-				boolean b = Utils.isUserOrder(or.getOrderId(), lostOrder.getOrderId());
-				if (b) {
-					lostOrder.setJudge("鍖归厤");
-
-				} else {
-					lostOrder.setJudge("涓嶅尮閰�");
-				}
-			} else {
-				lostOrder.setJudge("涓嶅尮閰�");
-			}
-
-			try {
-				Order addorder = new Order();
-				addorder.setBeizhu("琛ュ崟");
-				addorder.setCreatetime(lostOrder.getCreateTime());
-				addorder.setOrderId(lostOrder.getOrderId());
-				addorder.setOrderType(lostOrder.getType());
-				addorder.setState(1);
-				addorder.setUserInfo(lostOrder.getUserInfo());
-
-				boolean b = orderService.addOrder(addorder);
-				if (b) {
-					lostOrder.setRemake("澶勭悊鎴愬姛");
-					lostOrder.setState(LostOrder.STATE_PASS);
-					lostOrder.setOrder(order);
-				} else {
-					lostOrder.setRemake("璁㈠崟宸插瓨鍦�!");
-					lostOrder.setState(LostOrder.STATE_REJECT);
-				}
-			} catch (Exception e) {
-				e.printStackTrace();
-				String message = e.getMessage();
-				if (message.length() > 255) {
-					message = message.substring(0, 255);
-				}
-				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();
-		}
-		return 0;
-	}
-
-	public void pass(LostOrder lostOrder) {
-		Order order = new Order();
-		order.setBeizhu("琛ュ崟");
-		order.setCreatetime(lostOrder.getCreateTime());
-		order.setOrderId(lostOrder.getOrderId());
-		order.setOrderType(lostOrder.getType());
-		order.setState(1);
-		order.setUserInfo(lostOrder.getUserInfo());
-		try {
-			boolean b = orderService.addOrder(order);
-			if (b) {
-				lostOrder.setRemake("澶勭悊鎴愬姛");
-				lostOrder.setState(1);
-				lostOrder.setOrder(order);
-			} else {
-				lostOrder.setRemake("璁㈠崟宸插瓨鍦�!");
-				lostOrder.setState(2);
-			}
-		} catch (Exception e) {
-			e.printStackTrace();
-			String message = e.getMessage();
-			if (message.length() > 255) {
-				message = message.substring(0, 255);
-			}
-			lostOrder.setRemake(e.getMessage());
-			lostOrder.setState(2);
-		}
-		lostOrder.setHandleTime(System.currentTimeMillis());
-		lostOrder.setResultCode(LostOrder.RESULT_CODE_VERFING);
-		lostOrderMapper.updateByPrimaryKeySelective(lostOrder);
-	}
-
-	public void reject(LostOrder lostOrder) {
-		lostOrder.setHandleTime(System.currentTimeMillis());
-		lostOrder.setState(2);
-		lostOrderMapper.updateByPrimaryKeySelective(lostOrder);
-	}
-
-	@Override
-	public LostOrder getOne(long id) {
-		return lostOrderMapper.selectByPrimaryKey(id);
-	}
-
-	@Override
-	public List<LostOrder> getLostOrderListByUid(Long uid, int page, int pageSize) {
-
-		return lostOrderMapper.listByUidOrderByCreateTimeDesc(uid, (page - 1) * pageSize, pageSize);
-	}
-
-	@Override
-	public long getLostOrderCountByUid(Long uid) {
-		return lostOrderMapper.countAllByUid(uid);
-	}
-
-	@Transactional
-	@Override
-	public void processSuceess(String orderId, int orderType) {
-		// 鏌ヨ璁㈠崟鍙锋槸鍚﹀湪鐢宠瘔鍒楄〃涓�
-		List<LostOrder> list = lostOrderMapper.selectByOrderIdAndType(orderId, orderType);
-		if (list == null || list.size() == 0)
-			return;
-		for (LostOrder lo : list) {
-			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);
-				if (order != null)
-					// 娣诲姞閫氱煡
-					userOrderMsgNotificationService.orderFoundSuccess(lo.getUserInfo().getId(), lo.getOrderId(),
-							order.getMoney(), orderType, new Date(lo.getHandleTime()));
-			}
-		}
-	}
-
-	@Override
-	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澶╄繕鏈鐞嗘垚鍔熷氨瑙嗕负璇ヨ鍗曠敵璇夊け璐�
-		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
-	public void deleteLostOrder(long id) {
-		lostOrderMapper.deleteByPrimaryKey(id);
-	}
-
-	@Override
-	public void deleteLostOrderByUid(long uid) {
-
-		lostOrderMapper.deleteByUid(uid);
-	}
-
-	@Override
-	public Map<String, Object> countByUid(long uid) {
-		return lostOrderMapper.countByUid(uid);
-	}
-
-	/**
-	 * 鍚庣鍒楄〃鏌ヨ
-	 * 
-	 * @param start
-	 * @param count
-	 * @param key
-	 * @return
-	 */
-	@Override
-	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, Integer type) {
-		return lostOrderMapper.countQuery(key, state, handleType, type);
-	}
-
-	@Override
-	public Integer countLostOrderNum(String preDay,  int resultCode) {
-		return lostOrderMapper.countLostOrderNum(preDay, resultCode);
-	}
-
-	@Override
-	public BigDecimal countAppealMoney(String preDay) {
-		return lostOrderMapper.countAppealMoney(preDay);
-	}
-
-	@Override
-	public List<LostOrder> listByStateAndResultCode(int state, int resultCode, int page, int pageSize) {
-		return lostOrderMapper.listByStateAndResultCode(state, resultCode, (page - 1) * pageSize, pageSize);
-	}
-
-	@Override
-	public void saveLostOrder(LostOrder lostOrder) {
-		lostOrderMapper.insertSelective(lostOrder);
-	}
-
-}
+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;
+import java.util.concurrent.locks.ReentrantReadWriteLock.WriteLock;
+
+import javax.annotation.Resource;
+
+import com.yeshi.fanli.entity.SystemEnum;
+import com.yeshi.fanli.entity.bus.user.UserInfo;
+import com.yeshi.fanli.entity.taobao.TaoBaoWeiQuanOrder;
+import com.yeshi.fanli.service.inter.order.tb.TaoBaoWeiQuanOrderService;
+import com.yeshi.fanli.service.inter.user.UserInfoService;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import com.yeshi.fanli.dao.mybatis.order.LostOrderMapper;
+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;
+
+@Service
+public class LostOrderServiceImpl implements LostOrderService {
+
+    @Resource
+    private OrderService orderService;
+
+    @Resource
+    private HongBaoOrderService hongBaoOrderService;
+
+    @Resource
+    private LostOrderMapper lostOrderMapper;
+
+    @Resource
+    private ConfigService configService;
+
+    @Resource
+    private UserOrderMsgNotificationService userOrderMsgNotificationService;
+
+    @Resource
+    private TaoBaoPunishOrderService taoBaoPunishOrderService;
+
+    @Resource
+    private UserInfoService userInfoService;
+
+    @Resource
+    private TaoBaoWeiQuanOrderService taoBaoWeiQuanOrderService;
+
+    @Transactional
+    @Override
+    public int addLostOrder(LostOrder lostOrder) {
+        String orderId = lostOrder.getOrderId();
+        Integer type = lostOrder.getType();
+        if (type == null) { // 榛樿涓烘窐瀹濊鍗�
+            lostOrder.setType(1);
+            type = 1;
+        }
+
+        // 鏄惁澶勪簬杩濊璁㈠崟涓�
+        if (type == 1) {
+            int count = taoBaoPunishOrderService.countByTradeParentId(orderId);
+            if (count > 0) {
+                return -1001;
+            }
+        }
+
+        //鏄惁澶勪簬缁存潈璁㈠崟涓�
+        List<TaoBaoWeiQuanOrder> wqList = taoBaoWeiQuanOrderService.listByOrderId(orderId);
+        if (wqList != null && wqList.size() > 0) {
+            return -1002;
+        }
+
+
+        // 璁㈠崟鏄惁宸茬敵璇�
+        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;
+            } else if (orderList.get(0).getState() == 1
+                    && orderList.get(0).getResultCode() == LostOrder.RESULT_CODE_SUCCESS) {
+                return -1;
+            } else {
+                return -6;
+            }
+        }
+
+        // 璁㈠崟宸插瓨鍦�
+        Order order = orderService.findOrderByOrderIdAndType(orderId, type);
+        if (order != null) {
+            return -3;
+        }
+
+        // 鏄惁涓哄垎浜禋璁㈠崟
+        if (hongBaoOrderService.countByOrderNoAndHongBaoType(orderId, HongBaoV2.TYPE_SHARE_GOODS, type) > 0)
+            return -5;
+
+        SystemEnum system = userInfoService.getUserSystem(lostOrder.getUserInfo().getId());
+
+        // 娆℃暟闄愬埗
+        long count = lostOrderMapper.countTodayAppeal(lostOrder.getUserInfo().getId());
+        String countMax = configService.getValue(ConfigKeyEnum.orderAppealCountDay.getKey(), system);
+        if (countMax != null && countMax.trim().length() > 0 && count >= Long.parseLong(countMax)) {
+            return -7;
+        }
+
+        WriteLock lostOrderwriteLock = lostOrderLock.writeLock();
+        ReadLock lostOrderReadLock = lostOrderLock.readLock();
+        try {
+            try {
+                lostOrderwriteLock.lock();
+                List<Integer> stateList = new ArrayList<>();
+                stateList.add(0);
+                stateList.add(1);
+                List<LostOrder> list = lostOrderMapper.listByOrderIdAndTypeAndState(orderId, type, stateList);
+                if (list.size() > 0) {
+                    LostOrder find = list.get(0);
+                    Integer state = find.getState();
+                    if (state == 0) {
+                        return -2;
+                    } else if (state == 1) {
+                        return -1;
+                    }
+                }
+            } finally {
+                lostOrderReadLock.lock();
+                lostOrderwriteLock.unlock();
+            }
+
+            Order or = orderService.getSystemOrderByUid(type, lostOrder.getUserInfo().getId());
+            if (or != null) {
+                boolean b = Utils.isUserOrder(or.getOrderId(), lostOrder.getOrderId());
+                if (b) {
+                    lostOrder.setJudge("鍖归厤");
+
+                } else {
+                    lostOrder.setJudge("涓嶅尮閰�");
+                }
+            } else {
+                lostOrder.setJudge("涓嶅尮閰�");
+            }
+
+            try {
+                Order addorder = new Order();
+                addorder.setBeizhu("琛ュ崟");
+                addorder.setCreatetime(lostOrder.getCreateTime());
+                addorder.setOrderId(lostOrder.getOrderId());
+                addorder.setOrderType(lostOrder.getType());
+                addorder.setState(1);
+                addorder.setUserInfo(lostOrder.getUserInfo());
+
+                boolean b = orderService.addOrder(addorder);
+                if (b) {
+                    lostOrder.setRemake("澶勭悊鎴愬姛");
+                    lostOrder.setState(LostOrder.STATE_PASS);
+                    lostOrder.setOrder(order);
+                } else {
+                    lostOrder.setRemake("璁㈠崟宸插瓨鍦�!");
+                    lostOrder.setState(LostOrder.STATE_REJECT);
+                }
+            } catch (Exception e) {
+                e.printStackTrace();
+                String message = e.getMessage();
+                if (message.length() > 255) {
+                    message = message.substring(0, 255);
+                }
+                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();
+        }
+        return 0;
+    }
+
+    public void pass(LostOrder lostOrder) {
+        Order order = new Order();
+        order.setBeizhu("琛ュ崟");
+        order.setCreatetime(lostOrder.getCreateTime());
+        order.setOrderId(lostOrder.getOrderId());
+        order.setOrderType(lostOrder.getType());
+        order.setState(1);
+        order.setUserInfo(lostOrder.getUserInfo());
+        try {
+            boolean b = orderService.addOrder(order);
+            if (b) {
+                lostOrder.setRemake("澶勭悊鎴愬姛");
+                lostOrder.setState(1);
+                lostOrder.setOrder(order);
+            } else {
+                lostOrder.setRemake("璁㈠崟宸插瓨鍦�!");
+                lostOrder.setState(2);
+            }
+        } catch (Exception e) {
+            e.printStackTrace();
+            String message = e.getMessage();
+            if (message.length() > 255) {
+                message = message.substring(0, 255);
+            }
+            lostOrder.setRemake(e.getMessage());
+            lostOrder.setState(2);
+        }
+        lostOrder.setHandleTime(System.currentTimeMillis());
+        lostOrder.setResultCode(LostOrder.RESULT_CODE_VERFING);
+        lostOrderMapper.updateByPrimaryKeySelective(lostOrder);
+    }
+
+    public void reject(LostOrder lostOrder) {
+        lostOrder.setHandleTime(System.currentTimeMillis());
+        lostOrder.setState(2);
+        lostOrderMapper.updateByPrimaryKeySelective(lostOrder);
+    }
+
+    @Override
+    public LostOrder getOne(long id) {
+        return lostOrderMapper.selectByPrimaryKey(id);
+    }
+
+    @Override
+    public List<LostOrder> getLostOrderListByUid(Long uid, int page, int pageSize) {
+
+        return lostOrderMapper.listByUidOrderByCreateTimeDesc(uid, (page - 1) * pageSize, pageSize);
+    }
+
+    @Override
+    public long getLostOrderCountByUid(Long uid) {
+        return lostOrderMapper.countAllByUid(uid);
+    }
+
+    @Transactional
+    @Override
+    public void processSuceess(String orderId, int orderType) {
+        // 鏌ヨ璁㈠崟鍙锋槸鍚﹀湪鐢宠瘔鍒楄〃涓�
+        List<LostOrder> list = lostOrderMapper.selectByOrderIdAndType(orderId, orderType);
+        if (list == null || list.size() == 0)
+            return;
+        for (LostOrder lo : list) {
+            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;
+                BigDecimal fanMoney = new BigDecimal(0);
+                for (HongBaoOrder hongBaoOrder : hongBaoOrderList) {
+                    if (hongBaoOrder.getCommonOrder().getState() != CommonOrder.STATE_SX) {
+                        goodsCount += hongBaoOrder.getCommonOrder().getCount();
+                        fanMoney = fanMoney.add(hongBaoOrder.getHongBaoV2().getMoney());
+                    }
+                }
+
+                if (order != null)
+                    userOrderMsgNotificationService.orderFoundSuccess(lo.getUserInfo().getId(), orderId, orderType,
+                            Constant.TYPE_REBATE, order.getMoney(), fanMoney, goodsCount, new Date(lo.getCreateTime()));
+            }
+        }
+    }
+
+    @Override
+    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澶╄繕鏈鐞嗘垚鍔熷氨瑙嗕负璇ヨ鍗曠敵璇夊け璐�
+        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
+    public void deleteLostOrder(long id) {
+        lostOrderMapper.deleteByPrimaryKey(id);
+    }
+
+    @Override
+    public void deleteLostOrderByUid(long uid) {
+
+        lostOrderMapper.deleteByUid(uid);
+    }
+
+    @Override
+    public Map<String, Object> countByUid(long uid) {
+        return lostOrderMapper.countByUid(uid);
+    }
+
+    /**
+     * 鍚庣鍒楄〃鏌ヨ
+     *
+     * @param start
+     * @param count
+     * @param key
+     * @return
+     */
+    @Override
+    public List<LostOrder> listQuery(long start, int count, String key, Integer state, Integer handleType,
+                                     Integer type, SystemEnum system) {
+        return lostOrderMapper.listQuery(start, count, key, state, handleType, type, system);
+    }
+
+    @Override
+    public long countQuery(String key, Integer state, Integer handleType, Integer type, SystemEnum system) {
+        return lostOrderMapper.countQuery(key, state, handleType, type, system);
+    }
+
+    @Override
+    public Integer countLostOrderNum(String preDay, int resultCode) {
+        return lostOrderMapper.countLostOrderNum(preDay, resultCode);
+    }
+
+    @Override
+    public BigDecimal countAppealMoney(String preDay) {
+        return lostOrderMapper.countAppealMoney(preDay);
+    }
+
+    @Override
+    public List<LostOrder> listByStateAndResultCode(int state, int resultCode, int page, int pageSize) {
+        return lostOrderMapper.listByStateAndResultCode(state, resultCode, (page - 1) * pageSize, pageSize);
+    }
+
+    @Override
+    public void saveLostOrder(LostOrder lostOrder) {
+        lostOrderMapper.insertSelective(lostOrder);
+    }
+
+}

--
Gitblit v1.8.0