diff --git a/ruoyi-modules/ruoyi-work/src/main/java/org/dromara/work/controller/TzSharedAccountController.java b/ruoyi-modules/ruoyi-work/src/main/java/org/dromara/work/controller/TzSharedAccountController.java index 0d4b176..cde1209 100644 --- a/ruoyi-modules/ruoyi-work/src/main/java/org/dromara/work/controller/TzSharedAccountController.java +++ b/ruoyi-modules/ruoyi-work/src/main/java/org/dromara/work/controller/TzSharedAccountController.java @@ -1,6 +1,7 @@ package org.dromara.work.controller; import java.util.List; +import java.util.Map; import lombok.RequiredArgsConstructor; import jakarta.servlet.http.HttpServletResponse; @@ -45,6 +46,14 @@ public class TzSharedAccountController extends BaseController { return tzSharedAccountService.queryPageList(bo, pageQuery); } + /** + * 共享账号统计 + */ + @SaCheckPermission("work:sharedAccount:list") + @GetMapping("/count") + public R> count(TzSharedAccountBo bo) { + return R.ok(tzSharedAccountService.queryCount(bo)); + } /** * 导出共享账号列表 */ diff --git a/ruoyi-modules/ruoyi-work/src/main/java/org/dromara/work/service/ITzSharedAccountService.java b/ruoyi-modules/ruoyi-work/src/main/java/org/dromara/work/service/ITzSharedAccountService.java index 46e0b4a..2ecb006 100644 --- a/ruoyi-modules/ruoyi-work/src/main/java/org/dromara/work/service/ITzSharedAccountService.java +++ b/ruoyi-modules/ruoyi-work/src/main/java/org/dromara/work/service/ITzSharedAccountService.java @@ -7,6 +7,7 @@ import org.dromara.common.mybatis.core.page.PageQuery; import java.util.Collection; import java.util.List; +import java.util.Map; /** * 共享账号Service接口 @@ -65,4 +66,12 @@ public interface ITzSharedAccountService { * @return 是否删除成功 */ Boolean deleteWithValidByIds(Collection ids, Boolean isValid); + + /** + * 查询共享账号数量 + * + * @param bo 查询条件 + * @return 共享账号数量 + */ + Map queryCount(TzSharedAccountBo bo); } diff --git a/ruoyi-modules/ruoyi-work/src/main/java/org/dromara/work/service/impl/TzSharedAccountServiceImpl.java b/ruoyi-modules/ruoyi-work/src/main/java/org/dromara/work/service/impl/TzSharedAccountServiceImpl.java index 17ebf2f..0814184 100644 --- a/ruoyi-modules/ruoyi-work/src/main/java/org/dromara/work/service/impl/TzSharedAccountServiceImpl.java +++ b/ruoyi-modules/ruoyi-work/src/main/java/org/dromara/work/service/impl/TzSharedAccountServiceImpl.java @@ -15,6 +15,7 @@ import org.dromara.work.domain.TzSharedAccount; import org.dromara.work.mapper.TzSharedAccountMapper; import org.dromara.work.service.ITzSharedAccountService; +import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.Collection; @@ -56,6 +57,29 @@ public class TzSharedAccountServiceImpl implements ITzSharedAccountService { return TableDataInfo.build(result); } + /** + * 查询共享账号数量 + * + * @param bo 查询条件 + * @return 共享账号数量 + */ + @Override + public Map queryCount(TzSharedAccountBo bo) { + List list = queryList(bo); + //账号总数量 + Long count = (long) list.size(); + //账号未使用数量 + Long notUsedCount = list.stream().filter(item -> item.getStatus() == 0).count(); + //账号使用中数量 + Long usingCount = list.stream().filter(item -> item.getStatus() == 1).count(); + + Map map = new HashMap<>(); + map.put("count", count); + map.put("notUsedCount", notUsedCount); + map.put("usingCount", usingCount); + return map; + } + /** * 查询符合条件的共享账号列表 * @@ -71,7 +95,7 @@ public class TzSharedAccountServiceImpl implements ITzSharedAccountService { private LambdaQueryWrapper buildQueryWrapper(TzSharedAccountBo bo) { Map params = bo.getParams(); LambdaQueryWrapper lqw = Wrappers.lambdaQuery(); - lqw.orderByAsc(TzSharedAccount::getId); + lqw.orderByDesc(TzSharedAccount::getCreateTime); lqw.eq(bo.getUserId() != null, TzSharedAccount::getUserId, bo.getUserId()); lqw.like(StringUtils.isNotBlank(bo.getUserName()), TzSharedAccount::getUserName, bo.getUserName()); lqw.eq(StringUtils.isNotBlank(bo.getCode()), TzSharedAccount::getCode, bo.getCode()); @@ -97,7 +121,6 @@ public class TzSharedAccountServiceImpl implements ITzSharedAccountService { @Override public Boolean insertByBo(TzSharedAccountBo bo) { TzSharedAccount add = MapstructUtils.convert(bo, TzSharedAccount.class); - validEntityBeforeSave(add); boolean flag = baseMapper.insert(add) > 0; if (flag) { bo.setId(add.getId()); @@ -114,17 +137,9 @@ public class TzSharedAccountServiceImpl implements ITzSharedAccountService { @Override public Boolean updateByBo(TzSharedAccountBo bo) { TzSharedAccount update = MapstructUtils.convert(bo, TzSharedAccount.class); - validEntityBeforeSave(update); return baseMapper.updateById(update) > 0; } - /** - * 保存前的数据校验 - */ - private void validEntityBeforeSave(TzSharedAccount entity){ - //TODO 做一些数据校验,如唯一约束 - } - /** * 校验并批量删除共享账号信息 * @@ -134,9 +149,6 @@ public class TzSharedAccountServiceImpl implements ITzSharedAccountService { */ @Override public Boolean deleteWithValidByIds(Collection ids, Boolean isValid) { - if(isValid){ - //TODO 做一些业务上的校验,判断是否需要校验 - } return baseMapper.deleteByIds(ids) > 0; } }