07-项目训练_取件

目录

1,说明

2,修改pickExpress.html

3,修改wx/expressController处理上面添加的请求

4,依次处理service-》dao接口-》dao实现类


完整项目在这里实时更新<( ̄︶ ̄)↗[GO!]:
GitHub - GoodbyeFirefly/ExpressManagementSystem: 用GitHub一步步记录编码过程,实现一个相对完整的快递管理项目https://github.com/GoodbyeFirefly/ExpressManagementSystemicon-default.png?t=L892https://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!]

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值