package jnpf.base.mapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.toolkit.SqlHelper; import jnpf.base.UserInfo; import jnpf.base.entity.ModuleUserNumEntity; import jnpf.util.UserProvider; import jnpf.util.context.RequestContext; import org.apache.ibatis.annotations.Mapper; import java.util.Date; @Mapper public interface ModuleUseNumMapper extends SuperMapper { default Boolean insertOrUpdateUseNum(String moduleId) { String appCode = RequestContext.getAppCode(); UserInfo user = UserProvider.getUser(); LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); queryWrapper.eq(ModuleUserNumEntity::getModuleId, moduleId); queryWrapper.eq(ModuleUserNumEntity::getSystemCode, appCode); queryWrapper.eq(ModuleUserNumEntity::getUserId, user.getUserId()); queryWrapper.eq(ModuleUserNumEntity::getSystemCode, appCode); ModuleUserNumEntity userNumEntity = this.selectOne(queryWrapper); if (userNumEntity == null) { userNumEntity = new ModuleUserNumEntity(); userNumEntity.setSystemCode(appCode); userNumEntity.setUserId(user.getUserId()); userNumEntity.setModuleId(moduleId); userNumEntity.setUseNum(1); userNumEntity.setLastModifyTime(new Date()); return SqlHelper.retBool(this.insert(userNumEntity)); } userNumEntity.setSystemCode(appCode); userNumEntity.setUseNum(userNumEntity.getUseNum() + 1); userNumEntity.setLastModifyTime(null); return SqlHelper.retBool(this.updateById(userNumEntity)); } default void deleteUseNum(String ModuleId) { UserInfo user = UserProvider.getUser(); LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); queryWrapper.eq(ModuleUserNumEntity::getModuleId, ModuleId); queryWrapper.eq(ModuleUserNumEntity::getUserId, user.getUserId()); this.deleteByIds(selectList(queryWrapper)); } }