From d1b4bfc77caf10cd9f5ae3b6011fe8ea2a8a0169 Mon Sep 17 00:00:00 2001 From: ryoeiken <754264374@qq.com> Date: Tue, 5 Jan 2021 14:10:21 +0800 Subject: [PATCH] =?UTF-8?q?=E5=91=98=E5=B7=A5=E6=8A=A5=E9=A4=90=EF=BC=9A?= =?UTF-8?q?=E4=BF=AE=E6=94=B9=E6=9F=A5=E7=9C=8B=E8=A1=A5=E8=B4=B4=E4=BD=99?= =?UTF-8?q?=E9=A2=9D=EF=BC=8C=E6=B7=BB=E5=8A=A0=E8=A1=A5=E8=B4=B4=E8=AE=A2?= =?UTF-8?q?=E5=8D=95=E6=94=B6=E6=AC=BE=EF=BC=8C=E8=A1=A5=E8=B4=B4=E8=AE=A2?= =?UTF-8?q?=E5=8D=95=E9=80=80=E6=AC=BE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/resources/application-dev.yml | 2 +- .../fantang/controller/ClientController.java | 108 ++++++++++++++++-- .../controller/FtOrderDaoController.java | 2 +- .../FtStaffSubsidyDaoController.java | 6 +- .../system/fantang/domain/FtOrderDao.java | 2 +- .../fantang/domain/FtStaffSubsidyDao.java | 2 +- 6 files changed, 105 insertions(+), 17 deletions(-) diff --git a/ruoyi-admin/src/main/resources/application-dev.yml b/ruoyi-admin/src/main/resources/application-dev.yml index f16b4075e..58968a484 100644 --- a/ruoyi-admin/src/main/resources/application-dev.yml +++ b/ruoyi-admin/src/main/resources/application-dev.yml @@ -62,7 +62,7 @@ spring: # 端口,默认为6379 port: 6379 # 数据库索引 - database: 0 + database: 2 # 密码 password: # 连接超时时间 diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/fantang/controller/ClientController.java b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/controller/ClientController.java index 2edc4d82a..91b4fe3ec 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/fantang/controller/ClientController.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/controller/ClientController.java @@ -4,15 +4,14 @@ import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.ruoyi.common.core.controller.BaseController; import com.ruoyi.common.core.domain.AjaxResult; -import com.ruoyi.system.fantang.domain.FtConfigDao; -import com.ruoyi.system.fantang.domain.FtFoodDao; -import com.ruoyi.system.fantang.domain.FtOrderDao; -import com.ruoyi.system.fantang.domain.FtStaffSubsidyDao; +import com.ruoyi.system.fantang.domain.*; import com.ruoyi.system.fantang.service.*; import lombok.RequiredArgsConstructor; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.transaction.annotation.Transactional; import org.springframework.web.bind.annotation.*; +import java.math.BigDecimal; import java.util.Calendar; import java.util.Date; import java.util.List; @@ -330,13 +329,9 @@ public class ClientController extends BaseController { */ @GetMapping("/getStaffSubsidyBalance/{staffId}") public AjaxResult getStaffSubsidyBalance(@PathVariable Long staffId) { - QueryWrapper wrapper = new QueryWrapper<>(); - wrapper.eq("staff_id", staffId); - wrapper.orderByDesc("price"); - wrapper.last("limit 1"); - FtStaffSubsidyDao staffSubsidyDao = staffSubsidyDaoService.getOne(wrapper); + FtStaffInfoDao staffInfoDao = staffInfoDaoService.getById(staffId); - return AjaxResult.success(staffSubsidyDao.getPrice()); + return AjaxResult.success(staffInfoDao.getBalance()); } /** @@ -395,4 +390,97 @@ public class ClientController extends BaseController { return AjaxResult.success(ftOrderDao.getDiscount()); } + + /** + * 补贴订单收款 + */ + @Transactional + @PostMapping("/orderCollection") + public AjaxResult orderCollection(@RequestBody JSONObject params) { + + // 订单 id + Integer orderId = params.getInteger("orderId"); + + // 实收 + BigDecimal receipts = params.getBigDecimal("receipts"); + + // 当前订单信息 + FtOrderDao orderDao = orderDaoService.getById(orderId); + + // 当前订单员工信息 + FtStaffInfoDao staffInfoDao = staffInfoDaoService.getById(orderDao.getStaffId()); + + // 员工账户补贴余额 + BigDecimal balance = staffInfoDao.getBalance(); + + // 余额是否大于实收 + if (balance.compareTo(receipts) < 0) { + + return AjaxResult.error("补贴余额不足"); + + } else { + + // 更新员工账户补贴余额 + BigDecimal nowBalance = balance.subtract(receipts); + staffInfoDao.setBalance(nowBalance); + + // 更新订单信息 + orderDao.setReceipts(receipts); + orderDao.setPayFlag(1); + orderDao.setPayType(3); + orderDaoService.save(orderDao); + + // 添加补贴流水记录 + FtStaffSubsidyDao staffSubsidyDao = new FtStaffSubsidyDao(); + staffSubsidyDao.setStaffId(orderDao.getStaffId()); + staffSubsidyDao.setIncomeType(2); + staffSubsidyDao.setPrice(receipts); + staffSubsidyDao.setConsumAt(new Date()); + staffSubsidyDao.setOrderId(orderDao.getOrderId()); + staffSubsidyDaoService.save(staffSubsidyDao); + + } + + return AjaxResult.success("已收款"); + } + + /** + * 补贴订单退款 + */ + @Transactional + @PostMapping("/orderRefund") + public AjaxResult orderRefund(@RequestBody JSONObject params){ + + // 订单 id + Integer orderId = params.getInteger("orderId"); + + // 实收 + BigDecimal receipts = params.getBigDecimal("receipts"); + + // 当前订单信息 + FtOrderDao orderDao = orderDaoService.getById(orderId); + + // 当前订单员工信息 + FtStaffInfoDao staffInfoDao = staffInfoDaoService.getById(orderDao.getStaffId()); + + // 员工账户补贴余额 + BigDecimal balance = staffInfoDao.getBalance(); + + // 更新员工账户补贴余额 + staffInfoDao.setBalance(balance.add(receipts)); + staffInfoDaoService.updateById(staffInfoDao); + + // 添加补贴流水记录 + FtStaffSubsidyDao staffSubsidyDao = new FtStaffSubsidyDao(); + staffSubsidyDao.setStaffId(orderDao.getStaffId()); + // 收支类型 + staffSubsidyDao.setIncomeType(4); + staffSubsidyDao.setPrice(receipts); + staffSubsidyDao.setConsumAt(new Date()); + staffSubsidyDao.setOrderId(orderDao.getOrderId()); + staffSubsidyDaoService.save(staffSubsidyDao); + + return AjaxResult.success("已退款"); + } + } diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/fantang/controller/FtOrderDaoController.java b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/controller/FtOrderDaoController.java index 9bbadc262..28ec4036e 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/fantang/controller/FtOrderDaoController.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/controller/FtOrderDaoController.java @@ -61,7 +61,7 @@ public class FtOrderDaoController extends BaseController { if (ftOrderDao.getCurrentPrice() != null) { lqw.eq(FtOrderDao::getCurrentPrice, ftOrderDao.getCurrentPrice()); } - if (StringUtils.isNotBlank(ftOrderDao.getPayType())) { + if (ftOrderDao.getPayType() != null) { lqw.eq(FtOrderDao::getPayType, ftOrderDao.getPayType()); } if (ftOrderDao.getWriteOffAt() != null) { diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/fantang/controller/FtStaffSubsidyDaoController.java b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/controller/FtStaffSubsidyDaoController.java index d335438ab..c640f1418 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/fantang/controller/FtStaffSubsidyDaoController.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/controller/FtStaffSubsidyDaoController.java @@ -48,7 +48,7 @@ public class FtStaffSubsidyDaoController extends BaseController { if (StringUtils.isNotBlank(ftStaffSubsidyDao.getSubsidyType())) { lqw.eq(FtStaffSubsidyDao::getSubsidyType, ftStaffSubsidyDao.getSubsidyType()); } - if (StringUtils.isNotBlank(ftStaffSubsidyDao.getIncomeType())) { + if (ftStaffSubsidyDao.getIncomeType() != null) { lqw.eq(FtStaffSubsidyDao::getIncomeType, ftStaffSubsidyDao.getIncomeType()); } if (ftStaffSubsidyDao.getPrice() != null) { @@ -126,11 +126,11 @@ public class FtStaffSubsidyDaoController extends BaseController { List ftStaffSubsidyDaoList = new ArrayList<>(); for (FtStaffInfoDao staffDatum : staffData) { - if (staffDatum.getGiveOutFlag()){ + if (staffDatum.getGiveOutFlag()) { FtStaffSubsidyDao ftStaffSubsidyDao = new FtStaffSubsidyDao(); ftStaffSubsidyDao.setStaffId(staffDatum.getStaffId()); ftStaffSubsidyDao.setSubsidyType(subsidy.getType()); - ftStaffSubsidyDao.setIncomeType("1"); + ftStaffSubsidyDao.setIncomeType(1); ftStaffSubsidyDao.setPrice(subsidy.getPrice()); ftStaffSubsidyDao.setConsumAt(giveOutDate); ftStaffSubsidyDaoList.add(ftStaffSubsidyDao); diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/fantang/domain/FtOrderDao.java b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/domain/FtOrderDao.java index 0d34474ee..3123a84f3 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/fantang/domain/FtOrderDao.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/domain/FtOrderDao.java @@ -110,7 +110,7 @@ public class FtOrderDao implements Serializable { * 支付方式 */ @Excel(name = "支付方式") - private String payType; + private Integer payType; /** * 支付标志 diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/fantang/domain/FtStaffSubsidyDao.java b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/domain/FtStaffSubsidyDao.java index f193ba01a..dc8167406 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/fantang/domain/FtStaffSubsidyDao.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/domain/FtStaffSubsidyDao.java @@ -52,7 +52,7 @@ public class FtStaffSubsidyDao implements Serializable { * 收支类型 */ @Excel(name = "收支类型") - private String incomeType; + private Integer incomeType; /** * 金额