update 防止会员id重复

This commit is contained in:
2023-05-06 16:02:25 +08:00
parent 03db75f0bc
commit 4e97caf912
3 changed files with 19 additions and 9 deletions

View File

@@ -121,7 +121,7 @@ public class MemberService {
MemberBasicInfo memberBasicInfo = memberBasicInfoService.selectInfoByMobileNumberAndMerchantId(phoneNumber, merchantId);
if (Objects.isNull(memberBasicInfo)) {
// 不存在则新增数据
String memberId = IdUtils.getMemberId();
String memberId = generateNewMemberId();
memberBasicInfo = new MemberBasicInfo();
memberBasicInfo.setStatus(Constants.ONE);
memberBasicInfo.setMemberId(memberId);
@@ -149,6 +149,17 @@ public class MemberService {
return memberToken;
}
private String generateNewMemberId() {
while (true) {
String memberId = IdUtils.getMemberId();
// 通过memberId查询是否已经存在
MemberVO memberVO = memberBasicInfoService.queryMemberInfoByMemberId(memberId);
if (memberVO == null) {
return memberId;
}
}
}
/**
* 微信一键登录
* @param dto

View File

@@ -31,7 +31,6 @@ import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
import java.util.Locale;
/**
* 会员基础信息Controller
@@ -91,12 +90,12 @@ public class MemberBasicInfoController extends BaseController {
/**
* 新增会员基础信息
*/
@PreAuthorize("@ss.hasPermi('member:info:add')")
@Log(title = "会员基础信息", businessType = BusinessType.INSERT)
@PostMapping
public AjaxResult add(@RequestBody MemberBasicInfo memberBasicInfo) {
return toAjax(memberBasicInfoService.insertMemberBasicInfo(memberBasicInfo));
}
// @PreAuthorize("@ss.hasPermi('member:info:add')")
// @Log(title = "会员基础信息", businessType = BusinessType.INSERT)
// @PostMapping
// public AjaxResult add(@RequestBody MemberBasicInfo memberBasicInfo) {
// return toAjax(memberBasicInfoService.insertMemberBasicInfo(memberBasicInfo));
// }
/**
* 修改会员基础信息

View File

@@ -190,7 +190,7 @@
t2.gift_balance as giftBalance
FROM
member_basic_info t1
JOIN member_wallet_info t2 ON t1.member_id = t2.member_id
left JOIN member_wallet_info t2 ON t1.member_id = t2.member_id
where t1.del_flag = '0'
and t1.member_id = #{memberId,jdbcType=VARCHAR}
</select>