| | |
| | | order.setOrderId(orderId); |
| | | order.setDelFlag(0); |
| | | //为对接支付 直接付款成功 |
| | | order.setOrderStatus(2); |
| | | order.setOrderStatus(1); |
| | | order.setOrderNo(orderNo); |
| | | order.setOrderFrom(1); |
| | | order.setShopId(appPlaceOrderDto.getShopId()); |
| | |
| | | order.setDiscountMoney(couponDiscount); |
| | | order.setReceivableMoney(orderPayMoney); |
| | | order.setReceivableDeposit(orderPayDeposit); |
| | | order.setChangeReceivableMoney(orderPayMoney); |
| | | order.setPayType(appPlaceOrderDto.getPayType()); |
| | | if (order.getPayType() == 1) { |
| | | order.setPayMoney(orderPayMoney); |
| | |
| | | * @return |
| | | */ |
| | | @Override |
| | | public MerVerifyOrderVo verifyOrder(String orderId) { |
| | | public MerVerifyOrderVo verifyOrder(String orderId,Long shopId) { |
| | | // 创建返回对象 |
| | | MerVerifyOrderVo merVerifyOrderVo = new MerVerifyOrderVo(); |
| | | // 根据订单ID获取订单信息 |
| | | Order order = this.getById(orderId); |
| | | if(order.getOrderStatus()!=2){ |
| | | throw new ServiceException(AppErrorConstant.VERIFY_USED); |
| | | } |
| | | if(!order.getShopId().equals(shopId)){ |
| | | throw new ServiceException(AppErrorConstant.VERIFY_SHOP_ERROR); |
| | | } |
| | | // 根据订单ID获取订单商品列表 |
| | | List<AppUserOrderGoodsPageVo> appUserOrderGoodsPageVoList = orderGoodsService.listAppVoByOrderId(orderId); |
| | | // 设置返回对象的属性值 |
| | |
| | | Date nowTime = new Date(); |
| | | //更新订单信息 |
| | | Order order = this.getById(orderId); |
| | | if(order.getOrderStatus()!=2){ |
| | | throw new ServiceException(AppErrorConstant.VERIFY_USED); |
| | | } |
| | | order.setOrderStatus(3); |
| | | order.setUseTime(nowTime); |
| | | order.setUseUserId(merVerifyOrderDto.getUserId()); |
| | | order.setOfflinePayMoney(relPayMoney); |
| | | order.setOffPayTime(nowTime); |
| | | order.setPayMoney(relReceiveMoney.add(relPayMoney)); |
| | | order.setPayMoney(order.getPayMoney().add(relPayMoney)); |
| | | order.setCloseFlag(1); |
| | | order.setChangeReceivableMoney(relReceiveMoney); |
| | | this.saveOrUpdate(order); |
| | | //创建服务商品 |
| | | List<AppUserOrderGoodsPageVo> appUserOrderGoodsPageVoList = orderGoodsService.listAppVoByOrderId(orderId); |
| | |
| | | if (null != appMemberCouponVoList) { |
| | | appMemberCouponVoMap = appMemberCouponVoList.stream().collect(Collectors.toMap(AppMemberCouponVo::getMemberCouponId, Function.identity())); |
| | | } |
| | | |
| | | AppMemberCouponVo appMemberCouponVo; |
| | | Integer couponType; |
| | | BigDecimal moneyThreshold; |
| | |
| | | order.setReceivableMoney(orderPayMoney); |
| | | order.setReceivableDeposit(new BigDecimal("0.00")); |
| | | order.setPayType(1); |
| | | if (order.getPayType() == 1) { |
| | | order.setPayMoney(orderPayMoney); |
| | | order.setOnlinePayMoney(orderPayMoney); |
| | | order.setCloseFlag(1); |
| | | } else if (order.getPayType() == 2) { |
| | | order.setPayMoney(orderPayDeposit); |
| | | order.setOnlinePayMoney(orderPayDeposit); |
| | | order.setCloseFlag(0); |
| | | if(merNewOrderDto.getChangeMoney()!=null){ |
| | | order.setChangeReceivableMoney(merNewOrderDto.getChangeMoney()); |
| | | }else{ |
| | | order.setChangeReceivableMoney(orderPayMoney); |
| | | } |
| | | order.setPayMoney(orderPayMoney); |
| | | order.setOnlinePayMoney(new BigDecimal("0.00")); |
| | | order.setOfflinePayMoney(orderPayMoney); |
| | | order.setCloseFlag(1); |
| | | order.setOrderRemark(merNewOrderDto.getOrderRemark()); |
| | | order.setGoodsNum(goodsNum); |
| | | order.setCreateTime(nowTime); |
| | |
| | | } |
| | | BigDecimal unPaidMoney = mgtShopOrderPageVo.getReceivableMoney().subtract(mgtShopOrderPageVo.getPayMoney()); |
| | | mgtShopOrderPageVo.setUnPaidMoney(unPaidMoney == null ? zeroBig : unPaidMoney); |
| | | } |
| | | //处理商品信息 |
| | | List<MgtOrderGoodsPageVo> mgtOrderGoodsVoList; |
| | | String goodsString; |
| | | for(MgtShopOrderPageVo entity : shopOrderPageVoList){ |
| | | mgtOrderGoodsVoList = entity.getMgtOrderGoodsPageVoList(); |
| | | goodsString = mgtOrderGoodsVoList.stream() |
| | | .map(goods -> goods.getGoodsName() + "*" + goods.getBuyNum()) |
| | | .collect(Collectors.joining(";")); |
| | | entity.setGoodsInfo(goodsString); |
| | | } |
| | | } |
| | | return shopOrderPageVoList; |
| | |
| | | * @date 2023/6/27 11:10 |
| | | */ |
| | | @Override |
| | | public MerVerifyCouponVo verifyCoupon(String verifyCode) { |
| | | public MerVerifyCouponVo verifyCoupon(String verifyCode,Long shopId) { |
| | | // 创建MerVerifyCouponVo对象 |
| | | MerVerifyCouponVo merVerifyCouponVo = new MerVerifyCouponVo(); |
| | | // 调用remoteCouponService的getVerifyCoupon方法获取MerVerifyCouponGetVo对象 |
| | | MerVerifyCouponGetVo verifyCouponGetVo = remoteCouponService.getVerifyCoupon(verifyCode).getData(); |
| | | MemberCoupon memberCoupon = verifyCouponGetVo.getMemberCoupon(); |
| | | // 检查优惠券状态 |
| | | int couponStatus = memberCoupon.getCouponStatus(); |
| | | if (couponStatus == 0) { |
| | | throw new ServiceException(AppErrorConstant.COUPON_EXPIRED); |
| | | } else if (couponStatus == 2) { |
| | | throw new ServiceException(AppErrorConstant.COUPON_USED); |
| | | } else if (couponStatus != 0) { |
| | | throw new ServiceException(AppErrorConstant.COUPON_NO_FIND); |
| | | } |
| | | if(!memberCoupon.getShopId().equals(shopId)){ |
| | | throw new ServiceException(AppErrorConstant.VERIFY_SHOP_ERROR); |
| | | } |
| | | List<Goods> goodsList = verifyCouponGetVo.getGoodsList(); |
| | | Long userId = verifyCouponGetVo.getUserId(); |
| | | // 调用remoteMemberService的getMember方法获取Member对象 |
| | |
| | | } |
| | | return merOrderFromRankVo; |
| | | } |
| | | |
| | | /** |
| | | * @description 商户端订单管理统计 |
| | | * @author jqs |
| | | * @date 2023/7/4 16:27 |
| | | * @param merBaseDto |
| | | * @return MerTotalOrderVo |
| | | */ |
| | | @Override |
| | | public MerTotalOrderVo totalMerOrder(MerBaseDto merBaseDto){ |
| | | return orderMapper.totalMerOrder(merBaseDto.getShopId()); |
| | | } |
| | | |
| | | /** |
| | | * @description 平台获取商户订单记录 |
| | | * @author jqs |
| | | * @date 2023/7/5 20:17 |
| | | * @param page |
| | | * @param mgtShopAllOrderPageDto |
| | | * @return List<MgtShopAllOrderPageVo> |
| | | */ |
| | | @Override |
| | | public List<MgtShopAllOrderPageVo> pageMgtShopAllOrder(Page page, MgtShopAllOrderPageDto mgtShopAllOrderPageDto){ |
| | | List<MgtShopAllOrderPageVo> shopAllOrderPageVoList = orderMapper.pageMgtShopAllOrder(page, mgtShopAllOrderPageDto); |
| | | if(!shopAllOrderPageVoList.isEmpty()){ |
| | | // 定义变量 |
| | | HashSet<Long> userIdSet = new HashSet<>(); |
| | | BigDecimal zeroBig = new BigDecimal("0.00"); |
| | | // 遍历列表,获取店铺 ID 和用户 ID |
| | | for (MgtShopAllOrderPageVo mgtShopOrderPageVo : shopAllOrderPageVoList) { |
| | | userIdSet.add(mgtShopOrderPageVo.getUserId()); |
| | | } |
| | | // 从远程服务获取店铺和用户信息 |
| | | Map<Long, MgtSimpleMemberVo> userMap = null; |
| | | if (userIdSet != null && !userIdSet.isEmpty()) { |
| | | String userJoinedString = String.join(",", userIdSet.stream().map(Object::toString).collect(Collectors.toList())); |
| | | MgtBaseBathDto mgtBaseBathDto = new MgtBaseBathDto(); |
| | | mgtBaseBathDto.setIds(userJoinedString); |
| | | List<MgtSimpleMemberVo> simpleMemberVoList = remoteMemberService.listSimpleVoByIds(mgtBaseBathDto).getData(); |
| | | userMap = simpleMemberVoList.stream() |
| | | .collect(Collectors.toMap(MgtSimpleMemberVo::getUserId, Function.identity())); |
| | | } |
| | | // 遍历列表,设置店铺名称、用户名称和未支付金额 |
| | | for (MgtShopAllOrderPageVo mgtShopOrderPageVo : shopAllOrderPageVoList) { |
| | | if (userMap != null && !userMap.isEmpty()) { |
| | | if (userMap.get(mgtShopOrderPageVo.getUserId()) != null) { |
| | | mgtShopOrderPageVo.setUserInfo(userMap.get(mgtShopOrderPageVo.getUserId()).getNickName()+"("+userMap.get(mgtShopOrderPageVo.getUserId()).getUserMobile()+")"); |
| | | } |
| | | } |
| | | } |
| | | //处理商品信息 |
| | | List<MgtOrderGoodsPageVo> mgtOrderGoodsVoList; |
| | | String goodsString; |
| | | for(MgtShopAllOrderPageVo entity : shopAllOrderPageVoList){ |
| | | mgtOrderGoodsVoList = entity.getMgtOrderGoodsPageVoList(); |
| | | goodsString = mgtOrderGoodsVoList.stream() |
| | | .map(goods -> goods.getGoodsName() + "*" + goods.getBuyNum()) |
| | | .collect(Collectors.joining(";")); |
| | | entity.setGoodsInfo(goodsString); |
| | | } |
| | | } |
| | | return shopAllOrderPageVoList; |
| | | } |
| | | } |