Administrator
2025-05-27 9f45f22b801c1d4f6780fb74ef3ad549106f10d9
refactor(mall): 优化订单相关功能

- 修改订单查询逻辑,使用 LambdaQueryWrapper 替代自定义 SQL
- 移除 MallOrderInfoMapper.xml 中的重复配置
- 在订单列表页面添加提货方式列
3 files modified
19 ■■■■■ changed files
src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallOrderInfoServiceImpl.java 8 ●●●● patch | view | raw | blame | history
src/main/resources/mapper/modules/MallOrderInfoMapper.xml 1 ●●●● patch | view | raw | blame | history
src/main/resources/templates/febs/views/modules/order/orderList.html 10 ●●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallOrderInfoServiceImpl.java
@@ -896,7 +896,13 @@
    @Transactional(rollbackFor = Exception.class)
    public void confirmOrder(Long id) {
        MallMember member = LoginUserUtil.getLoginUser();
        MallOrderInfo orderInfo = this.baseMapper.selectOrderByMemberIdAndId(member.getId(), id);
//        MallOrderInfo orderInfo = this.baseMapper.selectOrderByMemberIdAndId(member.getId(), id);
        MallOrderInfo orderInfo = this.baseMapper.selectOne(
                new LambdaQueryWrapper<MallOrderInfo>()
                .eq(MallOrderInfo::getMemberId, member.getId())
                .eq(MallOrderInfo::getId, id)
                .last("limit 1")
        );
        if (orderInfo == null || AppContants.DEL_FLAG_Y == orderInfo.getDelFlag()) {
            throw new FebsException("订单不存在");
        }
src/main/resources/mapper/modules/MallOrderInfoMapper.xml
@@ -127,6 +127,7 @@
        <result column="take_code" property="takeCode" />
        <result column="take_unique_code" property="takeUniqueCode" />
        <result column="delivery_state" property="deliveryState" />
        <result column="delivery_state" property="deliveryState" />
        <result column="is_home" property="isHome" />
        <result column="is_free" property="isFree" />
        <result column="del_flag" property="delFlag" />
src/main/resources/templates/febs/views/modules/order/orderList.html
@@ -504,6 +504,16 @@
                        {field: 'memberName', title: '购买人', minWidth: 100,align:'left'},
                        {field: 'memberPhone', title: '联系方式', minWidth: 120,align:'left'},
                        {field: 'refererName', title: '推荐人', minWidth: 100,align:'left'},
                        {field: 'deliveryType', title: '提货方式',
                            templet: function (d) {
                                if (d.status === 1) {
                                    return '<span style="color:blue;">自提</span>'
                                } else if (d.status === 2) {
                                    return '<span style="color:green;">快递</span>'
                                }else{
                                    return ''
                                }
                            }, minWidth: 100,align:'center'},
                        {field: 'goodsName', title: '商品', minWidth: 160,align:'left'},
                        {field: 'goodsAmount', title: '价格', minWidth: 80,align:'left', totalRow:true},
                        {field: 'carriage', title: '邮费', minWidth: 80,align:'left', totalRow:true},