mirror of
https://codeup.aliyun.com/67c68d4e484ca2f0a13ac3c1/ydc/jsowell-charger-web.git
synced 2026-04-20 11:05:18 +08:00
查询用户可申请开票的订单列表
This commit is contained in:
@@ -15,6 +15,7 @@ import com.jsowell.pile.dto.QueryOrderDTO;
|
||||
import com.jsowell.pile.dto.SettleOrderDTO;
|
||||
import com.jsowell.pile.dto.StopChargingDTO;
|
||||
import com.jsowell.pile.dto.UniAppQueryOrderDTO;
|
||||
import com.jsowell.pile.vo.uniapp.OrderVO;
|
||||
import com.jsowell.pile.vo.uniapp.UniAppOrderVO;
|
||||
import com.jsowell.service.OrderService;
|
||||
import com.jsowell.service.PileRemoteService;
|
||||
@@ -27,6 +28,7 @@ import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
@@ -241,4 +243,26 @@ public class OrderController extends BaseController {
|
||||
logger.info("关闭支付未启动的订单 result:{}", response);
|
||||
return response;
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询未开发票订单
|
||||
* 时间限制60天内
|
||||
*/
|
||||
@PostMapping("/queryUninvoicedOrderList")
|
||||
public RestApiResponse<?> queryUninvoicedOrderList(HttpServletRequest request, @RequestBody QueryOrderDTO dto) {
|
||||
logger.info("查询未开发票订单 param:{}", JSONObject.toJSONString(dto));
|
||||
RestApiResponse<?> response;
|
||||
try {
|
||||
String memberId = getMemberIdByAuthorization(request);
|
||||
if (StringUtils.isBlank(memberId)) {
|
||||
throw new BusinessException(ReturnCodeEnum.CODE_PARAM_NOT_NULL_ERROR);
|
||||
}
|
||||
List<OrderVO> list = orderService.queryUninvoicedOrderList(dto);
|
||||
response = new RestApiResponse<>(ImmutableMap.of("list", list));
|
||||
} catch (Exception e){
|
||||
logger.error("查询未开发票订单 error", e);
|
||||
response = new RestApiResponse<>("00300003", "查询未开发票订单异常");
|
||||
}
|
||||
return response;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -30,6 +30,7 @@ import com.jsowell.common.util.id.IdUtils;
|
||||
import com.jsowell.pile.domain.MemberTransactionRecord;
|
||||
import com.jsowell.pile.domain.OrderBasicInfo;
|
||||
import com.jsowell.pile.domain.OrderDetail;
|
||||
import com.jsowell.pile.domain.OrderInvoiceRecord;
|
||||
import com.jsowell.pile.domain.OrderPayRecord;
|
||||
import com.jsowell.pile.domain.WxpayCallbackRecord;
|
||||
import com.jsowell.pile.dto.BasicPileDTO;
|
||||
@@ -40,6 +41,7 @@ import com.jsowell.pile.dto.PayOrderDTO;
|
||||
import com.jsowell.pile.dto.PayOrderSuccessCallbackDTO;
|
||||
import com.jsowell.pile.dto.PaymentScenarioDTO;
|
||||
import com.jsowell.pile.dto.QueryConnectorListDTO;
|
||||
import com.jsowell.pile.dto.QueryInvoiceRecordDTO;
|
||||
import com.jsowell.pile.dto.QueryOrderDTO;
|
||||
import com.jsowell.pile.dto.SettleOrderDTO;
|
||||
import com.jsowell.pile.dto.StopChargingDTO;
|
||||
@@ -48,6 +50,7 @@ import com.jsowell.pile.dto.WeixinPayDTO;
|
||||
import com.jsowell.pile.service.IMemberBasicInfoService;
|
||||
import com.jsowell.pile.service.IMemberTransactionRecordService;
|
||||
import com.jsowell.pile.service.IOrderBasicInfoService;
|
||||
import com.jsowell.pile.service.IOrderInvoiceRecordService;
|
||||
import com.jsowell.pile.service.IOrderPayRecordService;
|
||||
import com.jsowell.pile.service.IPileBillingTemplateService;
|
||||
import com.jsowell.pile.service.IPileStationInfoService;
|
||||
@@ -76,6 +79,7 @@ import org.springframework.stereotype.Service;
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import java.math.BigDecimal;
|
||||
import java.text.ParseException;
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
import java.util.Comparator;
|
||||
@@ -127,6 +131,9 @@ public class OrderService {
|
||||
@Autowired
|
||||
private IPileStationInfoService pileStationInfoService;
|
||||
|
||||
@Autowired
|
||||
private IOrderInvoiceRecordService orderInvoiceRecordService;
|
||||
|
||||
@Autowired
|
||||
private RedisCache redisCache;
|
||||
|
||||
@@ -975,4 +982,40 @@ public class OrderService {
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
public List<OrderVO> queryUninvoicedOrderList(QueryOrderDTO dto) {
|
||||
int i = 60;
|
||||
|
||||
// 查询最近60天完成的订单
|
||||
LocalDateTime dateTime = LocalDateTime.now().plusDays(-i);
|
||||
List<OrderVO> orderList = orderBasicInfoService.getListByMemberIdAndOrderStatus(dto.getMemberId(), Lists.newArrayList("6"), dateTime);
|
||||
|
||||
// 过滤掉订单金额为0的
|
||||
orderList = orderList.stream()
|
||||
.filter(x -> x.getOrderAmount().compareTo(BigDecimal.ZERO) > 0)
|
||||
.collect(Collectors.toList());
|
||||
|
||||
// 查询最近60天申请开票记录
|
||||
QueryInvoiceRecordDTO build = QueryInvoiceRecordDTO.builder()
|
||||
.memberId(dto.getMemberId())
|
||||
.startTime(dateTime)
|
||||
.build();
|
||||
List<OrderInvoiceRecord> orderInvoiceRecords = orderInvoiceRecordService.selectInvoiceRecordList(build);
|
||||
if (CollectionUtils.isEmpty(orderInvoiceRecords)) {
|
||||
return orderList;
|
||||
}
|
||||
|
||||
// 排除掉已经申请过的订单
|
||||
List<String> orderCodeList = Lists.newArrayList();
|
||||
for (OrderInvoiceRecord orderInvoiceRecord : orderInvoiceRecords) {
|
||||
String orderCodes = orderInvoiceRecord.getOrderCodes();
|
||||
orderCodeList.addAll(Lists.newArrayList(StringUtils.split(orderCodes, ",")));
|
||||
}
|
||||
|
||||
orderList = orderList.stream()
|
||||
.filter(x -> !orderCodeList.contains(x.getOrderCode()))
|
||||
.collect(Collectors.toList());
|
||||
|
||||
return orderList;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user