From 2147d023563a7c9d05d97547c00d6b0162c0644c Mon Sep 17 00:00:00 2001 From: admin <weikou2014> Date: 星期一, 09 十一月 2020 18:37:24 +0800 Subject: [PATCH] 刷单风险规则优化 --- fanli/src/main/java/com/yeshi/fanli/controller/admin/OrderAdminController.java | 805 +++++++++++++++++++++++++++++---------------------------- 1 files changed, 406 insertions(+), 399 deletions(-) diff --git a/fanli/src/main/java/com/yeshi/fanli/controller/admin/OrderAdminController.java b/fanli/src/main/java/com/yeshi/fanli/controller/admin/OrderAdminController.java index b0c2c8c..708b119 100644 --- a/fanli/src/main/java/com/yeshi/fanli/controller/admin/OrderAdminController.java +++ b/fanli/src/main/java/com/yeshi/fanli/controller/admin/OrderAdminController.java @@ -11,6 +11,8 @@ import javax.servlet.http.HttpServletRequest; import com.yeshi.fanli.entity.accept.AdminAcceptData; +import com.yeshi.fanli.util.OrderConstant; +import net.sf.json.JSONArray; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.multipart.MultipartFile; @@ -43,12 +45,9 @@ import com.yeshi.fanli.service.inter.order.CommonOrderService; import com.yeshi.fanli.service.inter.order.HongBaoOrderService; import com.yeshi.fanli.service.inter.order.OrderProcessService; -import com.yeshi.fanli.service.inter.order.OrderService; import com.yeshi.fanli.service.inter.order.UserOrderWeiQuanRecordService; -import com.yeshi.fanli.service.inter.order.tb.TaoBaoOrderService; import com.yeshi.fanli.service.inter.order.tb.TaoBaoWeiQuanOrderService; -import com.yeshi.fanli.service.inter.user.UserSystemCouponRecordService; -import com.yeshi.fanli.tag.PageEntity; +import com.yeshi.common.entity.PageEntity; import com.yeshi.fanli.util.Constant; import com.yeshi.fanli.util.StringUtil; import com.yeshi.fanli.util.taobao.TaoBaoOrderUtil; @@ -61,435 +60,443 @@ public class OrderAdminController { - @Resource - private HongBaoV2CountService hongBaoV2CountService; + @Resource + private HongBaoV2CountService hongBaoV2CountService; - @Resource - private CommonOrderCountService commonOrderCountService; + @Resource + private CommonOrderCountService commonOrderCountService; - @Resource - private CommonOrderService commonOrderService; + @Resource + private CommonOrderService commonOrderService; - @Resource - private TaoBaoOrderCountService taoBaoOrderCountService; + @Resource + private TaoBaoOrderCountService taoBaoOrderCountService; - @Resource - private TaoBaoWeiQuanDrawBackService taoBaoWeiQuanDrawBackService; + @Resource + private TaoBaoWeiQuanDrawBackService taoBaoWeiQuanDrawBackService; - @Resource - private TaoBaoWeiQuanOrderService taoBaoWeiQuanOrderService; + @Resource + private TaoBaoWeiQuanOrderService taoBaoWeiQuanOrderService; - @Resource - private UserMoneyDetailService userMoneyDetailService; + @Resource + private UserMoneyDetailService userMoneyDetailService; - @Resource - private OrderProcessService orderProcessService; + @Resource + private OrderProcessService orderProcessService; - @Resource - private HongBaoOrderService hongBaoOrderService; + @Resource + private HongBaoOrderService hongBaoOrderService; - @Resource - private UserMoneyDebtService userMoneyDebtService; + @Resource + private UserMoneyDebtService userMoneyDebtService; - @Resource - private ConfigService configService; + @Resource + private ConfigService configService; - @Resource - private UserOrderWeiQuanRecordService userOrderWeiQuanRecordService; - - @Resource - private CommonGoodsService commonGoodsService; + @Resource + private UserOrderWeiQuanRecordService userOrderWeiQuanRecordService; - /** - * 缁熻鍘嗗彶璁㈠崟-娣樺疂璁㈠崟 - * - * @param callback - * @param request - * @param out - */ - @RequestMapping(value = "countTaoBaoOrder") - public void countTaoBaoOrder(String callback, HttpServletRequest request, PrintWriter out) { + @Resource + private CommonGoodsService commonGoodsService; - try { - Map<String, Object> countByOdrerType = taoBaoOrderCountService.countByOdrerType(); + /** + * 缁熻鍘嗗彶璁㈠崟-娣樺疂璁㈠崟 + * + * @param callback + * @param request + * @param out + */ + @RequestMapping(value = "countTaoBaoOrder") + public void countTaoBaoOrder(AdminAcceptData acceptData, String callback, HttpServletRequest request, PrintWriter out) { - JSONObject data = new JSONObject(); - data.put("typeOrder", countByOdrerType); + try { + Map<String, Object> countByOdrerType = taoBaoOrderCountService.countByOdrerType(); - // 缁熻浠婃棩 鏈け鏁堣鍗曟暟閲� 鐩稿悓璁㈠崟鍙峰悎骞朵负涓�鍗� - int todayOrder = taoBaoOrderCountService.countToday(); - // 缁熻鏄ㄦ棩 鏈け鏁堣鍗曟暟閲� 鐩稿悓璁㈠崟鍙峰悎骞朵负涓�鍗� - int yesterdayOrder = taoBaoOrderCountService.countYesterday(); + JSONObject data = new JSONObject(); + data.put("typeOrder", countByOdrerType); - data.put("todayOrder", todayOrder); - data.put("yesterdayOrder", yesterdayOrder); - data.put("genzong", yesterdayOrder); - data.put("yesterdayOrder", yesterdayOrder); - JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(data)); - } catch (Exception e) { - JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("缁熻澶辫触")); - e.printStackTrace(); - } - } + // 缁熻浠婃棩 鏈け鏁堣鍗曟暟閲� 鐩稿悓璁㈠崟鍙峰悎骞朵负涓�鍗� + int todayOrder = taoBaoOrderCountService.countToday(); + // 缁熻鏄ㄦ棩 鏈け鏁堣鍗曟暟閲� 鐩稿悓璁㈠崟鍙峰悎骞朵负涓�鍗� + int yesterdayOrder = taoBaoOrderCountService.countYesterday(); - /** - * 鏌ヨ鎵�鏈夌敤鎴疯鍗曞垪琛� - * - * @param callback - * @param pageIndex - * @param pageSize - * @param state - * @param type - * @param orderState - * @param startTime - * @param endTime - * @param out - */ - @RequestMapping(value = "getUserOrderList") - public void getUserOrderList(AdminAcceptData acceptData, String callback, Integer pageIndex, Integer pageSize, Integer keyType, String key, - Integer state, Integer type, Integer orderState, String startTime, String endTime, Integer sourceType, - Integer riskType, BigDecimal payment, PrintWriter out) { + data.put("todayOrder", todayOrder); + data.put("yesterdayOrder", yesterdayOrder); + data.put("genzong", yesterdayOrder); + data.put("yesterdayOrder", yesterdayOrder); + JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(data)); + } catch (Exception e) { + JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("缁熻澶辫触")); + e.printStackTrace(); + } + } - if (pageIndex == null || pageIndex < 1) { - pageIndex = 1; - } + /** + * 鏌ヨ鎵�鏈夌敤鎴疯鍗曞垪琛� + * + * @param callback + * @param pageIndex + * @param pageSize + * @param state + * @param type + * @param orderState + * @param startTime + * @param endTime + * @param out + */ + @RequestMapping(value = "getUserOrderList") + public void getUserOrderList(AdminAcceptData acceptData, String callback, Integer pageIndex, Integer pageSize, Integer keyType, String key, + Integer state, String type, Integer orderState, String startTime, String endTime, Integer sourceType, + Integer riskType, BigDecimal payment, PrintWriter out) { - if (pageSize == null) - pageSize = Constant.PAGE_SIZE; + List<Integer> typeList = null; - if (state != null && state == 0) { - state = null;// 鎵�鏈夌姸鎬� - } + if (pageIndex == null || pageIndex < 1) { + pageIndex = 1; + } - if (type != null && type == 0) { - type = null; // 鎵�鏈夌被鍨嬭鍗� - } + if (pageSize == null) + pageSize = Constant.PAGE_SIZE; - if (endTime != null && endTime.trim().length() > 0) { - endTime += " 23:59:59"; - } + if (state != null && state == 0) { + state = null;// 鎵�鏈夌姸鎬� + } - try { - Date minTime = null; - BigDecimal money = null; - List<Long> listShopId = null; - List<Long> listGoodsId = null; - // 椋庨櫓 - if (riskType != null && !StringUtil.isNullOrEmpty(key) && keyType != null && keyType == 2) { - long uid = Long.parseLong(key); - // 鏌ヨ鍚屽簵閾哄晢鍝侊紝鍚屽晢鍝佽鍗曡秴杩囦竴瀹氭暟閲忕殑 - List<Integer> typeList = new ArrayList<>(); - typeList.add(HongBaoV2.TYPE_ZIGOU); + if (!StringUtil.isNullOrEmpty(type)) { + JSONArray array = JSONArray.fromObject(type); + if (array.size() > 0) { + typeList = new ArrayList<>(); + for (int i = 0; i < array.size(); i++) { + if (!StringUtil.isNullOrEmpty(array.optString(i))) + typeList.add(array.optInt(i)); + } + } + } - if (riskType == 1) { - listGoodsId = commonOrderCountService.getSameGoodsOrderByUidAndHongBaoType(typeList, uid, - Integer.parseInt(configService.getValue(ConfigKeyEnum.adminMinSameGoodsOrderCount.getKey(),acceptData.getSystem()))); - if (listGoodsId == null || listGoodsId.isEmpty()) { - JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鏆傛棤鍚屽晢鍝佽鍗�")); - return; - } - } else if (riskType == 2) { - listShopId = commonOrderCountService.getSameShopOrderByUidAndHongBaoType(typeList, uid, - Integer.parseInt(configService.getValue(ConfigKeyEnum.adminMinSameShopOrderCount.getKey(),acceptData.getSystem()))); - if (listShopId == null || listShopId.isEmpty()) { - JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鏆傛棤鍚屽簵閾鸿鍗�")); - return; - } - } else if (riskType == 3) { - money = new BigDecimal(100); - minTime = new Date(System.currentTimeMillis() - 1000 * 60 * 60 * 24 * 180L); - } - } + if (endTime != null && endTime.trim().length() > 0) { + endTime += " 23:59:59"; + } - // 鏌ヨ鍒楄〃 - List<CommonOrderVO> list = commonOrderService.listQuery((pageIndex - 1) * pageSize, pageSize, keyType, key, - state, type, orderState, startTime, endTime, sourceType, listShopId, listGoodsId, minTime, money, payment); + try { + Date minTime = null; + BigDecimal money = null; + List<Long> listShopId = null; + List<Long> listGoodsId = null; + // 椋庨櫓 + if (riskType != null && !StringUtil.isNullOrEmpty(key) && keyType != null && keyType == 2) { + long uid = Long.parseLong(key); + // 鏌ヨ鍚屽簵閾哄晢鍝侊紝鍚屽晢鍝佽鍗曡秴杩囦竴瀹氭暟閲忕殑 + List<Integer> hongBaoTypeList = new ArrayList<>(); + hongBaoTypeList.add(HongBaoV2.TYPE_ZIGOU); - // 缁熻鎬绘暟 - long count = commonOrderService.countQuery(keyType, key, state, type, orderState, startTime, endTime, - sourceType, listShopId, listGoodsId, minTime, money, payment); + if (riskType == 1) { + listGoodsId = commonOrderCountService.getSameGoodsOrderByUidAndHongBaoType(hongBaoTypeList, uid, + Integer.parseInt(configService.getValue(ConfigKeyEnum.adminMinSameGoodsOrderCount.getKey(), acceptData.getSystem()))); + if (listGoodsId == null || listGoodsId.isEmpty()) { + JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鏆傛棤鍚屽晢鍝佽鍗�")); + return; + } + } else if (riskType == 2) { + listShopId = commonOrderCountService.getSameShopOrderByUidAndHongBaoType(hongBaoTypeList, uid, + Integer.parseInt(configService.getValue(ConfigKeyEnum.adminMinSameShopOrderCount.getKey(), acceptData.getSystem()))); + if (listShopId == null || listShopId.isEmpty()) { + JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鏆傛棤鍚屽簵閾鸿鍗�")); + return; + } + } else if (riskType == 3) { + money = OrderConstant.BIG_ORDER_MONEY; + minTime = new Date(System.currentTimeMillis() - 1000 * 60 * 60 * 24 * 180L); + } + } - for (CommonOrderVO order : list) { - - CommonOrderGoods goods = order.getCommonOrderGoods(); - if (goods != null) { - CommonGoods commonGoods = commonGoodsService.getCommonGoodsByGoodsIdAndGoodsType(Long.parseLong(goods.getGoodsId()), - goods.getGoodsType()); - if (commonGoods != null) { - String categoryInfo = commonGoods.getCategoryInfo(); - if (!StringUtil.isNullOrEmpty(categoryInfo)) { - JSONObject json = JSONObject.fromObject(categoryInfo); - CategoryInfoDTO otherDTO = (CategoryInfoDTO) JSONObject.toBean(json, CategoryInfoDTO.class); - if (otherDTO != null) { - goods.setCategory1(otherDTO.getCid1Name()); - goods.setCategory2(otherDTO.getCid2Name()); - goods.setCategory3(otherDTO.getCid3Name()); - } - } - } - } - - - if (order.getUserId() == null) - continue; + // 鏌ヨ鍒楄〃 + List<CommonOrderVO> list = commonOrderService.listQuery((pageIndex - 1) * pageSize, pageSize, keyType, key, + state, typeList, orderState, startTime, endTime, sourceType, listShopId, listGoodsId, minTime, money, payment, acceptData.getSystem()); - // 鏌ヨ鏄惁缁存潈 - TaoBaoWeiQuanOrder weiQuanOrder = taoBaoWeiQuanOrderService.listByorderItemId(order.getTradeId()); - if (weiQuanOrder != null)// 鏈夌淮鏉� - { - order.setWeiQuanState(weiQuanOrder.getState()); - order.setState(CommonOrder.STATE_WQ); - TaoBaoWeiQuanDrawBack drawBack = taoBaoWeiQuanDrawBackService.selectByOrderItemIdAndUid( - weiQuanOrder.getOrderItemId(), Long.parseLong(order.getUserId())); - if (drawBack != null) {// 宸茬粡閫�娆� + // 缁熻鎬绘暟 + long count = commonOrderService.countQuery(keyType, key, state, typeList, orderState, startTime, endTime, + sourceType, listShopId, listGoodsId, minTime, money, payment, acceptData.getSystem()); - // 璁$畻閫�娆捐祫閲� - UserMoneyDetail detail = null; - switch (order.getHongBaoType()) { - case 1: - detail = userMoneyDetailService.selectByTypeAndUidAndIdentifyCode( - UserMoneyDetailTypeEnum.fanliWeiQuan, Long.parseLong(order.getUserId()), - drawBack.getId()); - if (detail == null) - detail = userMoneyDetailService.selectByTypeAndUidAndIdentifyCode( - UserMoneyDetailTypeEnum.weiQuan, Long.parseLong(order.getUserId()), - drawBack.getId()); - break; - case 3: - detail = userMoneyDetailService.selectByTypeAndUidAndIdentifyCode( - UserMoneyDetailTypeEnum.inviteWeiQuan, Long.parseLong(order.getUserId()), - drawBack.getId()); - break; - case 2: - detail = userMoneyDetailService.selectByTypeAndUidAndIdentifyCode( - UserMoneyDetailTypeEnum.shareWeiQuan, Long.parseLong(order.getUserId()), - drawBack.getId()); - break; - } - if (detail != null) { - // 閫�娆炬垚鍔� - order.setWeiQuanBackMoney(detail.getMoney().abs().toString()); - } else {// 灏氭湭閫�娆� - order.setWeiQuanBackMoney(drawBack.getDrawBackMoney().toString()); - // 鏌ヨ鍑哄搴旂殑hongBaoId - CommonOrder commonOrder = commonOrderService.selectBySourceTypeAndTradeId( - Constant.SOURCE_TYPE_TAOBAO, drawBack.getOrderItemId()); - if (commonOrder != null) { - HongBaoOrder hongBaoOrder = hongBaoOrderService - .selectDetailByCommonOrderId(commonOrder.getId()); - if (hongBaoOrder != null) { - UserMoneyDebt debt = userMoneyDebtService.selectByTypeAndSourceId( - UserMoneyDebtTypeEnum.order, hongBaoOrder.getHongBaoV2().getId()); - if (debt != null && debt.getLeftMoney().compareTo(new BigDecimal(0)) > 0) { - order.setWeiQuanBackMoney( - new BigDecimal(0).subtract(debt.getLeftMoney()).toString());// 鏈墸闄� - } - } - } - } + for (CommonOrderVO order : list) { - } else {// 灏氭湭閫�娆� - UserOrderWeiQuanRecord record = userOrderWeiQuanRecordService.selectByOrderInfoAndUid( - Long.parseLong(order.getUserId()), weiQuanOrder.getOrderItemId(), - Constant.SOURCE_TYPE_TAOBAO); - if (record != null) - order.setWeiQuanBackMoney("-" + record.getMoney()); - else { - order.setWeiQuanBackMoney("-" + order.getHongBao()); - } - } - } - } - - int totalPage = (int) (count % pageSize == 0 ? count / pageSize : count / pageSize + 1); - PageEntity pe = new PageEntity(pageIndex, pageSize, count, totalPage); - - JSONObject data = new JSONObject(); - data.put("pe", pe); - data.put("result_list", list); - JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(data)); - } catch (CommonOrderException e) { - JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult(e.getMsg())); - } catch (Exception e) { - JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鏌ヨ澶辫触")); - e.printStackTrace(); - } - } - - /** - * 鏌ヨ璁㈠崟鍒楄〃鐢ㄦ埛uid - * - * @param callback - * @param pageIndex - * @param pageSize - * @param uid - * @param state - * @param type - * @param orderState - * @param orderNo - * @param startTime - * @param endTime - * @param out - */ - @RequestMapping(value = "getHistoryOrder") - public void getHistoryOrder(String callback, Integer pageIndex, Integer pageSize, Long uid, Integer state, - Integer type, Integer orderState, String orderNo, String startTime, String endTime, PrintWriter out) { - - if (uid == null) { - JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("uid涓嶈兘涓虹┖")); - return; - } - - if (pageIndex == null || pageIndex < 1) { - pageIndex = 1; - } - - if (pageSize == null) - pageSize = Constant.PAGE_SIZE; - - if (state != null && state == 0) { - state = null;// 鎵�鏈夌姸鎬� - } - - if (type != null && type == 0) { - type = null; // 鎵�鏈夌被鍨嬭鍗� - } - - if (endTime != null && endTime.trim().length() > 0) { - endTime += " 23:59:59"; - } - - try { - long count = 0; - - // 鏌ヨ鍒楄〃 - List<CommonOrderVO> list = commonOrderService.listQueryByUid((pageIndex - 1) * pageSize, pageSize, uid, - state, type, orderState, orderNo, startTime, endTime, null); - - if (list != null && list.size() > 0) { - // 缁熻鎬绘暟 - count = commonOrderService.countQueryByUid(uid, state, type, orderState, orderNo, startTime, endTime, - null); - } - - int totalPage = (int) (count % pageSize == 0 ? count / pageSize : count / pageSize + 1); - PageEntity pe = new PageEntity(pageIndex, pageSize, count, totalPage); - - JSONObject data = new JSONObject(); - data.put("pe", pe); - data.put("result_list", list); - - JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(data)); - - } catch (CommonOrderException e) { - JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult(e.getMsg())); - } catch (Exception e) { - JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鏌ヨ澶辫触")); - e.printStackTrace(); - } - } + CommonOrderGoods goods = order.getCommonOrderGoods(); + if (goods != null) { + CommonGoods commonGoods = commonGoodsService.getCommonGoodsByGoodsIdAndGoodsType(Long.parseLong(goods.getGoodsId()), + goods.getGoodsType()); + if (commonGoods != null) { + String categoryInfo = commonGoods.getCategoryInfo(); + if (!StringUtil.isNullOrEmpty(categoryInfo)) { + JSONObject json = JSONObject.fromObject(categoryInfo); + CategoryInfoDTO otherDTO = (CategoryInfoDTO) JSONObject.toBean(json, CategoryInfoDTO.class); + if (otherDTO != null) { + goods.setCategory1(otherDTO.getCid1Name()); + goods.setCategory2(otherDTO.getCid2Name()); + goods.setCategory3(otherDTO.getCid3Name()); + } + } + } + } - /** - * 褰撳墠鏈敹璐ц鍗曟暟 - * - * @param callback - * @param type - * 璁㈠崟鐘舵��-鏆傛湭浣跨敤 - * @param out - */ - @RequestMapping(value = "getHistoryUnreceived") - public void getHistoryUnreceived(String callback, Integer type, PrintWriter out) { - try { + if (order.getUserId() == null) + continue; - Long total = commonOrderCountService.countByState(1); - if (total == null) { - total = 0L; - } - JSONObject data = new JSONObject(); - data.put("total", total); - JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(data)); - } catch (Exception e) { - JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鎿嶄綔寮傚父")); - e.printStackTrace(); - } - } - + // 鏌ヨ鏄惁缁存潈 + TaoBaoWeiQuanOrder weiQuanOrder = taoBaoWeiQuanOrderService.listByorderItemId(order.getTradeId()); + if (weiQuanOrder != null)// 鏈夌淮鏉� + { + order.setWeiQuanState(weiQuanOrder.getState()); + order.setState(CommonOrder.STATE_WQ); + TaoBaoWeiQuanDrawBack drawBack = taoBaoWeiQuanDrawBackService.selectByOrderItemIdAndUid( + weiQuanOrder.getOrderItemId(), Long.parseLong(order.getUserId())); + if (drawBack != null) {// 宸茬粡閫�娆� - @RequestMapping(value = "uploadTaoBaoWeiQuanOrder") - public void uploadWeiQuanOrder(String callback, HttpServletRequest request, PrintWriter out) { - try { - // 1. 鍏堝垽鏂環ttpRequest 鏄惁鍚湁鏂囦欢绫诲瀷 - if (request instanceof MultipartHttpServletRequest) { - MultipartHttpServletRequest fileRequest = (MultipartHttpServletRequest) request; - MultipartFile file = fileRequest.getFile("file"); - List<TaoBaoWeiQuanOrder> orderList = TaoBaoOrderUtil.getWeiQuanOrders(file.getInputStream()); - for (TaoBaoWeiQuanOrder order : orderList) - taoBaoWeiQuanOrderService.addWeiQuanOrder(order);// 娣诲姞缁存潈璁㈠崟鍒版暟鎹簱 - // 澶勭悊缁存潈璁㈠崟 - orderProcessService.weiQuanOrder(orderList); - } - JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult("鏇存柊鎴愬姛")); - } catch (Exception e) { - JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鏇存柊澶辫触")); - } - } - - - @RequestMapping(value = "countOrderInfo") - public void countOrderInfo(String callback, Long uid, PrintWriter out) { - JSONObject data = new JSONObject(); - - /* --------- 鏈湀绱 ------------*/ - JSONObject month = new JSONObject(); - // 鑷喘宸插埌璐� - month.put("selfNumEnd", hongBaoV2CountService.countOrderByCashArrival(uid, null, 1, 1)); - // 鍒嗕韩宸插埌璐� - month.put("shareNumEnd", hongBaoV2CountService.countOrderByCashArrival(uid, null, 2, 1)); - // 閭�璇峰凡鍒拌处 - month.put("inviteNumEnd", hongBaoV2CountService.countOrderByCashArrival(uid, null, 3, 1)); - // 鑷喘鏈埌璐� - month.put("selfNum", hongBaoV2CountService.countOrderByCashNotArrival(uid, null, 1, 1)); - // 鍒嗕韩鏈埌璐� - month.put("shareNum", hongBaoV2CountService.countOrderByCashNotArrival(uid, null, 2, 1)); - // 閭�璇锋湭鍒拌处 - month.put("inviteNum", hongBaoV2CountService.countOrderByCashNotArrival(uid, null, 3, 1)); - data.put("month", month); - - - /* --------- 鍘嗗彶绱 ------------*/ - JSONObject history = new JSONObject(); - // 鑷喘宸插埌璐� - history.put("selfNumEnd", hongBaoV2CountService.countOrderByCashArrival(uid, null, 1, null)); - // 鍒嗕韩宸插埌璐� - history.put("shareNumEnd", hongBaoV2CountService.countOrderByCashArrival(uid, null, 2, null)); - // 閭�璇峰凡鍒拌处 - history.put("inviteNumEnd", hongBaoV2CountService.countOrderByCashArrival(uid, null, 3, null)); - // 鑷喘鏈埌璐� - history.put("selfNum", hongBaoV2CountService.countOrderByCashNotArrival(uid, null, 1, null)); - // 鍒嗕韩鏈埌璐� - history.put("shareNum", hongBaoV2CountService.countOrderByCashNotArrival(uid, null, 2, null)); - // 閭�璇锋湭鍒拌处 - history.put("inviteNum", hongBaoV2CountService.countOrderByCashNotArrival(uid, null, 3, null)); - data.put("history", history); - - - /* --------- 浠樻閲戦澶т簬1 ------------*/ - // 鑷喘宸插埌璐� - long selfAccountEnd = hongBaoV2CountService.countMyDirectOrderByCashArrival(uid, Constant.VIP_ORDER_PAY, 1); - // 鍒嗕韩宸插埌璐� - long shareAccountEnd = hongBaoV2CountService.countMyDirectOrderByCashArrival(uid, Constant.VIP_ORDER_PAY, 2); - // 鑷喘鏈埌璐� - long selfAccount = hongBaoV2CountService.countOrderByCashNotArrival(uid, Constant.VIP_ORDER_PAY, 1, null); - // 鍒嗕韩鏈埌璐� - long shareAccount = hongBaoV2CountService.countOrderByCashNotArrival(uid, Constant.VIP_ORDER_PAY, 2, null); - data.put("selfAccountEnd", selfAccountEnd); - data.put("shareAccountEnd", shareAccountEnd); - data.put("selfAccount", selfAccount); - data.put("shareAccount", shareAccount); - JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(data)); - } - + // 璁$畻閫�娆捐祫閲� + UserMoneyDetail detail = null; + switch (order.getHongBaoType()) { + case 1: + detail = userMoneyDetailService.selectByTypeAndUidAndIdentifyCode( + UserMoneyDetailTypeEnum.fanliWeiQuan, Long.parseLong(order.getUserId()), + drawBack.getId()); + if (detail == null) + detail = userMoneyDetailService.selectByTypeAndUidAndIdentifyCode( + UserMoneyDetailTypeEnum.weiQuan, Long.parseLong(order.getUserId()), + drawBack.getId()); + break; + case 3: + detail = userMoneyDetailService.selectByTypeAndUidAndIdentifyCode( + UserMoneyDetailTypeEnum.inviteWeiQuan, Long.parseLong(order.getUserId()), + drawBack.getId()); + break; + case 2: + detail = userMoneyDetailService.selectByTypeAndUidAndIdentifyCode( + UserMoneyDetailTypeEnum.shareWeiQuan, Long.parseLong(order.getUserId()), + drawBack.getId()); + break; + } + if (detail != null) { + // 閫�娆炬垚鍔� + order.setWeiQuanBackMoney(detail.getMoney().abs().toString()); + } else {// 灏氭湭閫�娆� + order.setWeiQuanBackMoney(drawBack.getDrawBackMoney().toString()); + // 鏌ヨ鍑哄搴旂殑hongBaoId + CommonOrder commonOrder = commonOrderService.selectBySourceTypeAndTradeId( + Constant.SOURCE_TYPE_TAOBAO, drawBack.getOrderItemId()); + if (commonOrder != null) { + HongBaoOrder hongBaoOrder = hongBaoOrderService + .selectDetailByCommonOrderId(commonOrder.getId()); + if (hongBaoOrder != null) { + UserMoneyDebt debt = userMoneyDebtService.selectByTypeAndSourceId( + UserMoneyDebtTypeEnum.order, hongBaoOrder.getHongBaoV2().getId()); + if (debt != null && debt.getLeftMoney().compareTo(new BigDecimal(0)) > 0) { + order.setWeiQuanBackMoney( + new BigDecimal(0).subtract(debt.getLeftMoney()).toString());// 鏈墸闄� + } + } + } + } + + } else {// 灏氭湭閫�娆� + UserOrderWeiQuanRecord record = userOrderWeiQuanRecordService.selectByOrderInfoAndUid( + Long.parseLong(order.getUserId()), weiQuanOrder.getOrderItemId(), + Constant.SOURCE_TYPE_TAOBAO); + if (record != null) + order.setWeiQuanBackMoney("-" + record.getMoney()); + else { + order.setWeiQuanBackMoney("-" + order.getHongBao()); + } + } + } + } + + int totalPage = (int) (count % pageSize == 0 ? count / pageSize : count / pageSize + 1); + PageEntity pe = new PageEntity(pageIndex, pageSize, count, totalPage); + + JSONObject data = new JSONObject(); + data.put("pe", pe); + data.put("result_list", list); + JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(data)); + } catch (CommonOrderException e) { + JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult(e.getMsg())); + } catch (Exception e) { + JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鏌ヨ澶辫触")); + e.printStackTrace(); + } + } + + /** + * 鏌ヨ璁㈠崟鍒楄〃鐢ㄦ埛uid + * + * @param callback + * @param pageIndex + * @param pageSize + * @param uid + * @param state + * @param type + * @param orderState + * @param orderNo + * @param startTime + * @param endTime + * @param out + */ + @RequestMapping(value = "getHistoryOrder") + public void getHistoryOrder(AdminAcceptData acceptData, String callback, Integer pageIndex, Integer pageSize, Long uid, Integer state, + Integer type, Integer orderState, String orderNo, String startTime, String endTime, PrintWriter out) { + + if (uid == null) { + JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("uid涓嶈兘涓虹┖")); + return; + } + + if (pageIndex == null || pageIndex < 1) { + pageIndex = 1; + } + + if (pageSize == null) + pageSize = Constant.PAGE_SIZE; + + if (state != null && state == 0) { + state = null;// 鎵�鏈夌姸鎬� + } + + if (type != null && type == 0) { + type = null; // 鎵�鏈夌被鍨嬭鍗� + } + + if (endTime != null && endTime.trim().length() > 0) { + endTime += " 23:59:59"; + } + + try { + long count = 0; + + // 鏌ヨ鍒楄〃 + List<CommonOrderVO> list = commonOrderService.listQueryByUid((pageIndex - 1) * pageSize, pageSize, uid, + state, type, orderState, orderNo, startTime, endTime, null); + + if (list != null && list.size() > 0) { + // 缁熻鎬绘暟 + count = commonOrderService.countQueryByUid(uid, state, type, orderState, orderNo, startTime, endTime, + null); + } + + int totalPage = (int) (count % pageSize == 0 ? count / pageSize : count / pageSize + 1); + PageEntity pe = new PageEntity(pageIndex, pageSize, count, totalPage); + + JSONObject data = new JSONObject(); + data.put("pe", pe); + data.put("result_list", list); + + JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(data)); + + } catch (CommonOrderException e) { + JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult(e.getMsg())); + } catch (Exception e) { + JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鏌ヨ澶辫触")); + e.printStackTrace(); + } + } + + + /** + * 褰撳墠鏈敹璐ц鍗曟暟 + * + * @param callback + * @param type 璁㈠崟鐘舵��-鏆傛湭浣跨敤 + * @param out + */ + @RequestMapping(value = "getHistoryUnreceived") + public void getHistoryUnreceived(AdminAcceptData acceptData, String callback, Integer type, PrintWriter out) { + try { + + Long total = commonOrderCountService.countByState(1); + if (total == null) { + total = 0L; + } + JSONObject data = new JSONObject(); + data.put("total", total); + JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(data)); + } catch (Exception e) { + JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鎿嶄綔寮傚父")); + e.printStackTrace(); + } + } + + + @RequestMapping(value = "uploadTaoBaoWeiQuanOrder") + public void uploadWeiQuanOrder(AdminAcceptData acceptData, String callback, HttpServletRequest request, PrintWriter out) { + try { + // 1. 鍏堝垽鏂環ttpRequest 鏄惁鍚湁鏂囦欢绫诲瀷 + if (request instanceof MultipartHttpServletRequest) { + MultipartHttpServletRequest fileRequest = (MultipartHttpServletRequest) request; + MultipartFile file = fileRequest.getFile("file"); + List<TaoBaoWeiQuanOrder> orderList = TaoBaoOrderUtil.getWeiQuanOrders(file.getInputStream()); + for (TaoBaoWeiQuanOrder order : orderList) + taoBaoWeiQuanOrderService.addWeiQuanOrder(order);// 娣诲姞缁存潈璁㈠崟鍒版暟鎹簱 + // 澶勭悊缁存潈璁㈠崟 + orderProcessService.weiQuanOrder(orderList); + } + JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult("鏇存柊鎴愬姛")); + } catch (Exception e) { + JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鏇存柊澶辫触")); + } + } + + + @RequestMapping(value = "countOrderInfo") + public void countOrderInfo(AdminAcceptData acceptData, String callback, Long uid, PrintWriter out) { + JSONObject data = new JSONObject(); + + /* --------- 鏈湀绱 ------------*/ + JSONObject month = new JSONObject(); + // 鑷喘宸插埌璐� + month.put("selfNumEnd", hongBaoV2CountService.countOrderByCashArrival(uid, null, 1, 1)); + // 鍒嗕韩宸插埌璐� + month.put("shareNumEnd", hongBaoV2CountService.countOrderByCashArrival(uid, null, 2, 1)); + // 閭�璇峰凡鍒拌处 + month.put("inviteNumEnd", hongBaoV2CountService.countOrderByCashArrival(uid, null, 3, 1)); + // 鑷喘鏈埌璐� + month.put("selfNum", hongBaoV2CountService.countOrderByCashNotArrival(uid, null, 1, 1)); + // 鍒嗕韩鏈埌璐� + month.put("shareNum", hongBaoV2CountService.countOrderByCashNotArrival(uid, null, 2, 1)); + // 閭�璇锋湭鍒拌处 + month.put("inviteNum", hongBaoV2CountService.countOrderByCashNotArrival(uid, null, 3, 1)); + data.put("month", month); + + + /* --------- 鍘嗗彶绱 ------------*/ + JSONObject history = new JSONObject(); + // 鑷喘宸插埌璐� + history.put("selfNumEnd", hongBaoV2CountService.countOrderByCashArrival(uid, null, 1, null)); + // 鍒嗕韩宸插埌璐� + history.put("shareNumEnd", hongBaoV2CountService.countOrderByCashArrival(uid, null, 2, null)); + // 閭�璇峰凡鍒拌处 + history.put("inviteNumEnd", hongBaoV2CountService.countOrderByCashArrival(uid, null, 3, null)); + // 鑷喘鏈埌璐� + history.put("selfNum", hongBaoV2CountService.countOrderByCashNotArrival(uid, null, 1, null)); + // 鍒嗕韩鏈埌璐� + history.put("shareNum", hongBaoV2CountService.countOrderByCashNotArrival(uid, null, 2, null)); + // 閭�璇锋湭鍒拌处 + history.put("inviteNum", hongBaoV2CountService.countOrderByCashNotArrival(uid, null, 3, null)); + data.put("history", history); + + + /* --------- 浠樻閲戦澶т簬1 ------------*/ + // 鑷喘宸插埌璐� + long selfAccountEnd = hongBaoV2CountService.countMyDirectOrderByCashArrival(uid, Constant.VIP_ORDER_PAY, 1); + // 鍒嗕韩宸插埌璐� + long shareAccountEnd = hongBaoV2CountService.countMyDirectOrderByCashArrival(uid, Constant.VIP_ORDER_PAY, 2); + // 鑷喘鏈埌璐� + long selfAccount = hongBaoV2CountService.countOrderByCashNotArrival(uid, Constant.VIP_ORDER_PAY, 1, null); + // 鍒嗕韩鏈埌璐� + long shareAccount = hongBaoV2CountService.countOrderByCashNotArrival(uid, Constant.VIP_ORDER_PAY, 2, null); + data.put("selfAccountEnd", selfAccountEnd); + data.put("shareAccountEnd", shareAccountEnd); + data.put("selfAccount", selfAccount); + data.put("shareAccount", shareAccount); + JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(data)); + } + } -- Gitblit v1.8.0