在joolun微信管理系统中的订单页面新增一个发货次数,用来判断发货按钮的显示
这里用来展示发货次数,所以要在订单页面查询的时候吧发货次数和已发货次数都查出来,我这里的总发货次数是在
商品表
里,可以两表连接直接被查出来,但是已发货次数是不确定的,所以只能通过订单表
查询物流表
的总数来确定已发货次数,
因为在查询列表里是没有参数的,所以在订单表里新建总发货和已发货两个字段,通过两表联查分辨查出他们的值,从而在刷新或者返回订单页面的时候要将他们查出来,在前端展示出来,判断一下他们的大小控制发货按钮
1.现在订单页面添加发货次数栏
位置在订单页面的js中
{
label: '发货次数(已发/总发)',
prop: 'goodsStatus',
slot: true,
display: false
},
随后正在vue页面上写div用来接收后台数据展示发货次数
<template slot-scope="scope" slot="goodsStatus">
<div>
<div class="grid-content">这里写用来展示数据的值</div>
</div>
</template>
在数据库里新增两个字段,总发货和已发货
在后端中的实体添加他们
/**
* 查询商品的发货数量
*/
@TableField(exist = false)
private int goodsSum;
/**
* 查询订单的已发货数量
*/
@TableField(exist = false)
private int statusSum;
接下来就是mapper,mapper.xml,service。。。。
mapper
mapper.xml
//这里的updateGoodsSum是通过spuid 和id相同来取值,从而将goods的值添加进goodsSum
<update id="updateGoodsSum">
UPDATE order_info
INNER JOIN goods_spu
ON order_info.spuid = goods_spu.id
SET order_info.goodsSum = goods_spu.goods
</update>
//这里的updateStatusSum是先根据info_id来查询order_logistics 表获取数量的和,
在通过查到的id和order_info 的id相同来给order_info 表的statusSum 赋值
<update id="updateStatusSum">
UPDATE order_info a
INNER JOIN (
SELECT aa.id,COUNT(bb.info_id) v
FROM order_info aa
INNER JOIN order_logistics bb
ON aa.id = bb.info_id
GROUP BY aa.id
) c
SET a.statusSum = c.v
WHERE a.id = c.id
</update>
service
serviceimpl
controller 这里是在查询列表里完成的,直接在原有的controller上执行两个service就可以了,这样就能把值全部赋值给数据库新建的两个字段上
这样就可以吧想要的值传递给前端了
要注意的是这里如果写完实体类,没有写进mapper.xml的
resultMap
中,前端是接收为null的