From 573c491b4a1ba60e12a5678a01c1546c0077c1ee Mon Sep 17 00:00:00 2001 From: admin <weikou2014> Date: 星期二, 30 七月 2019 09:07:42 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- fanli/src/main/java/com/yeshi/fanli/controller/admin/OrderAdminController.java | 69 +++++++++++++++++++++++++++++----- 1 files changed, 59 insertions(+), 10 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 3ef6f94..ecdd9c6 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 @@ -1,6 +1,7 @@ package com.yeshi.fanli.controller.admin; import java.io.PrintWriter; +import java.math.BigDecimal; import java.util.ArrayList; import java.util.List; import java.util.Map; @@ -10,22 +11,29 @@ import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.multipart.MultipartFile; +import org.springframework.web.multipart.MultipartHttpServletRequest; import org.yeshi.utils.JsonUtil; import com.google.gson.Gson; import com.google.gson.reflect.TypeToken; import com.yeshi.fanli.controller.admin.utils.AdminUtils; -import com.yeshi.fanli.entity.bus.user.HongBaoV2; +import com.yeshi.fanli.entity.money.UserMoneyDebt.UserMoneyDebtTypeEnum; +import com.yeshi.fanli.entity.money.UserMoneyDebt; import com.yeshi.fanli.entity.money.UserMoneyDetail; import com.yeshi.fanli.entity.money.UserMoneyDetail.UserMoneyDetailTypeEnum; import com.yeshi.fanli.entity.order.CommonOrder; +import com.yeshi.fanli.entity.order.HongBaoOrder; import com.yeshi.fanli.entity.taobao.TaoBaoWeiQuanDrawBack; import com.yeshi.fanli.entity.taobao.TaoBaoWeiQuanOrder; import com.yeshi.fanli.exception.order.CommonOrderException; import com.yeshi.fanli.service.inter.count.HongBaoV2CountService; import com.yeshi.fanli.service.inter.count.TaoBaoOrderCountService; +import com.yeshi.fanli.service.inter.money.UserMoneyDebtService; import com.yeshi.fanli.service.inter.order.CommonOrderCountService; 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.taobao.TaoBaoOrderService; import com.yeshi.fanli.service.inter.taobao.TaoBaoWeiQuanDrawBackService; @@ -34,6 +42,7 @@ import com.yeshi.fanli.tag.PageEntity; import com.yeshi.fanli.util.Constant; import com.yeshi.fanli.util.StringUtil; +import com.yeshi.fanli.util.taobao.TaoBaoOrderUtil; import com.yeshi.fanli.vo.order.CommonOrderVO; import net.sf.json.JSONArray; @@ -69,6 +78,15 @@ @Resource private UserMoneyDetailService userMoneyDetailService; + + @Resource + private OrderProcessService orderProcessService; + + @Resource + private HongBaoOrderService hongBaoOrderService; + + @Resource + private UserMoneyDebtService userMoneyDebtService; /** * 缁熻鍘嗗彶璁㈠崟-娣樺疂璁㈠崟 @@ -161,15 +179,16 @@ TaoBaoWeiQuanOrder weiQuanOrder = taoBaoWeiQuanOrderService.listByorderItemId(order.getTradeId()); if (weiQuanOrder != null)// 鏈夌淮鏉� { + order.setWeiQuanState(weiQuanOrder.getState()); order.setState(CommonOrder.STATE_WQ); TaoBaoWeiQuanDrawBack drawBack = taoBaoWeiQuanDrawBackService .selectByOrderItemId(weiQuanOrder.getOrderItemId()); if (drawBack != null) {// 宸茬粡閫�娆� - order.setWeiQuanState(weiQuanOrder.getState()); + // 璁$畻閫�娆捐祫閲� UserMoneyDetail detail = null; switch (order.getHongBaoType()) { - case HongBaoV2.TYPE_ZIGOU: + case 1: detail = userMoneyDetailService.selectByTypeAndUidAndIdentifyCode( UserMoneyDetailTypeEnum.fanliWeiQuan, Long.parseLong(order.getUserId()), drawBack.getId()); @@ -178,16 +197,12 @@ UserMoneyDetailTypeEnum.weiQuan, Long.parseLong(order.getUserId()), drawBack.getId()); break; - case HongBaoV2.TYPE_YIJI: - case HongBaoV2.TYPE_ERJI: - case HongBaoV2.TYPE_SHARE_YIJI: - case HongBaoV2.TYPE_SHARE_ERJI: + case 3: detail = userMoneyDetailService.selectByTypeAndUidAndIdentifyCode( UserMoneyDetailTypeEnum.inviteWeiQuan, Long.parseLong(order.getUserId()), drawBack.getId()); break; - - case HongBaoV2.TYPE_SHARE_GOODS: + case 2: detail = userMoneyDetailService.selectByTypeAndUidAndIdentifyCode( UserMoneyDetailTypeEnum.shareWeiQuan, Long.parseLong(order.getUserId()), drawBack.getId()); @@ -197,7 +212,22 @@ // 閫�娆炬垚鍔� order.setWeiQuanBackMoney(detail.getMoney().abs().toString()); } else {// 灏氭湭閫�娆� - order.setWeiQuanBackMoney("-" + order.getHongBao()); + 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 {// 灏氭湭閫�娆� @@ -940,4 +970,23 @@ return data; } + @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("鏇存柊澶辫触")); + } + } + } -- Gitblit v1.8.0