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 |  728 ++++++++++++++++++++++++++++---------------------------
 1 files changed, 370 insertions(+), 358 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 a611702..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,358 +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 com.yeshi.fanli.entity.SystemEnum;
-import com.yeshi.fanli.entity.bus.user.UserInfo;
-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;
-
-    @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;
-
-        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) {
-        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