puzhibing
2024-01-12 aec323b302fdc60429ecf8944e40ebae1a85a7fa
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/order/OrderServiceImpl.java
@@ -65,6 +65,7 @@
import lombok.extern.log4j.Log4j2;
import org.redisson.api.RLock;
import org.redisson.api.RedissonClient;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@@ -1650,20 +1651,10 @@
        //判断用户是否绑定
        if(member.getBindingFlag()==1){
            //绑定用户判断核销商户
            if(order.getOrderFrom()==2&&order.getUnbindingFlag()==1){
                if (!member.getRelationShopId().equals(shopId)) {
                    throw new ServiceException(AppErrorConstant.VERIFY_SHOP_ERROR);
                }
                //未绑定时下的活动订单只需要判断店铺是否支持
                String activityId = order.getActivityId();
                MerActivityShopDto merActivityShopDto = new MerActivityShopDto();
                merActivityShopDto.setShopId(shopId);
                merActivityShopDto.setActivityId(activityId);
                Boolean judge = remoteActivityService.judgeActivityShop(merActivityShopDto).getData();
                if(!judge){
                    throw new ServiceException(AppErrorConstant.SHOP_NO_ACTIVITY);
                }
            }else{
            if (order.getOrderFrom()==2&&!member.getRelationShopId().equals(shopId)) {
                throw new ServiceException(AppErrorConstant.VERIFY_SHOP_ERROR);
            }
            if(order.getOrderFrom() == 1){
                //商城订单和绑定后活动订单判断核销商户和订单商户和用户关联商户是否统一
                if (!order.getShopId().equals(shopId)) {
                    throw new ServiceException(AppErrorConstant.VERIFY_SHOP_ERROR);
@@ -1801,12 +1792,16 @@
        //获取核销商户
        ShopRelUserVo shopRelUserVo = remoteShopService.getShopByUserId(merVerifyOrderDto.getUserId()).getData();
        Long shopId = shopRelUserVo.getShopId();
        log.info("当前核销员工【" + shopRelUserVo.getUserName() + "】门店ID:" + shopId);
        //获取订单商品列表
        List<AppUserOrderGoodsPageVo> appUserOrderGoodsPageVoList = orderGoodsService.listAppVoByOrderId(orderId);
        //绑定用户判断核销商户
        if(member.getBindingFlag()==1){
            //未绑定的活动订单只需要判断店铺是否支持
            if(order.getOrderFrom()==2&&order.getUnbindingFlag()==1){
            if(order.getOrderFrom()==2 && !member.getRelationShopId().equals(shopId)){
                throw new ServiceException(AppErrorConstant.VERIFY_SHOP_ERROR);
            }
            if(order.getOrderFrom()==2 && member.getRelationShopId().equals(shopId)){
                String activityId = order.getActivityId();
                MerActivityShopDto merActivityShopDto = new MerActivityShopDto();
                merActivityShopDto.setShopId(shopId);
@@ -1814,11 +1809,6 @@
                Boolean judge = remoteActivityService.judgeActivityShop(merActivityShopDto).getData();
                if(!judge){
                    throw new ServiceException(AppErrorConstant.SHOP_NO_ACTIVITY);
                }
            }else{
                //绑定用户需直接判断商户一致
                if (!order.getShopId().equals(shopId)) {
                    throw new ServiceException(AppErrorConstant.VERIFY_SHOP_ERROR);
                }
            }
        }else{
@@ -3983,6 +3973,7 @@
        mgtTotalOrderTotalVo.setCycleTotal(0);
        mgtTotalOrderTotalVo.setExperienceTotal(0);
        mgtTotalOrderTotalVo.setServiceTotal(0);
        mgtTotalOrderTotalVo.setItemTotal(0);
        mgtTotalOrderTotalVo.setOrderMoney(new BigDecimal("0"));
        mgtTotalOrderTotalVo.setOnlineMoney(new BigDecimal("0"));
        mgtTotalOrderTotalVo.setOfflineMoney(new BigDecimal("0"));
@@ -3990,6 +3981,7 @@
        mgtTotalOrderTotalVo.setCycleMoney(new BigDecimal("0"));
        mgtTotalOrderTotalVo.setExperienceMoney(new BigDecimal("0"));
        mgtTotalOrderTotalVo.setServiceMoney(new BigDecimal("0"));
        mgtTotalOrderTotalVo.setItemMoney(new BigDecimal("0"));
        mgtTotalOrderTotalVo.setOrderTotalKey(new String[0]);
        mgtTotalOrderTotalVo.setOrderTotalValue(new Integer[0]);
        mgtTotalOrderTotalVo.setOrderMoneyValue(new BigDecimal[0]);
@@ -4026,6 +4018,8 @@
        mgtTotalOrderTotalVo.setCycleMoney(BigDecimal.ZERO);
        mgtTotalOrderTotalVo.setServiceTotal(0);
        mgtTotalOrderTotalVo.setServiceMoney(BigDecimal.ZERO);
        mgtTotalOrderTotalVo.setItemTotal(0);
        mgtTotalOrderTotalVo.setItemMoney(BigDecimal.ZERO);
        mgtTotalOrderTotalVo.setExperienceTotal(0);
        mgtTotalOrderTotalVo.setExperienceMoney(BigDecimal.ZERO);
        if (MgtMapIntTotalVoGoodsType != null && MgtMapIntTotalVoGoodsType.size() > 0) {
@@ -4062,6 +4056,8 @@
                } else if (MgtMapIntTotalVoGoodsType.get(i).getMapKey().equals("4")) {
                    mgtMapIntTotalVo.setMapKey("单品");
                    mgtMapBigTotalVo.setMapKey("单品");
                    mgtTotalOrderTotalVo.setItemTotal(mgtTotalOrderTotalVo.getItemTotal() + MgtMapIntTotalVoGoodsType.get(i).getMapValueFirst());
                    mgtTotalOrderTotalVo.setItemMoney(mgtTotalOrderTotalVo.getItemMoney().add(MgtMapIntTotalVoGoodsType.get(i).getMapValueSecond()));
                    noGoods = false;
                }
                goodsTypeTotalList.add(mgtMapIntTotalVo);