解决:订单编码自动生成【上节遗留问题一】
- 文档的查看
1. 【商城订单表】添加一个填值规则——修改页面属性
${shop_order_num}
2. 填值规则的定义
- 规则实现类先默认写
3. 填值规则(编码生成)
1、 在rule包下创建一个OrderNumberRule类
2、将文档中的代码拷贝进去
/**
* 填值规则Demo:生成订单号
* 【测试示例】
*/
public class OrderNumberRule implements IFillRuleHandler {
@Override
public Object execute(JSONObject params, JSONObject formData) {
String prefix = "CN";
//订单前缀默认为CN 如果规则参数不为空,则取自定义前缀
if (params != null) {
Object obj = params.get("prefix");
if (obj != null) prefix = obj.toString();
}
SimpleDateFormat format = new SimpleDateFormat("yyyyMMddHHmmss");
int random = RandomUtils.nextInt(90) + 10;
String value = prefix + format.format(new Date()) + random;
// 根据formData的值的不同,生成不同的订单号
String name = formData.getString("name");
if (!StringUtils.isEmpty(name)) {
value += name;
}
return value;
}
}
3、将创建好的实现类路径填入到规则实现类框中
4、系统编码规则——功能测试
5、【商城订单表】订单编码自动生成——功能演示
4. 实现,订单编码不能修改功能
1、【商城订单表】中的页面属性,将订单编号改为【只读】即可。
2、【商城订单表】订单编码不能修改功能——功能演示