Commit 36a60f41 by zhangchen

人脸识别dao层

parent 51328823
/**
* Copyright 2014 CTRIP Co.,Ltd. All rights reserved.
*/
package com.ctrip.fun.golf.dao.user;
import java.io.Serializable;
import java.util.List;
import org.hibernate.Criteria;
import org.hibernate.Query;
import org.hibernate.Session;
import org.hibernate.criterion.Restrictions;
import org.hibernate.transform.Transformers;
import org.springframework.util.CollectionUtils;
import com.ctrip.fun.common.vo.user.CourseDeviceBean;
import com.ctrip.fun.common.vo.user.UserExtBean;
import com.ctrip.fun.golf.dao.GenericHibernateDao;
import com.ctrip.fun.golf.domain.user.BasicUser;
import com.ctrip.fun.golf.domain.user.FaceCourseDevice;
import com.ctrip.fun.golf.domain.user.FaceDetail;
/**
* @author zgsong
* @version 1.0.0
*/
public class CourseDeviceDao extends GenericHibernateDao<FaceCourseDevice, Serializable> {
public FaceCourseDevice getCourseDeviceByDeviceId(String deviceId) {
Criteria criteriaDeviceId = this.getCriteria();
criteriaDeviceId.add(Restrictions.eq("deviceId", deviceId));
List<FaceCourseDevice> list = criteriaDeviceId.list();
return CollectionUtils.isEmpty(list) ? null : list.get(0);
}
}
......@@ -6,6 +6,7 @@ import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Date;
import java.util.GregorianCalendar;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
......@@ -47,6 +48,8 @@ import com.ctrip.fun.common.vo.user.RecommendUserListQuery;
import com.ctrip.fun.common.vo.user.SimpleUser;
import com.ctrip.fun.common.vo.user.UserBean;
import com.ctrip.fun.common.vo.user.UserExtBean;
import com.ctrip.fun.common.vo.user.UserFace;
import com.ctrip.fun.common.vo.user.UserFaceBean;
import com.ctrip.fun.golf.dao.GenericHibernateDao;
import com.ctrip.fun.golf.domain.integral.IntegralConfig;
import com.ctrip.fun.golf.domain.user.UserExt;
......@@ -81,6 +84,35 @@ public class UserExtDao extends GenericHibernateDao<UserExt, Integer> {
query.setParameter("uid", uid);
return (UserExt) query.uniqueResult();
}
/**
* 获取社员到期时间
* @param uid
* @return
*/
public UserExt getUserExtFaceInfoByUid(String uid) {
SimpleDateFormat sdf = new SimpleDateFormat();
String hsql = "from UserExt t where t.uid=:uid";
Query query = getSession().createQuery(hsql);
query.setParameter("uid", uid);
UserExt ext = (UserExt) query.uniqueResult();
Calendar cal = new GregorianCalendar();
cal.setTime(ext.getCommuneAgainTime());
cal.add(Calendar.YEAR, 1);//增加一年
ext.setCommuneAgainTime(cal.getTime());
return ext;
// String sql = "SELECT t1.vipGrade vipGrade,DATE_ADD(t1.communeAgainTime, INTERVAL 1 YEAR) 'communeAgainTime',t1.userName userName"
// +"from bsc_userext t1 where t1.uid="+uid;
// Session session = this.getSession();
// List results = session.createSQLQuery(sql)
// .setResultTransformer(Transformers.ALIAS_TO_ENTITY_MAP).list();
// UserFaceBean userFace = new UserFaceBean();
// Map map = (Map)results.get(0);
// userFace.setUid(map.get("uid") == null ? "" : map.get("uid").toString());
// userFace.setUserName(map.get("userName") == null ? "" : map.get("userName").toString());
// userFace.setVipGrade(Integer.parseInt((String) map.get("vipGrade")));
// return userFace;
}
public UserExt getUserExtInfoByExtId(Integer extId) {
String hsql = "from UserExt t where t.extID=:extId";
......@@ -493,6 +525,64 @@ public class UserExtDao extends GenericHibernateDao<UserExt, Integer> {
return pagedEntityBean;
}
/**
* 查询人脸识别社员列表
*
* @param object
* @return
*/
public List<UserFace> queryFaceList() {
List<UserFace> recommendList = new ArrayList<UserFace>();
String sql = "SELECT t1.UID 'uid',t1.faceImage 'faceImage'"
+"from bsc_userext t1 where t1.vipGrade in(1,2,3,6) and t1.faceImage is not null and t1.faceImage!='' group BY t1.uid";
Session session = this.getSession();
List results = session.createSQLQuery(sql)
.setResultTransformer(Transformers.ALIAS_TO_ENTITY_MAP).list();
for(int i = 0;i < results.size();i++){
UserFace userFace = new UserFace();
Map map = (Map)results.get(i);
userFace.setUid(map.get("uid") == null ? "" : map.get("uid").toString());
userFace.setFaceIamge(map.get("faceImage") == null ? "" : map.get("faceImage").toString());
recommendList.add(userFace);
}
return recommendList;
}
/**
* 查询人脸下载失败的社员列表
*
* @param object
* @return
*/
public List<UserFace> faceFailList(String uids) {
StringBuffer sql = new StringBuffer("");
List<UserFace> recommendList = new ArrayList<UserFace>();
if(uids==null&&"".equals(uids)){
return null;
}
String [] uidStrs = uids.split(",");
sql.append("SELECT t1.UID 'uid',t1.faceImage 'faceImage'"
+"from bsc_userext t1 where t1.uid in(");
for(String uid : uidStrs){
sql.append(uid+",");
}
sql.setLength(sql.length()-1);
sql.append(" ) ");
Session session = this.getSession();
List results = session.createSQLQuery(sql.toString())
.setResultTransformer(Transformers.ALIAS_TO_ENTITY_MAP).list();
for(int i = 0;i < results.size();i++){
UserFace userFace = new UserFace();
Map map = (Map)results.get(i);
userFace.setUid(map.get("uid") == null ? "" : map.get("uid").toString());
userFace.setFaceIamge(map.get("faceImage") == null ? "" : map.get("faceImage").toString());
recommendList.add(userFace);
}
return recommendList;
}
public int updateRecommendCodeByUid(Object object) {
UserExtBean bean = (UserExtBean) object;
String sql = "UPDATE UserExt SET RecommendCode = :recommendCode WHERE UID = :uid";
......@@ -767,6 +857,30 @@ public class UserExtDao extends GenericHibernateDao<UserExt, Integer> {
return false;
}
/**
* 识别记录存储
*/
@SuppressWarnings("rawtypes")
public boolean saveFaceDetail(String uid, String deviceId) {
if (StringUtils.isEmpty(uid) || StringUtils.isEmpty(deviceId)
|| StringUtils.equals(uid, deviceId)) {
return false;
}
String sql = "insert into face_detail (uid,create_time,deviceId) values(:uid,:createTime,:deviceId)";
Query query = this.getSession().createSQLQuery(sql);
query.setParameter("uid", uid);
query.setParameter("createTime", new Date());
query.setParameter("deviceId", deviceId);
try {
query.executeUpdate();
return true;
} catch (Exception e) {
}
return false;
}
public boolean isSubscribeUid(String uid, String subscriberId){
if (StringUtils.isEmpty(uid) || StringUtils.isEmpty(subscriberId)
|| StringUtils.equals(uid, subscriberId)) {
......@@ -1134,6 +1248,18 @@ public class UserExtDao extends GenericHibernateDao<UserExt, Integer> {
return query.executeUpdate();
}
/**
* 修改用户人脸照片
*/
public int updateFaceImageByUid(String uid, String faceImage) {
String sql = "update UserExt set faceImage=:faceImage"
+ " where uid=:uid";
Query query = getSession().createQuery(sql);
query.setParameter("uid", uid);
query.setParameter("faceImage", faceImage);
return query.executeUpdate();
}
/**
* 保存之前先清空缓存
* @param ue
......@@ -1218,6 +1344,14 @@ public class UserExtDao extends GenericHibernateDao<UserExt, Integer> {
return query.executeUpdate();
}
//更新人脸照片
public int updateUserFace(UserExt userext2) {
String sql = "update UserExt set faceImage=:faceImage where extID=:extID";
Query query = getSession().createQuery(sql);
query.setParameter("faceImage", userext2.getFaceImage());
query.setParameter("extID", userext2.getExtID());
return query.executeUpdate();
}
public int deleteByExtID(int id) {
String sql = "delete FROM UserExt Where extID=:extID";
Query query = getSession().createQuery(sql);
......
/**
* Copyright 2014 CTRIP Co.,Ltd. All rights reserved.
*/
package com.ctrip.fun.golf.dao.user;
import java.io.Serializable;
import java.util.List;
import org.hibernate.Criteria;
import org.hibernate.Query;
import org.hibernate.criterion.Restrictions;
import org.springframework.util.CollectionUtils;
import com.ctrip.fun.common.vo.user.UserExtBean;
import com.ctrip.fun.golf.dao.GenericHibernateDao;
import com.ctrip.fun.golf.domain.user.BasicUser;
import com.ctrip.fun.golf.domain.user.FaceDetail;
/**
* @author zgsong
* @version 1.0.0
*/
public class UserFaceDao extends GenericHibernateDao<FaceDetail, Serializable> {
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or sign in to comment