| | |
| | | import com.yeshi.fanli.entity.bus.user.UserInfo;
|
| | | 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.order.CommonOrderService;
|
| | | import com.yeshi.fanli.service.inter.user.UserInfoService;
|
| | | import com.yeshi.fanli.util.account.UserUtil;
|
| | |
| | |
|
| | | @Resource
|
| | | private CommonOrderService commonOrderService;
|
| | | |
| | | @Resource
|
| | | private HongBaoV2CountService hongBaoV2CountService;
|
| | |
|
| | | /**
|
| | | * 订单列表
|
| | | * @param acceptData
|
| | | * @param page
|
| | | * @param uid
|
| | | * @param state 状态:1-未到账 3-已到账 4-已失效
|
| | | * @param state 状态:1-未到账 2-已到账 3-已失效
|
| | | * @param type 类型:1-返利订单 2-分享订单 3-邀请订单
|
| | | * @param orderNo 订单号 |
| | | * @param orderState 1有效订单 2 维权订单 3失效订单
|
| | | * @param orderNo 订单号 |
| | | * @param startTime 起始时间
|
| | | * @param endTime 结束时间
|
| | | * @param slotTime 时间段:1-最近三天 2-最近七天 3最近半月 4本月 5近三月 6近半年
|
| | | * @param dateType 1-今日 2-昨天 3-本月 4-上个月 |
|
| | | * @param needCount
|
| | | * @param out
|
| | | */
|
| | | @RequestMapping(value = "getorder", method = RequestMethod.POST)
|
| | | public void getOrder(AcceptData acceptData, Long page, Long uid, Integer state, Integer type, String orderNo, |
| | | String startTime, String endTime, Integer slotTime, boolean needCount, PrintWriter out) {
|
| | | public void getOrder(AcceptData acceptData, Integer page, Long uid, Integer state, Integer type, |
| | | Integer orderState,String orderNo, String startTime, String endTime, Integer slotTime,
|
| | | boolean needCount, Integer dateType, PrintWriter out) {
|
| | |
|
| | | if (uid == null) {
|
| | | out.print(JsonUtil.loadFalseResult(1, "用户未登录"));
|
| | |
| | | }
|
| | |
|
| | | if (page == null || page < 1) {
|
| | | page = 1L;
|
| | | page = 1;
|
| | | }
|
| | |
|
| | | if (state !=null && state == 0) {
|
| | | state = null;
|
| | | if (state != null && state == 0) {
|
| | | state = null;// 所有状态
|
| | | }
|
| | |
|
| | | if (type != null && type == 0 ) {
|
| | | type = null; // 查询所有类型订单
|
| | | type = null; // 所有类型订单
|
| | | }
|
| | |
|
| | | try {
|
| | | if (slotTime != null) {
|
| | | SimpleDateFormat sd = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
|
| | | startTime = sd.format(new Date());
|
| | | endTime = convertDate(slotTime, startTime);
|
| | | SimpleDateFormat sd = new SimpleDateFormat("yyyy-MM-dd");
|
| | | endTime= sd.format(new Date());
|
| | | startTime = convertDate(slotTime, endTime);
|
| | | }
|
| | | } catch (Exception e) {
|
| | | e.printStackTrace();
|
| | | }
|
| | |
|
| | | if (endTime != null && endTime.trim().length() > 0) {
|
| | | endTime += " 23:59:59";
|
| | | }
|
| | | |
| | | try {
|
| | | long count = 0;
|
| | | List<CommonOrderVO> list = commonOrderService.getOrderByUid(page, uid, state, type, orderNo,
|
| | | startTime, endTime);
|
| | | |
| | | if (list != null && list.size() > 0) {
|
| | | count = commonOrderService.countGroupOrderNoByUid(uid, state, type, orderNo, startTime, endTime);
|
| | | }
|
| | | |
| | | int totalValid = 0;
|
| | | int totalProces = 0;
|
| | | int totalInvite = 0;
|
| | | long todayTotal = 0;
|
| | | BigDecimal todayMoney = null;
|
| | | // 需要统计信息
|
| | | |
| | | |
| | | // 查询列表
|
| | | List<CommonOrderVO> list = commonOrderService.getOrderByUid(page, uid, state, type, orderState,
|
| | | orderNo, startTime, endTime, dateType);
|
| | | |
| | | if (list != null && list.size() > 0) {
|
| | | // 统计总数
|
| | | count = commonOrderService.countGroupOrderNoByUid(uid, state, type, orderState, orderNo, |
| | | startTime, endTime, dateType);
|
| | | }
|
| | | |
| | | // 需要统计筛选信息 :未失效的总金额 以及订单
|
| | | if (needCount && page == 1) {
|
| | | Map<String, BigDecimal> countOrder = commonOrderService.countByUidAndOrderState(uid, type, startTime, endTime);
|
| | | |
| | | todayMoney = commonOrderService.countBonusOrderMoney(uid, type, dateType, startTime, endTime);
|
| | | |
| | | todayTotal = commonOrderService.countBonusOrderNumber(uid, type, dateType, startTime, endTime);
|
| | | |
| | | |
| | | // 统计有效的订单数量 、 失效订单数量 、维权订单数量
|
| | | Map<String, BigDecimal> countOrder = commonOrderService.countByUidAndOrderState(uid, type, |
| | | startTime, endTime, dateType);
|
| | |
|
| | | if (countOrder.get("totalValid") != null) {
|
| | | totalValid = countOrder.get("totalValid").intValue();
|
| | |
| | | if (countOrder.get("totalInvite") != null) {
|
| | | totalInvite = countOrder.get("totalInvite").intValue();
|
| | | }
|
| | | |
| | | todayTotal = commonOrderService.countOrder(uid, 1);
|
| | | todayMoney = commonOrderService.countOrderMoney(uid, 1);
|
| | | }
|
| | | |
| | | |
| | | if (todayMoney == null) {
|
| | | todayMoney = new BigDecimal(0);
|
| | | todayMoney = new BigDecimal(0.00);
|
| | | }
|
| | | |
| | |
|
| | | String helpUrl = configService.get("order_list_help");
|
| | |
|
| | |
| | |
|
| | | data.put("helpUrl", helpUrl);
|
| | |
|
| | | data.put("todayTotal", todayTotal);
|
| | | data.put("todayMoney", todayMoney);
|
| | | if (type != null && type == 1) {
|
| | | data.put("todayMoney", "预估返利总额 ¥" + todayMoney.setScale(2, BigDecimal.ROUND_DOWN).toString());
|
| | | } else if (type != null &&(type == 2 || type == 3)) {
|
| | | data.put("todayMoney", "预估奖金总额 ¥" + todayMoney.setScale(2, BigDecimal.ROUND_DOWN).toString());
|
| | | } else {
|
| | | data.put("todayMoney", "预估总额 ¥" + todayMoney.setScale(2, BigDecimal.ROUND_DOWN).toString());
|
| | | }
|
| | | |
| | | data.put("todayTotal", "共"+ todayTotal+ "笔");
|
| | | data.put("totalValid", totalValid); // 有效数量
|
| | | data.put("totalProces", totalProces); // 维权数量
|
| | | data.put("totalInvite", totalInvite); // 失效数量
|
| | |
| | | data.put("userInfo", userInfo);
|
| | |
|
| | | /* 总订单统计 */
|
| | | Map<String, BigDecimal> countOrder= commonOrderService.countOrderByHongBaoType(uid, null);
|
| | | Map<String, BigDecimal> countOrder= commonOrderService.countHistoryOrder(uid, null);
|
| | | int self = 0;
|
| | | if (countOrder.get("totalSelf") != null) {
|
| | | self = countOrder.get("totalSelf").intValue();
|
| | |
| | | data.put("invite", invite);
|
| | |
|
| | | /* 今日订单统计 */
|
| | | Map<String, BigDecimal> countToday= commonOrderService.countOrderByHongBaoType(uid, 1);
|
| | | Map<String, BigDecimal> countToday= commonOrderService.countHistoryOrder(uid, 1);
|
| | |
|
| | | int todaySelf = 0;
|
| | | if (countToday.get("totalSelf") != null) {
|
| | |
| | | data.put("today", todaydata);
|
| | |
|
| | | /* 昨日订单统计 */
|
| | | Map<String, BigDecimal> countYesterday= commonOrderService.countOrderByHongBaoType(uid, 2);
|
| | | Map<String, BigDecimal> countYesterday= commonOrderService.countHistoryOrder(uid, 2);
|
| | | int yesterdaySelf = 0;
|
| | | if (countYesterday.get("totalSelf") != null) {
|
| | | yesterdaySelf = countYesterday.get("totalSelf").intValue();
|
| | |
| | | }
|
| | |
|
| | | /**
|
| | | * 统计今日订单收入 以及订单数量
|
| | | * 统计奖金
|
| | | * @param acceptData
|
| | | * @param uid
|
| | | * @param out
|
| | | */
|
| | | @RequestMapping(value = "countToday", method = RequestMethod.POST)
|
| | | public void countToday(AcceptData acceptData, Long uid, PrintWriter out) {
|
| | | @RequestMapping(value = "countBonus", method = RequestMethod.POST)
|
| | | public void countBonus(AcceptData acceptData, Long uid, Integer dateType, PrintWriter out) {
|
| | |
|
| | | if (uid == null) {
|
| | | out.print(JsonUtil.loadFalseResult(1, "用户未登录"));
|
| | |
| | | }
|
| | |
|
| | | try {
|
| | | long count = commonOrderService.countOrder(uid, 1);
|
| | | BigDecimal money = commonOrderService.countOrderMoney(uid, 1);
|
| | |
|
| | | if (money == null) {
|
| | | money = new BigDecimal(0);
|
| | | Object shareCount = 0;
|
| | | BigDecimal sharemoney = new BigDecimal(0.00);
|
| | | Object inviteCount = 0;
|
| | | BigDecimal inviteMoney = new BigDecimal(0.00);
|
| | | |
| | | Map<String, Object> shareMap = commonOrderService.countBonusOrderMoneyAndNumber(uid, 2 , dateType, null, null);
|
| | | if (shareMap != null) {
|
| | | Object totalNum = shareMap.get("totalNum");
|
| | | if (totalNum != null) {
|
| | | shareCount = totalNum;
|
| | | }
|
| | | |
| | | Object totalmoney = shareMap.get("totalmoney");
|
| | | if (totalmoney != null) {
|
| | | sharemoney = (BigDecimal) totalmoney;
|
| | | }
|
| | | }
|
| | |
|
| | | // 邀请统计
|
| | | Map<String, Object> inviteMap = commonOrderService.countBonusOrderMoneyAndNumber(uid, 3 , dateType, null, null);
|
| | | if (inviteMap != null) {
|
| | | Object totalNum = inviteMap.get("totalNum");
|
| | | if (totalNum != null) {
|
| | | inviteCount = totalNum;
|
| | | }
|
| | | |
| | | Object totalmoney = inviteMap.get("totalmoney");
|
| | | if (totalmoney != null) {
|
| | | inviteMoney = (BigDecimal) totalmoney;
|
| | | }
|
| | | }
|
| | | |
| | | |
| | | JSONObject data = new JSONObject();
|
| | | data.put("count", count);
|
| | | data.put("money", money);
|
| | | data.put("shareCount", shareCount);
|
| | | data.put("sharemoney", sharemoney.setScale(2, BigDecimal.ROUND_DOWN).toString());
|
| | | data.put("inviteCount", inviteCount);
|
| | | data.put("inviteMoney", inviteMoney.setScale(2, BigDecimal.ROUND_DOWN).toString());
|
| | | |
| | | data.put("showTiCheng", hongBaoV2CountService.getTotalTiChengCount(uid) > 0);
|
| | | out.print(JsonUtil.loadTrueResult(data));
|
| | |
|
| | | } catch (Exception e) {
|
| | | out.print(JsonUtil.loadFalseResult(1, "获取信息失败"));
|
| | | e.printStackTrace();
|
| | | }
|
| | | |
| | | }
|
| | |
|
| | |
|
| | |
| | | * @return
|
| | | * @throws Exception
|
| | | */
|
| | | public String convertDate (Integer slotTime, String startTime) throws Exception {
|
| | | String endTime = null;
|
| | | public String convertDate (Integer slotTime, String endTime) throws Exception {
|
| | | String startTime = null;
|
| | |
|
| | | switch (slotTime) {
|
| | | case 1: // 最近三天
|
| | | endTime = DateUtil.plusDay(3, startTime);
|
| | | startTime = DateUtil.reduceDay(2, endTime);
|
| | | break;
|
| | | case 2: // 最近七天
|
| | | endTime = DateUtil.plusDay(7, startTime);
|
| | | startTime = DateUtil.reduceDay(6, endTime);
|
| | | break;
|
| | | case 3: // 最近15天 (半月)
|
| | | endTime = DateUtil.plusDay(15, startTime);
|
| | | startTime = DateUtil.reduceDay(14, endTime);
|
| | | break;
|
| | | case 4: // 最近三十天 (本月)
|
| | | endTime = DateUtil.plusDay(30, startTime);
|
| | | startTime = DateUtil.reduceDay(29, endTime);
|
| | | break;
|
| | | case 5: // 最近九十天(近三月)
|
| | | endTime = DateUtil.plusDay(3*30, startTime);
|
| | | startTime = DateUtil.reduceDay(3*30-1, endTime);
|
| | | break;
|
| | | case 6: // 最近一百八十天(近半年)
|
| | | endTime = DateUtil.plusDay(6*30, startTime);
|
| | | startTime = DateUtil.reduceDay(6*30-1, endTime);
|
| | | break;
|
| | | default:
|
| | | break;
|
| | | }
|
| | |
|
| | | return endTime;
|
| | | return startTime;
|
| | | }
|
| | | }
|