puzhibing
2023-06-16 1e2308326c98c1d95b3d75ab1cac80bb6f828344
Merge remote-tracking branch 'origin/1.1' into 1.1
5个文件已修改
90 ■■■■ 已修改文件
management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TOrderController.java 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/TAgentServiceImpl.java 44 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
management/guns-admin/src/main/webapp/WEB-INF/view/system/tOrder/tOrder.html 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
management/guns-admin/src/main/webapp/static/modular/system/tAgent/tAgent.js 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
management/guns-admin/src/main/webapp/static/modular/system/tOrder/tOrder.js 28 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TOrderController.java
@@ -10,6 +10,7 @@
import com.stylefeng.guns.modular.system.controller.resp.TDriverCommissionResp;
import com.stylefeng.guns.modular.system.controller.resp.TOrderResp;
import com.stylefeng.guns.modular.system.controller.util.ExcelUtil;
import com.stylefeng.guns.modular.system.enums.OrderStateEnum;
import com.stylefeng.guns.modular.system.model.TAppUser;
import com.stylefeng.guns.modular.system.model.TDriver;
import com.stylefeng.guns.modular.system.model.TOrder;
@@ -226,6 +227,18 @@
        return list;
    }
    /**
     * 关闭订单
     */
    @RequestMapping(value = "/cancelOrderUpdate")
    @ResponseBody
    public Object cancelOrderUpdate(@RequestParam Integer tOrderId) {
        TOrder tOrder = tOrderService.selectById(tOrderId);
        tOrder.setState(OrderStateEnum.CANCELED.getCode());
        tOrderService.updateById(tOrder);
        return SUCCESS_TIP;
    }
    /**
     * 获取列表
management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/TAgentServiceImpl.java
@@ -192,7 +192,13 @@
                // 过滤已使用优惠券
                List<TOrder> usedCoupon = tOrders.stream().filter(order -> (order.getState().equals(OrderStateEnum.FINISH.getCode()) || order.getState().equals(OrderStateEnum.WAIT_EVALUATED.getCode()))
                        && Objects.nonNull(order.getCouponId()) && tAgent.getId().equals(order.getAgentId())).collect(Collectors.toList());
//                tAgentResp.setUsedCoupon(usedCoupon.size());
                // 通过订单总量获取已完成订单的使用优惠券数量及优惠券金额
                tAgentResp.setUsedCoupon(usedCoupon.size());
                // 金额
                Optional<BigDecimal> reduce = usedCoupon.stream().map(TOrder::getDiscountedPrice).reduce(BigDecimal::add);
                reduce.ifPresent(tAgentResp::setCouponPriceSum);
                // 已使用优惠券金额求和,已使用优惠券id
//                List<Integer> usedCouponId = usedCoupon.stream().map(TOrder::getCouponId).collect(Collectors.toList());
//                if(CollectionUtils.isEmpty(usedCouponId)){
@@ -208,24 +214,24 @@
//                }
            }
            if(!CollectionUtils.isEmpty(tUserToCoupons)){
                // 过滤代理商发放的优惠券
                List<TUserToCoupon> userToCoupons = tUserToCoupons.stream().filter(coupon -> tAgent.getId().equals(coupon.getObjectId()) && coupon.getRoleType() == 3).collect(Collectors.toList());
                int sum = userToCoupons.stream().mapToInt(TUserToCoupon::getCouponTotal).sum();
                tAgentResp.setIssuedCoupon(sum);
                // 总量减去有效数量和过期数量为使用数量
                int validCount = userToCoupons.stream().mapToInt(TUserToCoupon::getValidCount).sum();//有效数量
                int expireCount = userToCoupons.stream().mapToInt(TUserToCoupon::getExpireCount).sum();//过期数量
                tAgentResp.setUsedCoupon(sum-validCount-expireCount);
                BigDecimal couponPriceSum = BigDecimal.ZERO;
                for (TUserToCoupon userToCoupon : userToCoupons) {
                    TCoupon tCoupons1 = tCouponMapper.selectById(userToCoupon.getCouponId());
                    if(Objects.nonNull(tCoupons1)){
                        couponPriceSum = couponPriceSum.add(tCoupons1.getCouponPreferentialAmount().multiply(new BigDecimal(userToCoupon.getCouponTotal())));
                    }
                }
                tAgentResp.setCouponPriceSum(couponPriceSum);
            }
//            if(!CollectionUtils.isEmpty(tUserToCoupons)){
//                // 过滤代理商发放的优惠券
//                List<TUserToCoupon> userToCoupons = tUserToCoupons.stream().filter(coupon -> tAgent.getId().equals(coupon.getObjectId()) && coupon.getRoleType() == 3).collect(Collectors.toList());
//                int sum = userToCoupons.stream().mapToInt(TUserToCoupon::getCouponTotal).sum();
//                tAgentResp.setIssuedCoupon(sum);
//                // 总量减去有效数量和过期数量为使用数量
//                int validCount = userToCoupons.stream().mapToInt(TUserToCoupon::getValidCount).sum();//有效数量
//                int expireCount = userToCoupons.stream().mapToInt(TUserToCoupon::getExpireCount).sum();//过期数量
//                tAgentResp.setUsedCoupon(sum-validCount-expireCount);
//                BigDecimal couponPriceSum = BigDecimal.ZERO;
//                for (TUserToCoupon userToCoupon : userToCoupons) {
//                    TCoupon tCoupons1 = tCouponMapper.selectById(userToCoupon.getCouponId());
//                    if(Objects.nonNull(tCoupons1)){
//                        couponPriceSum = couponPriceSum.add(tCoupons1.getCouponPreferentialAmount().multiply(new BigDecimal(userToCoupon.getCouponTotal())));
//                    }
//                }
//                tAgentResp.setCouponPriceSum(couponPriceSum);
//            }
            if(!CollectionUtils.isEmpty(tDrivers)){
                // 司机数
management/guns-admin/src/main/webapp/WEB-INF/view/system/tOrder/tOrder.html
@@ -63,6 +63,9 @@
                            @if(shiro.hasPermission("/tOrder/export")){
                            <#button name="导出" icon="" clickFun="TOrder.export()"/>
                            @}
                            @if(shiro.hasPermission("/tOrder/cancelOrderUpdate")){
                            <#button name="关闭订单" icon="" clickFun="TOrder.cancelOrderUpdate()"/>
                            @}
                        </div>
                        <div class="hidden-xs" id="TOrderTableToolbar" role="group">
                            @if(shiro.hasPermission("/tOrder/add")){
management/guns-admin/src/main/webapp/static/modular/system/tAgent/tAgent.js
@@ -22,7 +22,7 @@
            {title: '客服电话', field: 'serviceCalls', visible: true, align: 'center', valign: 'middle'},
            {title: '订单数量', field: 'orderSum', visible: true, align: 'center', valign: 'middle'},
            {title: '有效订单', field: 'validOrder', visible: true, align: 'center', valign: 'middle'},
            {title: '已发放优惠券', field: 'issuedCoupon', visible: true, align: 'center', valign: 'middle'},
            // {title: '已发放优惠券', field: 'issuedCoupon', visible: true, align: 'center', valign: 'middle'},
            {title: '已使用优惠券', field: 'usedCoupon', visible: true, align: 'center', valign: 'middle'},
        {title: '累计优惠券金额', field: 'couponPriceSum', visible: true, align: 'center', valign: 'middle'},
        {title: '司机充值', field: 'driverRecharge', visible: true, align: 'center', valign: 'middle'},
management/guns-admin/src/main/webapp/static/modular/system/tOrder/tOrder.js
@@ -163,6 +163,34 @@
        ajax.start();
    }
};
/**
 * 后台取消订单
 */
TOrder.cancelOrderUpdate = function () {
    if (this.check()) {
        var selected = $('#' + this.id).bootstrapTable('getSelections');
        var id = selected[0].id
        var state = selected[0].state
        console.log(id)
        console.log(state)
        if (state != 101 && state != 102 && state != 103 && state != 104 && state != 105 && state != 106 && state != 107) {
            Feng.error("该订单当前状态不可取消!")
            return;
        }
        var ajax = new $ax(Feng.ctxPath + "/tOrder/cancelOrderUpdate", function (data) {
            Feng.success("取消订单成功!");
            TOrder.table.refresh();
        }, function (data) {
            Feng.error("取消订单失败!" + data.responseJSON.message + "!");
        });
        ajax.set("tOrderId", id);
        ajax.start();
    }
};
/**
 * 订单信息导出