package com.cool.store.service.impl;

import com.alibaba.fastjson.JSONObject;
import com.cool.store.constants.CommonConstants;
import com.cool.store.context.CurrentUserHolder;
import com.cool.store.context.LoginUserInfo;
import com.cool.store.dao.*;
import com.cool.store.dto.openPreparation.FirstOrderDTO;
import com.cool.store.entity.*;
import com.cool.store.enums.ErrorCodeEnum;
import com.cool.store.enums.SMSMsgEnum;
import com.cool.store.enums.point.ShopSubStageEnum;
import com.cool.store.enums.point.ShopSubStageStatusEnum;
import com.cool.store.exception.ServiceException;
import com.cool.store.mapper.ShopInfoMapper;
import com.cool.store.request.FirstOrderRequest;
import com.cool.store.service.CoolStoreStartFlowService;
import com.cool.store.service.FirstOrderService;
import com.cool.store.service.PreparationService;
import com.cool.store.service.ShopService;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.beanutils.BeanUtils;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;

import javax.annotation.Resource;
import java.lang.reflect.InvocationTargetException;
import java.util.Date;
import java.util.HashMap;
import java.util.Map;
import java.util.Objects;


/**
 * @Auther: WangShuo
 * @Date: 2024/04/24/下午8:53
 * @Version 1.0
 * @注释:
 */
@Service
@Slf4j
public class FirstOrderServiceImp implements FirstOrderService {
    @Resource
    private FirstOrderDAO firstOrderDAO;
    @Resource
    private PreparationService preparationService;
    @Resource
    private CommonService commonService;
    @Resource
    private ShopService shopService;
    @Resource
    private ShopStageInfoDAO shopStageInfoDAO;
    @Resource
    private CoolStoreStartFlowService coolStoreStartFlowService;
    @Resource
    private EnterpriseUserDAO enterpriseUserDAO;
    @Resource
    private LineInfoDAO lineInfoDAO;

    @Resource
    ShopInfoDAO shopInfoDAO;

    @Override
    public Integer saveOrder(FirstOrderRequest request, LoginUserInfo user) {
        return 1;
    }

    @Transactional(rollbackFor = Exception.class)
    @Override
    public FirstOrderDTO getOrder(Long shopId) {
        return null;
    }
}
