Commit f4aaf405 authored by 赵啸非's avatar 赵啸非

更新资源文件

parent deda7b7b
......@@ -26,5 +26,4 @@ import java.util.List;
public interface ResourceDao extends ICRUDDao<ResourceEntity,Long> {
List<ResourceEntity> getListByUserId(Long userId);
List<ResourceEntity> getAll(int userType);
}
\ No newline at end of file
......@@ -40,14 +40,5 @@ public class ResourceDaoImpl extends BaseCRUDDaoMybatis<ResourceEntity, Long> im
return getSqlSession().selectList(getSqlId("getListByUserId"), param);
}
@Override
public List<ResourceEntity> getAll(final int userType) {
return getSqlSession().selectList(getSqlId("getAllByUserType"), new HashMap<String, Object>() {
{
put("userType", userType);
}
});
}
}
\ No newline at end of file
......@@ -28,12 +28,6 @@ import java.util.Set;
*/
public interface ResourceService extends ICRUDService<ResourceEntity,Long> {
/**
* 查询所有可用资源
* @return
* @throws AppException
*/
List<ResourceEntity> findAllEnable() throws AppException;
/**
* 根据用户查询可用资源
......@@ -43,13 +37,6 @@ public interface ResourceService extends ICRUDService<ResourceEntity,Long> {
*/
List<ResourceEntity> findListByUserId(Long userId) throws AppException;
/**
* 查询用户可用资源
* @param userId
* @return 字符串,多个以逗号分隔
* @throws AppException
*/
String findUrlByUserId(Long userId) throws AppException;
/**
* 查询用户用资源集合
......@@ -59,13 +46,6 @@ public interface ResourceService extends ICRUDService<ResourceEntity,Long> {
*/
Set<String> findUrlSetByUserId(Long userId) throws AppException;
/**
* 获取所有资源,不分页
* @return
* @param userType
*/
List<ResourceEntity> findAll(int userType);
Rest<String> refreshResourceUrl(String packageName, Context context);
......
......@@ -36,13 +36,10 @@ import java.util.stream.Collectors;
import static com.mortals.xhx.common.utils.MenuEncodeUtil.generateMenuUrlCode;
/**
* <p>Title: 资源信息</p>
* <p>Description: ResourceServiceImpl service接口 </p>
* <p>Copyright: Copyright &reg; </p>
* <p>Company: </p>
* 资源信息
*
* @author
* @version 1.0.0
* @author: zxfei
* @date: 2024/9/6 16:08
*/
@Service("resourceService")
public class ResourceServiceImpl extends AbstractCRUDServiceImpl<ResourceDao, ResourceEntity, Long> implements ResourceService {
......@@ -54,22 +51,12 @@ public class ResourceServiceImpl extends AbstractCRUDServiceImpl<ResourceDao, Re
@Lazy
private RoleAuthService roleAuthService;
@Override
public List<ResourceEntity> findAllEnable() throws AppException {
ResourceQuery params = new ResourceQuery();
return dao.getList(params);
}
@Override
public List<ResourceEntity> findListByUserId(Long userId) throws AppException {
return dao.getListByUserId(userId);
}
@Override
public String findUrlByUserId(Long userId) throws AppException {
Set<String> urls = this.findUrlSetByUserId(userId);
return StringUtils.converArray2Str(urls.toArray(new String[urls.size()]));
}
@Override
public Set<String> findUrlSetByUserId(Long userId) throws AppException {
......@@ -86,48 +73,6 @@ public class ResourceServiceImpl extends AbstractCRUDServiceImpl<ResourceDao, Re
return urls;
}
@Override
public List<ResourceEntity> findAll(int userType) {
return dao.getAll(userType);
}
@Override
public Rest<String> refreshResourceUrl(String packageName, Context context) {
List<Class<?>> classList = ControllerScanUtil.getAllClassByPackageName(packageName);
//System.out.println(classList); //获取到了所有的类
List<ResourceEntity> newResourcelist = ControllerScanUtil.getAnnotationInfo(classList).stream().filter(f->!ObjectUtils.isEmpty(f.getUrl())).collect(Collectors.toList());
Map<String, List<ResourceEntity>> localResourceMap = this.find(new ResourceQuery()).stream().collect(Collectors.groupingBy(x -> x.getName()));
Map<String, List<ResourceEntity>> newResourceMap = newResourcelist.stream().collect(Collectors.groupingBy(x -> x.getName()));
//更新 与新增 新加的;
newResourceMap.entrySet().forEach(item -> {
List<ResourceEntity> resourceEntities = item.getValue();
if (ObjectUtils.isEmpty(resourceEntities)) return;
if (resourceEntities.size() == 1) {
ResourceEntity resourceEntity = resourceEntities.get(0);
saveUpdateResourceEntity(context, localResourceMap, resourceEntity);
} else if (resourceEntities.size() > 1) {
//原始扫描 有多个资源列表针对一个名称的
for (ResourceEntity resourceEntity : resourceEntities) {
saveUpdateResourceEntity(context, localResourceMap, resourceEntity);
}
}
});
return Rest.ok();
}
private void saveUpdateResourceEntity(Context context, Map<String, List<ResourceEntity>> localResourceMap, ResourceEntity resourceEntity) {
//查找 本地是否已经存在了
List<ResourceEntity> tempResourceList = localResourceMap.getOrDefault(resourceEntity.getName(), new ArrayList<>());
if (tempResourceList.size() == 0) {
//新增 resource;
resourceEntity.setCreateUserId(this.getContextUserId(context));
resourceEntity.setCreateTime(new Date());
this.save(resourceEntity, context);
}
}
@Override
protected void updateAfter(ResourceEntity entity, Context context) throws AppException {
......@@ -162,4 +107,42 @@ public class ResourceServiceImpl extends AbstractCRUDServiceImpl<ResourceDao, Re
cacheService.hset(RedisKey.KEY_USER_MENU_CACHE, userId, menuUrlCode);
}
}
@Override
public Rest<String> refreshResourceUrl(String packageName, Context context) {
List<Class<?>> classList = ControllerScanUtil.getAllClassByPackageName(packageName);
//System.out.println(classList); //获取到了所有的类
List<ResourceEntity> newResourcelist = ControllerScanUtil.getAnnotationInfo(classList).stream().filter(f -> !ObjectUtils.isEmpty(f.getUrl())).collect(Collectors.toList());
//资源路径进行判断更新
Map<String, List<ResourceEntity>> localResourceMap = this.find(new ResourceQuery()).stream().collect(Collectors.groupingBy(x -> x.getUrl()));
Map<String, List<ResourceEntity>> newResourceMap = newResourcelist.stream().collect(Collectors.groupingBy(x -> x.getUrl()));
//更新 与新增 新加的;
newResourceMap.entrySet().forEach(item -> {
List<ResourceEntity> resourceEntities = item.getValue();
if (ObjectUtils.isEmpty(resourceEntities)) return;
ResourceEntity resourceEntity = resourceEntities.get(0);
saveUpdateResourceEntity(context, localResourceMap, resourceEntity);
});
return Rest.ok();
}
private void saveUpdateResourceEntity(Context context, Map<String, List<ResourceEntity>> localResourceMap, ResourceEntity resourceEntity) {
//查找 本地是否已经存在了
List<ResourceEntity> tempResourceList = localResourceMap.getOrDefault(resourceEntity.getUrl(), new ArrayList<>());
if (tempResourceList.size() == 0) {
//新增 resource;
resourceEntity.setCreateUserId(this.getContextUserId(context));
resourceEntity.setCreateTime(new Date());
this.save(resourceEntity, context);
} else {
//更新
ResourceEntity tempResourceEntity = tempResourceList.get(0);
resourceEntity.setId(tempResourceEntity.getId());
resourceEntity.setUpdateUserId(this.getContextUserId(context));
resourceEntity.setUpdateTime(new Date());
this.update(resourceEntity, context);
}
}
}
\ No newline at end of file
......@@ -53,21 +53,6 @@ public class ResourceController extends BaseCRUDJsonBodyMappingController<Resour
model.put(KEY_RESULT_DICT, statsus);
}
/**
* 获取所有资源
*
* @return
*/
@ApiOperation(value = "获取所有资源")
@PostMapping("allResources")
public String allResources(int userType) {
JSONObject ret = new JSONObject();
ret.put(KEY_RESULT_CODE, VALUE_RESULT_SUCCESS);
ret.put(KEY_RESULT_MSG, "所有的customer以及user");
ret.put(KEY_RESULT_DATA, service.findAll(userType));
return ret.toJSONString();
}
@Override
protected void doListBefore(ResourceEntity query, Map<String, Object> model, Context context) throws AppException {
......
......@@ -15,10 +15,5 @@
where c.userId=#{condition.userId})
</select>
<select id="getAllByUserType" parameterType="java.util.HashMap" resultMap="ResourceEntity-Map">
select <include refid="_columns"/>
from mortals_xhx_resource as a
where a.userType=#{userType}
</select>
</mapper>
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment