diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/custom/SysOrderController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/custom/SysOrderController.java index 9540b89f2..a122093f2 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/custom/SysOrderController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/custom/SysOrderController.java @@ -1,9 +1,12 @@ package com.ruoyi.web.controller.custom; +import java.math.BigDecimal; import java.util.List; import com.ruoyi.common.core.domain.entity.SysDictData; import com.ruoyi.common.core.domain.entity.SysUser; +import com.ruoyi.custom.controller.OrderBaseController; +import com.ruoyi.custom.page.OrderTableDataInfo; import com.ruoyi.system.service.ISysDictDataService; import com.ruoyi.system.service.ISysUserService; import org.springframework.security.access.prepost.PreAuthorize; @@ -33,7 +36,7 @@ import com.ruoyi.common.core.page.TableDataInfo; */ @RestController @RequestMapping("/custom/order") -public class SysOrderController extends BaseController { +public class SysOrderController extends OrderBaseController { @Autowired private ISysOrderService sysOrderService; @@ -48,10 +51,11 @@ public class SysOrderController extends BaseController { */ @PreAuthorize("@ss.hasPermi('custom:order:list')") @GetMapping("/list") - public TableDataInfo list(SysOrder sysOrder) { + public OrderTableDataInfo list(SysOrder sysOrder) { startPage(); List list = sysOrderService.selectSysOrderList(sysOrder); List userList = userService.selectAllUser(); + BigDecimal totalAmount = sysOrderService.selectAllOrderAmount(sysOrder); for (SysOrder order : list) { for (SysUser user : userList) { @@ -74,7 +78,7 @@ public class SysOrderController extends BaseController { } } } - return getDataTable(list); + return getOrderDataTable(list, totalAmount.longValue()); } diff --git a/ruoyi-custom/src/main/java/com/ruoyi/custom/controller/OrderBaseController.java b/ruoyi-custom/src/main/java/com/ruoyi/custom/controller/OrderBaseController.java new file mode 100644 index 000000000..42c58dced --- /dev/null +++ b/ruoyi-custom/src/main/java/com/ruoyi/custom/controller/OrderBaseController.java @@ -0,0 +1,21 @@ +package com.ruoyi.custom.controller; + +import com.github.pagehelper.PageInfo; +import com.ruoyi.common.constant.HttpStatus; +import com.ruoyi.common.core.controller.BaseController; +import com.ruoyi.custom.page.OrderTableDataInfo; + +import java.util.List; + +public class OrderBaseController extends BaseController { + + protected OrderTableDataInfo getOrderDataTable(List list, long totalAmount) { + OrderTableDataInfo rspData = new OrderTableDataInfo(); + rspData.setCode(HttpStatus.SUCCESS); + rspData.setMsg("查询成功"); + rspData.setRows(list); + rspData.setTotalAmount(totalAmount); + rspData.setTotal(new PageInfo(list).getTotal()); + return rspData; + } +} diff --git a/ruoyi-custom/src/main/java/com/ruoyi/custom/mapper/SysOrderMapper.java b/ruoyi-custom/src/main/java/com/ruoyi/custom/mapper/SysOrderMapper.java index 674bceb04..64aa31fcb 100644 --- a/ruoyi-custom/src/main/java/com/ruoyi/custom/mapper/SysOrderMapper.java +++ b/ruoyi-custom/src/main/java/com/ruoyi/custom/mapper/SysOrderMapper.java @@ -1,5 +1,6 @@ package com.ruoyi.custom.mapper; +import java.math.BigDecimal; import java.util.List; import com.ruoyi.custom.domain.SysOrder; @@ -58,4 +59,11 @@ public interface SysOrderMapper * @return 结果 */ public int deleteSysOrderByIds(Long[] orderIds); + + /** + * 计算所有订单总额 + * @param sysOrder + * @return + */ + public BigDecimal selectAllOrderAmount(SysOrder sysOrder); } \ No newline at end of file diff --git a/ruoyi-custom/src/main/java/com/ruoyi/custom/page/OrderTableDataInfo.java b/ruoyi-custom/src/main/java/com/ruoyi/custom/page/OrderTableDataInfo.java new file mode 100644 index 000000000..230de4094 --- /dev/null +++ b/ruoyi-custom/src/main/java/com/ruoyi/custom/page/OrderTableDataInfo.java @@ -0,0 +1,91 @@ +package com.ruoyi.custom.page; + + +import java.io.Serializable; +import java.util.List; + +public class OrderTableDataInfo implements Serializable { + private static final long serialVersionUID = 1L; + + /** + * 总记录数 + */ + private long total; + + /** + * 列表数据 + */ + private List rows; + + /** + * 消息状态码 + */ + private int code; + + /** + * 消息内容 + */ + private String msg; + + /** + * 金额总数 + */ + private long totalAmount; + + /** + * 表格数据对象 + */ + public OrderTableDataInfo() { + } + + /** + * 分页 + * + * @param list 列表数据 + * @param total 总记录数 + */ + public OrderTableDataInfo(List list, int total) { + this.rows = list; + this.total = total; + } + + public long getTotal() { + return total; + } + + public void setTotal(long total) { + this.total = total; + } + + public List getRows() { + return rows; + } + + public void setRows(List rows) { + this.rows = rows; + } + + public int getCode() { + return code; + } + + public void setCode(int code) { + this.code = code; + } + + public String getMsg() { + return msg; + } + + public void setMsg(String msg) { + this.msg = msg; + } + + public void setTotalAmount(long totalAmount) { + this.totalAmount = totalAmount; + } + + public long getTotalAmount() { + return totalAmount; + } +} diff --git a/ruoyi-custom/src/main/java/com/ruoyi/custom/service/ISysOrderService.java b/ruoyi-custom/src/main/java/com/ruoyi/custom/service/ISysOrderService.java index dcf29743e..57b8bddf2 100644 --- a/ruoyi-custom/src/main/java/com/ruoyi/custom/service/ISysOrderService.java +++ b/ruoyi-custom/src/main/java/com/ruoyi/custom/service/ISysOrderService.java @@ -1,5 +1,6 @@ package com.ruoyi.custom.service; +import java.math.BigDecimal; import java.util.List; import com.ruoyi.custom.domain.SysOrder; @@ -58,4 +59,11 @@ public interface ISysOrderService * @return 结果 */ public int deleteSysOrderById(Long orderId); + + /** + * 计算所有订单总额 + * @param sysOrder + * @return + */ + public BigDecimal selectAllOrderAmount(SysOrder sysOrder); } \ No newline at end of file diff --git a/ruoyi-custom/src/main/java/com/ruoyi/custom/service/impl/SysOrderServiceImpl.java b/ruoyi-custom/src/main/java/com/ruoyi/custom/service/impl/SysOrderServiceImpl.java index c9c144e54..1e0338711 100644 --- a/ruoyi-custom/src/main/java/com/ruoyi/custom/service/impl/SysOrderServiceImpl.java +++ b/ruoyi-custom/src/main/java/com/ruoyi/custom/service/impl/SysOrderServiceImpl.java @@ -1,5 +1,6 @@ package com.ruoyi.custom.service.impl; +import java.math.BigDecimal; import java.util.Date; import java.util.List; @@ -91,4 +92,14 @@ public class SysOrderServiceImpl implements ISysOrderService { public int deleteSysOrderById(Long orderId) { return sysOrderMapper.deleteSysOrderById(orderId); } + + /** + * 计算所有订单总额 + * @param sysOrder + * @return + */ + @Override + public BigDecimal selectAllOrderAmount(SysOrder sysOrder) { + return sysOrderMapper.selectAllOrderAmount(sysOrder); + } } \ No newline at end of file diff --git a/ruoyi-custom/src/main/resources/mapper/custom/SysOrderMapper.xml b/ruoyi-custom/src/main/resources/mapper/custom/SysOrderMapper.xml index 5a2d6c50d..daa2d9ef9 100644 --- a/ruoyi-custom/src/main/resources/mapper/custom/SysOrderMapper.xml +++ b/ruoyi-custom/src/main/resources/mapper/custom/SysOrderMapper.xml @@ -40,6 +40,30 @@ LEFT JOIN (SELECT dict_label, dict_value FROM sys_dict_data WHERE dict_type = 'cus_serve_time') AS ser ON ser.dict_value = o.serve_time_id + +