mq处理店铺会员升级策略,会员新增策略优化

This commit is contained in:
liyj 2026-01-15 09:58:17 +08:00
parent bde0f1cc53
commit fa2b179c58
10 changed files with 109 additions and 150 deletions

View File

@ -187,7 +187,7 @@ public class AccountController {
@RequestParam(name = "user_store_total") Integer user_store_total,
@RequestParam(name = "user_fans_vip_total", defaultValue = "0") Integer user_fans_vip_total,
@RequestParam(name = "user_fans_team_total", defaultValue = "0") Integer user_fans_team_total) {
return CommonResult.success(accountUserInfoService.checkUpdateUserLevel(user_id, user_exp_total, user_fans_total, user_spend_total, user_store_total, user_fans_vip_total, user_fans_team_total,null,null));
return CommonResult.success(accountUserInfoService.checkUpdateUserLevel(user_id, user_exp_total, user_fans_total, user_spend_total, user_store_total, user_fans_vip_total, user_fans_team_total));
}
@RequestMapping(value = "/checkUpdateUserLevelById", method = RequestMethod.POST)
@ -196,7 +196,7 @@ public class AccountController {
@RequestParam(name = "user_exp_total") BigDecimal user_exp_total,
@RequestParam(name = "user_fans_total") Integer user_fans_total) {
AccountUserAnalytics analytics = accountUserAnalyticsService.get(user_id);
return CommonResult.success(accountUserInfoService.checkUpdateUserLevel(user_id, user_exp_total, user_fans_total, analytics.getUser_spend(), 0, 0, 0,null,null));
return CommonResult.success(accountUserInfoService.checkUpdateUserLevel(user_id, user_exp_total, user_fans_total, analytics.getUser_spend(), 0, 0, 0));
}
@ApiOperation(value = "用户SNS信息", notes = "用户SNS信息")

View File

@ -1,19 +1,11 @@
package com.suisung.mall.account.listener;
import cn.hutool.json.JSONUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.rabbitmq.client.Channel;
import com.suisung.mall.account.mapper.AccountUserBindConnectMapper;
import com.suisung.mall.account.mapper.AccountUserInfoMapper;
import com.suisung.mall.account.mapper.ShopStoreMemberLevelMapper;
import com.suisung.mall.account.mapper.ShopStoreMemberMapper;
import com.suisung.mall.account.service.AccountUserInfoService;
import com.suisung.mall.common.api.BindCode;
import com.suisung.mall.account.service.ShopStoreMemberService;
import com.suisung.mall.common.constant.MqConstant;
import com.suisung.mall.common.modules.account.AccountUserBindConnect;
import com.suisung.mall.common.modules.account.AccountUserInfo;
import com.suisung.mall.common.modules.store.ShopStoreMember;
import com.suisung.mall.common.modules.store.ShopStoreMemberLevel;
import lombok.extern.slf4j.Slf4j;
import org.springframework.amqp.core.Message;
import org.springframework.amqp.rabbit.annotation.RabbitHandler;
@ -25,7 +17,6 @@ import org.springframework.web.context.request.ServletRequestAttributes;
import java.io.IOException;
import java.nio.charset.StandardCharsets;
import java.util.List;
@Service
@Slf4j
@ -36,16 +27,7 @@ public class DealUserInfoListener {
private AccountUserInfoService accountUserInfoService;
@Autowired
private AccountUserBindConnectMapper accountUserBindConnectMapper;
@Autowired
private AccountUserInfoMapper accountUserInfoMapper;
@Autowired
private ShopStoreMemberMapper shopStoreMemberMapper;
@Autowired
private ShopStoreMemberLevelMapper shopStoreMemberLevelMapper;
private ShopStoreMemberService shopStoreMemberService;
@RabbitHandler
public void listener(byte[] data, Channel channel, Message message) throws IOException, InterruptedException {
@ -67,11 +49,7 @@ public class DealUserInfoListener {
boolean flag = accountUserInfoService.saveOrUpdate(accountUserInfo);
if (flag) {
if(accountUserInfo.getStore_id()!=null){
AccountUserInfo updateAccountUserInfo= accountUserInfoMapper.selectById(accountUserInfo.getUser_id());
// AccountUserInfo updateAccountUserInfo= accountUserInfoService.get(accountUserInfo.getUser_id());
updateAccountUserInfo.setStore_name(accountUserInfo.getStore_name());
//shopStoreMemberService.dealStoreMember(updateAccountUserInfo);
this.dealStoreMember(updateAccountUserInfo);
shopStoreMemberService.dealStoreMember(accountUserInfo);
}
channel.basicAck(message.getMessageProperties().getDeliveryTag(), false);
} else {
@ -86,57 +64,4 @@ public class DealUserInfoListener {
}
}
private void dealStoreMember(AccountUserInfo accountUserInfo){
log.info("dealStoreMember-MQ处理店铺会员开始:accountUserInfo:{}", JSONUtil.toJsonStr(accountUserInfo));
if(null!=accountUserInfo.getStore_id()){
log.info("MQ处理店铺会员开始:accountUserInfo:{}", JSONUtil.toJsonStr(accountUserInfo));
Integer store_id = accountUserInfo.getStore_id();
Integer user_id = accountUserInfo.getUser_id();
QueryWrapper<ShopStoreMember> params=new QueryWrapper<>();
params.eq("store_id",store_id);
params.eq("user_id",user_id);
List<ShopStoreMember> shopStoreMembers= shopStoreMemberMapper.selectList(params);
if(shopStoreMembers.isEmpty()){
QueryWrapper<AccountUserBindConnect> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("bind_id", "+86"+accountUserInfo.getUser_mobile());
queryWrapper.eq("bind_type", BindCode.MOBILE)
.eq("user_type", 0)
.eq("user_id", user_id)
.orderByAsc("bind_time");
List<AccountUserBindConnect> accountUserBindConnectList = accountUserBindConnectMapper.selectList(queryWrapper);
if (!accountUserBindConnectList.isEmpty()){
AccountUserBindConnect accountUserBindConnect= accountUserBindConnectList.get(0);
ShopStoreMember shopStoreMember = new ShopStoreMember();
shopStoreMember.setStoreName(accountUserInfo.getStore_name());
shopStoreMember.setStoreId(store_id);
shopStoreMember.setUserId(user_id);
shopStoreMember.setBind_openid(accountUserBindConnect.getBind_openid());
shopStoreMember.setUserNickname(accountUserBindConnect.getBind_nickname());
shopStoreMember.setUserAccount(accountUserBindConnect.getBind_id());
shopStoreMemberMapper.insert(shopStoreMember);
ShopStoreMemberLevel shopStoreMemberLevel = getShopStoreMemberLevel(store_id, shopStoreMember);
shopStoreMemberLevel.setUserId(user_id);
shopStoreMemberLevelMapper.insert(shopStoreMemberLevel);
}
}
}
}
/**
* 店铺会员初始化信息
* @param storeId
* @param shopStoreMember
* @return
*/
private ShopStoreMemberLevel getShopStoreMemberLevel(Integer storeId, ShopStoreMember shopStoreMember) {
ShopStoreMemberLevel shopStoreMemberLevel=new ShopStoreMemberLevel();
shopStoreMemberLevel.setStoreId(storeId);
shopStoreMemberLevel.setStoreMemberId(shopStoreMember.getStore_member_id());
shopStoreMemberLevel.setUserLevelName("v1");
shopStoreMemberLevel.setUserLevelId(1001);
shopStoreMemberLevel.setMemberLevelId(1001);
shopStoreMemberLevel.setMemberLevelName("v1");
return shopStoreMemberLevel;
}
}

View File

@ -3,7 +3,9 @@ package com.suisung.mall.account.listener;
import cn.hutool.json.JSONUtil;
import com.rabbitmq.client.Channel;
import com.suisung.mall.account.service.AccountUserInfoService;
import com.suisung.mall.account.service.ShopStoreMemberLevelService;
import com.suisung.mall.common.constant.MqConstant;
import com.suisung.mall.common.modules.store.ShopStoreMemberLevel;
import com.suisung.mall.common.pojo.to.UserLevelTO;
import lombok.extern.slf4j.Slf4j;
import org.springframework.amqp.core.Message;
@ -23,6 +25,9 @@ public class UpgradeUserLevelListener {
@Autowired
private AccountUserInfoService accountUserInfoService;
@Autowired
private ShopStoreMemberLevelService shopStoreMemberLevelService;
@RabbitHandler
public void listener(byte[] data, Channel channel, Message message) throws IOException, InterruptedException {
// 将byte[]转换为String然后调用现有的处理逻辑
@ -36,8 +41,13 @@ public class UpgradeUserLevelListener {
// String messageId = message.getMessageProperties().getMessageId();
try {
boolean flag = accountUserInfoService.checkUpdateUserLevel(userLevelTO.getUser_id(), userLevelTO.getUser_exp_total(), userLevelTO.getUser_fans_total(), userLevelTO.getUser_spend_total(), 0, 0, 0,userLevelTO.getStore_id(),userLevelTO.getUser_store_spend_total());
boolean flag = accountUserInfoService.checkUpdateUserLevel(userLevelTO.getUser_id(), userLevelTO.getUser_exp_total(), userLevelTO.getUser_fans_total(), userLevelTO.getUser_spend_total(), 0, 0, 0);
if (flag) {
ShopStoreMemberLevel shopStoreMemberLevel = new ShopStoreMemberLevel();
shopStoreMemberLevel.setUserLevelSpend(userLevelTO.getUser_store_spend_total());
shopStoreMemberLevel.setUserId(userLevelTO.getUser_id());
shopStoreMemberLevel.setStoreId(userLevelTO.getStore_id());
shopStoreMemberLevelService.checkUpdateStoreUserLevel(shopStoreMemberLevel);//店铺会员升级
channel.basicAck(message.getMessageProperties().getDeliveryTag(), false);
} else {
log.error("消息消费失败执行upgradeUserLevel异常当前用户编号{}", userLevelTO.getUser_id());

View File

@ -26,7 +26,7 @@ public interface AccountUserInfoService extends IBaseService<AccountUserInfo> {
Map getLists(QueryWrapper<AccountUserBase> queryWrapper, Integer page, Integer rows);
boolean checkUpdateUserLevel(Integer user_id, BigDecimal user_exp_total, Integer user_fans_total, BigDecimal user_spend_total, Integer user_store_total, Integer user_fans_vip_total, Integer user_fans_team_total,Integer store_id,BigDecimal user_store_spend_total);
boolean checkUpdateUserLevel(Integer user_id, BigDecimal user_exp_total, Integer user_fans_total, BigDecimal user_spend_total, Integer user_store_total, Integer user_fans_vip_total, Integer user_fans_team_total);
BigDecimal getDistUserLevelConfig(String key, Integer user_id, BigDecimal defaultValue);

View File

@ -1,12 +1,10 @@
package com.suisung.mall.account.service;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.suisung.mall.common.modules.store.ShopStoreMemberLevel;
import java.util.List;
public interface ShopStoreMemberLevelService extends IService<ShopStoreMemberLevel> {
public interface ShopStoreMemberLevelService {
List<ShopStoreMemberLevel> findShopStoreMemberLevelList(ShopStoreMemberLevel shopStoreMemberLevel);
void checkUpdateStoreUserLevel(ShopStoreMemberLevel shopStoreMemberLevel);
}

View File

@ -1,11 +1,10 @@
package com.suisung.mall.account.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.suisung.mall.common.modules.account.AccountUserInfo;
import com.suisung.mall.common.modules.store.ShopStoreMember;
public interface ShopStoreMemberService extends IService<ShopStoreMember> {
public interface ShopStoreMemberService {
void dealStoreMember(AccountUserInfo accountUserInfo);
}

View File

@ -1355,7 +1355,7 @@ public class AccountUserBaseServiceImpl extends BaseServiceImpl<AccountUserBaseM
// 检测升级
AccountUserSns user_role_row = accountUserSnsService.get(fx_user_parent_id);
accountUserInfoService.checkUpdateUserLevel(fx_user_parent_id, BigDecimal.ZERO, user_role_row.getUser_fans(), BigDecimal.ZERO, 0, 0, 0,null,null);
accountUserInfoService.checkUpdateUserLevel(fx_user_parent_id, BigDecimal.ZERO, user_role_row.getUser_fans(), BigDecimal.ZERO, 0, 0, 0);
}
} else {
// 判断是否需要减少用户关系

View File

@ -160,9 +160,8 @@ public class AccountUserInfoServiceImpl extends BaseServiceImpl<AccountUserInfoM
}
@Override
public boolean checkUpdateUserLevel(Integer user_id, BigDecimal user_exp_total, Integer user_fans_total, BigDecimal user_spend_total, Integer user_store_total, Integer user_fans_vip_total, Integer user_fans_team_total,Integer store_id,BigDecimal user_store_spend_total) {
public boolean checkUpdateUserLevel(Integer user_id, BigDecimal user_exp_total, Integer user_fans_total, BigDecimal user_spend_total, Integer user_store_total, Integer user_fans_vip_total, Integer user_fans_team_total) {
AccountBaseUserLevel level_row = null;
if (CheckUtil.isNotEmpty(user_exp_total)) {
// 需要设置经验值设置为0否则忽略不计
QueryWrapper<AccountBaseUserLevel> levelQueryWrapper = new QueryWrapper<>();
@ -218,30 +217,6 @@ public class AccountUserInfoServiceImpl extends BaseServiceImpl<AccountUserInfoM
throw new ApiException(ResultCode.FAILED);
}
}
logger.info("店铺消费开始level_row{};user_store_spend_total{}", level_row,user_store_spend_total);
if(level_row != null && user_store_spend_total!=null && store_id!=null){//店铺消费
//查找会员再更新店铺会员等级 todo
ShopStoreMemberLevel params = new ShopStoreMemberLevel();
params.setUserId(user_id);
params.setStoreId(store_id);
List<ShopStoreMemberLevel> shopStoreMemberLevels= shopStoreMemberLevelService.findShopStoreMemberLevelList(params);
if(shopStoreMemberLevels!=null && !shopStoreMemberLevels.isEmpty()){
ShopStoreMemberLevel updateShopStoreMemberLevel= shopStoreMemberLevels.get(0);
BigDecimal storeSpend=NumberUtil.add(updateShopStoreMemberLevel.getUserLevelSpend(),user_store_spend_total);//店铺会员总消费
QueryWrapper<AccountBaseUserLevel> levelQueryWrapper = new QueryWrapper<>();
levelQueryWrapper.le("user_level_spend", storeSpend)
.gt("user_level_spend", "0.00").orderByDesc("user_level_spend");
level_row = accountBaseUserLevelService.findOne(levelQueryWrapper);
updateShopStoreMemberLevel.setUserLevelSpend(storeSpend);
if(level_row != null && CheckUtil.isNotEmpty(level_row.getUser_level_id())){
Integer user_level_id = level_row.getUser_level_id();
String user_level_name = level_row.getUser_level_name();
updateShopStoreMemberLevel.setUserLevelId(user_level_id);
updateShopStoreMemberLevel.setUserLevelName(user_level_name);
}
shopStoreMemberLevelService.updateById(updateShopStoreMemberLevel);
}
}
return true;
}
@ -451,7 +426,7 @@ public class AccountUserInfoServiceImpl extends BaseServiceImpl<AccountUserInfoM
}
}
if (!checkUpdateUserLevel(user_id, BigDecimal.ZERO, user_fans, BigDecimal.ZERO, 0, 0, 0,null,null)) {
if (!checkUpdateUserLevel(user_id, BigDecimal.ZERO, user_fans, BigDecimal.ZERO, 0, 0, 0)) {
throw new ApiException(ResultCode.FAILED);
}

View File

@ -1,13 +1,18 @@
package com.suisung.mall.account.service.impl;
import cn.hutool.core.util.NumberUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.suisung.mall.account.mapper.AccountBaseUserLevelMapper;
import com.suisung.mall.account.mapper.ShopStoreMemberLevelMapper;
import com.suisung.mall.account.service.ShopStoreMemberLevelService;
import com.suisung.mall.common.modules.account.AccountBaseUserLevel;
import com.suisung.mall.common.modules.store.ShopStoreMemberLevel;
import com.suisung.mall.core.web.service.impl.BaseServiceImpl;
import com.suisung.mall.common.utils.CheckUtil;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.math.BigDecimal;
import java.util.List;
@ -16,26 +21,67 @@ import java.util.List;
* 店铺会员-会员等级
* </p>
*/
@Transactional
@Service
public class ShopStoreMemberLevelServiceImpl extends BaseServiceImpl<ShopStoreMemberLevelMapper, ShopStoreMemberLevel> implements ShopStoreMemberLevelService {
@Slf4j
public class ShopStoreMemberLevelServiceImpl implements ShopStoreMemberLevelService {
@Autowired
private ShopStoreMemberLevelMapper shopStoreMemberLevelMapper;
@Autowired
private AccountBaseUserLevelMapper accountBaseUserLevelMapper;
@Override
public List<ShopStoreMemberLevel> findShopStoreMemberLevelList(ShopStoreMemberLevel shopStoreMemberLevel) {
QueryWrapper<ShopStoreMemberLevel> queryWrapper = new QueryWrapper<>();
if(shopStoreMemberLevel.getStoreId()!=null){
queryWrapper.eq("store_id",shopStoreMemberLevel.getStoreId());
public void checkUpdateStoreUserLevel(ShopStoreMemberLevel shopStoreMemberLevel) {
log.info("MQ店铺会员升级开始shopStoreMemberLevel:{}", shopStoreMemberLevel);
int maxAttempts = 3; // 最多尝试3次
int currentAttempt = 0;
boolean success = false;
while (currentAttempt < maxAttempts && !success) {
success = dealStoreUserLevel(shopStoreMemberLevel);
if (!success) {
currentAttempt++;
if (currentAttempt < maxAttempts) {
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
log.error("线程被中断,重试终止", e);
Thread.currentThread().interrupt();
break;
}
}
}
}
if(shopStoreMemberLevel.getMemberLevelId()!=null){
queryWrapper.eq("store_member_id",shopStoreMemberLevel.getStoreMemberId());
if (!success) {
log.error("店铺会员升级失败,已达到最大重试次数");
}
}
if(shopStoreMemberLevel.getUserId()!=null){
queryWrapper.eq("user_id",shopStoreMemberLevel.getUserId());
private boolean dealStoreUserLevel(ShopStoreMemberLevel shopStoreMemberLevel){
if(shopStoreMemberLevel.getUserLevelSpend()!=null && shopStoreMemberLevel.getStoreId()!=null && shopStoreMemberLevel.getUserId()!=null){//店铺消费
//查找会员再更新店铺会员等级 todo
QueryWrapper<ShopStoreMemberLevel> params = new QueryWrapper<>();
params.eq("user_id", shopStoreMemberLevel.getUserId());
params.eq("store_id", shopStoreMemberLevel.getStoreId());
List<ShopStoreMemberLevel> shopStoreMemberLevels= shopStoreMemberLevelMapper.selectList(params);
if(shopStoreMemberLevels!=null && !shopStoreMemberLevels.isEmpty()) {
ShopStoreMemberLevel updateShopStoreMemberLevel = shopStoreMemberLevels.get(0);
BigDecimal storeSpend = NumberUtil.add(updateShopStoreMemberLevel.getUserLevelSpend(), shopStoreMemberLevel.getUserLevelSpend());//店铺会员总消费
QueryWrapper<AccountBaseUserLevel> levelQueryWrapper = new QueryWrapper<>();
levelQueryWrapper.le("user_level_spend", storeSpend)
.gt("user_level_spend", "0.00").orderByDesc("user_level_spend");
AccountBaseUserLevel level_row = accountBaseUserLevelMapper.selectOne(levelQueryWrapper);
updateShopStoreMemberLevel.setUserLevelSpend(storeSpend);
if (level_row != null && CheckUtil.isNotEmpty(level_row.getUser_level_id())) {
Integer user_level_id = level_row.getUser_level_id();
String user_level_name = level_row.getUser_level_name();
updateShopStoreMemberLevel.setUserLevelId(user_level_id);
updateShopStoreMemberLevel.setUserLevelName(user_level_name);
}
shopStoreMemberLevelMapper.updateById(updateShopStoreMemberLevel);
}else {
return false;
}
}
return this.list(queryWrapper);
return true;
}

View File

@ -2,17 +2,16 @@ package com.suisung.mall.account.service.impl;
import cn.hutool.json.JSONUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.suisung.mall.account.mapper.AccountUserBindConnectMapper;
import com.suisung.mall.account.mapper.AccountUserInfoMapper;
import com.suisung.mall.account.mapper.ShopStoreMemberLevelMapper;
import com.suisung.mall.account.mapper.ShopStoreMemberMapper;
import com.suisung.mall.account.service.AccountUserBindConnectService;
import com.suisung.mall.account.service.ShopStoreMemberLevelService;
import com.suisung.mall.account.service.ShopStoreMemberService;
import com.suisung.mall.common.api.BindCode;
import com.suisung.mall.common.constant.CommonConstant;
import com.suisung.mall.common.modules.account.AccountUserBindConnect;
import com.suisung.mall.common.modules.account.AccountUserInfo;
import com.suisung.mall.common.modules.store.ShopStoreMember;
import com.suisung.mall.common.modules.store.ShopStoreMemberLevel;
import com.suisung.mall.core.web.service.impl.BaseServiceImpl;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@ -25,17 +24,24 @@ import java.util.List;
*/
@Service
@Slf4j
public class ShopStoreMemberServiceImpl extends BaseServiceImpl<ShopStoreMemberMapper, ShopStoreMember> implements ShopStoreMemberService {
public class ShopStoreMemberServiceImpl implements ShopStoreMemberService {
@Autowired
private ShopStoreMemberLevelService shopStoreMemberLevelService;
private ShopStoreMemberMapper shopStoreMemberMapper;
@Autowired
private AccountUserBindConnectService accountUserBindConnectService;
private AccountUserBindConnectMapper accountUserBindConnectMapper;
@Autowired
private ShopStoreMemberLevelMapper shopStoreMemberLevelMapper;
@Autowired
private AccountUserInfoMapper accountUserInfoMapper;
@Override
public void dealStoreMember(AccountUserInfo accountUserInfo){
AccountUserInfo updateAccountUserInfo= accountUserInfoMapper.selectById(accountUserInfo.getUser_id());
log.info("dealStoreMember-MQ处理店铺会员开始:accountUserInfo:{}", JSONUtil.toJsonStr(accountUserInfo));
if(null!=accountUserInfo.getStore_id()){
log.info("MQ处理店铺会员开始:accountUserInfo:{}", JSONUtil.toJsonStr(accountUserInfo));
Integer store_id = accountUserInfo.getStore_id();
@ -43,15 +49,15 @@ public class ShopStoreMemberServiceImpl extends BaseServiceImpl<ShopStoreMemberM
QueryWrapper<ShopStoreMember> params=new QueryWrapper<>();
params.eq("store_id",store_id);
params.eq("user_id",user_id);
List<ShopStoreMember> shopStoreMembers= this.list(params);
List<ShopStoreMember> shopStoreMembers= shopStoreMemberMapper.selectList(params);
if(shopStoreMembers.isEmpty()){
AccountUserBindConnect paramAccountUserBindConnect=new AccountUserBindConnect();
paramAccountUserBindConnect.setBind_id("+86"+accountUserInfo.getUser_mobile());
paramAccountUserBindConnect.setBind_type(BindCode.MOBILE);
paramAccountUserBindConnect.setUser_id(user_id);
paramAccountUserBindConnect.setBind_active(CommonConstant.Enable);
paramAccountUserBindConnect.setUser_type(0);
List<AccountUserBindConnect> accountUserBindConnectList = accountUserBindConnectService.getAllBindList(paramAccountUserBindConnect);
QueryWrapper<AccountUserBindConnect> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("bind_id", "+86"+updateAccountUserInfo.getUser_mobile());
queryWrapper.eq("bind_type", BindCode.MOBILE)
.eq("user_type", 0)
.eq("user_id", user_id)
.orderByAsc("bind_time");
List<AccountUserBindConnect> accountUserBindConnectList = accountUserBindConnectMapper.selectList(queryWrapper);
if (!accountUserBindConnectList.isEmpty()){
AccountUserBindConnect accountUserBindConnect= accountUserBindConnectList.get(0);
ShopStoreMember shopStoreMember = new ShopStoreMember();
@ -61,10 +67,10 @@ public class ShopStoreMemberServiceImpl extends BaseServiceImpl<ShopStoreMemberM
shopStoreMember.setBind_openid(accountUserBindConnect.getBind_openid());
shopStoreMember.setUserNickname(accountUserBindConnect.getBind_nickname());
shopStoreMember.setUserAccount(accountUserBindConnect.getBind_id());
this.save(shopStoreMember);
shopStoreMemberMapper.insert(shopStoreMember);
ShopStoreMemberLevel shopStoreMemberLevel = getShopStoreMemberLevel(store_id, shopStoreMember);
shopStoreMemberLevel.setUserId(user_id);
shopStoreMemberLevelService.saveOrUpdate(shopStoreMemberLevel);
shopStoreMemberLevelMapper.insert(shopStoreMemberLevel);
}
}
}