package com.doumee.service.business.impl; 
 | 
  
 | 
import cn.binarywang.wx.miniapp.bean.WxMaJscode2SessionResult; 
 | 
import cn.binarywang.wx.miniapp.bean.WxMaPhoneNumberInfo; 
 | 
import com.alibaba.fastjson.JSONObject; 
 | 
import com.doumee.biz.system.SystemDictDataBiz; 
 | 
import com.doumee.config.jwt.JwtTokenUtil; 
 | 
import com.doumee.config.wx.WxMiniConfig; 
 | 
import com.doumee.core.constants.Constants; 
 | 
import com.doumee.core.constants.ResponseStatus; 
 | 
import com.doumee.core.exception.BusinessException; 
 | 
import com.doumee.core.model.PageData; 
 | 
import com.doumee.core.model.PageWrap; 
 | 
import com.doumee.core.utils.Utils; 
 | 
import com.doumee.dao.business.IdentityInfoMapper; 
 | 
import com.doumee.dao.business.MemberMapper; 
 | 
import com.doumee.dao.business.OrdersMapper; 
 | 
import com.doumee.dao.business.model.IdentityInfo; 
 | 
import com.doumee.dao.business.model.Member; 
 | 
import com.doumee.dao.business.model.MemberRevenue; 
 | 
import com.doumee.dao.business.model.Orders; 
 | 
import com.doumee.dao.dto.WxPhoneRequest; 
 | 
import com.doumee.dao.vo.AccountResponse; 
 | 
import com.doumee.dao.vo.UserCenterVO; 
 | 
import com.doumee.service.business.MemberService; 
 | 
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; 
 | 
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; 
 | 
import com.baomidou.mybatisplus.core.metadata.IPage; 
 | 
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; 
 | 
import com.github.binarywang.wxpay.service.WxPayService; 
 | 
import com.github.binarywang.wxpay.service.impl.WxPayServiceImpl; 
 | 
import io.swagger.annotations.ApiModelProperty; 
 | 
import me.chanjar.weixin.common.error.WxErrorException; 
 | 
import nonapi.io.github.classgraph.json.Id; 
 | 
import org.apache.commons.lang3.StringUtils; 
 | 
import org.springframework.beans.factory.annotation.Autowired; 
 | 
import org.springframework.data.redis.core.RedisTemplate; 
 | 
import org.springframework.stereotype.Service; 
 | 
import org.springframework.util.CollectionUtils; 
 | 
  
 | 
import javax.annotation.Resource; 
 | 
import java.util.Date; 
 | 
import java.util.List; 
 | 
import java.util.Objects; 
 | 
import java.util.Random; 
 | 
import java.util.concurrent.TimeUnit; 
 | 
import java.util.stream.Collectors; 
 | 
  
 | 
/** 
 | 
 * 会员信息表Service实现 
 | 
 * @author 江蹄蹄 
 | 
 * @date 2025/07/09 12:00 
 | 
 */ 
 | 
@Service 
 | 
public class MemberServiceImpl implements MemberService { 
 | 
  
 | 
    @Autowired 
 | 
    private MemberMapper memberMapper; 
 | 
  
 | 
    @Autowired 
 | 
    private IdentityInfoMapper identityInfoMapper; 
 | 
  
 | 
    @Autowired 
 | 
    private OrdersMapper ordersMapper; 
 | 
  
 | 
    @Autowired 
 | 
    private JwtTokenUtil jwtTokenUtil; 
 | 
  
 | 
    @Autowired 
 | 
    private SystemDictDataBiz systemDictDataBiz; 
 | 
  
 | 
    @Override 
 | 
    public Integer create(Member member) { 
 | 
        memberMapper.insert(member); 
 | 
        return member.getId(); 
 | 
    } 
 | 
  
 | 
    @Override 
 | 
    public void deleteById(Integer id) { 
 | 
        memberMapper.deleteById(id); 
 | 
    } 
 | 
  
 | 
    @Override 
 | 
    public void delete(Member member) { 
 | 
        UpdateWrapper<Member> deleteWrapper = new UpdateWrapper<>(member); 
 | 
        memberMapper.delete(deleteWrapper); 
 | 
    } 
 | 
  
 | 
    @Override 
 | 
    public void deleteByIdInBatch(List<Integer> ids) { 
 | 
        if (CollectionUtils.isEmpty(ids)) { 
 | 
            return; 
 | 
        } 
 | 
        memberMapper.deleteBatchIds(ids); 
 | 
    } 
 | 
  
 | 
    @Override 
 | 
    public void updateById(Member member) { 
 | 
        memberMapper.updateById(member); 
 | 
    } 
 | 
  
 | 
    @Override 
 | 
    public void updateByIdInBatch(List<Member> members) { 
 | 
        if (CollectionUtils.isEmpty(members)) { 
 | 
            return; 
 | 
        } 
 | 
        for (Member member: members) { 
 | 
            this.updateById(member); 
 | 
        } 
 | 
    } 
 | 
  
 | 
    @Override 
 | 
    public Member findById(Integer id) { 
 | 
        Member member = memberMapper.selectById(id); 
 | 
        if(Objects.isNull(member)){ 
 | 
            throw new BusinessException(ResponseStatus.DATA_EMPTY); 
 | 
        } 
 | 
        if(StringUtils.isNotBlank(member.getCoverImage())){ 
 | 
            String path  = systemDictDataBiz.queryByCode(Constants.SYSTEM,Constants.RESOURCE_PATH).getCode() 
 | 
                    +systemDictDataBiz.queryByCode(Constants.SYSTEM,Constants.MEMBER_FILES).getCode(); 
 | 
            member.setFullCoverImage(path + member.getCoverImage()); 
 | 
        } 
 | 
        return member; 
 | 
    } 
 | 
  
 | 
    @Override 
 | 
    public Member findOne(Member member) { 
 | 
        QueryWrapper<Member> wrapper = new QueryWrapper<>(member); 
 | 
        return memberMapper.selectOne(wrapper); 
 | 
    } 
 | 
  
 | 
    @Override 
 | 
    public List<Member> findList(Member member) { 
 | 
        QueryWrapper<Member> wrapper = new QueryWrapper<>(member); 
 | 
        return memberMapper.selectList(wrapper); 
 | 
    } 
 | 
   
 | 
    @Override 
 | 
    public PageData<Member> findPage(PageWrap<Member> pageWrap) { 
 | 
        IPage<Member> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity()); 
 | 
        QueryWrapper<Member> queryWrapper = new QueryWrapper<>(); 
 | 
        Utils.MP.blankToNull(pageWrap.getModel()); 
 | 
        pageWrap.getModel().setDeleted(Constants.ZERO); 
 | 
        if (pageWrap.getModel().getId() != null) { 
 | 
            queryWrapper.lambda().eq(Member::getId, pageWrap.getModel().getId()); 
 | 
        } 
 | 
        if (pageWrap.getModel().getDeleted() != null) { 
 | 
            queryWrapper.lambda().eq(Member::getDeleted, pageWrap.getModel().getDeleted()); 
 | 
        } 
 | 
        if (pageWrap.getModel().getCreateUser() != null) { 
 | 
            queryWrapper.lambda().eq(Member::getCreateUser, pageWrap.getModel().getCreateUser()); 
 | 
        } 
 | 
        if (pageWrap.getModel().getCreateTime() != null) { 
 | 
            queryWrapper.lambda().ge(Member::getCreateTime, Utils.Date.getStart(pageWrap.getModel().getCreateTime())); 
 | 
            queryWrapper.lambda().le(Member::getCreateTime, Utils.Date.getEnd(pageWrap.getModel().getCreateTime())); 
 | 
        } 
 | 
        if (pageWrap.getModel().getUpdateUser() != null) { 
 | 
            queryWrapper.lambda().eq(Member::getUpdateUser, pageWrap.getModel().getUpdateUser()); 
 | 
        } 
 | 
        if (pageWrap.getModel().getUpdateTime() != null) { 
 | 
            queryWrapper.lambda().ge(Member::getUpdateTime, Utils.Date.getStart(pageWrap.getModel().getUpdateTime())); 
 | 
            queryWrapper.lambda().le(Member::getUpdateTime, Utils.Date.getEnd(pageWrap.getModel().getUpdateTime())); 
 | 
        } 
 | 
        if (pageWrap.getModel().getRemark() != null) { 
 | 
            queryWrapper.lambda().eq(Member::getRemark, pageWrap.getModel().getRemark()); 
 | 
        } 
 | 
        if (pageWrap.getModel().getCoverImage() != null) { 
 | 
            queryWrapper.lambda().eq(Member::getCoverImage, pageWrap.getModel().getCoverImage()); 
 | 
        } 
 | 
        if (pageWrap.getModel().getOpenid() != null) { 
 | 
            queryWrapper.lambda().like(Member::getOpenid, pageWrap.getModel().getOpenid()); 
 | 
        } 
 | 
        if (pageWrap.getModel().getNickName() != null) { 
 | 
            queryWrapper.lambda().like(Member::getNickName, pageWrap.getModel().getNickName()); 
 | 
        } 
 | 
        if (pageWrap.getModel().getTelephone() != null) { 
 | 
            queryWrapper.lambda().like(Member::getTelephone, pageWrap.getModel().getTelephone()); 
 | 
        } 
 | 
        if (pageWrap.getModel().getName() != null) { 
 | 
            queryWrapper.lambda().like(Member::getName, pageWrap.getModel().getName()); 
 | 
        } 
 | 
        if (pageWrap.getModel().getWorkerIdentity() != null) { 
 | 
            queryWrapper.lambda().eq(Member::getWorkerIdentity, pageWrap.getModel().getWorkerIdentity()); 
 | 
        } 
 | 
        if (pageWrap.getModel().getDriverIdentity() != null) { 
 | 
            queryWrapper.lambda().eq(Member::getDriverIdentity, pageWrap.getModel().getDriverIdentity()); 
 | 
        } 
 | 
        if (pageWrap.getModel().getChefIdentity() != null) { 
 | 
            queryWrapper.lambda().eq(Member::getChefIdentity, pageWrap.getModel().getChefIdentity()); 
 | 
        } 
 | 
        if (pageWrap.getModel().getAmount() != null) { 
 | 
            queryWrapper.lambda().eq(Member::getAmount, pageWrap.getModel().getAmount()); 
 | 
        } 
 | 
        if (pageWrap.getModel().getTotalAmount() != null) { 
 | 
            queryWrapper.lambda().eq(Member::getTotalAmount, pageWrap.getModel().getTotalAmount()); 
 | 
        } 
 | 
        if (pageWrap.getModel().getStatus() != null) { 
 | 
            queryWrapper.lambda().eq(Member::getStatus, pageWrap.getModel().getStatus()); 
 | 
        } 
 | 
        if (pageWrap.getModel().getLoginTime() != null) { 
 | 
            queryWrapper.lambda().ge(Member::getLoginTime, Utils.Date.getStart(pageWrap.getModel().getLoginTime())); 
 | 
            queryWrapper.lambda().le(Member::getLoginTime, Utils.Date.getEnd(pageWrap.getModel().getLoginTime())); 
 | 
        } 
 | 
        if (pageWrap.getModel().getLoginTimes() != null) { 
 | 
            queryWrapper.lambda().eq(Member::getLoginTimes, pageWrap.getModel().getLoginTimes()); 
 | 
        } 
 | 
        if (pageWrap.getModel().getPublishNum() != null) { 
 | 
            queryWrapper.lambda().eq(Member::getPublishNum, pageWrap.getModel().getPublishNum()); 
 | 
        } 
 | 
        if (pageWrap.getModel().getScore() != null) { 
 | 
            queryWrapper.lambda().eq(Member::getScore, pageWrap.getModel().getScore()); 
 | 
        } 
 | 
        if (pageWrap.getModel().getLat() != null) { 
 | 
            queryWrapper.lambda().eq(Member::getLat, pageWrap.getModel().getLat()); 
 | 
        } 
 | 
        if (pageWrap.getModel().getLgt() != null) { 
 | 
            queryWrapper.lambda().eq(Member::getLgt, pageWrap.getModel().getLgt()); 
 | 
        } 
 | 
        if (pageWrap.getModel().getProvince() != null) { 
 | 
            queryWrapper.lambda().eq(Member::getProvince, pageWrap.getModel().getProvince()); 
 | 
        } 
 | 
        if (pageWrap.getModel().getCity() != null) { 
 | 
            queryWrapper.lambda().eq(Member::getCity, pageWrap.getModel().getCity()); 
 | 
        } 
 | 
        if (pageWrap.getModel().getArea() != null) { 
 | 
            queryWrapper.lambda().eq(Member::getArea, pageWrap.getModel().getArea()); 
 | 
        } 
 | 
        //如果查询接单方 
 | 
        queryWrapper.lambda().and(Constants.equalsInteger(pageWrap.getModel().getType(),Constants.ONE ),w1->{ 
 | 
            w1.eq(Member::getWorkerIdentity,Constants.TWO ) 
 | 
                    .or().eq(Member::getChefIdentity,Constants.TWO ) 
 | 
                    .or().eq(Member::getDriverIdentity,Constants.TWO ); 
 | 
        }); 
 | 
        queryWrapper.lambda().ge(pageWrap.getModel().getStartTime()!=null, Member::getCreateTime,pageWrap.getModel().getStartTime()); 
 | 
        queryWrapper.lambda().le(pageWrap.getModel().getEndTime()!=null,Member::getCreateTime,pageWrap.getModel().getEndTime()); 
 | 
  
 | 
        for(PageWrap.SortData sortData: pageWrap.getSorts()) { 
 | 
            if (sortData.getDirection().equalsIgnoreCase(PageWrap.DESC)) { 
 | 
                queryWrapper.orderByDesc(sortData.getProperty()); 
 | 
            } else { 
 | 
                queryWrapper.orderByAsc(sortData.getProperty()); 
 | 
            } 
 | 
        } 
 | 
        return PageData.from(memberMapper.selectPage(page, queryWrapper)); 
 | 
    } 
 | 
  
 | 
    @Override 
 | 
    public long count(Member member) { 
 | 
        QueryWrapper<Member> wrapper = new QueryWrapper<>(member); 
 | 
        return memberMapper.selectCount(wrapper); 
 | 
    } 
 | 
  
 | 
  
 | 
    /***************小程序接口*************/ 
 | 
  
 | 
    /** 
 | 
     * 微信小程序登录 
 | 
     * @param code 
 | 
     * @return 
 | 
     */ 
 | 
    @Override 
 | 
    public AccountResponse wxLogin(String code) { 
 | 
        if(StringUtils.isBlank(code)){ 
 | 
            throw new BusinessException(ResponseStatus.BAD_REQUEST); 
 | 
        } 
 | 
        try { 
 | 
            //获取微信敏感数据 
 | 
            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失败!请联系管理员"); 
 | 
            } 
 | 
            Member member = memberMapper.selectOne(new QueryWrapper<Member>().eq("openid", openId).eq("DELETED", Constants.ZERO).last("limit 1")); 
 | 
            AccountResponse accountResponse = new AccountResponse(); 
 | 
            accountResponse.setOpenid(openId); 
 | 
            if(Objects.isNull(member)){ 
 | 
                return accountResponse; 
 | 
            } 
 | 
            accountResponse.setToken(jwtTokenUtil.generateToken(member)); 
 | 
            accountResponse.setMember(member); 
 | 
            return accountResponse; 
 | 
        } catch (WxErrorException e) { 
 | 
            throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(), "微信登录异常!请联系管理员"); 
 | 
        } 
 | 
    } 
 | 
  
 | 
  
 | 
  
 | 
  
 | 
    @Override 
 | 
    public AccountResponse wxAuthPhone(WxPhoneRequest wxPhoneRequest) { 
 | 
        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")); 
 | 
            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("1.png"); 
 | 
                member.setWorkerIdentity(Constants.ZERO); 
 | 
                member.setDriverIdentity(Constants.ZERO); 
 | 
                member.setChefIdentity(Constants.ZERO); 
 | 
                member.setAmount(Constants.ZERO.longValue()); 
 | 
                member.setTotalAmount(Constants.ZERO.longValue()); 
 | 
                member.setStatus(Constants.ZERO); 
 | 
                member.setLoginTime(new Date()); 
 | 
                member.setLoginTimes(Constants.ONE.longValue()); 
 | 
                member.setReceiveNum(Constants.ZERO.longValue()); 
 | 
                member.setPublishNum(Constants.ZERO.longValue()); 
 | 
                member.setAutoReceiveStatus(Constants.ONE); 
 | 
                member.setUseIdentity(Constants.ZERO); 
 | 
                memberMapper.insert(member); 
 | 
            } 
 | 
            AccountResponse accountResponse = new AccountResponse(); 
 | 
            accountResponse.setToken(jwtTokenUtil.generateToken(member)); 
 | 
            accountResponse.setMember(member); 
 | 
            return accountResponse; 
 | 
        } catch (Exception e) { 
 | 
            e.printStackTrace(); 
 | 
            throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"未解析到手机号"); 
 | 
        } 
 | 
    } 
 | 
  
 | 
  
 | 
  
 | 
    @Override 
 | 
    public void editMemberInfo(Member member){ 
 | 
        if(Objects.isNull(member) 
 | 
            || ( StringUtils.isBlank(member.getCoverImage()) 
 | 
                && StringUtils.isBlank(member.getName()) 
 | 
                && StringUtils.isBlank(member.getNickName()) 
 | 
                && Objects.isNull(member.getAutoReceiveStatus()) )){ 
 | 
            throw new BusinessException(ResponseStatus.BAD_REQUEST); 
 | 
        } 
 | 
        memberMapper.update(new UpdateWrapper<Member>().lambda() 
 | 
                .set(StringUtils.isNotBlank(member.getNickName()),Member::getNickName,member.getNickName()) 
 | 
                .set(StringUtils.isNotBlank(member.getName()),Member::getName,member.getName()) 
 | 
                .set(StringUtils.isNotBlank(member.getCoverImage()),Member::getCoverImage,member.getCoverImage()) 
 | 
                .set(Objects.nonNull(member.getAutoReceiveStatus()),Member::getAutoReceiveStatus,member.getAutoReceiveStatus()) 
 | 
                        .set(Member::getUpdateTime,new Date()) 
 | 
                .eq(Member::getId,member.getId())); 
 | 
    } 
 | 
  
 | 
  
 | 
    @Override 
 | 
    public void editUseIdentity(Member member){ 
 | 
        if(Objects.isNull(member) 
 | 
                || Objects.isNull(member.getUseIdentity())){ 
 | 
            throw new BusinessException(ResponseStatus.BAD_REQUEST); 
 | 
        } 
 | 
        if(Constants.equalsInteger(member.getUseIdentity(),Constants.ZERO)){ 
 | 
            member.setUseIdentity(Constants.ZERO); 
 | 
            memberMapper.update(new UpdateWrapper<Member>().lambda().set(Member::getUseIdentity,Constants.ZERO).eq(Member::getId,member.getId())); 
 | 
        }else{ 
 | 
            if(identityInfoMapper.selectCount(new QueryWrapper<IdentityInfo>().lambda().eq(IdentityInfo::getDeleted,Constants.ZERO) 
 | 
                    .eq(IdentityInfo::getMemberId,member.getId()) 
 | 
                    .eq(IdentityInfo::getAuditStatus,Constants.TWO))>Constants.ZERO){ 
 | 
                memberMapper.update(new UpdateWrapper<Member>().lambda().set(Member::getUseIdentity,Constants.ONE).eq(Member::getId,member.getId())); 
 | 
            }else{ 
 | 
                throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"当前无可用接单身份!"); 
 | 
            } 
 | 
        } 
 | 
    } 
 | 
  
 | 
  
 | 
    @Override 
 | 
    public Member getMemberInfo(Integer memberId){ 
 | 
        Member member  = this.findById(memberId); 
 | 
        if(Objects.isNull(member)){ 
 | 
            throw new BusinessException(ResponseStatus.DATA_EMPTY); 
 | 
        } 
 | 
        if(StringUtils.isNotBlank(member.getCoverImage())){ 
 | 
            String path  = systemDictDataBiz.queryByCode(Constants.SYSTEM,Constants.RESOURCE_PATH).getCode() 
 | 
                    +systemDictDataBiz.queryByCode(Constants.SYSTEM,Constants.MEMBER_FILES).getCode(); 
 | 
            member.setFullCoverImage(path + member.getCoverImage()); 
 | 
        } 
 | 
        UserCenterVO userCenterVO = new UserCenterVO(); 
 | 
        userCenterVO.setReleaseTaskTotal(Constants.ZERO); 
 | 
        userCenterVO.setWaitReceiveTotal(Constants.ZERO); 
 | 
        userCenterVO.setDoingTotal(Constants.ZERO); 
 | 
        userCenterVO.setWaitCommentTotal(Constants.ZERO); 
 | 
        userCenterVO.setTaskingTotal(Constants.ZERO); 
 | 
        userCenterVO.setDoneTotal(Constants.ZERO); 
 | 
        userCenterVO.setReceiveTotal(Constants.ZERO); 
 | 
        List<Orders> releaseOrders = ordersMapper.selectList(new QueryWrapper<Orders>().lambda().eq(Orders::getDeleted,Constants.ZERO).eq(Orders::getReleaseMemberId,member.getId())); 
 | 
        if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(releaseOrders)){ 
 | 
            userCenterVO.setReleaseTaskTotal(releaseOrders.size()); 
 | 
            userCenterVO.setWaitCommentTotal(releaseOrders.stream().filter(i->Constants.equalsInteger(i.getStatus(),Constants.ordersStatus.waitPay.getKey())).collect(Collectors.toList()).size()); 
 | 
            userCenterVO.setDoingTotal(releaseOrders.stream().filter(i->Constants.equalsInteger(i.getStatus(),Constants.ordersStatus.accept.getKey())).collect(Collectors.toList()).size()); 
 | 
            userCenterVO.setWaitCommentTotal(releaseOrders.stream().filter(i->Constants.equalsInteger(i.getStatus(),Constants.ordersStatus.doing.getKey())&&Constants.equalsInteger(i.getCommentStatus(),Constants.ZERO)).collect(Collectors.toList()).size()); 
 | 
        } 
 | 
        List<Orders> acceptOrders = ordersMapper.selectList(new QueryWrapper<Orders>().lambda().eq(Orders::getDeleted,Constants.ZERO).eq(Orders::getAcceptMemberId,member.getId())); 
 | 
        if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(acceptOrders)){ 
 | 
            userCenterVO.setReceiveTotal(acceptOrders.size()); 
 | 
            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()); 
 | 
        } 
 | 
        member.setUserCenterVO(userCenterVO); 
 | 
        return member; 
 | 
    } 
 | 
  
 | 
  
 | 
  
 | 
  
 | 
    @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; 
 | 
    } 
 | 
  
 | 
    @Override 
 | 
    public void logOff(String token,Integer memberId){ 
 | 
        memberMapper.update(new UpdateWrapper<Member>().lambda().setSql(" openid = null ").eq(Member::getId,memberId)); 
 | 
        jwtTokenUtil.logoutForH5(token); 
 | 
    } 
 | 
  
 | 
  
 | 
  
 | 
} 
 |