| | |
| | | import com.ruoyi.order.domain.pojo.order.ConsumerGoods; |
| | | import com.ruoyi.order.domain.pojo.order.Order; |
| | | import com.ruoyi.order.domain.pojo.order.OrderGoods; |
| | | import com.ruoyi.order.domain.pojo.order.PayRecord; |
| | | import com.ruoyi.order.domain.vo.*; |
| | | import com.ruoyi.order.mapper.order.OrderMapper; |
| | | import com.ruoyi.order.service.order.ConsumerGoodsService; |
| | | import com.ruoyi.order.service.order.OrderGoodsService; |
| | | import com.ruoyi.order.service.order.OrderService; |
| | | import com.ruoyi.order.service.order.UserServiceRecordService; |
| | | import com.ruoyi.order.service.order.*; |
| | | import com.ruoyi.system.api.constant.AppErrorConstant; |
| | | import com.ruoyi.system.api.constant.DelayTaskEnum; |
| | | import com.ruoyi.system.api.constant.SecurityConstant; |
| | |
| | | @Resource |
| | | private RedisService redisService; |
| | | |
| | | //@Resource |
| | | //@Qualifier("profitsSharingServiceImpl") |
| | | //private ProfitsSharingService profitsSharingService; |
| | | @Resource |
| | | private PayRecordService payRecordService; |
| | | |
| | | @Autowired |
| | | private RedissonClient redissonClient; |
| | |
| | | } |
| | | } else if (couponType == 2 && appMemberCouponVo.getDiscountPercent() != null) { |
| | | discountPercent = appMemberCouponVo.getDiscountPercent(); |
| | | goodsRealPrice = goodsTotalPrice.multiply(discountPercent).divide(BigDecimal.TEN).setScale(2, BigDecimal.ROUND_HALF_UP); |
| | | goodsRealPrice = goodsTotalPrice.multiply(discountPercent).divide(BigDecimal.TEN,2,BigDecimal.ROUND_HALF_UP); |
| | | discountMoney = goodsRealPrice.subtract(goodsTotalPrice); |
| | | useCoupon = 1; |
| | | userCouponIdSet.add(memberCouponId); |
| | |
| | | if(goods.getGoodsStatus()!=1){ |
| | | throw new ServiceException(AppErrorConstant.GOODS_DOWN); |
| | | } |
| | | appPanicBuyVo.setActivityId(activityId); |
| | | appPanicBuyVo.setGoodsId(goodsId); |
| | | appPanicBuyVo.setGoodsName(goods.getGoodsName()); |
| | | appPanicBuyVo.setGoodsIntroduction(goods.getGoodsIntroduction()); |
| | |
| | | } |
| | | } else if (couponType == 2 && appMemberCouponVo.getDiscountPercent() != null) { |
| | | discountPercent = appMemberCouponVo.getDiscountPercent(); |
| | | goodsRealPrice = goodsTotalPrice.multiply(discountPercent).divide(BigDecimal.TEN).setScale(2, BigDecimal.ROUND_HALF_UP); |
| | | goodsRealPrice = goodsTotalPrice.multiply(discountPercent).divide(BigDecimal.TEN,2, BigDecimal.ROUND_HALF_UP); |
| | | discountMoney = goodsRealPrice.subtract(goodsTotalPrice); |
| | | useCoupon = 1; |
| | | } else if (couponType == 3 && appMemberCouponVo.getDiscountMoney() != null) { |
| | |
| | | orderGoods.setServiceNum(serviceNum); |
| | | orderGoods.setGoodsType(goods.getGoodsType()); |
| | | orderGoods.setGoodsName(goods.getGoodsName()); |
| | | orderGoods.setGoodsIntroduction(goods.getGoodsIntroduction()); |
| | | orderGoods.setGoodsPicture(goodsFile.getFileUrl()); |
| | | // 保存订单商品 |
| | | orderGoodsService.save(orderGoods); |
| | |
| | | orderGoods.setServiceNum(serviceNum); |
| | | orderGoods.setGoodsType(goods.getGoodsType()); |
| | | orderGoods.setGoodsName(goods.getGoodsName()); |
| | | orderGoods.setGoodsIntroduction(goods.getGoodsIntroduction()); |
| | | orderGoods.setGoodsPicture(goodsFile.getFileUrl()); |
| | | // 保存订单商品 |
| | | orderGoodsService.save(orderGoods); |
| | |
| | | order.setReceivableMoney(orderPayMoney); |
| | | order.setReceivableDeposit(orderPayDeposit); |
| | | order.setChangeReceivableMoney(orderPayMoney); |
| | | order.setActivityId(activityId); |
| | | order.setActivityName(activityGoodsGetVo.getActivityName()); |
| | | // 根据支付类型设置订单支付金额,在线支付金额,订单支付金额,未支付金额,关闭标志 |
| | | if (appPlaceActivityDto.getPayType() == 1) { |
| | | order.setPayMoney(orderPayMoney); |
| | |
| | | appUserOrderGetVo.setCouponDiscount(order.getCouponMoney()); |
| | | appUserOrderGetVo.setReceivableDeposit(order.getReceivableDeposit()); |
| | | appUserOrderGetVo.setReceivableMoney(order.getReceivableMoney()); |
| | | appUserOrderGetVo.setUnpaidMoney(order.getReceivableMoney().subtract(order.getOnlinePayMoney())); |
| | | appUserOrderGetVo.setPayType(order.getPayType()); |
| | | appUserOrderGetVo.setPayMoney(order.getPayMoney()); |
| | | appUserOrderGetVo.setOrderRemark(order.getOrderRemark()); |
| | |
| | | @Override |
| | | public void cancelOrder(String orderId) { |
| | | Order order = this.getById(orderId); |
| | | if (order.getOrderStatus() == 1) { |
| | | if (order.getOrderStatus() == 0) { |
| | | throw new ServiceException(AppErrorConstant.CANCEL_CANCEL_ORDER); |
| | | }else if (order.getOrderStatus() == 1) { |
| | | this.autoCancelOrder(orderId); |
| | | }else if(order.getOrderStatus() == 2){ |
| | | this.refundOrder(orderId); |
| | |
| | | order.setOfflinePayMoney(relPayMoney); |
| | | order.setOffPayTime(nowTime); |
| | | order.setPayMoney(order.getPayMoney().add(relPayMoney)); |
| | | order.setCloseFlag(1); |
| | | order.setChangeReceivableMoney(relReceiveMoney); |
| | | if(order.getPayMoney().compareTo(order.getChangeReceivableMoney())>=0){ |
| | | order.setCloseFlag(1); |
| | | }else{ |
| | | order.setCloseFlag(0); |
| | | } |
| | | this.saveOrUpdate(order); |
| | | //创建服务商品 |
| | | List<AppUserOrderGoodsPageVo> appUserOrderGoodsPageVoList = orderGoodsService.listAppVoByOrderId(orderId); |
| | |
| | | |
| | | //profitsSharingService.applyProfitSharing(); |
| | | } |
| | | |
| | | //创建支付记录 |
| | | PayRecord payRecord = new PayRecord(); |
| | | payRecord.setDelFlag(0); |
| | | payRecord.setOrderId(order.getOrderId()); |
| | | payRecord.setPayMoney(merVerifyOrderDto.getRelPayMoney()); |
| | | payRecord.setPayTime(new Date()); |
| | | payRecord.setPayType(2); |
| | | payRecordService.save(payRecord); |
| | | return merVerifyOrderVo; |
| | | |
| | | } |
| | |
| | | @Override |
| | | public void merCloseOrder(MerCloseOrderDto merCloseOrderDto) { |
| | | Order order = this.getById(merCloseOrderDto.getOrderId()); |
| | | order.setOfflinePayMoney(merCloseOrderDto.getPayMoney()); |
| | | order.setOfflinePayMoney(order.getOfflinePayMoney().add(merCloseOrderDto.getPayMoney())); |
| | | order.setOffPayTime(new Date()); |
| | | order.setPayMoney(order.getPayMoney().add(merCloseOrderDto.getPayMoney())); |
| | | order.setCloseFlag(1); |
| | | if(order.getPayMoney().compareTo(order.getChangeReceivableMoney())>=0){ |
| | | order.setCloseFlag(0); |
| | | }else{ |
| | | order.setCloseFlag(1); |
| | | } |
| | | this.saveOrUpdate(order); |
| | | //创建支付记录 |
| | | PayRecord payRecord = new PayRecord(); |
| | | payRecord.setDelFlag(0); |
| | | payRecord.setOrderId(order.getOrderId()); |
| | | payRecord.setPayMoney(merCloseOrderDto.getPayMoney()); |
| | | payRecord.setPayTime(new Date()); |
| | | payRecord.setPayType(2); |
| | | payRecordService.save(payRecord); |
| | | } |
| | | |
| | | /** |
| | |
| | | } |
| | | } else if (couponType == 2 && appMemberCouponVo.getDiscountPercent() != null) { |
| | | discountPercent = appMemberCouponVo.getDiscountPercent(); |
| | | goodsRealPrice = goodsTotalPrice.multiply(discountPercent).divide(BigDecimal.TEN).setScale(2, BigDecimal.ROUND_HALF_UP); |
| | | goodsRealPrice = goodsTotalPrice.multiply(discountPercent).divide(BigDecimal.TEN,2, BigDecimal.ROUND_HALF_UP); |
| | | discountMoney = goodsRealPrice.subtract(goodsTotalPrice); |
| | | } else if (couponType == 3 && appMemberCouponVo.getDiscountMoney() != null) { |
| | | discountMoney = appMemberCouponVo.getDiscountMoney(); |
| | |
| | | orderGoods.setServiceNum(serviceNum); |
| | | orderGoods.setGoodsType(goods.getGoodsType()); |
| | | orderGoods.setGoodsName(goods.getGoodsName()); |
| | | orderGoods.setGoodsIntroduction(goods.getGoodsIntroduction()); |
| | | orderGoods.setGoodsPicture(goodsFile.getFileUrl()); |
| | | orderGoodsService.save(orderGoods); |
| | | switch (orderGoods.getGoodsType()) { |
| | |
| | | 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); |
| | |
| | | order.setOfflinePayMoney(merNewOrderDto.getPayMoney()); |
| | | order.setOffPayTime(nowTime); |
| | | order.setPayType(1); |
| | | order.setCloseFlag(1); |
| | | if(order.getPayMoney().compareTo(order.getChangeReceivableMoney())>=0){ |
| | | order.setCloseFlag(0); |
| | | }else{ |
| | | order.setCloseFlag(1); |
| | | } |
| | | this.save(order); |
| | | //创建服务 |
| | | List<AppUserOrderGoodsPageVo> appUserOrderGoodsPageVoList = orderGoodsService.listAppVoByOrderId(orderId); |
| | |
| | | shopTotalChangeDto.setExperienceMoney(experienceMoney); |
| | | shopTotalChangeDto.setGoodsMoney(goodsMoney); |
| | | remoteShopService.changeShopTotal(shopTotalChangeDto); |
| | | //创建支付记录 |
| | | PayRecord payRecord = new PayRecord(); |
| | | payRecord.setDelFlag(0); |
| | | payRecord.setOrderId(orderId); |
| | | payRecord.setPayMoney(order.getPayMoney()); |
| | | payRecord.setPayTime(order.getPayTime()); |
| | | payRecord.setPayType(2); |
| | | payRecordService.save(payRecord); |
| | | } |
| | | |
| | | |
| | |
| | | orderFromDesc = "商城订单"; |
| | | } |
| | | merOrderPageVo.setOrderFromDesc(orderFromDesc); |
| | | merOrderPageVo.setUnPaidMoney(merOrderPageVo.getReceivableMoney().subtract(merOrderPageVo.getPayMoney())); |
| | | merOrderPageVo.setUnPaidMoney(merOrderPageVo.getPayMoney().subtract(merOrderPageVo.getReceiveMoney())); |
| | | if (merOrderPageVo.getUnPaidMoney() == null) { |
| | | merOrderPageVo.setUnPaidMoney(zeroBig); |
| | | } |
| | |
| | | Map<Long, MgtSimpleMemberVo> userMap = simpleMemberVoList.stream() |
| | | .collect(Collectors.toMap(MgtSimpleMemberVo::getUserId, Function.identity())); |
| | | for (MerOrderPageVo merOrderPageVo : merOrderPageVoList) { |
| | | merOrderPageVo.setUserName(userMap.get(merOrderPageVo.getUserId()).getNickName()); |
| | | merOrderPageVo.setUserName(userMap.get(merOrderPageVo.getUserId()).getRealName()); |
| | | merOrderPageVo.setNickName(userMap.get(merOrderPageVo.getUserId()).getNickName()); |
| | | merOrderPageVo.setUserMobile(userMap.get(merOrderPageVo.getUserId()).getUserMobile()); |
| | | } |
| | | } |
| | |
| | | if (mgtMemberOrderPageVoList != null && !mgtMemberOrderPageVoList.isEmpty()) { |
| | | Long shopId; |
| | | HashSet<String> set = new HashSet<>(); |
| | | BigDecimal zeroBig = new BigDecimal("0.00"); |
| | | // 遍历MgtMemberOrderPageVoList,获取shopId并添加到set中 |
| | | for (MgtMemberOrderPageVo mgtMemberOrderPageVo : mgtMemberOrderPageVoList) { |
| | | shopId = mgtMemberOrderPageVo.getShopId(); |
| | |
| | | for (MgtMemberOrderPageVo mgtMemberOrderPageVo : mgtMemberOrderPageVoList) { |
| | | shopId = mgtMemberOrderPageVo.getShopId(); |
| | | mgtMemberOrderPageVo.setShopName(map.get(shopId).getShopName()); |
| | | BigDecimal unPaidMoney = mgtMemberOrderPageVo.getReceivableMoney().subtract(mgtMemberOrderPageVo.getPayMoney()); |
| | | mgtMemberOrderPageVo.setUnPaidMoney(unPaidMoney == null ? zeroBig : unPaidMoney); |
| | | } |
| | | } |
| | | // 返回MgtMemberOrderPageVoList |
| | |
| | | for (MgtActivityOrderPageVo mgtActivityOrderPageVo : activityOrderPageVoList) { |
| | | mgtActivityOrderPageVo.setShopName(shopMap.get(mgtActivityOrderPageVo.getShopId()).getShopName()); |
| | | if (userMap.get(mgtActivityOrderPageVo.getUserId()) != null) { |
| | | mgtActivityOrderPageVo.setUserName(userMap.get(mgtActivityOrderPageVo.getUserId()).getNickName()); |
| | | mgtActivityOrderPageVo.setNickName(userMap.get(mgtActivityOrderPageVo.getUserId()).getNickName()); |
| | | mgtActivityOrderPageVo.setUserName(userMap.get(mgtActivityOrderPageVo.getUserId()).getRealName()); |
| | | mgtActivityOrderPageVo.setUserMobile(userMap.get(mgtActivityOrderPageVo.getUserId()).getUserMobile()); |
| | | } |
| | | BigDecimal unPaidMoney = mgtActivityOrderPageVo.getReceivableMoney().subtract(mgtActivityOrderPageVo.getPayMoney()); |
| | | mgtActivityOrderPageVo.setUnPaidMoney(unPaidMoney == null ? zeroBig : unPaidMoney); |
| | |
| | | } |
| | | if (userMap != null && !userMap.isEmpty()) { |
| | | if (userMap.get(mgtShopOrderPageVo.getUserId()) != null) { |
| | | mgtShopOrderPageVo.setUserName(userMap.get(mgtShopOrderPageVo.getUserId()).getNickName()); |
| | | mgtShopOrderPageVo.setNickName(userMap.get(mgtShopOrderPageVo.getUserId()).getNickName()); |
| | | mgtShopOrderPageVo.setUserName(userMap.get(mgtShopOrderPageVo.getUserId()).getRealName()); |
| | | mgtShopOrderPageVo.setUserMobile(userMap.get(mgtShopOrderPageVo.getUserId()).getUserMobile()); |
| | | } |
| | | } |
| | | BigDecimal unPaidMoney = mgtShopOrderPageVo.getReceivableMoney().subtract(mgtShopOrderPageVo.getPayMoney()); |
| | |
| | | mgtOrderDetailVo.setShopId(order.getShopId()); |
| | | mgtOrderDetailVo.setShopName(shop.getShopName()); |
| | | mgtOrderDetailVo.setVerifyTime(order.getUseTime()); |
| | | //获取支付记录 |
| | | List<MgtOrderPayListVo> orderPayListVoList = payRecordService.listMgtOrderPayVo(orderId); |
| | | mgtOrderDetailVo.setOrderPayListVoList(orderPayListVoList); |
| | | return mgtOrderDetailVo; |
| | | } |
| | | |
| | |
| | | throw new ServiceException(AppErrorConstant.COUPON_EXPIRED); |
| | | } else if (couponStatus == 2) { |
| | | throw new ServiceException(AppErrorConstant.COUPON_USED); |
| | | } else if (couponStatus != 0) { |
| | | } else if (couponStatus != 1) { |
| | | throw new ServiceException(AppErrorConstant.COUPON_NO_FIND); |
| | | } |
| | | if (!memberCoupon.getShopId().equals(shopId)) { |
| | | if (memberCoupon.getCouponFrom()==2&&!memberCoupon.getShopId().equals(shopId)) { |
| | | throw new ServiceException(AppErrorConstant.VERIFY_SHOP_ERROR); |
| | | } |
| | | //如果是平台优惠券 |
| | | if(memberCoupon.getCouponFrom()==1&&memberCoupon.getShopId()==null){ |
| | | memberCoupon.setShopId(shopId); |
| | | } |
| | | List<Goods> goodsList = verifyCouponGetVo.getGoodsList(); |
| | | Long userId = verifyCouponGetVo.getUserId(); |
| | |
| | | * @date 2023/7/4 16:27 |
| | | */ |
| | | @Override |
| | | public MerTotalOrderVo totalMerOrder(MerBaseDto merBaseDto) { |
| | | public MerTotalOrderVo totalMerOrder(MerOrderPageDto merOrderPageDto) { |
| | | MerTotalOrderVo merTotalOrderVo = new MerTotalOrderVo(); |
| | | merTotalOrderVo = orderMapper.totalMerOrder(merBaseDto.getShopId()); |
| | | merTotalOrderVo = orderMapper.totalMerOrder(merOrderPageDto); |
| | | return merTotalOrderVo; |
| | | } |
| | | |
| | |
| | | } |
| | | //生成支付记录 |
| | | OrderPayment orderPayment = new OrderPayment(); |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | PayRecord payRecord = new PayRecord(); |
| | | payRecord.setDelFlag(0); |
| | | payRecord.setOrderId(orderId); |
| | | payRecord.setPayMoney(order.getPayMoney()); |
| | | payRecord.setPayTime(order.getPayTime()); |
| | | payRecord.setPayType(1); |
| | | payRecordService.save(payRecord); |
| | | } |
| | | |
| | | /** |