|
@@ -9,10 +9,13 @@ import io.swagger.annotations.ApiParam;
|
|
|
import lombok.AllArgsConstructor;
|
|
|
import org.springblade.core.mp.support.Condition;
|
|
|
import org.springblade.core.mp.support.Query;
|
|
|
+import org.springblade.core.secure.BladeUser;
|
|
|
import org.springblade.core.tool.api.R;
|
|
|
import org.springblade.factory.api.service.ZcrmU9cWebapiSoService;
|
|
|
import org.springblade.factory.entity.*;
|
|
|
import org.springblade.factory.service.*;
|
|
|
+import org.springblade.factory.vo.PcBladeOrderVO;
|
|
|
+import org.springblade.factory.wrapper.PcBladeOrderWrapper;
|
|
|
import org.springblade.system.feign.ISysClient;
|
|
|
import org.springblade.system.user.entity.User;
|
|
|
import org.springblade.system.user.feign.IUserClient;
|
|
@@ -197,18 +200,116 @@ public class SalesOrderController {
|
|
|
|
|
|
/**
|
|
|
* 获取访问人自己的订单列表
|
|
|
- * @param pcBladeOrder
|
|
|
+ * @param orderParams
|
|
|
+ * @param query
|
|
|
+ * @param bladeUser
|
|
|
* @return
|
|
|
*/
|
|
|
@GetMapping("/getOrderList")
|
|
|
- public R<List<PcBladeOrder>> getOrderList(PcBladeOrder pcBladeOrder) {
|
|
|
+ public R<IPage<PcBladeOrderVO>> getOrderList(
|
|
|
+ @ApiIgnore @RequestParam Map<String, Object> orderParams,
|
|
|
+ Query query,
|
|
|
+ BladeUser bladeUser) {
|
|
|
+ // 1. 构建基础查询条件
|
|
|
+ QueryWrapper<PcBladeOrder> queryWrapper = Condition.getQueryWrapper(orderParams, PcBladeOrder.class);
|
|
|
+
|
|
|
+ // 2. 增加当前用户的订单过滤条件(根据实体类,使用customerId关联用户)
|
|
|
+ // 假设BladeUser的id对应PcBladeOrder的customerId
|
|
|
Long userId = AuthUtil.getUserId();
|
|
|
- pcBladeOrder.setCustomerId(userId);
|
|
|
- List<PcBladeOrder> pcBladeOrderList = orderService.selectPcBladeOrderListPro(pcBladeOrder);
|
|
|
- return R.data(pcBladeOrderList);
|
|
|
+ queryWrapper.eq("CUSTOMER_ID", userId);
|
|
|
+
|
|
|
+ // 3. 处理查询参数,与selectPcBladeOrderListPro方法逻辑保持一致
|
|
|
+ // 订单编号模糊查询
|
|
|
+ if (orderParams.containsKey("orderCode") && StringUtils.isNotBlank(orderParams.get("orderCode").toString())) {
|
|
|
+ queryWrapper.like("order_code", orderParams.get("orderCode"));
|
|
|
+ }
|
|
|
+
|
|
|
+ // 收货人姓名模糊查询
|
|
|
+ if (orderParams.containsKey("receiverName") && StringUtils.isNotBlank(orderParams.get("receiverName").toString())) {
|
|
|
+ queryWrapper.like("receiver_name", orderParams.get("receiverName"));
|
|
|
+ }
|
|
|
+
|
|
|
+ // 收货人手机号模糊查询
|
|
|
+ if (orderParams.containsKey("receiverPhone") && StringUtils.isNotBlank(orderParams.get("receiverPhone").toString())) {
|
|
|
+ queryWrapper.like("receiver_phone", orderParams.get("receiverPhone"));
|
|
|
+ }
|
|
|
+
|
|
|
+ // 收货人地址模糊查询
|
|
|
+ if (orderParams.containsKey("receiverAddress") && StringUtils.isNotBlank(orderParams.get("receiverAddress").toString())) {
|
|
|
+ queryWrapper.like("receiver_address", orderParams.get("receiverAddress"));
|
|
|
+ }
|
|
|
+
|
|
|
+ // 省市区查询
|
|
|
+ if (orderParams.containsKey("receiverRegion") && StringUtils.isNotBlank(orderParams.get("receiverRegion").toString())) {
|
|
|
+ queryWrapper.like("receiver_region", orderParams.get("receiverRegion"));
|
|
|
+ }
|
|
|
+
|
|
|
+ // 订单类型查询
|
|
|
+ if (orderParams.containsKey("orderType") && StringUtils.isNotBlank(orderParams.get("orderType").toString())) {
|
|
|
+ try {
|
|
|
+ Integer orderType = Integer.parseInt(orderParams.get("orderType").toString());
|
|
|
+ queryWrapper.eq("order_type", orderType);
|
|
|
+ } catch (NumberFormatException e) {
|
|
|
+ // 处理参数格式错误
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ // 精确查询状态(0草稿 1已提交 2已确认 3部分发货 4已完成 5已取消)
|
|
|
+ if (orderParams.containsKey("status") && StringUtils.isNotBlank(orderParams.get("status").toString())) {
|
|
|
+ try {
|
|
|
+ Integer status = Integer.parseInt(orderParams.get("status").toString());
|
|
|
+ queryWrapper.eq("status", status);
|
|
|
+ } catch (NumberFormatException e) {
|
|
|
+ // 处理状态参数不是数字的情况
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ // 时间范围查询 - 创建时间
|
|
|
+ if (orderParams.containsKey("createTimeStart") && StringUtils.isNotBlank(orderParams.get("createTimeStart").toString())) {
|
|
|
+ queryWrapper.ge("create_time", orderParams.get("createTimeStart"));
|
|
|
+ }
|
|
|
+ if (orderParams.containsKey("createTimeEnd") && StringUtils.isNotBlank(orderParams.get("createTimeEnd").toString())) {
|
|
|
+ queryWrapper.le("create_time", orderParams.get("createTimeEnd"));
|
|
|
+ }
|
|
|
+
|
|
|
+ // 时间范围查询 - 提交时间
|
|
|
+ if (orderParams.containsKey("submitTimeStart") && StringUtils.isNotBlank(orderParams.get("submitTimeStart").toString())) {
|
|
|
+ queryWrapper.ge("submit_time", orderParams.get("submitTimeStart"));
|
|
|
+ }
|
|
|
+ if (orderParams.containsKey("submitTimeEnd") && StringUtils.isNotBlank(orderParams.get("submitTimeEnd").toString())) {
|
|
|
+ queryWrapper.le("submit_time", orderParams.get("submitTimeEnd"));
|
|
|
+ }
|
|
|
+
|
|
|
+ // 时间范围查询 - 确认时间
|
|
|
+ if (orderParams.containsKey("confirmTimeStart") && StringUtils.isNotBlank(orderParams.get("confirmTimeStart").toString())) {
|
|
|
+ queryWrapper.ge("confirm_time", orderParams.get("confirmTimeStart"));
|
|
|
+ }
|
|
|
+ if (orderParams.containsKey("confirmTimeEnd") && StringUtils.isNotBlank(orderParams.get("confirmTimeEnd").toString())) {
|
|
|
+ queryWrapper.le("confirm_time", orderParams.get("confirmTimeEnd"));
|
|
|
+ }
|
|
|
+
|
|
|
+ // 排序 - 按创建时间降序
|
|
|
+ queryWrapper.orderByDesc("create_time");
|
|
|
+
|
|
|
+ // 4. 执行分页查询
|
|
|
+ IPage<PcBladeOrder> pages = orderService.page(Condition.getPage(query), queryWrapper);
|
|
|
+
|
|
|
+ // 5. 关联查询订单详情
|
|
|
+ pages.getRecords().forEach(item -> {
|
|
|
+ PcBladeOrderItem pcBladeOrderItem = new PcBladeOrderItem();
|
|
|
+ pcBladeOrderItem.setOrderId(item.getId());
|
|
|
+ List<PcBladeOrderItem> pcBladeOrderItemList = orderItemService.selectPcBladeOrderItemList(pcBladeOrderItem);
|
|
|
+ item.setPcBladeOrderItemList(pcBladeOrderItemList);
|
|
|
+ });
|
|
|
+
|
|
|
+ // 6. 转换VO并返回
|
|
|
+ return R.data(PcBladeOrderWrapper.build().pageVO(pages));
|
|
|
}
|
|
|
|
|
|
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
/**
|
|
|
* 根据订单编号查询订单及明细
|
|
|
*/
|