jiangqs
2023-05-03 3bba8ccaea4c0ff7ad5a7acb056d554c42b2eca2
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/member/MemberServiceImpl.java
@@ -5,16 +5,23 @@
import cn.binarywang.wx.miniapp.bean.WxMaPhoneNumberInfo;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.common.core.exception.ServiceException;
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.vo.AppUserAuthorizeVo;
import com.ruoyi.member.domain.vo.AppUserInfoVo;
import com.ruoyi.member.mapper.member.MemberMapper;
import com.ruoyi.member.service.member.MemberService;
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.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.model.AppMiniLoginDto;
import com.ruoyi.system.api.model.AppMiniLoginVo;
import org.apache.commons.lang3.StringUtils;
@@ -47,6 +54,12 @@
    @Resource
    private StringRedisTemplate stringRedisTemplate;
    @Resource
    private RemoteShopService shopService;
    @Resource
    private RemoteOrderService orderService;
    /**
     * @description: TODO
@@ -89,9 +102,10 @@
            SysUser sysUser;
            if(member==null){
                //创建新用户
                String memberId = UUID.randomUUID().toString();
                String memberId = IdUtils.simpleUUID();
                sysUser = new SysUser();
                sysUser.setUserName(memberId);
                sysUser.setUserType("03");
                sysUser.setNickName("微信用户");
                String password = "hongruitang";
                sysUser.setPassword(SecurityUtils.encryptPassword(password));
@@ -163,5 +177,62 @@
        return appUserAuthorizeVo;
    }
    /**
     * 获取用户信息
     * @param userId
     * @return
     */
    @Override
    public AppUserInfoVo getAppUserInfo(Long userId){
        AppUserInfoVo appUserInfoVo = new AppUserInfoVo();
        SysUser sysUser = sysUserService.getSysUser(userId).getData();
        Member member = this.getByUserId(userId);
        appUserInfoVo.setUserId(userId);
        appUserInfoVo.setMemberNo(member.getMemberNo());
        appUserInfoVo.setNickName(sysUser.getNickName());
        appUserInfoVo.setPhonenumber(sysUser.getPhonenumber());
        if(member.getRelationShopId()!=null){
            Shop shop = shopService.getShop(member.getRelationShopId()).getData();
            appUserInfoVo.setShopName(shop.getShopName());
        }
        appUserInfoVo.setBirthday(member.getBirthday());
        appUserInfoVo.setGender(member.getGender());
        appUserInfoVo.setAvatar(sysUser.getAvatar());
        AppOrderTotalVo appOrderTotalVo = orderService.getAppOrderTotal(userId).getData();
        appUserInfoVo.setNoPayCount(appOrderTotalVo.getNoPayCount());
        appUserInfoVo.setNoUseCount(appOrderTotalVo.getNoUseCount());
        return appUserInfoVo;
    }
    /**
     * 修改用户信息
     * @param appEditUserDto
     */
    @Override
    public void editAppUserInfo(AppEditUserDto appEditUserDto){
        //修改类型1.昵称2.头像3.性别4.生日
        Integer editType = appEditUserDto.getEditType();
        String editValue = appEditUserDto.getEditValue();
        Member member = this.getByUserId(appEditUserDto.getUserId());
        switch (editType){
            case 1:
                break;
            case 2:
                break;
            case 3:
                member.setGender(Integer.valueOf(editValue));
                member.setUpdateTime(new Date());
                member.setUpdateUserId(appEditUserDto.getUserId());
                this.saveOrUpdate(member);
                break;
            case 4:
                member.setBirthday(editValue);
                member.setUpdateTime(new Date());
                member.setUpdateUserId(appEditUserDto.getUserId());
                this.saveOrUpdate(member);
                break;
            default:
                break;
        }
    }
}