Java tutorial
package com.cai310.lottery.web.controller.ticket.then; import java.math.BigDecimal; import java.util.ArrayList; import java.util.List; import java.util.Map; import net.sf.json.JsonConfig; import org.apache.commons.lang.StringUtils; import org.apache.commons.lang.time.DateUtils; import org.hibernate.criterion.DetachedCriteria; import org.hibernate.criterion.Order; import org.hibernate.criterion.Restrictions; import org.springframework.beans.factory.annotation.Autowired; import com.cai310.lottery.Constant; import com.cai310.lottery.common.Lottery; import com.cai310.lottery.common.SalesMode; import com.cai310.lottery.common.SecretType; import com.cai310.lottery.common.ShareType; import com.cai310.lottery.common.SubscriptionLicenseType; import com.cai310.lottery.common.keno.IssueState; import com.cai310.lottery.dto.lottery.PeriodDataDTO; import com.cai310.lottery.dto.lottery.PeriodDataInfoDTO; import com.cai310.lottery.entity.lottery.NumberScheme; import com.cai310.lottery.entity.lottery.Scheme; import com.cai310.lottery.entity.lottery.keno.KenoPeriod; import com.cai310.lottery.entity.lottery.keno.sdel11to5.SdEl11to5Scheme; import com.cai310.lottery.entity.lottery.keno.ssc.SscScheme; import com.cai310.lottery.entity.lottery.keno.xjel11to5.XjEl11to5Scheme; import com.cai310.lottery.entity.lottery.ticket.TicketLogger; import com.cai310.lottery.service.QueryService; import com.cai310.lottery.service.ServiceException; import com.cai310.lottery.service.lottery.SchemeService; import com.cai310.lottery.service.lottery.keno.KenoManager; import com.cai310.lottery.service.lottery.keno.KenoPlayer; import com.cai310.lottery.service.lottery.keno.KenoService; import com.cai310.lottery.support.ContentBean; import com.cai310.lottery.support.Executable; import com.cai310.lottery.support.ExecuteException; import com.cai310.lottery.support.ExecutorUtils; import com.cai310.lottery.web.controller.WebDataException; import com.cai310.lottery.web.controller.lottery.keno.KenoSchemeDTO; import com.cai310.utils.DateUtil; import com.cai310.utils.JsonUtil; import com.cai310.utils.ReflectionUtils; import com.cai310.utils.Struts2Utils; import com.google.common.collect.Lists; import com.google.common.collect.Maps; /** * */ public abstract class KenoController<T extends NumberScheme, E extends KenoSchemeDTO, I extends KenoPeriod> extends NumberController<T, E> { protected KenoService<I, T> kenoService; protected KenoManager<I, T> kenoManager; protected KenoPlayer<I, T> kenoPlayer; @Autowired private QueryService queryService; public abstract void setKenoService(KenoService<I, T> kenoService); public abstract void setKenoManager(KenoManager<I, T> kenoManager); public abstract void setKenoPlayer(KenoPlayer<I, T> kenoPlayer); protected Class<E> schemeDTOClass; @SuppressWarnings("unchecked") public KenoController() { this.schemeDTOClass = ReflectionUtils.getSuperClassGenricType(getClass(), 1); } @Override public String resultInfoTicket() { Map map = Maps.newHashMap(); JsonConfig jsonConfig = new JsonConfig(); StringBuffer sb = new StringBuffer(); try { checkTicket(); if (StringUtils.isNotBlank(this.wParam)) { Map<String, Object> wParam_map = JsonUtil.getMap4Json(wParam); if (null != wParam_map) { String periodNumber = null == wParam_map.get("periodNumber") ? null : String.valueOf(wParam_map.get("periodNumber")); if (StringUtils.isNotBlank(periodNumber)) { this.setPeriodNumber(periodNumber); } if (null == this.getwLotteryId()) { throw new WebDataException("10-?"); } if (null == this.getPeriodNumber()) { throw new WebDataException("11-?"); } I period = this.kenoService.loadPeriod(this.getPeriodNumber()); if (null == period) { throw new WebDataException("7-?Id"); } PeriodDataInfoDTO periodDataInfoDTO = new PeriodDataInfoDTO(); periodDataInfoDTO.setLotteryType(period.getLotteryType()); periodDataInfoDTO.setPeriodId(period.getId()); periodDataInfoDTO.setResult(period.getResults()); periodDataInfoDTO.setPeriodNumber(period.getPeriodNumber()); periodDataInfoDTO.setPeriodTitle(period.getLotteryType().getTitle()); periodDataInfoDTO .setPrizeTime(DateUtil.dateToStr(period.getPrizeTime(), "yyyy-MM-dd HH:mm:ss")); periodDataInfoDTO.setEndCashTime( DateUtil.dateToStr(DateUtils.addDays(period.getPrizeTime(), 60), "yyyy-MM-dd")); map.put("periodData", periodDataInfoDTO); jsonConfig.setExcludes(new String[] { "winItemList", "won", "generalAdditional", "maxHit" }); } } map.put("processId", "0"); } catch (WebDataException e) { String processId = "7"; if (null != e.getMessage() && e.getMessage().indexOf("-") != -1) { String temp = e.getMessage().split("-")[0]; try { processId = "" + Integer.valueOf(temp); } catch (Exception ex) { } // / Struts2Utils.setAttribute("errorMsg", e.getMessage()); } else { Struts2Utils.setAttribute("errorMsg", ""); } map.put("processId", processId); map.put("errorMsg", e.getMessage()); } catch (ServiceException e) { logger.warn(e.getMessage(), e); String processId = "7"; if (null != e.getMessage() && e.getMessage().indexOf("-") != -1) { String temp = e.getMessage().split("-")[0]; try { processId = "" + Integer.valueOf(temp); } catch (Exception ex) { } // / Struts2Utils.setAttribute("errorMsg", e.getMessage()); } else { Struts2Utils.setAttribute("errorMsg", ""); } map.put("processId", processId); map.put("errorMsg", e.getMessage()); } catch (Exception e) { logger.warn(e.getMessage(), e); String processId = "7"; if (null != e.getMessage() && e.getMessage().indexOf("-") != -1) { String temp = e.getMessage().split("-")[0]; try { processId = "" + Integer.valueOf(temp); } catch (Exception ex) { } // / Struts2Utils.setAttribute("errorMsg", e.getMessage()); } else { Struts2Utils.setAttribute("errorMsg", ""); } map.put("processId", processId); map.put("errorMsg", e.getMessage()); } renderJson(map, jsonConfig); return null; } /** * */ @Override public String schemeInfo() { Map map = Maps.newHashMap(); JsonConfig jsonConfig = new JsonConfig(); List<Map<String, String>> flag = Lists.newArrayList(); try { check(); String id = null; if (StringUtils.isNotBlank(wParam)) { Map<String, Object> wParamMap = JsonUtil.getMap4Json(wParam); if (null != wParamMap) { id = String.valueOf(wParamMap.get("id")); } } if (StringUtils.isBlank(id)) throw new WebDataException("5-orderId??"); Lottery lottery = Lottery.values()[Integer.valueOf(wLotteryId)]; Scheme scheme = kenoService.getScheme(Long.valueOf(id)); scheme.setSubscriptions(null); I periodData = this.kenoService.findByIssueNumber(scheme.getPeriodNumber().trim()); if (null != periodData && StringUtils.isNotBlank(periodData.getResults())) { scheme.setRemark(periodData.getResults()); map.put("result", periodData.getResults()); } if (null == scheme.getPrizeSendTime()) { if (null != periodData && null != periodData.getPrizeTime()) { scheme.setPrizeSendTime(periodData.getPrizeTime()); } } if (lottery.equals(Lottery.SSC)) { scheme = (SscScheme) scheme; } else if (lottery.equals(Lottery.SDEL11TO5)) { scheme = (SdEl11to5Scheme) scheme; } else if (lottery.equals(Lottery.XJEL11TO5)) { scheme = (XjEl11to5Scheme) scheme; } map.put("processId", "0"); map.put("scheme", scheme); jsonConfig.setExcludes(new String[] { "createTime", "prizeSendTime", "userBetCost", "uploaded", "updateWon", "updatePrize", "unSuccessWon", "unFullState", "transactionId", "totalProgressRate", "successWon", "together", "spareBaodiCost", "lotteryPlayType", "keepTop", "keepBottom", "compoundMode", "compoundContent", "baodiProgressRate", "contentText", "subscriptions", "ticketSchemeState", "compoundContentText", "compoundContentTextForList", "commitTime", "uploadTime", "orderPriorityText", "lastModifyTime", "wonStatusHtml" }); } catch (WebDataException e) { String processId = "7"; if (null != e.getMessage() && e.getMessage().indexOf("-") != -1) { String temp = e.getMessage().split("-")[0]; try { processId = "" + Integer.valueOf(temp); } catch (Exception ex) { } // / Struts2Utils.setAttribute("errorMsg", e.getMessage()); } else { Struts2Utils.setAttribute("errorMsg", ""); } map.put("processId", processId); map.put("errorMsg", e.getMessage()); } catch (ServiceException e) { logger.warn(e.getMessage(), e); String processId = "7"; if (null != e.getMessage() && e.getMessage().indexOf("-") != -1) { String temp = e.getMessage().split("-")[0]; try { processId = "" + Integer.valueOf(temp); } catch (Exception ex) { } // / Struts2Utils.setAttribute("errorMsg", e.getMessage()); } else { Struts2Utils.setAttribute("errorMsg", ""); } map.put("processId", processId); map.put("errorMsg", e.getMessage()); } catch (Exception e) { logger.warn(e.getMessage(), e); String processId = "7"; if (null != e.getMessage() && e.getMessage().indexOf("-") != -1) { String temp = e.getMessage().split("-")[0]; try { processId = "" + Integer.valueOf(temp); } catch (Exception ex) { } // / Struts2Utils.setAttribute("errorMsg", e.getMessage()); } else { Struts2Utils.setAttribute("errorMsg", ""); } map.put("processId", processId); map.put("errorMsg", e.getMessage()); } renderJson(map, jsonConfig); return null; } protected E buildNormalSchemeDTO() throws WebDataException { E schemeDTO = null; try { schemeDTO = this.schemeDTOClass.newInstance(); } catch (InstantiationException e) { this.logger.warn("??.", e); throw new WebDataException("6-??."); } catch (IllegalAccessException e) { this.logger.warn("??.", e); throw new WebDataException("6-??."); } schemeDTO.setBeforeTime(kenoPlayer.getBeforeTime()); if (this.ticketPlatformInfo != null) { if (orderId == null) throw new WebDataException("6-??."); schemeDTO.setSponsorId(ticketPlatformInfo.getId()); this.shareType = ShareType.SELF.ordinal(); } else { if (user == null) throw new WebDataException("6-,???."); schemeDTO.setSponsorId(user.getId()); } I period = kenoService.findByIssueNumber(this.getPeriodNumber()); if (period == null) { throw new WebDataException("6-ID."); } if (period.getId() == null) { throw new WebDataException("6-ID."); } schemeDTO.setPeriodId(period.getId()); if (period.isSaleEnded(kenoPlayer.getBeforeTime())) { throw new WebDataException("6-?."); } if (this.getSchemeCost() == null || this.getSchemeCost() < 2) { throw new WebDataException("6-???."); } schemeDTO.setSchemeCost(this.getSchemeCost()); if (this.getMultiple() == null || this.getMultiple() < 1) { throw new WebDataException("6-???."); } schemeDTO.setMultiple(this.getMultiple()); if (this.getUnits() == null || this.getUnits() < 1) throw new WebDataException("6-??."); else if (this.getUnits() > Constant.MAX_UNITS) throw new WebDataException("6-?" + Constant.MAX_UNITS + "."); schemeDTO.setUnits(this.getUnits()); int cost = schemeDTO.getUnits() * schemeDTO.getMultiple() * this.getUnitsMoney(); if (cost != schemeDTO.getSchemeCost()) throw new WebDataException("6-???????."); schemeDTO.setSponsorSubscriptionCost(BigDecimal.valueOf(getSchemeCost())); ContentBean contentBean = null; if (SalesMode.COMPOUND.equals(buildSalesMode())) { contentBean = buildCompoundContentBean(); } else if (SalesMode.SINGLE.equals(buildSalesMode())) { contentBean = buildSingleContentBean(); } if (contentBean == null || StringUtils.isBlank(contentBean.getContent())) throw new WebDataException("6-."); else if (!schemeDTO.getUnits().equals(contentBean.getUnits())) throw new WebDataException("6-?????."); schemeDTO.setContent(contentBean.getContent()); schemeDTO.setUnitsMoney(this.getUnitsMoney()); schemeDTO.setMode(buildSalesMode()); schemeDTO.setShareType(ShareType.SELF); schemeDTO.setSecretType(SecretType.FULL_SECRET);// /? schemeDTO.setSubscriptionLicenseType(SubscriptionLicenseType.PUBLIC_LICENSE);// /? return schemeDTO; } @Override protected E buildSchemeDTO() throws WebDataException { if (!this.isChase) return buildNormalSchemeDTO(); if (this.periodSizeOfChase == null) throw new WebDataException("6-??."); else if (this.periodSizeOfChase < 2) throw new WebDataException("6-???2."); else if (this.periodSizeOfChase > Constant.CHASE_MAX_PERIOD_SIZE) throw new WebDataException("6-??" + Constant.CHASE_MAX_PERIOD_SIZE + "."); // List<Integer> chaseMultiples = this.createForm.getMultiplesOfChase(); List<Integer> chaseMultiples = null; if (chaseMultiples == null) { chaseMultiples = new ArrayList<Integer>(this.periodSizeOfChase); for (int i = 0; i < this.periodSizeOfChase; i++) { chaseMultiples.add(this.getMultiple()); } } else { int size = chaseMultiples.size(); for (int i = chaseMultiples.size() - 1; i >= 0; i--) { Integer mul = chaseMultiples.get(i); if (mul != null && mul > 0) { size = i + 1; break; } } chaseMultiples = chaseMultiples.subList(0, size); if (chaseMultiples.size() < 2) throw new WebDataException("6-???2."); } while (chaseMultiples.get(chaseMultiples.size() - 1) == 0) { chaseMultiples.remove(chaseMultiples.size() - 1); } E schemeDTO = buildNormalSchemeDTO(); schemeDTO.setChase(true); schemeDTO.setMultiplesOfChase(chaseMultiples); schemeDTO.setRandomOfChase(false); if (null != wonStopOfChase && wonStopOfChase) { schemeDTO.setWonStopOfChase(wonStopOfChase); schemeDTO.setPrizeForWonStopOfChase(0); } if (this.totalCostOfChase == null) { throw new WebDataException("6-???."); } int costPerMult = schemeDTO.getUnits() * this.unitsMoney;// ??? int totalCost = 0; for (Integer multiple : schemeDTO.getMultiplesOfChase()) { if (multiple != null) { if (multiple < 0) throw new WebDataException("6-????0."); if (multiple > Constant.MAX_MULTIPLE) throw new WebDataException("6-???" + Constant.MAX_MULTIPLE + "."); totalCost += costPerMult * multiple; } } if (totalCost != this.totalCostOfChase) { throw new WebDataException("6-???????."); } schemeDTO.setTotalCostOfChase(totalCost); return schemeDTO; } /** * ?_ */ @Override public String createTicket() { Map map = Maps.newHashMap(); JsonConfig jsonConfig = new JsonConfig(); TicketLogger ticketLogger = null; List<Map<String, String>> flag = Lists.newArrayList(); ReqParamVisitor reqParamVisitor_flag; try { ticketLogger = ticketLog(null, null); checkTicket(); E schemeDTO; Map<String, String> temp = null; Long time_all = System.currentTimeMillis(); for (ReqParamVisitor reqParamVisitor : ticketList) { reqParamVisitor_flag = reqParamVisitor; System.out.println(reqParamVisitor.getOrderId() + "-----------------------"); Long time = System.currentTimeMillis(); try { if (ticketPlatformInfo == null) throw new WebDataException("1-?ID."); if (ticketPlatformInfo.isLocked()) throw new WebDataException("2-??"); // //? buildReqParamVisitor(reqParamVisitor); System.out.println("-----------------------?" + (System.currentTimeMillis() - time)); time = System.currentTimeMillis(); orderId = reqParamVisitor.getOrderId(); schemeDTO = buildSchemeDTO(); schemeDTO.setOrderId(orderId); System.out.println("-----------------------" + (System.currentTimeMillis() - time)); time = System.currentTimeMillis(); // ////////////////////////////////////// synchronized (ticketPlatformInfo.getId()) { Boolean isRepeatOrder = ticketThenEntityManager.isRepeatOrder(schemeDTO.getOrderId(), ticketPlatformInfo.getId()); System.out.println("-----------------------" + (System.currentTimeMillis() - time)); time = System.currentTimeMillis(); if (isRepeatOrder) { throw new WebDataException("2-?"); } checkTicketPlatformInfo(ticketPlatformInfo, schemeDTO); schemeDTO.setIsTicket(true); schemeDTO.setOutOrderNumber(reqParamVisitor.getOutOrderNumber()); if (null != this.platformInfo) { schemeDTO.setPlatform(platformInfo); } final E schemeDTOTemp = schemeDTO; ExecutorUtils.exec(new Executable() { public void run() throws ExecuteException { scheme = kenoService.createTicketScheme(schemeDTOTemp); } }, 3); System.out.println("-----------------------" + (System.currentTimeMillis() - time)); time = System.currentTimeMillis(); } temp = Maps.newHashMap(); temp.put("process", "0"); temp.put("orderId", schemeDTO.getOrderId() + ""); flag.add(temp); System.out.println("-----------------------" + (System.currentTimeMillis() - time)); time = System.currentTimeMillis(); } catch (WebDataException e) { temp = Maps.newHashMap(); String process = "4"; if (null != e.getMessage() && e.getMessage().indexOf("-") != -1) { String tempStr = e.getMessage().split("-")[0]; try { process = "" + Integer.valueOf(tempStr); } catch (Exception ex) { } // / temp.put("errorMsg", e.getMessage()); } else { logger.warn(e.getMessage(), e); temp.put("errorMsg", ""); } temp.put("process", process); temp.put("orderId", orderId); flag.add(temp); continue; } catch (ServiceException e) { temp = Maps.newHashMap(); String process = "4"; if (null != e.getMessage() && e.getMessage().indexOf("-") != -1) { String tempStr = e.getMessage().split("-")[0]; try { process = "" + Integer.valueOf(tempStr); } catch (Exception ex) { } // / temp.put("errorMsg", e.getMessage()); } else { logger.warn(e.getMessage(), e); temp.put("errorMsg", ""); } temp.put("process", process); temp.put("orderId", orderId); flag.add(temp); continue; } catch (Exception e) { temp = Maps.newHashMap(); String process = "4"; if (null != e.getMessage() && e.getMessage().indexOf("-") != -1) { String tempStr = e.getMessage().split("-")[0]; try { process = "" + Integer.valueOf(tempStr); } catch (Exception ex) { } // / temp.put("errorMsg", e.getMessage()); } else { logger.warn(e.getMessage(), e); temp.put("errorMsg", ""); } temp.put("process", process); temp.put("orderId", orderId); flag.add(temp); continue; } catch (Throwable e) { temp = Maps.newHashMap(); String process = "4"; if (null != e.getMessage() && e.getMessage().indexOf("-") != -1) { String tempStr = e.getMessage().split("-")[0]; try { process = "" + Integer.valueOf(tempStr); } catch (Exception ex) { } // / temp.put("errorMsg", e.getMessage()); } else { logger.warn(e.getMessage(), e); temp.put("errorMsg", ""); } temp.put("process", process); temp.put("orderId", orderId); flag.add(temp); continue; } } System.out.println("-----------------------" + (System.currentTimeMillis() - time_all)); map.put("processId", "0"); map.put("ticket", flag); } catch (WebDataException e) { String processId = "7"; if (null != e.getMessage() && e.getMessage().indexOf("-") != -1) { String temp = e.getMessage().split("-")[0]; try { processId = "" + Integer.valueOf(temp); } catch (Exception ex) { } // / } else { logger.warn(e.getMessage(), e); } map.put("processId", processId); map.put("errorMsg", e.getMessage()); } catch (ServiceException e) { String processId = "7"; if (null != e.getMessage() && e.getMessage().indexOf("-") != -1) { String temp = e.getMessage().split("-")[0]; try { processId = "" + Integer.valueOf(temp); } catch (Exception ex) { } // / } else { logger.warn(e.getMessage(), e); } map.put("processId", processId); map.put("errorMsg", e.getMessage()); } catch (Exception e) { String processId = "7"; if (null != e.getMessage() && e.getMessage().indexOf("-") != -1) { String temp = e.getMessage().split("-")[0]; try { processId = "" + Integer.valueOf(temp); } catch (Exception ex) { } // / } else { logger.warn(e.getMessage(), e); } map.put("processId", processId); map.put("errorMsg", e.getMessage()); } catch (Throwable e) { String processId = "7"; if (null != e.getMessage() && e.getMessage().indexOf("-") != -1) { String temp = e.getMessage().split("-")[0]; try { processId = "" + Integer.valueOf(temp); } catch (Exception ex) { } // / } else { logger.warn(e.getMessage(), e); } map.put("processId", processId); map.put("errorMsg", e.getMessage()); } renderJson(map, jsonConfig); ticketLogger = ticketLog(flag.toString(), ticketLogger); return null; } /** * ? */ @Override public String create() { Map map = Maps.newHashMap(); JsonConfig jsonConfig = new JsonConfig(); TicketLogger ticketLogger = null; List<Map<String, String>> flag = Lists.newArrayList(); ReqParamVisitor reqParamVisitor_flag; try { check(); E schemeDTO; Map<String, String> temp = null; Long time_all = System.currentTimeMillis(); for (ReqParamVisitor reqParamVisitor : ticketList) { reqParamVisitor_flag = reqParamVisitor; System.out.println(reqParamVisitor.getOrderId() + "-----------------------"); Long time = System.currentTimeMillis(); try { user = userManager.getUser(Long.valueOf(reqParamVisitor.getUserId())); if (user == null) throw new WebDataException("1-?ID."); if (user.isLocked()) throw new WebDataException("2-??"); // //? checkUser(reqParamVisitor.getUserPwd(), user); buildReqParamVisitor(reqParamVisitor); System.out.println("-----------------------?" + (System.currentTimeMillis() - time)); time = System.currentTimeMillis(); schemeDTO = buildSchemeDTO(); System.out.println("-----------------------" + (System.currentTimeMillis() - time)); time = System.currentTimeMillis(); // ////////////////////////////////////// synchronized (Constant.THENLOCK) { // Boolean isRepeatOrder = // getSchemeService().isRepeatOrder(orderId,schemeDTO.getSponsorId()); System.out.println("-----------------------" + (System.currentTimeMillis() - time)); time = System.currentTimeMillis(); // if(isRepeatOrder){ // throw new WebDataException("2-?"); // } checkUser(user, schemeDTO); if (null != this.platformInfo) { schemeDTO.setPlatform(platformInfo); } scheme = kenoService.createScheme(schemeDTO); // scheme = getSchemeService().createScheme(schemeDTO); System.out.println("-----------------------" + (System.currentTimeMillis() - time)); time = System.currentTimeMillis(); } temp = Maps.newHashMap(); temp.put("process", "0"); temp.put("orderId", scheme.getId() + ""); flag.add(temp); System.out.println("-----------------------" + (System.currentTimeMillis() - time)); time = System.currentTimeMillis(); } catch (WebDataException e) { temp = Maps.newHashMap(); String process = "4"; if (null != e.getMessage() && e.getMessage().indexOf("-") != -1) { String tempStr = e.getMessage().split("-")[0]; try { process = "" + Integer.valueOf(tempStr); } catch (Exception ex) { } // / temp.put("errorMsg", e.getMessage()); } else { logger.warn(e.getMessage(), e); temp.put("errorMsg", ""); } temp.put("process", process); temp.put("orderId", scheme.getId() + ""); flag.add(temp); continue; } catch (ServiceException e) { temp = Maps.newHashMap(); String process = "4"; if (null != e.getMessage() && e.getMessage().indexOf("-") != -1) { String tempStr = e.getMessage().split("-")[0]; try { process = "" + Integer.valueOf(tempStr); } catch (Exception ex) { } // / temp.put("errorMsg", e.getMessage()); } else { logger.warn(e.getMessage(), e); temp.put("errorMsg", ""); } temp.put("process", process); temp.put("orderId", scheme.getId() + ""); flag.add(temp); continue; } catch (Exception e) { temp = Maps.newHashMap(); String process = "4"; if (null != e.getMessage() && e.getMessage().indexOf("-") != -1) { String tempStr = e.getMessage().split("-")[0]; try { process = "" + Integer.valueOf(tempStr); } catch (Exception ex) { } // / temp.put("errorMsg", e.getMessage()); } else { logger.warn(e.getMessage(), e); temp.put("errorMsg", ""); } temp.put("process", process); temp.put("orderId", scheme.getId() + ""); flag.add(temp); continue; } catch (Throwable e) { temp = Maps.newHashMap(); String process = "4"; if (null != e.getMessage() && e.getMessage().indexOf("-") != -1) { String tempStr = e.getMessage().split("-")[0]; try { process = "" + Integer.valueOf(tempStr); } catch (Exception ex) { } // / temp.put("errorMsg", e.getMessage()); } else { logger.warn(e.getMessage(), e); temp.put("errorMsg", ""); } temp.put("process", process); temp.put("orderId", scheme.getId() + ""); flag.add(temp); continue; } } System.out.println("-----------------------" + (System.currentTimeMillis() - time_all)); map.put("processId", "0"); map.put("ticket", flag); } catch (WebDataException e) { String processId = "7"; if (null != e.getMessage() && e.getMessage().indexOf("-") != -1) { String temp = e.getMessage().split("-")[0]; try { processId = "" + Integer.valueOf(temp); } catch (Exception ex) { } // / } else { logger.warn(e.getMessage(), e); } map.put("processId", processId); map.put("errorMsg", e.getMessage()); } catch (ServiceException e) { String processId = "7"; if (null != e.getMessage() && e.getMessage().indexOf("-") != -1) { String temp = e.getMessage().split("-")[0]; try { processId = "" + Integer.valueOf(temp); } catch (Exception ex) { } // / } else { logger.warn(e.getMessage(), e); } map.put("processId", processId); map.put("errorMsg", e.getMessage()); } catch (Exception e) { String processId = "7"; if (null != e.getMessage() && e.getMessage().indexOf("-") != -1) { String temp = e.getMessage().split("-")[0]; try { processId = "" + Integer.valueOf(temp); } catch (Exception ex) { } // / } else { logger.warn(e.getMessage(), e); } map.put("processId", processId); map.put("errorMsg", e.getMessage()); } catch (Throwable e) { String processId = "7"; if (null != e.getMessage() && e.getMessage().indexOf("-") != -1) { String temp = e.getMessage().split("-")[0]; try { processId = "" + Integer.valueOf(temp); } catch (Exception ex) { } // / } else { logger.warn(e.getMessage(), e); } map.put("processId", processId); map.put("errorMsg", e.getMessage()); } renderJson(map, jsonConfig); return null; } @Override protected SchemeService<T, E> getSchemeService() { return null; } public String resultList() { Map map = Maps.newHashMap(); JsonConfig jsonConfig = new JsonConfig(); StringBuffer sb = new StringBuffer(); try { // check(); checkTicket(); Lottery lotteryType = null; if (StringUtils.isNotBlank(wLotteryId)) { try { lotteryType = Lottery.values()[Integer.valueOf(wLotteryId.trim())]; } catch (Exception e) { throw new WebDataException("12-?"); } if (null == lotteryType) { throw new WebDataException("12-?"); } } // if (StringUtils.isBlank(start)){ // throw new WebDataException("9-"); // } // try{ // Integer.valueOf(start); // } catch (Exception e) { // throw new WebDataException("9-"); // } // if (StringUtils.isBlank(count)){ // throw new WebDataException("10-?"); // } // try{ // Integer.valueOf(count); // } catch (Exception e) { // throw new WebDataException("10-?"); // } Class<I> cls = this.kenoService.getIssueDataClass(); DetachedCriteria criteria = DetachedCriteria.forClass(cls); criteria.add(Restrictions.gt("state", IssueState.ISSUE_SATE_RESULT)); if (!"".equals(periodNumber)) { criteria.add(Restrictions.eq("periodNumber", periodNumber)); } criteria.add(Restrictions.isNotNull("results")); criteria.addOrder(Order.desc("id")); List<I> list = null; if ("".equals(periodNumber)) { list = queryService.findByDetachedCriteria(criteria, 0, 1); } else { list = queryService.findByDetachedCriteria(criteria); } List<PeriodDataDTO> resultList = Lists.newArrayList(); if (null != list && !list.isEmpty()) { for (I kenoPeriod : list) { if (null != kenoPeriod) { PeriodDataDTO periodDataDTO = new PeriodDataDTO(); periodDataDTO.setLotteryType(kenoPeriod.getLotteryType()); periodDataDTO.setPeriodId(kenoPeriod.getId()); periodDataDTO.setPeriodNumber(kenoPeriod.getPeriodNumber()); periodDataDTO.setPeriodTitle(kenoPeriod.getLotteryType().getTitle()); periodDataDTO .setPrizeTime(DateUtil.dateToStr(kenoPeriod.getPrizeTime(), "yyyy-MM-dd HH:mm:ss")); periodDataDTO.setResult(kenoPeriod.getResults()); resultList.add(periodDataDTO); } } } map.put("processId", "0"); map.put("resultList", resultList); } catch (WebDataException e) { String processId = "7"; if (null != e.getMessage() && e.getMessage().indexOf("-") != -1) { String temp = e.getMessage().split("-")[0]; try { processId = "" + Integer.valueOf(temp); } catch (Exception ex) { } // / Struts2Utils.setAttribute("errorMsg", e.getMessage()); } else { Struts2Utils.setAttribute("errorMsg", ""); } map.put("processId", processId); map.put("errorMsg", e.getMessage()); } catch (ServiceException e) { logger.warn(e.getMessage(), e); String processId = "7"; if (null != e.getMessage() && e.getMessage().indexOf("-") != -1) { String temp = e.getMessage().split("-")[0]; try { processId = "" + Integer.valueOf(temp); } catch (Exception ex) { } // / Struts2Utils.setAttribute("errorMsg", e.getMessage()); } else { Struts2Utils.setAttribute("errorMsg", ""); } map.put("processId", processId); map.put("errorMsg", e.getMessage()); } catch (Exception e) { logger.warn(e.getMessage(), e); String processId = "7"; if (null != e.getMessage() && e.getMessage().indexOf("-") != -1) { String temp = e.getMessage().split("-")[0]; try { processId = "" + Integer.valueOf(temp); } catch (Exception ex) { } // / Struts2Utils.setAttribute("errorMsg", e.getMessage()); } else { Struts2Utils.setAttribute("errorMsg", ""); } map.put("processId", processId); map.put("errorMsg", e.getMessage()); } renderJson(map, jsonConfig); return null; } }