From 954f46aaad039dd1b58f3d4f234479011ccff411 Mon Sep 17 00:00:00 2001
From: KKSU <15274802129@163.com>
Date: Thu, 16 Jan 2025 11:07:31 +0800
Subject: [PATCH] fix(mall): 修复会员绑定逻辑
---
src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallMemberServiceImpl.java | 103 +++++++++++++++++++++++++++++++--------------------
1 files changed, 62 insertions(+), 41 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 83373b4..978c1d5 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
@@ -1,11 +1,16 @@
package cc.mrbird.febs.mall.service.impl;
import cc.mrbird.febs.common.entity.FebsResponse;
-import cc.mrbird.febs.common.enumerates.*;
+import cc.mrbird.febs.common.enumerates.DataDictionaryEnum;
+import cc.mrbird.febs.common.enumerates.FlowTypeEnum;
+import cc.mrbird.febs.common.enumerates.MoneyFlowTypeEnum;
+import cc.mrbird.febs.common.enumerates.ScoreFlowTypeEnum;
import cc.mrbird.febs.common.exception.FebsException;
import cc.mrbird.febs.common.properties.XcxProperties;
import cc.mrbird.febs.common.utils.*;
-import cc.mrbird.febs.mall.conversion.*;
+import cc.mrbird.febs.mall.conversion.MallMemberConversion;
+import cc.mrbird.febs.mall.conversion.MallShopApplyConversion;
+import cc.mrbird.febs.mall.conversion.MallStoreConversion;
import cc.mrbird.febs.mall.dto.*;
import cc.mrbird.febs.mall.entity.*;
import cc.mrbird.febs.mall.mapper.*;
@@ -14,7 +19,6 @@
import cc.mrbird.febs.pay.model.BrandWCPayRequestData;
import cc.mrbird.febs.pay.service.IXcxPayService;
import cc.mrbird.febs.pay.util.MD5;
-import cc.mrbird.febs.pay.util.Util;
import cc.mrbird.febs.vip.VipSettingUnAliveSettingBo;
import cc.mrbird.febs.vip.entity.MallVipConfig;
import cc.mrbird.febs.vip.mapper.MallVipConfigMapper;
@@ -38,18 +42,7 @@
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
-import org.apache.http.HttpEntity;
-import org.apache.http.HttpResponse;
-import org.apache.http.client.methods.HttpGet;
-import org.apache.http.client.methods.HttpPost;
-import org.apache.http.client.protocol.HttpClientContext;
-import org.apache.http.entity.ByteArrayEntity;
-import org.apache.http.impl.client.CloseableHttpClient;
-import org.apache.http.impl.client.HttpClients;
-import org.apache.http.message.BasicNameValuePair;
-import org.apache.http.util.EntityUtils;
import org.springframework.beans.factory.annotation.Value;
-import org.springframework.boot.autoconfigure.security.SecurityProperties;
import org.springframework.http.HttpStatus;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@@ -1174,7 +1167,7 @@
public FebsResponse storeList(MallStoreDto mallStoreDto) {
QueryWrapper<MallStore> mallStoreQueryWrapper = new QueryWrapper<>();
if(StrUtil.isNotEmpty(mallStoreDto.getName())){
- mallStoreQueryWrapper.like("name",mallStoreQueryWrapper);
+ mallStoreQueryWrapper.like("name",mallStoreDto.getName());
}
List<MallStore> mallStores = mallStoreMapper.selectList(mallStoreQueryWrapper);
List<MallStoreVo> mallStoreVos = MallStoreConversion.INSTANCE.entitysToVos(mallStores);
@@ -1183,9 +1176,14 @@
@Override
public FebsResponse storeItemList(MallStoreItemDto mallStoreItemDto) {
- QueryWrapper<MallStoreItem> mallStoreQueryWrapper = new QueryWrapper<>();
- mallStoreQueryWrapper.like("store_id",mallStoreItemDto.getStoreId());
- List<MallStoreItem> mallStores = mallStoreItemMapper.selectList(mallStoreQueryWrapper);
+// QueryWrapper<MallStoreItem> mallStoreQueryWrapper = new QueryWrapper<>();
+// mallStoreQueryWrapper.like("store_id",mallStoreItemDto.getStoreId());
+// List<MallStoreItem> mallStores = mallStoreItemMapper.selectList(mallStoreQueryWrapper);
+
+ List<MallStoreItem> mallStores = mallStoreItemMapper.selectList(
+ new LambdaQueryWrapper<MallStoreItem>()
+ .eq(MallStoreItem::getStoreId, mallStoreItemDto.getStoreId())
+ );
return new FebsResponse().success().data(mallStores);
}
@@ -1194,12 +1192,21 @@
Long memberId = LoginUserUtil.getLoginUser().getId();
Long storeItemId = bindStoreMemberDto.getStoreItemId();
- QueryWrapper<MallStoreMember> objectQueryWrapper = new QueryWrapper<>();
- objectQueryWrapper.eq("member_id",memberId);
- List<MallStoreMember> mallStoreMembers = mallStoreMemberMapper.selectList(objectQueryWrapper);
+// QueryWrapper<MallStoreMember> objectQueryWrapper = new QueryWrapper<>();
+// objectQueryWrapper.eq("member_id",memberId);
+// List<MallStoreMember> mallStoreMembers = mallStoreMemberMapper.selectList(objectQueryWrapper);
+
+ List<MallStoreMember> mallStoreMembers = mallStoreMemberMapper.selectList(
+ new LambdaQueryWrapper<MallStoreMember>()
+ .eq(MallStoreMember::getMemberId, memberId)
+ .eq(MallStoreMember::getStoreItemId, bindStoreMemberDto.getStoreItemId())
+ );
if(CollUtil.isNotEmpty(mallStoreMembers)){
- mallStoreMemberMapper.delete(objectQueryWrapper);
+ return new FebsResponse().fail().message("您已经绑定过了");
}
+
+ MallMember mallMember = this.baseMapper.selectById(memberId);
+ Integer sex = "女".equals(mallMember.getSex()) ? 3 : 2;
MallStoreItem mallStoreItem = mallStoreItemMapper.selectById(storeItemId);
HashMap<String, String> objectObjectHashMap = new HashMap<>();
@@ -1216,6 +1223,7 @@
objectObjectHashMap.put("address",address);
objectObjectHashMap.put("age",age.toString());
objectObjectHashMap.put("phoneNumber",phoneNumber);
+ objectObjectHashMap.put("sex",sex.toString());
//sign= MD5(address+age+name+phoneNumber+shopAccount+shopPwd)
StringBuffer stringBuffer = new StringBuffer();
@@ -1223,33 +1231,45 @@
stringBuffer.append(age);
stringBuffer.append(name);
stringBuffer.append(phoneNumber);
+ stringBuffer.append(sex);
stringBuffer.append(shopAccount);
stringBuffer.append(shopPwd);
String sign = MD5.MD5Encode(stringBuffer.toString());
objectObjectHashMap.put("sign",sign);
String url = "https://data.muchun.co/api/bindCustomer";
+
+ log.info("请求参数"+objectObjectHashMap);
String result = HttpCurlUtil.sendPost(url, objectObjectHashMap);
+ log.info("绑定用户"+result);
Integer retCode = JSONUtil.parseObj(result).getInt("retCode");
String message = JSONUtil.parseObj(result).getStr("message");
if(0 != retCode || !"绑定成功".equals(message)){
return new FebsResponse().fail().message(message);
}
+
Long bindId = JSONUtil.parseObj(result).getJSONObject("data").getLong("userId");
+ List<MallStoreMember> mallStoreMembers1 = mallStoreMemberMapper.selectList(
+ new LambdaQueryWrapper<MallStoreMember>()
+ .eq(MallStoreMember::getMemberId, memberId)
+ .eq(MallStoreMember::getStoreItemId, mallStoreItem.getId())
+ .eq(MallStoreMember::getBindId, bindId)
+ );
+ if(CollUtil.isEmpty(mallStoreMembers1)){
+ MallStoreMember mallStoreMember = new MallStoreMember();
+ mallStoreMember.setMemberId(memberId);
+ mallStoreMember.setBindId(bindId);
+ mallStoreMember.setStoreId(mallStoreItem.getStoreId());
+ mallStoreMember.setStoreItemId(mallStoreItem.getId());
- MallStoreMember mallStoreMember = new MallStoreMember();
- mallStoreMember.setMemberId(memberId);
- mallStoreMember.setBindId(bindId);
- mallStoreMember.setStoreId(mallStoreItem.getStoreId());
- mallStoreMember.setStoreItemId(mallStoreItem.getId());
+ mallStoreMember.setAccount(shopAccount);
+ mallStoreMember.setPassword(shopPwd);
- mallStoreMember.setAccount(shopAccount);
- mallStoreMember.setPassword(shopPwd);
-
- mallStoreMember.setName(name);
- mallStoreMember.setAddress(address);
- mallStoreMember.setAge(age);
- mallStoreMember.setPhone(phoneNumber);
- mallStoreMemberMapper.insert(mallStoreMember);
+ mallStoreMember.setName(name);
+ mallStoreMember.setAddress(address);
+ mallStoreMember.setAge(age);
+ mallStoreMember.setPhone(phoneNumber);
+ mallStoreMemberMapper.insert(mallStoreMember);
+ }
return new FebsResponse().success().message("绑定成功");
}
@@ -1286,15 +1306,16 @@
objectObjectHashMap.put("shopAccount",shopAccount);
objectObjectHashMap.put("shopPwd",shopPwd);
- objectObjectHashMap.put("userld",userld.toString());
+ objectObjectHashMap.put("userId",userld.toString());
- //sign= MD5(address+age+name+phoneNumber+shopAccount+shopPwd)
+ //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);
+
String url = "https://data.muchun.co/api/getCustomerCheckRecords";
String result = HttpCurlUtil.sendPost(url, objectObjectHashMap);
Integer retCode = JSONUtil.parseObj(result).getInt("retCode");
@@ -1307,15 +1328,15 @@
}
public static void main(String[] args) {
- Long userld = 177L;
- String shopAccount = "luohu";
- String shopPwd = "123456";
+ Long userld = 16425L;
+ String shopAccount = "爱和美医疗";
+ String shopPwd = "blnka2005";
HashMap<String, String> objectObjectHashMap = new HashMap<>();
objectObjectHashMap.put("shopAccount",shopAccount);
objectObjectHashMap.put("shopPwd",shopPwd);
- objectObjectHashMap.put("userld",userld.toString());
+ objectObjectHashMap.put("userId",userld.toString());
//sign= MD5(shopAccount+shopPwd+userId)
StringBuffer stringBuffer = new StringBuffer();
--
Gitblit v1.9.1