From 0ef2ea54b85d11f537a761e2028a40ec1ec1df1b Mon Sep 17 00:00:00 2001 From: xiaoyong931011 <15274802129@163.com> Date: Mon, 13 Feb 2023 15:55:31 +0800 Subject: [PATCH] 订单发货设置 --- src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallOrderService.java | 142 +++++++++++++++++++++++++++++++++++++++++------ 1 files changed, 124 insertions(+), 18 deletions(-) diff --git a/src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallOrderService.java b/src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallOrderService.java index 2bbfb79..49bd7a1 100644 --- a/src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallOrderService.java +++ b/src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallOrderService.java @@ -2,11 +2,16 @@ import cc.mrbird.febs.common.entity.FebsResponse; import cc.mrbird.febs.common.entity.QueryRequest; +import cc.mrbird.febs.common.enumerates.FlowTypeEnum; +import cc.mrbird.febs.common.enumerates.MoneyFlowTypeEnum; +import cc.mrbird.febs.common.enumerates.OrderDeliveryStateEnum; +import cc.mrbird.febs.common.enumerates.OrderStatusEnum; import cc.mrbird.febs.mall.dto.*; import cc.mrbird.febs.mall.entity.*; import cc.mrbird.febs.mall.mapper.*; import cc.mrbird.febs.mall.service.IAdminMallOrderService; import cc.mrbird.febs.mall.service.IApiMallMemberWalletService; +import cc.mrbird.febs.mall.service.IMallMoneyFlowService; import cc.mrbird.febs.mall.vo.*; import cn.hutool.core.collection.CollUtil; import cn.hutool.core.util.ObjectUtil; @@ -19,6 +24,7 @@ import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import java.math.BigDecimal; import java.util.List; @Slf4j @@ -39,6 +45,8 @@ private final MallOrderRefundAddressMapper mallOrderRefundAddressMapper; + private final MallGoodsCommentMapper mallGoodsCommentMapper; + private final MallMoneyFlowMapper mallMoneyFlowMapper; private final IApiMallMemberWalletService iApiMallMemberWalletService; @@ -46,11 +54,34 @@ private final MallMemberPaymentMapper mallMemberPaymentMapper; private final DataDictionaryCustomMapper dataDictionaryCustomMapper; + private final IMallMoneyFlowService mallMoneyFlowService; + private final MallRefundMapper mallRefundMapper; + + + @Override + public IPage<MallOrderInfo> findOrderListInPage(MallOrderInfo mallOrderInfo, QueryRequest request) { + Page<MallOrderInfo> page = new Page<>(request.getPageNum(), request.getPageSize()); + return this.baseMapper.selectInPage(mallOrderInfo, page); + } @Override public IPage<AdminMallOrderInfoVo> getOrderListInPage(MallOrderInfoDto mallOrderInfo, QueryRequest request) { Page<AdminMallOrderInfoVo> page = new Page<>(request.getPageNum(), request.getPageSize()); IPage<AdminMallOrderInfoVo> adminMallOrderInfoVos = this.baseMapper.selectOrderListInPage(page, mallOrderInfo); + if(CollUtil.isNotEmpty(adminMallOrderInfoVos.getRecords())){ + for(AdminMallOrderInfoVo adminMallOrderInfoVo : adminMallOrderInfoVos.getRecords()){ + Long orderId = adminMallOrderInfoVo.getId(); + adminMallOrderInfoVo.setGoodsAmount(adminMallOrderInfoVo.getAmount().subtract(adminMallOrderInfoVo.getCarriage())); + List<MallOrderItem> mallOrderItemList = mallOrderItemMapper.selectListByOrderId(orderId); + if(CollUtil.isNotEmpty(mallOrderItemList)){ + StringBuffer stringBuffer = new StringBuffer(); + for(MallOrderItem mallOrderItem : mallOrderItemList){ + stringBuffer.append(mallOrderItem.getGoodsName()).append("*").append(mallOrderItem.getCnt()).append(";"); + } + adminMallOrderInfoVo.setGoodsName(stringBuffer.toString()); + } + } + } return adminMallOrderInfoVos; } @@ -69,6 +100,10 @@ if(2 != status){ return new FebsResponse().fail().message("订单不是待发货状态"); } + Integer deliveryType = mallOrderInfo.getDeliveryType(); + if(2 != deliveryType){ + return new FebsResponse().fail().message("订单的配送方式不是快递"); + } String expressNo = deliverGoodsDto.getExpressNo(); if(StrUtil.isEmpty(expressNo)){ return new FebsResponse().fail().message("请输入物流单号"); @@ -84,8 +119,10 @@ mallExpressInfo.setExpressCom(expressCom); mallExpressInfoMapper.insert(mallExpressInfo); - mallOrderInfo.setStatus(3); - mallOrderInfoMapper.updateById(mallOrderInfo); + mallOrderInfoMapper.updateOrderStateAndDeliveryState(mallOrderInfo.getId(), + OrderStatusEnum.WAIT_FINISH.getValue(), + OrderDeliveryStateEnum.DELIVERY_FINISH.getValue()); + return new FebsResponse().success(); } @@ -143,15 +180,11 @@ mallOrderInfoMapper.updateById(mallOrderInfo); if(!"微信支付".equals(mallOrderInfo.getPayMethod()) && !"支付宝支付".equals(mallOrderInfo.getPayMethod())){ + BigDecimal amount = mallOrderRefund.getAmount(); //用户钱包增加对应的余额 - iApiMallMemberWalletService.addBalance(mallOrderInfo.getAmount(),mallOrderInfo.getMemberId()); - //新增一条资金流水 - MallMoneyFlow mallMoneyFlow = new MallMoneyFlow(); - mallMoneyFlow.setMemberId(mallOrderRefund.getMemberId()); - mallMoneyFlow.setOrderNo(mallOrderInfo.getOrderNo()); - mallMoneyFlow.setType(4); - mallMoneyFlow.setAmount(mallOrderInfo.getAmount()); - mallMoneyFlowMapper.insert(mallMoneyFlow); + iApiMallMemberWalletService.addBalance(amount, mallOrderInfo.getMemberId()); + + mallMoneyFlowService.addMoneyFlow(mallOrderRefund.getMemberId(), amount, MoneyFlowTypeEnum.REFUND.getValue(), mallOrderInfo.getOrderNo(), FlowTypeEnum.BALANCE.getValue()); } MallOrderRefundOperation mallOrderRefundOperation = new MallOrderRefundOperation(); @@ -215,17 +248,12 @@ mallOrderInfo.setStatus(6); mallOrderInfoMapper.updateById(mallOrderInfo); + BigDecimal refundAmount = mallOrderRefund.getAmount(); //用户钱包增加对应的余额 - iApiMallMemberWalletService.addBalance(mallOrderInfo.getAmount(),mallOrderInfo.getMemberId()); + iApiMallMemberWalletService.addBalance(refundAmount, mallOrderInfo.getMemberId()); //新增一条资金流水 - MallMoneyFlow mallMoneyFlow = new MallMoneyFlow(); - mallMoneyFlow.setMemberId(mallOrderRefund.getMemberId()); - mallMoneyFlow.setOrderNo(mallOrderInfo.getOrderNo()); - mallMoneyFlow.setType(4); - mallMoneyFlow.setAmount(mallOrderInfo.getAmount()); - mallMoneyFlowMapper.insert(mallMoneyFlow); - + mallMoneyFlowService.addMoneyFlow(mallOrderRefund.getMemberId(), refundAmount, MoneyFlowTypeEnum.REFUND.getValue(), mallOrderInfo.getOrderNo(), FlowTypeEnum.BALANCE.getValue()); return new FebsResponse().success(); } @@ -359,5 +387,83 @@ return adminMallMemberPaymentVo; } + @Override + public IPage<AdminMallGoodsCommentVo> getCommentListInPage(AdminMallGoodsCommentDto adminMallGoodsCommentDto, QueryRequest request) { + Page<AdminMallGoodsCommentVo> page = new Page<>(request.getPageNum(), request.getPageSize()); + IPage<AdminMallGoodsCommentVo> adminMallGoodsCommentVos = mallGoodsCommentMapper.getCommentListInPage(page, adminMallGoodsCommentDto); + return adminMallGoodsCommentVos; + } + @Override + public FebsResponse showStateSwitchOn(Long id) { + MallGoodsComment mallGoodsComment = mallGoodsCommentMapper.selectById(id); + if (ObjectUtil.isEmpty(mallGoodsComment)) { + return new FebsResponse().fail().message("评论不存在,请刷新当前页面"); + } + mallGoodsComment.setShowState(MallGoodsComment.SHOW_STATE_ENABLE); + mallGoodsCommentMapper.updateById(mallGoodsComment); + return new FebsResponse().success(); + } + + @Override + public FebsResponse showStateSwitchOff(Long id) { + MallGoodsComment mallGoodsComment = mallGoodsCommentMapper.selectById(id); + if (ObjectUtil.isEmpty(mallGoodsComment)) { + return new FebsResponse().fail().message("评论不存在,请刷新当前页面"); + } + mallGoodsComment.setShowState(MallGoodsComment.SHOW_STATE_DISABLED); + mallGoodsCommentMapper.updateById(mallGoodsComment); + return new FebsResponse().success(); + } + + @Override + public void updateOrderStateAndDeliveryState(Long id, int value, int value1) { + mallOrderInfoMapper.updateOrderStateAndDeliveryState(id,value,value1); + } + + @Override + public IPage<MallRefundEntity> getOrderRefundListInPage(MallRefundEntity mallRefundEntity, QueryRequest request) { + Page<MallRefundEntity> page = new Page<>(request.getPageNum(), request.getPageSize()); + IPage<MallRefundEntity> mallRefundEntityIPage = mallRefundMapper.getOrderRefundListInPage(page, mallRefundEntity); + List<MallRefundEntity> records = mallRefundEntityIPage.getRecords(); + if(CollUtil.isNotEmpty(records)){ + for(MallRefundEntity mallRefundEntityPic : records){ + String refundPic = mallRefundEntityPic.getRefundPic(); + if(StrUtil.isNotEmpty(refundPic)){ + String[] split = StrUtil.split(refundPic, ","); + mallRefundEntityPic.setRefundPicList(split); + } + } + } + return mallRefundEntityIPage; + } + + @Override + public IPage<AdminGoodsStatisticsVo> goodsStatistics(MallOrderItem mallOrderItem, QueryRequest request) { + Page<AdminGoodsStatisticsVo> page = new Page<>(request.getPageNum(), request.getPageSize()); + IPage<AdminGoodsStatisticsVo> adminGoodsStatisticsVos = mallOrderInfoMapper.getGoodsStatisticsInPage(page, mallOrderItem); + return adminGoodsStatisticsVos; + } + + @Override + public void deliverGoodsByOrderNo(DeliverGoodsDto deliverGoodsDto) { + MallOrderInfo mallOrderInfo = mallOrderInfoMapper.selectByOrderNo(deliverGoodsDto.getOrderNo()); + if (mallOrderInfo == null) { + return; + } + + MallExpressInfo mallExpressInfo = new MallExpressInfo(); + mallExpressInfo.setMemberId(mallOrderInfo.getMemberId()); + mallExpressInfo.setOrderId(mallOrderInfo.getId()); + mallExpressInfo.setExpressNo(deliverGoodsDto.getExpressNo()); + mallExpressInfo.setExpressCom(deliverGoodsDto.getExpressCom()); + mallExpressInfo.setExpressCode(deliverGoodsDto.getExpressCode()); + mallExpressInfoMapper.insert(mallExpressInfo); + + mallOrderInfoMapper.updateOrderStateAndDeliveryState(mallOrderInfo.getId(), + OrderStatusEnum.WAIT_FINISH.getValue(), + OrderDeliveryStateEnum.DELIVERY_FINISH.getValue()); +// mallOrderInfo.setStatus(3); +// mallOrderInfoMapper.updateById(mallOrderInfo); + } } -- Gitblit v1.9.1