Commit e218a74d by 邹磊浩

修改代码

parent 9144c2a3
...@@ -66,13 +66,13 @@ public class InsertTestOrderTask { ...@@ -66,13 +66,13 @@ 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 57 13 * * ?") // 凌晨12点执行
public void insertOrder() throws InterruptedException { public void insertOrder() throws InterruptedException {
// 就诊人员 // 就诊人员
List<UserVsitor> userVsitors = userVsitorMapper.selectList(Wrappers.<UserVsitor>lambdaQuery().last("limit 20")); List<UserVsitor> userVsitors = userVsitorMapper.selectList(Wrappers.<UserVsitor>lambdaQuery().last("limit 20"));
UserVsitor randomElement = getRandomElement(userVsitors);
// 查询固定机构 // 查询固定机构
List<Company> companies = companyMapper.selectList(Wrappers.<Company>lambdaQuery().in(Company::getId, 5, 14, 15, 16, 17,18,19)); List<Company> companies = companyMapper.selectList(Wrappers.<Company>lambdaQuery().in(Company::getId, 5, 14, 15, 16, 17, 18, 19));
// 加入线程池并发执行 // 加入线程池并发执行
ExecutorService executorService = Executors.newFixedThreadPool(10); ExecutorService executorService = Executors.newFixedThreadPool(10);
for (Company company : companies) { for (Company company : companies) {
...@@ -80,88 +80,94 @@ public class InsertTestOrderTask { ...@@ -80,88 +80,94 @@ public class InsertTestOrderTask {
executorService.submit(() -> { 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); List<Services> services = servicesMapper.selectList(Wrappers.<Services>lambdaQuery().eq(Services::getBid, businessId).eq(Services::getCityId, employees.getCityId()));
for (int i = 0; i <= num; i++) { // 每日单量
Long orderId = saveTotalOrder(businessId, employees.getId(), employees.getCityId().intValue(), company.getId()); Integer num = RandomUtil.randomInt(30, 50);
switch (businessId) { for (int i = 0; i <= num; i++) {
case 0: //接单人员
StoreOrder storeOrder = new StoreOrder(); UserVsitor randomElement = getRandomElement(userVsitors);
storeOrder.setOrderId(orderId.intValue()); for (Services service : services) {
Integer storeId = RandomUtil.randomInt(1, 5); Long orderId = saveTotalOrder(businessId, employees.getId(), employees.getCityId().intValue(), company.getId(), service);
storeOrder.setGoodsId(storeId); switch (businessId) {
Integer addressId = RandomUtil.randomInt(1, 9); case 0:
storeOrder.setAddressId(addressId); StoreOrder storeOrder = new StoreOrder();
storeOrder.setStatus(2); storeOrder.setOrderId(orderId.intValue());
storeOrder.setLogistics("顺丰速运"); Integer storeId = RandomUtil.randomInt(1, 5);
storeOrder.setLogisticsCode("SF" + RandomUtil.randomNumbers(16)); storeOrder.setGoodsId(storeId);
storeOrderMapper.insert(storeOrder); Integer addressId = RandomUtil.randomInt(1, 9);
break; storeOrder.setAddressId(addressId);
case 1: storeOrder.setStatus(2);
YypzOrder yypzOrder = new YypzOrder(); storeOrder.setLogistics("顺丰速运");
yypzOrder.setOrderId(orderId.intValue()); storeOrder.setLogisticsCode("SF" + RandomUtil.randomNumbers(16));
yypzOrder.setPhone(generateRandomPhoneNumber()); storeOrderMapper.insert(storeOrder);
yypzOrder.setStatus(2); break;
yypzOrder.setVisitTime(new Date()); case 1:
yypzOrder.setHid(hospital.getId()); YypzOrder yypzOrder = new YypzOrder();
yypzOrder.setVisitor(randomElement.getId()); yypzOrder.setOrderId(orderId.intValue());
yypzOrderMapper.insert(yypzOrder); yypzOrder.setPhone(generateRandomPhoneNumber());
break; yypzOrder.setStatus(2);
case 2: yypzOrder.setVisitTime(new Date());
DbghOrder dbghOrder = new DbghOrder(); yypzOrder.setHid(hospital.getId());
dbghOrder.setOrderId(orderId.intValue()); yypzOrder.setVisitor(randomElement.getId());
dbghOrder.setHid(hospital.getId()); yypzOrderMapper.insert(yypzOrder);
dbghOrder.setStatus(2); break;
dbghOrder.setVisitTime(new Date()); case 2:
dbghOrder.setVisitor(randomElement.getId()); DbghOrder dbghOrder = new DbghOrder();
dbghOrderMapper.insert(dbghOrder); dbghOrder.setOrderId(orderId.intValue());
break; dbghOrder.setHid(hospital.getId());
case 3: dbghOrder.setStatus(2);
DbwzOrder dbwzOrder = new DbwzOrder(); dbghOrder.setVisitTime(new Date());
dbwzOrder.setOrderId(orderId.intValue()); dbghOrder.setVisitor(randomElement.getId());
dbwzOrder.setStatus(2); dbghOrderMapper.insert(dbghOrder);
dbwzOrder.setVisitTime(new Date()); break;
dbwzOrder.setChiefComplaint("电话沟通"); case 3:
dbwzOrder.setHistoryOfPresentIllness("电话沟通"); DbwzOrder dbwzOrder = new DbwzOrder();
dbwzOrder.setLastMedicalTreatmentSituation("电话沟通"); dbwzOrder.setOrderId(orderId.intValue());
dbwzOrder.setPastHistory("电话沟通"); dbwzOrder.setStatus(2);
dbwzOrder.setPostTreatmentCondition("电话沟通"); dbwzOrder.setVisitTime(new Date());
dbwzOrder.setRelatedReports("电话沟通"); dbwzOrder.setChiefComplaint("电话沟通");
dbwzOrder.setServiceRequirements("电话沟通"); dbwzOrder.setHistoryOfPresentIllness("电话沟通");
dbwzOrder.setVisitor(randomElement.getId()); dbwzOrder.setLastMedicalTreatmentSituation("电话沟通");
dbwzOrderMapper.insert(dbwzOrder); dbwzOrder.setPastHistory("电话沟通");
break; dbwzOrder.setPostTreatmentCondition("电话沟通");
case 4: dbwzOrder.setRelatedReports("电话沟通");
ZyphOrder zyphOrder = new ZyphOrder(); dbwzOrder.setServiceRequirements("电话沟通");
zyphOrder.setOrderId(orderId.intValue()); dbwzOrder.setVisitor(randomElement.getId());
zyphOrder.setHid(hospital.getId()); dbwzOrderMapper.insert(dbwzOrder);
zyphOrder.setStatus(2); break;
zyphOrder.setVisitor(randomElement.getId()); case 4:
zyphOrder.setOverTime(new Date()); ZyphOrder zyphOrder = new ZyphOrder();
zyphOrderMapper.insert(zyphOrder); zyphOrder.setOrderId(orderId.intValue());
break; zyphOrder.setHid(hospital.getId());
case 5: zyphOrder.setStatus(2);
DbmyOrder dbmyOrder = new DbmyOrder(); zyphOrder.setVisitor(randomElement.getId());
dbmyOrder.setOrderId(orderId.intValue()); zyphOrder.setOverTime(new Date());
dbmyOrder.setPhone(generateRandomPhoneNumber()); zyphOrderMapper.insert(zyphOrder);
dbmyOrder.setAddress("***"); break;
dbmyOrder.setAddressInfo("***"); case 5:
dbmyOrder.setPzShr(employees.getName()); DbmyOrder dbmyOrder = new DbmyOrder();
dbmyOrder.setPzShPhone(employees.getPhone()); dbmyOrder.setOrderId(orderId.intValue());
dbmyOrderMapper.insert(dbmyOrder); dbmyOrder.setPhone(generateRandomPhoneNumber());
break; dbmyOrder.setAddress("***");
case 6: dbmyOrder.setAddressInfo("***");
ZqghOrder zqghOrder = new ZqghOrder(); dbmyOrder.setPzShr(employees.getName());
zqghOrder.setOrderId(orderId.intValue()); dbmyOrder.setPzShPhone(employees.getPhone());
zqghOrder.setHid(hospital.getId()); dbmyOrderMapper.insert(dbmyOrder);
zqghOrder.setStatus(2); break;
zqghOrder.setOverTime(new Date()); case 6:
zqghOrder.setDoctorId(1); ZqghOrder zqghOrder = new ZqghOrder();
zqghOrderMapper.insert(zqghOrder); zqghOrder.setOrderId(orderId.intValue());
break; zqghOrder.setHid(hospital.getId());
default: zqghOrder.setStatus(2);
break; zqghOrder.setOverTime(new Date());
zqghOrder.setDoctorId(1);
zqghOrderMapper.insert(zqghOrder);
break;
default:
break;
}
} }
} }
} }
...@@ -171,13 +177,9 @@ public class InsertTestOrderTask { ...@@ -171,13 +177,9 @@ public class InsertTestOrderTask {
executorService.awaitTermination(Long.MAX_VALUE, TimeUnit.NANOSECONDS); 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, Services services) {
//随机服务id
Integer serviceId = RandomUtil.randomInt(1, 12);
//随机评价 //随机评价
Integer i = RandomUtil.randomInt(0, 1); Integer i = RandomUtil.randomInt(0, 1);
//获取服务价格
Services services = servicesMapper.selectById(serviceId);
//创建主订单 //创建主订单
TotalOrder totalOrder = new TotalOrder(); TotalOrder totalOrder = new TotalOrder();
totalOrder.setStatus(2); totalOrder.setStatus(2);
...@@ -186,7 +188,7 @@ public class InsertTestOrderTask { ...@@ -186,7 +188,7 @@ public class InsertTestOrderTask {
totalOrder.setIsSatisfaction(i); totalOrder.setIsSatisfaction(i);
totalOrder.setBusinessId(businessId); totalOrder.setBusinessId(businessId);
totalOrder.setFinishTime(new Date()); totalOrder.setFinishTime(new Date());
totalOrder.setServiceId(serviceId); totalOrder.setServiceId(services.getId());
totalOrder.setCityId(cityId); totalOrder.setCityId(cityId);
totalOrder.setOrderSn(RandomUtil.randomNumbers(21)); totalOrder.setOrderSn(RandomUtil.randomNumbers(21));
totalOrder.setEmId(emId); totalOrder.setEmId(emId);
......
...@@ -28,4 +28,14 @@ public class OrderColumnarBo implements Serializable { ...@@ -28,4 +28,14 @@ public class OrderColumnarBo implements Serializable {
* 陪诊员ids * 陪诊员ids
*/ */
private List<Integer> emIds; private List<Integer> emIds;
/**
* 城市id
*/
private Long cityId;
/**
* 机构id
*/
private Long companyId;
} }
...@@ -1248,20 +1248,6 @@ public class TotalOrderServiceImpl implements ITotalOrderService { ...@@ -1248,20 +1248,6 @@ public class TotalOrderServiceImpl implements ITotalOrderService {
public List<OrderLineVo> findOrderColumnarVoList(OrderColumnarBo bo) { public List<OrderLineVo> findOrderColumnarVoList(OrderColumnarBo bo) {
Long roleId = LoginHelper.getLoginUser().getRoleId(); Long roleId = LoginHelper.getLoginUser().getRoleId();
Long userId = LoginHelper.getUserId(); Long userId = LoginHelper.getUserId();
//商户
if (roleId == 3L) {
//查找该商户
Optional.ofNullable(companyMapper.selectOne(Wrappers.<Company>lambdaQuery().eq(Company::getUid, userId).eq(Company::getStatus, 1)))
.ifPresent(company -> {
//获取该商户下所有陪诊员
List<Employees> employees = employeesMapper.selectList(Wrappers.<Employees>lambdaQuery().eq(Employees::getCompanyId, company.getId()));
if (CollectionUtils.isNotEmpty(employees)) {
bo.setEmIds(employees.stream().map(Employees::getId).collect(Collectors.toList()));
} else {
bo.setEmIds(Arrays.asList(999999));
}
});
}
List<OrderLineVo> list = new ArrayList<>(); List<OrderLineVo> list = new ArrayList<>();
List<String> recentDates; List<String> recentDates;
switch (bo.getType()) { switch (bo.getType()) {
...@@ -1277,16 +1263,34 @@ public class TotalOrderServiceImpl implements ITotalOrderService { ...@@ -1277,16 +1263,34 @@ public class TotalOrderServiceImpl implements ITotalOrderService {
default: default:
return list; return list;
} }
// 获取商户和陪诊员信息
if (roleId == 3L) {
Optional.ofNullable(companyMapper.selectOne(Wrappers.<Company>lambdaQuery().eq(Company::getUid, userId).eq(Company::getStatus, 1)))
.ifPresent(company -> {
List<Employees> employees = employeesMapper.selectList(Wrappers.<Employees>lambdaQuery().eq(Employees::getCompanyId, company.getId()));
bo.setEmIds(CollectionUtils.isNotEmpty(employees) ? employees.stream().map(Employees::getId).collect(Collectors.toList()) : Arrays.asList(999999));
});
}
// 获取该城市下所有陪诊员信息
if (bo.getCityId() != null) {
List<Company> companies = companyMapper.selectList(Wrappers.<Company>lambdaQuery().eq(Company::getCityId, bo.getCityId()).eq(null != bo.getCompanyId(), Company::getId, bo.getCompanyId()).eq(Company::getStatus, 1));
if (CollectionUtils.isNotEmpty(companies)) {
List<Employees> employees = employeesMapper.selectList(Wrappers.<Employees>lambdaQuery().in(Employees::getCompanyId, companies.stream().map(Company::getId).collect(Collectors.toList())));
bo.setEmIds(CollectionUtils.isNotEmpty(employees) ? employees.stream().map(Employees::getId).collect(Collectors.toList()) : Arrays.asList(999999));
}
}
// 使用一个 Map 来缓存已经查询过的订单列列表 // 使用一个 Map 来缓存已经查询过的订单列列表
Map<String, List<OrderColumnarVo>> orderMap = new HashMap<>(); Map<String, List<OrderColumnarVo>> orderMap = new HashMap<>();
for (String time : recentDates) { for (String time : recentDates) {
List<OrderColumnarVo> orderColumnarVoList = orderMap.get(time); List<OrderColumnarVo> orderColumnarVoList = orderMap.computeIfAbsent(time, k -> {
if (orderColumnarVoList == null) { List<OrderColumnarVo> columnarVoList = baseMapper.findOrderColumnarVoList(time, bo.getEmIds());
orderColumnarVoList = baseMapper.findOrderColumnarVoList(time, bo.getEmIds());
OrderColumnarVo orderColumnarVo = baseMapper.findStoreOrderVoList(time, bo.getEmIds()); OrderColumnarVo orderColumnarVo = baseMapper.findStoreOrderVoList(time, bo.getEmIds());
orderColumnarVoList.add(orderColumnarVo); columnarVoList.add(orderColumnarVo);
orderMap.put(time, orderColumnarVoList); return columnarVoList;
} });
OrderLineVo orderLineVo = new OrderLineVo(); OrderLineVo orderLineVo = new OrderLineVo();
orderLineVo.setKey(time); orderLineVo.setKey(time);
orderLineVo.setList(orderColumnarVoList); orderLineVo.setList(orderColumnarVoList);
...@@ -1437,7 +1441,7 @@ public class TotalOrderServiceImpl implements ITotalOrderService { ...@@ -1437,7 +1441,7 @@ public class TotalOrderServiceImpl implements ITotalOrderService {
@Override @Override
public DataOrderVo platformRevenue(DataViewBo dataViewBo) { public DataOrderVo platformRevenue(DataViewBo dataViewBo) {
if(null != dataViewBo.getUserId()){ if (null != dataViewBo.getUserId()) {
Company company = companyMapper.selectOne(new LambdaQueryWrapper<Company>().eq(Company::getUid, dataViewBo.getUserId())); Company company = companyMapper.selectOne(new LambdaQueryWrapper<Company>().eq(Company::getUid, dataViewBo.getUserId()));
dataViewBo.setUserId(company.getId().longValue()); dataViewBo.setUserId(company.getId().longValue());
return baseMapper.selectPlatformCom(dataViewBo); return baseMapper.selectPlatformCom(dataViewBo);
......
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