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(); } }; /** * 订单信息导出