From 1e2308326c98c1d95b3d75ab1cac80bb6f828344 Mon Sep 17 00:00:00 2001
From: puzhibing <393733352@qq.com>
Date: 星期五, 16 六月 2023 20:17:45 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/1.1' into 1.1
---
management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/TAgentServiceImpl.java | 44 ++++++++++++---------
management/guns-admin/src/main/webapp/WEB-INF/view/system/tOrder/tOrder.html | 3 +
management/guns-admin/src/main/webapp/static/modular/system/tAgent/tAgent.js | 2
management/guns-admin/src/main/webapp/static/modular/system/tOrder/tOrder.js | 28 ++++++++++++++
management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TOrderController.java | 13 ++++++
5 files changed, 70 insertions(+), 20 deletions(-)
diff --git a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TOrderController.java b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TOrderController.java
index 5887e8b..047e59f 100644
--- a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TOrderController.java
+++ b/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;
+ }
+
/**
* 获取列表
diff --git a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/TAgentServiceImpl.java b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/TAgentServiceImpl.java
index 65c05dc..d607725 100644
--- a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/TAgentServiceImpl.java
+++ b/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)){
// 司机数
diff --git a/management/guns-admin/src/main/webapp/WEB-INF/view/system/tOrder/tOrder.html b/management/guns-admin/src/main/webapp/WEB-INF/view/system/tOrder/tOrder.html
index 10132af..21d040c 100644
--- a/management/guns-admin/src/main/webapp/WEB-INF/view/system/tOrder/tOrder.html
+++ b/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")){
diff --git a/management/guns-admin/src/main/webapp/static/modular/system/tAgent/tAgent.js b/management/guns-admin/src/main/webapp/static/modular/system/tAgent/tAgent.js
index c2b5a05..8a1b912 100644
--- a/management/guns-admin/src/main/webapp/static/modular/system/tAgent/tAgent.js
+++ b/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'},
diff --git a/management/guns-admin/src/main/webapp/static/modular/system/tOrder/tOrder.js b/management/guns-admin/src/main/webapp/static/modular/system/tOrder/tOrder.js
index 165e28f..b0656c8 100644
--- a/management/guns-admin/src/main/webapp/static/modular/system/tOrder/tOrder.js
+++ b/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();
+ }
+};
/**
* 订单信息导出
--
Gitblit v1.7.1