From d37e3682dbd6d8728243433d334c8e9f170983b2 Mon Sep 17 00:00:00 2001
From: luodangjia <luodangjia>
Date: 星期三, 18 九月 2024 16:45:58 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TOrderInvoiceServiceImpl.java |   68 +++++++++++++++++++++------------
 1 files changed, 43 insertions(+), 25 deletions(-)

diff --git a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TOrderInvoiceServiceImpl.java b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TOrderInvoiceServiceImpl.java
index 6ce5163..6202b2e 100644
--- a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TOrderInvoiceServiceImpl.java
+++ b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TOrderInvoiceServiceImpl.java
@@ -117,7 +117,7 @@
 			return AjaxResult.error("不能重复申请开票,请刷新数据后重试");
 		}
 		SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmssSSS");
-		String code = Math.random() * 1000 + sdf.format(new Date());
+		String code = Double.valueOf(Math.random() * 1000).intValue() + sdf.format(new Date());
 		addOrderInvoice.setAppUserId(userId);
 		addOrderInvoice.setCode(code);
 		addOrderInvoice.setStatus(1);
@@ -155,9 +155,10 @@
 	@Override
 	public List<OrderInvoiceList> getMyOrderInvoiceList(GetOrderInvoiceList query) {
 		Long userId = tokenService.getLoginUserApplet().getUserId();
+		Integer pageCurr = (query.getPageCurr() - 1) * query.getPageSize();
 		List<TOrderInvoice> list = this.list(new LambdaQueryWrapper<TOrderInvoice>().eq(TOrderInvoice::getAppUserId, userId)
 				.eq(TOrderInvoice::getStatus, query.getStatus()).orderByDesc(TOrderInvoice::getCreateTime)
-				.last(" limit " + query.getPageCurr() + ", " + query.getPageSize()));
+				.last(" limit " + pageCurr + ", " + query.getPageSize()));
 		List<OrderInvoiceList> pageList = new ArrayList<>();
 		for (TOrderInvoice tOrderInvoice : list) {
 			OrderInvoiceList orderInvoiceList = new OrderInvoiceList();
@@ -247,12 +248,15 @@
 
 	@Override
 	public PageInfo<TOrderInvoiceVO> pageList(TOrderInvoiceQuery query) {
+		List<TAppUser> tAppUsers = new ArrayList<>();
 		// 查询申请用户
-		List<TAppUser> userList = appUserClient.selectByPhoneLike(query.getUserPhone()).getData();
-		if(CollectionUtils.isEmpty(userList)){
-			return new PageInfo<>();
+		if (org.springframework.util.StringUtils.hasLength(query.getUserPhone())){
+			 tAppUsers = appUserClient.selectByPhoneLike(query.getUserPhone()).getData();
+			if(CollectionUtils.isEmpty(tAppUsers)){
+				return new PageInfo<>();
+			}
 		}
-		query.setUserIds(userList.stream().map(TAppUser::getId).collect(Collectors.toList()));
+		query.setUserIds(tAppUsers.stream().map(TAppUser::getId).collect(Collectors.toList()));
 		PageInfo<TOrderInvoiceVO> pageInfo = new PageInfo<>(query.getPageCurr(),query.getPageSize());
 		List<TOrderInvoiceVO> list = this.baseMapper.pageList(query,pageInfo);
 		for (TOrderInvoiceVO tOrderInvoiceVO : list) {
@@ -269,14 +273,17 @@
 		List<TOrderInvoiceDetail> orderInvoiceDetailList = orderInvoiceDetailService.list(new LambdaQueryWrapper<TOrderInvoiceDetail>()
 				.in(TOrderInvoiceDetail::getOrderInvoiceId, ids));
 
+		List<TAppUser> finalTAppUsers = tAppUsers;
 		list.forEach(e->{
 			e.setServiceTariff(orderInvoiceDetailList.get(0).getServiceTariff());
 			e.setElectricityTariff(orderInvoiceDetailList.get(0).getElectricityTariff());
 			e.setAddedServiceTariff(orderInvoiceDetailList.get(0).getAddedServiceTariff());
-			e.setAddedService(orderInvoiceDetailList.stream().map(TOrderInvoiceDetail::getAddedService).reduce(BigDecimal::add).get());
-			e.setElectrovalence(orderInvoiceDetailList.stream().map(TOrderInvoiceDetail::getElectrovalence).reduce(BigDecimal::add).get());
-			e.setServiceCharge(orderInvoiceDetailList.stream().map(TOrderInvoiceDetail::getServiceCharge).reduce(BigDecimal::add).get());
-			e.setUserPhone(userList.stream().filter(m->m.getId().equals(Long.parseLong(e.getBillingUserId().toString()))).findFirst().get().getPhone());
+			e.setAddedService(orderInvoiceDetailList.stream().filter(t->t.getAddedService()!=null).map(TOrderInvoiceDetail::getAddedService).reduce(BigDecimal::add).get());
+			e.setElectrovalence(orderInvoiceDetailList.stream().filter(t->t.getElectrovalence()!=null).map(TOrderInvoiceDetail::getElectrovalence).reduce(BigDecimal::add).get());
+			e.setServiceCharge(orderInvoiceDetailList.stream().filter(t->t.getServiceCharge()!=null).map(TOrderInvoiceDetail::getServiceCharge).reduce(BigDecimal::add).get());
+			if (e.getBillingUserId()!=null){
+				e.setUserPhone(finalTAppUsers.stream().filter(t->t.getId()!=null).filter(m->m.getId().equals(Long.parseLong(e.getBillingUserId().toString()))).findFirst().get().getPhone());
+			}
 		});
 
 		pageInfo.setRecords(list);
@@ -286,39 +293,50 @@
 	@Override
 	public Map<String, Integer> statusCount(TOrderInvoiceQuery query) {
 		Map<String, Integer> map = new HashMap<>();
-		List<TAppUser> userList = appUserClient.selectByPhoneLike(query.getUserPhone()).getData();
-		if(CollectionUtils.isEmpty(userList)){
-			map.put("notAccepted",0);
-			map.put("processing",0);
-			map.put("finished",0);
-			return map;
+		List<TAppUser> tAppUsers = new ArrayList<>();
+
+		if (org.springframework.util.StringUtils.hasLength(query.getUserPhone())){
+	tAppUsers = appUserClient.selectByPhoneLike(query.getUserPhone()).getData();
+			if(CollectionUtils.isEmpty(tAppUsers)){
+				map.put("notAccepted",0);
+				map.put("processing",0);
+				map.put("finished",0);
+				return map;
+			}
 		}
-		query.setUserIds(userList.stream().map(TAppUser::getId).collect(Collectors.toList()));
+
+		query.setUserIds(tAppUsers.stream().map(TAppUser::getId).collect(Collectors.toList()));
 		map = this.baseMapper.statusCount(query);
 		return map;
 	}
 
 	@Override
 	public List<TOrderInvoiceVO> export(TOrderInvoiceQuery query) {
+		List<TAppUser> tAppUsers = new ArrayList<>();
 		// 查询申请用户
-		List<TAppUser> userList = appUserClient.selectByPhoneLike(query.getUserPhone()).getData();
-		if(CollectionUtils.isEmpty(userList)){
-			return new ArrayList<>();
+		if (org.springframework.util.StringUtils.hasLength(query.getUserPhone())){
+			tAppUsers = appUserClient.selectByPhoneLike(query.getUserPhone()).getData();
+			if(CollectionUtils.isEmpty(tAppUsers)){
+				return new ArrayList<TOrderInvoiceVO>();
+			}
 		}
-		query.setUserIds(userList.stream().map(TAppUser::getId).collect(Collectors.toList()));
+		query.setUserIds(tAppUsers.stream().map(TAppUser::getId).collect(Collectors.toList()));
 		PageInfo<TOrderInvoiceVO> pageInfo = new PageInfo<>(query.getPageCurr(),query.getPageSize());
 		List<TOrderInvoiceVO> list = this.baseMapper.export(query);
 		List<Long> ids = list.stream().map(TOrderInvoiceVO::getId).collect(Collectors.toList());
 		List<TOrderInvoiceDetail> orderInvoiceDetailList = orderInvoiceDetailService.list(new LambdaQueryWrapper<TOrderInvoiceDetail>()
 				.in(TOrderInvoiceDetail::getOrderInvoiceId, ids));
+		List<TAppUser> finalTAppUsers = tAppUsers;
 		list.forEach(e->{
 			e.setServiceTariff(orderInvoiceDetailList.get(0).getServiceTariff());
 			e.setElectricityTariff(orderInvoiceDetailList.get(0).getElectricityTariff());
 			e.setAddedServiceTariff(orderInvoiceDetailList.get(0).getAddedServiceTariff());
-			e.setAddedService(orderInvoiceDetailList.stream().map(TOrderInvoiceDetail::getAddedService).reduce(BigDecimal::add).get());
-			e.setElectrovalence(orderInvoiceDetailList.stream().map(TOrderInvoiceDetail::getElectrovalence).reduce(BigDecimal::add).get());
-			e.setServiceCharge(orderInvoiceDetailList.stream().map(TOrderInvoiceDetail::getServiceCharge).reduce(BigDecimal::add).get());
-			e.setUserPhone(userList.stream().filter(m->m.getId().equals(Long.parseLong(e.getBillingUserId().toString()))).findFirst().get().getPhone());
+			e.setAddedService(orderInvoiceDetailList.stream().filter(t->t.getAddedService()!=null).map(TOrderInvoiceDetail::getAddedService).reduce(BigDecimal::add).get());
+			e.setElectrovalence(orderInvoiceDetailList.stream().filter(t->t.getElectrovalence()!=null).map(TOrderInvoiceDetail::getElectrovalence).reduce(BigDecimal::add).get());
+			e.setServiceCharge(orderInvoiceDetailList.stream().filter(t->t.getServiceCharge()!=null).map(TOrderInvoiceDetail::getServiceCharge).reduce(BigDecimal::add).get());
+			if (e.getBillingUserId()!=null){
+				e.setUserPhone(finalTAppUsers.stream().filter(m->m.getId().equals(Long.parseLong(e.getBillingUserId().toString()))).findFirst().get().getPhone());
+			}
 		});
 		return list;
 	}

--
Gitblit v1.7.1