mirror of
https://gitee.com/EMF/solon-manager.git
synced 2025-12-07 01:08:28 +08:00
132 lines
4.1 KiB
Java
132 lines
4.1 KiB
Java
package vip.fuck.sm.controller;
|
|
|
|
import cn.dev33.satoken.annotation.SaMode;
|
|
import cn.hutool.core.util.ObjectUtil;
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
|
import cn.dev33.satoken.annotation.SaCheckPermission;
|
|
import org.noear.solon.annotation.*;
|
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
|
import io.swagger.annotations.ApiOperation;
|
|
import io.swagger.annotations.ApiParam;
|
|
import java.util.List;
|
|
|
|
import org.noear.solon.core.handle.ModelAndView;
|
|
import org.noear.solon.core.handle.UploadedFile;
|
|
import org.smartboot.http.server.HttpRequest;
|
|
import vip.fuck.sm.common.aop.annotation.LogAnnotation;
|
|
import vip.fuck.sm.common.exception.BusinessException;
|
|
import vip.fuck.sm.common.utils.DataResult;
|
|
|
|
import vip.fuck.sm.entity.SysFilesEntity;
|
|
import vip.fuck.sm.entity.SysPlugsEntity;
|
|
import vip.fuck.sm.service.SysFilesService;
|
|
import vip.fuck.sm.service.SysPlugsService;
|
|
|
|
|
|
|
|
/**
|
|
* 系统插件
|
|
*
|
|
* @author Rish
|
|
* @email xian.zi.ming@qq.com
|
|
* @date 2025-03-22 20:59:06
|
|
*/
|
|
@Controller
|
|
@Mapping("/")
|
|
public class SysPlugsController {
|
|
@Inject
|
|
private SysPlugsService sysPlugsService;
|
|
|
|
/**
|
|
* 跳转到页面
|
|
*/
|
|
@Get
|
|
@Mapping ("/index/sysPlugs")
|
|
public ModelAndView sysPlugs() {
|
|
return new ModelAndView("sysplugs/list.html");
|
|
}
|
|
|
|
@ApiOperation(value = "上传插件")
|
|
@Post
|
|
@Mapping("sysPlugs/upload")
|
|
@LogAnnotation(action = "上传插件")
|
|
// @SaCheckPermission(value = {"sysFiles:add", "sysContent:update", "sysContent:add"}, mode = SaMode.OR)
|
|
public SysPlugsEntity upload(@Param("file") UploadedFile file) throws Exception {
|
|
return sysPlugsService.uploadJar(file);
|
|
}
|
|
|
|
@ApiOperation(value = "启动插件")
|
|
@Get
|
|
@Mapping("sysPlugs/startPlugin/{qn}")
|
|
@LogAnnotation(action = "启动插件")
|
|
// @SaCheckPermission(value = {"sysFiles:add", "sysContent:update", "sysContent:add"}, mode = SaMode.OR)
|
|
public DataResult startPlugin(@Path("qn") String qn) throws Exception {
|
|
sysPlugsService.startPlugin(qn);
|
|
return DataResult.success();
|
|
}
|
|
|
|
|
|
@ApiOperation(value = "查询分页数据")
|
|
@Post @Mapping ("sysPlugs/listByPage")
|
|
@SaCheckPermission("sysPlugs:list")
|
|
public DataResult findListByPage(SysPlugsEntity sysPlugs ,String key){
|
|
LambdaQueryWrapper<SysPlugsEntity> q = Wrappers.lambdaQuery();
|
|
if(ObjectUtil.isNotEmpty(key)){
|
|
q.or(qq->{
|
|
qq.like(SysPlugsEntity::getQualifiedVersion,key);
|
|
});
|
|
q.or(qq->{
|
|
qq.like(SysPlugsEntity::getAuthor,key);
|
|
});
|
|
q.or(qq->{
|
|
qq.like(SysPlugsEntity::getVersion,key);
|
|
});
|
|
q.or(qq->{
|
|
qq.like(SysPlugsEntity::getDescription,key);
|
|
});
|
|
}else{
|
|
//查询条件示例
|
|
q.eq(sysPlugs.getQualifiedVersion() != null, SysPlugsEntity::getQualifiedVersion, sysPlugs.getQualifiedVersion());
|
|
}
|
|
|
|
q.orderByDesc(SysPlugsEntity::getQualifiedVersion);
|
|
IPage<SysPlugsEntity> iPage = sysPlugsService.page(sysPlugs.getQueryPage(), q);
|
|
return DataResult.success(iPage);
|
|
}
|
|
|
|
|
|
@ApiOperation(value = "新增")
|
|
@Post @Mapping ("sysPlugs/add")
|
|
@SaCheckPermission("sysPlugs:add")
|
|
public DataResult add( SysPlugsEntity sysPlugs){
|
|
sysPlugsService.save(sysPlugs);
|
|
return DataResult.success();
|
|
}
|
|
|
|
@ApiOperation(value = "删除")
|
|
@Delete @Mapping ("sysPlugs/delete")
|
|
@SaCheckPermission("sysPlugs:delete")
|
|
|
|
public DataResult delete( @ApiParam(value = "id集合") List<String> ids){
|
|
sysPlugsService.removeByIds(ids);
|
|
return DataResult.success();
|
|
}
|
|
|
|
@ApiOperation(value = "更新")
|
|
@Put
|
|
@Mapping ("sysPlugs/update")
|
|
@SaCheckPermission("sysPlugs:update")
|
|
|
|
public DataResult update( SysPlugsEntity sysPlugs){
|
|
sysPlugsService.updateById(sysPlugs);
|
|
return DataResult.success();
|
|
}
|
|
|
|
|
|
|
|
}
|