From ddf5db7d31af51fcf697eac0cee7dd46ff73bcc1 Mon Sep 17 00:00:00 2001 From: admin <2780501319@qq.com> Date: 星期二, 18 二月 2020 12:50:49 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/div' into div --- fanli/src/main/java/com/yeshi/fanli/controller/admin/OrderAdminController.java | 342 +++++++++++++------------------------------------------- 1 files changed, 81 insertions(+), 261 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 ecdd9c6..c0de37e 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 @@ -3,6 +3,7 @@ import java.io.PrintWriter; import java.math.BigDecimal; import java.util.ArrayList; +import java.util.Date; import java.util.List; import java.util.Map; @@ -18,27 +19,34 @@ import com.google.gson.Gson; import com.google.gson.reflect.TypeToken; import com.yeshi.fanli.controller.admin.utils.AdminUtils; -import com.yeshi.fanli.entity.money.UserMoneyDebt.UserMoneyDebtTypeEnum; +import com.yeshi.fanli.dto.ChartTDO; +import com.yeshi.fanli.entity.bus.user.HongBaoV2; import com.yeshi.fanli.entity.money.UserMoneyDebt; +import com.yeshi.fanli.entity.money.UserMoneyDebt.UserMoneyDebtTypeEnum; 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.order.UserOrderWeiQuanRecord; +import com.yeshi.fanli.entity.system.ConfigKeyEnum; 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.config.ConfigService; 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.money.UserMoneyDetailService; +import com.yeshi.fanli.service.inter.money.tb.TaoBaoWeiQuanDrawBackService; 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; -import com.yeshi.fanli.service.inter.taobao.TaoBaoWeiQuanOrderService; -import com.yeshi.fanli.service.inter.user.UserMoneyDetailService; +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.fanli.util.Constant; import com.yeshi.fanli.util.StringUtil; @@ -87,6 +95,15 @@ @Resource private UserMoneyDebtService userMoneyDebtService; + + @Resource + private UserSystemCouponRecordService userSystemCouponRecordService; + + @Resource + private ConfigService configService; + + @Resource + private UserOrderWeiQuanRecordService userOrderWeiQuanRecordService; /** * 缁熻鍘嗗彶璁㈠崟-娣樺疂璁㈠崟 @@ -140,7 +157,8 @@ */ @RequestMapping(value = "getUserOrderList") public void getUserOrderList(String callback, Integer pageIndex, Integer pageSize, Integer keyType, String key, - Integer state, Integer type, Integer orderState, String startTime, String endTime, PrintWriter out) { + Integer state, Integer type, Integer orderState, String startTime, String endTime, Integer sourceType, + Integer riskType, PrintWriter out) { if (pageIndex == null || pageIndex < 1) { pageIndex = 1; @@ -162,27 +180,58 @@ } try { - long count = 0; + 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 (riskType == 1) { + listGoodsId = commonOrderCountService.getSameGoodsOrderByUidAndHongBaoType(typeList, uid, + Integer.parseInt(configService.get(ConfigKeyEnum.adminMinSameGoodsOrderCount.getKey()))); + if (listGoodsId == null || listGoodsId.isEmpty()) { + JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鏆傛棤鍚屽晢鍝佽鍗�")); + return; + } + } else if (riskType == 2) { + listShopId = commonOrderCountService.getSameShopOrderByUidAndHongBaoType(typeList, uid, + Integer.parseInt(configService.get(ConfigKeyEnum.adminMinSameShopOrderCount.getKey()))); + 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); + } + } // 鏌ヨ鍒楄〃 List<CommonOrderVO> list = commonOrderService.listQuery((pageIndex - 1) * pageSize, pageSize, keyType, key, - state, type, orderState, startTime, endTime); + state, type, orderState, startTime, endTime, sourceType, listShopId, listGoodsId, minTime, money); - if (list != null && list.size() > 0) { - // 缁熻鎬绘暟 - count = commonOrderService.countQuery(keyType, key, state, type, orderState, startTime, endTime); - } + // 缁熻鎬绘暟 + long count = commonOrderService.countQuery(keyType, key, state, type, orderState, startTime, endTime, + sourceType, listShopId, listGoodsId, minTime, money); // 鏌ヨ鏄惁缁存潈 for (CommonOrderVO order : list) { + if (order.getUserId() == null) + continue; + // 鏌ヨ鏄惁缁存潈 TaoBaoWeiQuanOrder weiQuanOrder = taoBaoWeiQuanOrderService.listByorderItemId(order.getTradeId()); if (weiQuanOrder != null)// 鏈夌淮鏉� { order.setWeiQuanState(weiQuanOrder.getState()); order.setState(CommonOrder.STATE_WQ); - TaoBaoWeiQuanDrawBack drawBack = taoBaoWeiQuanDrawBackService - .selectByOrderItemId(weiQuanOrder.getOrderItemId()); + TaoBaoWeiQuanDrawBack drawBack = taoBaoWeiQuanDrawBackService.selectByOrderItemIdAndUid( + weiQuanOrder.getOrderItemId(), Long.parseLong(order.getUserId())); if (drawBack != null) {// 宸茬粡閫�娆� // 璁$畻閫�娆捐祫閲� @@ -224,14 +273,21 @@ UserMoneyDebtTypeEnum.order, hongBaoOrder.getHongBaoV2().getId()); if (debt != null && debt.getLeftMoney().compareTo(new BigDecimal(0)) > 0) { order.setWeiQuanBackMoney( - new BigDecimal(0).subtract(debt.getLeftMoney()).toString());//鏈墸闄� + new BigDecimal(0).subtract(debt.getLeftMoney()).toString());// 鏈墸闄� } } } } } else {// 灏氭湭閫�娆� - order.setWeiQuanBackMoney("-" + order.getHongBao()); + 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()); + } } } } @@ -326,156 +382,12 @@ } } - /** - * 缁熻鍘嗗彶娓犻亾浜х敓璁㈠崟鐨勯噾棰� - * - * @param callback - * @param channelArray - * 鍚嶅瓧鏁扮粍 - * @param type - * 缁熻绫诲瀷 1-24灏忔椂 2-鎵�鏈� - * @param dateType - * 绫诲瀷 1鏃� 2鏈� 3骞� - * @param year - * 2018 - * @param startTime - * 2018-12-01 - * @param endTime - * 2018-12-01 - * @param out - */ - @RequestMapping(value = "get24HOderChannelCharts") - public void get24HOderChannelCharts(String callback, String channelArray, Integer dateType, String year, - String startTime, String endTime, PrintWriter out) { - - String validateMsg = AdminUtils.validateParams(dateType, startTime, endTime); - if (validateMsg != null) { - JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult(validateMsg)); - return; - } - - if (dateType != 1 && (!StringUtil.isNullOrEmpty(startTime) || !StringUtil.isNullOrEmpty(endTime))) { - startTime = null; - endTime = null; - } - - List<String> channelList = null; - if (channelArray != null && channelArray.trim().length() > 0) { - Gson gson = new Gson(); - channelList = gson.fromJson(channelArray, new TypeToken<ArrayList<String>>() { - }.getType()); - } - - if (channelList == null || channelList.size() == 0) { - channelList = new ArrayList<String>(); - channelList.add("all"); - } - - if (dateType == 1 && year != null) { - year = null; // 璁剧疆涓虹┖ - } else if (dateType == 2) { - if (startTime != null) - startTime = null; - - if (endTime != null) - endTime = null; - - } else if (dateType == 3) { - if (year != null) - year = null; - - if (startTime != null) - startTime = null; - - if (endTime != null) - endTime = null; - } - - try { - - Gson gson = new Gson(); - Object objectDate = null; - List<String> dateList = AdminUtils.getDateList(dateType, startTime, endTime, year); - - JSONArray line_list = new JSONArray(); - - for (String channel : channelList) { - List<Map<String, Object>> list = hongBaoV2CountService.count24HOderByChannel(channel, dateType, year, - startTime, endTime); - - if ("all".equalsIgnoreCase(channel)) { - channel = "鎬昏"; - } - - JSONObject innerList = new JSONObject(); - innerList.put("name", channel); - - if (dateType != 3) { - innerList.put("data", gson.toJson(AdminUtils.dayOrMonthDataFactory(dateType, dateList, list))); - } else { - // 骞磋鍥� - Map<String, Object> map = AdminUtils.yearsDataFactory(list); - - if (objectDate == null) { - objectDate = map.get("date"); - } - innerList.put("data", gson.toJson(map.get("value"))); - } - - line_list.add(innerList); - } - - JSONObject data = new JSONObject(); - if (objectDate != null) { - data.put("xAxis_list", gson.toJson(objectDate)); - } else { - data.put("xAxis_list", gson.toJson(dateList)); - } - - data.put("line_list", line_list); - - JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(data)); - - } catch (Exception e) { - JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鎿嶄綔寮傚父")); - e.printStackTrace(); - } - } - - /** - * 缁熻鎻愮幇鐢宠鎬绘鏁� - * - * @param callback - * @param channelArray - * 娓犻亾鍚� 涓虹┖鏄粺璁℃墍鏈� - * @param dateType - * 鏄剧ず瑙嗗浘锛氭棩-1 銆佹湀-2銆� 骞�-3 - * @param state - * 鐘舵�侊細 1-鏈埌璐� 2-宸插埌璐� 3-宸插け鏁� - * @param year - * @param startTime - * @param endTime - * @param out - */ - @RequestMapping(value = "getHongBaoNum") - public void getHongBaoNum(String callback, String channelArray, Integer dateType, Integer state, String year, - String startTime, String endTime, PrintWriter out) { - - String validateMsg = AdminUtils.validateParams(dateType, startTime, endTime); - if (validateMsg != null) { - JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult(validateMsg)); - return; - } - - try { - JSONObject data = countHistoryHongBao(channelArray, dateType, state, year, startTime, endTime, 1); - JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(data)); - } catch (Exception e) { - JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("绯荤粺寮傚父")); - e.printStackTrace(); - } - } - + + + + + + /** * 缁熻鎻愮幇鐢宠鎬婚噾棰� * @@ -525,7 +437,6 @@ */ public JSONObject countHistoryHongBao(String channelArray, Integer dateType, Integer state, String year, String startTime, String endTime, int countType) throws Exception { - if (dateType != 1 && (!StringUtil.isNullOrEmpty(startTime) || !StringUtil.isNullOrEmpty(endTime))) { startTime = null; endTime = null; @@ -569,7 +480,7 @@ JSONArray line_list = new JSONArray(); for (String channel : channelList) { - List<Map<String, Object>> list = null; + List<ChartTDO> list = null; if (countType == 1) { list = hongBaoV2CountService.countHongBaoNum(channel, dateType, state, year, startTime, endTime); } else if (countType == 2) { @@ -594,7 +505,6 @@ } innerList.put("data", gson.toJson(map.get("value"))); } - line_list.add(innerList); } @@ -604,9 +514,7 @@ } else { data.put("xAxis_list", gson.toJson(dateList)); } - data.put("line_list", line_list); - return data; } @@ -626,7 +534,6 @@ @RequestMapping(value = "getTypeNumber") public void getTypeNumber(String callback, Integer dateType, String typeArray, String year, String startTime, String endTime, PrintWriter out) { - String validateMsg = AdminUtils.validateParams(dateType, startTime, endTime); if (validateMsg != null) { JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult(validateMsg)); @@ -673,15 +580,10 @@ Gson gson = new Gson(); Object objectDate = null; List<String> dateList = AdminUtils.getDateList(dateType, startTime, endTime, year); - try { - JSONArray line_list = new JSONArray(); for (Integer type : channelList) { - - List<Map<String, Object>> list = hongBaoV2CountService.countHongBaoType(dateType, type, year, startTime, - endTime); - + List<ChartTDO> list = hongBaoV2CountService.countHongBaoType(dateType, type, year, startTime, endTime); JSONObject innerList = new JSONObject(); if (type == 1) { innerList.put("name", "杩斿埄璁㈠崟"); @@ -723,88 +625,6 @@ } } - /** - * 璁㈠崟璺熻釜鍑嗙‘鐜�(杩斿埄鍒哥敤鎴疯鍗�/娣樺疂鑱旂洘璁㈠崟) - * - * @param callback - * @param dateType - * @param year - * @param startTime - * @param endTime - * @param out - */ - @RequestMapping(value = "getTrackAccuracyRate") - public void getTrackAccuracyRate(String callback, Integer dateType, String year, String startTime, String endTime, - PrintWriter out) { - - if (dateType != 1 && (!StringUtil.isNullOrEmpty(startTime) || !StringUtil.isNullOrEmpty(endTime))) { - startTime = null; - endTime = null; - } - - if (dateType == 1 && year != null) { - year = null; // 璁剧疆涓虹┖ - } else if (dateType == 2) { - if (startTime != null) - startTime = null; - - if (endTime != null) - endTime = null; - - } else if (dateType == 3) { - if (year != null) - year = null; - - if (startTime != null) - startTime = null; - - if (endTime != null) - endTime = null; - } - - try { - - Gson gson = new Gson(); - Object objectDate = null; - List<String> dateList = AdminUtils.getDateList(dateType, startTime, endTime, year); - - JSONArray line_list = new JSONArray(); - - List<Map<String, Object>> list = commonOrderCountService.getTrackAccuracyRate(dateType, year, startTime, - endTime); - - JSONObject innerList = new JSONObject(); - innerList.put("name", "鎬昏"); - - if (dateType != 3) { - innerList.put("data", gson.toJson(AdminUtils.dayOrMonthDataFactory(dateType, dateList, list))); - } else { - // 骞磋鍥� - Map<String, Object> map = AdminUtils.yearsDataFactory(list); - - if (objectDate == null) { - objectDate = map.get("date"); - } - innerList.put("data", gson.toJson(map.get("value"))); - } - - line_list.add(innerList); - - JSONObject data = new JSONObject(); - if (objectDate != null) { - data.put("xAxis_list", gson.toJson(objectDate)); - } else { - data.put("xAxis_list", gson.toJson(dateList)); - } - - data.put("line_list", line_list); - JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(data)); - - } catch (Exception e) { - JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鎿嶄綔寮傚父")); - e.printStackTrace(); - } - } /** * 褰撳墠鏈敹璐ц鍗曟暟 @@ -934,7 +754,7 @@ List<String> dateList = AdminUtils.getDateList(dateType, startTime, endTime, year); JSONArray line_list = new JSONArray(); - List<Map<String, Object>> list = null; + List<ChartTDO> list = null; if (countType == 1) { list = commonOrderCountService.countWeiQaunOrderNumber(dateType, year, startTime, endTime); } else if (countType == 2) { -- Gitblit v1.8.0