You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

71 lines
2.4 KiB

package com.community.pocket.repository.android;
import com.community.pocket.entity.po.android.Token;
import com.community.pocket.entity.po.android.Visitor;
import com.community.pocket.entity.vo.android.VisitorForm;
import com.community.pocket.repository.BaseDao;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.data.domain.Sort;
import org.springframework.data.mongodb.core.query.Criteria;
import org.springframework.data.mongodb.core.query.Query;
import org.springframework.stereotype.Repository;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.List;
//访客数据接口
@Repository
public class VisitorDao extends BaseDao<Visitor> {
private static final Logger LOG = LoggerFactory.getLogger(VisitorDao.class);
@Value("${visitor.dateformat}")
private String dateformat;
//保存访客信息
public Visitor save(VisitorForm visitorForm) {
Visitor visitor = new Visitor();
visitor.setAppointment(visitorForm.getAppointment());
visitor.setUsername(visitorForm.getUsername());
visitor.setChooseDate(visitorForm.getChooseDate());
visitor.setChooseTime(visitorForm.getChooseTime());
visitor.setNotes(visitorForm.getNotes());
try {
visitor.setTime(new SimpleDateFormat(dateformat).parse(visitor.getChooseDate() + " " + visitor.getChooseTime()).getTime());
return save(visitor);
} catch (ParseException e) {
e.printStackTrace();
LOG.error(e.toString());
}
return null;
}
//加载我的访客信息
public List<Visitor> loadMyVisitor(Token token) {
return mongoTemplate.find(new Query(Criteria.where("appointment").is(token.getUsername())).with(Sort.by("time").ascending()), entityClass());
}
//加载我的预约
public List<Visitor> loadMyReservation(Token token) {
return mongoTemplate.find(new Query(Criteria.where("username").is(token.getUsername())).with(Sort.by("time").ascending()), entityClass());
}
@Override
public Visitor save(Visitor visitor) {
try {
return mongoTemplate.save(visitor);
} catch (Exception e) {
e.printStackTrace();
LOG.error(e.toString());
}
return null;
}
@Override
public Class<Visitor> entityClass() {
return Visitor.class;
}
}