From c56372c3c3320a92af9b8fcd7e31ac29139f98ba Mon Sep 17 00:00:00 2001 From: xiaoyong931011 <15274802129@163.com> Date: Mon, 03 Apr 2023 01:27:49 +0800 Subject: [PATCH] 设定时区,这样创建的时间就不会出现问题 --- src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallOrderInfoServiceImpl.java | 158 ++++++++++++++++++++++++++++++++++++---------------- 1 files changed, 109 insertions(+), 49 deletions(-) diff --git a/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallOrderInfoServiceImpl.java b/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallOrderInfoServiceImpl.java index 611da7c..50d1583 100644 --- a/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallOrderInfoServiceImpl.java +++ b/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallOrderInfoServiceImpl.java @@ -14,10 +14,7 @@ import cc.mrbird.febs.mall.entity.*; import cc.mrbird.febs.mall.mapper.*; import cc.mrbird.febs.mall.service.*; -import cc.mrbird.febs.mall.vo.ApiShopApplyVo; -import cc.mrbird.febs.mall.vo.OrderDetailVo; -import cc.mrbird.febs.mall.vo.OrderListVo; -import cc.mrbird.febs.mall.vo.OrderRefundVo; +import cc.mrbird.febs.mall.vo.*; import cc.mrbird.febs.pay.model.AgreementPayDto; import cc.mrbird.febs.pay.model.AgreementSignDto; import cc.mrbird.febs.pay.model.UnipayDto; @@ -103,18 +100,36 @@ throw new FebsException(goods.getGoodsName() + "已下架"); } /** + * 存在未支付的订单无法下单 + */ + Integer orderIng = this.baseMapper.selectOrderInfoByStatusAndMemberId(OrderStatusEnum.FINISH.getValue(), mallMember.getId()); + if(1 <= orderIng){ + throw new FebsException("请先完成未完成的订单"); + } + + /** * 会员一天最多下单次数 */ DataDictionaryCustom buyTimesDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode( DataDictionaryEnum.BUY_TIMES.getType(), DataDictionaryEnum.BUY_TIMES.getCode()); Integer buyTimes = Integer.parseInt(buyTimesDic.getValue()); - DateTime date = DateUtil.date(); + DateTime date = DateUtil.offsetHour(DateUtil.date(), -1); +// DateTime date = DateUtil.date(); SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); String yyyyMMdd = sdf.format(date); Integer times = this.baseMapper.selectCountByCreateTimeAndMemberId(yyyyMMdd,member.getId()); if(buyTimes <= times){ - throw new FebsException("会员今日已无法购买"); + throw new FebsException("今日任务完成,明天再来"); + } + + DataDictionaryCustom allBuyTimesDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode( + DataDictionaryEnum.ALL_BUY_TIMES.getType(), DataDictionaryEnum.ALL_BUY_TIMES.getCode()); + Integer allBuyTimes = Integer.parseInt(allBuyTimesDic.getValue()); + + Integer allBuyTimesNow = this.baseMapper.selectCountByCreateTime(yyyyMMdd); + if(allBuyTimes <= allBuyTimesNow){ + throw new FebsException("今日任务完成,明天再来"); } String orderNo = MallUtils.getOrderNum(); @@ -127,6 +142,7 @@ orderInfo.setOrderType(addOrderDto.getOrderType()); //补贴金额 orderInfo.setSubsidyAmount(goods.getSubsidyAmount()); + orderInfo.setCommentState(MallOrderInfo.COMMENT_STATE_NO); this.baseMapper.insert(orderInfo); List<MallGoodsSku> mallGoodsSkus = mallGoodsSkuMapper.selectSkuByGoodsId(goods.getId()); @@ -146,7 +162,7 @@ orderItem.setOrderId(orderInfo.getId()); orderItem.setPrice(sku.getPresentPrice()); orderItem.setGoodsId(sku.getGoodsId()); - orderItem.setGoodsName(sku.getGoodsName()); + orderItem.setGoodsName(goods.getGoodsName()); orderItem.setSkuId(sku.getId()); orderItem.setStyleName(sku.getStyleName()); orderItem.setSkuName(sku.getSkuName()); @@ -449,18 +465,18 @@ OrderDetailVo orderDetailVo = MallOrderInfoConversion.INSTANCE.entityToDetailVo(orderInfo); - Integer deliverType = (ObjectUtil.isEmpty(orderInfo.getDeliverType()) ? new Integer(0):orderInfo.getDeliverType()); - if (orderInfo.getStatus() == OrderStatusEnum.WAIT_FINISH.getValue() && 2 != deliverType) { - MallExpressInfo expressInfo = expressInfoMapper.selectByOrderId(orderInfo.getId()); - orderDetailVo.setExpressNo(expressInfo.getExpressNo()); - orderDetailVo.setExpressCom(expressInfo.getExpressCom()); - } +// Integer deliverType = (ObjectUtil.isEmpty(orderInfo.getDeliverType()) ? new Integer(0):orderInfo.getDeliverType()); +// if (orderInfo.getStatus() == OrderStatusEnum.WAIT_FINISH.getValue() && 2 != deliverType) { +// MallExpressInfo expressInfo = expressInfoMapper.selectByOrderId(orderInfo.getId()); +// orderDetailVo.setExpressNo(expressInfo.getExpressNo()); +// orderDetailVo.setExpressCom(expressInfo.getExpressCom()); +// } - if (orderInfo.getStatus() == OrderStatusEnum.REFUNDING.getValue() || orderInfo.getStatus() == OrderStatusEnum.REFUNDED.getValue()) { - MallOrderRefund orderRefund = mallOrderRefundMapper.selectOrderRefundByOrderId(orderInfo.getId()); - OrderRefundVo orderRefundVo = MallOrderRefundConversion.INSTANCE.entityToVo(orderRefund); - orderDetailVo.setOrderRefund(orderRefundVo); - } +// if (orderInfo.getStatus() == OrderStatusEnum.REFUNDING.getValue() || orderInfo.getStatus() == OrderStatusEnum.REFUNDED.getValue()) { +// MallOrderRefund orderRefund = mallOrderRefundMapper.selectOrderRefundByOrderId(orderInfo.getId()); +// OrderRefundVo orderRefundVo = MallOrderRefundConversion.INSTANCE.entityToVo(orderRefund); +// orderDetailVo.setOrderRefund(orderRefundVo); +// } if (OrderStatusEnum.WAIT_PAY.getValue() == orderInfo.getStatus()) { Date endTime = DateUtil.offsetMinute(orderInfo.getOrderTime(), 15); @@ -468,20 +484,20 @@ long remainTime = DateUtil.between(new Date(), endTime, DateUnit.SECOND, false); orderDetailVo.setRemainTime(remainTime); } - if(2 == deliverType){ - MallShopApply mallShopApply = mallShopApplyMapper.selectById(orderInfo.getShopId()); - if(ObjectUtil.isNotEmpty(mallShopApply)){ - ApiShopApplyVo apiShopApplyVo = new ApiShopApplyVo(); - apiShopApplyVo.setName(mallShopApply.getName()); - apiShopApplyVo.setPhone(mallShopApply.getPhone()); - apiShopApplyVo.setSaleArea(mallShopApply.getSaleArea()); - apiShopApplyVo.setLatitude(mallShopApply.getLatitude()); - apiShopApplyVo.setLongitude(mallShopApply.getLongitude()); - apiShopApplyVo.setShopName(mallShopApply.getShopName()); - apiShopApplyVo.setAddress(mallShopApply.getAddress()); - orderDetailVo.setApiShopApplyVo(apiShopApplyVo); - } - } +// if(2 == deliverType){ +// MallShopApply mallShopApply = mallShopApplyMapper.selectById(orderInfo.getShopId()); +// if(ObjectUtil.isNotEmpty(mallShopApply)){ +// ApiShopApplyVo apiShopApplyVo = new ApiShopApplyVo(); +// apiShopApplyVo.setName(mallShopApply.getName()); +// apiShopApplyVo.setPhone(mallShopApply.getPhone()); +// apiShopApplyVo.setSaleArea(mallShopApply.getSaleArea()); +// apiShopApplyVo.setLatitude(mallShopApply.getLatitude()); +// apiShopApplyVo.setLongitude(mallShopApply.getLongitude()); +// apiShopApplyVo.setShopName(mallShopApply.getShopName()); +// apiShopApplyVo.setAddress(mallShopApply.getAddress()); +// orderDetailVo.setApiShopApplyVo(apiShopApplyVo); +// } +// } return orderDetailVo; } @@ -501,22 +517,22 @@ orderInfo.setStatus(OrderStatusEnum.FINISH.getValue()); orderInfo.setReceivingTime(new Date()); this.baseMapper.updateById(orderInfo); - /** - * 通过支付流水记录,返回下单金额 - */ - MallMoneyFlow payFlow = mallMoneyFlowMapper.selectOneByMemberIdAndOrderNoAndTypeAndStatusAndIsReturn( - member.getId(), - orderInfo.getOrderNo(), - MallMoneyFlowTypeEnum.PAY.getCode(), - MallMoneyFlow.STATUS_SUCCESS, - MallMoneyFlow.IS_RETURN_N); - if(ObjectUtil.isNotEmpty(payFlow)){ - memberWalletService.addBalance(payFlow.getAmount().negate(),payFlow.getRtMemberId()); - payFlow.setIsReturn(MallMoneyFlow.IS_RETURN_Y); - mallMoneyFlowMapper.updateById(payFlow); - } - //产生补贴流水记录 - agentProducer.sendDirectRewardMsg(orderInfo.getId()); +// /** +// * 通过支付流水记录,返回下单金额 +// */ +// MallMoneyFlow payFlow = mallMoneyFlowMapper.selectOneByMemberIdAndOrderNoAndTypeAndStatusAndIsReturn( +// member.getId(), +// orderInfo.getOrderNo(), +// MallMoneyFlowTypeEnum.PAY.getCode(), +// MallMoneyFlow.STATUS_SUCCESS, +// MallMoneyFlow.IS_RETURN_N); +// if(ObjectUtil.isNotEmpty(payFlow)){ +// memberWalletService.addBalance(payFlow.getAmount().negate(),payFlow.getRtMemberId()); +// payFlow.setIsReturn(MallMoneyFlow.IS_RETURN_Y); +// mallMoneyFlowMapper.updateById(payFlow); +// } +// //产生补贴流水记录 +// agentProducer.sendDirectRewardMsg(orderInfo.getId()); } @@ -650,13 +666,30 @@ orderInfo.setCommentState(MallOrderInfo.COMMENT_STATE_YES); this.baseMapper.updateById(orderInfo); + /** + * 通过支付流水记录,返回下单金额 + */ + MallMoneyFlow payFlow = mallMoneyFlowMapper.selectOneByMemberIdAndOrderNoAndTypeAndStatusAndIsReturn( + member.getId(), + orderInfo.getOrderNo(), + MallMoneyFlowTypeEnum.PAY.getCode(), + MallMoneyFlow.STATUS_SUCCESS, + MallMoneyFlow.IS_RETURN_N); + if(ObjectUtil.isNotEmpty(payFlow)){ + memberWalletService.addBalance(payFlow.getAmount().negate(),payFlow.getRtMemberId()); + payFlow.setIsReturn(MallMoneyFlow.IS_RETURN_Y); + mallMoneyFlowMapper.updateById(payFlow); + } + //产生补贴流水记录 + agentProducer.sendDirectRewardMsg(orderInfo.getId()); List<ApiAddCommentDto> apiAddCommentDtos = addCommentDtos.getApiAddCommentDtos(); if(CollUtil.isNotEmpty(apiAddCommentDtos)){ for(ApiAddCommentDto apiAddCommentDto : apiAddCommentDtos){ Long skuId = apiAddCommentDto.getSkuId(); - MallGoodsSku mallGoodsSku = mallGoodsSkuMapper.selectById(skuId); Long goodsId = apiAddCommentDto.getGoodsId(); + List<MallGoodsSku> mallGoodsSkus = mallGoodsSkuMapper.selectSkuByGoodsId(goodsId); + MallGoodsSku mallGoodsSku = mallGoodsSkus.get(0); MallGoods mallGoods = mallGoodsMapper.selectById(goodsId); MallGoodsComment mallGoodsComment = MallGoodsCommentConversion.INSTANCE.dtoToEntity(apiAddCommentDto); mallGoodsComment.setMemberId(member.getId()); @@ -684,4 +717,31 @@ } } + @Override + public FebsResponse subsidyAmountInfo() { + MallMember member = LoginUserUtil.getLoginUser(); + ApiMallSubsidyAmountInfoVo apiMallSubsidyAmountInfoVo = new ApiMallSubsidyAmountInfoVo(); + DateTime today = DateUtil.date(); + DateTime yesterday = DateUtil.yesterday(); + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); + String yyyyMMddToday = sdf.format(today); + String yyyyMMddYesterday = sdf.format(yesterday); + //今日补贴 + BigDecimal todayAmount = this.baseMapper.selectTodayAmountByCreateTimeAndMemberId(yyyyMMddToday,member.getId()); + apiMallSubsidyAmountInfoVo.setTodayAmount(todayAmount); + //累计接单 + Integer todayTotalCnt = this.baseMapper.selectCountByCreateTimeAndMemberId(null,member.getId()); + apiMallSubsidyAmountInfoVo.setTodayTotalCnt(todayTotalCnt); + //昨日补贴 + BigDecimal yesterdayAmount = this.baseMapper.selectTodayAmountByCreateTimeAndMemberId(yyyyMMddYesterday,member.getId()); + apiMallSubsidyAmountInfoVo.setYesterdayAmount(yesterdayAmount); + //昨日累计接单 + Integer totalYesterdayCnt = this.baseMapper.selectCountByCreateTimeAndMemberId(yyyyMMddYesterday,member.getId()); + apiMallSubsidyAmountInfoVo.setTotalYesterdayCnt(totalYesterdayCnt); + //获得总额 + BigDecimal totalAmount = this.baseMapper.selectTodayAmountByCreateTimeAndMemberId(null,member.getId()); + apiMallSubsidyAmountInfoVo.setTotalAmount(totalAmount); + return new FebsResponse().success().data(apiMallSubsidyAmountInfoVo); + } + } -- Gitblit v1.9.1