This commit is contained in:
dzc committed 2025-03-22 18:04:17 +08:00
1 parent 51b7cfc96b
commit 88b23c696a
5 files changed
+53 -49

No files matched your search

@@ -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<List<UserVO>> 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<Map<Long, SysUser>> getUserMap(@RequestParam(value = "userIds") Set<Long> userIds);
@GetMapping("/user/getLikeNameOrByMobileScope")
R< List<SysUser>> getLikeNameOrByMobileScope(@RequestParam(value = "name",required = false) String name,
@RequestParam(value = "mobile",required = false) String mobile);
R<List<SysUser>> getLikeNameOrByMobileScope(@RequestParam(value = "name", required = false) String name,
@RequestParam(value = "mobile", required = false) String mobile);
}
@@ -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<List<UserVO>> 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<SysUser>> getLikeNameOrByMobileScope(@RequestParam(value = "name",required = false) String name,
@RequestParam(value = "mobile",required = false) String mobile) {
public R<List<SysUser>> getLikeNameOrByMobileScope(@RequestParam(value = "name", required = false) String name,
@RequestParam(value = "mobile", required = false) String mobile) {
List<SysUser> user = userService.listScopeByLikeNameOrByMobileScope(Wrappers.<SysUser>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));
}
@@ -59,7 +59,7 @@ public interface SysUserService extends IService<SysUser> {
* @param userDTO 参数列表
* @return
*/
IPage getUsersWithRolePage(Page page, UserDTO userDTO);
IPage<UserVO> getUsersWithRolePage(Page page, UserDTO userDTO);
/**
* 删除用户
@@ -239,7 +239,7 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
* @return
*/
@Override
public IPage getUsersWithRolePage(Page page, UserDTO userDTO) {
public IPage<UserVO> getUsersWithRolePage(Page page, UserDTO userDTO) {
IPage<UserVO> list = baseMapper.getUserVosPage(page, userDTO, DataScope.of());
if (ObjectUtil.isNotEmpty(list.getRecords())) {
List<Long> userIds = list.getRecords().stream().map(UserVO::getUserId).distinct().toList();
@@ -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<Long> syncZyDeptIds) {
WalletManageDto query = new WalletManageDto();
query.setWalletTypeId(walletTypeId);
if (ObjectUtil.isNotEmpty(userId)) query.setUserId(userId);
DataScope dataScope = DataScope.of();
dataScope.func(DataScopeFuncEnum.ALL);
Page<WalletManageVo> 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<UserVO> userVOList = remoteUserService.getRemoteUserPage(page.getCurrent(), page.getSize(), query).getData();
if (ObjectUtil.isEmpty(userVOList)) return 0;
List<ZyMerSyncAccountInfoDto> 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);
}