From fa641a85631e9a3de80fb9dac43dc564edca18e7 Mon Sep 17 00:00:00 2001 From: jsowell <123@jsowell.com> Date: Thu, 14 May 2026 17:12:04 +0800 Subject: [PATCH] update --- .../com/jsowell/service/MemberService.java | 43 ++++++++---- .../java/com/jsowell/service/TempService.java | 9 ++- .../com/jsowell/common/util/id/IdUtils.java | 15 ++-- .../jsowell/pile/domain/MemberWalletInfo.java | 4 +- .../pile/mapper/MemberBasicInfoMapper.java | 8 +++ .../pile/mapper/MemberWalletInfoMapper.java | 4 +- .../pile/service/MemberBasicInfoService.java | 8 +++ .../pile/service/MemberWalletInfoService.java | 4 +- .../impl/MemberBasicInfoServiceImpl.java | 22 +++++- .../impl/MemberWalletInfoServiceImpl.java | 4 +- .../mapper/pile/MemberBasicInfoMapper.xml | 8 +++ .../mapper/pile/MemberWalletInfoMapper.xml | 70 +++++++++---------- 12 files changed, 129 insertions(+), 70 deletions(-) diff --git a/jsowell-admin/src/main/java/com/jsowell/service/MemberService.java b/jsowell-admin/src/main/java/com/jsowell/service/MemberService.java index e133014bf..b8f64a187 100644 --- a/jsowell-admin/src/main/java/com/jsowell/service/MemberService.java +++ b/jsowell-admin/src/main/java/com/jsowell/service/MemberService.java @@ -70,6 +70,10 @@ import java.util.stream.Collectors; @Service public class MemberService { + private static final int MAX_MEMBER_ID_GENERATE_RETRY_TIMES = 20; + + private static final int MAX_MEMBER_REGISTER_RETRY_TIMES = 5; + private final Logger log = LoggerFactory.getLogger(this.getClass()); @Autowired @@ -413,14 +417,21 @@ public class MemberService { * @return 注册完成后的会员信息 */ private MemberBasicInfo registerMemberForRegisterAndLoginV2(MemberRegisterAndLoginDTO dto) { - MemberBasicInfo memberBasicInfo = buildNewMemberForRegisterAndLoginV2(dto); - MemberTransactionDTO memberTransactionDTO = buildMemberTransactionForRegisterAndLoginV2(memberBasicInfo, dto.getFirstLevelMerchantId()); - try { - transactionService.createMember(memberTransactionDTO); - return memberBasicInfo; - } catch (DuplicateKeyException e) { - return reloadMemberAfterDuplicateKeyForRegisterAndLoginV2(dto); + for (int attempt = 1; attempt <= MAX_MEMBER_REGISTER_RETRY_TIMES; attempt++) { + MemberBasicInfo memberBasicInfo = buildNewMemberForRegisterAndLoginV2(dto); + MemberTransactionDTO memberTransactionDTO = buildMemberTransactionForRegisterAndLoginV2(memberBasicInfo, dto.getFirstLevelMerchantId()); + try { + transactionService.createMember(memberTransactionDTO); + return memberBasicInfo; + } catch (DuplicateKeyException e) { + MemberBasicInfo existedMember = reloadMemberAfterDuplicateKeyForRegisterAndLoginV2(dto, memberBasicInfo.getMemberId(), attempt); + if (existedMember != null) { + return existedMember; + } + } } + log.error("会员注册重试多次后仍失败, phoneNumber:{}, merchantId:{}", dto.getMobileNumber(), dto.getFirstLevelMerchantId()); + throw new BusinessException(ReturnCodeEnum.CODE_MEMBER_REGISTER_AND_LOGIN_ERROR); } /** @@ -468,12 +479,14 @@ public class MemberService { * @param dto 登录/注册入参 * @return 已存在的会员信息 */ - private MemberBasicInfo reloadMemberAfterDuplicateKeyForRegisterAndLoginV2(MemberRegisterAndLoginDTO dto) { - log.warn("会员注册时检测到唯一索引冲突,重新查询已存在的会员, phoneNumber:{}, merchantId:{}", dto.getMobileNumber(), dto.getFirstLevelMerchantId()); + private MemberBasicInfo reloadMemberAfterDuplicateKeyForRegisterAndLoginV2(MemberRegisterAndLoginDTO dto, String memberId, int attempt) { + log.warn("会员注册时检测到唯一索引冲突,重新查询已存在的会员, phoneNumber:{}, merchantId:{}, candidateMemberId:{}, attempt:{}", + dto.getMobileNumber(), dto.getFirstLevelMerchantId(), memberId, attempt); MemberBasicInfo memberBasicInfo = memberBasicInfoService.selectInfoByMobileNumber(dto.getMobileNumber(), dto.getFirstLevelMerchantId()); if (memberBasicInfo == null) { - log.error("唯一索引冲突后重新查询会员信息为空, phoneNumber:{}, merchantId:{}", dto.getMobileNumber(), dto.getFirstLevelMerchantId()); - throw new BusinessException(ReturnCodeEnum.CODE_MEMBER_REGISTER_AND_LOGIN_ERROR); + log.warn("唯一索引冲突后未查询到手机号对应会员,准备重新生成memberId重试, phoneNumber:{}, merchantId:{}, candidateMemberId:{}, attempt:{}", + dto.getMobileNumber(), dto.getFirstLevelMerchantId(), memberId, attempt); + return null; } return memberBasicInfo; } @@ -535,14 +548,14 @@ public class MemberService { } private String generateNewMemberId() { - while (true) { + for (int attempt = 1; attempt <= MAX_MEMBER_ID_GENERATE_RETRY_TIMES; attempt++) { String memberId = IdUtils.getMemberId(); - // 通过memberId查询是否已经存在 - MemberVO memberVO = memberBasicInfoService.queryMemberInfoByMemberId(memberId); - if (memberVO == null) { + if (!memberBasicInfoService.existsByMemberId(memberId)) { return memberId; } + log.warn("生成memberId命中已存在记录,准备重试, memberId:{}, attempt:{}", memberId, attempt); } + throw new BusinessException(ReturnCodeEnum.CODE_MEMBER_REGISTER_AND_LOGIN_ERROR); } /** diff --git a/jsowell-admin/src/main/java/com/jsowell/service/TempService.java b/jsowell-admin/src/main/java/com/jsowell/service/TempService.java index 373223840..b3a4a94cf 100644 --- a/jsowell-admin/src/main/java/com/jsowell/service/TempService.java +++ b/jsowell-admin/src/main/java/com/jsowell/service/TempService.java @@ -1594,7 +1594,8 @@ public class TempService { return ImportMemberBalanceItemResultDTO.success(phone); } catch (Exception e) { logger.error("导入会员余额失败, phone:{}, param:{}", phone, JSON.toJSONString(memberBalanceDTO), e); - return ImportMemberBalanceItemResultDTO.fail(phone, e.getMessage()); + String errorMessage = e.getClass().getSimpleName() + ": " + e.getMessage(); + return ImportMemberBalanceItemResultDTO.fail(phone, errorMessage); } } @@ -1613,6 +1614,8 @@ public class TempService { // 1. 根据手机号查询万车充会员信息;不存在则静默注册一个属于万车充体系的会员。 MemberBasicInfo memberBasicInfo = findOrCreateJsowellMember(phone); + logger.info("导入会员余额-会员准备完成, phone:{}, memberId:{}, memberMerchantId:{}, balance:{}", + phone, memberBasicInfo.getMemberId(), memberBasicInfo.getMerchantId(), balance); // 2. 给“南通晨鸣中锦置业有限责任公司”运营商钱包增加本金余额。 increaseMemberWalletBalance(memberBasicInfo.getMemberId(), balance); @@ -1653,6 +1656,8 @@ public class TempService { *

如果该运营商钱包不存在,现有余额逻辑会自动创建钱包并记录流水。

*/ private void increaseMemberWalletBalance(String memberId, BigDecimal balance) { + logger.info("导入会员余额-开始增加钱包余额, memberId:{}, targetMerchantId:{}, balance:{}", + memberId, NANTONG_CHENMING_WALLET_MERCHANT_ID, balance); UpdateMemberBalanceDTO updateMemberBalanceDTO = UpdateMemberBalanceDTO.builder() .memberId(memberId) .type(MemberWalletEnum.TYPE_IN.getValue()) @@ -1661,6 +1666,8 @@ public class TempService { .targetMerchantId(NANTONG_CHENMING_WALLET_MERCHANT_ID) .build(); memberBasicInfoService.updateMemberBalance(updateMemberBalanceDTO); + logger.info("导入会员余额-钱包余额增加完成, memberId:{}, targetMerchantId:{}, balance:{}", + memberId, NANTONG_CHENMING_WALLET_MERCHANT_ID, balance); } } diff --git a/jsowell-common/src/main/java/com/jsowell/common/util/id/IdUtils.java b/jsowell-common/src/main/java/com/jsowell/common/util/id/IdUtils.java index cbcfc9207..ea4cb6ce4 100644 --- a/jsowell-common/src/main/java/com/jsowell/common/util/id/IdUtils.java +++ b/jsowell-common/src/main/java/com/jsowell/common/util/id/IdUtils.java @@ -147,15 +147,12 @@ public class IdUtils { * 生成八位会员id */ public static String getMemberId() { - long id = Long.parseLong(SnowflakeIdWorker.getSnowflakeId()); - StringBuilder sb = new StringBuilder(id + ""); - StringBuilder reverse = sb.reverse();// 将id翻转:我们发现id很长,且高位很长部分是一样的数 - id = new Long(reverse.toString()) / 1000;// 切去部分长度 - while (id > 100000000) { - id /= 10; - } - Integer num = Integer.parseInt(id + ""); - return String.valueOf(num); + long snowflakeId = Long.parseLong(SnowflakeIdWorker.getSnowflakeId()); + + // 对雪花 ID 做轻量混洗,再压缩到 8 位数字区间,分布比原来的“反转后截断”更均匀。 + long mixed = snowflakeId ^ (snowflakeId >>> 33) ^ (snowflakeId >>> 17); + long memberId = Math.floorMod(mixed, 90000000L) + 10000000L; + return String.valueOf(memberId); } /** diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/domain/MemberWalletInfo.java b/jsowell-pile/src/main/java/com/jsowell/pile/domain/MemberWalletInfo.java index 1f9415f8a..179be9b29 100644 --- a/jsowell-pile/src/main/java/com/jsowell/pile/domain/MemberWalletInfo.java +++ b/jsowell-pile/src/main/java/com/jsowell/pile/domain/MemberWalletInfo.java @@ -22,7 +22,7 @@ public class MemberWalletInfo { /** * 主键 */ - private Integer id; + private Long id; /** * 会员id @@ -66,4 +66,4 @@ public class MemberWalletInfo { * 删除标识(0-正常;1-删除) */ private String delFlag; -} \ No newline at end of file +} diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/mapper/MemberBasicInfoMapper.java b/jsowell-pile/src/main/java/com/jsowell/pile/mapper/MemberBasicInfoMapper.java index a49ff56d5..1070c0364 100644 --- a/jsowell-pile/src/main/java/com/jsowell/pile/mapper/MemberBasicInfoMapper.java +++ b/jsowell-pile/src/main/java/com/jsowell/pile/mapper/MemberBasicInfoMapper.java @@ -93,6 +93,14 @@ public interface MemberBasicInfoMapper { */ MemberBasicInfo selectInfoByMemberId(String memberId); + /** + * 判断会员id是否已存在。 + * + * @param memberId 会员id + * @return 1-存在;null-不存在 + */ + Integer existsByMemberId(@Param("memberId") String memberId); + /** * 更新会员余额 * @param memberId 会员id diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/mapper/MemberWalletInfoMapper.java b/jsowell-pile/src/main/java/com/jsowell/pile/mapper/MemberWalletInfoMapper.java index 386913244..b77912b8d 100644 --- a/jsowell-pile/src/main/java/com/jsowell/pile/mapper/MemberWalletInfoMapper.java +++ b/jsowell-pile/src/main/java/com/jsowell/pile/mapper/MemberWalletInfoMapper.java @@ -7,7 +7,7 @@ import org.apache.ibatis.annotations.Param; import java.util.List; public interface MemberWalletInfoMapper { - int deleteByPrimaryKey(Integer id); + int deleteByPrimaryKey(Long id); int insert(MemberWalletInfo record); @@ -17,7 +17,7 @@ public interface MemberWalletInfoMapper { int insertSelective(MemberWalletInfo record); - MemberWalletInfo selectByPrimaryKey(Integer id); + MemberWalletInfo selectByPrimaryKey(Long id); int updateByPrimaryKeySelective(MemberWalletInfo record); diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/service/MemberBasicInfoService.java b/jsowell-pile/src/main/java/com/jsowell/pile/service/MemberBasicInfoService.java index 386af72e1..83038944e 100644 --- a/jsowell-pile/src/main/java/com/jsowell/pile/service/MemberBasicInfoService.java +++ b/jsowell-pile/src/main/java/com/jsowell/pile/service/MemberBasicInfoService.java @@ -91,6 +91,14 @@ public interface MemberBasicInfoService { */ MemberBasicInfo selectInfoByMemberId(String memberId); + /** + * 判断指定会员id是否已经存在。 + * + * @param memberId 会员id + * @return true-已存在;false-不存在 + */ + boolean existsByMemberId(String memberId); + String generateWalletCode(); /** diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/service/MemberWalletInfoService.java b/jsowell-pile/src/main/java/com/jsowell/pile/service/MemberWalletInfoService.java index 06c73c307..4bd83e6bc 100644 --- a/jsowell-pile/src/main/java/com/jsowell/pile/service/MemberWalletInfoService.java +++ b/jsowell-pile/src/main/java/com/jsowell/pile/service/MemberWalletInfoService.java @@ -6,13 +6,13 @@ import com.jsowell.pile.vo.base.MemberWalletVO; import java.util.List; public interface MemberWalletInfoService { - int deleteByPrimaryKey(Integer id); + int deleteByPrimaryKey(Long id); int insert(MemberWalletInfo record); int insertSelective(MemberWalletInfo record); - MemberWalletInfo selectByPrimaryKey(Integer id); + MemberWalletInfo selectByPrimaryKey(Long id); MemberWalletInfo selectByMemberId(String memberId, String merchantId); diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/MemberBasicInfoServiceImpl.java b/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/MemberBasicInfoServiceImpl.java index 2cb20b99a..7d1455f3d 100644 --- a/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/MemberBasicInfoServiceImpl.java +++ b/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/MemberBasicInfoServiceImpl.java @@ -180,6 +180,11 @@ public class MemberBasicInfoServiceImpl implements MemberBasicInfoService { return memberBasicInfoMapper.selectInfoByMemberId(memberId); } + @Override + public boolean existsByMemberId(String memberId) { + return memberBasicInfoMapper.existsByMemberId(memberId) != null; + } + /** * 生成钱包卡号WalletCode * @return @@ -267,8 +272,16 @@ public class MemberBasicInfoServiceImpl implements MemberBasicInfoService { createBy = SecurityUtils.getLoginUser().getUserId() + ""; } - // 查询用户余额 - MemberWalletInfo walletInfo = memberWalletInfoService.selectByMemberId(memberId, targetMerchantId); + log.info("修改用户余额-开始查询钱包, memberId:{}, targetMerchantId:{}, type:{}, subType:{}, updatePrincipalBalance:{}, updateGiftBalance:{}", + memberId, targetMerchantId, type, dto.getSubType(), updatePrincipalBalance, updateGiftBalance); + MemberWalletInfo walletInfo; + try { + walletInfo = memberWalletInfoService.selectByMemberId(memberId, targetMerchantId); + } catch (Exception e) { + log.error("修改用户余额-查询钱包异常, memberId:{}, targetMerchantId:{}, memberIdLength:{}, exceptionType:{}", + memberId, targetMerchantId, memberId == null ? null : memberId.length(), e.getClass().getName(), e); + throw e; + } log.info("修改用户余额-根据会员id:{}, 目标运营商id:{}, 查询结果:{}", memberId, targetMerchantId, JSON.toJSONString(walletInfo)); if (walletInfo == null) { log.info("修改用户余额-根据会员id:{}, 目标运营商id:{}, 查询会员信息为空, 新建会员钱包", memberId, targetMerchantId); @@ -282,6 +295,11 @@ public class MemberBasicInfoServiceImpl implements MemberBasicInfoService { .version(0) .build(); memberWalletInfoService.insertSelective(walletInfo); + log.info("修改用户余额-会员钱包创建完成, memberId:{}, targetMerchantId:{}, walletId:{}, walletCode:{}", + memberId, targetMerchantId, walletInfo.getId(), walletInfo.getWalletCode()); + } else { + log.info("修改用户余额-命中会员钱包, memberId:{}, targetMerchantId:{}, walletId:{}, walletCode:{}, version:{}", + memberId, targetMerchantId, walletInfo.getId(), walletInfo.getWalletCode(), walletInfo.getVersion()); } // 钱包编号 diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/MemberWalletInfoServiceImpl.java b/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/MemberWalletInfoServiceImpl.java index 4be888a50..e8369c07e 100644 --- a/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/MemberWalletInfoServiceImpl.java +++ b/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/MemberWalletInfoServiceImpl.java @@ -25,7 +25,7 @@ public class MemberWalletInfoServiceImpl implements MemberWalletInfoService { private PileMerchantInfoService pileMerchantInfoService; @Override - public int deleteByPrimaryKey(Integer id) { + public int deleteByPrimaryKey(Long id) { return memberWalletInfoMapper.deleteByPrimaryKey(id); } @@ -40,7 +40,7 @@ public class MemberWalletInfoServiceImpl implements MemberWalletInfoService { } @Override - public MemberWalletInfo selectByPrimaryKey(Integer id) { + public MemberWalletInfo selectByPrimaryKey(Long id) { return memberWalletInfoMapper.selectByPrimaryKey(id); } diff --git a/jsowell-pile/src/main/resources/mapper/pile/MemberBasicInfoMapper.xml b/jsowell-pile/src/main/resources/mapper/pile/MemberBasicInfoMapper.xml index 1b262b865..d165862fc 100644 --- a/jsowell-pile/src/main/resources/mapper/pile/MemberBasicInfoMapper.xml +++ b/jsowell-pile/src/main/resources/mapper/pile/MemberBasicInfoMapper.xml @@ -173,6 +173,14 @@ and member_id = #{memberId,jdbcType=VARCHAR} + + update member_wallet_info diff --git a/jsowell-pile/src/main/resources/mapper/pile/MemberWalletInfoMapper.xml b/jsowell-pile/src/main/resources/mapper/pile/MemberWalletInfoMapper.xml index ed393f696..15aea28ec 100644 --- a/jsowell-pile/src/main/resources/mapper/pile/MemberWalletInfoMapper.xml +++ b/jsowell-pile/src/main/resources/mapper/pile/MemberWalletInfoMapper.xml @@ -4,7 +4,7 @@ - + @@ -22,17 +22,17 @@ id, member_id, merchant_id, wallet_code, principal_balance, gift_balance, version, create_by, create_time, update_by, update_time, del_flag - select from member_wallet_info - where id = #{id,jdbcType=INTEGER} + where id = #{id,jdbcType=BIGINT} - + delete from member_wallet_info - where id = #{id,jdbcType=INTEGER} + where id = #{id,jdbcType=BIGINT} @@ -157,7 +157,7 @@ del_flag = #{delFlag,jdbcType=CHAR}, - where id = #{id,jdbcType=INTEGER} + where id = #{id,jdbcType=BIGINT} @@ -173,7 +173,7 @@ update_by = #{updateBy,jdbcType=VARCHAR}, update_time = #{updateTime,jdbcType=TIMESTAMP}, del_flag = #{delFlag,jdbcType=CHAR} - where id = #{id,jdbcType=INTEGER} + where id = #{id,jdbcType=BIGINT} @@ -181,63 +181,63 @@ - when id = #{item.id,jdbcType=INTEGER} then #{item.memberId,jdbcType=VARCHAR} + when id = #{item.id,jdbcType=BIGINT} then #{item.memberId,jdbcType=VARCHAR} - when id = #{item.id,jdbcType=INTEGER} then #{item.merchantId,jdbcType=VARCHAR} + when id = #{item.id,jdbcType=BIGINT} then #{item.merchantId,jdbcType=VARCHAR} - when id = #{item.id,jdbcType=INTEGER} then #{item.walletCode,jdbcType=VARCHAR} + when id = #{item.id,jdbcType=BIGINT} then #{item.walletCode,jdbcType=VARCHAR} - when id = #{item.id,jdbcType=INTEGER} then #{item.principalBalance,jdbcType=DECIMAL} + when id = #{item.id,jdbcType=BIGINT} then #{item.principalBalance,jdbcType=DECIMAL} - when id = #{item.id,jdbcType=INTEGER} then #{item.giftBalance,jdbcType=DECIMAL} + when id = #{item.id,jdbcType=BIGINT} then #{item.giftBalance,jdbcType=DECIMAL} - when id = #{item.id,jdbcType=INTEGER} then #{item.version,jdbcType=INTEGER} + when id = #{item.id,jdbcType=BIGINT} then #{item.version,jdbcType=INTEGER} - when id = #{item.id,jdbcType=INTEGER} then #{item.createBy,jdbcType=VARCHAR} + when id = #{item.id,jdbcType=BIGINT} then #{item.createBy,jdbcType=VARCHAR} - when id = #{item.id,jdbcType=INTEGER} then #{item.createTime,jdbcType=TIMESTAMP} + when id = #{item.id,jdbcType=BIGINT} then #{item.createTime,jdbcType=TIMESTAMP} - when id = #{item.id,jdbcType=INTEGER} then #{item.updateBy,jdbcType=VARCHAR} + when id = #{item.id,jdbcType=BIGINT} then #{item.updateBy,jdbcType=VARCHAR} - when id = #{item.id,jdbcType=INTEGER} then #{item.updateTime,jdbcType=TIMESTAMP} + when id = #{item.id,jdbcType=BIGINT} then #{item.updateTime,jdbcType=TIMESTAMP} - when id = #{item.id,jdbcType=INTEGER} then #{item.delFlag,jdbcType=CHAR} + when id = #{item.id,jdbcType=BIGINT} then #{item.delFlag,jdbcType=CHAR} where id in - #{item.id,jdbcType=INTEGER} + #{item.id,jdbcType=BIGINT} @@ -247,84 +247,84 @@ - when id = #{item.id,jdbcType=INTEGER} then #{item.memberId,jdbcType=VARCHAR} + when id = #{item.id,jdbcType=BIGINT} then #{item.memberId,jdbcType=VARCHAR} - when id = #{item.id,jdbcType=INTEGER} then #{item.merchantId,jdbcType=VARCHAR} + when id = #{item.id,jdbcType=BIGINT} then #{item.merchantId,jdbcType=VARCHAR} - when id = #{item.id,jdbcType=INTEGER} then #{item.walletCode,jdbcType=VARCHAR} + when id = #{item.id,jdbcType=BIGINT} then #{item.walletCode,jdbcType=VARCHAR} - when id = #{item.id,jdbcType=INTEGER} then #{item.principalBalance,jdbcType=DECIMAL} + when id = #{item.id,jdbcType=BIGINT} then #{item.principalBalance,jdbcType=DECIMAL} - when id = #{item.id,jdbcType=INTEGER} then #{item.giftBalance,jdbcType=DECIMAL} + when id = #{item.id,jdbcType=BIGINT} then #{item.giftBalance,jdbcType=DECIMAL} - when id = #{item.id,jdbcType=INTEGER} then #{item.version,jdbcType=INTEGER} + when id = #{item.id,jdbcType=BIGINT} then #{item.version,jdbcType=INTEGER} - when id = #{item.id,jdbcType=INTEGER} then #{item.createBy,jdbcType=VARCHAR} + when id = #{item.id,jdbcType=BIGINT} then #{item.createBy,jdbcType=VARCHAR} - when id = #{item.id,jdbcType=INTEGER} then #{item.createTime,jdbcType=TIMESTAMP} + when id = #{item.id,jdbcType=BIGINT} then #{item.createTime,jdbcType=TIMESTAMP} - when id = #{item.id,jdbcType=INTEGER} then #{item.updateBy,jdbcType=VARCHAR} + when id = #{item.id,jdbcType=BIGINT} then #{item.updateBy,jdbcType=VARCHAR} - when id = #{item.id,jdbcType=INTEGER} then #{item.updateTime,jdbcType=TIMESTAMP} + when id = #{item.id,jdbcType=BIGINT} then #{item.updateTime,jdbcType=TIMESTAMP} - when id = #{item.id,jdbcType=INTEGER} then #{item.delFlag,jdbcType=CHAR} + when id = #{item.id,jdbcType=BIGINT} then #{item.delFlag,jdbcType=CHAR} where id in - #{item.id,jdbcType=INTEGER} + #{item.id,jdbcType=BIGINT} @@ -363,7 +363,7 @@ values - #{id,jdbcType=INTEGER}, + #{id,jdbcType=BIGINT}, #{memberId,jdbcType=VARCHAR}, #{merchantId,jdbcType=VARCHAR}, @@ -380,7 +380,7 @@ on duplicate key update - id = #{id,jdbcType=INTEGER}, + id = #{id,jdbcType=BIGINT}, member_id = #{memberId,jdbcType=VARCHAR}, merchant_id = #{merchantId,jdbcType=VARCHAR}, @@ -439,7 +439,7 @@ values - #{id,jdbcType=INTEGER}, + #{id,jdbcType=BIGINT}, #{memberId,jdbcType=VARCHAR}, @@ -478,7 +478,7 @@ on duplicate key update - id = #{id,jdbcType=INTEGER}, + id = #{id,jdbcType=BIGINT}, member_id = #{memberId,jdbcType=VARCHAR},