|
@@ -5,9 +5,11 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
|
import com.nokia.common.R;
|
|
|
import com.nokia.common.exception.BizException;
|
|
|
import com.nokia.constants.ClientEnum;
|
|
|
+import com.nokia.dao.NoticeDao;
|
|
|
import com.nokia.dao.UserDao;
|
|
|
import com.nokia.dao.UserRoleCityDao;
|
|
|
import com.nokia.dao.VerificationLogDao;
|
|
|
+import com.nokia.pojo.Notice;
|
|
|
import com.nokia.pojo.User;
|
|
|
import com.nokia.pojo.UserRoleCity;
|
|
|
import com.nokia.pojo.VerificationLog;
|
|
@@ -21,9 +23,7 @@ import org.springframework.transaction.annotation.Transactional;
|
|
|
|
|
|
import javax.servlet.http.HttpSession;
|
|
|
import java.time.LocalDateTime;
|
|
|
-import java.util.HashMap;
|
|
|
-import java.util.List;
|
|
|
-import java.util.Map;
|
|
|
+import java.util.*;
|
|
|
import java.util.concurrent.TimeUnit;
|
|
|
|
|
|
@Slf4j
|
|
@@ -48,11 +48,12 @@ public class AclService {
|
|
|
private final RedisTemplate<String, Object> redisTemplate;
|
|
|
private final VerificationLogDao verificationLogDao;
|
|
|
private final UserRoleCityDao userRoleCityDao;
|
|
|
+ private final NoticeDao noticeDao;
|
|
|
|
|
|
@Autowired
|
|
|
public AclService(UserDao userDao, TopService topService, DopService dopService, WoyunweiService woyunweiService,
|
|
|
RedisTemplate<String, Object> redisTemplate, VerificationLogDao verificationLogDao,
|
|
|
- UserRoleCityDao userRoleCityDao) {
|
|
|
+ UserRoleCityDao userRoleCityDao, NoticeDao noticeDao) {
|
|
|
this.userDao = userDao;
|
|
|
this.topService = topService;
|
|
|
this.dopService = dopService;
|
|
@@ -60,6 +61,7 @@ public class AclService {
|
|
|
this.redisTemplate = redisTemplate;
|
|
|
this.verificationLogDao = verificationLogDao;
|
|
|
this.userRoleCityDao = userRoleCityDao;
|
|
|
+ this.noticeDao = noticeDao;
|
|
|
}
|
|
|
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
@@ -201,14 +203,36 @@ public class AclService {
|
|
|
}
|
|
|
return R.ok().data(appFunctions);
|
|
|
case "web":
|
|
|
+ List<WebFunctionSystem> functions = new ArrayList<>();
|
|
|
+ // 查询用户功能列表
|
|
|
List<WebFunctionVo> webFunctions = userDao.listWebFunctions(userEntity.getUserId(), ClientEnum.WEB.value);
|
|
|
+ // 按system分组
|
|
|
+ Map<String, List<WebFunctionVo>> systemFunctionMap = new LinkedHashMap<>();
|
|
|
for (WebFunctionVo t : webFunctions) {
|
|
|
- t.setUrl(t.getUrl() + (t.getUrl().contains("?") ? "&" : "?")
|
|
|
- + "fromSystem=" + tokenEntity.getFromSystem() + "&token=" + tokenEntity.getToken());
|
|
|
+ systemFunctionMap.putIfAbsent(t.getSystem(), new ArrayList<>());
|
|
|
+ systemFunctionMap.get(t.getSystem()).add(t);
|
|
|
+ }
|
|
|
+ for (List<WebFunctionVo> t : systemFunctionMap.values()) {
|
|
|
+ List<WebFunctionVo> webFunctionVos = new ArrayList<>();
|
|
|
+ WebFunctionSystem webFunctionSystem = new WebFunctionSystem();
|
|
|
+ webFunctionSystem.setList(webFunctionVos);
|
|
|
+ functions.add(webFunctionSystem);
|
|
|
+ for (WebFunctionVo tt : t) {
|
|
|
+ webFunctionSystem.setSystem(tt.getSystem());
|
|
|
+ webFunctionSystem.setSystemName(tt.getSystemName());
|
|
|
+ tt.setUrl(tt.getUrl() + (tt.getUrl().contains("?") ? "&" : "?")
|
|
|
+ + "fromSystem=" + tokenEntity.getFromSystem() + "&token=" + tokenEntity.getToken());
|
|
|
+ webFunctionVos.add(tt);
|
|
|
+ }
|
|
|
}
|
|
|
+ // 查询公告
|
|
|
+ QueryWrapper<Notice> noticeWrapper = new QueryWrapper<>();
|
|
|
+ noticeWrapper.orderByDesc("create_time");
|
|
|
+ List<Notice> notices = noticeDao.selectList(noticeWrapper);
|
|
|
WebVerificationVo webVo = new WebVerificationVo();
|
|
|
webVo.setUserName(userEntity.getUserName());
|
|
|
- webVo.setList(webFunctions);
|
|
|
+ webVo.setNotices(notices);
|
|
|
+ webVo.setFunctions(functions);
|
|
|
return R.ok().data(webVo);
|
|
|
case "permission":
|
|
|
return R.ok();
|