package com.qryord.mp.service.impl;

import com.qryord.common.utils.DateUtils;
import com.qryord.common.utils.bean.BeanUtils;
import com.qryord.mp.model.UserReq;
import com.qryord.mp.model.UserResp;
import com.qryord.mp.service.SysUserServiceI;
import com.qryord.project.system.user.domain.User;
import com.qryord.project.system.user.mapper.UserMapper;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
import org.springframework.util.ObjectUtils;

import javax.annotation.Resource;
import java.util.Date;

@Slf4j
@RequiredArgsConstructor
@Service
class SysUserServiceImpl implements SysUserServiceI {

    @Resource
    private UserMapper wxaStoreSysUserMapper;

    @Override
    public UserResp authenticate(UserReq userReq) {

//        String wxOpenId = userReq.getWxOpenId();
//        String wxSessionKey = userReq.getWxSessionKey();
//
//        User dbUser = wxaStoreSysUserMapper.selectUserByOpenId(wxOpenId);
//        if (ObjectUtils.isEmpty(dbUser)) {
//
//            dbUser = new User();
//            dbUser.setLoginName("wx_user");
//            dbUser.setDeptId(0L);
//            dbUser.setWxOpenId(wxOpenId);
//            dbUser.setWxSessionKey(wxSessionKey);
//            dbUser.setUserType("01");
//            dbUser.setLoginDate(DateUtils.getNowDate());
//            dbUser.setCreateBy(wxOpenId);
//            dbUser.setCreateTime(new Date());
//            wxaStoreSysUserMapper.insertUser(dbUser);
//
//        } else {
//
//            User updateSysUser = new User();
//            updateSysUser.setUserId(dbUser.getUserId());
//            updateSysUser.setWxSessionKey(wxSessionKey);
//            updateSysUser.setLoginDate(DateUtils.getNowDate());
//            updateSysUser.setUpdateBy(wxOpenId);
//            updateSysUser.setUpdateTime(new Date());
//            wxaStoreSysUserMapper.updateUser(updateSysUser);
//
//            // 后续使用
//            dbUser.setLoginDate(updateSysUser.getLoginDate());
//        }
//
//        //todo
//        UserResp rtn = new UserResp();
//        BeanUtils.copyBeanProp(rtn, dbUser);

        return new UserResp();
    }
}
