4e4b0962dbada6e5d54f358416f81afefdb6304c.svn-base 1.1 KB

123456789101112131415161718192021222324252627282930313233343536
  1. package org.jeecg.modules.system.rule;
  2. import com.alibaba.fastjson.JSONObject;
  3. import org.apache.commons.lang.StringUtils;
  4. import org.apache.commons.lang.math.RandomUtils;
  5. import org.jeecg.common.handler.IFillRuleHandler;
  6. import java.text.SimpleDateFormat;
  7. import java.util.Date;
  8. /**
  9. * 填值规则Demo:生成订单号
  10. * 【测试示例】
  11. */
  12. public class OrderNumberRule implements IFillRuleHandler {
  13. @Override
  14. public Object execute(JSONObject params, JSONObject formData) {
  15. String prefix = "CN";
  16. //订单前缀默认为CN 如果规则参数不为空,则取自定义前缀
  17. if (params != null) {
  18. Object obj = params.get("prefix");
  19. if (obj != null) prefix = obj.toString();
  20. }
  21. SimpleDateFormat format = new SimpleDateFormat("yyyyMMddHHmmss");
  22. int random = RandomUtils.nextInt(90) + 10;
  23. String value = prefix + format.format(new Date()) + random;
  24. // 根据formData的值的不同,生成不同的订单号
  25. String name = formData.getString("name");
  26. if (!StringUtils.isEmpty(name)) {
  27. value += name;
  28. }
  29. return value;
  30. }
  31. }