瀏覽代碼

处理订单号重复的问题。

yuj 7 年之前
父節點
當前提交
ae09fe9b1d

+ 8 - 0
src/main/java/com/uas/platform/b2c/prod/product/common/model/CreateNumber.java

@@ -70,4 +70,12 @@ public class CreateNumber {
 		this.number = number;
 	}
 
+	public CreateNumber() {
+	}
+
+	public CreateNumber(String tbname, String time, Integer number) {
+		this.tbname = tbname;
+		this.time = time;
+		this.number = number;
+	}
 }

+ 14 - 0
src/main/java/com/uas/platform/b2c/trade/order/dao/TableTestDao.java

@@ -0,0 +1,14 @@
+package com.uas.platform.b2c.trade.order.dao;
+
+import com.uas.platform.b2c.trade.order.model.TableTest;
+import org.springframework.data.jpa.repository.JpaRepository;
+import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
+import org.springframework.stereotype.Repository;
+
+/**
+ * @author yuj
+ * @date 2018/10/25 11:37
+ */
+@Repository
+public interface TableTestDao extends JpaRepository<TableTest, Long>, JpaSpecificationExecutor<TableTest> {
+}

+ 36 - 0
src/main/java/com/uas/platform/b2c/trade/order/model/TableTest.java

@@ -0,0 +1,36 @@
+package com.uas.platform.b2c.trade.order.model;
+
+import javax.persistence.*;
+import java.io.Serializable;
+
+/**
+ * @author yuj
+ * @date 2018/10/25 11:38
+ */
+@Entity
+@Table(name = "table_test")
+public class TableTest implements Serializable {
+
+    @Id
+    @GeneratedValue(strategy = GenerationType.IDENTITY)
+    private Long id;
+
+    @Column(name = "code")
+    private String code;
+
+    public Long getId() {
+        return id;
+    }
+
+    public void setId(Long id) {
+        this.id = id;
+    }
+
+    public String getCode() {
+        return code;
+    }
+
+    public void setCode(String code) {
+        this.code = code;
+    }
+}

+ 2 - 2
src/test/java/com/uas/platform/b2c/BaseJunitTest.java

@@ -18,8 +18,8 @@ import org.springframework.web.context.WebApplicationContext;
  * @date 2017年11月8日16:48:18
  */
 @RunWith(SpringJUnit4ClassRunner.class)
-@ContextConfiguration("classpath:spring/context.xml")
-@WebAppConfiguration("")
+@ContextConfiguration("classpath:spring/*.xml")
+@WebAppConfiguration("src/main/webapp")
 @Transactional
 @TransactionConfiguration(defaultRollback = true)
 public class BaseJunitTest {

+ 12 - 0
src/test/java/com/uas/platform/b2c/DesTest.java

@@ -3,8 +3,12 @@ package com.uas.platform.b2c;
 import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONObject;
 import com.uas.platform.core.util.Des;
+import org.glassfish.grizzly.utils.ArraySet;
 import org.junit.Test;
 
+import java.util.HashSet;
+import java.util.Set;
+
 public class DesTest {
     @Test
     public void test(){
@@ -61,5 +65,13 @@ public class DesTest {
         Object jsonObject = JSON.parse(str2);
         System.out.println(JSON.toJSONString(jsonObject));
     }
+
+    @Test
+    public void testProduct() {
+        Set<Long> idSet = new HashSet<>();
+        idSet.add(33l);
+        idSet.add(34l);
+        System.out.println(idSet);
+    }
 }
 

+ 9 - 6
src/test/java/com/uas/platform/b2c/Test.java

@@ -6,6 +6,7 @@ import org.springframework.beans.factory.annotation.Autowired;
 
 import java.util.ArrayList;
 import java.util.List;
+import java.util.UUID;
 
 /**
  * description
@@ -29,11 +30,13 @@ public class Test {
 
     @org.junit.Test
     public void testList() {
-        String list = "PreparedStatementCallback; SQL [insert into product$users(pu_date, pu_enuu, pu_prid, pu_useruu) values (?, ?, ?, ?)]; Duplicate entry '10030994-34298797-1000001778' for key 'UNIQUE_ENUU_USERUU_PRID'; nested exception is java.sql.BatchUpdateException: Duplicate entry '10030994-34298797-1000001778' for key 'UNIQUE_ENUU_USERUU_PRID'";
-        int li = list.lastIndexOf("-");
-        String substring = list.substring(0, li);
-        int l = substring.lastIndexOf("-");
-        String substring1 = substring.substring(l + 1);
-        System.out.println(substring1);
+//        String list = "PreparedStatementCallback; SQL [insert into product$users(pu_date, pu_enuu, pu_prid, pu_useruu) values (?, ?, ?, ?)]; Duplicate entry '10030994-34298797-1000001778' for key 'UNIQUE_ENUU_USERUU_PRID'; nested exception is java.sql.BatchUpdateException: Duplicate entry '10030994-34298797-1000001778' for key 'UNIQUE_ENUU_USERUU_PRID'";
+//        int li = list.lastIndexOf("-");
+//        String substring = list.substring(0, li);
+//        int l = substring.lastIndexOf("-");
+//        String substring1 = substring.substring(l + 1);
+//        System.out.println(substring1);
+        UUID uuid = UUID.randomUUID();
+        System.out.println(uuid);
     }
 }

+ 50 - 0
src/test/java/com/uas/platform/b2c/javase/collection/TableOrderTest.java

@@ -0,0 +1,50 @@
+package com.uas.platform.b2c.javase.collection;
+
+import com.uas.platform.b2c.BaseJunitTest;
+import com.uas.platform.b2c.common.base.dao.CommonDao;
+import com.uas.platform.b2c.prod.commodity.dao.ProductDao;
+import com.uas.platform.b2c.prod.commodity.model.Product;
+import com.uas.platform.b2c.prod.product.common.service.CreateNumberService;
+import org.junit.Test;
+import org.springframework.beans.factory.annotation.Autowired;
+
+import javax.annotation.Resource;
+
+/**
+ * 并发测试订单号重复的问题
+ * @author yuj
+ *
+ * @date 2018/10/25 11:36
+ */
+public class TableOrderTest extends BaseJunitTest {
+
+    @Resource
+    private ProductDao productDao;
+
+    @Autowired
+    private CommonDao commonDao;
+
+    @Autowired
+    private CreateNumberService createNumberService;
+
+    @Test
+    public void test() {
+        for(int i = 0; i < 100; i++) {
+            ThreadTableTest test = new ThreadTableTest(commonDao, createNumberService);
+            Thread thread = new Thread(test);
+            thread.start();
+            thread.run();
+        }
+
+    }
+
+    @Test
+    public void testAa() {
+        Product one = productDao.findOne(34301150l);
+        if (one != null) {
+            System.out.println(one);
+        } else {
+            System.out.println("sfsaf");
+        }
+    }
+}