| | |
| | | import cn.binarywang.wx.miniapp.api.WxMaService; |
| | | import cn.binarywang.wx.miniapp.bean.WxMaJscode2SessionResult; |
| | | import cn.binarywang.wx.miniapp.bean.WxMaPhoneNumberInfo; |
| | | import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
| | | 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.dto.MerMemberPageDto; |
| | | import com.ruoyi.member.domain.vo.AppUserAuthorizeVo; |
| | | import com.ruoyi.member.domain.vo.AppUserInfoVo; |
| | | import com.ruoyi.member.domain.vo.MerMemberPageVo; |
| | | 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; |
| | |
| | | |
| | | import javax.annotation.Resource; |
| | | import java.util.Date; |
| | | import java.util.List; |
| | | import java.util.UUID; |
| | | |
| | | /** |
| | |
| | | |
| | | @Resource |
| | | private StringRedisTemplate stringRedisTemplate; |
| | | |
| | | @Resource |
| | | private RemoteShopService shopService; |
| | | |
| | | @Resource |
| | | private RemoteOrderService orderService; |
| | | |
| | | /** |
| | | * @description: TODO |
| | |
| | | String sessionKey = null; |
| | | //获取session |
| | | try { |
| | | session = wxMaService.getUserService().getSessionInfo(appMiniLoginDto.getCode()); |
| | | //session = wxMaService.getUserService().getSessionInfo(appMiniLoginDto.getCode()); |
| | | } catch (Exception e) { |
| | | e.printStackTrace(); |
| | | return null; |
| | | } |
| | | if(session!=null&& StringUtils.isNotBlank(session.getOpenid())){ |
| | | unionid = session.getUnionid(); |
| | | openid = session.getOpenid(); |
| | | sessionKey = session.getSessionKey(); |
| | | //if(session!=null&& StringUtils.isNotBlank(session.getOpenid())){ |
| | | //unionid = session.getUnionid(); |
| | | //openid = session.getOpenid(); |
| | | //sessionKey = session.getSessionKey(); |
| | | //获取用户 |
| | | Member member = memberMapper.getOneByMiniOpenid(openid); |
| | | SysUser sysUser; |
| | | //Member member = memberMapper.getOneByMiniOpenid(openid); |
| | | Member member = this.getByUserId(1L); |
| | | 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)); |
| | |
| | | member.setUserId(sysUser.getUserId()); |
| | | member.setDelFlag(0); |
| | | member.setMemberId(memberId); |
| | | member.setWxUnionid(unionid); |
| | | member.setMiniOpenid(openid); |
| | | //member.setWxUnionid(unionid); |
| | | //member.setMiniOpenid(openid); |
| | | member.setCreateTime(new Date()); |
| | | this.save(member); |
| | | }else{ |
| | | sysUser = sysUserService.getSysUser(member.getUserId()).getData(); |
| | | } |
| | | appMiniLoginVo.setMiniOpenid(openid); |
| | | appMiniLoginVo.setWxUnionid(unionid); |
| | | //appMiniLoginVo.setMiniOpenid(openid); |
| | | //appMiniLoginVo.setWxUnionid(unionid); |
| | | appMiniLoginVo.setSysUser(sysUser); |
| | | appMiniLoginVo.setSessionKey(sessionKey); |
| | | //appMiniLoginVo.setSessionKey(sessionKey); |
| | | //sessionKey |
| | | stringRedisTemplate.opsForValue().set(SecurityConstant.SESSION_KEY+openid,sessionKey); |
| | | }else{ |
| | | //stringRedisTemplate.opsForValue().set(SecurityConstant.SESSION_KEY+openid,sessionKey); |
| | | /*}else{ |
| | | return null; |
| | | } |
| | | }*/ |
| | | return appMiniLoginVo; |
| | | } |
| | | |
| | |
| | | sysUser.setPhonenumber(mobile); |
| | | sysUserService.updateUserMobile(sysUser); |
| | | member.setMobile(mobile); |
| | | member.setRealName(sysUser.getNickName()); |
| | | this.saveOrUpdate(member); |
| | | appUserAuthorizeVo.setMobile(mobile); |
| | | appUserAuthorizeVo.setNickName(sysUser.getNickName()); |
| | |
| | | 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: |
| | | member.setRealName(editValue); |
| | | member.setUpdateTime(new Date()); |
| | | member.setUpdateUserId(appEditUserDto.getUserId()); |
| | | this.saveOrUpdate(member); |
| | | 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; |
| | | } |
| | | sysUserService.editUserInfo(appEditUserDto); |
| | | } |
| | | |
| | | /** |
| | | * 分页获取会员信息 |
| | | * @param merMemberPageDto |
| | | * @return |
| | | */ |
| | | @Override |
| | | public List<MerMemberPageVo> pageMerMember(Page page, MerMemberPageDto merMemberPageDto){ |
| | | List<MerMemberPageVo> merMemberPageVoList = memberMapper.pageMerMember(page,merMemberPageDto); |
| | | return merMemberPageVoList; |
| | | } |
| | | } |