diff --git a/ruoyi-admin/src/main/java/com/ruoyi/orders/controller/ZcOrderMainController.java b/ruoyi-admin/src/main/java/com/ruoyi/orders/controller/ZcOrderMainController.java index efaf6bb..343a7d2 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/orders/controller/ZcOrderMainController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/orders/controller/ZcOrderMainController.java @@ -1,5 +1,6 @@ package com.ruoyi.orders.controller; +import java.util.ArrayList; import java.util.Date; import java.util.List; @@ -8,6 +9,7 @@ import com.ruoyi.common.utils.DateUtils; import com.ruoyi.operation.domain.Company; import com.ruoyi.operation.service.ICompanyService; import com.ruoyi.orders.domain.ZcOrderCarChange; +import com.ruoyi.orders.dto.StatisticsHomeOrder; import com.ruoyi.orders.service.IZcOrderCarChangeService; import com.ruoyi.orders.util.OrderStatusEnum; import org.apache.shiro.authz.annotation.RequiresPermissions; @@ -167,4 +169,21 @@ public class ZcOrderMainController extends BaseController return toAjax(flag); } + @PostMapping("/statisticsHomeOrder") + @ResponseBody + public AjaxResult statisticsHomeOrder(String type) { + List list = new ArrayList(); + if(type.equals("hour")) { + list = zcOrderMainService.statisticsOrderByHour(); + }else if(type.equals("week")) { + list = zcOrderMainService.statisticsOrderByWeek(); + }else if(type.equals("month")) { + list = zcOrderMainService.statisticsOrderByMonth(); + }else if(type.equals("year")) { + list = zcOrderMainService.statisticsOrderByYear(); + } + return AjaxResult.success(list); + + } + } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/orders/dto/StatisticsHomeOrder.java b/ruoyi-admin/src/main/java/com/ruoyi/orders/dto/StatisticsHomeOrder.java new file mode 100644 index 0000000..ba602a9 --- /dev/null +++ b/ruoyi-admin/src/main/java/com/ruoyi/orders/dto/StatisticsHomeOrder.java @@ -0,0 +1,78 @@ +package com.ruoyi.orders.dto; + +import java.math.BigDecimal; + +public class StatisticsHomeOrder { + private String keyType; + private String name; + private int totalCount; + private BigDecimal totalAmount; + private int rentcarCount; + private BigDecimal rentcarAmount; + private int rentbatteryCount; + private BigDecimal rentbatteryAmount; + + public String getKeyType() { + return keyType; + } + + public void setKeyType(String keyType) { + this.keyType = keyType; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public int getTotalCount() { + return totalCount; + } + + public void setTotalCount(int totalCount) { + this.totalCount = totalCount; + } + + public BigDecimal getTotalAmount() { + return totalAmount; + } + + public void setTotalAmount(BigDecimal totalAmount) { + this.totalAmount = totalAmount; + } + + public int getRentcarCount() { + return rentcarCount; + } + + public void setRentcarCount(int rentcarCount) { + this.rentcarCount = rentcarCount; + } + + public BigDecimal getRentcarAmount() { + return rentcarAmount; + } + + public void setRentcarAmount(BigDecimal rentcarAmount) { + this.rentcarAmount = rentcarAmount; + } + + public int getRentbatteryCount() { + return rentbatteryCount; + } + + public void setRentbatteryCount(int rentbatteryCount) { + this.rentbatteryCount = rentbatteryCount; + } + + public BigDecimal getRentbatteryAmount() { + return rentbatteryAmount; + } + + public void setRentbatteryAmount(BigDecimal rentbatteryAmount) { + this.rentbatteryAmount = rentbatteryAmount; + } +} diff --git a/ruoyi-admin/src/main/java/com/ruoyi/orders/mapper/ZcOrderMainMapper.java b/ruoyi-admin/src/main/java/com/ruoyi/orders/mapper/ZcOrderMainMapper.java index f285002..54a9e61 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/orders/mapper/ZcOrderMainMapper.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/orders/mapper/ZcOrderMainMapper.java @@ -3,6 +3,7 @@ package com.ruoyi.orders.mapper; import java.util.List; import com.ruoyi.orders.domain.ZcOrderMain; import com.ruoyi.orders.domain.ZcOrderSub; +import com.ruoyi.orders.dto.StatisticsHomeOrder; import com.ruoyi.orders.dto.StoreOrderStats; import org.apache.ibatis.annotations.Param; @@ -103,4 +104,12 @@ public interface ZcOrderMainMapper List selectTopStoreOrderStats(@Param("limit") int limit); int selectOrderCountByCarRuleId(@Param("carRuleId")Long carRuleId); + + List statisticsOrderByHour(); + + List statisticsOrderByWeek(); + + List statisticsOrderByMonth(); + + List statisticsOrderByYear(); } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/orders/service/IZcOrderMainService.java b/ruoyi-admin/src/main/java/com/ruoyi/orders/service/IZcOrderMainService.java index 576b1e5..37f759c 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/orders/service/IZcOrderMainService.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/orders/service/IZcOrderMainService.java @@ -2,6 +2,7 @@ package com.ruoyi.orders.service; import java.util.List; import com.ruoyi.orders.domain.ZcOrderMain; +import com.ruoyi.orders.dto.StatisticsHomeOrder; import com.ruoyi.orders.dto.StoreOrderStats; /** @@ -74,4 +75,12 @@ public interface IZcOrderMainService public int selectOrderCountByCarRuleId(Long carRuleId); + public List statisticsOrderByHour(); + + public List statisticsOrderByWeek(); + + public List statisticsOrderByMonth(); + + public List statisticsOrderByYear(); + } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/orders/service/impl/ZcOrderMainServiceImpl.java b/ruoyi-admin/src/main/java/com/ruoyi/orders/service/impl/ZcOrderMainServiceImpl.java index d857853..0030b2b 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/orders/service/impl/ZcOrderMainServiceImpl.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/orders/service/impl/ZcOrderMainServiceImpl.java @@ -1,8 +1,7 @@ package com.ruoyi.orders.service.impl; import java.math.BigDecimal; -import java.util.HashMap; -import java.util.List; +import java.util.*; import com.ruoyi.api.DataPushApi; import com.ruoyi.common.utils.DateUtils; @@ -11,6 +10,7 @@ import com.ruoyi.operation.domain.ZcCar; import com.ruoyi.operation.service.IZcCarService; import com.ruoyi.operation.util.CarStatusEnum; import com.ruoyi.orders.dto.RefundRequest; +import com.ruoyi.orders.dto.StatisticsHomeOrder; import com.ruoyi.orders.dto.StoreOrderStats; import com.ruoyi.orders.service.IZcOrderSubService; import com.ruoyi.orders.util.OrderStatusEnum; @@ -28,8 +28,6 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.http.MediaType; import org.springframework.stereotype.Service; -import java.util.ArrayList; -import java.util.Map; import com.fasterxml.jackson.databind.ObjectMapper; import com.ruoyi.common.utils.StringUtils; @@ -350,4 +348,24 @@ public class ZcOrderMainServiceImpl implements IZcOrderMainService return zcOrderMainMapper.selectOrderCountByCarRuleId(carRuleId); } + @Override + public List statisticsOrderByHour() { + return zcOrderMainMapper.statisticsOrderByHour(); + } + + @Override + public List statisticsOrderByWeek() { + return zcOrderMainMapper.statisticsOrderByWeek(); + } + + @Override + public List statisticsOrderByMonth() { + return zcOrderMainMapper.statisticsOrderByMonth(); + } + + @Override + public List statisticsOrderByYear() { + return zcOrderMainMapper.statisticsOrderByYear(); + } + } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysIndexController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysIndexController.java index 63aedcf..881fc30 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysIndexController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysIndexController.java @@ -6,6 +6,7 @@ import javax.servlet.http.Cookie; import javax.servlet.http.HttpServletResponse; import com.ruoyi.common.utils.*; +import com.ruoyi.orders.dto.StatisticsHomeOrder; import com.ruoyi.orders.dto.StoreOrderStats; import com.ruoyi.orders.service.IZcOrderMainService; import com.ruoyi.system.domain.SysNotice; @@ -154,6 +155,9 @@ public class SysIndexController extends BaseController List storeOrderStats = zcOrderMainService.getTopStoreOrderStats(9); mmap.put("storeOrderStats", storeOrderStats); + List statisticsHomeOrders = zcOrderMainService.statisticsOrderByMonth(); + mmap.put("statisticsHomeOrders", statisticsHomeOrders); + List sysNotices = noticeService.selectHomeNoticeList(); mmap.put("sysNotices", sysNotices); diff --git a/ruoyi-admin/src/main/resources/mapper/orders/ZcOrderMainMapper.xml b/ruoyi-admin/src/main/resources/mapper/orders/ZcOrderMainMapper.xml index a96b473..c20ab94 100644 --- a/ruoyi-admin/src/main/resources/mapper/orders/ZcOrderMainMapper.xml +++ b/ruoyi-admin/src/main/resources/mapper/orders/ZcOrderMainMapper.xml @@ -298,4 +298,67 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" SELECT count(1) as orderCount FROM zc_order_main where rent_car_rule_id = #{carRuleId} and order_status in ('WAIT_PAY','WAIT_PICK','RENT_ING','WAIT_RETURN','RENT_OVERDUE') + + + + \ No newline at end of file diff --git a/ruoyi-admin/src/main/resources/templates/main.html b/ruoyi-admin/src/main/resources/templates/main.html index 4b2ae01..75e1efc 100644 --- a/ruoyi-admin/src/main/resources/templates/main.html +++ b/ruoyi-admin/src/main/resources/templates/main.html @@ -341,6 +341,22 @@

销售额趋势

+
+
+ + + + +
+
@@ -377,6 +393,22 @@

平台订单量

+
+
+ + + + +
+
@@ -396,106 +428,245 @@