后端解决jeecgBoot代码生成订单编码不好使
·
问题描述
最近在学习jeecgboot的时候发现,一对多生成代码的时候,订单编码不好使,在线开发测试时是会自动生成订单的,可是生成代码后发现并没有了,如下:

解决办法
通过查询jeecgboot官网发现,这个是原本就存在的问题,当我们代码生成的时候,伴随的js增强、编码规则等不会随着生成,需要我们后边自己去添加,基于我是后端开发人员,所以本文是通过后端办法去解决的。
基于后端解决,就需要我们把添加页面的自动生成订单号隐藏,通过保存信息后自动生成订单号,
一、创建一个自动生成编码的工具
public class OrderUtils {
/**
* 前缀
*/
private static final String prefix = "CN";
/**
* 随即编码
*/
private static final int[] r = new int[]{7, 9, 6, 2, 8, 1, 3, 0, 5, 4};
private static StringBuilder toCode(String shopOrderId) {
String idStr = shopOrderId.toString();
StringBuilder idsbs = new StringBuilder();
for (int i = idStr.length() - 1; i >= 0; i--) {
idsbs.append(r[idStr.charAt(i) - '0']);
}
return idsbs.append(getRandom());
}
/**
* 生成时间戳
*/
private static String getDateTime() {
DateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmss");
return sdf.format(new Date());
}
/**
* 生成不带类别标头的编码
*/
private static synchronized String getCode(String shopOrderId) {
shopOrderId = shopOrderId == null ? "" : shopOrderId;
return getDateTime() + toCode(shopOrderId);
}
/**
* 生成固定长度随机码
*/
private static int getRandom() {
int random = RandomUtils.nextInt(90) + 10;
return random;
}
/**
* 生成订单单号编码(调用方法)
*/
public static String getOrderCode(String shopOrderId) {
return prefix + getCode(shopOrderId);
}
}二、修改添加方法、添加如下信息

基于以上就可以完成自动生成订单编号了

如果您有更好的方法,期待您的分享☺
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐


所有评论(0)