package com.xiao.controller;
import com.google.code.kaptcha.Constants;
import com.xiao.domain.Package;
import com.xiao.entity.PageResult;
import com.xiao.entity.Result;
import com.xiao.entity.VerifyCode;
import com.xiao.service.PackageService;
import com.xiao.service.UserService;
import jdk.nashorn.internal.runtime.Context;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.servlet.ModelAndView;
import javax.imageio.ImageIO;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import java.awt.image.BufferedImage;
import java.io.IOException;
import java.io.OutputStream;
import java.util.List;
/**
* @ClassName PackageController
* @Author 86155
* @Description TODO快递管理
* @createTime 2022年04月07日 15:57:00
*/
@Controller
public class PackageController {
//完成依赖注入
@Autowired
private PackageService packageService;
@Autowired
private UserService userService;
private Context.ThrowErrorManager logger;
/*一对多根据用户编号查询所有快递*/
@RequestMapping("/selectPackageByPersonId")
public ModelAndView selectPackageByPersonId(Integer personId){
//怎么获取前端user.id->personId,
List<Package> packageList = (List<Package>) packageService.selectPackageByPersonId(personId);
System.out.println(packageList);
//泛型转换list:string-->int
PageResult pageResult = new PageResult(1,packageList);
ModelAndView modelAndView = new ModelAndView();
//设置页面
modelAndView.setViewName("user_express");
//将查询到的数据返回前端
modelAndView.addObject("pageResult",pageResult);
return modelAndView;
}
@RequestMapping("/getVerifyCode")
public void getVerificationCode(HttpServletResponse response,HttpServletRequest request) {
try {
int width=200;
int height=69;
BufferedImage verifyImg=new BufferedImage(width,height,BufferedImage.TYPE_INT_RGB);
//生成对应宽高的初始图片
String randomText = VerifyCode.drawRandomText(width,height,verifyImg);
//单独的一个类方法,出于代码复用考虑,进行了封装。
//功能是生成验证码字符并加上噪点,干扰线,返回值为验证码字符
request.getSession().setAttribute("verifyCode", randomText);
response.setContentType("image/jpg");//必须设置响应内容类型为图片,否则前台不识别
OutputStream os = response.getOutputStream(); //获取文件输出流
ImageIO.write(verifyImg,"jpg",os);//输出图片流
os.flush();
os.close();//关闭流
} catch (IOException e) {
this.logger.error(e.getMessage());
e.printStackTrace();
}
}
//取件后修改快递状态
@ResponseBody
@RequestMapping("/updatePackageStatus")
public Result updatePackageStatus(Integer id,String captcha,HttpServletRequest request,HttpServletResponse response){
try {
//校验验证码
String code = request.getParameter("captcha").toLowerCase();
//String code = captcha.toLowerCase();
System.out.println(code);
HttpSession session = request.getSession();
String trueCaptcha = String.valueOf(session.getAttribute("verifyCode")).toLowerCase();
System.out.println(trueCaptcha);
if (!trueCaptcha.equalsIgnoreCase(code)) {
return new Result(false, "取件失败,修改状态失败");
} else {
//根据数据信息修改状态为已签收2
Integer count = packageService.updatePackageStatus(id);
//判断是否修改成功
if (count != 1) {
return new Result(false, "取件失败,修改状态失败");
}
return new Result(true, "取件成功");
}
}catch(Exception e){
e.printStackTrace();
return new Result(false, "取件失败,修改状态失败");
}
}
/*寄件/增加快递*/
@ResponseBody
@RequestMapping("/addPackage")
public Result addPackage(Package packages){
try {
Integer count = packageService.addPackage(packages);
if (count > 0) {
return new Result(true, "新增快递成功");
}else {
return new Result(false, "新增快递失败");
}
}catch (Exception e){
e.printStackTrace();
return new Result(false, "系统失败");
}
}
/*查询所有快递*/
@RequestMapping("/findAllPackage")
public ModelAndView findAllPackage(){
List<Package> packages = packageService.findAllPackage();
PageResult pageResult = new PageResult(1,packages);
ModelAndView modelAndView = new ModelAndView();
modelAndView.setViewName("express");
modelAndView.addObject("pageResult",pageResult);
return modelAndView;
}
/*根据Id查询快递*/
@ResponseBody
@RequestMapping("/findPackageById")
public Result findPackageById(Integer id){
try {
Package aPackage = packageService.findPackageById(id);
if (aPackage == null) {
return new Result(false, "快递查询失败");
}
return new Result(true, "快递查询成功",aPackage);
}catch (Exception e){
e.printStackTrace();
return new Result(false, "快递查询失败");
}
}
/*模糊查询快递*/
@RequestMapping("/search")
public ModelAndView search(String number){
List<Package> packages = packageService.search(number);
PageResult pageResult = new PageResult(1,packages);
ModelAndView modelAndView = new ModelAndView();
modelAndView.setViewName("express");
modelAndView.addObject("pageResult",pageResult);
return modelAndView;
}
/*修改快递*/
@ResponseBody
@RequestMapping("/updatePackage")
public Result<Package> updatePackage(Package p){
try {
Integer count = packageService.updatePackage(p);
if (count != 1) {
return new Result<Package>(false, "修改快递失败");
}
return new Result<Package>(true, "成功修改快递");
}catch (Exception e){
e.printStackTrace();
return new Result<Package>(false,"系统失败");
}
}
/*删除快递*/
@ResponseBody
@RequestMapping("/deletePackage")
public Result deletePackage(Integer id){
try {
Integer count = packageService.deletePackage(id);
if (count != 1) {
return new Result(false, "删除快递失败");
}
return new Result(true, "成功删除快递");
}catch (Exception e){
e.printStackTrace();
return new Result(false,"删除快递失败");
}
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
基于ssm框架的快递管理系统
共176个文件
gif:75个
js:33个
java:25个
需积分: 20 0 下载量 187 浏览量
2022-10-19
18:48:59
上传
评论
收藏 2.97MB ZIP 举报
温馨提示
基于ssm框架的快递管理系统
资源详情
资源评论
资源推荐
收起资源包目录
基于ssm框架的快递管理系统 (176个子文件)
layui.css 88KB
admin.css 25KB
layer.css 14KB
template.css 13KB
main.css 11KB
layui.mobile.css 10KB
laydate.css 7KB
code.css 1KB
user.css 949B
login.css 654B
iconfont.eot 46KB
59.gif 10KB
22.gif 10KB
24.gif 8KB
13.gif 7KB
16.gif 7KB
39.gif 6KB
64.gif 6KB
63.gif 6KB
50.gif 6KB
loading-0.gif 6KB
4.gif 6KB
1.gif 5KB
42.gif 5KB
71.gif 5KB
21.gif 5KB
20.gif 5KB
29.gif 5KB
70.gif 4KB
5.gif 4KB
17.gif 4KB
27.gif 4KB
9.gif 4KB
44.gif 4KB
11.gif 4KB
8.gif 4KB
3.gif 4KB
23.gif 4KB
34.gif 4KB
41.gif 4KB
38.gif 4KB
65.gif 3KB
32.gif 3KB
45.gif 3KB
7.gif 3KB
12.gif 3KB
26.gif 3KB
60.gif 3KB
2.gif 3KB
40.gif 3KB
25.gif 3KB
19.gif 3KB
66.gif 3KB
18.gif 3KB
46.gif 3KB
10.gif 3KB
28.gif 3KB
51.gif 3KB
57.gif 3KB
67.gif 3KB
48.gif 3KB
0.gif 3KB
43.gif 3KB
30.gif 2KB
61.gif 2KB
33.gif 2KB
69.gif 2KB
14.gif 2KB
47.gif 2KB
36.gif 2KB
49.gif 2KB
58.gif 2KB
6.gif 2KB
54.gif 2KB
53.gif 2KB
56.gif 2KB
62.gif 2KB
31.gif 2KB
55.gif 2KB
35.gif 2KB
15.gif 2KB
loading-2.gif 2KB
37.gif 1KB
68.gif 1KB
52.gif 777B
loading-1.gif 701B
.gitignore 184B
express.iml 654B
PackageController.java 7KB
UserController.java 6KB
UserMapper.java 3KB
PackageMapper.java 3KB
AddressController.java 3KB
Package.java 3KB
VerifyCode.java 2KB
MyBatisConfig.java 2KB
PackageServiceImpl.java 2KB
User.java 2KB
Address.java 1KB
UserServiceImpl.java 1KB
共 176 条
- 1
- 2
巳时桥
- 粉丝: 4
- 资源: 5
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- Java将2个List集合合并到一个List里面并排序工具类
- 1123231321321321
- 基于Python的歌曲搜索播放器源代码,利用requests库对歌曲宝网站进行歌曲采集,并用tkinter做了UI
- kernel-devel-3.10.0-1062.21.1.el7.x86-64.rpm
- kernel-3.10.0-1062.21.1.el7.x86-64.rpm
- A2_smvs.zip
- Assignment2(4).ipynb
- 用pytorch框架实现的油井时间序列动态预测的模型,其中包含一些传统的时间序列预测方法 .zip
- TimesNet作为一般时间序列分析强大的基础模型 在长短期预测、插补、异常检测和分类5个主流任务上取得了一致的前沿成果.zip
- 实现结构体序列化和反序列化工具类CSearchive,支持基本类型,C++STL容器以及对象 .zip
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0