如今,由于互联网技术的飞速发展,同时也改变着人们的出行方式,人们会逐渐的选择在线上购买出行的车票,而不是选择去车站大排长龙,与此同时,由于假期时长的缘故,客运汽车出行作为中短途的出行工具也就逐渐流行了起来。传统的客运模式已经不太适应现在的社会发展,人口日益增长,出行人数愈来愈多,客运系统面临着售票厅大排长龙,购买、更改车票过于费时。
为了解决上述的问题,本系统将车票购买与线上购买的方式结合了起来,系统分为后台管理系统和微信小程序,为用户及管理员提供美观、便利、合理的操作界面与信息交互,通过后端与数据库之间的交互使乘车人可以在线上完成车票的购买,修改以及退票等的操作。
其次,对当前软件开发技术进行了研究,提出了基于微信小程序平台,采用微信开发者工具、idea开发,使用MySQL数据库管理数据的开发方案。再次,采用UML建模技术对系统进行需求分析、功能设计以及类的设计;最后为给汽车售票系统提供一个管理的平台,特开发了本微信小程序汽车售票系统。用户可以随时查看汽车售票信息、在线购票等。系统功能齐全,方便易用。
package com.poiu.ticket.core.aspect;
import com.poiu.ticket.core.annotation.IgnoreGlobalResponseAdvice;
import com.poiu.ticket.core.entity.BaseResponse;
import com.poiu.ticket.core.enums.SystemCode;
import com.poiu.ticket.core.exception.BusinessException;
import lombok.extern.slf4j.Slf4j;
import org.springframework.core.MethodParameter;
import org.springframework.http.MediaType;
import org.springframework.http.server.ServerHttpRequest;
import org.springframework.http.server.ServerHttpResponse;
import org.springframework.web.bind.annotation.RestControllerAdvice;
import org.springframework.web.servlet.mvc.method.annotation.ResponseBodyAdvice;
@Slf4j
@RestControllerAdvice
public class GlobalResponseHandler implements ResponseBodyAdvice {
@Override
public boolean supports(MethodParameter methodParameter, Class aClass) {
return !(methodParameter.getDeclaringClass().isAnnotationPresent(IgnoreGlobalResponseAdvice.class) ||
methodParameter.hasMethodAnnotation(IgnoreGlobalResponseAdvice.class));
}
@Override
public Object beforeBodyWrite(Object object, MethodParameter methodParameter, MediaType mediaType, Class aClass, ServerHttpRequest serverHttpRequest, ServerHttpResponse serverHttpResponse) {
// exception
if (object instanceof BusinessException) {
BusinessException exception = (BusinessException) object;
return new BaseResponse<>(exception);
}
BaseResponse<Object> responseDto = new BaseResponse<>(SystemCode.SUCCESS);
responseDto.setData(object);
return responseDto;
}
}