123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475 |
- package com.iamberry.rst.utils;
- import com.iamberry.rst.core.order.OrderBatch;
- import com.iamberry.rst.faces.order.OrderBatchService;
- import com.iamberry.wechat.tools.ResponseJson;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.stereotype.Component;
- import java.text.SimpleDateFormat;
- import java.util.Date;
- /***
- * 用于生成单号
- */
- @Component
- public class GenerateKeyUtil {
- @Autowired
- private OrderBatchService orderBatchService;
- private static SimpleDateFormat SDF_ORDERID = new SimpleDateFormat("yyyyMMddHHmmss");
- private static SimpleDateFormat SDF_BATCH = new SimpleDateFormat("yyMMddHHmm");
- /*订单交易号前两位,D标识一定为手动增加 */
- private final static String SD_ORDER = "D";
- /*手动添加批次编号*/
- private final static String SD_BATCH = "D";
- /*批量添加批次编号*/
- private final static String SC_BATCH = "C";
- /**
- * 获取交易号-手动添加
- * @return
- */
- public static String getSalesOrderKey(){
- return (SD_ORDER + SDF_ORDERID.format(new Date()) + "0" + generateRandomNumber(3));
- }
- /**
- * 获取批次号 setSalesBatchId -- 单个添加
- * @return
- */
- public String getSalesBatchIdSD(){
- Integer orderBatchNum = orderBatchService.getOrderBatchNum(new OrderBatch());
- return ("S"+ SD_BATCH + SDF_BATCH.format(new Date()) + String.format("%08d", orderBatchNum));
- }
- /**
- * 获取批次号 setSalesBatchId -- 批量导入
- * @return
- */
- public String getSalesBatchIdSC(){
- Integer orderBatchNum = orderBatchService.getOrderBatchNum(new OrderBatch());
- return ("S"+ SC_BATCH + SDF_BATCH.format(new Date()) + String.format("%08d", orderBatchNum));
- }
- /**
- * 产生4位随机数
- * @return
- */
- protected static long generateRandomNumber(int n) {
- if (n < 1) {
- throw new IllegalArgumentException("随机数位数必须大于0");
- }
- return (long) (Math.random() * 9 * Math.pow(10, n - 1)) + (long) Math.pow(10, n - 1);
- }
- }
|