1
This commit is contained in:
@@ -0,0 +1,162 @@
|
||||
package com.budwk.app.sys.controller;
|
||||
|
||||
import cn.dev33.satoken.annotation.SaCheckPermission;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import com.budwk.app.base.page.Pagination;
|
||||
import com.budwk.app.base.result.Result;
|
||||
import com.budwk.app.sys.models.Sys_home_template;
|
||||
import com.budwk.app.sys.param.SysHomeTemplatePageForm;
|
||||
import com.budwk.app.sys.services.SysHomeTemplateService;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import org.nutz.dao.Chain;
|
||||
import org.nutz.dao.Cnd;
|
||||
import org.nutz.ioc.loader.annotation.Inject;
|
||||
import org.nutz.ioc.loader.annotation.IocBean;
|
||||
import org.nutz.mvc.annotation.At;
|
||||
import org.nutz.mvc.annotation.Ok;
|
||||
|
||||
import javax.validation.Valid;
|
||||
|
||||
/**
|
||||
* PC home work template management controller.
|
||||
*/
|
||||
@IocBean
|
||||
@At("/platform/sys/worktemplate")
|
||||
@Ok("json:full")
|
||||
@Api(value = "首页工作模板")
|
||||
public class SysWorkTemplateController {
|
||||
|
||||
@Inject
|
||||
private SysHomeTemplateService sysHomeTemplateService;
|
||||
|
||||
@At("")
|
||||
@Ok("beetl:/platform/sys/worktemplate/index.html")
|
||||
@SaCheckPermission("sys.worktemplate")
|
||||
/**
|
||||
* Opens the work template management page.
|
||||
*/
|
||||
public void index() {
|
||||
}
|
||||
|
||||
@At
|
||||
@SaCheckPermission("sys.worktemplate")
|
||||
@ApiOperation("分页数据")
|
||||
/**
|
||||
* Queries work templates with optional name filtering and stable sorting.
|
||||
*/
|
||||
public Result pageData(@Valid SysHomeTemplatePageForm pageForm) {
|
||||
Cnd cnd = Cnd.NEW();
|
||||
cnd.and(Cnd.likeEX(Sys_home_template::getName, pageForm.getName()));
|
||||
cnd.asc(Sys_home_template::getSortNo);
|
||||
Pagination pagination = sysHomeTemplateService.listPage(pageForm.getPageNumber(), pageForm.getPageSize(), cnd);
|
||||
return Result.success(pagination);
|
||||
}
|
||||
|
||||
@At
|
||||
@SaCheckPermission("sys.worktemplate")
|
||||
@ApiOperation("启用")
|
||||
/**
|
||||
* Enables a work template so it can be shown on the PC home page.
|
||||
*/
|
||||
public Result enable(@Valid String id) {
|
||||
sysHomeTemplateService.update(Chain.make("enable", 1), Cnd.where("id", "=", id));
|
||||
return Result.success();
|
||||
}
|
||||
|
||||
@At
|
||||
@SaCheckPermission("sys.worktemplate")
|
||||
@ApiOperation("关闭")
|
||||
/**
|
||||
* Disables a work template without deleting its configuration.
|
||||
*/
|
||||
public Result disable(@Valid String id) {
|
||||
sysHomeTemplateService.update(Chain.make("enable", 0), Cnd.where("id", "=", id));
|
||||
return Result.success();
|
||||
}
|
||||
|
||||
@At
|
||||
@SaCheckPermission("sys.worktemplate")
|
||||
@ApiOperation("修改模板名称")
|
||||
/**
|
||||
* Updates the custom display name for a work template.
|
||||
*/
|
||||
public Result updateTemplateName(@Valid String id, String templateName) {
|
||||
if (StrUtil.isBlank(id)) {
|
||||
return Result.error("参数错误");
|
||||
}
|
||||
sysHomeTemplateService.update(Chain.make("templateName", templateName), Cnd.where("id", "=", id));
|
||||
return Result.success();
|
||||
}
|
||||
|
||||
@At
|
||||
@SaCheckPermission("sys.worktemplate")
|
||||
@ApiOperation("修改模板图标")
|
||||
/**
|
||||
* Updates the icon path used by the PC home template entry.
|
||||
*/
|
||||
public Result updateTemplateIcon(@Valid String id, String templateIcon) {
|
||||
if (StrUtil.isBlank(id)) {
|
||||
return Result.error("参数错误");
|
||||
}
|
||||
sysHomeTemplateService.update(Chain.make("templateIcon", templateIcon), Cnd.where("id", "=", id));
|
||||
return Result.success();
|
||||
}
|
||||
|
||||
@At
|
||||
@SaCheckPermission("sys.worktemplate")
|
||||
@ApiOperation("修改模板文件")
|
||||
/**
|
||||
* Updates the template file path rendered by the PC home page.
|
||||
*/
|
||||
public Result updateTemplateFile(@Valid String id, String templateFile) {
|
||||
if (StrUtil.isBlank(id)) {
|
||||
return Result.error("参数错误");
|
||||
}
|
||||
sysHomeTemplateService.update(Chain.make("templateFile", templateFile), Cnd.where("id", "=", id));
|
||||
return Result.success();
|
||||
}
|
||||
|
||||
@At
|
||||
@SaCheckPermission("sys.worktemplate")
|
||||
@ApiOperation("修改排序")
|
||||
/**
|
||||
* Updates template ordering and normalizes blank values to the default priority.
|
||||
*/
|
||||
public Result updateSortNo(@Valid String id, Integer sortNo) {
|
||||
if (StrUtil.isBlank(id)) {
|
||||
return Result.error("参数错误");
|
||||
}
|
||||
sysHomeTemplateService.update(Chain.make("sortNo", sortNo == null ? 0 : sortNo), Cnd.where("id", "=", id));
|
||||
return Result.success();
|
||||
}
|
||||
|
||||
@At
|
||||
@SaCheckPermission("sys.worktemplate")
|
||||
@ApiOperation("置顶")
|
||||
/**
|
||||
* Marks a template as pinned for priority display.
|
||||
*/
|
||||
public Result topUp(@Valid String id) {
|
||||
Sys_home_template sysHomeTemplate = new Sys_home_template();
|
||||
sysHomeTemplate.setId(id);
|
||||
sysHomeTemplate.setTop(true);
|
||||
sysHomeTemplateService.updateIgnoreNull(sysHomeTemplate);
|
||||
return Result.success();
|
||||
}
|
||||
|
||||
@At
|
||||
@SaCheckPermission("sys.worktemplate")
|
||||
@ApiOperation("取消置顶")
|
||||
/**
|
||||
* Removes the pinned flag from a template.
|
||||
*/
|
||||
public Result cancelTopUp(@Valid String id) {
|
||||
Sys_home_template sysHomeTemplate = new Sys_home_template();
|
||||
sysHomeTemplate.setId(id);
|
||||
sysHomeTemplate.setTop(false);
|
||||
sysHomeTemplateService.updateIgnoreNull(sysHomeTemplate);
|
||||
return Result.success();
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,109 @@
|
||||
package com.budwk.app.sys.models;
|
||||
|
||||
import com.budwk.app.base.model.BaseModel;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import org.nutz.dao.entity.annotation.*;
|
||||
|
||||
import java.util.Date;
|
||||
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@Data
|
||||
@Table
|
||||
@Comment("首页工作模板")
|
||||
public class Sys_home_template extends BaseModel {
|
||||
|
||||
@Name
|
||||
@ColDefine(type = ColType.VARCHAR, width = 32)
|
||||
@Comment("主键ID,和业务ID保持一致")
|
||||
private String id;
|
||||
|
||||
@Column
|
||||
@ColDefine(type = ColType.VARCHAR, width = 50)
|
||||
@Comment("模板名称")
|
||||
private String name;
|
||||
|
||||
@Column
|
||||
@ColDefine(type = ColType.VARCHAR, width = 50)
|
||||
@Comment("展示模板名称")
|
||||
private String templateName;
|
||||
|
||||
@Column
|
||||
@ColDefine(type = ColType.VARCHAR, width = 255)
|
||||
@Comment("模板图标")
|
||||
private String templateIcon;
|
||||
|
||||
@Column
|
||||
@ColDefine(type = ColType.VARCHAR, width = 1000)
|
||||
@Comment("模板文件")
|
||||
private String templateFile;
|
||||
|
||||
@Column
|
||||
@ColDefine(type = ColType.VARCHAR, width = 255)
|
||||
@Comment("模板封面")
|
||||
private String cover;
|
||||
|
||||
@Column
|
||||
@ColDefine(type = ColType.TEXT)
|
||||
@Comment("模板内容")
|
||||
private String content;
|
||||
|
||||
@Column
|
||||
@ColDefine(type = ColType.VARCHAR, width = 1000)
|
||||
@Comment("模板链接")
|
||||
private String url;
|
||||
|
||||
@Column
|
||||
@ColDefine(type = ColType.VARCHAR, width = 1000)
|
||||
@Comment("h5模板链接")
|
||||
private String h5Url;
|
||||
|
||||
@Column
|
||||
@ColDefine(type = ColType.INT)
|
||||
@Comment("面向人员分组ID")
|
||||
private Integer allowUserGroupId;
|
||||
|
||||
@Column
|
||||
@ColDefine(type = ColType.VARCHAR, width = 1000)
|
||||
@Comment("允许查看的人员sql")
|
||||
private String allowUserSql;
|
||||
|
||||
@Column
|
||||
@ColDefine(type = ColType.BOOLEAN)
|
||||
@Comment("是否启用")
|
||||
@Default("0")
|
||||
private Boolean enable;
|
||||
|
||||
@Column
|
||||
@Comment("类路径")
|
||||
@ColDefine(type = ColType.VARCHAR, width = 500)
|
||||
private String classPath;
|
||||
|
||||
@Column
|
||||
@Comment("是否置顶")
|
||||
@ColDefine(type = ColType.BOOLEAN)
|
||||
@Default("0")
|
||||
private Boolean top;
|
||||
|
||||
@Column
|
||||
@Comment("是否推送大图")
|
||||
@ColDefine(type = ColType.BOOLEAN)
|
||||
@Default("0")
|
||||
private Boolean push;
|
||||
|
||||
@Column
|
||||
@Comment("排序号")
|
||||
@Default("0")
|
||||
private Integer sortNo;
|
||||
|
||||
@Column
|
||||
@Comment("开始时间")
|
||||
@ColDefine(type = ColType.DATETIME)
|
||||
private Date startDate;
|
||||
|
||||
@Column
|
||||
@Comment("结束时间")
|
||||
@ColDefine(type = ColType.DATETIME)
|
||||
private Date endDate;
|
||||
|
||||
}
|
||||
@@ -0,0 +1,17 @@
|
||||
package com.budwk.app.sys.param;
|
||||
|
||||
import com.budwk.app.base.param.PageForm;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@Data
|
||||
@ApiModel("系统首页工作模板管理查询参数")
|
||||
public class SysHomeTemplatePageForm extends PageForm {
|
||||
|
||||
@ApiModelProperty("模板名称")
|
||||
private String name;
|
||||
|
||||
}
|
||||
@@ -0,0 +1,10 @@
|
||||
package com.budwk.app.sys.services;
|
||||
|
||||
import com.budwk.app.base.service.BaseService;
|
||||
import com.budwk.app.sys.models.Sys_home_template;
|
||||
|
||||
/**
|
||||
* Service contract for PC home work template configuration.
|
||||
*/
|
||||
public interface SysHomeTemplateService extends BaseService<Sys_home_template> {
|
||||
}
|
||||
@@ -0,0 +1,23 @@
|
||||
package com.budwk.app.sys.services.impl;
|
||||
|
||||
import com.budwk.app.base.service.impl.BaseServiceImpl;
|
||||
import com.budwk.app.sys.models.Sys_home_template;
|
||||
import com.budwk.app.sys.services.SysHomeTemplateService;
|
||||
import org.nutz.dao.Dao;
|
||||
import org.nutz.ioc.loader.annotation.IocBean;
|
||||
|
||||
/**
|
||||
* Default service implementation for PC home work template configuration.
|
||||
*/
|
||||
@IocBean(args = {"refer:dao"})
|
||||
public class SysHomeTemplateServiceImpl extends BaseServiceImpl<Sys_home_template> implements SysHomeTemplateService {
|
||||
|
||||
/**
|
||||
* Creates the service with the shared Nutz Dao instance.
|
||||
*
|
||||
* @param dao shared database access object
|
||||
*/
|
||||
public SysHomeTemplateServiceImpl(Dao dao) {
|
||||
super(dao);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user