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.

127 lines
4.8 KiB

package com.community.pocket.api.android;
import com.community.pocket.entity.po.Visitor;
import com.community.pocket.entity.po.android.VisitorPeople;
import com.community.pocket.entity.vo.Page;
import com.community.pocket.entity.vo.Result;
import com.community.pocket.entity.vo.android.*;
import com.community.pocket.repository.android.*;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
/**
* 访客接口
*/
@RestController
public class VisitorController {
@Autowired
private VisitorDao visitorDao;
@Autowired
private VisitorPeopleDao visitorPeopleDao;
@Autowired
private UserDao userDao;
@Autowired
private TokenService tokenService;
//访客预约
@PostMapping("/visitor/visitor")
public VisitorResponse appointment(VisitorForm visitorForm) {
return tokenService.checkToken(visitorForm, new DoCheck<VisitorResponse, VisitorForm>() {
@Override
public VisitorResponse ok(VisitorForm visitorForm) {
if (visitorDao.save(visitorForm) != null && userDao.updateVisitors(visitorForm)) {
return new VisitorResponse(Result.OK, VisitorResponse.Msg.ok);
} else {
return new VisitorResponse(Result.FAIL, VisitorResponse.Msg.fail);
}
}
@Override
public VisitorResponse fail() {
return new VisitorResponse(Result.FAIL, VisitorResponse.Msg.token);
}
});
}
//获取预约人
@GetMapping("/visitor/people")
public VisitorPeopleResponse searchPeople(QueryVisitorPeople visitorPeople) {
List<VisitorPeople> visitorPeopleList = visitorPeopleDao.loadAll(visitorPeople);
VisitorPeopleResponse response;
if (visitorPeopleList.isEmpty()) {
response = new VisitorPeopleResponse(Result.OK, VisitorPeopleResponse.Msg.ok_empty);
} else {
response = new VisitorPeopleResponse(Result.OK, VisitorPeopleResponse.Msg.ok);
}
response.setVisitorPeopleList(visitorPeopleList);
return response;
}
/**
* 我的预约
*/
@GetMapping("/visitor/reservation")
public VisitorReservationResponse loadReservation(VisitorQuery query) {
return tokenService.checkToken(query, new DoCheck<VisitorReservationResponse, VisitorQuery>() {
@Override
public VisitorReservationResponse ok(VisitorQuery visitorQuery) {
Page<Visitor> visitorList = visitorDao.loadMyReservation(query);
VisitorReservationResponse response;
if (visitorList.isEmpty()) {
response = new VisitorReservationResponse(Result.OK, VisitorReservationResponse.Msg.ok_empty);
} else {
if (visitorList.getCurrentPage() > 1) {
response = new VisitorReservationResponse(Result.OK, VisitorReservationResponse.Msg.ok_more);
} else {
response = new VisitorReservationResponse(Result.OK, VisitorReservationResponse.Msg.ok);
}
}
response.setVisitorList(visitorList);
return response;
}
@Override
public VisitorReservationResponse fail() {
return new VisitorReservationResponse(Result.FAIL, VisitorReservationResponse.Msg.token);
}
});
}
/**
* 加载我的访客
*/
@GetMapping("/visitor/my")
public VisitorMyResponse loadMy(VisitorQuery query) {
return tokenService.checkToken(query, new DoCheck<VisitorMyResponse, VisitorQuery>() {
@Override
public VisitorMyResponse ok(VisitorQuery visitorQuery) {
Page<Visitor> visitorList = visitorDao.loadMyVisitor(query);
VisitorMyResponse response;
if (visitorList.isEmpty()) {
response = new VisitorMyResponse(Result.OK, VisitorMyResponse.Msg.ok_empty);
} else {
if (visitorList.getCurrentPage() > 1) {
response = new VisitorMyResponse(Result.OK, VisitorMyResponse.Msg.ok_more);
} else {
response = new VisitorMyResponse(Result.OK, VisitorMyResponse.Msg.ok);
}
}
response.setVisitorList(visitorList);
return response;
}
@Override
public VisitorMyResponse fail() {
return new VisitorMyResponse(Result.FAIL, VisitorMyResponse.Msg.token);
}
});
}
}