0
点赞
收藏
分享

微信扫一扫

SpringBoot + Kotlin 中使用 GRPC 进行服务通信

惠特曼 2023-07-13 阅读 88

业务需求
被修改的记录生成一条状态为未生效的记录 原纪录不变 被复核后 删除原来的记录 同时被复核的记录修改为已启用,状态有未生效0,复核1,已启用2,停用3
思考
1.可能记录被修改多次 生成多条未生效的记录。
2.被修改记录的状态也可能是未生效。
解决:1.设置一个业务id,主键id为自增,填充业务id与id一致,在修改保存后生成一条状态为未生效的记录,并且把当前id插入新记录的业务id里
2.被复核后,删除之前的已生效记录,根据业务id一致的原理,删除状态为非未生效 而且业务id一致的记录。
3.根据id把刚刚未生效记录的状态改为已启用。

public void updateAssetTranConfig(AssetTranConfig map) {
        map.setStatus("0");
        String date = String.valueOf(calendarMapper.getBussinessDate());
        String userId = String.valueOf(ContextHolder.getUser().getUserId());
        map.setModBy(userId);
        map.setModDate(date);
        map.setNaturalKey(map.getID());
        assetTranConfigMapper.insertAssetTranConfig(map);
    }
 public void updateStatus(AssetTranConfig map) {
        String status = map.getStatus();
        String date = String.valueOf(calendarMapper.getBussinessDate());
        String userId = String.valueOf(ContextHolder.getUser().getUserId());
        if (status.equals("1")) {
            assetTranConfigMapper.deleteAssetTranConfig(map);
            map.setReviewedBy(userId);
            map.setReViewDate(date);
            map.setStatus("2");
            assetTranConfigMapper.updateAssetTranConfig(map);
        } else if (!status.equals("0")) {
            map.setModBy(userId);
            map.setModDate(date);
            assetTranConfigMapper.updateAssetTranConfig(map);
        }
    }
举报

相关推荐

0 条评论