jiangqs
2023-05-09 3d6f2cd1483c5e85a3f2eeb2edd89c088d1d5c6b
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/member/MemberServiceImpl.java
@@ -8,31 +8,40 @@
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.core.exception.ServiceException;
import com.ruoyi.common.core.utils.bean.BeanUtils;
import com.ruoyi.common.core.utils.uuid.IdUtils;
import com.ruoyi.common.security.utils.SecurityUtils;
import com.ruoyi.member.domain.dto.AppUserAuthorizeDto;
import com.ruoyi.member.domain.dto.MerCashMemberPageDto;
import com.ruoyi.member.domain.dto.MerMemberPageDto;
import com.ruoyi.member.domain.dto.MerMemberTagEditDto;
import com.ruoyi.member.domain.pojo.member.MemberNurse;
import com.ruoyi.member.domain.vo.*;
import com.ruoyi.member.mapper.member.MemberMapper;
import com.ruoyi.member.service.member.MemberNurseService;
import com.ruoyi.member.service.member.MemberService;
import com.ruoyi.member.util.HttpUtils;
import com.ruoyi.system.api.RemoteConfigService;
import com.ruoyi.system.api.RemoteOrderService;
import com.ruoyi.system.api.RemoteShopService;
import com.ruoyi.system.api.RemoteUserService;
import com.ruoyi.system.api.constant.AppErrorConstant;
import com.ruoyi.system.api.constant.SecurityConstant;
import com.ruoyi.system.api.domain.dto.AppEditUserDto;
import com.ruoyi.system.api.domain.dto.AppMemberBindingDto;
import com.ruoyi.system.api.domain.poji.config.SysTag;
import com.ruoyi.system.api.domain.poji.member.Member;
import com.ruoyi.system.api.domain.poji.shop.Shop;
import com.ruoyi.system.api.domain.poji.sys.SysUser;
import com.ruoyi.system.api.domain.vo.AppOrderTotalVo;
import com.ruoyi.system.api.domain.vo.MerHomeShopTotalVo;
import com.ruoyi.system.api.model.AppMiniLoginDto;
import com.ruoyi.system.api.model.AppMiniLoginVo;
import lombok.extern.log4j.Log4j;
import lombok.extern.log4j.Log4j2;
import lombok.val;
import com.ruoyi.common.core.utils.StringUtils;
import org.apache.commons.lang3.ArrayUtils;
import org.apache.http.HttpResponse;
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpGet;
@@ -43,6 +52,7 @@
import javax.annotation.Resource;
import java.util.*;
import java.util.concurrent.TimeUnit;
import java.util.stream.Collectors;
/**
 * <p>
@@ -80,6 +90,12 @@
    @Resource
    private RemoteOrderService orderService;
    @Resource
    private MemberNurseService memberNurseService;
    @Resource
    private RemoteConfigService remoteConfigService;
    /**
     * @description: TODO
@@ -126,7 +142,8 @@
                sysUser = new SysUser();
                sysUser.setUserName(memberId);
                sysUser.setUserType("03");
                sysUser.setNickName("微信用户");
                sysUser.setNickName("鸿瑞堂用户");
                sysUser.setAvatar("https://hongruitang.oss-cn-beijing.aliyuncs.com/default.png");
                String password = "hongruitang";
                sysUser.setPassword(SecurityUtils.encryptPassword(password));
                sysUser = sysUserService.registerUser(sysUser).getData();
@@ -134,9 +151,12 @@
                member = new Member();
                member.setUserId(sysUser.getUserId());
                member.setDelFlag(0);
                member.setNickName("鸿瑞堂用户");
                member.setAvatar("https://hongruitang.oss-cn-beijing.aliyuncs.com/default.png");
                member.setMemberId(memberId);
                member.setWxUnionid(unionid);
                member.setMiniOpenid(openid);
                member.setBindingFlag(0);
                member.setCreateTime(new Date());
                this.save(member);
@@ -220,7 +240,7 @@
        sysUser.setPhonenumber(mobile);
        sysUserService.updateUserMobile(sysUser);
        member.setMobile(mobile);
        member.setRealName(sysUser.getNickName());
        member.setNickName(sysUser.getNickName());
        this.saveOrUpdate(member);
        appUserAuthorizeVo.setMobile(mobile);
        appUserAuthorizeVo.setNickName(sysUser.getNickName());
@@ -291,7 +311,7 @@
        Member member = this.getByUserId(appEditUserDto.getUserId());
        switch (editType){
            case 1:
                member.setRealName(editValue);
                member.setNickName(editValue);
                member.setUpdateTime(new Date());
                member.setUpdateUserId(appEditUserDto.getUserId());
                this.saveOrUpdate(member);
@@ -337,12 +357,12 @@
    @Override
    public MerMemberInfoVo getMerMemberInfo(Long userId){
        MerMemberInfoVo merMemberInfoVo = new MerMemberInfoVo();
        SysUser sysUser = sysUserService.getSysUser(userId).getData();
        Member member = this.getByUserId(userId);
        merMemberInfoVo.setUserId(userId);
        merMemberInfoVo.setNickName(sysUser.getNickName());
        merMemberInfoVo.setPhonenumber(sysUser.getPhonenumber());
        merMemberInfoVo.setAvatar(sysUser.getAvatar());
        merMemberInfoVo.setNickName(member.getNickName());
        merMemberInfoVo.setPhonenumber(member.getMobile());
        merMemberInfoVo.setAvatar(member.getAvatar());
        merMemberInfoVo.setBirthday(member.getBirthday());
        //未完成
        return merMemberInfoVo;
@@ -360,4 +380,79 @@
        List<MerCashMemberPageVo> merCashMemberPageVos = memberMapper.pageMerCashMember(page,merCashMemberPageDto);
        return merCashMemberPageVos;
    }
    /**
     *
     * @param appMemberBindingDto
     */
    @Override
    public void updateMemberBinding(AppMemberBindingDto appMemberBindingDto){
        Member member = this.getByUserId(appMemberBindingDto.getUserId());
        member.setBindingFlag(appMemberBindingDto.getBindingFlag());
        member.setRelationShopId(appMemberBindingDto.getShopId());
        this.saveOrUpdate(member);
    }
    /**
     *
     * @param userId
     * @return
     */
    @Override
    public MerMemberBasicFileVo getMerMemberBasicFile(Long userId){
        MerMemberBasicFileVo merMemberBasicFileVo = new MerMemberBasicFileVo();
        Member member = this.getByUserId(userId);
        BeanUtils.copyProperties(member, merMemberBasicFileVo);
        merMemberBasicFileVo.setNickName(member.getNickName());
        merMemberBasicFileVo.setPhonenumber(member.getMobile());
        merMemberBasicFileVo.setCreateTime(member.getCreateTime());
        List<MemberNurse> memberNurseList = memberNurseService.listByUserId(userId);
        List<String> valueList = memberNurseList.stream().map(k->k.getNurse()).collect(Collectors.toList());
        merMemberBasicFileVo.setMemberNurse(valueList);
        return merMemberBasicFileVo;
    }
    /**
     *
     * @param userId
     * @return
     */
    @Override
    public List<MerMemberTagVo> getMerMemberTags(Long userId){
        Member member = this.getByUserId(userId);
        String userTags = member.getUserTags();
        String[] userTagsArr = null;
        if(StringUtils.isNotBlank(userTags)){
            userTagsArr = userTags.split(",");
        }
        List<SysTag> sysTagsList = remoteConfigService.listSysTag(1).getData();
        List<MerMemberTagVo> merMemberTagVoList = new ArrayList<>();
        MerMemberTagVo merMemberTagVo;
        String tagName;
        if(sysTagsList!=null&&!sysTagsList.isEmpty()){
            for(SysTag sysTag : sysTagsList){
                merMemberTagVo = new MerMemberTagVo();
                tagName = sysTag.getTagName();
                merMemberTagVo.setTagName(tagName);
                if(userTagsArr!=null &&  ArrayUtils.contains(userTagsArr, tagName)){
                    merMemberTagVo.setSelectFlag(1);
                }else{
                    merMemberTagVo.setSelectFlag(0);
                }
                merMemberTagVoList.add(merMemberTagVo);
            }
        }
        return merMemberTagVoList;
    }
    /**
     *
     * @param merMemberTagEditDto
     */
    @Override
    public void editMerMemberTags(MerMemberTagEditDto merMemberTagEditDto){
        Member member = this.getByUserId(merMemberTagEditDto.getMemberUserId());
        member.setUserTags(merMemberTagEditDto.getUserTags());
        this.saveOrUpdate(member);
    }
}