/** * 统计销售总量跟中奖金额 * * @return * @throws WebDataException */ public String stat() throws WebDataException { AdminUser adminUser = getAdminUser(); if (null == adminUser) { throw new WebDataException("你还没有登录!"); } String startDate = ""; String endDate = ""; if (StringUtils.isNotBlank(queryForm.getStartDate())) { startDate = queryForm.getStartDate(); } if (StringUtils.isNotBlank(queryForm.getEndDate())) { endDate = queryForm.getEndDate(); } List list = kenoService.moneyAnalye(startDate, endDate); HashMap result = new HashMap(); if (null != list && list.size() > 0) { result.put("totalSales", (BigDecimal) list.get(0)); result.put("totalHits", (BigDecimal) list.get(1)); result.put("success", true); } else { result.put("totalSales", "0"); result.put("totalHits", "0"); result.put("success", false); } Struts2Utils.renderJson(result); return null; }
/** * 暂停/启动销售 * * @return * @throws WebDataException */ public String pause() throws WebDataException { Map<String, Object> map = new HashMap<String, Object>(); try { AdminUser adminUser = getAdminUser(); if (null == adminUser) { throw new WebDataException("你还没有登录!"); } kenoService.pauseOrStartLottery(); pause = kenoService.findPauseOrStart(); String alertString = ""; if ("true".equals(pause)) { /// 停止了 alertString = "暂停"; addActionMessage("操作成功."); // 记录操作日志 eventLogManager.saveSimpleEventLog( null, getLottery(), adminUser, EventLogType.PauseSale, ""); } else if ("false".equals(pause)) { /// 启动了 alertString = "启动"; addActionMessage("操作成功."); // 记录操作日志 eventLogManager.saveSimpleEventLog( null, getLottery(), adminUser, EventLogType.ResumeSale, ""); } map.put("success", true); map.put("msg", alertString + "销售成功"); } catch (Exception e) { e.printStackTrace(); map.put("success", false); map.put("msg", "暂停/启动销售发生异常!"); } Struts2Utils.renderJson(map); return null; }
/** 强制出票 */ public String batchForcePrint() { Map<String, Object> map = new HashMap<String, Object>(); try { AdminUser adminUser = getAdminUser(); if (null == adminUser) { throw new WebDataException("你还没有登录!"); } if (this.id == null) { throw new DataException("方案ID不能为空."); } S s = kenoService.forcePrint(this.id); // 记录操作日志 eventLogManager.saveSimpleEventLog( null, getLottery(), adminUser, EventLogType.ForcePrint, "方案为ID:" + s.getId() + "方案号为+" + s.getSchemeNumber()); map.put("success", true); map.put("msg", "强制出票成功"); } catch (ServiceException e) { e.printStackTrace(); map.put("success", false); map.put("msg", e.getMessage()); } catch (Exception e) { e.printStackTrace(); map.put("success", false); map.put("msg", "强制出票发生异常!"); } Struts2Utils.renderJson(map); return null; }
/** * 设置全部结束 * * @return * @throws WebDataException */ public String setIssueClose() { Map<String, Object> map = new HashMap<String, Object>(); try { AdminUser adminUser = getAdminUser(); if (null == adminUser) { throw new WebDataException("你还没有登录!"); } if (this.id == null) { throw new DataException("期号ID不能为空."); } kenoService.updateIssueState(this.getId(), IssueState.ISSUE_SATE_FINISH); I issueData = kenoService.findIssueDataById(this.getId()); // 同传统彩的期实体传数据 Period period = new Period(); period.setId(issueData.getId()); period.setPeriodNumber(issueData.getPeriodNumber()); // 记录操作日志 eventLogManager.saveSimpleEventLog( period, getLottery(), adminUser, EventLogType.CloseIssue, "期号为ID:" + this.getId()); map.put("success", true); map.put("msg", "期号设置结束成功"); } catch (DataException e) { e.printStackTrace(); map.put("success", false); map.put("msg", e.getMessage()); } catch (Exception e) { e.printStackTrace(); map.put("success", false); map.put("msg", "期号设置结束发生异常!"); } Struts2Utils.renderJson(map); return null; }
public String oprIssueTime() { Map<String, Object> map = new HashMap<String, Object>(); try { if (null == dateStar) throw new WebDataException("开始时间不能为空!"); if (null == dateEnd) throw new WebDataException("结束时间不能为空!"); if (dateEnd.getTime() <= dateStar.getTime()) throw new WebDataException("结束时间不能少于开始时间!"); if (dateEnd.getTime() - dateStar.getTime() > 1000 * 60 * 60 * 24 * 3) throw new WebDataException("结束时间减去开始时间不能大于3天!"); if (null == oprType) throw new WebDataException("操作类型不能为空!"); if (null == dateMin) throw new WebDataException("操作时间不能为空!"); if (0 >= dateMin) throw new WebDataException("操作时间不能小于0!"); AdminUser adminUser = getAdminUser(); if (null == adminUser) { throw new WebDataException("你还没有登录!"); } if (Byte.valueOf("0").equals(oprType)) { dateMin = dateMin; } else if (Byte.valueOf("1").equals(oprType)) { dateMin = -dateMin; } else { throw new WebDataException("操作类型出错!"); } kenoService.oprIssueTime(dateStar, dateEnd, dateMin); // 记录操作日志 eventLogManager.saveSimpleEventLog( null, getLottery(), adminUser, EventLogType.SetTime, "开始时间为:" + dateStar + "结束时间为" + dateEnd + "时间为【" + dateMin + "】分钟"); map.put("success", true); map.put("msg", "期号时间设置结束成功"); } catch (WebDataException e) { e.printStackTrace(); map.put("success", false); map.put("msg", e.getMessage()); } catch (ServiceException e) { e.printStackTrace(); map.put("success", false); map.put("msg", e.getMessage()); } catch (Exception e) { e.printStackTrace(); map.put("success", false); map.put("msg", "期号时间设置发生异常!"); } Struts2Utils.renderJson(map); return null; }
public String lsbd() { if (count == null || count <= 0) { count = 50; } formatNum(); DetachedCriteria c = DetachedCriteria.forClass(SsqPeriodData.class); c.add(Restrictions.isNotNull("result")); c.addOrder(Order.desc("id")); List<SsqPeriodData> list = periodDataEntityManagerImpl.findByDetachedCriteria(c, 0, count); List<Long> periodIdList = new ArrayList<Long>(); for (SsqPeriodData data : list) { periodIdList.add(data.getPeriodId()); String[] rs = data.getRsultArr(); if (red1 == null) { red1 = rs[0]; red2 = rs[1]; red3 = rs[2]; red4 = rs[3]; red5 = rs[4]; red6 = rs[5]; blue = rs[6]; data.setPrizePool(7l); } else { long hits = 0; String[] rs1 = (String[]) ArrayUtils.subarray(rs, 0, 6); if (ArrayUtils.contains(rs1, red1)) { hits++; } if (ArrayUtils.contains(rs1, red2)) { hits++; } if (ArrayUtils.contains(rs1, red3)) { hits++; } if (ArrayUtils.contains(rs1, red4)) { hits++; } if (ArrayUtils.contains(rs1, red5)) { hits++; } if (ArrayUtils.contains(rs1, red6)) { hits++; } if (blue.equals(rs[6])) { hits++; } data.setPrizePool(hits); } } Collections.sort( list, new Comparator<SsqPeriodData>() { @Override public int compare(SsqPeriodData o1, SsqPeriodData o2) { if (o1.getPrizePool() < o2.getPrizePool()) { return 1; } return -1; } }); c = DetachedCriteria.forClass(Period.class); c.add(Restrictions.in("id", periodIdList)); c.addOrder(Order.desc("id")); List<Period> periodList = periodDataEntityManagerImpl.findByDetachedCriteria(c); Map<Long, Period> periodMap = new HashMap<Long, Period>(); for (Period data : periodList) { periodMap.put(data.getId(), data); } Struts2Utils.setAttribute("periodMap", periodMap); Struts2Utils.setAttribute("list", list); loadForecastAndSkillsNewsList(); return "lsbd"; }