111
k94314517
2025-07-16 4406bf965a39cf9af71ed822abfce76f64be04f9
server/services/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java
@@ -261,11 +261,11 @@
        if(StringUtils.isBlank(code)){
            throw new BusinessException(ResponseStatus.BAD_REQUEST);
        }
//        try {
        try {
            //获取微信敏感数据
//            WxMaJscode2SessionResult session = WxMiniConfig.wxMaService.getUserService().getSessionInfo(code);
            String openId = code ;//session.getOpenid();
//            String unionId = session.getUnionid();
            WxMaJscode2SessionResult session = WxMiniConfig.wxMaService.getUserService().getSessionInfo(code);
            String openId = session.getOpenid();
            String unionId = session.getUnionid();
            if (StringUtils.isBlank(openId)) {
                throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(), "获取openid失败!请联系管理员");
            }
@@ -278,9 +278,9 @@
            accountResponse.setToken(jwtTokenUtil.generateToken(member));
            accountResponse.setMember(member);
            return accountResponse;
//        } catch (WxErrorException e) {
//            throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(), "微信登录异常!请联系管理员");
//        }
        } catch (WxErrorException e) {
            throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(), "微信登录异常!请联系管理员");
        }
    }
@@ -288,30 +288,30 @@
    @Override
    public AccountResponse wxAuthPhone(WxPhoneRequest wxPhoneRequest) {
        try {
            if(Objects.isNull(wxPhoneRequest)
            || StringUtils.isBlank(wxPhoneRequest.getCode())
            || StringUtils.isBlank(wxPhoneRequest.getOpenid())){
                throw new BusinessException(ResponseStatus.BAD_REQUEST);
            }
        try {
            WxMaPhoneNumberInfo userPhoneInfo = WxMiniConfig.wxMaService.getUserService().getPhoneNumber(wxPhoneRequest.getCode());
            String mobile = userPhoneInfo.getPhoneNumber();
            if(Objects.isNull(mobile)){
                throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"未获取到手机号");
            }
            Member member =  memberMapper.selectOne(new QueryWrapper<Member>().lambda().eq(Member::getTelephone,mobile).last("limit 1"));
            member.setOpenid(wxPhoneRequest.getOpenid());
            if(Objects.nonNull(member)){
                memberMapper.update(new UpdateWrapper<Member>().lambda().set(Member::getTelephone,mobile)
                        .set(Member::getOpenid,wxPhoneRequest.getOpenid()).set(Member::getUpdateTime,new Date()).eq(Member::getId,member.getId()));
            }else{
                member = new Member();
                member.setCreateTime(new Date());
                member.setUpdateTime(member.getCreateTime());
                member.setDeleted(Constants.ZERO);
                member.setOpenid(wxPhoneRequest.getOpenid());
                member.setTelephone(mobile);
                member.setNickName(mobile);
                member.setCoverImage("");
                member.setCoverImage("1.png");
                member.setWorkerIdentity(Constants.ZERO);
                member.setDriverIdentity(Constants.ZERO);
                member.setChefIdentity(Constants.ZERO);
@@ -324,6 +324,7 @@
                member.setPublishNum(Constants.ZERO.longValue());
                member.setAutoReceiveStatus(Constants.ONE);
                member.setUseIdentity(Constants.ZERO);
                member.setOpenid(wxPhoneRequest.getOpenid());
                memberMapper.insert(member);
            }
            AccountResponse accountResponse = new AccountResponse();
@@ -402,10 +403,6 @@
            userCenterVO.setTaskingTotal(acceptOrders.stream().filter(i->Constants.equalsInteger(i.getStatus(),Constants.ordersStatus.accept.getKey())).collect(Collectors.toList()).size());
            userCenterVO.setDoneTotal(releaseOrders.stream().filter(i->Constants.equalsInteger(i.getStatus(),Constants.ordersStatus.doing.getKey())).collect(Collectors.toList()).size());
        }
        userCenterVO.setAboutUs(StringUtils.trimToNull(systemDictDataBiz.queryByCode(Constants.SYSTEM,Constants.ABOUT_US).getCode()));
        userCenterVO.setFeeStandards(StringUtils.trimToNull(systemDictDataBiz.queryByCode(Constants.SYSTEM,Constants.FEE_STANDARDS).getCode()));
        userCenterVO.setServerIntroduce(StringUtils.trimToNull(systemDictDataBiz.queryByCode(Constants.SYSTEM,Constants.SERVER_INTRODUCE).getCode()));
        member.setUserCenterVO(userCenterVO);
        return member;
    }
@@ -413,6 +410,19 @@
    @Override
    public UserCenterVO getPlatformAboutUs(){
        UserCenterVO userCenterVO = new UserCenterVO();
        userCenterVO.setAboutUs(StringUtils.trimToNull(systemDictDataBiz.queryByCode(Constants.SYSTEM,Constants.ABOUT_US).getCode()));
        userCenterVO.setFeeStandards(StringUtils.trimToNull(systemDictDataBiz.queryByCode(Constants.SYSTEM,Constants.FEE_STANDARDS).getCode()));
        userCenterVO.setServerIntroduce(StringUtils.trimToNull(systemDictDataBiz.queryByCode(Constants.SYSTEM,Constants.SERVER_INTRODUCE).getCode()));
        userCenterVO.setServerPhone(StringUtils.trimToNull(systemDictDataBiz.queryByCode(Constants.SYSTEM,Constants.SERVER_PHONE).getCode()));
        userCenterVO.setUserAgreement(StringUtils.trimToNull(systemDictDataBiz.queryByCode(Constants.SYSTEM,Constants.USER_AGREEMENT).getCode()));
        userCenterVO.setPrivacyAgreement(StringUtils.trimToNull(systemDictDataBiz.queryByCode(Constants.SYSTEM,Constants.PRIVACY_AGREEMENT).getCode()));
        return userCenterVO;
    }
}