Selaa lähdekoodia

Merge remote-tracking branch 'origin/master' into master

姚云青 3 vuotta sitten
vanhempi
commit
a8ccd6c684

+ 1 - 0
imcs-admin-boot/imcs-authority-controller/src/main/java/com/github/zuihou/authority/controller/common/LoginLogController.java

@@ -53,6 +53,7 @@ public class LoginLogController extends SuperController<LoginLogService, Long, L
                 // 忽略 Wraps.q(model); 时, account  和 requestIp 字段的默认查询规则,
                 .ignore(LoginLog::setAccount)
                 .ignore(LoginLog::setRequestIp)
+                .ne(LoginLog::getUserName, "平台超管")
                 // 使用 自定义的查询规则
                 .likeRight(LoginLog::getAccount, model.getAccount())
                 .likeRight(LoginLog::getRequestIp, model.getRequestIp());

+ 24 - 5
imcs-admin-boot/imcs-authority-controller/src/main/java/com/github/zuihou/authority/controller/common/OptLogController.java

@@ -1,6 +1,7 @@
 package com.github.zuihou.authority.controller.common;
 
 
+import cn.hutool.core.bean.BeanUtil;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.github.zuihou.authority.dto.common.OptLogUpdateDTO;
 import com.github.zuihou.authority.entity.common.OptLog;
@@ -8,9 +9,14 @@ import com.github.zuihou.authority.service.common.OptLogService;
 import com.github.zuihou.base.R;
 import com.github.zuihou.base.controller.SuperController;
 import com.github.zuihou.base.request.PageParams;
+import com.github.zuihou.database.mybatis.conditions.query.LbqWrapper;
+import com.github.zuihou.database.mybatis.conditions.query.QueryWrap;
 import com.github.zuihou.log.annotation.SysLog;
 import com.github.zuihou.log.entity.OptLogDTO;
 import com.github.zuihou.security.annotation.PreAuth;
+import com.github.zuihou.tenant.dto.InterfaceModulePageDTO;
+import com.github.zuihou.tenant.entity.InterfaceModule;
+import com.github.zuihou.tenant.entity.Productionresource;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import lombok.extern.slf4j.Slf4j;
@@ -36,14 +42,27 @@ import java.time.LocalDateTime;
 @PreAuth(replace = "optLog:")
 public class OptLogController extends SuperController<OptLogService, Long, OptLog, OptLog, OptLogDTO, OptLogUpdateDTO> {
 
+//    @Override
+//    @ApiOperation(value = "分页列表查询")
+//    @PostMapping(value = "/page")
+//    @PreAuth("hasPermit('{}view')")
+//    public R<IPage<OptLog>> page(@RequestBody @Validated PageParams<OptLog> params) {
+//        return super.page(params);
+//    }
+
     @Override
-    @ApiOperation(value = "分页列表查询")
-    @PostMapping(value = "/page")
-    @PreAuth("hasPermit('{}view')")
-    public R<IPage<OptLog>> page(@RequestBody @Validated PageParams<OptLog> params) {
-        return super.page(params);
+    public void query(PageParams<OptLog> params, IPage<OptLog> page, Long defSize){
+        OptLog optLog = params.getModel();
+        QueryWrap<OptLog> wrap = handlerWrapper(null, params);
+        LbqWrapper<OptLog> wrapper = wrap.lambda();
+        wrapper.ne(OptLog::getUserName, "平台超管").like(OptLog::getUserName, optLog.getUserName())
+                .like(OptLog::getRequestIp, optLog.getRequestIp()).geHeader(OptLog::getCreateTime, optLog.getCreateTime_st())
+                .leFooter(OptLog::getCreateTime, optLog.getCreateTime_ed());
+
+        this.baseService.page(page, wrapper);
     }
 
+
     @ApiOperation("清空日志")
     @DeleteMapping("clear")
     @SysLog("清空日志")

+ 9 - 0
imcs-admin-boot/imcs-authority-entity/src/main/java/com/github/zuihou/authority/entity/common/OptLog.java

@@ -176,6 +176,15 @@ public class OptLog extends SuperEntity<Long> {
     private String ua;
 
 
+    @ApiModelProperty(value = "开始创建时间")
+    @TableField(exist = false)
+    private LocalDateTime createTime_st;
+
+    @ApiModelProperty(value = "截止创建时间")
+    @TableField(exist = false)
+    private LocalDateTime createTime_ed;
+
+
     @Builder
     public OptLog(Long id, LocalDateTime createTime, Long createUser,
                   String requestIp, LogType type, String userName, String description, String classPath,

+ 21 - 15
imcs-admin-boot/imcs-authority-server/src/main/java/com/github/zuihou/job/DashboardJob.java

@@ -33,13 +33,17 @@ import com.github.zuihou.database.mybatis.auth.DataScope;
 import com.github.zuihou.database.mybatis.conditions.Wraps;
 import com.github.zuihou.database.mybatis.conditions.query.LbqWrapper;
 import com.github.zuihou.database.mybatis.conditions.query.QueryWrap;
+import com.github.zuihou.exception.BizException;
+import com.github.zuihou.exception.code.ExceptionCode;
 import com.github.zuihou.jwt.utils.JwtUtil;
 import com.github.zuihou.security.model.SysUser;
+import com.github.zuihou.utils.Charsets;
 import com.github.zuihou.utils.DateUtils;
 import com.google.common.collect.Maps;
 import io.jsonwebtoken.Claims;
+import io.jsonwebtoken.ExpiredJwtException;
+import io.jsonwebtoken.Jwts;
 import org.apache.commons.lang3.StringUtils;
-import org.apache.cxf.security.claims.authorization.Claim;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.slf4j.MDC;
@@ -100,25 +104,12 @@ public class DashboardJob {
         BaseContextHandler.setTenant("0000");
 
         List<String> userIds = webSocketServer.getUserIds();
-        //List<Session> sessions = webSocketServer.getSessions();
         userIds.forEach(item->{
             List<Session> sessions = webSocketServer.getSessions(item);
-            String userid = JwtUtil.parseJWT(item).get("userid").toString();
+            String userid = this.parseJWT(item).get("userid").toString();
             this.broadCastData(userid, sessions);
             //webSocketServer.BroadCastInfo(pushMsg, sessions);
         });
-
-            //logger.info("推送前端======"+pushMsg);
-            //webSocketServer.BroadCastInfo(pushMsg);
-            //更新推送状态
-//            if(CollectionUtil.isNotEmpty(warnData.getRecords())) {
-//                Long[] ids = warnData.getRecords().stream().map(item -> {
-//                    return item.getId();
-//                }).toArray(Long[]::new);
-//                UpdateWrapper<AAutoNodeLog> updateWrapper = new UpdateWrapper<AAutoNodeLog>();
-//                updateWrapper.lambda().set(AAutoNodeLog::getSendStatus, "1").in(AAutoNodeLog::getId, ids);
-//                autoNodeLogService.update(null, updateWrapper);
-//            }
     }
 
     private void broadCastData(String userid, List<Session> sessions){
@@ -211,6 +202,21 @@ public class DashboardJob {
         }
     }
 
+    private Claims parseJWT(String token){
+        final String BASE64_SECURITY = Base64.getEncoder().encodeToString(BaseContextConstants.JWT_SIGN_KEY.getBytes(Charsets.UTF_8));
+        Claims claims = null;
+        try {
+            claims = Jwts.parserBuilder()
+                    .setSigningKey(Base64.getDecoder().decode(BASE64_SECURITY)) // 设置标识名
+                    .build()
+                    .parseClaimsJws(token)  //解析token
+                    .getBody();
+        } catch (ExpiredJwtException e) {
+            claims = e.getClaims();
+        }
+        return claims;
+    }
+
 
     private  QueryWrap handlerWrapper(Object model, PageParams params) {
         QueryWrap wrapper = model == null ? Wraps.q() : Wraps.q(model);

+ 8 - 0
imcs-admin-boot/imcs-business-biz/src/main/java/com/github/zuihou/business/productionResourceCenter/service/impl/ProductionresourceBizServiceImpl.java

@@ -8,8 +8,10 @@ import com.github.zuihou.business.operationManagementCenter.entity.TTask;
 import com.github.zuihou.business.productionResourceCenter.dao.ProductionresourceBizMapper;
 import com.github.zuihou.business.productionResourceCenter.entity.Productionresource;
 import com.github.zuihou.business.productionResourceCenter.entity.ResourceBusiness;
+import com.github.zuihou.business.productionResourceCenter.entity.ZZone;
 import com.github.zuihou.business.productionResourceCenter.service.ProductionresourceBizService;
 import com.github.zuihou.business.productionResourceCenter.service.ResourceBusinessService;
+import com.github.zuihou.business.productionResourceCenter.service.ZZoneService;
 import com.github.zuihou.database.mybatis.auth.DataScope;
 import com.github.zuihou.database.mybatis.conditions.Wraps;
 import com.github.zuihou.database.mybatis.conditions.query.LbqWrapper;
@@ -42,8 +44,14 @@ public class ProductionresourceBizServiceImpl extends SuperServiceImpl<Productio
     @Autowired
     private ResourceBusinessService resourceBusinessService;
 
+    @Autowired
+    private ZZoneService zZoneService;
+
     @Override
     public Map<String, Object> pageList(Map<String, Object> map) {
+        //默认显示保障中心设备
+        String org_id = zZoneService.getOne(new LbqWrapper<ZZone>().eq(ZZone::getNo, "safeguard")).getOrgId().toString();
+        map.put("orgIds", org_id);
         Map<String, Object> returnMap = productionresourceService.pageList(map);
         List<Map> list = returnMap.get("data")==null?new ArrayList():(List)returnMap.get("data");
         list.stream().map((item) -> {

+ 6 - 1
imcs-admin-boot/imcs-tenant-biz/src/main/java/com/github/zuihou/tenant/service/impl/ProductionresourceServiceImpl.java

@@ -8,6 +8,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.github.zuihou.authority.entity.auth.User;
 import com.github.zuihou.authority.entity.common.DictionaryItem;
 import com.github.zuihou.authority.entity.core.Org;
+import com.github.zuihou.authority.service.auth.RoleService;
 import com.github.zuihou.authority.service.auth.UserService;
 import com.github.zuihou.authority.service.common.DictionaryItemService;
 import com.github.zuihou.authority.strategy.DataScopeContext;
@@ -167,7 +168,10 @@ public class ProductionresourceServiceImpl extends SuperCacheServiceImpl<Product
 
         String getOrgIds = this.getOrgIds();
         if(StringUtil.isNotEmpty(getOrgIds)){
-            map.put("orgIds", getOrgIds);
+            String safeguard_orgId = map.get("orgIds").toString();
+            map.put("orgIds", safeguard_orgId+","+getOrgIds);
+        }else{
+            map.remove("orgIds");
         }
 
         getQueryMap(map);
@@ -193,6 +197,7 @@ public class ProductionresourceServiceImpl extends SuperCacheServiceImpl<Product
         //获取用户权限访问机构
         Map<String, Object> orgMap = userService.getDataScopeById(userId);
         List<Long> orgIds = orgMap.containsKey("orgIds")? (List)orgMap.get("orgIds") : Lists.newArrayList();
+
         return CollectionUtil.isNotEmpty(orgIds)? CollectionUtil.join(orgIds, ",") : "";
     }