package org.jeecg.modules.doc.service.impl; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import org.jeecg.modules.doc.api.JeecgSystemClient; import org.jeecg.modules.doc.entity.UserStorageFlow; import org.jeecg.modules.doc.mapper.UserStorageFlowMapper; import org.jeecg.modules.doc.service.IUserStorageFlowService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import java.util.Map; /** * @Description: user_storage_flow * @Author: jeecg-boot * @Date: 2022-08-04 * @Version: V1.0 */ @Service public class UserStorageFlowServiceImpl extends ServiceImpl implements IUserStorageFlowService { @Autowired private JeecgSystemClient jeecgSystemClient; /** * 文件下载时更新限额使用量 */ public void updateSurplusFlowByUserId(String token, long size) { Map userInfo = jeecgSystemClient.getUserSectionInfoByToken(token).getResult(); UserStorageFlow userStorageFlow = baseMapper.selectOne(new LambdaQueryWrapper().eq(UserStorageFlow::getUserId, userInfo.get("sysUserId"))); if (userStorageFlow != null) { userStorageFlow.setSurplusFlow((userStorageFlow.getSurplusFlow()==null?0L:userStorageFlow.getSurplusFlow())+size); baseMapper.updateById(userStorageFlow); } else { userStorageFlow = new UserStorageFlow(userInfo.get("sysUserId"),size); baseMapper.insert(userStorageFlow); } } @Override public void updateSurplusFlowAll() { LambdaUpdateWrapper updateWrapper = new LambdaUpdateWrapper<>(); updateWrapper.set(UserStorageFlow::getSurplusFlow, 0); baseMapper.update(null, updateWrapper); } }