From 88b23c696a5eb5f5606deaa56a863dc68a8a70ae Mon Sep 17 00:00:00 2001 From: dzc <2388224167@qq.com> Date: Sat, 22 Mar 2025 18:04:17 +0800 Subject: [PATCH] 111 --- .../admin/api/feign/RemoteUserService.java | 16 +++--- .../admin/controller/SysUserController.java | 26 ++++++--- .../pjcloud/admin/service/SysUserService.java | 2 +- .../service/impl/SysUserServiceImpl.java | 2 +- .../impl/thrid/WalletThirdZyServiceImpl.java | 56 +++++++++---------- 5 files changed, 53 insertions(+), 49 deletions(-) diff --git a/pjcloud-upms/pjcloud-upms-api/src/main/java/com/bsd/pjcloud/admin/api/feign/RemoteUserService.java b/pjcloud-upms/pjcloud-upms-api/src/main/java/com/bsd/pjcloud/admin/api/feign/RemoteUserService.java index 2e68e3023..135e5707a 100644 --- a/pjcloud-upms/pjcloud-upms-api/src/main/java/com/bsd/pjcloud/admin/api/feign/RemoteUserService.java +++ b/pjcloud-upms/pjcloud-upms-api/src/main/java/com/bsd/pjcloud/admin/api/feign/RemoteUserService.java @@ -19,18 +19,13 @@ package com.bsd.pjcloud.admin.api.feign; -import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; -import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.bsd.pjcloud.admin.api.dto.UserDTO; import com.bsd.pjcloud.admin.api.dto.UserInfo; import com.bsd.pjcloud.admin.api.entity.SysUser; import com.bsd.pjcloud.admin.api.vo.UserVO; import com.bsd.pjcloud.common.core.constant.ServiceNameConstants; -import com.bsd.pjcloud.common.core.exception.ErrorCodes; -import com.bsd.pjcloud.common.core.util.MsgUtils; import com.bsd.pjcloud.common.core.util.R; import com.bsd.pjcloud.common.feign.annotation.NoToken; -import io.swagger.v3.oas.annotations.media.Schema; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.web.bind.annotation.*; @@ -45,6 +40,9 @@ import java.util.Set; @FeignClient(contextId = "remoteUserService", value = ServiceNameConstants.UPMS_SERVICE) public interface RemoteUserService { + @PostMapping("/user/inner-page") + R> getRemoteUserPage(@RequestParam Long current, @RequestParam Long size, @RequestBody UserDTO userDTO); + /** * 通过用户名查询用户、角色信息 * @@ -173,6 +171,7 @@ public interface RemoteUserService { /** * 根据ids获取map集合 + * * @param userIds * @return */ @@ -180,9 +179,8 @@ public interface RemoteUserService { R> getUserMap(@RequestParam(value = "userIds") Set userIds); - - @GetMapping("/user/getLikeNameOrByMobileScope") - R< List> getLikeNameOrByMobileScope(@RequestParam(value = "name",required = false) String name, - @RequestParam(value = "mobile",required = false) String mobile); + R> getLikeNameOrByMobileScope(@RequestParam(value = "name", required = false) String name, + @RequestParam(value = "mobile", required = false) String mobile); + } diff --git a/pjcloud-upms/pjcloud-upms-biz/src/main/java/com/bsd/pjcloud/admin/controller/SysUserController.java b/pjcloud-upms/pjcloud-upms-biz/src/main/java/com/bsd/pjcloud/admin/controller/SysUserController.java index 6b9512fce..b8e32106e 100644 --- a/pjcloud-upms/pjcloud-upms-biz/src/main/java/com/bsd/pjcloud/admin/controller/SysUserController.java +++ b/pjcloud-upms/pjcloud-upms-biz/src/main/java/com/bsd/pjcloud/admin/controller/SysUserController.java @@ -21,7 +21,9 @@ package com.bsd.pjcloud.admin.controller; import cn.hutool.core.collection.CollUtil; +import cn.hutool.core.util.ObjectUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.bsd.pjcloud.admin.api.dto.UserDTO; @@ -199,10 +201,6 @@ public class SysUserController { /** * 分页查询用户 - * - * @param page 参数集 - * @param userDTO 查询参数列表 - * @return 用户集合 */ @GetMapping("/page") public R getUserPage(@ParameterObject Page page, @ParameterObject UserDTO userDTO) { @@ -210,6 +208,20 @@ public class SysUserController { return R.ok(userService.getUsersWithRolePage(page, userDTO)); } + /** + * 分页查询用户 + */ + @PostMapping("/inner-page") + public R> getRemoteUserPage(@RequestParam Long current, @RequestParam Long size, @RequestBody UserDTO userDTO) { + if (ObjectUtil.isEmpty(userDTO.getIsFindCheckUser())) { + userDTO.setIsFindCheckUser(true); + } + Page pageParams = new Page(); + pageParams.setCurrent(1); + pageParams.setSize(size); + return R.ok(userService.getUsersWithRolePage(pageParams, userDTO).getRecords()); + } + /** * 管理员更新用户信息 * @@ -417,10 +429,10 @@ public class SysUserController { @Inner @GetMapping("/getLikeNameOrByMobileScope") - public R< List> getLikeNameOrByMobileScope(@RequestParam(value = "name",required = false) String name, - @RequestParam(value = "mobile",required = false) String mobile) { + public R> getLikeNameOrByMobileScope(@RequestParam(value = "name", required = false) String name, + @RequestParam(value = "mobile", required = false) String mobile) { List user = userService.listScopeByLikeNameOrByMobileScope(Wrappers.query().lambda() - .like(StringUtils.isNotBlank(name),SysUser::getName, name).eq(StringUtils.isNotBlank(mobile),SysUser::getPhone, mobile)); + .like(StringUtils.isNotBlank(name), SysUser::getName, name).eq(StringUtils.isNotBlank(mobile), SysUser::getPhone, mobile)); if (user == null) { return R.failed(MsgUtils.getMessage(ErrorCodes.SYS_USER_USERINFO_EMPTY, name, mobile)); } diff --git a/pjcloud-upms/pjcloud-upms-biz/src/main/java/com/bsd/pjcloud/admin/service/SysUserService.java b/pjcloud-upms/pjcloud-upms-biz/src/main/java/com/bsd/pjcloud/admin/service/SysUserService.java index c2c98a66d..f5d0b23eb 100644 --- a/pjcloud-upms/pjcloud-upms-biz/src/main/java/com/bsd/pjcloud/admin/service/SysUserService.java +++ b/pjcloud-upms/pjcloud-upms-biz/src/main/java/com/bsd/pjcloud/admin/service/SysUserService.java @@ -59,7 +59,7 @@ public interface SysUserService extends IService { * @param userDTO 参数列表 * @return */ - IPage getUsersWithRolePage(Page page, UserDTO userDTO); + IPage getUsersWithRolePage(Page page, UserDTO userDTO); /** * 删除用户 diff --git a/pjcloud-upms/pjcloud-upms-biz/src/main/java/com/bsd/pjcloud/admin/service/impl/SysUserServiceImpl.java b/pjcloud-upms/pjcloud-upms-biz/src/main/java/com/bsd/pjcloud/admin/service/impl/SysUserServiceImpl.java index af49dffd6..4662550ca 100644 --- a/pjcloud-upms/pjcloud-upms-biz/src/main/java/com/bsd/pjcloud/admin/service/impl/SysUserServiceImpl.java +++ b/pjcloud-upms/pjcloud-upms-biz/src/main/java/com/bsd/pjcloud/admin/service/impl/SysUserServiceImpl.java @@ -239,7 +239,7 @@ public class SysUserServiceImpl extends ServiceImpl impl * @return */ @Override - public IPage getUsersWithRolePage(Page page, UserDTO userDTO) { + public IPage getUsersWithRolePage(Page page, UserDTO userDTO) { IPage list = baseMapper.getUserVosPage(page, userDTO, DataScope.of()); if (ObjectUtil.isNotEmpty(list.getRecords())) { List userIds = list.getRecords().stream().map(UserVO::getUserId).distinct().toList(); diff --git a/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/service/impl/thrid/WalletThirdZyServiceImpl.java b/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/service/impl/thrid/WalletThirdZyServiceImpl.java index 27eba3941..10c53540b 100644 --- a/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/service/impl/thrid/WalletThirdZyServiceImpl.java +++ b/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/service/impl/thrid/WalletThirdZyServiceImpl.java @@ -4,16 +4,16 @@ import cn.hutool.core.date.DatePattern; import cn.hutool.core.date.LocalDateTimeUtil; import cn.hutool.core.util.ObjectUtil; import cn.hutool.json.JSONUtil; +import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.bsd.pjcloud.admin.api.dto.UserInfo; +import com.bsd.pjcloud.admin.api.dto.UserDTO; import com.bsd.pjcloud.admin.api.entity.SysDept; import com.bsd.pjcloud.admin.api.entity.SysRole; import com.bsd.pjcloud.admin.api.feign.RemoteDeptService; import com.bsd.pjcloud.admin.api.feign.RemoteRoleService; import com.bsd.pjcloud.admin.api.feign.RemoteUserService; +import com.bsd.pjcloud.admin.api.vo.UserVO; import com.bsd.pjcloud.common.core.constant.enums.YesNoEnum; -import com.bsd.pjcloud.common.data.datascope.DataScope; -import com.bsd.pjcloud.common.data.datascope.DataScopeFuncEnum; import com.bsd.pjcloud.thirdparty.api.feign.RemoterThirdZyService; import com.bsd.pjcloud.thirdparty.dto.zy.mer.ZyMerSyncAccClassInfoDto; import com.bsd.pjcloud.thirdparty.dto.zy.mer.ZyMerSyncAccountInfoDto; @@ -234,37 +234,31 @@ public class WalletThirdZyServiceImpl implements WalletThirdZyService { private int syncAllUserGroup(Page page, Long userId, Long roleId, Long walletTypeId, List syncZyDeptIds) { - WalletManageDto query = new WalletManageDto(); - query.setWalletTypeId(walletTypeId); - if (ObjectUtil.isNotEmpty(userId)) query.setUserId(userId); - DataScope dataScope = DataScope.of(); - dataScope.func(DataScopeFuncEnum.ALL); - Page userPage = walletManageService.scopePageList(page, query, dataScope); - if (ObjectUtil.isEmpty(userPage.getRecords())) return 0; + UserDTO query = new UserDTO(); + if (ObjectUtil.isNotEmpty(userId)) { + query.setUserId(userId); + } + if (ObjectUtil.isNotEmpty(syncZyDeptIds)) { + query.setDeptIds(syncZyDeptIds); + } + List userVOList = remoteUserService.getRemoteUserPage(page.getCurrent(), page.getSize(), query).getData(); + if (ObjectUtil.isEmpty(userVOList)) return 0; List syncList = new ArrayList<>(); String syncAllMchVersion = getSyncAllMchVersion(); - for (WalletManageVo v : userPage.getRecords()) { - // 查询用户 - UserInfo user = remoteUserService.getByUserId(v.getUserId()).getData(); - if (ObjectUtil.isEmpty(user)) { - log.error("|{}|syncAllUserGroup用户不存在WalletManageVo为空|{}|", TAG, JSONUtil.toJsonStr(v)); - continue; - } - // 校验用户是否在可以同步的正元部门下面 - if (!syncZyDeptIds.contains(user.getSysUser().getDeptId())) { - log.error("|{}|syncAllUserGroup用户不在可以同步的正元部门下面|{}|", TAG, JSONUtil.toJsonStr(v)); - continue; - } - MchManageVo mch = mchManageService.getFirstMchByDeptId(user.getSysUser().getDeptId()); + for (UserVO v : userVOList) { + MchManageVo mch = mchManageService.getFirstMchByDeptId(v.getDeptId()); + // 查询是在商户下 if (ObjectUtil.isEmpty(mch)) { log.error("|{}|syncAllUserGroup用户部门商户id为空WalletManageVo|{}|", TAG, JSONUtil.toJsonStr(v)); continue; } - if (ObjectUtil.isEmpty(v.getCardNumber())) { + // 查询用户钱包 + WalletManageEntity userWallet = walletManageService.getWallet(v.getUserId(), walletTypeId); + if (ObjectUtil.isEmpty(userWallet) || ObjectUtil.isEmpty(userWallet.getCardNumber())) { walletManageService.createWallet(v.getUserId()); - WalletManageEntity wallet = walletManageService.getWallet(v.getId()); + WalletManageEntity wallet = walletManageService.getWallet(v.getUserId(), walletTypeId); if (ObjectUtil.isNotEmpty(wallet) && ObjectUtil.isNotEmpty(wallet.getCardNumber())) { - v.setCardNumber(wallet.getCardNumber()); + userWallet = wallet; } else { continue; } @@ -272,13 +266,13 @@ public class WalletThirdZyServiceImpl implements WalletThirdZyService { ZyMerSyncAccountInfoDto item = new ZyMerSyncAccountInfoDto(); item.setAccName(v.getUsername()); item.setAccNum(v.getUserId().toString()); - item.setCardAccNum(v.getId()); - item.setCardSID(v.getCardNumber()); - item.setCardStatus(getCardStatus(v.getStatus())); - item.setEPID(user.getSysUser().getDeptId().toString()); + item.setCardAccNum(userWallet.getId()); + item.setCardSID(userWallet.getCardNumber()); + item.setCardStatus(getCardStatus(userWallet.getStatus())); + item.setEPID(v.getDeptId().toString()); item.setPerCode(v.getUserId().toString()); item.setAccClassID(roleId.toString()); - item.setPhoneNo(v.getUserMobile()); + item.setPhoneNo(v.getPhone()); item.setFixId(syncAllMchVersion); syncList.add(item); }