feat(work): 添加共享账号统计功能并优化列表展示
- 在 ITzSharedAccountService 接口中添加 queryCount 方法,用于查询共享账号数量 - 在 TzSharedAccountController 中添加 count 接口,提供共享账号统计功能 - 在 TzSharedAccountServiceImpl 中实现 queryCount 方法,统计账号总数量、未使用数量和使用中数量- 优化 queryList 方法,按创建时间降序排序共享账号列表 - 移除无效的代码和注释,提高代码可读性
This commit is contained in:
@@ -1,6 +1,7 @@
|
|||||||
package org.dromara.work.controller;
|
package org.dromara.work.controller;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
import jakarta.servlet.http.HttpServletResponse;
|
import jakarta.servlet.http.HttpServletResponse;
|
||||||
@@ -45,6 +46,14 @@ public class TzSharedAccountController extends BaseController {
|
|||||||
return tzSharedAccountService.queryPageList(bo, pageQuery);
|
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.Collection;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 共享账号Service接口
|
* 共享账号Service接口
|
||||||
@@ -65,4 +66,12 @@ public interface ITzSharedAccountService {
|
|||||||
* @return 是否删除成功
|
* @return 是否删除成功
|
||||||
*/
|
*/
|
||||||
Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
|
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.mapper.TzSharedAccountMapper;
|
||||||
import org.dromara.work.service.ITzSharedAccountService;
|
import org.dromara.work.service.ITzSharedAccountService;
|
||||||
|
|
||||||
|
import java.util.HashMap;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import java.util.Collection;
|
import java.util.Collection;
|
||||||
@@ -56,6 +57,29 @@ public class TzSharedAccountServiceImpl implements ITzSharedAccountService {
|
|||||||
return TableDataInfo.build(result);
|
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) {
|
private LambdaQueryWrapper<TzSharedAccount> buildQueryWrapper(TzSharedAccountBo bo) {
|
||||||
Map<String, Object> params = bo.getParams();
|
Map<String, Object> params = bo.getParams();
|
||||||
LambdaQueryWrapper<TzSharedAccount> lqw = Wrappers.lambdaQuery();
|
LambdaQueryWrapper<TzSharedAccount> lqw = Wrappers.lambdaQuery();
|
||||||
lqw.orderByAsc(TzSharedAccount::getId);
|
lqw.orderByDesc(TzSharedAccount::getCreateTime);
|
||||||
lqw.eq(bo.getUserId() != null, TzSharedAccount::getUserId, bo.getUserId());
|
lqw.eq(bo.getUserId() != null, TzSharedAccount::getUserId, bo.getUserId());
|
||||||
lqw.like(StringUtils.isNotBlank(bo.getUserName()), TzSharedAccount::getUserName, bo.getUserName());
|
lqw.like(StringUtils.isNotBlank(bo.getUserName()), TzSharedAccount::getUserName, bo.getUserName());
|
||||||
lqw.eq(StringUtils.isNotBlank(bo.getCode()), TzSharedAccount::getCode, bo.getCode());
|
lqw.eq(StringUtils.isNotBlank(bo.getCode()), TzSharedAccount::getCode, bo.getCode());
|
||||||
@@ -97,7 +121,6 @@ public class TzSharedAccountServiceImpl implements ITzSharedAccountService {
|
|||||||
@Override
|
@Override
|
||||||
public Boolean insertByBo(TzSharedAccountBo bo) {
|
public Boolean insertByBo(TzSharedAccountBo bo) {
|
||||||
TzSharedAccount add = MapstructUtils.convert(bo, TzSharedAccount.class);
|
TzSharedAccount add = MapstructUtils.convert(bo, TzSharedAccount.class);
|
||||||
validEntityBeforeSave(add);
|
|
||||||
boolean flag = baseMapper.insert(add) > 0;
|
boolean flag = baseMapper.insert(add) > 0;
|
||||||
if (flag) {
|
if (flag) {
|
||||||
bo.setId(add.getId());
|
bo.setId(add.getId());
|
||||||
@@ -114,17 +137,9 @@ public class TzSharedAccountServiceImpl implements ITzSharedAccountService {
|
|||||||
@Override
|
@Override
|
||||||
public Boolean updateByBo(TzSharedAccountBo bo) {
|
public Boolean updateByBo(TzSharedAccountBo bo) {
|
||||||
TzSharedAccount update = MapstructUtils.convert(bo, TzSharedAccount.class);
|
TzSharedAccount update = MapstructUtils.convert(bo, TzSharedAccount.class);
|
||||||
validEntityBeforeSave(update);
|
|
||||||
return baseMapper.updateById(update) > 0;
|
return baseMapper.updateById(update) > 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* 保存前的数据校验
|
|
||||||
*/
|
|
||||||
private void validEntityBeforeSave(TzSharedAccount entity){
|
|
||||||
//TODO 做一些数据校验,如唯一约束
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 校验并批量删除共享账号信息
|
* 校验并批量删除共享账号信息
|
||||||
*
|
*
|
||||||
@@ -134,9 +149,6 @@ public class TzSharedAccountServiceImpl implements ITzSharedAccountService {
|
|||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) {
|
public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) {
|
||||||
if(isValid){
|
|
||||||
//TODO 做一些业务上的校验,判断是否需要校验
|
|
||||||
}
|
|
||||||
return baseMapper.deleteByIds(ids) > 0;
|
return baseMapper.deleteByIds(ids) > 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user