|
|
@@ -3,6 +3,7 @@ package com.cyksj.web.controller.manage.sys;
|
|
|
import cn.dev33.satoken.annotation.SaCheckPermission;
|
|
|
import cn.dev33.satoken.stp.StpUtil;
|
|
|
import cn.hutool.core.util.StrUtil;
|
|
|
+import com.alibaba.excel.support.ExcelTypeEnum;
|
|
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
|
|
import com.cyksj.common.exception.BusinessRuntimeException;
|
|
|
import com.cyksj.dto.Result;
|
|
|
@@ -14,9 +15,11 @@ import com.cyksj.mapper.manage.sys.WorkOrderChatHistoryMapper;
|
|
|
import com.cyksj.mapper.manage.sys.WorkOrderMapper;
|
|
|
import com.cyksj.model.entity.WorkOrder;
|
|
|
import com.cyksj.model.entity.WorkOrderChatHistory;
|
|
|
+import com.cyksj.model.excel.ExcelWorkOrderData;
|
|
|
import com.cyksj.model.views.CmsUserVO;
|
|
|
import com.cyksj.model.views.WorkOrderChatHistoryView;
|
|
|
import com.cyksj.model.views.WorkOrderView;
|
|
|
+import com.cyksj.web.util.EasyExcelUtils;
|
|
|
import com.ejlchina.searcher.BeanSearcher;
|
|
|
import com.ejlchina.searcher.SearchResult;
|
|
|
import com.ejlchina.searcher.param.Operator;
|
|
|
@@ -29,6 +32,8 @@ import org.springframework.validation.annotation.Validated;
|
|
|
import org.springframework.web.bind.annotation.*;
|
|
|
|
|
|
import javax.servlet.http.HttpServletRequest;
|
|
|
+import javax.servlet.http.HttpServletResponse;
|
|
|
+import java.util.List;
|
|
|
import java.util.Optional;
|
|
|
|
|
|
/*
|
|
|
@@ -57,7 +62,7 @@ public class WorkOrderController {
|
|
|
|
|
|
@GetMapping("/get")
|
|
|
@SaCheckPermission("workOrder:view")
|
|
|
- public Result<SearchResult<WorkOrderView>> getWorkOrderList() {
|
|
|
+ public Result<SearchResult<WorkOrderView>> getWorkOrderList(String nickname) {
|
|
|
long adminId = StpUtil.getLoginIdAsLong();
|
|
|
MapBuilder builder = MapUtils.flatBuilder(request.getParameterMap());
|
|
|
//是不是客服
|
|
|
@@ -68,6 +73,10 @@ public class WorkOrderController {
|
|
|
if (isCustomer != null) {
|
|
|
builder.field(WorkOrderView::getAssignCustomerServiceId, isCustomer.getId());
|
|
|
}
|
|
|
+ if (StrUtil.isNotBlank(nickname)) {
|
|
|
+ List<Long> userIds = userMapper.selectListByNickname(nickname);
|
|
|
+ builder.field(WorkOrderView::getUserId, userIds).op(Operator.InList);
|
|
|
+ }
|
|
|
SearchResult<WorkOrderView> search = beanSearcher.search(WorkOrderView.class, builder.build());
|
|
|
search.getDataList().forEach(data -> {
|
|
|
Optional.ofNullable(goodsDonMapper.selectById(data.getGoodsId()))
|
|
|
@@ -165,4 +174,27 @@ public class WorkOrderController {
|
|
|
}
|
|
|
return GatewayResponse.SUCCESS.newBuilder().toResult();
|
|
|
}
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 导出工单
|
|
|
+ */
|
|
|
+ @GetMapping("/export")
|
|
|
+ public void export(String nickname, HttpServletResponse response) {
|
|
|
+ long adminId = StpUtil.getLoginIdAsLong();
|
|
|
+ MapBuilder builder = MapUtils.flatBuilder(request.getParameterMap());
|
|
|
+ //是不是客服
|
|
|
+ CmsUserVO isCustomer = beanSearcher.searchFirst(CmsUserVO.class, MapUtils.builder()
|
|
|
+ .field(CmsUserVO::getRoleNames, "客服").op(Operator.Contain)
|
|
|
+ .field(CmsUserVO::getId, adminId)
|
|
|
+ .build());
|
|
|
+ if (isCustomer != null) {
|
|
|
+ builder.field(ExcelWorkOrderData::getAssignCustomerServiceId, isCustomer.getId());
|
|
|
+ }
|
|
|
+ if (StrUtil.isNotBlank(nickname)) {
|
|
|
+ List<Long> userIds = userMapper.selectListByNickname(nickname);
|
|
|
+ builder.field(WorkOrderView::getUserId, userIds).op(Operator.InList);
|
|
|
+ }
|
|
|
+ List<ExcelWorkOrderData> list = beanSearcher.searchAll(ExcelWorkOrderData.class, builder.build());
|
|
|
+ EasyExcelUtils.createExcelStreamMutilByEasyExcel(response, ExcelWorkOrderData.class, list, "用户工单", "用户工单", ExcelTypeEnum.XLSX, null);
|
|
|
+ }
|
|
|
}
|