提交 f57116fc 编写于 作者: sq3536's avatar sq3536

sysapp

上级 699461e8
......@@ -73,10 +73,10 @@
<script lang="ts">
import {Vue, Component, Watch} from 'vue-property-decorator';
import {Environment} from '@/environments/environment';
import Divider from "ibiz-vue-lib/lib/ibiz-vue-lib.common";
//import Divider from "ibiz-vue-lib/lib/ibiz-vue-lib.common";
@Component({
components: {Divider}
components: {}
})
export default class Login extends Vue {
......
......@@ -8,9 +8,9 @@ import java.math.BigInteger;
import java.util.HashMap;
import java.math.BigDecimal;
import cn.ibizlab.core.uaa.extensions.domain.SysApp;
import cn.ibizlab.core.uaa.domain.SysApp;
import cn.ibizlab.core.uaa.extensions.domain.SysStructure;
import cn.ibizlab.core.uaa.extensions.domain.handlers.SysAppsTypeHandler;
import cn.ibizlab.core.uaa.domain.handlers.SysAppTypeHandler;
import com.alibaba.fastjson.annotation.JSONField;
import com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler;
import com.fasterxml.jackson.annotation.JsonIgnore;
......@@ -67,7 +67,7 @@ public class SysPSSystem extends EntityMP implements Serializable {
/**
* 结构
*/
@TableField(value = "apps",typeHandler = SysAppsTypeHandler.class)
@TableField(value = "apps",typeHandler = SysAppTypeHandler.class)
@JSONField(name = "apps")
@JsonProperty("apps")
private List<SysApp> apps;
......
......@@ -3,7 +3,7 @@ package cn.ibizlab.core.uaa.extensions.aspect;
import cn.ibizlab.core.uaa.domain.SysPSSystem;
import cn.ibizlab.core.uaa.domain.SysPermission;
import cn.ibizlab.core.uaa.extensions.domain.PermissionType;
import cn.ibizlab.core.uaa.extensions.domain.SysApp;
import cn.ibizlab.core.uaa.domain.SysApp;
import cn.ibizlab.core.uaa.extensions.service.SysAppService;
import cn.ibizlab.core.uaa.extensions.service.UAACoreService;
import cn.ibizlab.core.uaa.service.ISysPSSystemService;
......
package cn.ibizlab.core.uaa.extensions.domain;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class SysApp {
private String id;
private String label;
private String systemid;
private String fullName;
private String type;
private String addr;
}
package cn.ibizlab.core.uaa.extensions.domain;
import cn.ibizlab.core.uaa.domain.SysPSSystem;
import cn.ibizlab.core.uaa.domain.SysApp;
import cn.ibizlab.core.uaa.domain.SysPermission;
import cn.ibizlab.core.uaa.extensions.domain.Structure.AppNode;
import cn.ibizlab.core.uaa.extensions.domain.Structure.EntityNode;
import cn.ibizlab.core.uaa.extensions.domain.Structure.FuncItem;
import cn.ibizlab.core.uaa.extensions.domain.Structure.UniResNode;
import cn.ibizlab.core.uaa.filter.SysPSSystemSearchContext;
import com.alibaba.fastjson.annotation.JSONField;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;
import org.springframework.data.domain.Page;
import java.sql.Timestamp;
import java.util.*;
......
package cn.ibizlab.core.uaa.extensions.domain.handlers;
import cn.ibizlab.core.uaa.extensions.domain.SysApp;
import com.baomidou.mybatisplus.extension.handlers.AbstractJsonTypeHandler;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.JavaType;
import com.fasterxml.jackson.databind.ObjectMapper;
import lombok.extern.slf4j.Slf4j;
import org.apache.ibatis.type.JdbcType;
import org.apache.ibatis.type.MappedJdbcTypes;
import org.apache.ibatis.type.MappedTypes;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
@Slf4j
@MappedTypes({List.class})
@MappedJdbcTypes(JdbcType.VARCHAR)
public class SysAppsTypeHandler extends AbstractJsonTypeHandler<List>
{
private static ObjectMapper objectMapper = new ObjectMapper();
private JavaType type;
public SysAppsTypeHandler(Class<List> type) {
this.type = objectMapper.getTypeFactory().constructParametricType(ArrayList.class, SysApp.class);
}
@Override
protected List parse(String json) {
try {
return objectMapper.readValue(json, type);
} catch (IOException e) {
throw new RuntimeException(e);
}
}
@Override
protected String toJson(List obj) {
try {
return objectMapper.writeValueAsString(obj);
} catch (JsonProcessingException e) {
throw new RuntimeException(e);
}
}
public static void setObjectMapper(ObjectMapper objectMapper) {
SysAppsTypeHandler.objectMapper = objectMapper;
}
}
\ No newline at end of file
package cn.ibizlab.core.uaa.extensions.service;
import cn.ibizlab.core.uaa.domain.SysPSSystem;
import cn.ibizlab.core.uaa.extensions.domain.SysApp;
import cn.ibizlab.core.uaa.domain.SysApp;
import cn.ibizlab.core.uaa.filter.SysAppSearchContext;
import cn.ibizlab.core.uaa.filter.SysPSSystemSearchContext;
import cn.ibizlab.core.uaa.service.ISysAppService;
import cn.ibizlab.core.uaa.service.ISysPSSystemService;
import cn.ibizlab.core.uaa.service.impl.SysAppServiceImpl;
import cn.ibizlab.util.errors.BadRequestAlertException;
import cn.ibizlab.util.helper.CachedBeanCopier;
import cn.ibizlab.util.security.AuthenticationUser;
import cn.ibizlab.util.service.IBZConfigService;
import com.alibaba.fastjson.JSONArray;
......@@ -11,16 +16,21 @@ import com.alibaba.fastjson.JSONObject;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.cache.annotation.CacheEvict;
import org.springframework.cache.annotation.Cacheable;
import org.springframework.context.annotation.Primary;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.PageImpl;
import org.springframework.stereotype.Service;
import org.springframework.util.StringUtils;
import java.util.ArrayList;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
@Primary
@Service
public class SysAppService {
public class SysAppService extends SysAppServiceImpl
{
@Autowired
private ISysPSSystemService sysPSSystemService;
......@@ -44,6 +54,15 @@ public class SysAppService {
SysApp def=defApps.get(sysApp.getId());
if(def==null)return;
sysApp.setAddr(def.getAddr());
sysApp.setIcon(def.getIcon());
sysApp.setFullname(def.getFullname());
sysApp.setType(def.getType());
sysApp.setVisabled(1);
list.add(sysApp);
defApps.remove(def.getId());
});
defApps.values().forEach(sysApp -> {
sysApp.setVisabled(0);
list.add(sysApp);
});
jo.remove("model");
......@@ -57,4 +76,76 @@ public class SysAppService {
}
@Override
public SysApp get(String key)
{
String systemId=key.split("-")[0];
SysPSSystem sysPSSystem=sysPSSystemService.getById(systemId);
if(sysPSSystem!=null&&sysPSSystem.getApps()!=null)
{
for(SysApp app:sysPSSystem.getApps())
{
if(app.getId().equals(key))
return app;
}
}
return null;
}
@Override
public boolean save(SysApp et)
{
if(StringUtils.isEmpty(et.getSystemid())||StringUtils.isEmpty(et.getId()))
throw new BadRequestAlertException("应用参数缺失","SysApp",et.getId());
SysPSSystem sysPSSystem=sysPSSystemService.getById(et.getSystemid());
if(sysPSSystem!=null&&sysPSSystem.getApps()!=null)
{
boolean bchange=false;
for(SysApp app:sysPSSystem.getApps())
{
if(app.getId().equals(et.getId()))
{
CachedBeanCopier.copy(et,app);
bchange=true;
break;
}
}
if(bchange)
sysPSSystemService.update(sysPSSystem);
}
return true;
}
@Override
public boolean update(SysApp et)
{
return this.save(et);
}
@Override
public boolean create(SysApp et)
{
return this.save(et);
}
@Override
public Page<SysApp> searchDefault(SysAppSearchContext context)
{
context.setSize(Integer.MAX_VALUE);
List<SysApp> content = new ArrayList<>();
LinkedHashMap<String,SysApp> map = uaaCoreService.getApps();
map.values().forEach(sysApp -> {
if(!StringUtils.isEmpty(context.getN_pssystemid_eq())) {
if(!sysApp.getSystemid().equals(context.getN_pssystemid_eq()))
return;
}
if(!StringUtils.isEmpty(context.getN_appname_like())) {
if(sysApp.getLabel().indexOf(context.getN_appname_like())<0 &&
sysApp.getFullname().indexOf(context.getN_appname_like())<0)
return;
}
content.add(sysApp);
});
return new PageImpl<SysApp>(content,context.getPageable(),content.size());
}
}
......@@ -7,7 +7,7 @@ import cn.ibizlab.core.uaa.domain.SysRole;
import cn.ibizlab.core.uaa.domain.SysRolePermission;
import cn.ibizlab.core.uaa.extensions.domain.PermissionNode;
import cn.ibizlab.core.uaa.extensions.domain.PermissionType;
import cn.ibizlab.core.uaa.extensions.domain.SysApp;
import cn.ibizlab.core.uaa.domain.SysApp;
import cn.ibizlab.core.uaa.filter.SysPSSystemSearchContext;
import cn.ibizlab.core.uaa.filter.SysRolePermissionSearchContext;
import cn.ibizlab.core.uaa.service.ISysPSSystemService;
......@@ -62,8 +62,7 @@ public class UAACoreService {
List<PermissionNode> apps = new ArrayList<>();
List<PermissionNode> uniResIds = new ArrayList<>();
List<PermissionNode> oppirvs = new ArrayList<>();
Page<SysPSSystem> page = sysPSSystemService.searchDefault(new SysPSSystemSearchContext());
page.getContent().forEach(system->{
sysPSSystemService.list().forEach(system->{
if(system.getSysstructure()==null)
return;
PermissionNode appnode=system.getSysstructure().getPermissionTree(PermissionType.APPMENU);
......@@ -168,8 +167,7 @@ public class UAACoreService {
@Cacheable( value="syspssystem",key = "'row:all-apps'")
public LinkedHashMap<String,SysApp> getApps() {
LinkedHashMap<String,SysApp> appNode=new LinkedHashMap<>();
Page<SysPSSystem> page = sysPSSystemService.searchDefault(new SysPSSystemSearchContext());
page.getContent().forEach(system -> {
sysPSSystemService.list().forEach(system -> {
if (system.getSysstructure() == null)
{
return;
......
......@@ -9,7 +9,7 @@
<resultMap id="SysPSSystemResultMap" type="cn.ibizlab.core.uaa.domain.SysPSSystem" autoMapping="true">
<id property="pssystemid" column="pssystemid" /><!--主键字段映射-->
<result column="sysstructure" jdbcType="VARCHAR" property="sysstructure" typeHandler="com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler" />
<result property="apps" column="apps" typeHandler="cn.ibizlab.core.uaa.extensions.domain.handlers.SysAppsTypeHandler" />
<result property="apps" column="apps" typeHandler="cn.ibizlab.core.uaa.domain.handlers.SysAppTypeHandler" />
</resultMap>
......
......@@ -9,7 +9,7 @@ import java.util.HashMap;
import java.io.Serializable;
import java.math.BigDecimal;
import cn.ibizlab.core.uaa.extensions.domain.SysApp;
import cn.ibizlab.core.uaa.domain.SysApp;
import cn.ibizlab.core.uaa.extensions.domain.SysStructure;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonProperty;
......
package cn.ibizlab.api.rest.extensions;
import cn.ibizlab.core.uaa.extensions.service.SysAppService;
import cn.ibizlab.core.uaa.extensions.service.UAACoreService;
import cn.ibizlab.util.client.IBZOUFeignClient;
import cn.ibizlab.util.security.AuthTokenUtil;
......@@ -47,6 +48,8 @@ public class ClientAuthenticationResource
AuthenticationUser user = userDetailsService.loadUserByLogin(authorizationLogin.getUsername(),authorizationLogin.getPassword());
final String token = jwtTokenUtil.generateToken(user);
user.setPermissionList(null);
// 返回 token
return ResponseEntity.ok().body(new AuthenticationInfo(token,user));
}
......@@ -65,4 +68,13 @@ public class ClientAuthenticationResource
return ResponseEntity.ok().body(user);
}
@Autowired
private SysAppService sysAppService;
@GetMapping(value = "uaa/access-center/nav/{id}")
public ResponseEntity<JSONObject> appnavbar(@PathVariable("id") String id)
{
return ResponseEntity.ok(sysAppService.getAppNavigationBar(id,AuthenticationUser.getAuthenticationUser().getUserid()));
}
}
Markdown 格式
0% or
您添加了 0 到此讨论。请谨慎行事。
先完成此消息的编辑!
想要评论请 注册