| | |
| | | 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.dto.ChartTDO; |
| | | import com.yeshi.fanli.dto.common.CategoryInfoDTO; |
| | | import com.yeshi.fanli.entity.bus.user.HongBaoV2; |
| | | import com.yeshi.fanli.entity.goods.CommonGoods; |
| | | 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.CommonOrderGoods; |
| | | 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.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.goods.CommonGoodsService; |
| | | 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; |
| | |
| | | |
| | | @Resource |
| | | private UserOrderWeiQuanRecordService userOrderWeiQuanRecordService; |
| | | |
| | | @Resource |
| | | private CommonGoodsService commonGoodsService; |
| | | |
| | | /** |
| | | * 统计历史订单-淘宝订单 |
| | |
| | | |
| | | 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(); |
| | |
| | | long count = commonOrderService.countQuery(keyType, key, state, type, orderState, startTime, endTime, |
| | | sourceType, listShopId, listGoodsId, minTime, money, payment); |
| | | |
| | | // 查询是否维权 |
| | | 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; |
| | | |
| | |
| | | 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) { |
| | |
| | | } |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | /** |
| | | * 统计提现申请总金额 |
| | | * |
| | | * @param callback |
| | | * @param channelArray |
| | | * 渠道名 为空是统计所有 |
| | | * @param dateType |
| | | * 显示视图:日-1 、月-2、 年-3 |
| | | * @param state |
| | | * 状态: 1-未到账 2-已到账 3-已失效 |
| | | * @param year |
| | | * @param startTime |
| | | * @param endTime |
| | | * @param out |
| | | */ |
| | | @RequestMapping(value = "getHongBaoMoney") |
| | | public void getHongBaoMoney(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, 2); |
| | | JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(data)); |
| | | } catch (Exception e) { |
| | | JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("系统异常")); |
| | | e.printStackTrace(); |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * 统计红包信息 |
| | | * |
| | | * @param channelArray |
| | | * @param dateType |
| | | * @param state |
| | | * @param year |
| | | * @param startTime |
| | | * @param endTime |
| | | * @return |
| | | * @throws Exception |
| | | */ |
| | | 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; |
| | | } |
| | | |
| | | 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; |
| | | } |
| | | |
| | | 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<ChartTDO> list = null; |
| | | if (countType == 1) { |
| | | list = hongBaoV2CountService.countHongBaoNum(channel, dateType, state, year, startTime, endTime); |
| | | } else if (countType == 2) { |
| | | list = hongBaoV2CountService.countHongBaoMoney(channel, dateType, state, 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); |
| | | return data; |
| | | } |
| | | |
| | | /** |
| | | * 分类型订单数与比例 |
| | | * |
| | | * @param callback |
| | | * @param dateType |
| | | * 日 -1 月-2 年-3 |
| | | * @param type |
| | | * 返利订单-1 分享订单-2 邀请订单-3 |
| | | * @param year |
| | | * @param startTime |
| | | * @param endTime |
| | | * @param out |
| | | */ |
| | | @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)); |
| | | return; |
| | | } |
| | | |
| | | if (dateType != 1 && (!StringUtil.isNullOrEmpty(startTime) || !StringUtil.isNullOrEmpty(endTime))) { |
| | | startTime = null; |
| | | endTime = null; |
| | | } |
| | | |
| | | List<Integer> channelList = null; |
| | | if (typeArray != null && typeArray.trim().length() > 0) { |
| | | Gson gson = new Gson(); |
| | | channelList = gson.fromJson(typeArray, new TypeToken<ArrayList<Integer>>() { |
| | | }.getType()); |
| | | } |
| | | |
| | | if (channelList == null || channelList.size() == 0) { |
| | | JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("订单类型不能为空")); |
| | | return; |
| | | } |
| | | |
| | | 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; |
| | | } |
| | | |
| | | 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<ChartTDO> list = hongBaoV2CountService.countHongBaoType(dateType, type, year, startTime, endTime); |
| | | JSONObject innerList = new JSONObject(); |
| | | if (type == 1) { |
| | | innerList.put("name", "返利订单"); |
| | | } else if (type == 2) { |
| | | innerList.put("name", "分享订单"); |
| | | } else if (type == 3) { |
| | | 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(); |
| | | } |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 当前未收货订单数 |
| | |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * 维权订单数 |
| | | * |
| | | * @param callback |
| | | * @param dateType |
| | | * @param year |
| | | * @param startTime |
| | | * @param endTime |
| | | * @param out |
| | | */ |
| | | @RequestMapping(value = "getWeiQaunOrderNumber") |
| | | public void getWeiQaunOrderNumber(String callback, 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; |
| | | } |
| | | |
| | | try { |
| | | JSONObject data = countWeiQaunOrder(dateType, year, startTime, endTime, 1); |
| | | JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(data)); |
| | | } catch (Exception e) { |
| | | JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("系统异常")); |
| | | e.printStackTrace(); |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * 维权订单金额 |
| | | * |
| | | * @param callback |
| | | * @param dateType |
| | | * @param year |
| | | * @param startTime |
| | | * @param endTime |
| | | * @param out |
| | | */ |
| | | @RequestMapping(value = "getWeiQaunOrderMoney") |
| | | public void getWeiQaunOrderMoney(String callback, 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; |
| | | } |
| | | |
| | | try { |
| | | JSONObject data = countWeiQaunOrder(dateType, year, startTime, endTime, 2); |
| | | JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(data)); |
| | | } catch (Exception e) { |
| | | JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("系统异常")); |
| | | e.printStackTrace(); |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * 统计红包信息 |
| | | * |
| | | * @param channelArray |
| | | * @param dateType |
| | | * @param state |
| | | * @param year |
| | | * @param startTime |
| | | * @param endTime |
| | | * @return |
| | | * @throws Exception |
| | | */ |
| | | public JSONObject countWeiQaunOrder(Integer dateType, String year, String startTime, String endTime, int countType) |
| | | throws Exception { |
| | | |
| | | 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; |
| | | } |
| | | |
| | | Gson gson = new Gson(); |
| | | Object objectDate = null; |
| | | List<String> dateList = AdminUtils.getDateList(dateType, startTime, endTime, year); |
| | | |
| | | JSONArray line_list = new JSONArray(); |
| | | List<ChartTDO> list = null; |
| | | if (countType == 1) { |
| | | list = commonOrderCountService.countWeiQaunOrderNumber(dateType, year, startTime, endTime); |
| | | } else if (countType == 2) { |
| | | list = commonOrderCountService.countWeiQaunOrderMoney(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); |
| | | |
| | | return data; |
| | | } |
| | | |
| | | |
| | | |
| | | @RequestMapping(value = "uploadTaoBaoWeiQuanOrder") |
| | | public void uploadWeiQuanOrder(String callback, HttpServletRequest request, PrintWriter out) { |
| | |
| | | JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("更新失败")); |
| | | } |
| | | } |
| | | |
| | | |
| | | |
| | | } |