| package cc.mrbird.febs.mall.service.impl; | 
|   | 
| 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; | 
| import cn.hutool.core.util.StrUtil; | 
| import com.baomidou.mybatisplus.core.metadata.IPage; | 
| import com.baomidou.mybatisplus.extension.plugins.pagination.Page; | 
| import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; | 
| import lombok.RequiredArgsConstructor; | 
| import lombok.extern.slf4j.Slf4j; | 
| import org.springframework.stereotype.Service; | 
| import org.springframework.transaction.annotation.Transactional; | 
|   | 
| import java.math.BigDecimal; | 
| import java.util.List; | 
|   | 
| @Slf4j | 
| @Service | 
| @RequiredArgsConstructor | 
| @Transactional | 
| public class AdminMallOrderService extends ServiceImpl<MallOrderInfoMapper, MallOrderInfo> implements IAdminMallOrderService { | 
|   | 
|     private final MallOrderInfoMapper mallOrderInfoMapper; | 
|   | 
|     private final MallExpressInfoMapper mallExpressInfoMapper; | 
|   | 
|     private final MallOrderItemMapper mallOrderItemMapper; | 
|   | 
|     private final MallOrderRefundMapper mallOrderRefundMapper; | 
|   | 
|     private final MallOrderRefundOperationMapper mallOrderRefundOperationMapper; | 
|   | 
|     private final MallOrderRefundAddressMapper mallOrderRefundAddressMapper; | 
|   | 
|     private final MallGoodsCommentMapper mallGoodsCommentMapper; | 
|   | 
|     private final MallMoneyFlowMapper mallMoneyFlowMapper; | 
|   | 
|     private final IApiMallMemberWalletService iApiMallMemberWalletService; | 
|   | 
|     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; | 
|     } | 
|   | 
|     @Override | 
|     public AdminMallOrderVo getMallOrderInfoById(long id) { | 
|         return this.baseMapper.getMallOrderInfoById(id); | 
|     } | 
|   | 
|     @Override | 
|     public FebsResponse deliverGoods(DeliverGoodsDto deliverGoodsDto) { | 
|         MallOrderInfo mallOrderInfo = mallOrderInfoMapper.selectById(deliverGoodsDto.getId()); | 
|         if(ObjectUtil.isEmpty(mallOrderInfo)){ | 
|             return new FebsResponse().fail().message("订单不存在,刷新后重试"); | 
|         } | 
|         Integer status = mallOrderInfo.getStatus(); | 
|         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("请输入物流单号"); | 
|         } | 
|         String expressCom = deliverGoodsDto.getExpressCom(); | 
|         if(StrUtil.isEmpty(expressCom)){ | 
|             return new FebsResponse().fail().message("请输入物流公司"); | 
|         } | 
|         MallExpressInfo mallExpressInfo = new MallExpressInfo(); | 
|         mallExpressInfo.setMemberId(mallOrderInfo.getMemberId()); | 
|         mallExpressInfo.setOrderId(mallOrderInfo.getId()); | 
|         mallExpressInfo.setExpressNo(expressNo); | 
|         mallExpressInfo.setExpressCom(expressCom); | 
|         mallExpressInfoMapper.insert(mallExpressInfo); | 
|   | 
|         mallOrderInfoMapper.updateOrderStateAndDeliveryState(mallOrderInfo.getId(), | 
|                 OrderStatusEnum.WAIT_FINISH.getValue(), | 
|                 OrderDeliveryStateEnum.DELIVERY_FINISH.getValue()); | 
|   | 
|         return new FebsResponse().success(); | 
|     } | 
|   | 
|     @Override | 
|     public AdminOrderDetailVo getMallOrderDetailById(long id) { | 
|         AdminOrderDetailVo adminOrderDetailVo = mallOrderInfoMapper.getMallOrderDetailById(id); | 
|         MallExpressInfo mallExpressInfo = mallExpressInfoMapper.selectByOrderId(id); | 
|         if(ObjectUtil.isNotEmpty(mallExpressInfo)){ | 
|             adminOrderDetailVo.setExpressNo(mallExpressInfo.getExpressNo()); | 
|             adminOrderDetailVo.setExpressCom(mallExpressInfo.getExpressCom()); | 
|         } | 
|         List<MallOrderItem> mallOrderItems = mallOrderInfoMapper.getMallOrderItemByOrderId(id); | 
|         if(CollUtil.isNotEmpty(mallOrderItems)){ | 
|             StringBuffer orderItems = new StringBuffer(); | 
|             for (MallOrderItem item : mallOrderItems){ | 
|                 StringBuffer orderItem = new StringBuffer(); | 
|                 orderItems.append(item.getGoodsName()+"-"+item.getCnt()+"*"+item.getPrice()+"-合计"+item.getAmount()+"; \n "); | 
|                 orderItems.append(orderItem); | 
|             } | 
|             adminOrderDetailVo.setOrderItems(orderItems.toString()); | 
|         } | 
|   | 
|         return adminOrderDetailVo; | 
|     } | 
|   | 
|     @Override | 
|     public IPage<AdminMallOrderRefundVo> getRefundListInPage(MallOrderRefundDto mallOrderRefundDto, QueryRequest request) { | 
|         Page<AdminMallOrderRefundVo> page = new Page<>(request.getPageNum(), request.getPageSize()); | 
|         IPage<AdminMallOrderRefundVo> adminMallOrderRefundVos = mallOrderRefundMapper.selectRefundListInPage(page, mallOrderRefundDto); | 
|         return adminMallOrderRefundVos; | 
|     } | 
|   | 
|     @Override | 
|     public IPage<AdminMallOrderRefundOperationVo> seeRefund(QueryRequest request, MallOrderRefund mallOrderRefund) { | 
|         Page<AdminMallOrderRefundOperationVo> page = new Page<>(request.getPageNum(), request.getPageSize()); | 
|         IPage<AdminMallOrderRefundOperationVo> adminMallOrderRefundOperationVos = mallOrderRefundOperationMapper.selectRefundOperationInPage(page, mallOrderRefund); | 
|         return adminMallOrderRefundOperationVos; | 
|     } | 
|   | 
|     @Override | 
|     public FebsResponse agreeRefund(Long id) { | 
|         MallOrderRefund mallOrderRefund = mallOrderRefundMapper.selectById(id); | 
|         if(ObjectUtil.isEmpty(mallOrderRefund)){ | 
|             return new FebsResponse().fail().message("系统繁忙,请刷新重试"); | 
|         } | 
|         Integer status = mallOrderRefund.getStatus(); | 
|         if(status != 1){ | 
|             return new FebsResponse().fail().message("申请记录不是已申请状态,请刷新页面"); | 
|         } | 
|         mallOrderRefund.setStatus(5); | 
|         mallOrderRefundMapper.updateById(mallOrderRefund); | 
|   | 
|         MallOrderInfo mallOrderInfo = mallOrderInfoMapper.selectById(mallOrderRefund.getOrderId()); | 
|         mallOrderInfo.setStatus(6); | 
|         mallOrderInfoMapper.updateById(mallOrderInfo); | 
|   | 
|         if(!"微信支付".equals(mallOrderInfo.getPayMethod()) && !"支付宝支付".equals(mallOrderInfo.getPayMethod())){ | 
|             BigDecimal amount = mallOrderRefund.getAmount(); | 
|             //用户钱包增加对应的余额 | 
|             iApiMallMemberWalletService.addBalance(amount, mallOrderInfo.getMemberId()); | 
|   | 
|             mallMoneyFlowService.addMoneyFlow(mallOrderRefund.getMemberId(), amount, MoneyFlowTypeEnum.REFUND.getValue(), mallOrderInfo.getOrderNo(), FlowTypeEnum.BALANCE.getValue()); | 
|         } | 
|   | 
|         MallOrderRefundOperation mallOrderRefundOperation = new MallOrderRefundOperation(); | 
|         mallOrderRefundOperation.setRefundId(mallOrderRefund.getId()); | 
|         mallOrderRefundOperation.setOrderId(mallOrderRefund.getOrderId()); | 
|         mallOrderRefundOperation.setContent("已同意退款不退货申请"); | 
|         mallOrderRefundOperationMapper.insert(mallOrderRefundOperation); | 
|   | 
|         return new FebsResponse().success(); | 
|     } | 
|   | 
|     @Override | 
|     public FebsResponse disagreeRefund(Long id) { | 
|         MallOrderRefund mallOrderRefund = mallOrderRefundMapper.selectById(id); | 
|         if(ObjectUtil.isEmpty(mallOrderRefund)){ | 
|             return new FebsResponse().fail().message("系统繁忙,请刷新重试"); | 
|         } | 
|         Integer status = mallOrderRefund.getStatus(); | 
|         if(status != 1){ | 
|             return new FebsResponse().fail().message("申请记录不是已申请状态,请刷新页面"); | 
|         } | 
|         mallOrderRefund.setStatus(3); | 
|         mallOrderRefundMapper.updateById(mallOrderRefund); | 
|   | 
|         MallOrderRefundOperation mallOrderRefundOperation = new MallOrderRefundOperation(); | 
|         mallOrderRefundOperation.setRefundId(mallOrderRefund.getId()); | 
|         mallOrderRefundOperation.setOrderId(mallOrderRefund.getOrderId()); | 
|         mallOrderRefundOperation.setContent("不同意退款申请"); | 
|         mallOrderRefundOperationMapper.insert(mallOrderRefundOperation); | 
|         //恢复订单状态 | 
|         MallOrderInfo mallOrderInfo = mallOrderInfoMapper.selectById(mallOrderRefund.getOrderId()); | 
|         mallOrderInfo.setStatus(mallOrderRefund.getBeforeStatus()); | 
|         mallOrderInfoMapper.updateById(mallOrderInfo); | 
|   | 
|         return new FebsResponse().success(); | 
|     } | 
|   | 
|     @Override | 
|     public FebsResponse refundConfirm(Long id) { | 
|         MallOrderRefund mallOrderRefund = mallOrderRefundMapper.selectById(id); | 
|         if(ObjectUtil.isEmpty(mallOrderRefund)){ | 
|             return new FebsResponse().fail().message("系统繁忙,请刷新重试"); | 
|         } | 
|         Integer status = mallOrderRefund.getStatus(); | 
|         if(status != 4){ | 
|             return new FebsResponse().fail().message("申请记录不是已提交物流信息状态,请刷新页面"); | 
|         } | 
|         mallOrderRefund.setStatus(5); | 
|         mallOrderRefundMapper.updateById(mallOrderRefund); | 
|   | 
|         MallOrderRefundOperation mallOrderRefundOperation = new MallOrderRefundOperation(); | 
|         mallOrderRefundOperation.setRefundId(mallOrderRefund.getId()); | 
|         mallOrderRefundOperation.setOrderId(mallOrderRefund.getOrderId()); | 
|         mallOrderRefundOperation.setContent("已退款到用户账户"); | 
|         mallOrderRefundOperationMapper.insert(mallOrderRefundOperation); | 
|   | 
|         MallOrderInfo mallOrderInfo = mallOrderInfoMapper.selectById(mallOrderRefund.getOrderId()); | 
|         if(ObjectUtil.isEmpty(mallOrderInfo)){ | 
|             return new FebsResponse().fail().message("系统繁忙,请刷新重试"); | 
|         } | 
|         mallOrderInfo.setStatus(6); | 
|         mallOrderInfoMapper.updateById(mallOrderInfo); | 
|   | 
|         BigDecimal refundAmount = mallOrderRefund.getAmount(); | 
|         //用户钱包增加对应的余额 | 
|         iApiMallMemberWalletService.addBalance(refundAmount, mallOrderInfo.getMemberId()); | 
|   | 
|         //新增一条资金流水 | 
|         mallMoneyFlowService.addMoneyFlow(mallOrderRefund.getMemberId(), refundAmount, MoneyFlowTypeEnum.REFUND.getValue(), mallOrderInfo.getOrderNo(), FlowTypeEnum.BALANCE.getValue()); | 
|         return new FebsResponse().success(); | 
|     } | 
|   | 
|     @Override | 
|     public IPage<AdminMallOrderRefundAddressVo> getMallOrderRefundAddressInPage(MallOrderRefundAddressDto mallOrderRefundAddressDto, QueryRequest request) { | 
|         Page<AdminMallOrderRefundAddressVo> page = new Page<>(request.getPageNum(), request.getPageSize()); | 
|         IPage<AdminMallOrderRefundAddressVo> adminMallOrderRefundAddressVos = mallOrderRefundAddressMapper.getMallOrderRefundAddressInPage(page, mallOrderRefundAddressDto); | 
|         return adminMallOrderRefundAddressVos; | 
|     } | 
|   | 
|     @Override | 
|     public AdminMallOrderRefundAddressVo getMallOrderRefundAddressInfoById(long id) { | 
|         AdminMallOrderRefundAddressVo AdminMallOrderRefundAddressVo = mallOrderRefundAddressMapper.getMallOrderRefundAddressInfoById(id); | 
|         return AdminMallOrderRefundAddressVo; | 
|     } | 
|   | 
|     @Override | 
|     public FebsResponse addressUpdate(AddressUpdateDto addressUpdateDto) { | 
|         Long id = addressUpdateDto.getId(); | 
|         MallOrderRefundAddress mallOrderRefundAddress = mallOrderRefundAddressMapper.selectById(id); | 
|         mallOrderRefundAddress.setName(addressUpdateDto.getName()); | 
|         mallOrderRefundAddress.setPhone(addressUpdateDto.getPhone()); | 
|         mallOrderRefundAddress.setAddress(addressUpdateDto.getAddress()); | 
|         mallOrderRefundAddressMapper.updateById(mallOrderRefundAddress); | 
|         return new FebsResponse().success(); | 
|     } | 
|   | 
|     @Override | 
|     public FebsResponse deleteAddress(Long id) { | 
|         mallOrderRefundAddressMapper.deleteById(id); | 
|         return new FebsResponse().success(); | 
|     } | 
|   | 
|     @Override | 
|     public FebsResponse addAddress(AddAddressDto addAddressDto) { | 
|         MallOrderRefundAddress mallOrderRefundAddress = new MallOrderRefundAddress(); | 
|         mallOrderRefundAddress.setName(addAddressDto.getName()); | 
|         mallOrderRefundAddress.setPhone(addAddressDto.getPhone()); | 
|         mallOrderRefundAddress.setAddress(addAddressDto.getAddress()); | 
|         mallOrderRefundAddressMapper.insert(mallOrderRefundAddress); | 
|         return new FebsResponse().success(); | 
|     } | 
|   | 
|     @Override | 
|     public List<AdminAddAddressTreeVo> getRefundAddress() { | 
|         List<AdminAddAddressTreeVo> list = mallOrderRefundAddressMapper.getRefundAddress(); | 
|         return list; | 
|     } | 
|   | 
|     @Override | 
|     public FebsResponse withAddressUpdate(WithAddressUpdateDto withAddressUpdateDto) { | 
|         Long addressId = withAddressUpdateDto.getAddressId(); | 
|         MallOrderRefundAddress mallOrderRefundAddress = mallOrderRefundAddressMapper.selectById(addressId); | 
|   | 
|         MallOrderRefund mallOrderRefund = mallOrderRefundMapper.selectById(withAddressUpdateDto.getId()); | 
|         if(ObjectUtil.isEmpty(mallOrderRefund)){ | 
|             return new FebsResponse().fail().message("系统繁忙,请刷新重试"); | 
|         } | 
|         Integer status = mallOrderRefund.getStatus(); | 
|         if(status != 1){ | 
|             return new FebsResponse().fail().message("申请记录不是已申请状态,请刷新页面"); | 
|         } | 
|         mallOrderRefund.setStatus(2); | 
|         mallOrderRefund.setName(mallOrderRefundAddress.getName()); | 
|         mallOrderRefund.setPhone(mallOrderRefundAddress.getPhone()); | 
|         mallOrderRefund.setAddress(mallOrderRefundAddress.getAddress()); | 
|         mallOrderRefundMapper.updateById(mallOrderRefund); | 
|   | 
|         MallOrderRefundOperation mallOrderRefundOperation = new MallOrderRefundOperation(); | 
|         mallOrderRefundOperation.setRefundId(mallOrderRefund.getId()); | 
|         mallOrderRefundOperation.setOrderId(mallOrderRefund.getOrderId()); | 
|         mallOrderRefundOperation.setContent("已同意退款退货申请"); | 
|         mallOrderRefundOperationMapper.insert(mallOrderRefundOperation); | 
|   | 
|         return new FebsResponse().success(); | 
|     } | 
|   | 
|     @Override | 
|     public AdminMallOrderRefundVo getMallOrderRefundInfoById(long id) { | 
|         return mallOrderRefundMapper.getMallOrderRefundInfoById(id); | 
|     } | 
|   | 
|     @Override | 
|     public IPage<AdminPayMethodVo> getPayMethodListInPage(PayMethodDto payMethodDto, QueryRequest request) { | 
|         payMethodDto.setType("PAYMENT_METHOD"); | 
|         Page<AdminPayMethodVo> page = new Page<>(request.getPageNum(), request.getPageSize()); | 
|         IPage<AdminPayMethodVo> adminPayMethodVos = dataDictionaryCustomMapper.getPayMethodListInPage(page, payMethodDto); | 
|         return adminPayMethodVos; | 
|     } | 
|   | 
|     @Override | 
|     public AdminMallPayMethodEditVo getMallPayMethodEditInfoById(long id) { | 
|         AdminMallPayMethodEditVo adminMallPayMethodEditVo = dataDictionaryCustomMapper.getMallPayMethodEditInfoById(id); | 
|         return adminMallPayMethodEditVo; | 
|     } | 
|   | 
|     @Override | 
|     public FebsResponse payMethodEdit(PayMethodEditDto payMethodEditDto) { | 
|         DataDictionaryCustom dataDictionaryCustom = dataDictionaryCustomMapper.selectById(payMethodEditDto.getId()); | 
|         if(ObjectUtil.isEmpty(dataDictionaryCustom)){ | 
|             return new FebsResponse().fail().message("系统繁忙,请刷新重试"); | 
|         } | 
|         dataDictionaryCustom.setValue(payMethodEditDto.getValue()); | 
|         dataDictionaryCustomMapper.updateById(dataDictionaryCustom); | 
|         return new FebsResponse().success(); | 
|     } | 
|   | 
|     @Override | 
|     public FebsResponse cancelOrder(Long id) { | 
|         MallOrderInfo mallOrderInfo = mallOrderInfoMapper.selectById(id); | 
|         if(ObjectUtil.isEmpty(mallOrderInfo)){ | 
|             return new FebsResponse().fail().message("系统繁忙,请刷新重试"); | 
|         } | 
|         Integer status = mallOrderInfo.getStatus(); | 
|         if(status != 2){ | 
|             return new FebsResponse().fail().message("订单不是代发货状态"); | 
|         } | 
|         mallOrderInfo.setStatus(7); | 
|         mallOrderInfoMapper.updateById(mallOrderInfo); | 
|         return new FebsResponse().success(); | 
|     } | 
|   | 
|     @Override | 
|     public AdminMallMemberPaymentVo getMallMemberRefundPayInfoByFlowId(long id) { | 
|         AdminMallMemberPaymentVo adminMallMemberPaymentVo = new AdminMallMemberPaymentVo(); | 
|         MallOrderRefund mallOrderRefund = mallOrderRefundMapper.selectById(id); | 
|         AdminMallMemberPaymentVo adminMallMemberPaymentVoa = mallMemberPaymentMapper.getMallMemberPaymentInfoByMemberId(mallOrderRefund.getMemberId()); | 
|         if(ObjectUtil.isNotEmpty(adminMallMemberPaymentVoa)){ | 
|             adminMallMemberPaymentVo = adminMallMemberPaymentVoa; | 
|         } | 
|         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); | 
|     } | 
| } |