rk
昨天 095210f9149c73e6e00d997b39fd6c44a65e4d38
server/services/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java
@@ -46,9 +46,12 @@
import org.springframework.util.CollectionUtils;
import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Date;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
import java.util.Objects;
import java.util.Random;
import java.util.concurrent.TimeUnit;
@@ -286,8 +289,6 @@
            String token = JwtTokenUtil.generateTokenForRedis(member.getId(), Constants.ZERO, JSONObject.toJSONString(member), redisTemplate);
            accountResponse.setToken(token);
            accountResponse.setMember(member);
            // 门店用户身份时,返回申请的门店状态
            fillShopInfo(accountResponse, member);
            return accountResponse;
        } catch (WxErrorException e) {
            throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(), "微信登录异常!请联系管理员");
@@ -334,15 +335,13 @@
                member.setReceiveNum(Constants.ZERO.longValue());
                member.setPublishNum(Constants.ZERO.longValue());
                member.setAutoReceiveStatus(Constants.ONE);
                member.setUseIdentity(Constants.ZERO);
                member.setUserType(Constants.ZERO);
                memberMapper.insert(member);
            }
            String token = JwtTokenUtil.generateTokenForRedis(member.getId(), Constants.ZERO, JSONObject.toJSONString(member), redisTemplate);
            AccountResponse accountResponse = new AccountResponse();
            accountResponse.setToken(token);
            accountResponse.setMember(member);
            // 门店用户身份时,返回申请的门店状态
            fillShopInfo(accountResponse, member);
            return accountResponse;
        } catch (Exception e) {
            e.printStackTrace();
@@ -353,15 +352,23 @@
    /**
     * 门店用户身份时,填充门店审核状态
     */
    private void fillShopInfo(AccountResponse response, Member member) {
        if (Constants.TWO.equals(member.getUserType())) {
            ShopInfo shopInfo = shopInfoMapper.selectOne(new QueryWrapper<ShopInfo>().lambda()
                    .eq(ShopInfo::getRegionMemberId, member.getId())
    private void fillShopInfo(UserCenterVO userCenterVO, Member member) {
        ShopInfo shopInfo = shopInfoMapper.selectOne(new QueryWrapper<ShopInfo>().lambda()
                .eq(ShopInfo::getRegionMemberId, member.getId())
                .eq(ShopInfo::getDeleted, Constants.ZERO)
                .last("limit 1"));
        if (shopInfo != null) {
            userCenterVO.setShopId(shopInfo.getId());
            userCenterVO.setShopAuditStatus(shopInfo.getAuditStatus());
        }
        // 根据openid查询当前绑定的门店
        if (StringUtils.isNotBlank(member.getOpenid())) {
            ShopInfo bindShop = shopInfoMapper.selectOne(new QueryWrapper<ShopInfo>().lambda()
                    .eq(ShopInfo::getOpenid, member.getOpenid())
                    .eq(ShopInfo::getDeleted, Constants.ZERO)
                    .last("limit 1"));
            if (shopInfo != null) {
                response.setShopId(shopInfo.getId());
                response.setShopAuditStatus(shopInfo.getAuditStatus());
            if (bindShop != null) {
                userCenterVO.setBindShopId(String.valueOf(bindShop.getId()));
            }
        }
    }
@@ -398,6 +405,7 @@
        userCenterVO.setName(member.getName());
        userCenterVO.setTelephone(member.getTelephone());
        userCenterVO.setCoverImage(member.getCoverImage());
        userCenterVO.setOpenid(member.getOpenid());
        if(StringUtils.isNotBlank(member.getCoverImage())){
            String path  = systemDictDataBiz.queryByCode(Constants.OSS,Constants.RESOURCE_PATH).getCode()
                    +systemDictDataBiz.queryByCode(Constants.OSS,Constants.MEMBER_FILES).getCode();
@@ -417,6 +425,14 @@
                .eq(Orders::getDeleted, Constants.ZERO)
                .in(Orders::getStatus, Arrays.stream(waitReceiveStatuses).boxed().collect(Collectors.toList())));
        userCenterVO.setWaitReceiveCount(waitReceiveCount.intValue());
        // 退款中订单数量
        Long refundingCount = ordersMapper.selectCount(new QueryWrapper<Orders>().lambda()
                .eq(Orders::getMemberId, memberId)
                .eq(Orders::getDeleted, Constants.ZERO)
                .eq(Orders::getStatus, 98));
        userCenterVO.setRefundingCount(refundingCount.intValue());
        // 门店用户身份时,返回申请的门店状态
        fillShopInfo(userCenterVO, member);
        return userCenterVO;
    }
@@ -427,16 +443,40 @@
    public PlatformAboutVO getPlatformAboutUs(){
        PlatformAboutVO vo = new PlatformAboutVO();
        vo.setAboutUs(StringUtils.trimToNull(systemDictDataBiz.queryByCode(Constants.SYSTEM,Constants.ABOUT_US).getCode()));
        vo.setUserAgreement(StringUtils.trimToNull(systemDictDataBiz.queryByCode(Constants.SYSTEM,Constants.USER_AGREEMENT).getCode()));
        vo.setPrivacyAgreement(StringUtils.trimToNull(systemDictDataBiz.queryByCode(Constants.SYSTEM,Constants.PRIVACY_AGREEMENT).getCode()));
        vo.setServerIntroduce(StringUtils.trimToNull(systemDictDataBiz.queryByCode(Constants.SYSTEM,Constants.SERVER_INTRODUCE).getCode()));
        vo.setStoreRiskCommitment(getDictValue(Constants.STORE_RISK_COMMITMENT));
        vo.setStoreCooperationAgreement(getDictValue(Constants.STORE_COOPERATION_AGREEMENT));
        vo.setStoreLuggageStorageNotice(getDictValue(Constants.STORE_LUGGAGE_STORAGE_NOTICE));
        vo.setStorePrivacyPolicy(getDictValue(Constants.STORE_PRIVACY_POLICY));
        vo.setOwnerLuggageStorageNotice(getDictValue(Constants.OWNER_LUGGAGE_STORAGE_NOTICE));
        vo.setOwnerServiceAgreement(getDictValue(Constants.OWNER_SERVICE_AGREEMENT));
        vo.setOwnerRiskCommitment(getDictValue(Constants.OWNER_RISK_COMMITMENT));
        vo.setErrandRiskCommitment(getDictValue(Constants.ERRAND_RISK_COMMITMENT));
        vo.setErrandServiceAgreement(getDictValue(Constants.ERRAND_SERVICE_AGREEMENT));
        vo.setErrandLuggageStorageNotice(getDictValue(Constants.ERRAND_LUGGAGE_STORAGE_NOTICE));
        vo.setUserServiceAgreement(getDictValue(Constants.USER_SERVICE_AGREEMENT));
        vo.setUserPrivacyPolicy(getDictValue(Constants.USER_PRIVACY_POLICY));
        vo.setDriverPrivacyPolicy(getDictValue(Constants.DRIVER_PRIVACY_POLICY));
        vo.setPriceDescription(getDictValue(Constants.PRICE_DESCRIPTION));
        vo.setProhibitedItems(getDictValue(Constants.PROHIBITED_ITEMS));
        return vo;
    }
    private String getDictValue(String key) {
        try {
            return StringUtils.trimToNull(systemDictDataBiz.queryByCode(Constants.SYSTEM, key).getCode());
        } catch (Exception e) {
            return null;
        }
    }
    @Override
    public void logOut(String token,Integer memberId){
        memberMapper.update(new UpdateWrapper<Member>().lambda().setSql(" openid = null ").eq(Member::getId,memberId));
        jwtTokenUtil.logoutForH5(token);
    public void logOut(String token,Integer userId,Integer userType){
        if(Constants.equalsInteger(userType,Constants.ZERO)){
            memberMapper.update(new UpdateWrapper<Member>().lambda().setSql(" openid = null ").eq(Member::getId,userId));
        }else if(Constants.equalsInteger(userType,Constants.TWO)){
            shopInfoMapper.update(new UpdateWrapper<ShopInfo>().lambda().setSql(" openid = null ").eq(ShopInfo::getId,userId));
        }
        jwtTokenUtil.logout(token);
    }
@@ -479,13 +519,7 @@
                queryWrapper.lambda().le(Member::getCreateTime, Utils.Date.getEnd(query.getEndTime()));
            }
        }
        for (PageWrap.SortData sortData : pageWrap.getSorts()) {
            if (sortData.getDirection().equalsIgnoreCase(PageWrap.DESC)) {
                queryWrapper.orderByDesc(sortData.getProperty());
            } else {
                queryWrapper.orderByAsc(sortData.getProperty());
            }
        }
        queryWrapper.lambda().orderByDesc(Member::getId);
        IPage<Member> memberPage = memberMapper.selectPage(page, queryWrapper);
        IPage<MemberListVO> voPage = memberPage.convert(this::toListVO);
        return PageData.from(voPage);