feat:饭卡冻结修改

This commit is contained in:
dzc committed 2025-05-23 11:35:29 +08:00
1 parent 8ae983807a
commit 840e556ca4
6 files changed
+52 -38

No files matched your search

@@ -14,4 +14,6 @@ public class WalletFreezeDto extends WalletFreezeEntity {
private List<Long> userIds;
private Boolean isFindCheckUser = false;
}
@@ -29,4 +29,9 @@ public class WalletFreezeVo extends WalletFreezeEntity implements BaseUserInterf
private Long walletTypeId;
private String cardNumber;
/**
* 当前用户是否为审批用户
*/
private Boolean isCheckUser = false;
}
@@ -78,6 +78,7 @@ public class WalletFreezeController {
@GetMapping("/page-join")
@PreAuthorize("@pms.hasPermission('wallet_walletFreeze_view')")
public R getWalletFreezePage(@ParameterObject Page page, @ParameterObject WalletFreezeDto dto) {
dto.setIsFindCheckUser(true);
return R.ok(walletFreezeService.scopePageList(page, dto));
}
@@ -52,6 +52,7 @@ public class WalletTypeController {
@GetMapping("/select")
public R<Page<WalletTypeEntity>> walletList(@ParameterObject Page page, @ParameterObject WalletTypeDto dto) {
LambdaQueryWrapper<WalletTypeEntity> wrapper = Wrappers.lambdaQuery();
wrapper.eq(ObjectUtil.isNotEmpty(dto.getUniqueCode()), WalletTypeEntity::getUniqueCode, dto.getUniqueCode());
wrapper.orderByDesc(WalletTypeEntity::getCreateTime);
wrapper.notIn(ObjectUtil.isNotEmpty(dto.getNotWalletTypeIds()), WalletTypeEntity::getId, dto.getNotWalletTypeIds());
return R.ok(walletTypeService.page(page, wrapper));
@@ -19,10 +19,11 @@ import com.bsd.pjcloud.common.core.util.CollectionUtils;
import com.bsd.pjcloud.common.core.util.R;
import com.bsd.pjcloud.common.data.datascope.DataScope;
import com.bsd.pjcloud.common.security.service.PjcloudUser;
import com.bsd.pjcloud.common.security.util.SecurityUtils;
import com.bsd.pjcloud.flow.task.api.feign.RemoteFlowEngineService;
import com.bsd.pjcloud.flow.task.constant.NodeStatusEnum;
import com.bsd.pjcloud.flow.task.constant.TaskCheckStatusEnum;
import com.bsd.pjcloud.flow.task.dto.ProcessNodeRecordAssignUserParamDto;
import com.bsd.pjcloud.flow.task.dto.TaskDto;
import com.bsd.pjcloud.flow.task.dto.TaskParamDto;
import com.bsd.pjcloud.wallet.api.constant.WalleCardStatusEnum;
import com.bsd.pjcloud.wallet.api.dto.WalletFreezeDto;
@@ -71,24 +72,7 @@ public class WalletFreezeServiceImpl extends ServiceImpl<WalletFreezeMapper, Wal
@Override
public Page<WalletFreezeVo> pageJoin(Page page, WalletFreezeDto dto) {
Page<WalletFreezeVo> list = baseMapper.pageJoin(page, dto);
if (ObjectUtil.isNotEmpty(list.getRecords())) {
// 用户
List<Long> userIds = list.getRecords().stream().map(WalletFreezeVo::getUserId).distinct().toList();
if (ObjectUtil.isNotEmpty(userIds)) {
R<List<SysUser>> userList = userService.getUserById(new ArrayList<>(userIds));
if (ObjectUtil.isNotEmpty(userList.getData())) {
DataUtil.convertUserList(page.getRecords(), CollectionUtils.convertMap(userList.getData(), SysUser::getUserId));
}
}
// 部门
List<Long> deptIds = list.getRecords().stream().map(WalletFreezeVo::getDeptId).distinct().toList();
if (ObjectUtil.isNotEmpty(deptIds)) {
R<Map<Long, SysDept>> deptList = deptService.getDeptByDeptIds(deptIds);
if (ObjectUtil.isNotEmpty(deptList.getData())) {
DataUtil.convertDeptList(page.getRecords(), deptList.getData());
}
}
}
disposeList(list.getRecords(), dto);
return list;
}
@@ -97,24 +81,7 @@ public class WalletFreezeServiceImpl extends ServiceImpl<WalletFreezeMapper, Wal
DataScope dataScope = new DataScope();
dataScope.put("scopeDeptName", "a.dept_id");
Page<WalletFreezeVo> list = baseMapper.scopePageList(page, dto, dataScope);
if (ObjectUtil.isNotEmpty(list.getRecords())) {
// 用户
List<Long> userIds = list.getRecords().stream().map(WalletFreezeVo::getUserId).distinct().toList();
if (ObjectUtil.isNotEmpty(userIds)) {
R<List<SysUser>> userList = userService.getUserById(new ArrayList<>(userIds));
if (ObjectUtil.isNotEmpty(userList.getData())) {
DataUtil.convertUserList(page.getRecords(), CollectionUtils.convertMap(userList.getData(), SysUser::getUserId));
}
}
// 部门
List<Long> deptIds = list.getRecords().stream().map(WalletFreezeVo::getDeptId).distinct().toList();
if (ObjectUtil.isNotEmpty(deptIds)) {
R<Map<Long, SysDept>> deptList = deptService.getDeptByDeptIds(deptIds);
if (ObjectUtil.isNotEmpty(deptList.getData())) {
DataUtil.convertDeptList(page.getRecords(), deptList.getData());
}
}
}
disposeList(list.getRecords(), dto);
return list;
}
@@ -221,11 +188,48 @@ public class WalletFreezeServiceImpl extends ServiceImpl<WalletFreezeMapper, Wal
private boolean isCheckData(Long walletId) {
Long count = baseMapper.selectCount(new LambdaQueryWrapper<WalletFreezeEntity>()
.eq(WalletFreezeEntity::getUserId, walletId)
.eq(WalletFreezeEntity::getProcessStatus, NodeStatusEnum.JXZ.getCode())
.eq(WalletFreezeEntity::getProcessStatus, TaskCheckStatusEnum.PADDING.getCode())
);
return count > 0;
}
private void disposeList(List<WalletFreezeVo> list, WalletFreezeDto dto) {
if (ObjectUtil.isEmpty(list)) return;
// 用户
List<Long> userIds = list.stream().map(WalletFreezeVo::getUserId).distinct().toList();
if (ObjectUtil.isNotEmpty(userIds)) {
R<List<SysUser>> userList = userService.getUserById(new ArrayList<>(userIds));
if (ObjectUtil.isNotEmpty(userList.getData())) {
DataUtil.convertUserList(list, CollectionUtils.convertMap(userList.getData(), SysUser::getUserId));
}
}
// 部门
List<Long> deptIds = list.stream().map(WalletFreezeVo::getDeptId).distinct().toList();
if (ObjectUtil.isNotEmpty(deptIds)) {
R<Map<Long, SysDept>> deptList = deptService.getDeptByDeptIds(deptIds);
if (ObjectUtil.isNotEmpty(deptList.getData())) {
DataUtil.convertDeptList(list, deptList.getData());
}
}
// 审批
if (dto.getIsFindCheckUser()) {
List<String> processInstanceIds = list.stream().map(WalletFreezeVo::getProcessId).filter(ObjectUtil::isNotEmpty).distinct().toList();
if (ObjectUtil.isNotEmpty(processInstanceIds)) {
List<TaskDto> taskList = flowUtil.queryProcessInstanceList(SecurityUtils.getUser().getId().toString(), processInstanceIds);
if (ObjectUtil.isNotEmpty(taskList)) {
Map<String, TaskDto> taskMap = CollectionUtils.convertMap(taskList, TaskDto::getProcessInstanceId);
CollectionUtils.convertList(list, v -> {
TaskDto task = taskMap.get(v.getProcessId());
if (ObjectUtil.isNotEmpty(task)) {
v.setIsCheckUser(true);
}
return v;
});
}
}
}
}
private WalletFreezeServiceImpl getSelf() {
return SpringUtil.getBean(getClass());
}
@@ -59,5 +59,6 @@
and w.card_number like concat('%', #{dto.cardNumber}, '%')
</if>
</where>
order by a.create_time desc,a.id desc
</select>
</mapper>