java根据年月日 加四位编号 自动生成订单号

  public String oderCode(){
        String orderBgegin="DD";
        String orderCode = "";//表中存在的最大订单号
        Calendar cal = Calendar.getInstance();
        int day1 = cal.get(Calendar.DATE);
        String day = String.valueOf(cal.get(Calendar.DATE)).format("%02d", day1);//当前日
        int month1 = cal.get(Calendar.MONTH) + 1;
        String month = String.valueOf(cal.get(Calendar.MONTH) + 1).format("%02d", month1);//当前月
        String year = String.valueOf(cal.get(Calendar.YEAR));//当前年
        String oldday = "";//最大订单号中日
        String oldmonth = "";//最大订单号中日月
        String oldyear = "";//最大订单号中日年
        String oldnum = "";
        //查出数据库中最大的订单号
        ComponentOrder componentOrder=componentOrderMapper.selectList(new QueryWrapper<ComponentOrder>().select("order_code").last("order by create_time desc")).get(0);
        //截取订单号中年月日
        orderCode = componentOrder.getOrderCode();
        oldyear = orderCode.substring(2,6);
        oldmonth = orderCode.substring(6,8);
        oldday = orderCode.substring(8,10);
        oldnum = orderCode.substring(10);
        //判断是否当天最新订单,进行拼接
        if(month.equals(oldmonth) && day.equals(oldday) && year.equals(oldyear)){
            AtomicInteger val = new AtomicInteger(Integer.valueOf(oldnum));
            int nextVal = val.incrementAndGet();
            String i = String.format("%04d", nextVal);
            orderCode = orderBgegin+oldyear+oldmonth+day+i;
        }else{
            orderCode = orderBgegin+year+month+day+"0000";
        }
        return orderCode;
    }
  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值