feat(work): 添加共享账号统计功能并优化列表展示
- 在 ITzSharedAccountService 接口中添加 queryCount 方法,用于查询共享账号数量 - 在 TzSharedAccountController 中添加 count 接口,提供共享账号统计功能 - 在 TzSharedAccountServiceImpl 中实现 queryCount 方法,统计账号总数量、未使用数量和使用中数量- 优化 queryList 方法,按创建时间降序排序共享账号列表 - 移除无效的代码和注释,提高代码可读性
This commit is contained in:
@@ -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<Map<String, Object>> count(TzSharedAccountBo bo) {
|
||||
return R.ok(tzSharedAccountService.queryCount(bo));
|
||||
}
|
||||
/**
|
||||
* 导出共享账号列表
|
||||
*/
|
||||
|
||||
@@ -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<Long> ids, Boolean isValid);
|
||||
|
||||
/**
|
||||
* 查询共享账号数量
|
||||
*
|
||||
* @param bo 查询条件
|
||||
* @return 共享账号数量
|
||||
*/
|
||||
Map<String, Object> queryCount(TzSharedAccountBo bo);
|
||||
}
|
||||
|
||||
@@ -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<String, Object> queryCount(TzSharedAccountBo bo) {
|
||||
List<TzSharedAccountVo> 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<String, Object> 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<TzSharedAccount> buildQueryWrapper(TzSharedAccountBo bo) {
|
||||
Map<String, Object> params = bo.getParams();
|
||||
LambdaQueryWrapper<TzSharedAccount> 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<Long> ids, Boolean isValid) {
|
||||
if(isValid){
|
||||
//TODO 做一些业务上的校验,判断是否需要校验
|
||||
}
|
||||
return baseMapper.deleteByIds(ids) > 0;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user