diff --git a/core/backend/src/main/java/io/dataease/controller/panel/api/LinkApi.java b/core/backend/src/main/java/io/dataease/controller/panel/api/LinkApi.java index a984e4c23d..f6654d7d72 100644 --- a/core/backend/src/main/java/io/dataease/controller/panel/api/LinkApi.java +++ b/core/backend/src/main/java/io/dataease/controller/panel/api/LinkApi.java @@ -8,11 +8,13 @@ import io.dataease.controller.request.panel.PanelViewLogRequest; import io.dataease.controller.request.panel.link.*; import io.dataease.dto.panel.link.GenerateDto; import io.dataease.dto.panel.link.ValidateDto; +import io.dataease.plugins.common.base.domain.PanelLinkTicket; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.web.bind.annotation.*; import springfox.documentation.annotations.ApiIgnore; +import java.util.List; import java.util.Map; @Api(tags = "仪表板:链接管理") @@ -45,6 +47,11 @@ public interface LinkApi { @PostMapping("/currentGenerate/{resourceId}") GenerateDto currentGenerate(String resourceId); + @DePermission(type = DePermissionType.PANEL) + @ApiOperation("当前ticket信息") + @PostMapping("/currentTicket/{resourceId}") + List queryTicket(String resourceId); + @ApiOperation("验证访问") @PostMapping("/validate") ValidateDto validate(LinkValidateRequest request) throws Exception; @@ -70,5 +77,11 @@ public interface LinkApi { @PostMapping("/viewLog") void viewLinkLog(@RequestBody LinkViewLogRequest request); + @ApiOperation("保存ticket") + @PostMapping("/saveTicket") + String saveTicket(@RequestBody TicketCreator creator); + @ApiOperation("删除ticket") + @PostMapping("/delTicket") + void deleteTicket(@RequestBody TicketDelRequest request); } diff --git a/core/backend/src/main/java/io/dataease/controller/panel/server/LinkServer.java b/core/backend/src/main/java/io/dataease/controller/panel/server/LinkServer.java index 30acef6006..a88e6e7a1f 100644 --- a/core/backend/src/main/java/io/dataease/controller/panel/server/LinkServer.java +++ b/core/backend/src/main/java/io/dataease/controller/panel/server/LinkServer.java @@ -12,6 +12,7 @@ import io.dataease.dto.panel.link.GenerateDto; import io.dataease.dto.panel.link.ValidateDto; import io.dataease.plugins.common.base.domain.PanelGroupWithBLOBs; import io.dataease.plugins.common.base.domain.PanelLink; +import io.dataease.plugins.common.base.domain.PanelLinkTicket; import io.dataease.service.chart.ChartViewService; import io.dataease.service.panel.PanelLinkService; import org.apache.commons.lang3.ObjectUtils; @@ -27,6 +28,7 @@ import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; import java.net.URLDecoder; import java.nio.charset.StandardCharsets; +import java.util.List; import java.util.Map; @RestController @@ -64,6 +66,11 @@ public class LinkServer implements LinkApi { return panelLinkService.currentGenerate(resourceId); } + @Override + public List queryTicket(@PathVariable("resourceId") String resourceId) { + return panelLinkService.queryTicket(resourceId); + } + @Override public ValidateDto validate(@RequestBody LinkValidateRequest request) throws Exception { String link = request.getLink(); @@ -141,4 +148,14 @@ public class LinkServer implements LinkApi { String pid = panelGroupWithBLOBs.getPid(); DeLogUtils.save(operateType, SysLogConstants.SOURCE_TYPE.LINK, panelId, pid, userId, SysLogConstants.SOURCE_TYPE.USER); } + + @Override + public String saveTicket(TicketCreator creator) { + return panelLinkService.saveTicket(creator); + } + + @Override + public void deleteTicket(TicketDelRequest request) { + panelLinkService.deleteTicket(request); + } } diff --git a/core/backend/src/main/java/io/dataease/controller/request/panel/link/TicketCreator.java b/core/backend/src/main/java/io/dataease/controller/request/panel/link/TicketCreator.java new file mode 100644 index 0000000000..a7f50e8106 --- /dev/null +++ b/core/backend/src/main/java/io/dataease/controller/request/panel/link/TicketCreator.java @@ -0,0 +1,19 @@ +package io.dataease.controller.request.panel.link; + +import lombok.Data; + +import java.io.Serializable; + +@Data +public class TicketCreator implements Serializable { + + private String ticket; + + private Long exp; + + private String args; + + private String uuid; + + private boolean generateNew; +} diff --git a/core/backend/src/main/java/io/dataease/controller/request/panel/link/TicketDelRequest.java b/core/backend/src/main/java/io/dataease/controller/request/panel/link/TicketDelRequest.java new file mode 100644 index 0000000000..8477ef9ac4 --- /dev/null +++ b/core/backend/src/main/java/io/dataease/controller/request/panel/link/TicketDelRequest.java @@ -0,0 +1,12 @@ +package io.dataease.controller.request.panel.link; + +import lombok.Data; + +import java.io.Serializable; + +@Data +public class TicketDelRequest implements Serializable { + + private String ticket; + +} diff --git a/core/backend/src/main/java/io/dataease/dto/panel/link/GenerateDto.java b/core/backend/src/main/java/io/dataease/dto/panel/link/GenerateDto.java index efad91a31a..2d1beabb40 100644 --- a/core/backend/src/main/java/io/dataease/dto/panel/link/GenerateDto.java +++ b/core/backend/src/main/java/io/dataease/dto/panel/link/GenerateDto.java @@ -16,4 +16,8 @@ public class GenerateDto { private String pwd; @ApiModelProperty("有效期") private Long overTime; + @ApiModelProperty("ticket必填") + private boolean requireTicket; + + } diff --git a/core/backend/src/main/java/io/dataease/service/panel/PanelLinkService.java b/core/backend/src/main/java/io/dataease/service/panel/PanelLinkService.java index 4641f98315..82cd185411 100644 --- a/core/backend/src/main/java/io/dataease/service/panel/PanelLinkService.java +++ b/core/backend/src/main/java/io/dataease/service/panel/PanelLinkService.java @@ -8,19 +8,14 @@ import io.dataease.commons.utils.AuthUtils; import io.dataease.commons.utils.CodingUtil; import io.dataease.commons.utils.DeLogUtils; import io.dataease.commons.utils.ServletUtils; -import io.dataease.controller.request.panel.link.EnablePwdRequest; -import io.dataease.controller.request.panel.link.LinkRequest; -import io.dataease.controller.request.panel.link.OverTimeRequest; -import io.dataease.controller.request.panel.link.PasswordRequest; +import io.dataease.controller.request.panel.link.*; import io.dataease.dto.panel.PanelGroupDTO; import io.dataease.dto.panel.link.GenerateDto; import io.dataease.ext.ExtPanelGroupMapper; import io.dataease.ext.ExtPanelLinkMapper; import io.dataease.plugins.common.base.domain.*; -import io.dataease.plugins.common.base.mapper.PanelGroupMapper; -import io.dataease.plugins.common.base.mapper.PanelLinkMapper; -import io.dataease.plugins.common.base.mapper.PanelLinkMappingMapper; -import io.dataease.plugins.common.base.mapper.PanelWatermarkMapper; +import io.dataease.plugins.common.base.mapper.*; +import io.dataease.plugins.common.exception.DataEaseException; import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.lang3.ObjectUtils; import org.apache.commons.lang3.StringUtils; @@ -56,6 +51,9 @@ public class PanelLinkService { @Resource private ExtPanelGroupMapper extPanelGroupMapper; + @Resource + private PanelLinkTicketMapper panelLinkTicketMapper; + @Transactional public void changeValid(LinkRequest request) { PanelLink po = new PanelLink(); @@ -140,6 +138,18 @@ public class PanelLinkService { return null; } + public List queryTicket(String resourceId) { + Long userId = AuthUtils.getUser().getUserId(); + PanelLinkMappingExample example = new PanelLinkMappingExample(); + example.createCriteria().andResourceIdEqualTo(resourceId).andUserIdEqualTo(userId); + List mappings = panelLinkMappingMapper.selectByExample(example); + PanelLinkMapping mapping = mappings.get(0); + String uuid = mapping.getUuid(); + PanelLinkTicketExample exampleTicket = new PanelLinkTicketExample(); + exampleTicket.createCriteria().andUuidEqualTo(uuid); + return panelLinkTicketMapper.selectByExample(exampleTicket); + } + @Transactional public GenerateDto currentGenerate(String resourceId) { PanelLink one = findOne(resourceId, AuthUtils.getUser().getUserId()); @@ -152,7 +162,6 @@ public class PanelLinkService { one.setEnablePwd(false); mapper.insert(one); } - PanelLinkMappingExample example = new PanelLinkMappingExample(); example.createCriteria().andResourceIdEqualTo(resourceId).andUserIdEqualTo(AuthUtils.getUser().getUserId()); List mappings = panelLinkMappingMapper.selectByExample(example); @@ -162,11 +171,12 @@ public class PanelLinkService { mapping.setResourceId(resourceId); mapping.setUserId(AuthUtils.getUser().getUserId()); mapping.setUuid(CodingUtil.shortUuid()); + mapping.setRequireTicket(false); panelLinkMappingMapper.insert(mapping); } else { mapping = mappings.get(0); } - return convertDto(one, mapping.getUuid()); + return convertDto(one, mapping.getUuid(), mapping.getRequireTicket()); } public void deleteByResourceId(String resourceId) { @@ -205,13 +215,14 @@ public class PanelLinkService { return linkParam; } - private GenerateDto convertDto(PanelLink link, String uuid) { + private GenerateDto convertDto(PanelLink link, String uuid, boolean requireTicket) { GenerateDto result = new GenerateDto(); result.setValid(link.getValid()); result.setEnablePwd(link.getEnablePwd()); result.setPwd(link.getPwd()); result.setUri(BASEURL + buildLinkParam(link, uuid)); result.setOverTime(link.getOverTime()); + result.setRequireTicket(requireTicket); return result; } @@ -272,6 +283,50 @@ public class PanelLinkService { return contextPath + SHORT_URL_PREFIX + (StringUtils.isBlank(uuid) ? mapping.getId() : uuid); } + public String saveTicket(TicketCreator creator) { + String ticket = creator.getTicket(); + if (StringUtils.isNotBlank(ticket)) { + PanelLinkTicket ticketEntity = getByTicket(ticket); + if (ObjectUtils.isNotEmpty(ticketEntity)) { + PanelLinkTicketExample example = new PanelLinkTicketExample(); + example.createCriteria().andTicketEqualTo(ticket); + if (creator.isGenerateNew()) { + ticketEntity.setTicket(CodingUtil.shortUuid()); + } + panelLinkTicketMapper.updateByExample(ticketEntity, example); + return ticketEntity.getTicket(); + } + } + ticket = CodingUtil.shortUuid(); + PanelLinkTicket linkTicket = new PanelLinkTicket(); + linkTicket.setTicket(ticket); + linkTicket.setArgs(creator.getArgs()); + linkTicket.setExp(creator.getExp()); + linkTicket.setUuid(creator.getUuid()); + panelLinkTicketMapper.insert(linkTicket); + return ticket; + } + + public void deleteTicket(TicketDelRequest request) { + String ticket = request.getTicket(); + if (StringUtils.isBlank(ticket)) { + DataEaseException.throwException("ticket为必填参数"); + } + PanelLinkTicketExample example = new PanelLinkTicketExample(); + example.createCriteria().andTicketEqualTo(ticket); + panelLinkTicketMapper.deleteByExample(example); + } + + + + public PanelLinkTicket getByTicket(String ticket) { + PanelLinkTicketExample example = new PanelLinkTicketExample(); + example.createCriteria().andTicketEqualTo(ticket); + List tickets = panelLinkTicketMapper.selectByExample(example); + if (CollectionUtils.isEmpty(tickets)) return null; + return tickets.get(0); + } + public String getUrlByIndex(Long index) { PanelLinkMapping mapping = panelLinkMappingMapper.selectByPrimaryKey(index); @@ -281,7 +336,7 @@ public class PanelLinkService { if (StringUtils.isNotBlank(mapping.getUuid())) { one.setResourceId("error-resource-id"); } - return convertDto(one, mapping.getUuid()).getUri(); + return convertDto(one, mapping.getUuid(), mapping.getRequireTicket()).getUri(); } public String getUrlByUuid(String uuid) { @@ -297,6 +352,6 @@ public class PanelLinkService { String resourceId = mapping.getResourceId(); Long userId = mapping.getUserId(); PanelLink one = findOne(resourceId, userId); - return convertDto(one, uuid).getUri(); + return convertDto(one, uuid, mapping.getRequireTicket()).getUri(); } } diff --git a/core/backend/src/main/resources/db/migration/V62__1.18.18.sql b/core/backend/src/main/resources/db/migration/V62__1.18.18.sql new file mode 100644 index 0000000000..4d2f74ea56 --- /dev/null +++ b/core/backend/src/main/resources/db/migration/V62__1.18.18.sql @@ -0,0 +1,17 @@ +-- ---------------------------- +-- Table structure for panel_link_ticket +-- ---------------------------- +DROP TABLE IF EXISTS `panel_link_ticket`; +CREATE TABLE `panel_link_ticket` +( + `id` bigint NOT NULL AUTO_INCREMENT, + `uuid` varchar(255) NOT NULL, + `ticket` varchar(255) NOT NULL, + `exp` bigint DEFAULT NULL, + `args` varchar(255) DEFAULT NULL, + PRIMARY KEY (`id`) +) ENGINE = InnoDB + AUTO_INCREMENT = 1; + +ALTER TABLE `panel_link_mapping` + ADD COLUMN `require_ticket` tinyint(1) NOT NULL DEFAULT 0 AFTER `uuid`; \ No newline at end of file diff --git a/core/frontend/src/api/link/index.js b/core/frontend/src/api/link/index.js index 47c25f3672..16a1adf659 100644 --- a/core/frontend/src/api/link/index.js +++ b/core/frontend/src/api/link/index.js @@ -66,6 +66,28 @@ export function loadGenerate(resourceId) { }) } +export function loadTicketApi(resourceId) { + return request({ + url: 'api/link/currentTicket/' + resourceId, + method: 'post' + }) +} + +export function saveTicketApi(data) { + return request({ + url: 'api/link/saveTicket', + method: 'post', + data + }) +} +export function delTicketApi(data) { + return request({ + url: 'api/link/delTicket', + method: 'post', + data + }) +} + export function loadResource(resourceId, userId) { return request({ url: 'api/link/resourceDetail/' + resourceId + '/' + userId, diff --git a/core/frontend/src/views/link/generate/index.vue b/core/frontend/src/views/link/generate/index.vue index c46803c35e..d7ded228d9 100644 --- a/core/frontend/src/views/link/generate/index.vue +++ b/core/frontend/src/views/link/generate/index.vue @@ -1,117 +1,243 @@ diff --git a/core/frontend/src/views/panel/list/PanelList.vue b/core/frontend/src/views/panel/list/PanelList.vue index ecf28fcfaa..a65f0bde3c 100644 --- a/core/frontend/src/views/panel/list/PanelList.vue +++ b/core/frontend/src/views/panel/list/PanelList.vue @@ -375,6 +375,7 @@ v-dialogDrag :title="$t('panel.link_share')" :visible.sync="linkVisible" + class="link-dialog" width="500px" @closed="removeLink" > @@ -1239,4 +1240,13 @@ export default { /*display: inline;*/ visibility: visible; } +.link-dialog ::v-deep .el-dialog__title { + display: none; +} +.link-dialog ::v-deep .el-dialog__body { + height: 350px; +} +.link-dialog ::v-deep .el-dialog__headerbtn { + z-index: 1; +} diff --git a/sdk/dataease-plugin-common/src/main/java/io/dataease/plugins/common/base/domain/PanelLinkMapping.java b/sdk/dataease-plugin-common/src/main/java/io/dataease/plugins/common/base/domain/PanelLinkMapping.java index 8bfc5d3ed8..0b59a3f1a6 100644 --- a/sdk/dataease-plugin-common/src/main/java/io/dataease/plugins/common/base/domain/PanelLinkMapping.java +++ b/sdk/dataease-plugin-common/src/main/java/io/dataease/plugins/common/base/domain/PanelLinkMapping.java @@ -13,5 +13,7 @@ public class PanelLinkMapping implements Serializable { private String uuid; + private Boolean requireTicket; + private static final long serialVersionUID = 1L; } \ No newline at end of file diff --git a/sdk/dataease-plugin-common/src/main/java/io/dataease/plugins/common/base/domain/PanelLinkMappingExample.java b/sdk/dataease-plugin-common/src/main/java/io/dataease/plugins/common/base/domain/PanelLinkMappingExample.java index 981ad0515b..def0157e4f 100644 --- a/sdk/dataease-plugin-common/src/main/java/io/dataease/plugins/common/base/domain/PanelLinkMappingExample.java +++ b/sdk/dataease-plugin-common/src/main/java/io/dataease/plugins/common/base/domain/PanelLinkMappingExample.java @@ -363,6 +363,66 @@ public class PanelLinkMappingExample { addCriterion("uuid not between", value1, value2, "uuid"); return (Criteria) this; } + + public Criteria andRequireTicketIsNull() { + addCriterion("require_ticket is null"); + return (Criteria) this; + } + + public Criteria andRequireTicketIsNotNull() { + addCriterion("require_ticket is not null"); + return (Criteria) this; + } + + public Criteria andRequireTicketEqualTo(Boolean value) { + addCriterion("require_ticket =", value, "requireTicket"); + return (Criteria) this; + } + + public Criteria andRequireTicketNotEqualTo(Boolean value) { + addCriterion("require_ticket <>", value, "requireTicket"); + return (Criteria) this; + } + + public Criteria andRequireTicketGreaterThan(Boolean value) { + addCriterion("require_ticket >", value, "requireTicket"); + return (Criteria) this; + } + + public Criteria andRequireTicketGreaterThanOrEqualTo(Boolean value) { + addCriterion("require_ticket >=", value, "requireTicket"); + return (Criteria) this; + } + + public Criteria andRequireTicketLessThan(Boolean value) { + addCriterion("require_ticket <", value, "requireTicket"); + return (Criteria) this; + } + + public Criteria andRequireTicketLessThanOrEqualTo(Boolean value) { + addCriterion("require_ticket <=", value, "requireTicket"); + return (Criteria) this; + } + + public Criteria andRequireTicketIn(List values) { + addCriterion("require_ticket in", values, "requireTicket"); + return (Criteria) this; + } + + public Criteria andRequireTicketNotIn(List values) { + addCriterion("require_ticket not in", values, "requireTicket"); + return (Criteria) this; + } + + public Criteria andRequireTicketBetween(Boolean value1, Boolean value2) { + addCriterion("require_ticket between", value1, value2, "requireTicket"); + return (Criteria) this; + } + + public Criteria andRequireTicketNotBetween(Boolean value1, Boolean value2) { + addCriterion("require_ticket not between", value1, value2, "requireTicket"); + return (Criteria) this; + } } public static class Criteria extends GeneratedCriteria { diff --git a/sdk/dataease-plugin-common/src/main/java/io/dataease/plugins/common/base/domain/PanelLinkTicket.java b/sdk/dataease-plugin-common/src/main/java/io/dataease/plugins/common/base/domain/PanelLinkTicket.java new file mode 100644 index 0000000000..7c6b107faa --- /dev/null +++ b/sdk/dataease-plugin-common/src/main/java/io/dataease/plugins/common/base/domain/PanelLinkTicket.java @@ -0,0 +1,19 @@ +package io.dataease.plugins.common.base.domain; + +import java.io.Serializable; +import lombok.Data; + +@Data +public class PanelLinkTicket implements Serializable { + private Long id; + + private String uuid; + + private String ticket; + + private Long exp; + + private String args; + + private static final long serialVersionUID = 1L; +} \ No newline at end of file diff --git a/sdk/dataease-plugin-common/src/main/java/io/dataease/plugins/common/base/domain/PanelLinkTicketExample.java b/sdk/dataease-plugin-common/src/main/java/io/dataease/plugins/common/base/domain/PanelLinkTicketExample.java new file mode 100644 index 0000000000..d3e3ca9f89 --- /dev/null +++ b/sdk/dataease-plugin-common/src/main/java/io/dataease/plugins/common/base/domain/PanelLinkTicketExample.java @@ -0,0 +1,530 @@ +package io.dataease.plugins.common.base.domain; + +import java.util.ArrayList; +import java.util.List; + +public class PanelLinkTicketExample { + protected String orderByClause; + + protected boolean distinct; + + protected List oredCriteria; + + public PanelLinkTicketExample() { + oredCriteria = new ArrayList(); + } + + public void setOrderByClause(String orderByClause) { + this.orderByClause = orderByClause; + } + + public String getOrderByClause() { + return orderByClause; + } + + public void setDistinct(boolean distinct) { + this.distinct = distinct; + } + + public boolean isDistinct() { + return distinct; + } + + public List getOredCriteria() { + return oredCriteria; + } + + public void or(Criteria criteria) { + oredCriteria.add(criteria); + } + + public Criteria or() { + Criteria criteria = createCriteriaInternal(); + oredCriteria.add(criteria); + return criteria; + } + + public Criteria createCriteria() { + Criteria criteria = createCriteriaInternal(); + if (oredCriteria.size() == 0) { + oredCriteria.add(criteria); + } + return criteria; + } + + protected Criteria createCriteriaInternal() { + Criteria criteria = new Criteria(); + return criteria; + } + + public void clear() { + oredCriteria.clear(); + orderByClause = null; + distinct = false; + } + + protected abstract static class GeneratedCriteria { + protected List criteria; + + protected GeneratedCriteria() { + super(); + criteria = new ArrayList(); + } + + public boolean isValid() { + return criteria.size() > 0; + } + + public List getAllCriteria() { + return criteria; + } + + public List getCriteria() { + return criteria; + } + + protected void addCriterion(String condition) { + if (condition == null) { + throw new RuntimeException("Value for condition cannot be null"); + } + criteria.add(new Criterion(condition)); + } + + protected void addCriterion(String condition, Object value, String property) { + if (value == null) { + throw new RuntimeException("Value for " + property + " cannot be null"); + } + criteria.add(new Criterion(condition, value)); + } + + protected void addCriterion(String condition, Object value1, Object value2, String property) { + if (value1 == null || value2 == null) { + throw new RuntimeException("Between values for " + property + " cannot be null"); + } + criteria.add(new Criterion(condition, value1, value2)); + } + + public Criteria andIdIsNull() { + addCriterion("id is null"); + return (Criteria) this; + } + + public Criteria andIdIsNotNull() { + addCriterion("id is not null"); + return (Criteria) this; + } + + public Criteria andIdEqualTo(Long value) { + addCriterion("id =", value, "id"); + return (Criteria) this; + } + + public Criteria andIdNotEqualTo(Long value) { + addCriterion("id <>", value, "id"); + return (Criteria) this; + } + + public Criteria andIdGreaterThan(Long value) { + addCriterion("id >", value, "id"); + return (Criteria) this; + } + + public Criteria andIdGreaterThanOrEqualTo(Long value) { + addCriterion("id >=", value, "id"); + return (Criteria) this; + } + + public Criteria andIdLessThan(Long value) { + addCriterion("id <", value, "id"); + return (Criteria) this; + } + + public Criteria andIdLessThanOrEqualTo(Long value) { + addCriterion("id <=", value, "id"); + return (Criteria) this; + } + + public Criteria andIdIn(List values) { + addCriterion("id in", values, "id"); + return (Criteria) this; + } + + public Criteria andIdNotIn(List values) { + addCriterion("id not in", values, "id"); + return (Criteria) this; + } + + public Criteria andIdBetween(Long value1, Long value2) { + addCriterion("id between", value1, value2, "id"); + return (Criteria) this; + } + + public Criteria andIdNotBetween(Long value1, Long value2) { + addCriterion("id not between", value1, value2, "id"); + return (Criteria) this; + } + + public Criteria andUuidIsNull() { + addCriterion("uuid is null"); + return (Criteria) this; + } + + public Criteria andUuidIsNotNull() { + addCriterion("uuid is not null"); + return (Criteria) this; + } + + public Criteria andUuidEqualTo(String value) { + addCriterion("uuid =", value, "uuid"); + return (Criteria) this; + } + + public Criteria andUuidNotEqualTo(String value) { + addCriterion("uuid <>", value, "uuid"); + return (Criteria) this; + } + + public Criteria andUuidGreaterThan(String value) { + addCriterion("uuid >", value, "uuid"); + return (Criteria) this; + } + + public Criteria andUuidGreaterThanOrEqualTo(String value) { + addCriterion("uuid >=", value, "uuid"); + return (Criteria) this; + } + + public Criteria andUuidLessThan(String value) { + addCriterion("uuid <", value, "uuid"); + return (Criteria) this; + } + + public Criteria andUuidLessThanOrEqualTo(String value) { + addCriterion("uuid <=", value, "uuid"); + return (Criteria) this; + } + + public Criteria andUuidLike(String value) { + addCriterion("uuid like", value, "uuid"); + return (Criteria) this; + } + + public Criteria andUuidNotLike(String value) { + addCriterion("uuid not like", value, "uuid"); + return (Criteria) this; + } + + public Criteria andUuidIn(List values) { + addCriterion("uuid in", values, "uuid"); + return (Criteria) this; + } + + public Criteria andUuidNotIn(List values) { + addCriterion("uuid not in", values, "uuid"); + return (Criteria) this; + } + + public Criteria andUuidBetween(String value1, String value2) { + addCriterion("uuid between", value1, value2, "uuid"); + return (Criteria) this; + } + + public Criteria andUuidNotBetween(String value1, String value2) { + addCriterion("uuid not between", value1, value2, "uuid"); + return (Criteria) this; + } + + public Criteria andTicketIsNull() { + addCriterion("ticket is null"); + return (Criteria) this; + } + + public Criteria andTicketIsNotNull() { + addCriterion("ticket is not null"); + return (Criteria) this; + } + + public Criteria andTicketEqualTo(String value) { + addCriterion("ticket =", value, "ticket"); + return (Criteria) this; + } + + public Criteria andTicketNotEqualTo(String value) { + addCriterion("ticket <>", value, "ticket"); + return (Criteria) this; + } + + public Criteria andTicketGreaterThan(String value) { + addCriterion("ticket >", value, "ticket"); + return (Criteria) this; + } + + public Criteria andTicketGreaterThanOrEqualTo(String value) { + addCriterion("ticket >=", value, "ticket"); + return (Criteria) this; + } + + public Criteria andTicketLessThan(String value) { + addCriterion("ticket <", value, "ticket"); + return (Criteria) this; + } + + public Criteria andTicketLessThanOrEqualTo(String value) { + addCriterion("ticket <=", value, "ticket"); + return (Criteria) this; + } + + public Criteria andTicketLike(String value) { + addCriterion("ticket like", value, "ticket"); + return (Criteria) this; + } + + public Criteria andTicketNotLike(String value) { + addCriterion("ticket not like", value, "ticket"); + return (Criteria) this; + } + + public Criteria andTicketIn(List values) { + addCriterion("ticket in", values, "ticket"); + return (Criteria) this; + } + + public Criteria andTicketNotIn(List values) { + addCriterion("ticket not in", values, "ticket"); + return (Criteria) this; + } + + public Criteria andTicketBetween(String value1, String value2) { + addCriterion("ticket between", value1, value2, "ticket"); + return (Criteria) this; + } + + public Criteria andTicketNotBetween(String value1, String value2) { + addCriterion("ticket not between", value1, value2, "ticket"); + return (Criteria) this; + } + + public Criteria andExpIsNull() { + addCriterion("`exp` is null"); + return (Criteria) this; + } + + public Criteria andExpIsNotNull() { + addCriterion("`exp` is not null"); + return (Criteria) this; + } + + public Criteria andExpEqualTo(Long value) { + addCriterion("`exp` =", value, "exp"); + return (Criteria) this; + } + + public Criteria andExpNotEqualTo(Long value) { + addCriterion("`exp` <>", value, "exp"); + return (Criteria) this; + } + + public Criteria andExpGreaterThan(Long value) { + addCriterion("`exp` >", value, "exp"); + return (Criteria) this; + } + + public Criteria andExpGreaterThanOrEqualTo(Long value) { + addCriterion("`exp` >=", value, "exp"); + return (Criteria) this; + } + + public Criteria andExpLessThan(Long value) { + addCriterion("`exp` <", value, "exp"); + return (Criteria) this; + } + + public Criteria andExpLessThanOrEqualTo(Long value) { + addCriterion("`exp` <=", value, "exp"); + return (Criteria) this; + } + + public Criteria andExpIn(List values) { + addCriterion("`exp` in", values, "exp"); + return (Criteria) this; + } + + public Criteria andExpNotIn(List values) { + addCriterion("`exp` not in", values, "exp"); + return (Criteria) this; + } + + public Criteria andExpBetween(Long value1, Long value2) { + addCriterion("`exp` between", value1, value2, "exp"); + return (Criteria) this; + } + + public Criteria andExpNotBetween(Long value1, Long value2) { + addCriterion("`exp` not between", value1, value2, "exp"); + return (Criteria) this; + } + + public Criteria andArgsIsNull() { + addCriterion("args is null"); + return (Criteria) this; + } + + public Criteria andArgsIsNotNull() { + addCriterion("args is not null"); + return (Criteria) this; + } + + public Criteria andArgsEqualTo(String value) { + addCriterion("args =", value, "args"); + return (Criteria) this; + } + + public Criteria andArgsNotEqualTo(String value) { + addCriterion("args <>", value, "args"); + return (Criteria) this; + } + + public Criteria andArgsGreaterThan(String value) { + addCriterion("args >", value, "args"); + return (Criteria) this; + } + + public Criteria andArgsGreaterThanOrEqualTo(String value) { + addCriterion("args >=", value, "args"); + return (Criteria) this; + } + + public Criteria andArgsLessThan(String value) { + addCriterion("args <", value, "args"); + return (Criteria) this; + } + + public Criteria andArgsLessThanOrEqualTo(String value) { + addCriterion("args <=", value, "args"); + return (Criteria) this; + } + + public Criteria andArgsLike(String value) { + addCriterion("args like", value, "args"); + return (Criteria) this; + } + + public Criteria andArgsNotLike(String value) { + addCriterion("args not like", value, "args"); + return (Criteria) this; + } + + public Criteria andArgsIn(List values) { + addCriterion("args in", values, "args"); + return (Criteria) this; + } + + public Criteria andArgsNotIn(List values) { + addCriterion("args not in", values, "args"); + return (Criteria) this; + } + + public Criteria andArgsBetween(String value1, String value2) { + addCriterion("args between", value1, value2, "args"); + return (Criteria) this; + } + + public Criteria andArgsNotBetween(String value1, String value2) { + addCriterion("args not between", value1, value2, "args"); + return (Criteria) this; + } + } + + public static class Criteria extends GeneratedCriteria { + + protected Criteria() { + super(); + } + } + + public static class Criterion { + private String condition; + + private Object value; + + private Object secondValue; + + private boolean noValue; + + private boolean singleValue; + + private boolean betweenValue; + + private boolean listValue; + + private String typeHandler; + + public String getCondition() { + return condition; + } + + public Object getValue() { + return value; + } + + public Object getSecondValue() { + return secondValue; + } + + public boolean isNoValue() { + return noValue; + } + + public boolean isSingleValue() { + return singleValue; + } + + public boolean isBetweenValue() { + return betweenValue; + } + + public boolean isListValue() { + return listValue; + } + + public String getTypeHandler() { + return typeHandler; + } + + protected Criterion(String condition) { + super(); + this.condition = condition; + this.typeHandler = null; + this.noValue = true; + } + + protected Criterion(String condition, Object value, String typeHandler) { + super(); + this.condition = condition; + this.value = value; + this.typeHandler = typeHandler; + if (value instanceof List) { + this.listValue = true; + } else { + this.singleValue = true; + } + } + + protected Criterion(String condition, Object value) { + this(condition, value, null); + } + + protected Criterion(String condition, Object value, Object secondValue, String typeHandler) { + super(); + this.condition = condition; + this.value = value; + this.secondValue = secondValue; + this.typeHandler = typeHandler; + this.betweenValue = true; + } + + protected Criterion(String condition, Object value, Object secondValue) { + this(condition, value, secondValue, null); + } + } +} \ No newline at end of file diff --git a/sdk/dataease-plugin-common/src/main/java/io/dataease/plugins/common/base/mapper/PanelLinkMappingMapper.xml b/sdk/dataease-plugin-common/src/main/java/io/dataease/plugins/common/base/mapper/PanelLinkMappingMapper.xml index 78396d1157..4ed9852b41 100644 --- a/sdk/dataease-plugin-common/src/main/java/io/dataease/plugins/common/base/mapper/PanelLinkMappingMapper.xml +++ b/sdk/dataease-plugin-common/src/main/java/io/dataease/plugins/common/base/mapper/PanelLinkMappingMapper.xml @@ -6,6 +6,7 @@ + @@ -66,7 +67,7 @@ - id, resource_id, user_id, uuid + id, resource_id, user_id, uuid, require_ticket @@ -156,6 +163,9 @@ uuid = #{record.uuid,jdbcType=VARCHAR}, + + require_ticket = #{record.requireTicket,jdbcType=BIT}, + @@ -166,7 +176,8 @@ set id = #{record.id,jdbcType=BIGINT}, resource_id = #{record.resourceId,jdbcType=VARCHAR}, user_id = #{record.userId,jdbcType=BIGINT}, - uuid = #{record.uuid,jdbcType=VARCHAR} + uuid = #{record.uuid,jdbcType=VARCHAR}, + require_ticket = #{record.requireTicket,jdbcType=BIT} @@ -183,6 +194,9 @@ uuid = #{uuid,jdbcType=VARCHAR}, + + require_ticket = #{requireTicket,jdbcType=BIT}, + where id = #{id,jdbcType=BIGINT} @@ -190,7 +204,8 @@ update panel_link_mapping set resource_id = #{resourceId,jdbcType=VARCHAR}, user_id = #{userId,jdbcType=BIGINT}, - uuid = #{uuid,jdbcType=VARCHAR} + uuid = #{uuid,jdbcType=VARCHAR}, + require_ticket = #{requireTicket,jdbcType=BIT} where id = #{id,jdbcType=BIGINT} \ No newline at end of file diff --git a/sdk/dataease-plugin-common/src/main/java/io/dataease/plugins/common/base/mapper/PanelLinkTicketMapper.java b/sdk/dataease-plugin-common/src/main/java/io/dataease/plugins/common/base/mapper/PanelLinkTicketMapper.java new file mode 100644 index 0000000000..1b6df0d0b4 --- /dev/null +++ b/sdk/dataease-plugin-common/src/main/java/io/dataease/plugins/common/base/mapper/PanelLinkTicketMapper.java @@ -0,0 +1,30 @@ +package io.dataease.plugins.common.base.mapper; + +import io.dataease.plugins.common.base.domain.PanelLinkTicket; +import io.dataease.plugins.common.base.domain.PanelLinkTicketExample; +import java.util.List; +import org.apache.ibatis.annotations.Param; + +public interface PanelLinkTicketMapper { + long countByExample(PanelLinkTicketExample example); + + int deleteByExample(PanelLinkTicketExample example); + + int deleteByPrimaryKey(Long id); + + int insert(PanelLinkTicket record); + + int insertSelective(PanelLinkTicket record); + + List selectByExample(PanelLinkTicketExample example); + + PanelLinkTicket selectByPrimaryKey(Long id); + + int updateByExampleSelective(@Param("record") PanelLinkTicket record, @Param("example") PanelLinkTicketExample example); + + int updateByExample(@Param("record") PanelLinkTicket record, @Param("example") PanelLinkTicketExample example); + + int updateByPrimaryKeySelective(PanelLinkTicket record); + + int updateByPrimaryKey(PanelLinkTicket record); +} \ No newline at end of file diff --git a/sdk/dataease-plugin-common/src/main/java/io/dataease/plugins/common/base/mapper/PanelLinkTicketMapper.xml b/sdk/dataease-plugin-common/src/main/java/io/dataease/plugins/common/base/mapper/PanelLinkTicketMapper.xml new file mode 100644 index 0000000000..2befbb5e8a --- /dev/null +++ b/sdk/dataease-plugin-common/src/main/java/io/dataease/plugins/common/base/mapper/PanelLinkTicketMapper.xml @@ -0,0 +1,211 @@ + + + + + + + + + + + + + + + + + + + and ${criterion.condition} + + + and ${criterion.condition} #{criterion.value} + + + and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} + + + and ${criterion.condition} + + #{listItem} + + + + + + + + + + + + + + + + + + and ${criterion.condition} + + + and ${criterion.condition} #{criterion.value} + + + and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} + + + and ${criterion.condition} + + #{listItem} + + + + + + + + + + + id, uuid, ticket, `exp`, args + + + + + delete from panel_link_ticket + where id = #{id,jdbcType=BIGINT} + + + delete from panel_link_ticket + + + + + + insert into panel_link_ticket (id, uuid, ticket, + `exp`, args) + values (#{id,jdbcType=BIGINT}, #{uuid,jdbcType=VARCHAR}, #{ticket,jdbcType=VARCHAR}, + #{exp,jdbcType=BIGINT}, #{args,jdbcType=VARCHAR}) + + + insert into panel_link_ticket + + + id, + + + uuid, + + + ticket, + + + `exp`, + + + args, + + + + + #{id,jdbcType=BIGINT}, + + + #{uuid,jdbcType=VARCHAR}, + + + #{ticket,jdbcType=VARCHAR}, + + + #{exp,jdbcType=BIGINT}, + + + #{args,jdbcType=VARCHAR}, + + + + + + update panel_link_ticket + + + id = #{record.id,jdbcType=BIGINT}, + + + uuid = #{record.uuid,jdbcType=VARCHAR}, + + + ticket = #{record.ticket,jdbcType=VARCHAR}, + + + `exp` = #{record.exp,jdbcType=BIGINT}, + + + args = #{record.args,jdbcType=VARCHAR}, + + + + + + + + update panel_link_ticket + set id = #{record.id,jdbcType=BIGINT}, + uuid = #{record.uuid,jdbcType=VARCHAR}, + ticket = #{record.ticket,jdbcType=VARCHAR}, + `exp` = #{record.exp,jdbcType=BIGINT}, + args = #{record.args,jdbcType=VARCHAR} + + + + + + update panel_link_ticket + + + uuid = #{uuid,jdbcType=VARCHAR}, + + + ticket = #{ticket,jdbcType=VARCHAR}, + + + `exp` = #{exp,jdbcType=BIGINT}, + + + args = #{args,jdbcType=VARCHAR}, + + + where id = #{id,jdbcType=BIGINT} + + + update panel_link_ticket + set uuid = #{uuid,jdbcType=VARCHAR}, + ticket = #{ticket,jdbcType=VARCHAR}, + `exp` = #{exp,jdbcType=BIGINT}, + args = #{args,jdbcType=VARCHAR} + where id = #{id,jdbcType=BIGINT} + + \ No newline at end of file