|
@@ -2,9 +2,14 @@ package com.fs.his.service.impl;
|
|
|
|
|
|
import java.util.Date;
|
|
|
import java.util.List;
|
|
|
+import java.util.Set;
|
|
|
+import java.util.stream.Collectors;
|
|
|
|
|
|
import com.fs.common.core.domain.AjaxResult;
|
|
|
+import com.fs.common.core.domain.entity.SysRole;
|
|
|
+import com.fs.common.core.domain.model.LoginUser;
|
|
|
import com.fs.common.utils.ParseUtils;
|
|
|
+import com.fs.common.utils.SecurityUtils;
|
|
|
import com.fs.common.utils.poi.ExcelUtil;
|
|
|
import com.fs.his.mapper.FsStoreOrderMapper;
|
|
|
import com.fs.his.mapper.FsStorePaymentMapper;
|
|
@@ -14,6 +19,7 @@ import com.fs.his.service.IFsStoreOrderService;
|
|
|
import com.fs.his.vo.FsStoreOrderExcelVO;
|
|
|
import com.fs.his.vo.FsStoreOrderExportVO;
|
|
|
import com.fs.his.vo.FsStorePaymentExcelVO;
|
|
|
+import com.fs.system.service.ISysMenuService;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.scheduling.annotation.Async;
|
|
|
import org.springframework.stereotype.Service;
|
|
@@ -38,6 +44,9 @@ public class FsExportTaskServiceImpl implements IFsExportTaskService
|
|
|
|
|
|
FsStorePaymentMapper fsStorePaymentMapper;
|
|
|
|
|
|
+ @Autowired
|
|
|
+ private ISysMenuService menuService;
|
|
|
+
|
|
|
|
|
|
/**
|
|
|
* 查询导出任务
|
|
@@ -130,11 +139,35 @@ public class FsExportTaskServiceImpl implements IFsExportTaskService
|
|
|
if (vo.getCycle()!=null){
|
|
|
vo.setFollowCount(vo.getCycle()/ vo.getFollowFrequency());
|
|
|
}
|
|
|
- if (vo.getUserPhone() != null) {
|
|
|
- vo.setUserPhone(vo.getUserPhone().replaceAll("(\\d{3})\\d*(\\d{4})", "$1****$2"));
|
|
|
+ boolean isPhoneEncodeFlag = true;
|
|
|
+ boolean isAddressEncodeFlag = true;
|
|
|
+ LoginUser loginUser = SecurityUtils.getLoginUser();
|
|
|
+ List<SysRole> admin = loginUser.getUser().getRoles().stream().filter(item -> item.getRoleKey().equals("admin")).collect(Collectors.toList());
|
|
|
+ if (!admin.isEmpty()) {
|
|
|
+ //超级管理员
|
|
|
+ isAddressEncodeFlag = false;
|
|
|
+ isPhoneEncodeFlag = false;
|
|
|
+ } else {
|
|
|
+ //非超级管理员
|
|
|
+ Set<String> perms = menuService.selectMenuPermsByUserId(loginUser.getUserId());
|
|
|
+ boolean phoneContains = perms.contains("his:storeOrder:queryPhone");
|
|
|
+ boolean addressContains = perms.contains("his:storeOrder:queryAddress");
|
|
|
+ if (addressContains) {
|
|
|
+ isAddressEncodeFlag = false;
|
|
|
+ }
|
|
|
+ if (phoneContains) {
|
|
|
+ isPhoneEncodeFlag = false;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if (isPhoneEncodeFlag) {
|
|
|
+ if (vo.getUserPhone() != null) {
|
|
|
+ vo.setUserPhone(vo.getUserPhone().replaceAll("(\\d{3})\\d*(\\d{4})", "$1****$2"));
|
|
|
+ }
|
|
|
}
|
|
|
- if (vo.getUserAddress() != null) {
|
|
|
- vo.setUserAddress(ParseUtils.parseAddress(vo.getUserAddress()));
|
|
|
+ if (isAddressEncodeFlag) {
|
|
|
+ if (vo.getUserAddress() != null) {
|
|
|
+ vo.setUserAddress(ParseUtils.parseAddress(vo.getUserAddress()));
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
}
|