1
zj
2025-09-21 db4f7bbb81d14ba590206b9ba2ebcea76f7de9bf
ruoyi-admin/src/main/java/com/ruoyi/im/ImApiController.java
@@ -13,12 +13,11 @@
import com.ruoyi.im.service.ImApiServcie;
import com.ruoyi.im.dto.RegisterDto;
import com.ruoyi.im.service.InsuranceProductService;
import com.ruoyi.im.service.MedicalInsuranceAccountService;
import com.ruoyi.im.util.SymmetricCryptoUtil;
import com.ruoyi.im.util.ValidatorUtil;
import com.ruoyi.system.domain.GroupWelcomeConfig;
import com.ruoyi.system.domain.InsuranceProduct;
import com.ruoyi.system.domain.IpBlacklist;
import com.ruoyi.system.domain.UserAccount;
import com.ruoyi.system.domain.*;
import com.ruoyi.system.domain.out.UserOut;
import com.ruoyi.system.domain.vo.UserAccountUpdateVo;
import com.ruoyi.system.service.GroupWelcomeConfigService;
import com.ruoyi.system.service.ISysUserService;
@@ -63,6 +62,8 @@
    @Autowired
    InsuranceProductService insuranceProductService;
    @Autowired
    MedicalInsuranceAccountService medicalInsuranceAccountService;
    @Value("${file.upload-dir}")
@@ -258,5 +259,35 @@
        List<InsuranceProduct> list = insuranceProductService.list(wrapper);
        return Result.success(list);
    }
    /**
     * 获取用户详情
     */
    @GetMapping("/getUserByAccount")
    public Result getUserByAccount(HttpServletRequest request,@RequestParam("account") String account){
        try {
            String clientIp = IpUtils.getClientIp(request);
            if(StringUtils.isEmpty(clientIp)){
                return Result.success();
            }
            UserAccount userAccount = userAccountService.getOne(new LambdaQueryWrapper<>(UserAccount.class).eq(UserAccount::getCloudMessageAccount, account));
            if(ObjectUtil.isEmpty(userAccount)){
                return Result.error("账号不存在!");
            }
            UserOut user = new UserOut();
            MedicalInsuranceAccount insuranceAccount = medicalInsuranceAccountService.getOne(new LambdaQueryWrapper<>(MedicalInsuranceAccount.class)
                    .eq(MedicalInsuranceAccount::getUserId, userAccount.getId())
                    .eq(MedicalInsuranceAccount::getAccountStatus, MedicalInsuranceAccount.AccountStatus.ACTIVE)
            );
            user.setKycStatus(userAccount.getKycStatus());
            if(ObjectUtil.isEmpty(insuranceAccount)){
                return Result.success(user);
            }
            user.setAmountClaimed(insuranceAccount.getAmountClaimed());
            user.setAlreadyReceived(insuranceAccount.getAlreadyReceived());
            return Result.success(user);
        }catch (Exception e){
            log.error("获取失败:",e);
            return Result.error("获取失败,请稍后再试!");
        }
    }
}