diff --git a/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/auth/api/MgrUserApi.java b/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/auth/api/MgrUserApi.java new file mode 100644 index 00000000..b952dd8c --- /dev/null +++ b/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/auth/api/MgrUserApi.java @@ -0,0 +1,250 @@ +package com.bonus.canteen.core.auth.api; + +import cn.hutool.core.collection.CollUtil; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.Wrapper; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; +import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.baomidou.mybatisplus.core.toolkit.support.SFunction; +import javax.annotation.Resource; +import com.bonus.canteen.core.auth.user.entity.MgrUser; +import com.bonus.canteen.core.auth.user.entity.MgrUserInSystem; +import com.bonus.canteen.core.auth.user.mapper.MgrUserInSystemMapper; +import com.bonus.canteen.core.auth.user.mapper.MgrUserMapper; +import com.bonus.canteen.core.auth.user.mapper.MgrUserRoleMapper; +import com.bonus.canteen.core.auth.user.service.MgrUserService; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.context.annotation.Lazy; +import org.springframework.stereotype.Service; + +import java.lang.invoke.SerializedLambda; +import java.util.Iterator; +import java.util.List; +import java.util.Set; +import java.util.stream.Collectors; + +@Service +public class MgrUserApi { + private static final Logger log = LoggerFactory.getLogger(MgrUserApi.class); + @Autowired + MgrUserInSystemMapper mgrUserInSystemMapper; +// @Autowired +// @Lazy +// private MgrUserRoleMapper mgrUserRoleMapper; +// @Resource +// private MgrUserMapper mgrUserMapper; +// @Autowired +// @Lazy +// private CustInfoApi custInfoApi; + @Autowired + @Lazy + private MgrUserService mgrUserService; + +// public void addMgrUserInfo(MgrUserAdminAddDTO mgrUserAdminAddDTO) { +// this.mgrUserService.addMgrUserInfo(mgrUserAdminAddDTO); +// } +// +// public void blockMgrUser(long merchantId) { +// this.mgrUserInSystemMapper.update((Object)null, (Wrapper)((LambdaUpdateWrapper)(new UpdateWrapper()).lambda().eq(MgrUserInSystem::getTenantId, merchantId)).set(MgrUserInSystem::getLockFlag, 1)); +// } +// +// public MgrUserIdNameVO getUserIdAndRealName(String username) { +// return this.mgrUserMapper.selectIdAndRealNameByWrapper((Wrapper)((LambdaQueryWrapper)Wrappers.lambdaQuery(MgrUser.class).eq(MgrUser::getRealName, SM4EncryptUtils.sm4Encryptbyconfig(username))).eq(MgrUser::getDelFlag, DelFlagEnum.DEL_FALSE.key())); +// } + + public String getPhoneByUserId(Long userId) { + MgrUser mgrUser = (MgrUser)this.mgrUserService.getOne((Wrapper)Wrappers.lambdaQuery(MgrUser.class).select(MgrUser::getPhone).eq(MgrUser::getUserId, userId)); + return ObjectUtil.isNotNull(mgrUser) ? mgrUser.getPhone() : ""; + } + +// public AuthEleScaleVO getEleScaleUserInfo(Long userId) { +// MgrUser mgrUser = (MgrUser)this.mgrUserService.getOne((Wrapper)Wrappers.lambdaQuery(MgrUser.class).eq(MgrUser::getUserId, userId)); +// return ObjectUtil.isNotNull(mgrUser) ? new AuthEleScaleVO(mgrUser) : new AuthEleScaleVO(); +// } +// +// public EffPermissionVO filterCanteenDataPermission(Long canteenIdDTO, Long shopstallIdDTO, Long effId) { +// EffPermissionVO result = new EffPermissionVO(); +// result.setCanteenId(canteenIdDTO); +// result.setShopstallId(shopstallIdDTO); +// result.setCheckSql(true); +// if (effId == -1L) { +// return result; +// } else { +// Integer effExist = this.mgrUserMapper.selectExistFromMktEffectiveByWrapper((Wrapper)((QueryWrapper)((QueryWrapper)((QueryWrapper)Wrappers.query().eq("eff_id", effId)).eq("del_flag", DelFlagEnum.DEL_FALSE.key())).eq("eff_type", 2)).last("limit 1")); +// List canteenList = null; +// if (ObjectUtil.isNotNull(effExist)) { +// canteenList = this.mgrUserMapper.selectCanteenByWrapper((Wrapper)Wrappers.query().eq("eff_id", effId)); +// } +// +// if (!CollUtil.isEmpty(canteenList)) { +// List resultCanteenList = CollUtil.newArrayList(new EffCanteenVO[0]); +// resultCanteenList.addAll(canteenList); +// Iterator var8 = canteenList.iterator(); +// +// while(var8.hasNext()) { +// EffCanteenVO canteenVO = (EffCanteenVO)var8.next(); +// if (canteenVO.getShopstallId() == -1L) { +// List shopstallList = this.mgrUserMapper.selectShopstallByWrapper((Wrapper)((QueryWrapper)Wrappers.query().eq("dining_id", canteenVO.getCanteenId())).eq("del_flag", DelFlagEnum.DEL_FALSE.key())); +// if (CollUtil.isNotEmpty(shopstallList)) { +// resultCanteenList.addAll(shopstallList); +// } +// } +// } +// +// if (!ObjectUtil.isNull(canteenIdDTO) && canteenIdDTO != -1L) { +// if (!ObjectUtil.isNull(shopstallIdDTO) && shopstallIdDTO != -1L) { +// EffCanteenVO canteenDTO = new EffCanteenVO(); +// canteenDTO.setCanteenId(canteenIdDTO); +// canteenDTO.setShopstallId(shopstallIdDTO); +// if (!canteenList.contains(canteenDTO)) { +// result.setCheckSql(false); +// return result; +// } else { +// result.setCanteenId(canteenIdDTO); +// result.setShopstallId(shopstallIdDTO); +// result.setCanteenList((List)null); +// return result; +// } +// } else { +// List shopstallList = this.mgrUserMapper.selectShopstallByWrapper((Wrapper)((QueryWrapper)Wrappers.query().eq("dining_id", canteenIdDTO)).eq("del_flag", DelFlagEnum.DEL_FALSE.key())); +// if (CollUtil.isEmpty(shopstallList)) { +// if (resultCanteenList.stream().map(EffCanteenVO::getCanteenId).toList().contains(canteenIdDTO)) { +// result.setCanteenId(canteenIdDTO); +// } else { +// result.setCheckSql(false); +// } +// +// return result; +// } else { +// List resultCanteenList = (List)shopstallList.stream().filter((s) -> { +// List var10000 = resultCanteenList.stream().map((r) -> { +// Long var10000 = r.getCanteenId(); +// return "" + var10000 + "&" + r.getShopstallId(); +// }).toList(); +// Long var10001 = s.getCanteenId(); +// return var10000.contains("" + var10001 + "&" + s.getShopstallId()); +// }).collect(Collectors.toList()); +// result.setCanteenId((Long)null); +// result.setShopstallId((Long)null); +// result.setCanteenList(resultCanteenList); +// return result; +// } +// } +// } else { +// result.setCanteenId((Long)null); +// result.setShopstallId((Long)null); +// result.setCanteenList(resultCanteenList); +// return result; +// } +// } else { +// if ((!ObjectUtil.isNotNull(canteenIdDTO) || canteenIdDTO == -1L) && (!ObjectUtil.isNotNull(shopstallIdDTO) || shopstallIdDTO == -1L)) { +// result.setCanteenId(-1L); +// result.setShopstallId(-1L); +// } else { +// result.setCheckSql(false); +// } +// +// return result; +// } +// } +// } +// +// public List listUserByIdAndRole(Long userId, String roleName) { +// return this.mgrUserMapper.listUserByIdAndRole(userId, roleName, DelFlagEnum.DEL_FALSE.key()); +// } +// +// public MgrUser selectMgrUserByUserId(Long userId) { +// return (MgrUser)this.mgrUserMapper.selectOne((Wrapper)((LambdaQueryWrapper)Wrappers.lambdaQuery(MgrUser.class).eq(MgrUser::getUserId, userId)).eq(MgrUser::getDelFlag, DelFlagEnum.DEL_FALSE.key())); +// } +// +// public List selectMgrUserByUserIds(List userIds) { +// return this.mgrUserMapper.selectList((Wrapper)((LambdaQueryWrapper)Wrappers.lambdaQuery(MgrUser.class).in(MgrUser::getUserId, userIds)).eq(MgrUser::getDelFlag, DelFlagEnum.DEL_FALSE.key())); +// } +// +// public void removeByCustId(Long custId) { +// this.mgrUserService.removeByCustId(custId); +// } +// +// public Set listRoles(Long userId) { +// return this.mgrUserRoleMapper.listRoles(userId); +// } +// +// public void checkUserByMobile(String mobile, Long merchantId) { +// MgrUserInSystem mgrUser; +// if (ObjectUtil.isNull(merchantId)) { +// mgrUser = (MgrUserInSystem)Executors.readInSystem(() -> { +// return (MgrUserInSystem)this.mgrUserInSystemMapper.selectOne((Wrapper)((LambdaQueryWrapper)Wrappers.lambdaQuery(MgrUserInSystem.class).and((item) -> { +// ((LambdaQueryWrapper)((LambdaQueryWrapper)item.eq(MgrUserInSystem::getPhone, mobile)).or()).eq(MgrUserInSystem::getPhone, SM4EncryptUtils.sm4Encryptbyconfig(mobile)); +// })).eq(MgrUserInSystem::getDelFlag, DelFlagEnum.DEL_FALSE.key())); +// }); +// if (ObjectUtil.isNull(mgrUser)) { +// throw new LeException(I18n.getMessage("notice_verify_sms_code_exception", new Object[0])); +// } else { +// TenantContextHolder.setTenantId(mgrUser.getTenantId()); +// } +// } else { +// mgrUser = (MgrUserInSystem)Executors.readInSystem(() -> { +// return (MgrUserInSystem)this.mgrUserInSystemMapper.selectOne((Wrapper)((LambdaQueryWrapper)Wrappers.lambdaQuery(MgrUserInSystem.class).and((item) -> { +// ((LambdaQueryWrapper)((LambdaQueryWrapper)item.eq(MgrUserInSystem::getPhone, mobile)).or()).eq(MgrUserInSystem::getPhone, SM4EncryptUtils.sm4Encryptbyconfig(mobile)); +// })).eq(MgrUserInSystem::getDelFlag, DelFlagEnum.DEL_FALSE.key())); +// }); +// if (ObjectUtil.isNull(mgrUser)) { +// TenantContextHolder.setTenantId(merchantId); +// CustInfo custInfo = this.custInfoApi.getCustInfoByMobileOrCustNum(mobile, (String)null); +// if (ObjectUtil.isNull(custInfo)) { +// throw new LeException(I18n.getMessage("notice_verify_sms_code_exception", new Object[0])); +// } +// } +// +// } +// } +// +// public boolean checkUserNameOrMobile(String userName) { +// return (Boolean)Executors.readInSystem(() -> { +// return this.mgrUserInSystemMapper.exists((Wrapper)((LambdaQueryWrapper)Wrappers.lambdaQuery(MgrUserInSystem.class).eq(MgrUserInSystem::getDelFlag, DelFlagEnum.DEL_FALSE.key())).and((wrapper) -> { +// ((LambdaQueryWrapper)((LambdaQueryWrapper)wrapper.eq(MgrUserInSystem::getUsername, userName)).or()).and((item) -> { +// ((LambdaQueryWrapper)((LambdaQueryWrapper)item.eq(MgrUserInSystem::getPhone, userName)).or()).eq(MgrUserInSystem::getPhone, SM4EncryptUtils.sm4Encryptbyconfig(userName)); +// }); +// })); +// }); +// } +// +// public void editUserNameAndMobile(String userName, String oldUserName, Long tenantId) { +// Executors.doInSystem(() -> { +// return this.mgrUserInSystemMapper.update((Object)null, (Wrapper)((LambdaUpdateWrapper)((LambdaUpdateWrapper)((LambdaUpdateWrapper)Wrappers.lambdaUpdate(MgrUserInSystem.class).set(MgrUserInSystem::getUsername, userName)).set(MgrUserInSystem::getPhone, SM4EncryptUtils.sm4Encryptbyconfig(userName))).eq(MgrUserInSystem::getUsername, oldUserName)).eq(MgrUserInSystem::getTenantId, tenantId)); +// }); +// Executors.doInTenant(tenantId, () -> { +// return this.mgrUserMapper.update((Object)null, (Wrapper)((LambdaUpdateWrapper)((LambdaUpdateWrapper)Wrappers.lambdaUpdate(MgrUser.class).set(MgrUser::getUsername, userName)).set(MgrUser::getPhone, SM4EncryptUtils.sm4Encryptbyconfig(userName))).eq(MgrUser::getUsername, oldUserName)); +// }); +// } +// +// public void checkExistsMobile(String mobile) { +// Boolean flag = (Boolean)Executors.readInSystem(() -> { +// return this.mgrUserInSystemMapper.exists((Wrapper)Wrappers.lambdaQuery(MgrUserInSystem.class).and((item) -> { +// ((LambdaQueryWrapper)((LambdaQueryWrapper)item.eq(MgrUserInSystem::getPhone, SM4EncryptUtils.sm4Encryptbyconfig(mobile))).or()).eq(MgrUserInSystem::getPhone, mobile); +// })); +// }); +// if (Boolean.TRUE.equals(flag)) { +// throw new LeException(I18n.getMessage("auth_same_phone", new Object[0])); +// } +// } +// +// public List getAllUserByRoleCode(MgrRoleUserListDTO content) { +// return this.mgrUserService.getAllUserByRoleCode(content); +// } +// +// public List getUserNameOrRoleName(List userInfo) { +// return this.mgrUserService.getUserNameOrRoleName(userInfo); +// } +// +// public String getUserNameByMobile(String mobile) { +// MgrUserInSystem mgrUser = this.mgrUserService.getUserAndCheckMobile(mobile, false); +// return mgrUser.getUsername(); +// } + +} diff --git a/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/notice/hawkeye/mapper/AllocLogRecordMapper.java b/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/notice/hawkeye/mapper/AllocLogRecordMapper.java new file mode 100644 index 00000000..5f016039 --- /dev/null +++ b/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/notice/hawkeye/mapper/AllocLogRecordMapper.java @@ -0,0 +1,17 @@ +package com.bonus.canteen.core.notice.hawkeye.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.bonus.canteen.core.notice.hawkeye.model.AllocLogRecord; +import com.bonus.canteen.core.notice.hawkeye.param.AllocLogRecordParam; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +@Mapper +public interface AllocLogRecordMapper extends BaseMapper { + Page pageLogRecord(@Param("page") Page page, @Param("param") AllocLogRecordParam param); + + List listLogRecord(@Param("param") AllocLogRecordParam param); +} diff --git a/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/notice/hawkeye/service/AllocLogRecordService.java b/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/notice/hawkeye/service/AllocLogRecordService.java index c6a42c64..fd9642a7 100644 --- a/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/notice/hawkeye/service/AllocLogRecordService.java +++ b/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/notice/hawkeye/service/AllocLogRecordService.java @@ -6,13 +6,13 @@ import com.bonus.canteen.core.notice.hawkeye.model.AllocLogRecord; import com.bonus.canteen.core.notice.hawkeye.param.AllocLogRecordParam; public interface AllocLogRecordService extends IService { - Page pageLogRecord(AllocLogRecordParam param); - - void saveLogRecord(AllocLogRecord logRecord); +// Page pageLogRecord(AllocLogRecordParam param); +// +// void saveLogRecord(AllocLogRecord logRecord); void saveLogRecordForCustom(AllocLogRecord logRecord); - void genLogRecordExcelFile(AllocLogRecordParam param); - - String getExcelFileUrl(); +// void genLogRecordExcelFile(AllocLogRecordParam param); +// +// String getExcelFileUrl(); } diff --git a/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/notice/hawkeye/service/impl/AllocLogRecordServiceImpl.java b/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/notice/hawkeye/service/impl/AllocLogRecordServiceImpl.java index 3d192553..446847d5 100644 --- a/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/notice/hawkeye/service/impl/AllocLogRecordServiceImpl.java +++ b/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/notice/hawkeye/service/impl/AllocLogRecordServiceImpl.java @@ -9,28 +9,19 @@ import com.alibaba.excel.ExcelWriter; import com.alibaba.excel.write.metadata.WriteSheet; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.bonus.canteen.core.auth.api.MgrUserApi; +import com.bonus.canteen.core.notice.hawkeye.mapper.AllocLogRecordMapper; +import com.bonus.common.houqin.utils.id.Id; import com.google.common.collect.Lists; -import com.pig4cloud.pigx.common.core.exception.LeException; -import com.pig4cloud.pigx.common.core.util.LeBeanUtil; -import com.pig4cloud.pigx.common.oss.OssProperties; -import com.pig4cloud.pigx.common.oss.service.OssTemplate; -import jakarta.servlet.http.HttpServletRequest; -import net.xnzn.core.auth.api.MgrUserApi; -import net.xnzn.core.common.constant.FileConstants; -import net.xnzn.core.common.encrypt.SM4EncryptUtils; -import net.xnzn.core.common.enums.FileUploadSourceEnum; -import net.xnzn.core.common.redis.RedisUtil; -import net.xnzn.core.common.utils.AesEncryptUtil; -import net.xnzn.core.common.utils.SysUtil; -import net.xnzn.core.notice.hawkeye.mapper.AllocLogRecordMapper; -import net.xnzn.core.notice.hawkeye.model.AllocLogRecord; -import net.xnzn.core.notice.hawkeye.param.AllocLogRecordParam; -import net.xnzn.core.notice.hawkeye.service.AllocLogRecordService; -import net.xnzn.framework.config.i18n.I18n; -import net.xnzn.framework.data.dataset.Executors; -import net.xnzn.framework.data.tenant.TenantContextHolder; -import net.xnzn.framework.id.Id; -import net.xnzn.framework.secure.SecureManager; +import javax.servlet.http.HttpServletRequest; +import com.bonus.canteen.core.common.encrypt.SM4EncryptUtils; +import com.bonus.canteen.core.common.enums.FileUploadSourceEnum; +import com.bonus.canteen.core.common.redis.RedisUtil; +import com.bonus.canteen.core.common.utils.AesEncryptUtil; +import com.bonus.canteen.core.common.utils.SysUtil; +import com.bonus.canteen.core.notice.hawkeye.model.AllocLogRecord; +import com.bonus.canteen.core.notice.hawkeye.param.AllocLogRecordParam; +import com.bonus.canteen.core.notice.hawkeye.service.AllocLogRecordService; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; @@ -53,25 +44,25 @@ public class AllocLogRecordServiceImpl extends ServiceImpl pageLogRecord(AllocLogRecordParam param) { - param.setLoginUserName(LeBeanUtil.fieldLikeHandle(param.getLoginUserName())); - Page page = new Page(param.getCurrent(), param.getSize()); - Page recordPage = ((AllocLogRecordMapper)this.baseMapper).pageLogRecord(page, param); - recordPage.getRecords().forEach((allocLogRecord) -> { - allocLogRecord.setLoginUserPhone(SM4EncryptUtils.desensitizedByConfig(allocLogRecord.getLoginUserPhone(), DesensitizedType.MOBILE_PHONE)); - }); - return recordPage; - } +// public Page pageLogRecord(AllocLogRecordParam param) { +// param.setLoginUserName(LeBeanUtil.fieldLikeHandle(param.getLoginUserName())); +// Page page = new Page(param.getCurrent(), param.getSize()); +// Page recordPage = ((AllocLogRecordMapper)this.baseMapper).pageLogRecord(page, param); +// recordPage.getRecords().forEach((allocLogRecord) -> { +// allocLogRecord.setLoginUserPhone(SM4EncryptUtils.desensitizedByConfig(allocLogRecord.getLoginUserPhone(), DesensitizedType.MOBILE_PHONE)); +// }); +// return recordPage; +// } public void saveLogRecord(AllocLogRecord logRecord) { if (!"admin".equals(logRecord.getLoginUserName())) { @@ -89,148 +80,148 @@ public class AllocLogRecordServiceImpl extends ServiceImpl { - int maxSize = 10000; - ExcelWriter excelWriter = null; - - try { - param.setLoginUserName(LeBeanUtil.fieldLikeHandle(param.getLoginUserName())); - List records = ((AllocLogRecordMapper)this.baseMapper).listLogRecord(param); - if (!ObjectUtil.isEmpty(records)) { - List> lists = Lists.partition(records, maxSize); - String fileName = this.getFileNameByParam(param); - String var10000 = FileConstants.tempPath; - String filePath = var10000 + TenantContextHolder.getTenantId() + File.separator + "logExcel"; - File path = new File(filePath); - if (!path.exists()) { - path.mkdirs(); - } - - String fullFileName = filePath + File.separator + fileName; - log.info("本地excel文件路径:{}", fullFileName); - File excelFile = FileUtil.file(fullFileName); - OutputStream os = FileUtil.getOutputStream(excelFile); - - try { - excelWriter = EasyExcel.write(os, AllocLogRecord.class).build(); - int i = 0; - - while(true) { - if (i >= lists.size()) { - excelWriter.finish(); - break; - } - - WriteSheet writeSheet = EasyExcel.writerSheet(i, "日志明细" + (i + 1)).build(); - List data = (List)lists.get(i); - excelWriter.write(data, writeSheet); - ++i; - } - } catch (Throwable var29) { - if (os != null) { - try { - os.close(); - } catch (Throwable var27) { - var29.addSuppressed(var27); - } - } - - throw var29; - } - - if (os != null) { - os.close(); - } - - Long var34 = TenantContextHolder.getTenantId(); - String objectName = "" + var34 + "/" + FileUploadSourceEnum.CUST.key() + "/" + fileName; - String bucketName = this.ossProperties.getBucketName(); - InputStream inputStream = FileUtil.getInputStream(excelFile); - - try { - this.ossTemplate.putObject(bucketName, objectName, inputStream); - } catch (Throwable var28) { - if (inputStream != null) { - try { - inputStream.close(); - } catch (Throwable var26) { - var28.addSuppressed(var26); - } - } - - throw var28; - } - - if (inputStream != null) { - inputStream.close(); - } - - FileUtil.del(excelFile); - RedisUtil.setObj(downLoadKey, SysUtil.getCutFileUrl("/" + bucketName + "/" + objectName)); - log.info("系统日志导出生成结束"); - return; - } - } catch (Exception var30) { - log.info("生成日志导出文件错误:{}", var30.getMessage(), var30); - return; - } finally { - RedisUtil.delete(key); - } - - }); - } - } - - private String getFileNameByParam(AllocLogRecordParam param) { - DateTimeFormatter df = DateTimeFormatter.ofPattern("yyyyMMddHHmmss"); - StringBuilder sb = new StringBuilder("日志明细"); - if (ObjectUtil.isNotEmpty(param.getLoginUserName())) { - sb.append("_").append(param.getLoginUserName()); - } - - if (ObjectUtil.isNotEmpty(param.getLoginUserPhone())) { - sb.append("_").append(param.getLoginUserPhone()); - } - - if (ObjectUtil.isNotEmpty(param.getCrtimeStart())) { - sb.append("_").append(param.getCrtimeStart().format(df)); - } - - if (ObjectUtil.isNotEmpty(param.getCrtimeEnd())) { - sb.append("_").append(param.getCrtimeEnd().format(df)); - } - - sb.append("_").append(LocalDateTime.now().format(df)); - sb.append(".xlsx"); - return sb.toString(); - } - - public String getExcelFileUrl() { - Long userId = (Long)SecureManager.getSubjectId().get(); - String key = "yst:merchantId:userId:download:allocLog:excel:url".replace("merchantId", TenantContextHolder.getTenantId().toString()).replace("user_id", userId.toString()); - Object fileUrl = RedisUtil.getObj(key); - if (ObjectUtil.isEmpty(fileUrl)) { - throw new LeException(I18n.getMessage("notice_alloc_log_record_get_excel_empty_url_exception", new Object[0])); - } else { - RedisUtil.delete(key); - return (String)fileUrl; - } - } +// public void genLogRecordExcelFile(AllocLogRecordParam param) { +// Long userId = (Long)SecureManager.getSubjectId().get(); +// Long merchantId = TenantContextHolder.getTenantId(); +// String key = "yst:merchantId:userId:gen:allocLog:excel".replace("merchantId", merchantId.toString()).replace("user_id", userId.toString()); +// String downLoadKey = "yst:merchantId:userId:download:allocLog:excel:url".replace("merchantId", merchantId.toString()).replace("user_id", userId.toString()); +// if (ObjectUtil.isNotEmpty(RedisUtil.getString(key))) { +// throw new LeException(I18n.getMessage("notice_alloc_log_record_gen_excel_file_wait_exception", new Object[0])); +// } else if (ObjectUtil.isNotEmpty(RedisUtil.getString(downLoadKey))) { +// throw new LeException(I18n.getMessage("notice_alloc_log_record_gen_excel_file_done_exception", new Object[0])); +// } else { +// RedisUtil.setString(key, "user_id"); +// Executors.doInTenant(merchantId, (status) -> { +// int maxSize = 10000; +// ExcelWriter excelWriter = null; +// +// try { +// param.setLoginUserName(LeBeanUtil.fieldLikeHandle(param.getLoginUserName())); +// List records = ((AllocLogRecordMapper)this.baseMapper).listLogRecord(param); +// if (!ObjectUtil.isEmpty(records)) { +// List> lists = Lists.partition(records, maxSize); +// String fileName = this.getFileNameByParam(param); +// String var10000 = FileConstants.tempPath; +// String filePath = var10000 + TenantContextHolder.getTenantId() + File.separator + "logExcel"; +// File path = new File(filePath); +// if (!path.exists()) { +// path.mkdirs(); +// } +// +// String fullFileName = filePath + File.separator + fileName; +// log.info("本地excel文件路径:{}", fullFileName); +// File excelFile = FileUtil.file(fullFileName); +// OutputStream os = FileUtil.getOutputStream(excelFile); +// +// try { +// excelWriter = EasyExcel.write(os, AllocLogRecord.class).build(); +// int i = 0; +// +// while(true) { +// if (i >= lists.size()) { +// excelWriter.finish(); +// break; +// } +// +// WriteSheet writeSheet = EasyExcel.writerSheet(i, "日志明细" + (i + 1)).build(); +// List data = (List)lists.get(i); +// excelWriter.write(data, writeSheet); +// ++i; +// } +// } catch (Throwable var29) { +// if (os != null) { +// try { +// os.close(); +// } catch (Throwable var27) { +// var29.addSuppressed(var27); +// } +// } +// +// throw var29; +// } +// +// if (os != null) { +// os.close(); +// } +// +// Long var34 = TenantContextHolder.getTenantId(); +// String objectName = "" + var34 + "/" + FileUploadSourceEnum.CUST.key() + "/" + fileName; +// String bucketName = this.ossProperties.getBucketName(); +// InputStream inputStream = FileUtil.getInputStream(excelFile); +// +// try { +// this.ossTemplate.putObject(bucketName, objectName, inputStream); +// } catch (Throwable var28) { +// if (inputStream != null) { +// try { +// inputStream.close(); +// } catch (Throwable var26) { +// var28.addSuppressed(var26); +// } +// } +// +// throw var28; +// } +// +// if (inputStream != null) { +// inputStream.close(); +// } +// +// FileUtil.del(excelFile); +// RedisUtil.setObj(downLoadKey, SysUtil.getCutFileUrl("/" + bucketName + "/" + objectName)); +// log.info("系统日志导出生成结束"); +// return; +// } +// } catch (Exception var30) { +// log.info("生成日志导出文件错误:{}", var30.getMessage(), var30); +// return; +// } finally { +// RedisUtil.delete(key); +// } +// +// }); +// } +// } +// +// private String getFileNameByParam(AllocLogRecordParam param) { +// DateTimeFormatter df = DateTimeFormatter.ofPattern("yyyyMMddHHmmss"); +// StringBuilder sb = new StringBuilder("日志明细"); +// if (ObjectUtil.isNotEmpty(param.getLoginUserName())) { +// sb.append("_").append(param.getLoginUserName()); +// } +// +// if (ObjectUtil.isNotEmpty(param.getLoginUserPhone())) { +// sb.append("_").append(param.getLoginUserPhone()); +// } +// +// if (ObjectUtil.isNotEmpty(param.getCrtimeStart())) { +// sb.append("_").append(param.getCrtimeStart().format(df)); +// } +// +// if (ObjectUtil.isNotEmpty(param.getCrtimeEnd())) { +// sb.append("_").append(param.getCrtimeEnd().format(df)); +// } +// +// sb.append("_").append(LocalDateTime.now().format(df)); +// sb.append(".xlsx"); +// return sb.toString(); +// } +// +// public String getExcelFileUrl() { +// Long userId = (Long)SecureManager.getSubjectId().get(); +// String key = "yst:merchantId:userId:download:allocLog:excel:url".replace("merchantId", TenantContextHolder.getTenantId().toString()).replace("user_id", userId.toString()); +// Object fileUrl = RedisUtil.getObj(key); +// if (ObjectUtil.isEmpty(fileUrl)) { +// throw new LeException(I18n.getMessage("notice_alloc_log_record_get_excel_empty_url_exception", new Object[0])); +// } else { +// RedisUtil.delete(key); +// return (String)fileUrl; +// } +// } }