From 852b685fc99028dbd47f14e50939e00216ee26e7 Mon Sep 17 00:00:00 2001 From: Administrator <15274802129@163.com> Date: Thu, 15 May 2025 10:50:28 +0800 Subject: [PATCH] feat(mall): 新增新人礼设置功能 --- src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallMemberServiceImpl.java | 135 +++++++++++++++++++++++++++++++-------------- 1 files changed, 93 insertions(+), 42 deletions(-) diff --git a/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallMemberServiceImpl.java b/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallMemberServiceImpl.java index 2dc58bc..6b83062 100644 --- a/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallMemberServiceImpl.java +++ b/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallMemberServiceImpl.java @@ -89,6 +89,7 @@ private final MallStoreItemMapper mallStoreItemMapper; private final MallStoreMemberMapper mallStoreMemberMapper; private final MallDoctorMapper mallDoctorMapper; + private final HappyMemberLevelMapper happyMemberLevelMapper; @Value("${spring.profiles.active}") @@ -264,7 +265,18 @@ Long id = LoginUserUtil.getLoginUser().getId(); MallMember mallMember = this.baseMapper.selectById(id); + + MallMemberVo mallMemberVo = MallMemberConversion.INSTANCE.entityToVo(mallMember); + + HappyMemberLevel happyMemberLevel = happyMemberLevelMapper.selectOne( + new LambdaQueryWrapper<HappyMemberLevel>() + .select(HappyMemberLevel::getName) + .eq(HappyMemberLevel::getCode, mallMember.getDirector()) + ); + if(happyMemberLevel != null){ + mallMemberVo.setLevelName(happyMemberLevel.getName()); + } if(StrUtil.isNotEmpty(mallMember.getReferrerId())){ MallMember referMember = this.baseMapper.selectInfoByInviteId(mallMember.getReferrerId()); if (referMember != null) { @@ -302,7 +314,7 @@ mallMemberVo.setVipInfo(mallVipConfig); mallMemberVo.setBalance(wallet.getBalance()); -// mallMemberVo.setScore(wallet.getScore()); + mallMemberVo.setScore(wallet.getScore()); mallMemberVo.setPrizeScore(wallet.getPrizeScore()); // mallMemberVo.setTotalCost(mallOrderInfoMapper.selectTotalAmount(id)); return new FebsResponse().success().data(mallMemberVo); @@ -343,6 +355,11 @@ mallMember.setTradePassword(SecureUtil.md5(forgetPwdDto.getPassword())); this.baseMapper.updateById(mallMember); return new FebsResponse().success().message("设置成功"); + } + + public static void main(String[] args) { + String pwd = SecureUtil.md5("123456"); + System.out.println(pwd); } @Override @@ -678,6 +695,9 @@ wallet.setMemberId(mallMember.getId()); mallMemberWalletMapper.insert(wallet); } else { + if (MallMember.ACCOUNT_STATUS_DISABLED.equals(mallMember.getAccountStatus())) { + throw new FebsException("账号已停用"); + } mallMember.setSessionKey(sessionKey); this.baseMapper.updateById(mallMember); } @@ -1342,18 +1362,19 @@ // 获取当前登录用户的ID Long memberId = LoginUserUtil.getLoginUser().getId(); + log.info("开始绑定医生{}",memberId); // 从DTO中提取邀请ID和门店会员ID String inviteId = dto.getInviteId(); Long storeMemberId = dto.getStoreMemberId(); // 根据门店会员ID查询门店会员信息 - MallStoreMember mallStoreMember = mallStoreMemberMapper.selectById(storeMemberId); + MallStoreMember mallStoreMember = mallStoreMemberMapper.selectOne( + new LambdaQueryWrapper<MallStoreMember>() + .eq(MallStoreMember::getId,storeMemberId) + .eq(MallStoreMember::getMemberId,memberId) + ); // 如果门店会员信息为空,抛出异常 if(null == mallStoreMember){ - throw new FebsException("当前检测记录无法绑定!"); - } - // 如果门店会员的会员ID与当前登录用户ID不匹配,抛出异常 - if(mallStoreMember.getMemberId() != memberId){ throw new FebsException("当前检测记录无法绑定!"); } @@ -1365,7 +1386,11 @@ } // 查询与当前门店会员ID关联的医生列表 - List<MallDoctor> mallDoctors = mallDoctorMapper.selectList(new LambdaQueryWrapper<MallDoctor>().eq(MallDoctor::getStoreMemberId, mallStoreMember.getId())); + List<MallDoctor> mallDoctors = mallDoctorMapper.selectList( + new LambdaQueryWrapper<MallDoctor>() + .eq(MallDoctor::getStoreMemberId, mallStoreMember.getId()) + .eq(MallDoctor::getMemberId, mallMember.getId()) + ); // 如果医生列表为空,创建新的医生对象并设置相关信息,然后插入数据库 if(CollUtil.isEmpty(mallDoctors)){ MallDoctor mallDoctor = new MallDoctor(); @@ -1374,8 +1399,13 @@ mallDoctor.setBindMemberId(mallStoreMember.getMemberId()); mallDoctor.setBindPhone(mallStoreMember.getPhone()); mallDoctor.setBindName(mallStoreMember.getName()); - mallDoctor.setBindInfo(mallStoreMember.getAccount()); mallDoctor.setBindAge(mallStoreMember.getAge()); + + Long storeId = mallStoreMember.getStoreId(); + Long storeItemId = mallStoreMember.getStoreItemId(); + MallStore mallStore = mallStoreMapper.selectById(storeId); + MallStoreItem mallStoreItem = mallStoreItemMapper.selectById(storeItemId); + mallDoctor.setBindInfo(mallStore.getName()+"-"+mallStoreItem.getCode()); mallDoctorMapper.insert(mallDoctor); } @@ -1449,7 +1479,8 @@ ApiDoctorListVo apiDoctorListVo = new ApiDoctorListVo(); apiDoctorListVo.setId(mallDoctor.getId()); apiDoctorListVo.setStoreMemberId(mallDoctor.getStoreMemberId()); - apiDoctorListVo.setName(mallDoctor.getBindName()); + MallMember mallMember = this.baseMapper.selectById(mallDoctor.getMemberId()); + apiDoctorListVo.setName(mallMember.getName()); apiDoctorListVo.setPhone(mallDoctor.getBindPhone()); apiDoctorListVo.setBindAge(mallDoctor.getBindAge()); apiDoctorListVo.setBindInfo(mallDoctor.getBindInfo()); @@ -1468,46 +1499,66 @@ Long memberId = LoginUserUtil.getLoginUser().getId(); MallDoctor mallDoctor = mallDoctorMapper.selectById(dto.getId()); - if(memberId != mallDoctor.getBindMemberId()){ + if(!memberId.equals(mallDoctor.getBindMemberId())){ throw new FebsException("当前授权无法删除!"); } mallDoctorMapper.deleteById(dto.getId()); return new FebsResponse().success().message("操作成功"); } - public static void main(String[] args) { - Long userld = 16425L; - String shopAccount = "爱和美医疗"; - String shopPwd = "blnka2005"; - - HashMap<String, String> objectObjectHashMap = new HashMap<>(); - - objectObjectHashMap.put("shopAccount",shopAccount); - objectObjectHashMap.put("shopPwd",shopPwd); - objectObjectHashMap.put("userId",userld.toString()); - - //sign= MD5(shopAccount+shopPwd+userId) - StringBuffer stringBuffer = new StringBuffer(); - stringBuffer.append(shopAccount); - stringBuffer.append(shopPwd); - stringBuffer.append(userld); - String sign = MD5.MD5Encode(stringBuffer.toString()); - objectObjectHashMap.put("sign",sign); - - System.out.println(sign); - - System.out.println(objectObjectHashMap); - String url = "https://data.muchun.co/api/getCustomerCheckRecords"; - String result = HttpCurlUtil.sendPost(url, objectObjectHashMap); - Integer retCode = JSONUtil.parseObj(result).getInt("retCode"); - String message = JSONUtil.parseObj(result).getStr("message"); - if(0 != retCode){ - System.out.println(message); - } - - JSONArray data = JSONUtil.parseObj(result).getJSONArray("data"); - System.out.println(data); + @Override + public FebsResponse flowList(ApiMoneyFlowDto dto) { + Long id = LoginUserUtil.getLoginUser().getId(); + IPage<ApiMoneyFlowVo> page = new Page<>(dto.getPageNum(), dto.getPageSize()); + dto.setMemberId(id); + IPage<ApiMoneyFlowVo> pages = mallMoneyFlowMapper.selectFlowInPage(page, dto); + return new FebsResponse().success().data(pages); } + @Override + public FebsResponse flowHeader() { + // 获取当前登录用户的ID + Long memberId = LoginUserUtil.getLoginUser().getId(); + ApiMoneyFlowHeaderVo apiMoneyFlowHeaderVo = new ApiMoneyFlowHeaderVo(); + MallMemberWallet mallMemberWallet = mallMemberWalletMapper.selectWalletByMemberId(memberId); + apiMoneyFlowHeaderVo.setBalance(mallMemberWallet.getBalance()); + apiMoneyFlowHeaderVo.setPrizeScore(mallMemberWallet.getPrizeScore()); + return new FebsResponse().success().data(apiMoneyFlowHeaderVo); + } + +// public static void main(String[] args) { +// Long userld = 16425L; +// String shopAccount = "爱和美医疗"; +// String shopPwd = "blnka2005"; +// +// HashMap<String, String> objectObjectHashMap = new HashMap<>(); +// +// objectObjectHashMap.put("shopAccount",shopAccount); +// objectObjectHashMap.put("shopPwd",shopPwd); +// objectObjectHashMap.put("userId",userld.toString()); +// +// //sign= MD5(shopAccount+shopPwd+userId) +// StringBuffer stringBuffer = new StringBuffer(); +// stringBuffer.append(shopAccount); +// stringBuffer.append(shopPwd); +// stringBuffer.append(userld); +// String sign = MD5.MD5Encode(stringBuffer.toString()); +// objectObjectHashMap.put("sign",sign); +// +// System.out.println(sign); +// +// System.out.println(objectObjectHashMap); +// String url = "https://data.muchun.co/api/getCustomerCheckRecords"; +// String result = HttpCurlUtil.sendPost(url, objectObjectHashMap); +// Integer retCode = JSONUtil.parseObj(result).getInt("retCode"); +// String message = JSONUtil.parseObj(result).getStr("message"); +// if(0 != retCode){ +// System.out.println(message); +// } +// +// JSONArray data = JSONUtil.parseObj(result).getJSONArray("data"); +// System.out.println(data); +// } + } -- Gitblit v1.9.1