| | |
| | | import cn.binarywang.wx.miniapp.bean.WxMaJscode2SessionResult; |
| | | import com.alibaba.fastjson.JSONObject; |
| | | import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
| | | import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; |
| | | import com.baomidou.mybatisplus.core.toolkit.Wrappers; |
| | | import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
| | | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
| | |
| | | import com.ruoyi.member.domain.pojo.member.MemberTotal; |
| | | import com.ruoyi.member.domain.vo.*; |
| | | import com.ruoyi.member.mapper.member.MemberMapper; |
| | | import com.ruoyi.member.service.member.*; |
| | | import com.ruoyi.member.service.member.IntegralRecordService; |
| | | import com.ruoyi.member.service.member.MemberArchiveService; |
| | | import com.ruoyi.member.service.member.MemberService; |
| | | import com.ruoyi.member.service.member.MemberTotalService; |
| | | import com.ruoyi.member.util.HttpUtils; |
| | | import com.ruoyi.system.api.constant.AppErrorConstant; |
| | | import com.ruoyi.system.api.constant.SecurityConstant; |
| | |
| | | |
| | | import javax.annotation.Resource; |
| | | import java.math.BigDecimal; |
| | | import java.time.LocalDate; |
| | | import java.time.format.DateTimeFormatter; |
| | | import java.util.*; |
| | | import java.util.concurrent.TimeUnit; |
| | | import java.util.stream.Collectors; |
| | |
| | | String errcode = jsonUserPhoneNumber.getString("errcode"); |
| | | String errmsg = jsonUserPhoneNumber.getString("errmsg"); |
| | | if (!"0".equals(errcode)) { |
| | | throw new ServiceException(errmsg); |
| | | //因为生产测试差异,临时更新token |
| | | redisService.deleteObject(SecurityConstant.WX_TOKEN); |
| | | String responseAccessToken = getAccessTokenByWX(); |
| | | JSONObject jsonAccessToken = JSONObject.parseObject(responseAccessToken); |
| | | accessToken = jsonAccessToken.getString("access_token"); |
| | | errmsg = jsonAccessToken.getString("errmsg"); |
| | | Long expiresIn = jsonAccessToken.getLong("expires_in"); |
| | | if (StringUtils.isBlank(accessToken)) { |
| | | throw new ServiceException(errmsg); |
| | | } else { |
| | | expiresIn = expiresIn - 100; |
| | | redisService.setCacheObject(SecurityConstant.WX_TOKEN, accessToken, Long.valueOf(expiresIn), TimeUnit.SECONDS); |
| | | } |
| | | responseUserPhoneNumber = getMobileByWX(accessToken, appUserRegisterDto.getMobileCode()); |
| | | jsonUserPhoneNumber = JSONObject.parseObject(responseUserPhoneNumber); |
| | | errcode = jsonUserPhoneNumber.getString("errcode"); |
| | | errmsg = jsonUserPhoneNumber.getString("errmsg"); |
| | | if (!"0".equals(errcode)) { |
| | | throw new ServiceException(errmsg); |
| | | } |
| | | } |
| | | String phoneInfo = jsonUserPhoneNumber.getString("phone_info"); |
| | | JSONObject jsonUserPhoneInfo = JSONObject.parseObject(phoneInfo); |
| | |
| | | member.setMemberNo(memberNo); |
| | | member.setUserId(sysUser.getUserId()); |
| | | member.setDelFlag(0); |
| | | member.setFrozenFlag(0); |
| | | member.setNickName("鸿瑞堂用户"); |
| | | member.setRealName("鸿瑞堂用户"); |
| | | member.setCustomerSource("小程序"); |
| | |
| | | member.setMemberId(memberId); |
| | | member.setUserId(sysUser.getUserId()); |
| | | member.setDelFlag(0); |
| | | member.setFrozenFlag(0); |
| | | member.setNickName(merMemberAddDto.getNickName()); |
| | | member.setRealName(merMemberAddDto.getNickName()); |
| | | member.setGender(merMemberAddDto.getGender()); |
| | |
| | | String memberNo = createMemberNo(); |
| | | member.setMemberNo(memberNo); |
| | | member.setDelFlag(0); |
| | | member.setFrozenFlag(0); |
| | | member.setAvatar("https://hongruitang.oss-cn-beijing.aliyuncs.com/default.png"); |
| | | member.setBindingFlag(0); |
| | | member.setCreateTime(new Date()); |
| | | member.setCustomerSource("商户订单添加"); |
| | | this.saveOrUpdate(member); |
| | |
| | | if (StringUtils.isNotBlank(merMemberPageDto.getMemberTags())) { |
| | | merMemberPageDto.setMemberTags(merMemberPageDto.getMemberTags().replace(",", "|")); |
| | | } |
| | | //处理生日 |
| | | if(merMemberPageDto.getStartAge()!=null){ |
| | | LocalDate currentDate = LocalDate.now(); |
| | | LocalDate endBirthday = currentDate.minusYears(merMemberPageDto.getStartAge()); |
| | | DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd"); |
| | | merMemberPageDto.setEndBirthday(endBirthday.format(formatter)); |
| | | } |
| | | if(merMemberPageDto.getEndAge()!=null){ |
| | | LocalDate currentDate = LocalDate.now(); |
| | | LocalDate startBirthday = currentDate.minusYears(merMemberPageDto.getEndAge()); |
| | | DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd"); |
| | | merMemberPageDto.setStartBirthday(startBirthday.format(formatter)); |
| | | } |
| | | //查询获取结果列表 |
| | | List<MgtMemberPageVo> memberPageVoList = memberMapper.pageMgtMember(page, merMemberPageDto); |
| | | //处理活跃度返回 |
| | |
| | | member.setUpdateTime(new Date()); |
| | | member.setUpdateUserId(mgtMemberRelEditDto.getUserId()); |
| | | this.saveOrUpdate(member); |
| | | memberMapper.updateById(member); |
| | | } |
| | | } |
| | | } |
| | |
| | | mgtMemberGetVo.setNickName(member.getNickName()); |
| | | mgtMemberGetVo.setAvatar(member.getAvatar()); |
| | | mgtMemberGetVo.setMobile(member.getMobile()); |
| | | mgtMemberGetVo.setGender(member.getGender() == 0 ? "男" : member.getGender() == 1 ? "女" : null); |
| | | if(member.getGender()!=null){ |
| | | if (member.getGender() == 0) { |
| | | mgtMemberGetVo.setGender("男"); |
| | | } else if (member.getGender() == 1) { |
| | | mgtMemberGetVo.setGender("女"); |
| | | } |
| | | }else { |
| | | mgtMemberGetVo.setGender("未知"); |
| | | } |
| | | mgtMemberGetVo.setBirthday(member.getBirthday()); |
| | | mgtMemberGetVo.setBelongDistrict(member.getBelongDistrict()); |
| | | mgtMemberGetVo.setCreateTime(member.getCreateTime()); |
| | |
| | | * @description |
| | | * @author jqs |
| | | * @date 2023/7/5 21:18 |
| | | * @param mgtBaseGetDto |
| | | * @param mgtFrozenMemberDto |
| | | * @return void |
| | | */ |
| | | @Override |
| | | public void mgtFrozenMember(MgtBaseGetDto mgtBaseGetDto){ |
| | | sysUserService.frozenUser(Long.valueOf(mgtBaseGetDto.getId())); |
| | | public void mgtFrozenMember(MgtFrozenMemberDto mgtFrozenMemberDto){ |
| | | Long userId = mgtFrozenMemberDto.getId(); |
| | | Member member = this.getByUserId(userId); |
| | | member.setFrozenFlag(mgtFrozenMemberDto.getFrozenFlag()); |
| | | this.saveOrUpdate(member); |
| | | sysUserService.frozenUser(mgtFrozenMemberDto); |
| | | } |
| | | |
| | | /** |
| | |
| | | public Integer getAreaNewMember(List<Long> shopIdList){ |
| | | return memberMapper.getAreaNewMember(shopIdList); |
| | | } |
| | | |
| | | /** |
| | | * @description 更新会员绑定商户名 |
| | | * @author jqs |
| | | * @date 2023/7/26 17:08 |
| | | * @param mgtMemberShopNameDto |
| | | * @return void |
| | | */ |
| | | @Override |
| | | public void updateMemberShopName(MgtMemberShopNameDto mgtMemberShopNameDto){ |
| | | LambdaUpdateWrapper<Member> updateWrapper = new LambdaUpdateWrapper<>(); |
| | | updateWrapper.eq(Member::getRelationShopId,mgtMemberShopNameDto.getShopId()); |
| | | updateWrapper.set(Member::getRelationShopName,mgtMemberShopNameDto.getShopName()); |
| | | this.update(updateWrapper); |
| | | } |
| | | } |