|
@@ -0,0 +1,68 @@
|
|
|
+package cn.rankin.task.service;
|
|
|
+
|
|
|
+import cn.rankin.common.utils.constant.Constant;
|
|
|
+import cn.rankin.data.api.trade.entity.SystemSerialNumber;
|
|
|
+import cn.rankin.task.repository.SerialNumberRepository;
|
|
|
+import lombok.extern.slf4j.Slf4j;
|
|
|
+import org.springframework.beans.factory.annotation.Autowired;
|
|
|
+import org.springframework.stereotype.Service;
|
|
|
+
|
|
|
+import javax.transaction.Transactional;
|
|
|
+import java.text.SimpleDateFormat;
|
|
|
+import java.util.Date;
|
|
|
+import java.util.Random;
|
|
|
+
|
|
|
+@Service
|
|
|
+@Slf4j
|
|
|
+public class SerialNumberService {
|
|
|
+
|
|
|
+// @Autowired
|
|
|
+// private SerialNumberRepository serialNumberRepository;
|
|
|
+//
|
|
|
+// @Transactional
|
|
|
+// public Long getMaxSerial(String name, String code) {
|
|
|
+// SystemSerialNumber systemSerialNumber = serialNumberRepository.updateMaxSerial(name, code);
|
|
|
+// if (systemSerialNumber == null) {
|
|
|
+// this.insertSerialNumber(name, code);
|
|
|
+// systemSerialNumber = serialNumberRepository.updateMaxSerial(name, code);
|
|
|
+// }
|
|
|
+// return systemSerialNumber.getMaxSerial();
|
|
|
+// }
|
|
|
+
|
|
|
+// @Transactional
|
|
|
+// public void insertSerialNumber(String name, String code) {
|
|
|
+// SystemSerialNumber systemSerialNumber = new SystemSerialNumber();
|
|
|
+// systemSerialNumber.setMaxSerial(0L);
|
|
|
+// systemSerialNumber.setModuleName(name);
|
|
|
+// systemSerialNumber.setModuleCode(code);
|
|
|
+// systemSerialNumber.setPreMaxNum(10);
|
|
|
+// serialNumberRepository.save(systemSerialNumber);
|
|
|
+// }
|
|
|
+
|
|
|
+ @Transactional
|
|
|
+ public String getMasterOrderSN() {
|
|
|
+ String name = Constant.ORDER_MODULE;
|
|
|
+ String code = Constant.MASTER_ORDER_CODE;
|
|
|
+ return getSerialNumber(name, code);
|
|
|
+ }
|
|
|
+
|
|
|
+ @Transactional
|
|
|
+ public String getSlaveOrderSN() {
|
|
|
+ String name = Constant.ORDER_MODULE;
|
|
|
+ String code = Constant.SLAVE_ORDER_CODE;
|
|
|
+ return getSerialNumber(name, code);
|
|
|
+ }
|
|
|
+
|
|
|
+ @Transactional
|
|
|
+ public String getSerialNumber(String name, String code) {
|
|
|
+ SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyyMMdd");
|
|
|
+
|
|
|
+ Date date = new Date();
|
|
|
+ String dateStr = simpleDateFormat.format(date);
|
|
|
+
|
|
|
+ Random random = new Random();
|
|
|
+ int randNum = (int) (random.nextDouble() * (99999 - 10000 + 1)) + 10000;// 获取5位随机数
|
|
|
+
|
|
|
+ return String.format("%s%05d%s", dateStr, randNum, code);// 当前时间
|
|
|
+ }
|
|
|
+}
|