src/main/java/cc/mrbird/febs/mall/controller/AdminMallOrderController.java
@@ -85,6 +85,18 @@ } /** * 订单列表-自提订单 * * @param id * @return */ @GetMapping("takeGoods/{id}") @ControllerEndpoint(operation = "订单列表-自提订单", exceptionMessage = "操作失败") public FebsResponse takeGoods(@NotNull(message = "{required}") @PathVariable Long id) { return adminMallOrderService.takeGoods(id); } /** * 订单列表-删除订单 * * @param id src/main/java/cc/mrbird/febs/mall/dto/AddOrderDto.java
@@ -28,6 +28,9 @@ @ApiModelProperty(value = "1-普通订单/2-积分订单") private Integer orderType; @ApiModelProperty(value = "配送方式 1:快递寄送2:到店自提") private Integer deliverType; @ApiModelProperty(value = "商品明细") private List<AddOrderItemDto> items; src/main/java/cc/mrbird/febs/mall/entity/MallOrderInfo.java
@@ -3,6 +3,7 @@ import cc.mrbird.febs.common.entity.BaseEntity; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableName; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.math.BigDecimal; @@ -87,4 +88,7 @@ */ public static final Integer COMMENT_STATE_NO = 1; public static final Integer COMMENT_STATE_YES = 2; //配送方式 1:快递寄送2:到店自提 private Integer deliverType; } src/main/java/cc/mrbird/febs/mall/service/IAdminMallOrderService.java
@@ -68,4 +68,6 @@ FebsResponse showStateSwitchOff(Long id); FebsResponse delOrder(Long id); FebsResponse takeGoods(Long id); } src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallOrderService.java
@@ -447,6 +447,22 @@ } @Override public FebsResponse takeGoods(Long id) { MallOrderInfo mallOrderInfo = mallOrderInfoMapper.selectById(id); if(ObjectUtil.isEmpty(mallOrderInfo)){ return new FebsResponse().fail().message("订单不存在,刷新后重试"); } Integer status = mallOrderInfo.getStatus(); if(2 != status){ return new FebsResponse().fail().message("订单不是待发货状态"); } mallOrderInfo.setStatus(3); mallOrderInfoMapper.updateById(mallOrderInfo); return new FebsResponse().success(); } @Override public void deliverGoodsByOrderNo(DeliverGoodsDto deliverGoodsDto) { MallOrderInfo mallOrderInfo = mallOrderInfoMapper.selectByOrderNo(deliverGoodsDto.getOrderNo()); if (mallOrderInfo == null) { src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallOrderInfoServiceImpl.java
@@ -186,7 +186,14 @@ } orderInfo.setAmount(total); orderInfo.setCarriage(carriage); int deliverType = ObjectUtil.isEmpty(addOrderDto.getDeliverType()) ? 1 : addOrderDto.getDeliverType(); if(2 == deliverType){ orderInfo.setDeliverType(2); orderInfo.setCarriage(BigDecimal.ZERO); }else{ orderInfo.setDeliverType(1); orderInfo.setCarriage(carriage); } this.baseMapper.updateById(orderInfo); agentProducer.sendOrderCancelDelayMsg(orderInfo.getId(), 15 * 60 * 1000L); src/main/java/cc/mrbird/febs/mall/vo/AdminMallOrderInfoVo.java
@@ -73,4 +73,6 @@ private Integer carriage; private String goodsName; private Integer deliverType; } src/main/java/cc/mrbird/febs/mall/vo/OrderDetailVo.java
@@ -84,5 +84,8 @@ @ApiModelProperty(value = "评价状态 1:待评价 2:已评价") private Integer commentState; @ApiModelProperty(value = "配送方式 1:快递寄送2:到店自提") private Integer deliverType; } src/main/java/cc/mrbird/febs/mall/vo/OrderListVo.java
@@ -37,6 +37,9 @@ @ApiModelProperty(value = "订单类型 1-普通订单 2-积分订单") private Integer orderType; @ApiModelProperty(value = "配送方式 1:快递寄送2:到店自提") private Integer deliverType; @ApiModelProperty(value = "运费") private BigDecimal carriage; src/main/resources/mapper/modules/MallOrderInfoMapper.xml
@@ -110,6 +110,7 @@ <result column="carriage" property="carriage" /> <result column="remark" property="remark" /> <result column="del_flag" property="delFlag" /> <result column="deliver_type" property="deliverType" /> <collection property="items" ofType="cc.mrbird.febs.mall.entity.MallOrderItem"> <id property="id" column="item_id" /> <result property="orderId" column="order_id" /> src/main/resources/templates/febs/views/modules/order/orderList.html
@@ -188,6 +188,11 @@ cancelOrder(data.id); }); } if (layEvent === 'takeGoods') { febs.modal.confirm('自提商品', '确认自提商品?', function () { takeGoods(data.id); }); } if (layEvent === 'delOrder') { febs.modal.confirm('删除订单', '确认删除订单?', function () { delOrder(data.id); @@ -209,6 +214,13 @@ }); } }); function takeGoods(id) { febs.get(ctx + 'admin/order/takeGoods/' + id, null, function () { febs.alert.success('操作成功'); $query.click(); }); } function cancelOrder(id) { febs.get(ctx + 'admin/order/cancelOrder/' + id, null, function () { @@ -257,10 +269,20 @@ {field: 'memberBindPhone', title: '联系方式', minWidth: 120,align:'left'}, {field: 'goodsName', title: '商品信息', minWidth: 200,align:'left'}, {field: 'remark', title: '备注', minWidth: 200,align:'left'}, {field: 'deliverType', title: '配送方式', templet: function (d) { if (d.deliverType === 1) { return '<span style="color:green;">快递寄送</span>' } else if (d.deliverType === 2) { return '<span style="color:blue;">到店自提</span>' }else{ return '<span style="color:green;">快递寄送</span>' } }, minWidth: 120,align:'center'}, {field: 'amount', title: '订单金额', minWidth: 120,align:'left',totalRow: '{{= parseInt(d.amount) }}'}, {field: 'carriage', title: '运费', minWidth: 120,align:'left'}, {field: 'orderTime', title: '下单时间', minWidth: 200,align:'left'}, {field: 'status', title: '状态', {field: 'status', title: '状态', templet: function (d) { if (d.status === 1) { return '<span style="color:red;">待支付</span>' @@ -286,8 +308,13 @@ {title: '操作', templet: function (d) { if (d.status === 2) { return '<button class="layui-btn layui-btn-normal layui-btn-xs" lay-event="deliverGoods" shiro:hasPermission="user:update">发货</button>' if(d.deliverType ===2){ return '<button class="layui-btn layui-btn-normal layui-btn-xs" lay-event="takeGoods" shiro:hasPermission="user:update">自提</button>' +'<button class="layui-btn layui-btn-normal layui-btn-xs" lay-event="seeOrder" shiro:hasPermission="user:update">详情</button>' }else{ return '<button class="layui-btn layui-btn-normal layui-btn-xs" lay-event="deliverGoods" shiro:hasPermission="user:update">发货</button>' +'<button class="layui-btn layui-btn-normal layui-btn-xs" lay-event="seeOrder" shiro:hasPermission="user:update">详情</button>' } }else if(d.status === 7){ return '<button class="layui-btn layui-btn-normal layui-btn-xs" lay-event="seeOrder" shiro:hasPermission="user:update">详情</button>' +'<button class="layui-btn layui-btn-normal layui-btn-xs" lay-event="delOrder" shiro:hasPermission="user:update">删除</button>'