| | |
| | | import cc.mrbird.febs.common.entity.QueryRequest; |
| | | import cc.mrbird.febs.common.enumerates.OrderStatusEnum; |
| | | import cc.mrbird.febs.common.utils.LoginUserUtil; |
| | | import cc.mrbird.febs.common.utils.RedisUtils; |
| | | import cc.mrbird.febs.mall.dto.AdminMallInvoiceDto; |
| | | import cc.mrbird.febs.mall.dto.ApiMallInvoiceDto; |
| | | import cc.mrbird.febs.mall.entity.MallInvoice; |
| | |
| | | |
| | | private final MallOrderInfoMapper mallOrderInfoMapper; |
| | | private final MallOrderItemMapper mallOrderItemMapper; |
| | | private final RedisUtils redisUtils; |
| | | @Override |
| | | public FebsResponse getInvoices(ApiMallInvoiceDto apiMallInvoiceDto) { |
| | | MallMember member = LoginUserUtil.getLoginUser(); |
| | |
| | | String payOrderNo = mallOrderInfo.getPayOrderNo(); |
| | | List<MallInvoice> mallInvoices = this.baseMapper.selectByFapiaoApplyIdAndMemberId(payOrderNo, memberId); |
| | | if(CollUtil.isNotEmpty(mallInvoices)){ |
| | | continue; |
| | | } |
| | | MallInvoice mallInvoice = mallInvoices.get(0); |
| | | mallInvoice.setStatus(mallOrderInfo.getStatus()); |
| | | this.baseMapper.updateById(mallInvoice); |
| | | }else{ |
| | | MallInvoice mallInvoice = new MallInvoice(); |
| | | mallInvoice.setMemberId(memberId); |
| | | mallInvoice.setFapiaoApplyId(payOrderNo); |
| | |
| | | mallInvoice.setGoodsImg(mallOrderItemList.get(0).getSkuImage()); |
| | | mallInvoice.setState(0); |
| | | this.baseMapper.insert(mallInvoice); |
| | | } |
| | | |
| | | /** |
| | | * 更新订单为已开票 |
| | | */ |
| | | mallOrderInfo.setIsInvoice(1); |
| | | mallOrderInfoMapper.updateById(mallOrderInfo); |
| | | |
| | | } |
| | | |
| | | } |
| | |
| | | Page<MallInvoice> page = new Page<>(request.getPageNum(), request.getPageSize()); |
| | | return this.baseMapper.getInvoiceListInPage(page, mallInvoiceDto); |
| | | } |
| | | |
| | | @Override |
| | | public List<MallOrderItem> invoiceItemList() { |
| | | Long existToken = Long.parseLong(redisUtils.getString("ADMIN_INVOICE_ID")); |
| | | MallInvoice mallInvoice = this.baseMapper.selectById(existToken); |
| | | if(ObjectUtil.isEmpty(mallInvoice)){ |
| | | return null; |
| | | } |
| | | return this.baseMapper.getInvoiceItemList(mallInvoice); |
| | | } |
| | | |
| | | @Override |
| | | public FebsResponse addInvoiceUrl(MallInvoice mallInvoice) { |
| | | Long id = mallInvoice.getId(); |
| | | MallInvoice mallInvoiceOld = this.baseMapper.selectById(id); |
| | | if(ObjectUtil.isEmpty(mallInvoiceOld)){ |
| | | return new FebsResponse().fail().message("开票信息异常。"); |
| | | } |
| | | Integer status = mallInvoiceOld.getStatus(); |
| | | if(OrderStatusEnum.FINISH.getValue() != status){ |
| | | return new FebsResponse().fail().message("订单还未完成,请勿开发票。"); |
| | | } |
| | | mallInvoiceOld.setInvoiceUrl(mallInvoice.getInvoiceUrl()); |
| | | mallInvoiceOld.setState(2); |
| | | this.baseMapper.updateById(mallInvoiceOld); |
| | | return new FebsResponse().success(); |
| | | } |
| | | } |