redis

1、防止前端重复提交:

    @ApiOperation(value = "会员开卡", httpMethod = "POST", notes = "会员开卡")
    @PostMapping(value = "/createCard")
    public ResultBean createCard(@RequestBody MemberVo vo){
        ResultBean resultBean = new ResultBean();
        //防止重复提交
        String key = "miniprogram_create_card_"+vo.getPhone();
        if (redisService.exists(key)) {
            resultBean.setMsg("5秒内请勿重复提交");
            resultBean.setCode(ResultBean.FAIL);
            return resultBean;
        }
        redisService.set(key,"",6);

        return iMemberCenterService.createCardEnter(vo);
    }

 2、注册时生成id:

    //会员开卡获取会员卡号
    public String getCardId(String dpId) {
        String parentId = BusinessUtil.getParentId(dpId);
        if (!redisService.exists(parentId + "_cardId")) {
            String sql = "select max(card_id) as card_id from " + parentId + "_account limit 1 ";
            Record record = Db.findFirst(sql);
            if (record != null && record.get("card_id") != null) {
                String newStr = record.getStr("card_id").replaceAll("^(0+)", "");
                redisService.set(dpId + "_cardId", newStr, 0);
            }
        }
        String cardId = redisService.incr(dpId + "_cardId").toString();
        int length = cardId.length();
        for (int i = 0; i < 11 - length; i++) {
            cardId = "0" + cardId;
        }
        return cardId;
    }

 

posted @ 2020-12-08 09:13  zhoudingzhao  阅读(82)  评论(0编辑  收藏  举报