/******************************************************************************
|
* Copyright (C) 2015 Shenzhen Penguin Network Technology Co., Ltd
|
* All Rights Reserved.
|
* ±¾Èí¼þΪÉîÛÚÊÐÆó¶ìÍøÂç¿Æ¼¼ÓÐÏÞ¹«Ë¾¿ª·¢ÑÐÖÆ¡£Î´¾±¾¹«Ë¾ÕýʽÊéÃæÍ¬Ò⣬ÆäËûÈκθöÈË¡¢ÍÅÌå
|
* ²»µÃʹÓᢸ´ÖÆ¡¢Ð޸Ļò·¢²¼±¾Èí¼þ.
|
*****************************************************************************/
|
|
package com.qxueyou.scc.base.service.impl;
|
|
import java.io.Serializable;
|
import java.util.Collection;
|
import java.util.List;
|
import java.util.Map;
|
|
import javax.persistence.EntityManager;
|
import javax.persistence.PersistenceContext;
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Qualifier;
|
import org.springframework.stereotype.Service;
|
|
import com.querydsl.jpa.impl.JPAQueryFactory;
|
import com.qxueyou.scc.base.dao.CommonDAO;
|
import com.qxueyou.scc.base.model.ITrace;
|
import com.qxueyou.scc.base.model.Pager;
|
import com.qxueyou.scc.base.model.Result;
|
import com.qxueyou.scc.base.service.ICommonService;
|
import com.qxueyou.scc.base.util.TraceUtils;
|
import com.qxueyou.scc.sys.model.SysDictionary;
|
|
@Service(value = "commonAppService")
|
/**
|
* @author Ïĵ»¢
|
* @since JDK1.7
|
* @history 2014-11-18 Ïĵ»¢ н¨
|
*/
|
public class CommonAppService implements ICommonService {
|
/**
|
* »ñÈ¡ÊÂÎñ¹ÜÀíÆ÷
|
*/
|
@PersistenceContext
|
public EntityManager em;
|
|
/**
|
* »ñÈ¡querydsl ²éѯ¹¤³§
|
*/
|
public JPAQueryFactory queryFactory;
|
|
private CommonDAO commonDAO;
|
|
|
public CommonDAO getCommonDAO(){
|
return commonDAO;
|
}
|
|
public JPAQueryFactory getQueryFactory() {
|
return new JPAQueryFactory(em);
|
}
|
|
|
/**
|
* ɾ³ýʵÌå
|
* @param trace
|
*/
|
public void deleteTrace(ITrace trace) {
|
trace.setDeleteFlag(true);
|
TraceUtils.setUpdateTrace(trace);
|
save(trace);
|
}
|
|
/**
|
* ɾ³ýʵÌ弯ºÏ
|
* @param traces
|
*/
|
public <T extends ITrace> void deleteTraces(List<T> traces) {
|
for (ITrace trace : traces) {
|
deleteTrace(trace);
|
}
|
}
|
|
/**
|
* ÒÀÀµ×¢Èë
|
*
|
* @param commonDAO
|
*/
|
@Autowired(required = false)
|
public void setCommonDAO(@Qualifier("commonDao")
|
CommonDAO commonDAO) {
|
this.commonDAO = commonDAO;
|
}
|
|
/**
|
* ¶ÁÈ¡¶ÔÏó
|
* @param <T> ·ºÐÍ
|
* @param clz ʵÌåÀàÐÍ
|
* @param pk ʵÌåÖ÷¼ü
|
* @return ²éѯ½á¹û
|
*/
|
public <T> T read(Class<T> clz,Serializable pk){
|
return this.commonDAO.read(clz, pk);
|
}
|
|
|
/**
|
* ±£´æ¶ÔÏó
|
* @return ²éѯ½á¹û
|
*/
|
public Result save(Object obj){
|
this.commonDAO.saveOrUpdate(obj);
|
return new Result(true);
|
|
}
|
|
/**
|
* ˢжÔÏó ÊÖ¶¯Ìá½»
|
* @return ²éѯ½á¹û
|
*/
|
public void flush(){
|
getCommonDAO().getHibernateTemplate().flush();
|
}
|
|
/**
|
* Çå³ý»º´æ
|
*/
|
public void clearCache(){
|
getCommonDAO().getHibernateTemplate().clear();
|
}
|
|
/**
|
* Çå³ýµ¥¸ö»º´æ
|
*/
|
public void evict(Object obj){
|
getCommonDAO().getHibernateTemplate().evict(obj);
|
}
|
|
/**
|
* ±£´æ¶ÔÏó
|
* @return ²éѯ½á¹û
|
*/
|
public Result insert(Object obj){
|
this.commonDAO.save(obj);
|
return new Result(true);
|
|
}
|
|
/**
|
* ±£´æ¶ÔÏó
|
* @return ²éѯ½á¹û
|
*/
|
@SuppressWarnings("rawtypes")
|
public Result saveOrUpdateAll(Collection collection){
|
commonDAO.saveOrUpdateAll(collection);
|
return new Result(true);
|
|
}
|
|
/**
|
* ¸ù¾Ýhql²éѯ,²¢·µ»ØÖ´ÐÐÀàÐ͵ÄÁбí½á¹û
|
* @param hql ²éѯÓï¾ä
|
* @param args ²ÎÊý
|
* @param cls ·µ»ØÀàÐÍ
|
* @return
|
*/
|
public <T> List<T> find(String hql,List<Object> args,Class<T> cls){
|
return this.commonDAO.find(hql, args, cls);
|
}
|
|
/**
|
* ¸ù¾Ýhql²éѯ,²¢·µ»ØÖ´ÐÐÀàÐ͵ÄÁбí½á¹û
|
*
|
* @param hql ²éѯÓï¾ä
|
* @param cls ·µ»ØÀàÐÍ
|
* @return
|
*/
|
public int findCount(String hql, List<Object> args) {
|
return this.commonDAO.findCount(hql, args);
|
}
|
|
|
/**
|
* ±£´æ»ò¸üжÔÏó
|
*/
|
public void deleteAll(@SuppressWarnings("rawtypes") Collection col) {
|
this.commonDAO.deleteAll(col);
|
}
|
|
/**
|
* ¸ù¾Ýhql²éѯ,²¢·µ»ØÖ´ÐÐÀàÐ͵ÄΨһ½á¹û
|
* @param hql ²éѯÓï¾ä
|
* @param args ²ÎÊý
|
* @param cls ·µ»ØÀàÐÍ
|
* @return
|
*/
|
public <T> T findUnique(String hql,List<Object> args,Class<T> cls){
|
return this.commonDAO.findUnique(hql, args, cls);
|
}
|
|
/**
|
* ʹÓÃsql²éѯ½á¹û
|
* @param sql
|
* @param args
|
* @return
|
*/
|
@SuppressWarnings("rawtypes")
|
public List findBySql(final String sql,final List<Object> args){
|
return this.commonDAO.findBySql(sql, args);
|
}
|
|
/**
|
* ʹÓÃsql²éѯ½á¹û
|
* @param sql
|
* @param args
|
* @return
|
*/
|
@SuppressWarnings("rawtypes")
|
public List findByPageSql(final String sql,final List<Object> args, final Pager pager){
|
return this.commonDAO.findByPageSql(sql, args, pager);
|
}
|
|
/**
|
* ʹÓÃsql²éѯ½á¹û
|
* @param sql
|
* @param args
|
* @return
|
*/
|
public int findCountBySql(final String sql,final List<Object> args){
|
return this.commonDAO.findCountBySql(sql, args);
|
}
|
|
public Result bulkUpdate(String hql, Object args[]) {
|
return this.commonDAO.bulkUpdate(hql, args);
|
}
|
|
public Result executeProduce(String sql, Object args[]) {
|
return this.commonDAO.executeProduce(sql, args);
|
}
|
|
public int executeDelete(String sql, Object args[]) {
|
return this.commonDAO.executeSqlDelete(sql, args);
|
}
|
|
/**
|
* hqlÖ»º¬µ¥Ò»²ÎÊý
|
*
|
* @param hql ²éѯÓï¾ä
|
* @param args ²ÎÊýÊý×é
|
* @param cls ·µ»ØÀàÐÍ
|
* @return
|
*/
|
public Result bulkUpdateInLoop(String hql, Object args[]) {
|
return this.commonDAO.bulkUpdateInLoop(hql, args);
|
}
|
|
/**
|
* ¸´ÔÓhql
|
* @param sql
|
* @param map
|
* @param cls
|
* @return
|
*/
|
public <T> List<T> findByComplexHql(final String hql, final Map<String, Object> map, Class<T> cls){
|
return this.commonDAO.findByComplexHql(hql, map, cls);
|
}
|
|
/**
|
* ¸´ÔÓhql
|
* @param sql
|
* @param map
|
* @param cls
|
* @return
|
*/
|
public <T> T findUniqueByHql(final String hql, final Map<String, Object> map){
|
return commonDAO.findUniqueByHql(hql, map);
|
}
|
|
/**
|
* ¸´ÔÓhql
|
* @param sql
|
* @param map
|
* @param cls
|
* @return
|
*/
|
public <T> List<T> findByComplexHql(final String hql, final Pager page, final Map<String, Object> map, Class<T> cls){
|
return this.commonDAO.findByComplexHql(hql, page, map, cls);
|
}
|
|
/**
|
* ·µ»Ø¸öÊý ¸´ÔÓhql
|
*
|
* @param hql ²éѯÓï¾ä
|
* @param cls ·µ»ØÀàÐÍ
|
* @return
|
*/
|
public int findCountByComplexHql(final String hql, final Map<String, Object> map) {
|
return this.commonDAO.findCountByComplexHql(hql, map);
|
}
|
|
/**
|
* ·µ»Ø¸öÊý ¸´ÔÓsql
|
*
|
* @param hql ²éѯÓï¾ä
|
* @param cls ·µ»ØÀàÐÍ
|
* @return
|
*/
|
public int findCountByComplexSql(final String hql, final Map<String, Object> map) {
|
return this.commonDAO.findCountByComplexSql(hql, map);
|
}
|
|
/**
|
* ¸´ÔÓsql
|
* @param sql
|
* @param map
|
* @param cls
|
* @return
|
*/
|
public <T> List<T> findByComplexSql(final String sql, final Map<String, Object> map, Class<T> cls){
|
return this.commonDAO.findByComplexSql(sql, map, cls);
|
}
|
|
/**
|
* ¸´ÔÓhql
|
* @param sql
|
* @param map
|
* @param cls
|
* @return
|
*/
|
public <T> List<T> findByComplexSql(final String sql, final Pager page, final Map<String, Object> map, Class<T> cls){
|
return this.commonDAO.findByComplexSql(sql, page, map, cls);
|
}
|
|
/**
|
* ¸ù¾Ýhql²éѯ,²¢·µ»ØÖ´ÐÐÀàÐ͵ÄÁбí½á¹û£¬ÁбíÊý¾ÝΪMap
|
* @param hql
|
* @param map
|
* @return
|
*/
|
public List<Map<String,Object>> findListWithMapByHql(final String hql, final Map<String, Object> map){
|
return this.commonDAO.findListWithMapByHql(hql, map);
|
}
|
|
/**
|
* ¸ù¾Ýhql²éѯ,²¢·µ»ØÖ´ÐÐÀàÐ͵ÄÁбí½á¹û£¬ÁбíÊý¾ÝΪMap
|
* @param hql
|
* @param args
|
* @return
|
*/
|
public List<Map<String,Object>> findListWithMapByHql(final String hql, final Map<String, Object> args,final Pager page){
|
return this.commonDAO.findListWithMapByHql(hql, args,page);
|
}
|
|
/**
|
* ·ÖÒ³²éѯ
|
* @param hql
|
* @param page
|
* @param args
|
* @param cls
|
* @return
|
*/
|
public <T> List<T> findList(final String hql, final Pager page, final List<Object> args,Class<T> cls){
|
return this.commonDAO.findList(hql, page, args, cls);
|
}
|
|
/**
|
* ²éѯ
|
* @param hql
|
* @param args
|
* @return
|
*/
|
public List<Object[]> findwithRawResult(String hql, List<Object> args) {
|
return this.commonDAO.findwithRawResult(hql, args);
|
}
|
|
|
/**
|
* ¸ù¾ÝÅäÖÃkey²éѯvalueÖµ
|
* @param key
|
* @return
|
*/
|
public String queryConfigValue(String key){
|
return this.commonDAO.queryConfigValue(key);
|
}
|
|
/**
|
* ¸ù¾Ý×ÖµäÀàÐͲéѯ×ÖµäÄÚÈݵÄlist
|
* @param dicType
|
* @return
|
*/
|
public List<SysDictionary> queryDictConfigMap(String dicType){
|
return this.commonDAO.queryDictConfigMap(dicType);
|
}
|
}
|