From 5e7b0ed4a154ad067cbcf4aa1a1c7cce32f9864c Mon Sep 17 00:00:00 2001
From: admin <weikou2014>
Date: 星期五, 26 四月 2024 18:02:17 +0800
Subject: [PATCH] 唯品会链接解析升级

---
 fanli/src/main/java/com/yeshi/fanli/controller/admin/order/TaoBaoOrderController.java |  593 ++++++++++++++++++++++++++++++++++++++++-------------------
 1 files changed, 400 insertions(+), 193 deletions(-)

diff --git a/fanli/src/main/java/com/yeshi/fanli/controller/admin/order/TaoBaoOrderController.java b/fanli/src/main/java/com/yeshi/fanli/controller/admin/order/TaoBaoOrderController.java
index e20b294..347f94b 100644
--- a/fanli/src/main/java/com/yeshi/fanli/controller/admin/order/TaoBaoOrderController.java
+++ b/fanli/src/main/java/com/yeshi/fanli/controller/admin/order/TaoBaoOrderController.java
@@ -1,193 +1,400 @@
-package com.yeshi.fanli.controller.admin.order;
-
-import java.io.PrintWriter;
-import java.lang.reflect.Type;
-import java.util.Date;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Set;
-
-import javax.annotation.Resource;
-
-import com.yeshi.fanli.entity.accept.AdminAcceptData;
-import org.springframework.stereotype.Controller;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.yeshi.utils.JsonUtil;
-
-import com.google.gson.Gson;
-import com.google.gson.GsonBuilder;
-import com.google.gson.JsonElement;
-import com.google.gson.JsonPrimitive;
-import com.google.gson.JsonSerializationContext;
-import com.google.gson.JsonSerializer;
-import com.yeshi.fanli.entity.taobao.TaoBaoOrder;
-import com.yeshi.fanli.entity.taobao.TaoBaoWeiQuanOrder;
-import com.yeshi.fanli.job.order.taobao.UpdateOrderJob;
-import com.yeshi.fanli.job.order.taobao.UpdateTBRelationAndSpecialOrderJob;
-import com.yeshi.fanli.service.inter.order.tb.TaoBaoOrderService;
-import com.yeshi.fanli.service.inter.order.tb.TaoBaoWeiQuanOrderService;
-import com.yeshi.common.entity.PageEntity;
-import com.yeshi.fanli.util.Constant;
-import com.yeshi.fanli.util.StringUtil;
-import org.yeshi.utils.TimeUtil;
-
-import net.sf.json.JSONObject;
-
-@Controller
-@RequestMapping("admin/new/api/v1/taobaoOrder")
-public class TaoBaoOrderController {
-
-	@Resource
-	private TaoBaoOrderService taoBaoOrderService;
-
-	@Resource
-	private TaoBaoWeiQuanOrderService taoBaoWeiQuanOrderService;
-
-	@Resource
-	private UpdateTBRelationAndSpecialOrderJob updateRelationAndSpecialOrderJob;
-
-	@Resource
-	private UpdateOrderJob updateOrderJob;
-
-	/**
-	 * 鏌ヨ鍒楄〃 - 鏂板悗鍙�
-	 * 
-	 * @param callback
-	 * @param key
-	 *            鏌ヨ璇� 鍚嶇О
-	 * @param pageIndex
-	 * @param out
-	 */
-	@RequestMapping(value = "listTaoBaoOrder")
-	public void listTaoBaoOrder(AdminAcceptData acceptData, String callback, String key, Integer pageIndex, PrintWriter out) {
-
-		try {
-
-			if (pageIndex == null || pageIndex < 0) {
-				pageIndex = 1;
-			}
-
-			List<TaoBaoOrder> orderList = null;
-			Long count = null;
-
-			if (!StringUtil.isNullOrEmpty(key)) {
-				orderList = taoBaoOrderService.getTaoBaoOrderByOrderId(key);
-				count = (long) orderList.size();
-			} else {
-				orderList = taoBaoOrderService.listAllOrder(pageIndex, Constant.PAGE_SIZE);
-				count = taoBaoOrderService.countAllOrder();
-			}
-
-			int pageSize = Constant.PAGE_SIZE;
-
-			int totalPage = (int) (count % pageSize == 0 ? count / pageSize : count / pageSize + 1);
-			PageEntity pe = new PageEntity(pageIndex, pageSize, count, totalPage);
-
-			Gson gson = new GsonBuilder().registerTypeAdapter(Date.class, new JsonSerializer<Date>() {
-				@Override
-				public JsonElement serialize(Date value, Type theType, JsonSerializationContext context) {
-					if (value == null) {
-						return new JsonPrimitive("");
-					} else {
-						return new JsonPrimitive(TimeUtil.getGernalTime(value.getTime(), "yyyy-MM-dd HH:mm:ss"));
-					}
-				}
-			}).create();
-
-			JSONObject data = new JSONObject();
-			data.put("pe", pe);
-			data.put("result_list", gson.toJson(orderList));
-
-			JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(data));
-
-		} catch (Exception e) {
-			JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鏌ヨ澶辫触"));
-			e.printStackTrace();
-		}
-	}
-
-	@RequestMapping(value = "updateTaoBaoOrder")
-	public void updateTaoBaoOrder(AdminAcceptData acceptData,String callback, String ids, PrintWriter out) {
-		try {
-			if (StringUtil.isNullOrEmpty(ids)) {
-				JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("璇蜂笂浼犺鍗旾D"));
-				return;
-			}
-			net.sf.json.JSONArray idsArray = net.sf.json.JSONArray.fromObject(ids);
-
-			Set<String> orderIds = new HashSet<>();
-
-			for (int i = 0; i < idsArray.size(); i++) {
-				TaoBaoOrder taoBaoOrder = taoBaoOrderService.selectByPrimaryKey(idsArray.optLong(i));
-				orderIds.add(taoBaoOrder.getOrderId());
-			}
-
-			Long[] startTimes = new Long[orderIds.size()];
-			Long[] endTimes = new Long[orderIds.size()];
-
-			int p = 0;
-			for (Iterator<String> its = orderIds.iterator(); its.hasNext();) {
-				String orderId = its.next();
-				List<TaoBaoOrder> list = taoBaoOrderService.getTaoBaoOrderByOrderId(orderId);
-				startTimes[p] = TimeUtil.convertToTimeTemp(list.get(0).getCreateTime(), "yyyy-MM-dd HH:mm:ss") - 1000L;
-				endTimes[p] = TimeUtil.convertToTimeTemp(list.get(0).getCreateTime(), "yyyy-MM-dd HH:mm:ss") + 1000L;
-				p++;
-			}
-
-			for (int i = 0; i < idsArray.size(); i++) {
-				updateRelationAndSpecialOrderJob.updateRelationAndSpecialOrder(startTimes[i], endTimes[i]);
-				updateOrderJob.updateOrder(startTimes[i], endTimes[i]);
-			}
-			JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult("鏇存柊鎴愬姛"));
-		} catch (Exception e) {
-			JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鏇存柊澶辫触"));
-			e.printStackTrace();
-		}
-	}
-
-	@RequestMapping(value = "listTaoBaoWQOrder")
-	public void listTaoBaoWeiQuanOrder(AdminAcceptData acceptData,String callback, String key, Integer pageIndex, PrintWriter out) {
-		try {
-			if (pageIndex == null || pageIndex < 0) {
-				pageIndex = 1;
-			}
-			List<TaoBaoWeiQuanOrder> orderList = null;
-			Long count = null;
-			if (!StringUtil.isNullOrEmpty(key)) {
-				orderList = taoBaoWeiQuanOrderService.listByOrderId(key);
-				count = (long) orderList.size();
-			} else {
-				orderList = taoBaoWeiQuanOrderService.listByState(null, pageIndex, Constant.PAGE_SIZE);
-				count = taoBaoWeiQuanOrderService.countByState(null);
-			}
-
-			int pageSize = Constant.PAGE_SIZE;
-
-			int totalPage = (int) (count % pageSize == 0 ? count / pageSize : count / pageSize + 1);
-			PageEntity pe = new PageEntity(pageIndex, pageSize, count, totalPage);
-
-			Gson gson = new GsonBuilder().registerTypeAdapter(Date.class, new JsonSerializer<Date>() {
-				@Override
-				public JsonElement serialize(Date value, Type theType, JsonSerializationContext context) {
-					if (value == null) {
-						return new JsonPrimitive("");
-					} else {
-						return new JsonPrimitive(TimeUtil.getGernalTime(value.getTime(), "yyyy-MM-dd HH:mm:ss"));
-					}
-				}
-			}).create();
-
-			JSONObject data = new JSONObject();
-			data.put("pe", pe);
-			data.put("result_list", gson.toJson(orderList));
-
-			JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(data));
-
-		} catch (Exception e) {
-			JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鏌ヨ澶辫触"));
-			e.printStackTrace();
-		}
-	}
-
-}
+package com.yeshi.fanli.controller.admin.order;
+
+import com.google.gson.*;
+import com.yeshi.common.entity.PageEntity;
+import com.yeshi.fanli.dao.mybatis.HongBaoV2Mapper;
+import com.yeshi.fanli.dao.mybatis.order.CommonOrderMapper;
+import com.yeshi.fanli.dao.mybatis.order.HongBaoOrderMapper;
+import com.yeshi.fanli.dao.mybatis.taobao.TaoBaoOrderMapper;
+import com.yeshi.fanli.dao.taobao.TaoBaoOrderBackUpDao;
+import com.yeshi.fanli.entity.accept.AdminAcceptData;
+import com.yeshi.fanli.entity.bus.user.HongBaoV2;
+import com.yeshi.fanli.entity.order.CommonOrder;
+import com.yeshi.fanli.entity.order.HongBaoOrder;
+import com.yeshi.fanli.entity.taobao.TaoBaoOrder;
+import com.yeshi.fanli.entity.taobao.TaoBaoOrderBackUp;
+import com.yeshi.fanli.entity.taobao.TaoBaoWeiQuanOrder;
+import com.yeshi.fanli.job.order.taobao.TaoBaoOrderUpdateJob;
+import com.yeshi.fanli.job.order.taobao.UpdateOrderJob;
+import com.yeshi.fanli.job.order.taobao.UpdateTBRelationAndSpecialOrderJob;
+import com.yeshi.fanli.service.inter.order.OrderProcessService;
+import com.yeshi.fanli.service.inter.order.tb.TaoBaoOrderService;
+import com.yeshi.fanli.service.inter.order.tb.TaoBaoWeiQuanOrderService;
+import com.yeshi.fanli.util.BeanUtil;
+import com.yeshi.fanli.util.Constant;
+import com.yeshi.fanli.util.StringUtil;
+import com.yeshi.fanli.util.ThreadUtil;
+import com.yeshi.fanli.util.taobao.TaoBaoOrderUtil;
+import com.yeshi.fanli.util.taobao.TaoKeOrderApiUtil;
+import net.sf.json.JSONObject;
+import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.multipart.commons.CommonsMultipartFile;
+import org.yeshi.utils.JsonUtil;
+import org.yeshi.utils.TimeUtil;
+
+import javax.annotation.Resource;
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.IOException;
+import java.io.PrintWriter;
+import java.lang.reflect.Type;
+import java.math.BigDecimal;
+import java.util.*;
+
+@Controller
+@RequestMapping("admin/new/api/v1/taobaoOrder")
+public class TaoBaoOrderController {
+
+    @Resource
+    private TaoBaoOrderService taoBaoOrderService;
+
+    @Resource
+    private TaoBaoWeiQuanOrderService taoBaoWeiQuanOrderService;
+
+    @Resource
+    private OrderProcessService orderProcessService;
+
+    @Resource
+    private TaoBaoOrderUpdateJob taoBaoOrderUpdateJob;
+
+
+    @Resource
+    private CommonOrderMapper commonOrderMapper;
+    @Resource
+    private HongBaoOrderMapper hongBaoOrderMapper;
+    @Resource
+    private HongBaoV2Mapper hongBaoV2Mapper;
+
+    /**
+     * 鏌ヨ鍒楄〃 - 鏂板悗鍙�
+     *
+     * @param callback
+     * @param key       鏌ヨ璇� 鍚嶇О
+     * @param pageIndex
+     * @param out
+     */
+    @RequestMapping(value = "listTaoBaoOrder")
+    public void listTaoBaoOrder(AdminAcceptData acceptData, String callback, String key, Integer pageIndex, PrintWriter out) {
+
+        try {
+
+            if (pageIndex == null || pageIndex < 0) {
+                pageIndex = 1;
+            }
+
+            List<TaoBaoOrder> orderList = null;
+            Long count = null;
+
+            if (!StringUtil.isNullOrEmpty(key)) {
+                orderList = taoBaoOrderService.getTaoBaoOrderByOrderId(key);
+                count = (long) orderList.size();
+            } else {
+                orderList = taoBaoOrderService.listAllOrder(pageIndex, Constant.PAGE_SIZE);
+                count = taoBaoOrderService.countAllOrder();
+            }
+
+            int pageSize = Constant.PAGE_SIZE;
+
+            int totalPage = (int) (count % pageSize == 0 ? count / pageSize : count / pageSize + 1);
+            PageEntity pe = new PageEntity(pageIndex, pageSize, count, totalPage);
+
+            Gson gson = new GsonBuilder().registerTypeAdapter(Date.class, new JsonSerializer<Date>() {
+                @Override
+                public JsonElement serialize(Date value, Type theType, JsonSerializationContext context) {
+                    if (value == null) {
+                        return new JsonPrimitive("");
+                    } else {
+                        return new JsonPrimitive(TimeUtil.getGernalTime(value.getTime(), "yyyy-MM-dd HH:mm:ss"));
+                    }
+                }
+            }).create();
+
+            JSONObject data = new JSONObject();
+            data.put("pe", pe);
+            data.put("result_list", gson.toJson(orderList));
+
+            JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(data));
+
+        } catch (Exception e) {
+            JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鏌ヨ澶辫触"));
+            e.printStackTrace();
+        }
+    }
+
+
+    @RequestMapping(value = "listTaoBaoOrderNoUpdate")
+    public void listTaoBaoOrderUnUpdate(AdminAcceptData acceptData, String callback, String key, Integer pageIndex, PrintWriter out) {
+
+        try {
+            if (pageIndex == null || pageIndex < 0) {
+                pageIndex = 1;
+            }
+
+            List<TaoBaoOrder> orderList = null;
+            Long count = null;
+
+            if (!StringUtil.isNullOrEmpty(key)) {
+                orderList = taoBaoOrderService.getTaoBaoOrderByOrderId(key);
+                count = (long) orderList.size();
+            } else {
+                orderList = taoBaoOrderService.listAllOrder(pageIndex, Constant.PAGE_SIZE);
+                count = taoBaoOrderService.countAllOrder();
+            }
+
+            int pageSize = Constant.PAGE_SIZE;
+
+            int totalPage = (int) (count % pageSize == 0 ? count / pageSize : count / pageSize + 1);
+            PageEntity pe = new PageEntity(pageIndex, pageSize, count, totalPage);
+
+            Gson gson = new GsonBuilder().registerTypeAdapter(Date.class, new JsonSerializer<Date>() {
+                @Override
+                public JsonElement serialize(Date value, Type theType, JsonSerializationContext context) {
+                    if (value == null) {
+                        return new JsonPrimitive("");
+                    } else {
+                        return new JsonPrimitive(TimeUtil.getGernalTime(value.getTime(), "yyyy-MM-dd HH:mm:ss"));
+                    }
+                }
+            }).create();
+
+            JSONObject data = new JSONObject();
+            data.put("pe", pe);
+            data.put("result_list", gson.toJson(orderList));
+
+            JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(data));
+
+        } catch (Exception e) {
+            JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鏌ヨ澶辫触"));
+            e.printStackTrace();
+        }
+    }
+
+
+    @RequestMapping(value = "updateTaoBaoOrder")
+    public void updateTaoBaoOrder(AdminAcceptData acceptData, String callback, String ids, PrintWriter out) {
+        try {
+            if (StringUtil.isNullOrEmpty(ids)) {
+                JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("璇蜂笂浼犺鍗旾D"));
+                return;
+            }
+            net.sf.json.JSONArray idsArray = net.sf.json.JSONArray.fromObject(ids);
+
+            Set<String> orderIds = new HashSet<>();
+
+            for (int i = 0; i < idsArray.size(); i++) {
+                orderIds.add(idsArray.optString(i));
+            }
+
+            int p = 0;
+            for (Iterator<String> its = orderIds.iterator(); its.hasNext(); ) {
+                String orderId = its.next();
+                taoBaoOrderUpdateJob.updateTaoBaoOrder(orderId);
+            }
+
+            JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult("鏇存柊鎴愬姛"));
+        } catch (Exception e) {
+            JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鏇存柊澶辫触"));
+            e.printStackTrace();
+        }
+    }
+
+    @RequestMapping(value = "listTaoBaoWQOrder")
+    public void listTaoBaoWeiQuanOrder(AdminAcceptData acceptData, String callback, String key, Integer pageIndex, PrintWriter out) {
+        try {
+            if (pageIndex == null || pageIndex < 0) {
+                pageIndex = 1;
+            }
+            List<TaoBaoWeiQuanOrder> orderList = null;
+            Long count = null;
+            if (!StringUtil.isNullOrEmpty(key)) {
+                orderList = taoBaoWeiQuanOrderService.listByOrderId(key);
+                count = (long) orderList.size();
+            } else {
+                orderList = taoBaoWeiQuanOrderService.listByState(null, pageIndex, Constant.PAGE_SIZE);
+                count = taoBaoWeiQuanOrderService.countByState(null);
+            }
+
+            int pageSize = Constant.PAGE_SIZE;
+
+            int totalPage = (int) (count % pageSize == 0 ? count / pageSize : count / pageSize + 1);
+            PageEntity pe = new PageEntity(pageIndex, pageSize, count, totalPage);
+
+            Gson gson = new GsonBuilder().registerTypeAdapter(Date.class, new JsonSerializer<Date>() {
+                @Override
+                public JsonElement serialize(Date value, Type theType, JsonSerializationContext context) {
+                    if (value == null) {
+                        return new JsonPrimitive("");
+                    } else {
+                        return new JsonPrimitive(TimeUtil.getGernalTime(value.getTime(), "yyyy-MM-dd HH:mm:ss"));
+                    }
+                }
+            }).create();
+
+            JSONObject data = new JSONObject();
+            data.put("pe", pe);
+            data.put("result_list", gson.toJson(orderList));
+
+            JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(data));
+
+        } catch (Exception e) {
+            JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鏌ヨ澶辫触"));
+            e.printStackTrace();
+        }
+    }
+
+
+    /**
+     * 鏂板悗鍙扮 涓婁紶璁㈠崟鏂囦欢
+     *
+     * @param acceptData
+     * @param file
+     * @param out
+     */
+    @RequestMapping(value = "uploadWQOrderFile")
+    public void uploadWQOrderFile(AdminAcceptData acceptData, @RequestParam("file") CommonsMultipartFile file, PrintWriter out) {
+
+        if (file == null) {
+            out.print(JsonUtil.loadFalseResult("涓婁紶鏂囦欢涓嶈兘涓虹┖"));
+            return;
+        }
+
+        List<TaoBaoWeiQuanOrder> orderList = null;
+        try {
+            orderList = TaoBaoOrderUtil.parseWeiQuanOrder(
+                    file.getInputStream());
+            int pos = 0;
+            for (TaoBaoWeiQuanOrder order : orderList)
+                try {
+                    pos++;
+                    // if (pos == 19||pos == 26)
+                    taoBaoWeiQuanOrderService.addWeiQuanOrder(order);// 娣诲姞缁存潈璁㈠崟鍒版暟鎹簱
+                } catch (Exception e) {
+                    System.out.println("浣嶇疆:" + pos);
+                    e.printStackTrace();
+                }
+            // 澶勭悊缁存潈璁㈠崟
+            out.print(JsonUtil.loadTrueResult("涓婁紶鎴愬姛,绯荤粺姝e湪澶勭悊涓�..."));
+        } catch (IOException e) {
+            out.print(JsonUtil.loadFalseResult("涓婁紶鏂囦欢澶辫触"));
+            e.printStackTrace();
+        }
+
+        final List<TaoBaoWeiQuanOrder> finalOrderList = orderList;
+
+        ThreadUtil.run(new Runnable() {
+            @Override
+            public void run() {
+                orderProcessService.weiQuanOrder(finalOrderList);
+            }
+        });
+
+    }
+
+    /**
+     * @return void
+     * @author hxh
+     * @description 杩濊璁㈠崟澶勭悊
+     * @date 15:06 2021/10/23
+     * @param: acceptData
+     * @param: content
+     * @param: out
+     **/
+    @RequestMapping(value = "weiGui")
+    public void weiGuiOrder(AdminAcceptData acceptData, String content, String callback, PrintWriter out) {
+
+        if (StringUtil.isNullOrEmpty(content)) {
+            JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("璇蜂笂浼犺鍗曞彿"));
+            return;
+        }
+
+        List<String> orderIdList = new ArrayList<>();
+        Scanner scanner = new Scanner(content);
+        while (scanner.hasNextLine()) {
+            String line = scanner.nextLine();
+            if (!StringUtil.isNullOrEmpty(line))
+                orderIdList.add(line.trim());
+        }
+        scanner.close();
+
+        if (orderIdList.size() == 0) {
+            JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("璇蜂笂浼犺鍗曞彿"));
+            return;
+        }
+
+        BigDecimal fanliMoney = new BigDecimal(0);
+        BigDecimal unFanliMoney = new BigDecimal(0);
+        BigDecimal childFanliMoney = new BigDecimal(0);
+        int validCount = 0;
+        int inValidCount = 0;
+        Set<Long> uids = new HashSet<>();
+        try {
+            for (int c = 0; c < orderIdList.size(); c++) {
+                String orderId = orderIdList.get(c);
+                List<CommonOrder> orderList = commonOrderMapper.listBySourceTypeAndOrderNo(Constant.SOURCE_TYPE_TAOBAO,
+                        orderId);
+                if (orderList.size() > 0) {
+                    validCount++;
+                    for (CommonOrder commonOrder : orderList) {
+                        uids.add(commonOrder.getUserInfo().getId());
+                        HongBaoOrder hongBaoOrder = hongBaoOrderMapper.selectByCommonOrderId(commonOrder.getId());
+                        if (hongBaoOrder != null) {
+                            HongBaoV2 v2 = hongBaoOrder.getHongBaoV2();
+                            if (v2.getState() == 3) {
+                                fanliMoney = fanliMoney.add(v2.getMoney());
+                                // 鏌ヨ涓婄骇鏄惁鍒拌处
+                                List<HongBaoV2> children = hongBaoV2Mapper.listChildrenById(v2.getId());
+                                if (children != null && children.size() > 0) {
+                                    for (HongBaoV2 hongBao : children) {
+                                        if (hongBao.getState() == HongBaoV2.STATE_BUKELINGQU
+                                                || hongBao.getState() == HongBaoV2.STATE_KELINGQU) {
+                                            HongBaoV2 updateHongBao = new HongBaoV2(hongBao.getId());
+                                            updateHongBao.setState(HongBaoV2.STATE_SHIXIAO);
+                                            updateHongBao.setBeizhu("鑱旂洘杩濊");
+                                            updateHongBao.setUpdateTime(new Date());
+                                            hongBaoV2Mapper.updateByPrimaryKeySelective(updateHongBao);
+                                        } else {//
+                                            childFanliMoney = childFanliMoney.add(hongBao.getMoney());
+                                        }
+                                    }
+                                }
+                            } else if (v2.getState() == 1 || v2.getState() == 2) {
+                                unFanliMoney = unFanliMoney.add(v2.getMoney());
+                                HongBaoV2 update = new HongBaoV2(v2.getId());
+                                update.setState(HongBaoV2.STATE_SHIXIAO);
+                                update.setBeizhu("鑱旂洘杩濊");
+                                update.setUpdateTime(new Date());
+                                hongBaoV2Mapper.updateByPrimaryKeySelective(update);
+                                // 鍙戠幇瀛愯鍗�
+                                List<HongBaoV2> children = hongBaoV2Mapper.listChildrenById(v2.getId());
+                                if (children != null && children.size() > 0) {
+                                    for (HongBaoV2 hongBao : children) {
+                                        HongBaoV2 updateHongBao = new HongBaoV2(hongBao.getId());
+                                        updateHongBao.setState(HongBaoV2.STATE_SHIXIAO);
+                                        updateHongBao.setBeizhu("鑱旂洘杩濊");
+                                        updateHongBao.setUpdateTime(new Date());
+                                        hongBaoV2Mapper.updateByPrimaryKeySelective(updateHongBao);
+                                    }
+                                }
+                            }
+                        }
+                    }
+                } else
+                    inValidCount++;
+            }
+
+            System.out.println(
+                    validCount + "-" + inValidCount + "-" + fanliMoney + "-" + unFanliMoney + "-" + childFanliMoney);
+            Iterator<Long> its = uids.iterator();
+            while (its.hasNext()) {
+                System.out.println(its.next());
+            }
+            JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult("澶勭悊鎴愬姛"));
+        } catch (Exception e) {
+            e.printStackTrace();
+            JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("澶勭悊鍑洪敊锛�" + e.getMessage()));
+        }
+    }
+
+}

--
Gitblit v1.8.0