| | |
| | | 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; |
| | |
| | | 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(); |
| | |
| | | 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()); |
| | |
| | | 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()); |
| | |
| | | |
| | | 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); |
| | |
| | | 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; |
| | | } |
| | | |
| | |
| | | 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()); |
| | | |
| | | } |
| | | |
| | |
| | | |
| | | 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()); |
| | |
| | | } |
| | | } |
| | | |
| | | @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); |
| | | } |
| | | |
| | | } |