From 34981c30a78e8bbd7791131059a9210f9928b62c Mon Sep 17 00:00:00 2001
From: 刘光辉 <347230014@qq.com>
Date: 星期四, 17 九月 2026 09:24:09 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master' into master
---
jnpf-flowable/jnpf-flowable-biz/src/main/java/jnpf/flowable/mapper/TemplateUseNumMapper.java | 84 ++++++++++++++++++++++++++++++++++++++++++
1 files changed, 84 insertions(+), 0 deletions(-)
diff --git a/jnpf-flowable/jnpf-flowable-biz/src/main/java/jnpf/flowable/mapper/TemplateUseNumMapper.java b/jnpf-flowable/jnpf-flowable-biz/src/main/java/jnpf/flowable/mapper/TemplateUseNumMapper.java
new file mode 100644
index 0000000..fc71f78
--- /dev/null
+++ b/jnpf-flowable/jnpf-flowable-biz/src/main/java/jnpf/flowable/mapper/TemplateUseNumMapper.java
@@ -0,0 +1,84 @@
+package jnpf.flowable.mapper;
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.github.yulichang.toolkit.JoinWrappers;
+import com.github.yulichang.wrapper.MPJLambdaWrapper;
+import jnpf.base.Pagination;
+import jnpf.base.UserInfo;
+import jnpf.base.mapper.SuperMapper;
+import jnpf.flowable.entity.TemplateEntity;
+import jnpf.flowable.entity.TemplateUseNumEntity;
+import jnpf.flowable.model.template.TemplateUseNumVo;
+import jnpf.flowable.model.util.FlowNature;
+import jnpf.util.StringUtil;
+import jnpf.util.UserProvider;
+import org.apache.ibatis.annotations.Mapper;
+
+import java.util.Date;
+import java.util.List;
+
+@Mapper
+public interface TemplateUseNumMapper extends SuperMapper<TemplateUseNumEntity> {
+
+ default boolean insertOrUpdateUseNum(String templateId) {
+ UserInfo user = UserProvider.getUser();
+ LambdaQueryWrapper<TemplateUseNumEntity> queryWrapper = new LambdaQueryWrapper<>();
+ queryWrapper.eq(TemplateUseNumEntity::getTemplateId, templateId);
+ queryWrapper.eq(TemplateUseNumEntity::getUserId, user.getUserId());
+ TemplateUseNumEntity userNumEntity = this.selectOne(queryWrapper);
+ if (userNumEntity == null) {
+ userNumEntity = new TemplateUseNumEntity();
+ userNumEntity.setUserId(user.getUserId());
+ userNumEntity.setTemplateId(templateId);
+ userNumEntity.setUseNum(1);
+ userNumEntity.setLastModifyTime(new Date());
+ return this.insert(userNumEntity) > 0;
+ }
+ userNumEntity.setUseNum(userNumEntity.getUseNum() + 1);
+ userNumEntity.setLastModifyTime(null);
+ return this.updateById(userNumEntity) > 0;
+ }
+
+ default void deleteUseNum(String templateId, String userId) {
+ if (StringUtil.isNotEmpty(templateId)) {
+ LambdaQueryWrapper<TemplateUseNumEntity> queryWrapper = new LambdaQueryWrapper<>();
+ queryWrapper.eq(TemplateUseNumEntity::getTemplateId, templateId);
+ if (StringUtil.isNotEmpty(userId)) {
+ queryWrapper.eq(TemplateUseNumEntity::getUserId, userId);
+ }
+ this.delete(queryWrapper);
+ }
+ }
+
+ default List<TemplateUseNumVo> getMenuUseNum(int i, List<String> authFlowList, String systemId) {
+ Pagination pagination = new Pagination();
+ pagination.setPageSize(12);
+ UserInfo user = UserProvider.getUser();
+ MPJLambdaWrapper<TemplateUseNumEntity> wrapper = JoinWrappers.lambda(TemplateUseNumEntity.class)
+ .select(TemplateEntity::getId, TemplateEntity::getFullName, TemplateEntity::getEnCode,
+ TemplateEntity::getType, TemplateEntity::getIcon, TemplateEntity::getIconBackground,
+ TemplateEntity::getSystemId
+ )
+ .leftJoin(TemplateEntity.class, TemplateEntity::getId, TemplateUseNumEntity::getTemplateId)
+ .eq(TemplateUseNumEntity::getUserId, user.getUserId())
+ .eq(TemplateEntity::getEnabledMark, 1);
+ if (i == 0) {
+ wrapper.orderByDesc(TemplateUseNumEntity::getUseNum);
+ } else if (i == 1) {
+ wrapper.orderByDesc(TemplateUseNumEntity::getLastModifyTime);
+ }
+ if (StringUtil.isNotEmpty(systemId)) {
+ wrapper.eq(TemplateEntity::getSystemId, systemId);
+ }
+ //娴佺▼鏈夋潈闄愶紙鍖呭惈閫氱敤锛�
+ wrapper.and(t -> t.eq(TemplateEntity::getVisibleType, FlowNature.ALL)
+ .or().in(!authFlowList.isEmpty(), TemplateEntity::getId, authFlowList)
+ );
+
+
+ Page<TemplateUseNumVo> page = new Page<>(pagination.getCurrentPage(), pagination.getPageSize());
+ Page<TemplateUseNumVo> iPage = this.selectJoinPage(page, TemplateUseNumVo.class, wrapper);
+ return pagination.setData(iPage.getRecords(), page.getTotal());
+ }
+}
--
Gitblit v1.8.0