package com.ks.app.service.impl.user; import com.ks.app.dao.user.UserLoginRecordDao; import com.ks.app.dao.user.UserLoginRecordDao.DaoQuery; import com.ks.app.entity.user.UserLoginRecord; import com.ks.app.service.inter.user.UserLoginRecordService; import com.ks.app.service.query.user.UserLoginRecordQuery; import org.springframework.data.mongodb.core.query.Criteria; import org.springframework.data.mongodb.core.query.Query; import org.springframework.stereotype.Service; import org.yeshi.utils.TimeUtil; import org.yeshi.utils.bean.BeanUtil; import javax.annotation.Resource; import java.util.Date; import java.util.List; @Service public class UserLoginRecordServiceImpl implements UserLoginRecordService { @Resource private UserLoginRecordDao userLoginRecordDao; @Override public void addUserLoginRecord(UserLoginRecord record) { if (record == null) return; if (record.getUid() == null) return; if (record.getCreateTime() == null) { record.setCreateTime(new Date()); } if (record.getId() == null) { record.setId(TimeUtil.getGernalTime(System.currentTimeMillis(), "yyyyMMddHHmmssSSS") + "_" + record.getUid()); } userLoginRecordDao.save(record); } @Override public List list(UserLoginRecordQuery userLoginRecordQuery, int page, int pageSize) { DaoQuery daoQuery = new DaoQuery(); try { BeanUtil.copyProperties(userLoginRecordQuery, daoQuery); } catch (IllegalAccessException e) { e.printStackTrace(); } daoQuery.start = (page - 1) * pageSize; daoQuery.count = pageSize; return userLoginRecordDao.list(daoQuery); } @Override public long count(UserLoginRecordQuery userLoginRecordQuery) { DaoQuery daoQuery = new DaoQuery(); try { BeanUtil.copyProperties(userLoginRecordQuery, daoQuery); } catch (IllegalAccessException e) { e.printStackTrace(); } return userLoginRecordDao.count(daoQuery); } @Override public UserLoginRecord get(String id) { Query query = new Query(); query.addCriteria(Criteria.where("_id").is(id)); return userLoginRecordDao.findOne(query); } }