Commit 94abfe2c by 邹磊浩

修改代码

parent 43e4cc59
...@@ -23,6 +23,9 @@ import org.springframework.stereotype.Component; ...@@ -23,6 +23,9 @@ import org.springframework.stereotype.Component;
import javax.annotation.PostConstruct; import javax.annotation.PostConstruct;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.util.*; import java.util.*;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.concurrent.TimeUnit;
/** /**
* 每天12点新增订单数据 * 每天12点新增订单数据
...@@ -63,38 +66,31 @@ public class InsertTestOrderTask { ...@@ -63,38 +66,31 @@ public class InsertTestOrderTask {
private final EmployeesDivideMapper employeesDivideMapper; private final EmployeesDivideMapper employeesDivideMapper;
public static List<Integer> businessIds = Arrays.asList(0, 1, 2, 3, 4, 5, 6); public static List<Integer> businessIds = Arrays.asList(0, 1, 2, 3, 4, 5, 6);
@Scheduled(cron = "0 0 0 * * ?") // 凌晨12点执行
@Scheduled(cron = "0 0 0 * * ?") // 每5秒执行一次 public void insertOrder() throws InterruptedException {
public void insertOrder() { // 就诊人员
//每日单量 List<UserVsitor> userVsitors = userVsitorMapper.selectList(Wrappers.<UserVsitor>lambdaQuery().last("limit 20"));
Integer num = RandomUtil.randomInt(30, 50);
//就诊人员
List<UserVsitor> userVsitors = userVsitorMapper.selectList(null);
UserVsitor randomElement = getRandomElement(userVsitors); UserVsitor randomElement = getRandomElement(userVsitors);
for (int i = 0; i <= num; i++) { // 查询固定机构
//遍历固定机构
List<Company> companies = companyMapper.selectList(Wrappers.<Company>lambdaQuery().in(Company::getId, 5, 14, 15, 16, 17)); List<Company> companies = companyMapper.selectList(Wrappers.<Company>lambdaQuery().in(Company::getId, 5, 14, 15, 16, 17));
// 加入线程池并发执行
ExecutorService executorService = Executors.newFixedThreadPool(10);
for (Company company : companies) { for (Company company : companies) {
//获取机构下的陪诊员
Employees employees = employeesMapper.selectOne(Wrappers.<Employees>lambdaQuery().eq(Employees::getCompanyId, company.getId()).last("limit 1")); Employees employees = employeesMapper.selectOne(Wrappers.<Employees>lambdaQuery().eq(Employees::getCompanyId, company.getId()).last("limit 1"));
//随机获取陪诊员所在城市的随机医院 executorService.submit(() -> {
List<Hospital> hospitals = hospitalMapper.selectList(Wrappers.<Hospital>lambdaQuery().eq(Hospital::getCityId, employees.getCityId()).last("limit 10")); List<Hospital> hospitals = hospitalMapper.selectList(Wrappers.<Hospital>lambdaQuery().eq(Hospital::getCityId, employees.getCityId()).last("limit 10"));
//随机获取城市中某个医院
Hospital hospital = getRandomElement(hospitals); Hospital hospital = getRandomElement(hospitals);
//遍历所有业务
for (Integer businessId : businessIds) { for (Integer businessId : businessIds) {
//主订单编号 // 每日单量
Integer num = RandomUtil.randomInt(30, 50);
for (int i = 0; i <= num; i++) {
Long orderId = saveTotalOrder(businessId, employees.getId(), employees.getCityId().intValue(), company.getId()); Long orderId = saveTotalOrder(businessId, employees.getId(), employees.getCityId().intValue(), company.getId());
switch (businessId) { switch (businessId) {
//商城订单
case 0: case 0:
StoreOrder storeOrder = new StoreOrder(); StoreOrder storeOrder = new StoreOrder();
storeOrder.setOrderId(orderId.intValue()); storeOrder.setOrderId(orderId.intValue());
Integer storeId = RandomUtil.randomInt(1, 5); Integer storeId = RandomUtil.randomInt(1, 5);
storeOrder.setGoodsId(storeId); storeOrder.setGoodsId(storeId);
//随机地址id
Integer addressId = RandomUtil.randomInt(1, 9); Integer addressId = RandomUtil.randomInt(1, 9);
storeOrder.setAddressId(addressId); storeOrder.setAddressId(addressId);
storeOrder.setStatus(2); storeOrder.setStatus(2);
...@@ -102,7 +98,6 @@ public class InsertTestOrderTask { ...@@ -102,7 +98,6 @@ public class InsertTestOrderTask {
storeOrder.setLogisticsCode("SF" + RandomUtil.randomNumbers(16)); storeOrder.setLogisticsCode("SF" + RandomUtil.randomNumbers(16));
storeOrderMapper.insert(storeOrder); storeOrderMapper.insert(storeOrder);
break; break;
//预约陪诊
case 1: case 1:
YypzOrder yypzOrder = new YypzOrder(); YypzOrder yypzOrder = new YypzOrder();
yypzOrder.setOrderId(orderId.intValue()); yypzOrder.setOrderId(orderId.intValue());
...@@ -113,7 +108,6 @@ public class InsertTestOrderTask { ...@@ -113,7 +108,6 @@ public class InsertTestOrderTask {
yypzOrder.setVisitor(randomElement.getId()); yypzOrder.setVisitor(randomElement.getId());
yypzOrderMapper.insert(yypzOrder); yypzOrderMapper.insert(yypzOrder);
break; break;
//代办挂号
case 2: case 2:
DbghOrder dbghOrder = new DbghOrder(); DbghOrder dbghOrder = new DbghOrder();
dbghOrder.setOrderId(orderId.intValue()); dbghOrder.setOrderId(orderId.intValue());
...@@ -123,7 +117,6 @@ public class InsertTestOrderTask { ...@@ -123,7 +117,6 @@ public class InsertTestOrderTask {
dbghOrder.setVisitor(randomElement.getId()); dbghOrder.setVisitor(randomElement.getId());
dbghOrderMapper.insert(dbghOrder); dbghOrderMapper.insert(dbghOrder);
break; break;
//代办问诊
case 3: case 3:
DbwzOrder dbwzOrder = new DbwzOrder(); DbwzOrder dbwzOrder = new DbwzOrder();
dbwzOrder.setOrderId(orderId.intValue()); dbwzOrder.setOrderId(orderId.intValue());
...@@ -139,7 +132,6 @@ public class InsertTestOrderTask { ...@@ -139,7 +132,6 @@ public class InsertTestOrderTask {
dbwzOrder.setVisitor(randomElement.getId()); dbwzOrder.setVisitor(randomElement.getId());
dbwzOrderMapper.insert(dbwzOrder); dbwzOrderMapper.insert(dbwzOrder);
break; break;
//住院陪护
case 4: case 4:
ZyphOrder zyphOrder = new ZyphOrder(); ZyphOrder zyphOrder = new ZyphOrder();
zyphOrder.setOrderId(orderId.intValue()); zyphOrder.setOrderId(orderId.intValue());
...@@ -149,7 +141,6 @@ public class InsertTestOrderTask { ...@@ -149,7 +141,6 @@ public class InsertTestOrderTask {
zyphOrder.setOverTime(new Date()); zyphOrder.setOverTime(new Date());
zyphOrderMapper.insert(zyphOrder); zyphOrderMapper.insert(zyphOrder);
break; break;
//代办买药
case 5: case 5:
DbmyOrder dbmyOrder = new DbmyOrder(); DbmyOrder dbmyOrder = new DbmyOrder();
dbmyOrder.setOrderId(orderId.intValue()); dbmyOrder.setOrderId(orderId.intValue());
...@@ -160,7 +151,6 @@ public class InsertTestOrderTask { ...@@ -160,7 +151,6 @@ public class InsertTestOrderTask {
dbmyOrder.setPzShPhone(employees.getPhone()); dbmyOrder.setPzShPhone(employees.getPhone());
dbmyOrderMapper.insert(dbmyOrder); dbmyOrderMapper.insert(dbmyOrder);
break; break;
//诊前挂号
case 6: case 6:
ZqghOrder zqghOrder = new ZqghOrder(); ZqghOrder zqghOrder = new ZqghOrder();
zqghOrder.setOrderId(orderId.intValue()); zqghOrder.setOrderId(orderId.intValue());
...@@ -171,10 +161,14 @@ public class InsertTestOrderTask { ...@@ -171,10 +161,14 @@ public class InsertTestOrderTask {
zqghOrderMapper.insert(zqghOrder); zqghOrderMapper.insert(zqghOrder);
break; break;
default: default:
break;
} }
} }
} }
});
} }
executorService.shutdown();
executorService.awaitTermination(Long.MAX_VALUE, TimeUnit.NANOSECONDS);
} }
public Long saveTotalOrder(Integer businessId, Integer emId, Integer cityId, Integer companyId) { public Long saveTotalOrder(Integer businessId, Integer emId, Integer cityId, Integer companyId) {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment