目录
3,修改wx/expressController处理上面添加的请求
完整项目在这里实时更新<( ̄︶ ̄)↗[GO!]:
GitHub - GoodbyeFirefly/ExpressManagementSystem: 用GitHub一步步记录编码过程,实现一个相对完整的快递管理项目https://github.com/GoodbyeFirefly/ExpressManagementSystemhttps://github.com/GoodbyeFirefly/ExpressManagementSystem
1,说明
由于域名相关问题处理起来比较繁琐,而没有合法域名就无法对微信扫码功能进行正确配置。
所以这里暂时只提供一种取件方式:用户登录,找到快件列表,并提供想要取出的快递的取件码。快递员登录,选择快递助手,输入取件码,点击确认收货,交易完成。这时用户的快件列表中会显示刚刚取件成功的快递信息。(在网页端验证,需要开两个网页)
所有和二维码相关的功能全部pass(无限阉割)
2,修改pickExpress.html
1,注释掉原模板中和微信扫描相关的代码
2,为“取货码输入”,“列表展示”组件添加id
3,为查找按钮添加函数find()
function updateStatus(code,type){
//alert("点击的取件码是:"+code);
var windowId = layer.load();
$.getJSON("/wx/updateStatus.do",{code:code},function(data){
layer.msg(data.result);
$("#expUserInfoCont").html("");
layer.close(windowId);
if(type ==0){
getExpress();
}
})
}
function find() {
var windowId = layer.load();
var code = $("#expPickUserId").val();
$.getJSON("/wx/findExpressByCode.do", {code:code}, function (data) {
layer.close(windowId);
layer.msg(data.result);
if (data.status == 0) {
$("#expUserInfoCont").html("");
var express = data.data;
var item = "<div class=\"expInfoCont status1\">\n" +
"\t\t\t<table>\n" +
"\t\t\t\t<tr>\n" +
"\t\t\t\t\t<td>快递公司:</td><td>"+express.company+"</td>\n" +
"\t\t\t\t</tr>\n" +
"\t\t\t\t<tr>\n" +
"\t\t\t\t\t<td>快递单号:</td><td>"+express.number+"</td>\n" +
"\t\t\t\t</tr>\n" +
"\t\t\t\t<tr>\n" +
"\t\t\t\t\t<td>到件时间:</td><td>"+express.intime+"</td>\n" +
"\t\t\t\t</tr>\n" +
"\t\t\t\t<tr>\n" +
"\t\t\t\t\t<td>取件码:</td><td>"+express.code+"</td>\n" +
"\t\t\t\t</tr>\n" +
"\t\t\t</table>\n" +
"\t\t\t<div class=\"btns\">\n" +
"\t\t\t\t<button class=\"btn-success\" onclick=\"updateStatus('"+express.code+"',1)\">确认收货</button>\n" +
"\t\t\t</div>\n" +
"\t\t</div>";
$("#expUserInfoCont").append($(item));
}
})
}
3,修改wx/expressController处理上面添加的请求
@ResponseBody("/wx/updateStatus.do")
public String updateExpressStatus(HttpServletRequest request,HttpServletResponse response){
String code = request.getParameter("code");
boolean flag = ExpressService.updateStatus(code);
Message msg = new Message();
if(flag){
msg.setStatus(0);
msg.setResult("取件成功");
}else{
msg.setStatus(-1);
msg.setResult("取件码不存在,请用户更新二维码");
}
String json = JSONUtil.toJSON(msg);
return json;
}
@ResponseBody("/wx/findExpressByCode.do")
public String findExpressByCode(HttpServletRequest request, HttpServletResponse response) {
String code = request.getParameter("code");
Express e = ExpressService.findByCode(code);
BootstrapTableExpress e2 =null;
if(e!=null){
e2 = new BootstrapTableExpress(e.getId(), e.getNumber(), e.getUsername()
, e.getUserphone(), e.getCompany(), e.getCode(),
DateFormatUtil.format(e.getIntime()), e.getOuttime()==null?"未出库":DateFormatUtil.format(e.getOuttime()),e.getStatus()==0?"待取件":"已取件", e.getSysPhone());
}
Message msg = new Message();
if (e == null) {
msg.setStatus(-1);
msg.setResult("取件码不存在");
} else {
msg.setStatus(0);
msg.setResult("查询成功");
msg.setData(e2);
}
return JSONUtil.toJSON(msg);
}
4,依次处理service-》dao接口-》dao实现类
由于controller中用到了新的service方法,所以需要修改与之相关的一系列方法。
采用自上而下的方法。先用它,然后哪里飘红再逐层修改,这样不容易出错。
章节汇总在这里(づ ̄3 ̄)づ╭❤~@&再见萤火虫&【07-项目训练】
对学习Java感兴趣的同学欢迎加入QQ学习交流群:1126298731
有问题欢迎提问,大家一起在学习Java的路上打怪升级!(o゜▽゜)o☆[BINGO!]