xiaoyong931011
2022-11-28 f214dd3e6828de72ee615097a65a1f2df88e047a
20221126
2 files added
8 files modified
131 ■■■■■ changed files
src/main/java/cc/mrbird/febs/mall/controller/AdminMallOrderController.java 16 ●●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/mall/controller/ViewMallOrderController.java 12 ●●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/mall/entity/MallOrderItem.java 4 ●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/mall/mapper/MallOrderInfoMapper.java 3 ●●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/mall/service/IAdminMallOrderService.java 3 ●●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallOrderService.java 7 ●●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/mall/vo/AdminGoodsStatisticsVo.java 11 ●●●●● patch | view | raw | blame | history
src/main/resources/mapper/modules/MallOrderInfoMapper.xml 17 ●●●●● patch | view | raw | blame | history
src/main/resources/templates/febs/views/modules/order/goodsStatistics.html 38 ●●●●● patch | view | raw | blame | history
src/main/resources/templates/febs/views/modules/order/orderList.html 20 ●●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/mall/controller/AdminMallOrderController.java
@@ -9,6 +9,7 @@
import cc.mrbird.febs.common.enumerates.OrderDeliveryStateEnum;
import cc.mrbird.febs.common.enumerates.OrderStatusEnum;
import cc.mrbird.febs.common.exception.FebsException;
import cc.mrbird.febs.common.utils.FebsUtil;
import cc.mrbird.febs.common.utils.SpringContextHolder;
import cc.mrbird.febs.common.utils.excl.ExcelSheetPO;
import cc.mrbird.febs.common.utils.excl.ExcelUtil;
@@ -25,6 +26,7 @@
import cc.mrbird.febs.pay.service.IXcxPayService;
import cc.mrbird.febs.pay.util.WechatConfigure;
import cc.mrbird.febs.system.entity.Dept;
import cc.mrbird.febs.system.entity.User;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.date.DateTime;
import cn.hutool.core.date.DateUtil;
@@ -606,4 +608,18 @@
        return adminMallOrderService.showStateSwitchOff(id);
    }
    /**
     * 订单列表-统计商品份数
     */
    @GetMapping("goodsStatistics")
    public FebsResponse goodsStatistics(MallOrderItem mallOrderItem, QueryRequest request, Integer parentId) {
        if (parentId == null) {
            ViewMallOrderController.orderIdsStr = "";
        }
        long[] longs = StrUtil.splitToLong(ViewMallOrderController.orderIdsStr, ',');
        mallOrderItem.setOrderIdsStr(longs);
        Map<String, Object> data = getDataTable(adminMallOrderService.goodsStatistics(mallOrderItem,request));
        return new FebsResponse().success().data(data);
    }
}
src/main/java/cc/mrbird/febs/mall/controller/ViewMallOrderController.java
@@ -215,4 +215,16 @@
        return FebsUtil.view("modules/order/refundPayInfo");
    }
    /**
     * 订单列表-统计商品份数
     * @return
     */
    public static String orderIdsStr;
    @GetMapping("/goodsStatistics/{statistics}")
    @RequiresPermissions("goodsStatistics:update")
    public String goodsStatistics(@PathVariable String statistics, Model model) {
        orderIdsStr = statistics;
        return FebsUtil.view("modules/order/goodsStatistics");
    }
}
src/main/java/cc/mrbird/febs/mall/entity/MallOrderItem.java
@@ -1,6 +1,7 @@
package cc.mrbird.febs.mall.entity;
import cc.mrbird.febs.common.entity.BaseEntity;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
@@ -44,4 +45,7 @@
    private Integer hasSettle;
    //1:正常 2:退款中3:已退
    private Integer state;
    @TableField(exist = false)
    private long[] orderIdsStr;
}
src/main/java/cc/mrbird/febs/mall/mapper/MallOrderInfoMapper.java
@@ -5,6 +5,7 @@
import cc.mrbird.febs.mall.dto.OrderListDto;
import cc.mrbird.febs.mall.entity.MallOrderInfo;
import cc.mrbird.febs.mall.entity.MallOrderItem;
import cc.mrbird.febs.mall.vo.AdminGoodsStatisticsVo;
import cc.mrbird.febs.mall.vo.AdminMallOrderInfoVo;
import cc.mrbird.febs.mall.vo.AdminMallOrderVo;
import cc.mrbird.febs.mall.vo.AdminOrderDetailVo;
@@ -76,4 +77,6 @@
    MallOrderInfo selectByIdAndTakeUniqueCode(@Param("orderId")long orderId,@Param("takeUniqueCode") String takeUniqueCode);
    MallOrderInfo selectAllOrderInfoByIdAndTakeUniqueCode(@Param("orderId")long orderId,@Param("takeUniqueCode") String takeUniqueCode);
    IPage<AdminGoodsStatisticsVo> getGoodsStatisticsInPage(Page<AdminGoodsStatisticsVo> page, @Param("record") MallOrderItem mallOrderItem);
}
src/main/java/cc/mrbird/febs/mall/service/IAdminMallOrderService.java
@@ -4,6 +4,7 @@
import cc.mrbird.febs.common.entity.QueryRequest;
import cc.mrbird.febs.mall.dto.*;
import cc.mrbird.febs.mall.entity.MallOrderInfo;
import cc.mrbird.febs.mall.entity.MallOrderItem;
import cc.mrbird.febs.mall.entity.MallOrderRefund;
import cc.mrbird.febs.mall.entity.MallRefundEntity;
import cc.mrbird.febs.mall.vo.*;
@@ -71,4 +72,6 @@
    void updateOrderStateAndDeliveryState(Long id, int value, int value1);
    IPage<MallRefundEntity> getOrderRefundListInPage(MallRefundEntity mallRefundEntity, QueryRequest request);
    IPage<AdminGoodsStatisticsVo> goodsStatistics(MallOrderItem mallOrderItem, QueryRequest request);
}
src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallOrderService.java
@@ -436,6 +436,13 @@
    }
    @Override
    public IPage<AdminGoodsStatisticsVo> goodsStatistics(MallOrderItem mallOrderItem, QueryRequest request) {
        Page<AdminGoodsStatisticsVo> page = new Page<>(request.getPageNum(), request.getPageSize());
        IPage<AdminGoodsStatisticsVo> adminGoodsStatisticsVos = mallOrderInfoMapper.getGoodsStatisticsInPage(page, mallOrderItem);
        return adminGoodsStatisticsVos;
    }
    @Override
    public void deliverGoodsByOrderNo(DeliverGoodsDto deliverGoodsDto) {
        MallOrderInfo mallOrderInfo = mallOrderInfoMapper.selectByOrderNo(deliverGoodsDto.getOrderNo());
        if (mallOrderInfo == null) {
src/main/java/cc/mrbird/febs/mall/vo/AdminGoodsStatisticsVo.java
New file
@@ -0,0 +1,11 @@
package cc.mrbird.febs.mall.vo;
import io.swagger.annotations.ApiModel;
import lombok.Data;
@Data
@ApiModel(value = "AdminGoodsStatisticsVo", description = "信息返回类")
public class AdminGoodsStatisticsVo {
    private String goodsName;
    private Integer goodsCnt;
}
src/main/resources/mapper/modules/MallOrderInfoMapper.xml
@@ -466,4 +466,21 @@
        where a.del_flag=2 and  a.id = #{orderId} and a.take_unique_code = #{takeUniqueCode}
        order by a.created_time desc
    </select>
    <select id="getGoodsStatisticsInPage" resultType="cc.mrbird.febs.mall.vo.AdminGoodsStatisticsVo">
    select
        goods_name goodsName,
        SUM(cnt) goodsCnt
    from mall_order_item
    <where>
        <if test="record.orderIdsStr != null">
            and order_id in
                <foreach collection="record.orderIdsStr" item="id" index="index" open="(" close=")" separator=",">
                    #{id}
                </foreach>
        </if>
    </where>
        GROUP BY goods_id
        ORDER BY goods_id desc
</select>
</mapper>
src/main/resources/templates/febs/views/modules/order/goodsStatistics.html
New file
@@ -0,0 +1,38 @@
<div className="layui-fluid layui-anim febs-anim" id="febs-order-goods-child" lay-title="商品数量统计">
    <div className="layui-row febs-container">
        <div className="layui-col-md12">
            <div className="layui-card">
                <div className="layui-card-body febs-table-full">
                    <table lay-filter="orderGoodsChild" lay-data="{id: 'orderGoodsChild'}"></table>
                </div>
            </div>
        </div>
    </div>
</div>
<script data-th-inline="none" type="text/javascript">
    layui.use(['jquery', 'form', 'table', 'febs'], function () {
        var $ = layui.jquery,
            febs = layui.febs,
            form = layui.form,
            table = layui.table,
            $view = $('#febs-order-goods-child'),
            tableIns;
        form.render();
        initTable();
        function initTable() {
            tableIns = febs.table.init({
                elem: $view.find('table'),
                id: 'orderGoodsChild',
                url: ctx + 'admin/order/goodsStatistics?parentId=1',
                cols: [[
                    {field: 'goodsName', title: '商品名称', minWidth: 130},
                    {field: 'goodsCnt', title: '总数', minWidth: 130}
                ]]
            });
        }
    })
</script>
src/main/resources/templates/febs/views/modules/order/orderList.html
@@ -116,6 +116,7 @@
        <button class="layui-btn layui-btn-sm layui-btn-primary febs-button-blue-plain" lay-event="exportDeliverOne">导出待发货订单,系统自动发货</button>
        <button class="layui-btn layui-btn-sm layui-btn-primary febs-button-blue-plain" lay-event="confirmOrder">确认到货</button>
        <button class="layui-btn layui-btn-sm layui-btn-primary febs-button-blue-plain" lay-event="printSelect">自定义打印</button>
        <button class="layui-btn layui-btn-sm layui-btn-primary febs-button-blue-plain" lay-event="goodsStatistics">统计商品份数</button>
<!--        <button id="printSelect" type="button" class="layui-btn layui-btn-sm layui-btn-primary febs-button-blue-plain">自定义打印</button>-->
<!--        <button class="layui-btn layui-btn-sm layui-btn-primary febs-button-blue-plain" lay-event="exportDeliverTwo">导出未发货订单(快递)</button>-->
<!--        <button class="layui-btn layui-btn-sm layui-btn-primary febs-button-blue-plain" id="importDeliver" lay-event="importDeliver">导入发货</button>-->
@@ -184,6 +185,25 @@
                    printSelect(checkStatus.data)
                }
            }
            if(event === 'goodsStatistics'){
                var data = checkStatus.data;
                let statistics = 0;
                for(let i = 0;i < data.length;i++){
                        statistics = statistics+ "," + data[i].id;
                }
                if(statistics == null || statistics == ""){
                    febs.alert.warn('请选择需要统计的订单');
                    return;
                }
                febs.modal.open( '商品数量统计', 'modules/order/goodsStatistics/'+statistics, {
                    maxmin: true,
                });
                // febs.get(ctx + 'admin/order/goodsStatistics?orderIds='+ids, null, function () {
                //     febs.alert.success('操作成功');
                //     $query.click();
                // });
                // window.location.href = ctx + "admin/order/confirmOrder?takeUniqueCode="+uniqueCodeValue+"&orderIds="+ids;
            }
            if(event === 'confirmOrder'){
                let uniqueCodeValue = $searchForm.find("select[name='uniqueCode']").val();
                // if(uniqueCodeValue == '' || uniqueCodeValue == null){