package com.sooka.system.service.impl;

import java.util.List;

import com.sooka.common.core.text.Convert;
import com.sooka.common.utils.DateUtils;
import com.sooka.common.utils.uuid.UUID;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.sooka.system.mapper.TUInterfaceinfoMapper;
import com.sooka.system.domain.TUInterfaceinfo;
import com.sooka.system.service.ITUInterfaceinfoService;


/**
 * 【请填写功能名称】Service业务层处理
 *
 * @author lei
 * @date 2021-07-01
 */
@Service
public class TUInterfaceinfoServiceImpl implements ITUInterfaceinfoService
{
    @Autowired
    private TUInterfaceinfoMapper tUInterfaceinfoMapper;

    /**
     * 查询【请填写功能名称】
     *
     * @param id 【请填写功能名称】ID
     * @return 【请填写功能名称】
     */
    @Override
    public TUInterfaceinfo selectTUInterfaceinfoById(String id)
    {
        return tUInterfaceinfoMapper.selectTUInterfaceinfoById(id);
    }

    /**
     * 查询【请填写功能名称】列表
     *
     * @param tUInterfaceinfo 【请填写功能名称】
     * @return 【请填写功能名称】
     */
    @Override
    public List<TUInterfaceinfo> selectTUInterfaceinfoList(TUInterfaceinfo tUInterfaceinfo)
    {
        return tUInterfaceinfoMapper.selectTUInterfaceinfoList(tUInterfaceinfo);
    }

    /**
     * 新增【请填写功能名称】
     *
     * @param tUInterfaceinfo 【请填写功能名称】
     * @return 结果
     */
    @Override
    public int insertTUInterfaceinfo(TUInterfaceinfo tUInterfaceinfo)
    {
        tUInterfaceinfo.setId(UUID.fastUUID().toString());
        tUInterfaceinfo.setCreateTime(DateUtils.getNowDate());
        //计算code 5位
        Integer integer = tUInterfaceinfoMapper.getMaxCode();
        if(integer == null){
            tUInterfaceinfo.setCode("00001");
        }else{
            Integer i = integer+1;
            int w =getW(i);
            String r = String.valueOf(i);
            for(int k=0;k<5-w;k++){
                r = "0"+r;
            }
            tUInterfaceinfo.setCode(r);

        }


        return tUInterfaceinfoMapper.insertTUInterfaceinfo(tUInterfaceinfo);
    }


    public static int getW(Integer i){
        for(int k=1;k<=5;k++){
            if(i/ (int)Math.pow(10,k) == 0){
                return k;
            }
        }
        return  0;
    }

    public static void main(String[] args){
        System.out.println(getW(10000));
//        System.out.println(1/(int)Math.pow(10,1));
    }


    /**
     * 修改【请填写功能名称】
     *
     * @param tUInterfaceinfo 【请填写功能名称】
     * @return 结果
     */
    @Override
    public int updateTUInterfaceinfo(TUInterfaceinfo tUInterfaceinfo)
    {
        tUInterfaceinfo.setUpdateTime(DateUtils.getNowDate());
        return tUInterfaceinfoMapper.updateTUInterfaceinfo(tUInterfaceinfo);
    }

    /**
     * 删除【请填写功能名称】对象
     *
     * @param ids 需要删除的数据ID
     * @return 结果
     */
    @Override
    public int deleteTUInterfaceinfoByIds(String ids)
    {
        return tUInterfaceinfoMapper.deleteTUInterfaceinfoByIds(Convert.toStrArray(ids));
    }

    /**
     * 删除【请填写功能名称】信息
     *
     * @param id 【请填写功能名称】ID
     * @return 结果
     */
    @Override
    public int deleteTUInterfaceinfoById(String id)
    {
        return tUInterfaceinfoMapper.deleteTUInterfaceinfoById(id);
    }
}
