Example usage for org.hibernate.criterion DetachedCriteria forClass

List of usage examples for org.hibernate.criterion DetachedCriteria forClass

Introduction

In this page you can find the example usage for org.hibernate.criterion DetachedCriteria forClass.

Prototype

public static DetachedCriteria forClass(Class clazz) 

Source Link

Document

Static builder to create a DetachedCriteria for the given entity, by its Class.

Usage

From source file:com.cai310.lottery.service.lottery.keno.impl.KenoServiceImpl.java

/**
 * /* w  w  w .java2 s  .c  om*/
 * 
 * @param periodId
 * @return
 */
@SuppressWarnings("unchecked")
@Transactional(readOnly = true)
public Integer calAllSchemeCount(Long periodId) {
    Class<S> clazz = ReflectionUtils.getSuperClassGenricType(getClass(), 1);
    DetachedCriteria criteria = DetachedCriteria.forClass(clazz);
    criteria.add(Restrictions.eq("periodId", periodId));
    criteria.setProjection(Projections.rowCount());
    List<Integer> resultList = schemeDao.findByDetachedCriteria(criteria);
    if (resultList != null && resultList.size() > 0) {
        return resultList.get(0);
    } else {
        return 0;
    }
}

From source file:com.cai310.lottery.service.lottery.keno.impl.KenoServiceImpl.java

/**
 * ?// www.  j  a  v  a 2  s . c om
 * 
 * @param periodId
 * @return
 */
@Transactional(readOnly = true)
public Integer calAllSaleCount(Long periodId) {
    Class<S> clazz = ReflectionUtils.getSuperClassGenricType(getClass(), 1);
    DetachedCriteria criteria = DetachedCriteria.forClass(clazz);
    criteria.add(Restrictions.eq("periodId", periodId));
    criteria.add(Restrictions.eq("state", SchemeState.SUCCESS));
    criteria.setProjection(Projections.sum("schemeCost"));
    List<Integer> resultList = schemeDao.findByDetachedCriteria(criteria);
    if (null != resultList && !resultList.isEmpty()) {
        Integer count = resultList.get(0);
        if (null != count) {
            return count.intValue();
        } else {
            return 0;
        }
    } else {
        return 0;
    }
}

From source file:com.cai310.lottery.service.lottery.keno.impl.KenoServiceImpl.java

/**
 * //from  w ww  .j a  v a  2  s. c om
 * 
 * @param periodId
 * @return
 */
@Transactional(readOnly = true)
public Integer calAllPrizeCount(Long periodId) {
    Class<S> clazz = ReflectionUtils.getSuperClassGenricType(getClass(), 1);
    DetachedCriteria criteria = DetachedCriteria.forClass(clazz);
    criteria.add(Restrictions.eq("periodId", periodId));
    criteria.add(Restrictions.eq("won", true));
    criteria.setProjection(Projections.rowCount());
    List<Integer> resultList = schemeDao.findByDetachedCriteria(criteria);
    if (resultList != null && resultList.size() > 0) {
        return resultList.get(0);
    } else {
        return 0;
    }
}

From source file:com.cai310.lottery.service.lottery.keno.impl.KenoServiceImpl.java

/**
 * ?/*from   ww w . j a v  a  2 s. co  m*/
 * 
 * @param periodId
 * @return
 */
@Transactional(readOnly = true)
public Integer calSuccessSchemeCount(Long periodId) {
    Class<S> clazz = ReflectionUtils.getSuperClassGenricType(getClass(), 1);
    DetachedCriteria criteria = DetachedCriteria.forClass(clazz);
    criteria.add(Restrictions.eq("periodId", periodId));
    criteria.add(Restrictions.eq("state", SchemeState.SUCCESS));
    criteria.setProjection(Projections.rowCount());
    List<Integer> resultList = schemeDao.findByDetachedCriteria(criteria);
    if (resultList != null && resultList.size() > 0) {
        return resultList.get(0);
    } else {
        return 0;
    }
}

From source file:com.cai310.lottery.service.lottery.keno.impl.KenoServiceImpl.java

/**
 * ??/*from   w  w w.j  a v a  2 s . co m*/
 * 
 * @param dateNow
 *            
 * @param beforeTime
 *            ???
 * @param size
 *            ?
 * @return ???
 */
@Transactional(readOnly = true)
public List<I> getCanChaseIssue(Date dateNow, Integer beforeTime, Integer size) {
    if (null == dateNow)
        return null;
    if (null == beforeTime)
        return null;
    if (null == size)
        return null;
    Class<S> clazz = ReflectionUtils.getSuperClassGenricType(getClass(), 0);
    DetachedCriteria criteria = DetachedCriteria.forClass(clazz);
    criteria.add(Restrictions.not(Restrictions.eq("state", IssueState.ISSUE_SATE_FINISH)));
    criteria.add(Restrictions.gt("endedTime", DateUtils.addMinutes(dateNow, beforeTime)));
    criteria.addOrder(Order.asc("endedTime"));
    return issueDataDao.findByDetachedCriteria(criteria, 0, size, true);
}

From source file:com.cai310.lottery.service.lottery.keno.impl.KenoServiceImpl.java

/**
 * ??//from  ww w  .  j av a 2  s .c om
 * 
 * @param dateNow
 *            
 * @param beforeTime
 *            ???
 * @return ???
 */
@Transactional(readOnly = true)
public Integer getCanChaseIssueNum(Date dateNow, Integer beforeTime) {
    if (null == dateNow)
        return null;
    if (null == beforeTime)
        return null;
    Class<S> clazz = ReflectionUtils.getSuperClassGenricType(getClass(), 0);
    DetachedCriteria criteria = DetachedCriteria.forClass(clazz);
    criteria.add(Restrictions.not(Restrictions.eq("state", IssueState.ISSUE_SATE_FINISH)));
    criteria.add(Restrictions.gt("endedTime", DateUtils.addMinutes(dateNow, beforeTime)));
    criteria.addOrder(Order.asc("endedTime"));
    criteria.setProjection(Projections.rowCount());
    List<Integer> resultList = schemeDao.findByDetachedCriteria(criteria, true);
    if (resultList != null && resultList.size() > 0) {
        return resultList.get(0);
    } else {
        return 0;
    }
}

From source file:com.cai310.lottery.service.lottery.keno.impl.KenoServiceImpl.java

/**
 * ?/*from w  ww . ja va 2  s.  c  o  m*/
 * 
 * @param dateStar
 *            
 * @param dateEnd
 *            ?
 * @param dateMin
 *            ??action
 * @return ???
 */
public void oprIssueTime(Date dateStar, Date dateEnd, Integer dateMin) {
    if (null == dateStar)
        throw new ServiceException("");
    if (null == dateEnd)
        throw new ServiceException("?");
    if (null == dateMin)
        throw new ServiceException("?.");
    Class<S> clazz = ReflectionUtils.getSuperClassGenricType(getClass(), 0);
    DetachedCriteria criteria = DetachedCriteria.forClass(clazz);
    criteria.add(Restrictions.ge("endedTime", dateStar));
    criteria.add(Restrictions.le("endedTime", dateEnd));
    criteria.addOrder(Order.asc("endedTime"));
    List<I> resultList = schemeDao.findByDetachedCriteria(criteria, true);
    if (resultList != null && resultList.size() > 0) {
        for (I issue : resultList) {
            issue.setStartTime(DateUtils.addMinutes(issue.getStartTime(), dateMin));
            issue.setEndedTime(DateUtils.addMinutes(issue.getEndedTime(), dateMin));
            issue.setPrizeTime(DateUtils.addMinutes(issue.getPrizeTime(), dateMin));
        }
    } else {
        if (null == dateMin)
            throw new ServiceException("?.");
    }
}

From source file:com.cai310.lottery.service.lottery.keno.impl.KenoServiceImpl.java

/**
 * /*w ww . ja  v  a  2s  .  c om*/
 * 
 * @param issueData
 * @throws DataException
 */
public void saleAnalye(I issueData) throws DataException {
    Class<S> clazz = ReflectionUtils.getSuperClassGenricType(getClass(), 1);
    DetachedCriteria criteria = DetachedCriteria.forClass(clazz);
    criteria.setProjection(Projections.property("id"));
    criteria.add(Restrictions.eq("periodId", issueData.getId()));
    List<Long> schemeIdList = schemeDao.findByDetachedCriteria(criteria);
    SaleAnalyse saleAnalyse = null;
    Integer playType = null;
    Map<String, SaleAnalyse> saleAnalyeMap = new HashMap<String, SaleAnalyse>();
    S s;
    SdEl11to5Scheme sdEl11to5Scheme = null;
    SscScheme sscScheme = null;
    AhKuai3Scheme ahKuai3Scheme = null;
    XjEl11to5Scheme xjEl11to5Scheme = null;
    Set<Long> updateSchemeSet = Sets.newHashSet();
    for (Long id : schemeIdList) {
        // ///keyplayType key=userId_ key=userId_0userId_1
        s = getScheme(id);
        saleAnalyse = saleAnalyeMap.get(s.getSponsorId() + "_" + (null == playType ? "" : playType));
        if (null == saleAnalyse) {
            saleAnalyse = new SaleAnalyse();
        }
        updateSchemeSet.add(s.getId());
        if (Lottery.SDEL11TO5.equals(s.getLotteryType())) {
            sdEl11to5Scheme = (SdEl11to5Scheme) s;
            playType = sdEl11to5Scheme.getBetType().ordinal();
        } else if (Lottery.SSC.equals(s.getLotteryType())) {
            sscScheme = (SscScheme) s;
            playType = sscScheme.getBetType().ordinal();
        } else if (Lottery.AHKUAI3.equals(s.getLotteryPlayType())) {
            ahKuai3Scheme = (AhKuai3Scheme) s;
            playType = ahKuai3Scheme.getBetType().ordinal();
        } else if (Lottery.XJEL11TO5.equals(s.getLotteryPlayType())) {
            xjEl11to5Scheme = (XjEl11to5Scheme) s;
            playType = xjEl11to5Scheme.getBetType().ordinal();
        }
        // //
        saleAnalyse.setPeriodId(issueData.getId());
        saleAnalyse.setLottery(s.getLotteryType());
        saleAnalyse.setPeriodNumber(issueData.getPeriodNumber());
        saleAnalyse.setPlayType(playType);
        saleAnalyse.setUserId(s.getSponsorId());
        saleAnalyse.setUserName(s.getSponsorName());
        saleAnalyse.setEndedTime(issueData.getEndedTime());
        saleAnalyse.setYearNum(DateUtil.getYear(issueData.getEndedTime()));
        saleAnalyse.setQuarterNum(DateUtil.getQuarter(issueData.getEndedTime()));
        saleAnalyse.setMonthNum(DateUtil.getMonth(issueData.getEndedTime()));
        saleAnalyse.setWeekNum(DateUtil.getWeek(issueData.getEndedTime()));
        saleAnalyse.setSendCurrency(Boolean.FALSE);

        saleAnalyse.addSchemeCount(1);
        saleAnalyse.addSchemeCost(s.getSchemeCost().intValue());
        saleAnalyse.addSchemeWonPrize(s.getPrize());
        saleAnalyse.addSubscriptionCount(1);
        saleAnalyse.addSubscriptionCost(new BigDecimal(s.getSchemeCost()));
        saleAnalyse.addSubscriptionWonPrize(s.getPrize());
        if (SchemeState.SUCCESS.equals(s.getState())) {
            // ?
            saleAnalyse.addSchemeSuccessCount(1);
            saleAnalyse.addSchemeSuccessCost(s.getSchemeCost().intValue());
            saleAnalyse.addSchemeSuccessWonPrize(s.getPrize());

            saleAnalyse.addSubscriptionSuccessCount(1);
            saleAnalyse.addSubscriptionSuccessCost(new BigDecimal(s.getSchemeCost()));
            saleAnalyse.addSubscriptionSuccessWonPrize(s.getPrize());

        } else if (SchemeState.CANCEL.equals(s.getState())) {
            // 
            saleAnalyse.addSchemeCancelCount(1);
            saleAnalyse.addSchemeCancelCost(s.getSchemeCost().intValue());
            saleAnalyse.addSchemeCancelWonPrize(s.getPrize());

            saleAnalyse.addSubscriptionCancelCount(1);
            saleAnalyse.addSubscriptionCancelCost(new BigDecimal(s.getSchemeCost()));
            saleAnalyse.addSubscriptionCancelWonPrize(s.getPrize());
        } else {
            // ?
            throw new DataException("?");
        }
        saleAnalyeMap.put(s.getSponsorId() + "_" + (null == playType ? "" : playType), saleAnalyse);
    }
    Set<String> keySet = saleAnalyeMap.keySet();
    List<SaleAnalyse> updateSaleAnalyse = Lists.newArrayList();
    for (String key : keySet) {
        updateSaleAnalyse.add(saleAnalyeMap.get(key));
    }
    saleAnalyseEntityManager.updateSaleAnalyse(updateSaleAnalyse, updateSchemeSet, issueData.getLotteryType());
}

From source file:com.cai310.lottery.web.controller.lottery.keno.KenoController.java

/**
 * ?/*from w  ww  .j  a v a 2 s .  co m*/
 * 
 * @return
 */
public String result() {
    try {
        Class<I> cls = kenoService.getIssueDataClass();
        DetachedCriteria criteria = DetachedCriteria.forClass(cls);
        criteria.add(Restrictions.isNotNull("results"));
        if (StringUtils.isBlank(resultDate)) {
            resultDate = DateUtil.getTodaySixStr();
        }
        criteria.add(Restrictions.gt("prizeTime", DateUtil.getTodaySixDate(resultDate)));
        criteria.add(
                Restrictions.lt("prizeTime", DateUtil.getNextdaySixDate(DateUtil.getTodaySixDate(resultDate))));
        criteria.addOrder(Order.desc("id"));
        periods = kenoService.findKenoPeriodByCriteria(criteria, null);
        resultDates = DateUtil.getSixList();
        return "result-info";
    } catch (ServiceException e) {
        addActionMessage(e.getMessage());
    } catch (Exception e) {
        addActionMessage(e.getMessage());
        logger.warn(e.getMessage(), e);
    }

    return error();
}

From source file:com.cai310.lottery.web.controller.ticket.then.KenoController.java

public String resultList() {
    Map map = Maps.newHashMap();/*from w ww .j a v a  2 s.  co  m*/
    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;
}