| | |
| | | @Autowired |
| | | private CouponMapper couponMapper; |
| | | @Autowired |
| | | private MemberCouponMapper memberCouponMapper; |
| | | @Autowired |
| | | private MemberCouponJoinMapper memberCouponJoinMapper; |
| | | @Autowired |
| | | private IntegralMapper integralMapper; |
| | |
| | | |
| | | |
| | | @Override |
| | | public AccountResponse wxLogin(String code){ |
| | | try { |
| | | //获取微信敏感数据 |
| | | WxMaJscode2SessionResult session = WxMiniConfig.wxMaService.getUserService().getSessionInfo(code); |
| | | String openId = session.getOpenid(); |
| | | if (com.baomidou.mybatisplus.core.toolkit.StringUtils.isBlank(openId)) { |
| | | throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"获取openid失败!请联系管理员"); |
| | | } |
| | | Member member = memberMapper.selectOne(new QueryWrapper<Member>().lambda().eq(Member::getOpenId, openId) |
| | | .eq(Member::getIsdeleted,Constants.ZERO).eq(Member::getStatus,Constants.ZERO) |
| | | .last(" limit 1")); |
| | | AccountResponse accountResponse = new AccountResponse(); |
| | | if(Objects.nonNull(member)){ |
| | | memberMapper.updateById(member); |
| | | member.setImgFullUrl(StringUtils.isNotBlank(member.getImgurl())?systemDictDataBiz.queryByCode(Constants.OSS,Constants.RESOURCE_PATH).getCode()+ |
| | | systemDictDataBiz.queryByCode(Constants.OSS,Constants.MEMBER_FILE).getCode()+member.getImgurl():null); |
| | | String token = JwtTokenUtil.generateTokenForRedis(member.getId(), Constants.ZERO, JSONObject.toJSONString(member), redisTemplate); |
| | | accountResponse.setToken(token); |
| | | accountResponse.setOpenid(openId); |
| | | accountResponse.setMember(member); |
| | | }else{ |
| | | accountResponse.setOpenid(openId); |
| | | } |
| | | return accountResponse; |
| | | } catch (WxErrorException e) { |
| | | e.printStackTrace(); |
| | | public AccountResponse wxLogin(String code) throws WxErrorException { |
| | | WxMaJscode2SessionResult session = WxMiniConfig.wxMaService.getUserService().getSessionInfo(code); |
| | | String openId = session.getOpenid(); |
| | | if (com.baomidou.mybatisplus.core.toolkit.StringUtils.isBlank(openId)) { |
| | | throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"获取openid失败!请联系管理员"); |
| | | } |
| | | throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"微信登录异常!请联系管理员"); |
| | | Member member = memberMapper.selectOne(new QueryWrapper<Member>().lambda() |
| | | .eq(Member::getOpenId, openId) |
| | | .eq(Member::getIsdeleted,Constants.ZERO) |
| | | .eq(Member::getStatus,Constants.ZERO) |
| | | .last(" limit 1")); |
| | | |
| | | AccountResponse accountResponse = new AccountResponse(); |
| | | if(Objects.nonNull(member)){ |
| | | String ossPath = systemDictDataBiz.queryByCode(Constants.OSS,Constants.RESOURCE_PATH).getCode(); |
| | | String memberPath = systemDictDataBiz.queryByCode(Constants.OSS,Constants.MEMBER_FILE).getCode(); |
| | | if(StringUtils.isNotBlank(member.getImgurl())){ |
| | | member.setImgFullUrl(ossPath + memberPath + member.getImgurl()); |
| | | } |
| | | String token = JwtTokenUtil.generateTokenForRedis(member.getId(), Constants.ZERO, JSONObject.toJSONString(member), redisTemplate); |
| | | accountResponse.setToken(token); |
| | | accountResponse.setOpenid(openId); |
| | | accountResponse.setMember(member); |
| | | }else{ |
| | | accountResponse.setOpenid(openId); |
| | | } |
| | | return accountResponse; |
| | | } |
| | | |
| | | |
| | |
| | | if(Objects.isNull(coupon)||Constants.equalsInteger(coupon.getIsdeleted(),Constants.ONE)&&num>Constants.ZERO){ |
| | | continue; |
| | | } |
| | | if(coupon.getNum()>Constants.ZERO) { |
| | | //查询已领取数量 |
| | | Integer getNum = memberCouponMapper.selectCount(new QueryWrapper<MemberCoupon>().lambda() |
| | | .eq(MemberCoupon::getIsdeleted, Constants.ZERO) |
| | | .eq(MemberCoupon::getCouponId, couponId) |
| | | .ne(MemberCoupon::getGetMethod, Constants.TWO) |
| | | ).intValue(); |
| | | if (getNum >= coupon.getNum()) { |
| | | continue; |
| | | } |
| | | if (num > (coupon.getNum() - getNum)) { |
| | | num = coupon.getNum().intValue() - getNum; |
| | | } |
| | | } |
| | | MemberCoupon memberCoupon = MemberCoupon.couponToBean(coupon,member,new Date(),Constants.ZERO,null); |
| | | for (int i = 0; i < num; i++) { |
| | | //满减卷不会生成maxPrice 需要根据优惠券减少金额设置 |
| | |
| | | //赠送邀请积分 |
| | | //开启邀请注册送积分 |
| | | if(Constants.equalsInteger(platformConfigDTO.getShareIntegralRewardStatus(),Constants.ZERO)){ |
| | | member = memberMapper.selectById(member.getRecId()); |
| | | if(Objects.isNull(member)){ |
| | | return; |
| | | } |
| | | DealIntegralRequest dealIntegralRequest = new DealIntegralRequest(); |
| | | dealIntegralRequest.setIntegralNum(platformConfigDTO.getShareIntegralReward()); |
| | | dealIntegralRequest.setDealType(Constants.ZERO); |
| | |
| | | dealIntegralRequest.setIntegralObjType(Constants.IntegralObjType.INVITENEWUSER); |
| | | dealIntegralRequest.setParam1(member.getNickname()); |
| | | integralService.dealIntegral(dealIntegralRequest,member); |
| | | //添加消息记录 |
| | | |
| | | } |
| | | } |
| | | |
| | |
| | | } |
| | | this.verifyPhoneCode(request.getCode(),request.getPhone()); |
| | | memberMapper.update(new UpdateWrapper<Member>().lambda() |
| | | .eq(Member::getPhone,request.getPhone()) |
| | | .set(Member::getPhone,request.getPhone()) |
| | | .eq(Member::getId,request.getMemberId()) |
| | | ); |
| | | } |