Code Duplication    Length = 13-14 lines in 2 locations

app/util/uuid.js 1 location

@@ 6-19 (lines=14) @@
3
4
module.exports = {
5
6
  uniqueIdOfToday: async function (serverId = 1) {
7
    let timebase = new Date(new Date().setHours(0, 0, 0, 0)).getTime()
8
    let time = Date.now() + Math.random()  // 没有锁,增加随机因子
9
10
    let elapse = (time - timebase) * MULTIPLY_BASE            // 阿里云执行保证不重复
11
    let elapseBin = (parseInt(Math.pow(2, 37) - 1) + parseInt(elapse)).toString(2) // 38bit
12
    let serverIdBin = (Math.pow(2, 4) - 1 + serverId).toString(2)     // 5bit // 1 to 2^4-1 ,即最大支持15台服务器
13
    let random = parseInt(Math.random() * (Math.pow(2, 6) - 1 - 1 + 1) + 1, 10)               //
14
    let randomBin = (Math.pow(2, 6) - 1 + random).toString(2)     // 7bit
15
    let resultBin = elapseBin + serverIdBin + randomBin   // 50bit
16
    // let result = await General.bindec(resultBin)
17
    let result = parseInt(resultBin, 2)
18
    return result
19
  },
20
21
  /* 在部署集群时需要修改不同机器的这个编号。范围1-15 */
22
  // 生成订单号

app/libraries/uuid.js 1 location

@@ 6-18 (lines=13) @@
3
4
module.exports = {
5
6
  uniqueIdOfToday: async function (serverId = 1) {
7
    let timebase = new Date(new Date().setHours(0, 0, 0, 0)).getTime()
8
    let time = Date.now() + Math.random()  // 没有锁,增加随机因子
9
10
    let elapse = (time - timebase) * MULTIPLY_BASE            // 阿里云执行保证不重复
11
    let elapseBin = (parseInt(Math.pow(2, 37) - 1) + parseInt(elapse)).toString(2) // 38bit
12
    let serverIdBin = (Math.pow(2, 4) - 1 + serverId).toString(2)     // 5bit // 1 to 2^4-1 ,即最大支持15台服务器
13
    let random = parseInt(Math.random() * (Math.pow(2, 6) - 1 - 1 + 1) + 1, 10)               //
14
    let randomBin = (Math.pow(2, 6) - 1 + random).toString(2)     // 7bit
15
    let resultBin = elapseBin + serverIdBin + randomBin   // 50bit
16
    let result = parseInt(resultBin, 2)
17
    return result
18
  },
19
20
  /* 在部署集群时需要修改不同机器的这个编号。范围1-15 */
21
  // 生成订单号