From 1e621d98f4361158df25f2b4af9b53899bfde32f Mon Sep 17 00:00:00 2001 From: liujie <1793218484@qq.com> Date: 星期一, 02 六月 2025 14:36:10 +0800 Subject: [PATCH] 小程序接口 详情 --- ruoyi-applet/src/main/java/com/ruoyi/web/controller/system/OrderController.java | 78 +++++++++++++++++++++++++++++++++++++-- 1 files changed, 74 insertions(+), 4 deletions(-) diff --git a/ruoyi-applet/src/main/java/com/ruoyi/web/controller/system/OrderController.java b/ruoyi-applet/src/main/java/com/ruoyi/web/controller/system/OrderController.java index 5f2aadb..f9b70b9 100644 --- a/ruoyi-applet/src/main/java/com/ruoyi/web/controller/system/OrderController.java +++ b/ruoyi-applet/src/main/java/com/ruoyi/web/controller/system/OrderController.java @@ -11,6 +11,7 @@ import com.ruoyi.common.core.domain.model.LoginUser; import com.ruoyi.common.utils.StringUtils; import com.ruoyi.framework.web.service.TokenService; +import com.ruoyi.system.dto.AddBuyerCompanyInfoDto; import com.ruoyi.system.dto.AddScheduleDto; import com.ruoyi.system.dto.EditScheduleDto; import com.ruoyi.system.model.*; @@ -47,6 +48,15 @@ @Autowired private TbScheduleService scheduleService; + @Autowired + private TbBuyerCompanyInfoService buyerCompanyInfoService; + + @Autowired + private TbMessageService messageService; + + @Autowired + private TbAccountDetailService accountDetailService; + @@ -60,9 +70,51 @@ } + /** + * 填写了 如果金额变动要修改订单金额 + * @param + * @return + */ + @ApiOperation(value = "立即支付前填写信息",tags = {"订单模块"}) + @PostMapping("/lastPayOrderData") + public R<?> lastPayOrderData(@RequestBody @Valid AddBuyerCompanyInfoDto dto) { + LoginUser loginUser = tokenService.getLoginUser(); + Long userId = loginUser.getUserId(); + TbOrder tbOrder = orderService.getById(dto.getOrderId()); + + if(dto.getNeedRename()==1){ + if(StringUtils.isEmpty(dto.getBackupsName())){ + return R.fail("请填写备选名称"); + } + } + + if(!tbOrder.getUserId().equals(userId.toString())){ + return R.fail("非法操作"); + } + if(tbOrder.getStatus()!=3){ + return R.fail("订单状态错误"); + } + TbCompany company = companyService.getById(tbOrder.getCompanyId()); + // 判断是否在支付前下架了 或者删除了 + if(company==null || company.getStatus()!=1 || company.getIsDelete()==1){ + return R.fail("该公司已下架或者删除"); + } + long count = buyerCompanyInfoService.count(new LambdaQueryWrapper<TbBuyerCompanyInfo>().eq(TbBuyerCompanyInfo::getOrderId, dto.getOrderId())); + if(count>0){ + return R.fail("请勿重复填写"); + } + orderService.lastPayOrderData(tbOrder,dto,userId,company); + return R.ok(); + } + + + @ApiOperation(value = "立即支付",tags = {"订单模块"}) @PostMapping("/payOrder") public R<WxPayMpOrderResult> payOrder(String orderId) { + if(StringUtils.isEmpty(orderId)){ + R.fail("订单id不能为空"); + } LoginUser loginUser = tokenService.getLoginUser(); Long userId = loginUser.getUserId(); TbOrder tbOrder = orderService.getById(orderId); @@ -77,7 +129,10 @@ if(company==null || company.getStatus()!=1 || company.getIsDelete()==1){ return R.fail("该公司已下架或者删除"); } - + long count = buyerCompanyInfoService.count(new LambdaQueryWrapper<TbBuyerCompanyInfo>().eq(TbBuyerCompanyInfo::getOrderId,orderId)); + if(count==0){ + return R.fail("请先填写信息"); + } WxPayMpOrderResult result = orderService.payOrder(tbOrder,userId); return R.ok(result); } @@ -97,8 +152,8 @@ if(company.getStatus()!=1){ return R.fail("公司未上架"); } - long count = orderService.count(new LambdaQueryWrapper<TbOrder>().eq(TbOrder::getCompanyId, companyId).ne(TbOrder::getStatus, -1)); - if (count > 0) { +// long count = orderService.count(new LambdaQueryWrapper<TbOrder>().eq(TbOrder::getCompanyId, companyId).ne(TbOrder::getStatus, -1)); + if (company.getStatus()==4) { return R.fail("改公司已被预定"); } orderService.placeOrder(companyId,company,userId); @@ -128,11 +183,18 @@ // 订单完成 商品已售卖 order.setStatus(6); order.updateById(); - company.setStatus(2); + company.setStatus(3); // 分佣 orderService.commission(order,company.getUserId()); + + // 卖家账户明细记录更新 + TbAccountDetail one = accountDetailService.getOne(new LambdaQueryWrapper<TbAccountDetail>().eq(TbAccountDetail::getOrderId, orderId).eq(TbAccountDetail::getCategory, 2)); + if (one != null) { + one.setStatus(2); + one.updateById(); + } company.updateById(); return R.ok(); @@ -156,6 +218,9 @@ return R.fail("该订单状态不能回复"); } scheduleService.buyerAddSchedule(dto,userId); + String userId1 = companyService.getById(order.getCompanyId()).getUserId(); + + messageService.addMessage("您的订单有新的回复", userId1,order.getId()); return R.ok(); } @@ -179,8 +244,13 @@ if(order.getStatus()!=3){ return R.fail("该订单状态不能取消"); } + TbCompany company = companyService.getById(order.getCompanyId()); + company.setStatus(1); + company.updateById(); order.setStatus(-1); order.updateById(); + + messageService.addMessage("您发布的订单买家已取消", company.getUserId(),order.getId()); return R.ok(); } -- Gitblit v1.7.1