Commit 9e4f3c99 by 邹磊浩

insert假数据

parent b4a406bd
......@@ -3,6 +3,7 @@ package com.pz;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.context.metrics.buffering.BufferingApplicationStartup;
import org.springframework.scheduling.annotation.EnableScheduling;
/**
* 启动程序
......@@ -11,6 +12,7 @@ import org.springframework.boot.context.metrics.buffering.BufferingApplicationSt
*/
@SpringBootApplication
@EnableScheduling
public class PeiZhengApplication {
public static void main(String[] args) {
......
package com.pz.web.task;
import cn.hutool.core.util.RandomUtil;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.pz.common.utils.spring.SpringUtils;
import com.pz.merchant.domain.Company;
import com.pz.merchant.domain.Employees;
import com.pz.merchant.domain.EmployeesDivide;
import com.pz.merchant.mapper.CompanyMapper;
import com.pz.merchant.mapper.EmployeesDivideMapper;
import com.pz.merchant.mapper.EmployeesMapper;
import com.pz.merchant.service.ISonOrderService;
import com.pz.system.domain.*;
import com.pz.system.mapper.*;
import com.pz.system.service.impl.*;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.apache.poi.ss.formula.functions.T;
import org.springframework.scheduling.annotation.EnableScheduling;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;
import javax.annotation.PostConstruct;
import java.math.BigDecimal;
import java.util.*;
/**
* 每天12点新增订单数据
*/
@Slf4j
@EnableScheduling
@Component
@RequiredArgsConstructor
public class InsertTestOrderTask {
private final BusinessMapper businessMapper;
private final TotalOrderMapper totalOrderMapper;
private final YypzOrderMapper yypzOrderMapper;
private final DbghOrderMapper dbghOrderMapper;
private final DbwzOrderMapper dbwzOrderMapper;
private final ZyphOrderMapper zyphOrderMapper;
private final ZqghOrderMapper zqghOrderMapper;
private final DbmyOrderMapper dbmyOrderMapper;
private final StoreOrderMapper storeOrderMapper;
private final ServicesMapper servicesMapper;
private final CompanyMapper companyMapper;
private final EmployeesMapper employeesMapper;
private final HospitalMapper hospitalMapper;
private final UserVsitorMapper userVsitorMapper;
private final EmployeesDivideMapper employeesDivideMapper;
public static List<Integer> businessIds = Arrays.asList(0, 1, 2, 3, 4, 5, 6);
@Scheduled(cron = "0 0 0 * * ?") // 每5秒执行一次
public void insertOrder() {
//每日单量
Integer num = RandomUtil.randomInt(30, 50);
//就诊人员
List<UserVsitor> userVsitors = userVsitorMapper.selectList(null);
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));
for (Company company : companies) {
//获取机构下的陪诊员
Employees employees = employeesMapper.selectOne(Wrappers.<Employees>lambdaQuery().eq(Employees::getCompanyId, company.getId()).last("limit 1"));
//随机获取陪诊员所在城市的随机医院
List<Hospital> hospitals = hospitalMapper.selectList(Wrappers.<Hospital>lambdaQuery().eq(Hospital::getCityId, employees.getCityId()).last("limit 10"));
//随机获取城市中某个医院
Hospital hospital = getRandomElement(hospitals);
//遍历所有业务
for (Integer businessId : businessIds) {
//主订单编号
Long orderId = saveTotalOrder(businessId, employees.getId(), employees.getCityId().intValue(), company.getId());
switch (businessId) {
//商城订单
case 0:
StoreOrder storeOrder = new StoreOrder();
storeOrder.setOrderId(orderId.intValue());
Integer storeId = RandomUtil.randomInt(1, 5);
storeOrder.setGoodsId(storeId);
//随机地址id
Integer addressId = RandomUtil.randomInt(1, 9);
storeOrder.setAddressId(addressId);
storeOrder.setStatus(2);
storeOrder.setLogistics("顺丰速运");
storeOrder.setLogisticsCode("SF" + RandomUtil.randomNumbers(16));
storeOrderMapper.insert(storeOrder);
break;
//预约陪诊
case 1:
YypzOrder yypzOrder = new YypzOrder();
yypzOrder.setOrderId(orderId.intValue());
yypzOrder.setPhone(generateRandomPhoneNumber());
yypzOrder.setStatus(2);
yypzOrder.setVisitTime(new Date());
yypzOrder.setHid(hospital.getId());
yypzOrder.setVisitor(randomElement.getId());
yypzOrderMapper.insert(yypzOrder);
break;
//代办挂号
case 2:
DbghOrder dbghOrder = new DbghOrder();
dbghOrder.setOrderId(orderId.intValue());
dbghOrder.setHid(hospital.getId());
dbghOrder.setStatus(2);
dbghOrder.setVisitTime(new Date());
dbghOrder.setVisitor(randomElement.getId());
dbghOrderMapper.insert(dbghOrder);
break;
//代办问诊
case 3:
DbwzOrder dbwzOrder = new DbwzOrder();
dbwzOrder.setOrderId(orderId.intValue());
dbwzOrder.setStatus(2);
dbwzOrder.setVisitTime(new Date());
dbwzOrder.setChiefComplaint("电话沟通");
dbwzOrder.setHistoryOfPresentIllness("电话沟通");
dbwzOrder.setLastMedicalTreatmentSituation("电话沟通");
dbwzOrder.setPastHistory("电话沟通");
dbwzOrder.setPostTreatmentCondition("电话沟通");
dbwzOrder.setRelatedReports("电话沟通");
dbwzOrder.setServiceRequirements("电话沟通");
dbwzOrder.setVisitor(randomElement.getId());
dbwzOrderMapper.insert(dbwzOrder);
break;
//住院陪护
case 4:
ZyphOrder zyphOrder = new ZyphOrder();
zyphOrder.setOrderId(orderId.intValue());
zyphOrder.setHid(hospital.getId());
zyphOrder.setStatus(2);
zyphOrder.setVisitor(randomElement.getId());
zyphOrder.setOverTime(new Date());
zyphOrderMapper.insert(zyphOrder);
break;
//代办买药
case 5:
DbmyOrder dbmyOrder = new DbmyOrder();
dbmyOrder.setOrderId(orderId.intValue());
dbmyOrder.setPhone(generateRandomPhoneNumber());
dbmyOrder.setAddress("***");
dbmyOrder.setAddressInfo("***");
dbmyOrder.setPzShr(employees.getName());
dbmyOrder.setPzShPhone(employees.getPhone());
dbmyOrderMapper.insert(dbmyOrder);
break;
//诊前挂号
case 6:
ZqghOrder zqghOrder = new ZqghOrder();
zqghOrder.setOrderId(orderId.intValue());
zqghOrder.setHid(hospital.getId());
zqghOrder.setStatus(2);
zqghOrder.setOverTime(new Date());
zqghOrder.setDoctorId(1);
zqghOrderMapper.insert(zqghOrder);
break;
default:
}
}
}
}
}
public Long saveTotalOrder(Integer businessId, Integer emId, Integer cityId, Integer companyId) {
//随机服务id
Integer serviceId = RandomUtil.randomInt(1, 12);
//随机评价
Integer i = RandomUtil.randomInt(0, 1);
//获取服务价格
Services services = servicesMapper.selectById(serviceId);
//创建主订单
TotalOrder totalOrder = new TotalOrder();
totalOrder.setStatus(2);
totalOrder.setSuborderStatus(2);
totalOrder.setPayMoney(services.getPrice().doubleValue());
totalOrder.setIsSatisfaction(i);
totalOrder.setBusinessId(businessId);
totalOrder.setFinishTime(new Date());
totalOrder.setServiceId(serviceId);
totalOrder.setCityId(cityId);
totalOrder.setOrderSn(RandomUtil.randomNumbers(21));
totalOrder.setEmId(emId);
totalOrderMapper.insert(totalOrder);
//添加机构收益
EmployeesDivide employeesDivide = new EmployeesDivide();
employeesDivide.setOrderId(totalOrder.getId().intValue());
employeesDivide.setOrderPrice(totalOrder.getPayMoney() + "");
double money = 0;
if (services.getFenmo() == 0) {
money = totalOrder.getPayMoney();
} else if (services.getFenmo() != 0) {
double fenmo = (double) services.getFenmo() / 100;
double v = totalOrder.getPayMoney() * fenmo;
money = totalOrder.getPayMoney() - v;
}
Company company = companyMapper.selectById(companyId);
company.setTotalRevenue((Double.parseDouble(company.getTotalRevenue()) + money) + "");
company.setBalance((Double.parseDouble(company.getBalance()) + money) + "");
employeesDivide.setCompanyId(companyId);
companyMapper.updateById(company);
employeesDivide.setDividePrice(money + "");
employeesDivideMapper.insert(employeesDivide);
return totalOrder.getId();
}
public static String generateRandomPhoneNumber() {
StringBuilder sb = new StringBuilder();
Random random = new Random();
// 手机号码前三位
String[] prefixArray = {"130", "131", "132", "133", "134", "135", "136",
"137", "138", "139", "150", "151", "152", "153", "155", "156",
"157", "158", "159", "180", "181", "182", "183", "185", "186",
"187", "188", "189"};
String prefix = prefixArray[random.nextInt(prefixArray.length)];
sb.append(prefix);
// 手机号码后八位
for (int i = 0; i < 8; i++) {
sb.append(random.nextInt(10));
}
return sb.toString();
}
public static <T> T getRandomElement(List<T> list) {
Random random = new Random();
int index = random.nextInt(list.size());
return list.get(index);
}
public static void main(String[] args) {
}
}
......@@ -694,7 +694,6 @@ public class TotalOrderServiceImpl implements ITotalOrderService {
double v = totalOrder1.getPayMoney() * fenmo;
money = totalOrder1.getPayMoney() - v;
;
}
Employees employees = employeesMapper.selectById(totalOrder1.getEmId());
......
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