|
@@ -133,21 +133,15 @@ public class QywxUserDataService {
|
|
|
userBase.setCreateTime(new Date(createTime * 1000));
|
|
|
}
|
|
|
|
|
|
- // 查询是否已存在
|
|
|
- UserBaseExample example = new UserBaseExample();
|
|
|
- log.info("processBaseInfo, vid: {}, uuid: {}", data.vid.toString(), envelop.getUuid());
|
|
|
- example.createCriteria().andVidEqualTo(data.vid.toString());
|
|
|
- List<UserBase> existUsers = userBaseMapper.selectByExample(example);
|
|
|
- if (!existUsers.isEmpty()) {
|
|
|
- log.info("User already exists, updating: {}", data.vid);
|
|
|
- UserBase existUser = existUsers.get(0);
|
|
|
- userBase.setId(existUser.getId());
|
|
|
- userBase.setCreateTime(existUser.getCreateTime());
|
|
|
- UserBaseExample updateExample = new UserBaseExample();
|
|
|
- updateExample.createCriteria().andVidEqualTo(data.vid.toString());
|
|
|
- userBaseMapper.updateByExampleSelective(userBase, updateExample); // 按 vid 更新 } else {
|
|
|
- userBaseMapper.insertSelective(userBase);
|
|
|
- }
|
|
|
+ // 2. 根据 vid 删除所有旧记录
|
|
|
+ UserBaseExample deleteExample = new UserBaseExample();
|
|
|
+ deleteExample.createCriteria().andVidEqualTo(data.vid.toString());
|
|
|
+ int deletedCount = userBaseMapper.deleteByExample(deleteExample);
|
|
|
+ log.info("Deleted {} old records for vid: {}", deletedCount, data.vid);
|
|
|
+
|
|
|
+ // 3. 插入新记录
|
|
|
+ userBaseMapper.insertSelective(userBase);
|
|
|
+ log.info("Inserted new record for vid: {}", data.vid);
|
|
|
}
|
|
|
|
|
|
public void cancelScanCode(String originalJson) {
|