package com.park.controller;
import com.park.dao.OrderInfoDAO;
import com.park.dto.Message;
import com.park.dto.Result;
import com.park.enity.OrderInfo;
import com.park.enity.ParkInfo;
import com.park.enity.User;
import com.park.exception.ParkException;
import com.park.exception.StatusEnum;
import com.park.service.ParkService;
import com.park.service.UserService;
import com.park.socketmanage.SocketThreadManage;
import com.park.vo.LoginVo;
import com.park.vo.RegisterVo;
import com.park.vo.RequestVo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.util.StringUtils;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import javax.servlet.http.HttpServletRequest;
import com.park.data.Data;
import java.util.List;
/**
* 处理手机HTTP请求
* Created by ansore on 16-9-11.
*/
@Controller
@RequestMapping(value = "/")
public class PhoneController {
@Autowired
ParkService parkService;
@Autowired
UserService userService;
//TODO 写入Serivice
@Autowired
OrderInfoDAO orderInfoDAO;
@RequestMapping (value = "/phone", produces = "application/json;charset=UTF-8")
@ResponseBody
public Result dealRequest(HttpServletRequest request, @RequestBody RequestVo requestVo){
Result result = new Result(false, StatusEnum.getStatusCode(-1).getStatusInfo());
if(request.getMethod().toLowerCase().equals("get")){
result.setStatus(false);
result.setStatusInfo(StatusEnum.getStatusCode(103).getStatusInfo());
return result;
}
//检测输入字段
if(requestVo==null|| StringUtils.isEmpty(requestVo.getAction())) {
result.setStatus(false);
result.setStatusInfo(StatusEnum.getStatusCode(102).getStatusInfo());
return result;
}
try {
/**
* 处理注册请求
*/
if(requestVo.getAction().equals(Data.Reg)) {
//检测输入字段
if(StringUtils.isEmpty(requestVo.getPalte())||StringUtils.isEmpty(requestVo.getUsername())||StringUtils.isEmpty(requestVo.getPassword())||StringUtils.isEmpty(requestVo.getTelephone())){
result.setStatus(false);
result.setStatusInfo(StatusEnum.getStatusCode(102).getStatusInfo());
return result;
}
//实体转化
RegisterVo registerVo = new RegisterVo();
registerVo.setTelephone(requestVo.getTelephone());
registerVo.setPassword(requestVo.getPassword());
registerVo.setPalte(requestVo.getPalte());
registerVo.setUsername(requestVo.getUsername());
//Service 请求
int i = userService.userRegister(registerVo);
if(i == 1) {
result.setStatus(true);
result.setStatusInfo(StatusEnum.getStatusCode(201).getStatusInfo());
}
return result;
}
/**
* 处理登录请求
*/
if(requestVo.getAction().equals(Data.LoginPhone)) {
//检测输入字段
if(StringUtils.isEmpty(requestVo.getTelephone())||StringUtils.isEmpty(requestVo.getPassword())){
result.setStatusInfo(StatusEnum.getStatusCode(102).getStatusInfo());
return result;
}
//实体转化
LoginVo loginVo = new LoginVo();
loginVo.setTelephone(requestVo.getTelephone());
loginVo.setPassword(requestVo.getPassword());
//service 请求
int i = userService.userLogin(loginVo);
if(i==1) {
result.setStatus(true);
result.setStatusInfo(StatusEnum.getStatusCode(200).getStatusInfo());
}
return result;
}
/**
* 获取停车场信息列表
*/
if(requestVo.getAction().equals(Data.GetParksInfo)) {
//构造返回数据
// result = new Result<ParkInfo>(false,StatusEnum.getStatusCode(101).getStatusInfo());
List<ParkInfo> l = parkService.getParksInfoList();
if(l!=null&&l.size()!=0) {
for (ParkInfo parkInfo : l) {
if(SocketThreadManage.socketThread.get(parkInfo.getParkid()) != null) {
parkInfo.setAlive(true);
} else {
parkInfo.setAlive(false);
}
}
result.setStatus(true);
result.setData(l);
result.setStatusInfo(StatusEnum.getStatusCode(202).getStatusInfo());
}
return result;
}
/**
* 获取车位信息
*/
if(requestVo.getAction().equals(Data.GetLotInfo)) {
//检测输入字段
if(StringUtils.isEmpty(requestVo.getParkId())) {
result.setStatusInfo(StatusEnum.getStatusCode(102).getStatusInfo());
return result;
}
if(SocketThreadManage.socketThread.get(requestVo.getParkId())==null) {
result.setStatusInfo(StatusEnum.getStatusCode(104).getStatusInfo());
return result;
}
//PC交互
Message message = new Message();
message.setMessageType(Data.GetParkInfo);
Message m = SocketThreadManage.socketThread.get(requestVo.getParkId()).sendMessageWait(message);
if(m==null) {
result.setStatusInfo(StatusEnum.getStatusCode(105).getStatusInfo());
return result;
}
//赋值返回
result.setStatus(true);
result.setStatusInfo(StatusEnum.getStatusCode(202).getStatusInfo());
result.setData(m.getParkList());
//释放线程Message对象
SocketThreadManage.socketThread.get(requestVo.getParkId()).freeMessage();
return result;
}
/**
* 预订车位
*/
if(requestVo.getAction().equals(Data.OrderPark)) {
//检测输入字段
if(StringUtils.isEmpty(requestVo.getParkId())||StringUtils.isEmpty(requestVo.getSpaceId())||StringUtils.isEmpty(requestVo.getTelephone())) {
result.setStatusInfo(StatusEnum.getStatusCode(102).getStatusInfo());
return result;
}
if(SocketThreadManage.socketThread.get(requestVo.getParkId())==null) {
result.setStatusInfo(StatusEnum.getStatusCode(104).getStatusInfo());
return result;
}
if(orderInfoDAO.orderIsExist(requestVo.getTelephone())>0) {
result.setStatusInfo(StatusEnum.getStatusCode(106).getStatusInfo());
return result;
}
Message message = new Message();
message.setMessageType(Data.OrderInfo);
message.setParkId(requestVo.getSpaceId());
message.setTelephone(requestVo.getTelephone());
User user = userService.getUser(requestVo.getTelephone());
message.setPalte(user.getPalte());
message.setUserName(user.getUsername());
Message m = SocketThreadManage.socketThread.get(requestVo.getParkId()).sendMessageWait(message);
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
【资源说明】 1、该资源包括项目的全部源码,下载可以直接使用! 2、本项目适合作为计算机、数学、电子信息等专业的课程设计、期末大作业和毕设项目,作为参考资料学习借鉴。 3、本资源作为“参考资料”如果需要实现其他功能,需要能看懂代码,并且热爱钻研,自行调试。 基于物联网的停车系统源码.zip
资源推荐
资源详情
资源评论
收起资源包目录
基于物联网的停车系统源码.zip (289个子文件)
PhoneController.class 8KB
PhoneController.class 8KB
ServerSocketThread.class 4KB
ServerSocketThread.class 4KB
StatusEnum.class 3KB
StatusEnum.class 3KB
SocketThread.class 3KB
SocketThread.class 3KB
Message.class 3KB
Message.class 3KB
Result.class 3KB
Result.class 3KB
UserServiceImpl.class 2KB
UserServiceImpl.class 2KB
ParkServiceImpl.class 2KB
ParkServiceImpl.class 2KB
RequestVo.class 2KB
RequestVo.class 2KB
ParkInfo.class 1KB
ParkInfo.class 1KB
RegisterVo.class 1KB
RegisterVo.class 1KB
SocketServiceLoader.class 1KB
SocketServiceLoader.class 1KB
User.class 1KB
User.class 1KB
ParkStatus.class 1KB
ParkStatus.class 1KB
ParkException.class 1015B
ParkException.class 1015B
OrderParkVo.class 947B
OrderParkVo.class 947B
Data.class 946B
Data.class 946B
OrderInfo.class 740B
OrderInfo.class 740B
LoginVo.class 733B
LoginVo.class 733B
UnlockRelayVo.class 688B
UnlockRelayVo.class 688B
LockRelayVo.class 678B
LockRelayVo.class 678B
EndParkVo.class 672B
EndParkVo.class 672B
GetOrderInfoVo.class 560B
GetOrderInfoVo.class 560B
SocketThreadManage.class 559B
SocketThreadManage.class 559B
GetAllParkInfoVo.class 553B
GetAllParkInfoVo.class 553B
CommonVo.class 529B
CommonVo.class 529B
ParkInfoDAO.class 503B
ParkInfoDAO.class 503B
UserDAO.class 496B
UserDAO.class 496B
GetLotInfoVo.class 494B
GetLotInfoVo.class 494B
OrderInfoDAO.class 462B
OrderInfoDAO.class 462B
ParkService.class 335B
ParkService.class 335B
UserService.class 282B
UserService.class 282B
.classpath 410B
.directory 83B
.gitignore 6B
park.iml 5KB
park-server.iml 4KB
guava-19.0.jar 2.2MB
mybatis-3.3.0.jar 1.35MB
jackson-databind-2.6.0.jar 1.11MB
spring-context-4.1.7.RELEASE.jar 1003KB
spring-core-4.1.7.RELEASE.jar 985KB
spring-webmvc-4.1.7.RELEASE.jar 764KB
spring-web-4.1.7.RELEASE.jar 705KB
spring-beans-4.1.7.RELEASE.jar 696KB
mysql-connector-java-5.1.7-bin.jar 693KB
mysql-connector-java-5.1.6.jar 687KB
mchange-commons-java-0.2.3.4.jar 568KB
logback-core-1.1.3.jar 444KB
spring-jdbc-4.1.7.RELEASE.jar 417KB
c3p0-0.9.2.1.jar 414KB
jstl-1.2.jar 405KB
standard-1.1.2.jar 384KB
spring-aop-4.1.7.RELEASE.jar 351KB
okhttp-3.3.1.jar 336KB
logback-classic-1.1.3.jar 274KB
spring-expression-4.1.7.RELEASE.jar 253KB
jackson-core-2.6.0.jar 253KB
spring-tx-4.1.7.RELEASE.jar 247KB
junit-4.11.jar 239KB
spring-context-support-4.1.7.RELEASE.jar 174KB
okio-1.8.0.jar 70KB
commons-logging-1.2.jar 60KB
mybatis-spring-1.2.3.jar 50KB
jackson-annotations-2.6.0.jar 46KB
hamcrest-core-1.3.jar 44KB
slf4j-api-1.7.3.jar 25KB
aopalliance-1.0.jar 4KB
共 289 条
- 1
- 2
- 3
资源评论
土豆片片
- 粉丝: 1529
- 资源: 5641
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功