Browse Source

Merge remote-tracking branch 'origin/master'

master
yangpeilai 4 weeks ago
parent
commit
df6fd43966

+ 87
- 0
zhywpt-app-iaw/src/main/java/cn/com/taiji/iaw/api/ass/KnowledgeBaseController.java View File

@@ -0,0 +1,87 @@
package cn.com.taiji.iaw.api.ass;

import javax.validation.Valid;

import cn.com.taiji.iaw.dto.ass.knowledgeBase.*;
import cn.com.taiji.iaw.manager.ass.KnowledgeBaseManager;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import cn.com.taiji.common.manager.ManagerException;
import cn.com.taiji.common.model.dao.Pagination;
import cn.com.taiji.common.web.ApiResponse;
import cn.com.taiji.iaw.api.MyValidController;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;

@Api(tags = {"69.知识库"})
@RestController
@RequestMapping("/knowledgeBase")
public class KnowledgeBaseController extends MyValidController {

@Autowired
private KnowledgeBaseManager manager;

@ApiOperation(value = "1.1.工单处理-查询")
@PostMapping(value = "/workOrderProcess/query")
public ApiResponse<Pagination> workOrderProcessQuery(@Valid @RequestBody WorkOrderProcessQueryRequestDTO reqDto) throws ManagerException {
Pagination res = manager.workOrderProcessQuery(reqDto);
return ApiResponse.of(res);
}

@ApiOperation(value = "1.2.工单处理-详情")
@PostMapping(value = "/workOrderProcess/view")
public ApiResponse<WorkOrderProcessViewResponseDTO> workOrderProcessView(@Valid @RequestBody KnowledgeBaseViewRequestDTO reqDTO) throws ManagerException {
WorkOrderProcessViewResponseDTO view = manager.workOrderProcessView(reqDTO);
return ApiResponse.of(view);
}

@ApiOperation(value = "1.3.工单处理-反馈上报")
@PostMapping(value = "/workOrderProcess/feedback")
public ApiResponse<KnowledgeBaseResponseDTO> workOrderProcessFeedback(@Valid @RequestBody KnowledgeBaseFeedbackRequestDTO reqDto) throws ManagerException {
KnowledgeBaseResponseDTO res = manager.workOrderProcessFeedback(reqDto);
return ApiResponse.of(res);
}

@ApiOperation(value = "2.1.业务办理-查询")
@PostMapping(value = "/businessInfo/query")
public ApiResponse<Pagination> businessProcessQuery(@Valid @RequestBody BusinessProcessQueryRequestDTO reqDto) throws ManagerException {
Pagination res = manager.businessProcessQuery(reqDto);
return ApiResponse.of(res);
}
@ApiOperation(value = "2.2.业务办理-详情")
@PostMapping(value = "/businessInfo/view")
public ApiResponse<BusinessProcessViewResponseDTO> businessProcessView(@Valid @RequestBody KnowledgeBaseViewRequestDTO reqDTO) throws ManagerException {
BusinessProcessViewResponseDTO res = manager.businessProcessView(reqDTO);
return ApiResponse.of(res);
}
@ApiOperation(value = "2.3.业务办理-反馈上报")
@PostMapping(value = "/businessInfo/feedback")
public ApiResponse<KnowledgeBaseResponseDTO> businessProcessFeedback(@Valid @RequestBody KnowledgeBaseFeedbackRequestDTO reqDto) throws ManagerException {
KnowledgeBaseResponseDTO res = manager.businessProcessFeedback(reqDto);
return ApiResponse.of(res);
}

@ApiOperation(value = "3.1.售后订单审核-查询")
@PostMapping(value = "/afterSaleAudit/query")
public ApiResponse<Pagination> afterSalesOrderReviewQuery(@Valid @RequestBody AfterSalesOrderReviewQueryRequestDTO reqDto) throws ManagerException {
Pagination res = manager.afterSalesOrderReviewQuery(reqDto);
return ApiResponse.of(res);
}
@ApiOperation(value = "3.2.售后订单审核-详情")
@PostMapping(value = "/afterSaleAudit/view")
public ApiResponse<AfterSalesOrderReviewViewResponseDTO> afterSalesOrderReviewView(@Valid @RequestBody KnowledgeBaseViewRequestDTO reqDTO) throws ManagerException {
AfterSalesOrderReviewViewResponseDTO res = manager.afterSalesOrderReviewView(reqDTO);
return ApiResponse.of(res);
}
@ApiOperation(value = "3.3.售后订单审核-反馈上报")
@PostMapping(value = "/afterSaleAudit/feedback")
public ApiResponse<KnowledgeBaseResponseDTO> afterSalesOrderReviewFeedback(@Valid @RequestBody KnowledgeBaseFeedbackRequestDTO reqDto) throws ManagerException {
KnowledgeBaseResponseDTO res = manager.afterSalesOrderReviewFeedback(reqDto);
return ApiResponse.of(res);
}

}

+ 26
- 0
zhywpt-app-iaw/src/main/java/cn/com/taiji/iaw/dto/ass/knowledgeBase/AfterSalesOrderReviewQueryRequestDTO.java View File

@@ -0,0 +1,26 @@
package cn.com.taiji.iaw.dto.ass.knowledgeBase;

import org.springframework.validation.annotation.Validated;

import cn.com.taiji.core.dto.AbstractBizRequestDTO;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;
import lombok.experimental.Accessors;

@ApiModel(description = "工单处理-查询")
@Getter
@Setter
@Accessors(chain = true)
@Validated
public class AfterSalesOrderReviewQueryRequestDTO extends AbstractBizRequestDTO {

@ApiModelProperty(value = "类别")
private String category;
@ApiModelProperty(value = "一级分类")
private String level1;
@ApiModelProperty(value = "搜索")
private String other;

}

+ 24
- 0
zhywpt-app-iaw/src/main/java/cn/com/taiji/iaw/dto/ass/knowledgeBase/AfterSalesOrderReviewViewResponseDTO.java View File

@@ -0,0 +1,24 @@
package cn.com.taiji.iaw.dto.ass.knowledgeBase;

import java.util.List;

import org.springframework.validation.annotation.Validated;

import cn.com.taiji.core.entity.managew.KnowledgeAfterSaleAudit;
import cn.com.taiji.core.entity.managew.KnowledgeFileInfo;
import io.swagger.annotations.ApiModel;
import lombok.Getter;
import lombok.Setter;
import lombok.experimental.Accessors;

@ApiModel(description = "知识库返回")
@Getter
@Setter
@Accessors(chain = true)
@Validated
public class AfterSalesOrderReviewViewResponseDTO {

private KnowledgeAfterSaleAudit afterSaleAudit;
private List<KnowledgeFileInfo> films;

}

+ 24
- 0
zhywpt-app-iaw/src/main/java/cn/com/taiji/iaw/dto/ass/knowledgeBase/BusinessProcessQueryRequestDTO.java View File

@@ -0,0 +1,24 @@
package cn.com.taiji.iaw.dto.ass.knowledgeBase;

import org.springframework.validation.annotation.Validated;

import cn.com.taiji.core.dto.AbstractBizRequestDTO;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;
import lombok.experimental.Accessors;

@ApiModel(description = "工单处理-查询")
@Getter
@Setter
@Accessors(chain = true)
@Validated
public class BusinessProcessQueryRequestDTO extends AbstractBizRequestDTO {

@ApiModelProperty(value = "业务类型")
private String businessType;
@ApiModelProperty(value = "搜索内容")
private String other;

}

+ 24
- 0
zhywpt-app-iaw/src/main/java/cn/com/taiji/iaw/dto/ass/knowledgeBase/BusinessProcessViewResponseDTO.java View File

@@ -0,0 +1,24 @@
package cn.com.taiji.iaw.dto.ass.knowledgeBase;

import java.util.List;

import org.springframework.validation.annotation.Validated;

import cn.com.taiji.core.entity.managew.KnowledgeBusinessInfo;
import cn.com.taiji.core.entity.managew.KnowledgeFileInfo;
import io.swagger.annotations.ApiModel;
import lombok.Getter;
import lombok.Setter;
import lombok.experimental.Accessors;

@ApiModel(description = "知识库返回")
@Getter
@Setter
@Accessors(chain = true)
@Validated
public class BusinessProcessViewResponseDTO {

private KnowledgeBusinessInfo businessInfo;
private List<KnowledgeFileInfo> films;

}

+ 26
- 0
zhywpt-app-iaw/src/main/java/cn/com/taiji/iaw/dto/ass/knowledgeBase/KnowledgeBaseFeedbackRequestDTO.java View File

@@ -0,0 +1,26 @@
package cn.com.taiji.iaw.dto.ass.knowledgeBase;

import org.springframework.validation.annotation.Validated;

import cn.com.taiji.core.dto.AbstractBizRequestDTO;
import cn.com.taiji.core.entity.dict.EnableStatus;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;
import lombok.experimental.Accessors;

@ApiModel(description = "知识库")
@Getter
@Setter
@Accessors(chain = true)
@Validated
public class KnowledgeBaseFeedbackRequestDTO extends AbstractBizRequestDTO {

@ApiModelProperty(value = "ID",required = true)
private String id;
@ApiModelProperty(value = "状态",required = true)
private EnableStatus status;
@ApiModelProperty(value = "不适用原因",required = true)
private String applicableReason;
}

+ 19
- 0
zhywpt-app-iaw/src/main/java/cn/com/taiji/iaw/dto/ass/knowledgeBase/KnowledgeBaseResponseDTO.java View File

@@ -0,0 +1,19 @@
package cn.com.taiji.iaw.dto.ass.knowledgeBase;

import org.springframework.validation.annotation.Validated;

import io.swagger.annotations.ApiModel;
import lombok.Getter;
import lombok.Setter;
import lombok.experimental.Accessors;

@ApiModel(description = "知识库返回")
@Getter
@Setter
@Accessors(chain = true)
@Validated
public class KnowledgeBaseResponseDTO {

private String msg;

}

+ 22
- 0
zhywpt-app-iaw/src/main/java/cn/com/taiji/iaw/dto/ass/knowledgeBase/KnowledgeBaseViewRequestDTO.java View File

@@ -0,0 +1,22 @@
package cn.com.taiji.iaw.dto.ass.knowledgeBase;

import org.springframework.validation.annotation.Validated;

import cn.com.taiji.core.dto.AbstractBizRequestDTO;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;
import lombok.experimental.Accessors;

@ApiModel(description = "知识库")
@Getter
@Setter
@Accessors(chain = true)
@Validated
public class KnowledgeBaseViewRequestDTO extends AbstractBizRequestDTO {

@ApiModelProperty(value = "ID",required = true)
private String viewId;

}

+ 32
- 0
zhywpt-app-iaw/src/main/java/cn/com/taiji/iaw/dto/ass/knowledgeBase/WorkOrderProcessQueryRequestDTO.java View File

@@ -0,0 +1,32 @@
package cn.com.taiji.iaw.dto.ass.knowledgeBase;

import org.springframework.validation.annotation.Validated;

import cn.com.taiji.core.dto.AbstractBizRequestDTO;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;
import lombok.experimental.Accessors;

@ApiModel(description = "工单处理-查询")
@Getter
@Setter
@Accessors(chain = true)
@Validated
public class WorkOrderProcessQueryRequestDTO extends AbstractBizRequestDTO {

@ApiModelProperty(value = "一级工单类型")
private String level1;
@ApiModelProperty(value = "二级工单类型")
private String level2;
@ApiModelProperty(value = "三级工单类型")
private String level3;
@ApiModelProperty(value = "四级工单类型")
private String level4;
@ApiModelProperty(value = "一线搜索")
private String line1;
@ApiModelProperty(value = "二线搜索")
private String line2;

}

+ 24
- 0
zhywpt-app-iaw/src/main/java/cn/com/taiji/iaw/dto/ass/knowledgeBase/WorkOrderProcessViewResponseDTO.java View File

@@ -0,0 +1,24 @@
package cn.com.taiji.iaw.dto.ass.knowledgeBase;

import java.util.List;

import org.springframework.validation.annotation.Validated;

import cn.com.taiji.core.entity.managew.KnowledgeFileInfo;
import cn.com.taiji.core.entity.managew.KnowledgeWorkOrderProcess;
import io.swagger.annotations.ApiModel;
import lombok.Getter;
import lombok.Setter;
import lombok.experimental.Accessors;

@ApiModel(description = "知识库返回")
@Getter
@Setter
@Accessors(chain = true)
@Validated
public class WorkOrderProcessViewResponseDTO {

private KnowledgeWorkOrderProcess workOrderProcess;
private List<KnowledgeFileInfo> films;

}

+ 27
- 0
zhywpt-app-iaw/src/main/java/cn/com/taiji/iaw/manager/ass/KnowledgeBaseManager.java View File

@@ -0,0 +1,27 @@
package cn.com.taiji.iaw.manager.ass;

import javax.validation.Valid;

import cn.com.taiji.common.manager.ManagerException;
import cn.com.taiji.common.model.dao.Pagination;
import cn.com.taiji.iaw.dto.ass.knowledgeBase.*;

public interface KnowledgeBaseManager {

//
Pagination workOrderProcessQuery(@Valid WorkOrderProcessQueryRequestDTO reqDto) throws ManagerException;
WorkOrderProcessViewResponseDTO workOrderProcessView(@Valid KnowledgeBaseViewRequestDTO reqDto) throws ManagerException;
KnowledgeBaseResponseDTO workOrderProcessFeedback(@Valid KnowledgeBaseFeedbackRequestDTO reqDto) throws ManagerException;

//
Pagination businessProcessQuery(@Valid BusinessProcessQueryRequestDTO reqDto) throws ManagerException;
BusinessProcessViewResponseDTO businessProcessView(@Valid KnowledgeBaseViewRequestDTO reqDto) throws ManagerException;
KnowledgeBaseResponseDTO businessProcessFeedback(@Valid KnowledgeBaseFeedbackRequestDTO reqDto) throws ManagerException;

//
Pagination afterSalesOrderReviewQuery(@Valid AfterSalesOrderReviewQueryRequestDTO reqDto) throws ManagerException;
AfterSalesOrderReviewViewResponseDTO afterSalesOrderReviewView(@Valid KnowledgeBaseViewRequestDTO reqDto) throws ManagerException;
KnowledgeBaseResponseDTO afterSalesOrderReviewFeedback(@Valid KnowledgeBaseFeedbackRequestDTO reqDto) throws ManagerException;


}

+ 180
- 0
zhywpt-app-iaw/src/main/java/cn/com/taiji/iaw/manager/ass/KnowledgeBaseManagerImpl.java View File

@@ -0,0 +1,180 @@
package cn.com.taiji.iaw.manager.ass;

import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStream;
import java.net.MalformedURLException;
import java.net.URL;
import java.net.URLEncoder;
import java.time.LocalDate;
import java.util.ArrayList;
import java.util.List;

import cn.com.taiji.iaw.dto.ass.knowledgeBase.*;
import cn.com.taiji.iaw.manager.AbstractCommManager;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.ss.usermodel.*;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;

import com.google.common.collect.Lists;

import cn.com.taiji.common.manager.ManagerException;
import cn.com.taiji.common.manager.net.http.ServiceHandleException;
import cn.com.taiji.common.model.dao.Pagination;
import cn.com.taiji.common.pub.BeanTools;
import cn.com.taiji.common.pub.StringTools;
import cn.com.taiji.core.dto.AbstractBizRequestDTO;
import cn.com.taiji.core.entity.dict.EnableStatus;
import cn.com.taiji.core.entity.dict.KnowlegdeType;
import cn.com.taiji.core.entity.dict.basic.SourceType;
import cn.com.taiji.core.entity.managew.KnowledgeAfterSaleAudit;
import cn.com.taiji.core.entity.managew.KnowledgeBusinessInfo;
import cn.com.taiji.core.entity.managew.KnowledgeFileInfo;
import cn.com.taiji.core.entity.managew.KnowledgeWorkOrderProcess;
import cn.com.taiji.core.model.comm.protocol.valid.GlyServiceError;
import cn.com.taiji.core.repo.jpa.managew.KnowledgeAfterSaleAuditRepo;
import cn.com.taiji.core.repo.jpa.managew.KnowledgeBusinessInfoRepo;
import cn.com.taiji.core.repo.jpa.managew.KnowledgeFileInfoRepo;
import cn.com.taiji.core.repo.jpa.managew.KnowledgeWorkOrderProcessRepo;
import cn.com.taiji.core.repo.request.managew.KnowledgeAfterSaleAuditPageRequest;
import cn.com.taiji.core.repo.request.managew.KnowledgeBusinessInfoPageRequest;
import cn.com.taiji.core.repo.request.managew.KnowledgeWorkOrderProcessPageRequest;

@Service
public class KnowledgeBaseManagerImpl extends AbstractCommManager implements KnowledgeBaseManager {

@Autowired
private KnowledgeWorkOrderProcessRepo workOrderProcessRepo;
@Autowired
private KnowledgeBusinessInfoRepo businessInfoRepo;
@Autowired
private KnowledgeAfterSaleAuditRepo afterSaleAuditRepo;
@Autowired
private KnowledgeFileInfoRepo fileInfoRepo;

@Override
public Pagination workOrderProcessQuery(WorkOrderProcessQueryRequestDTO reqDto) throws ManagerException {
check(reqDto);
KnowledgeWorkOrderProcessPageRequest pageRequest = copyProperties(reqDto, new KnowledgeWorkOrderProcessPageRequest());
return workOrderProcessRepo.page(pageRequest);
}

@Override
public WorkOrderProcessViewResponseDTO workOrderProcessView(KnowledgeBaseViewRequestDTO reqDto) throws ManagerException {
check(reqDto);
WorkOrderProcessViewResponseDTO res = new WorkOrderProcessViewResponseDTO();
KnowledgeWorkOrderProcess orderProcess = workOrderProcessRepo.findById(reqDto.getViewId()).orElse(null);
if (orderProcess == null){
throw new ManagerException("没找到该条知识库信息");
}
res.setWorkOrderProcess(orderProcess);
res.setFilms(fileInfoRepo.findByKnowledgeIdAndKnowledgeType(orderProcess.getId(), KnowlegdeType.WORK_ORDER_PROCESS));
return res;
}

@Override
public KnowledgeBaseResponseDTO workOrderProcessFeedback(KnowledgeBaseFeedbackRequestDTO reqDto) throws ManagerException {
check(reqDto);
String openId = findOpenIdByToken(reqDto.getAccessToken());
KnowledgeWorkOrderProcess orderProcess = workOrderProcessRepo.findById(reqDto.getId()).orElse(null);
KnowledgeBaseResponseDTO responseDTO = new KnowledgeBaseResponseDTO();
if (orderProcess == null){
throw new ManagerException("没找到该条知识库信息");
}
orderProcess.setStatus(reqDto.getStatus());
orderProcess.setApplicableReason(reqDto.getApplicableReason());
orderProcess.setApplicablePerson(openId);
orderProcess.setUpdateTime(LocalDate.now());
workOrderProcessRepo.merge(orderProcess);
responseDTO.setMsg("反馈成功!");
return responseDTO;
}

@Override
public Pagination businessProcessQuery(BusinessProcessQueryRequestDTO reqDto) throws ManagerException {
check(reqDto);
KnowledgeBusinessInfoPageRequest pageRequest = copyProperties(reqDto, new KnowledgeBusinessInfoPageRequest());
return businessInfoRepo.page(pageRequest);
}

@Override
public BusinessProcessViewResponseDTO businessProcessView(KnowledgeBaseViewRequestDTO reqDto) throws ManagerException {
check(reqDto);
BusinessProcessViewResponseDTO res = new BusinessProcessViewResponseDTO();
KnowledgeBusinessInfo orderProcess = businessInfoRepo.findById(reqDto.getViewId()).orElse(null);
if (orderProcess == null){
throw new ManagerException("没找到该条知识库信息");
}
res.setBusinessInfo(orderProcess);
res.setFilms(fileInfoRepo.findByKnowledgeIdAndKnowledgeType(orderProcess.getId(), KnowlegdeType.BUSINESS_INFO));
return res;
}

@Override
public KnowledgeBaseResponseDTO businessProcessFeedback(KnowledgeBaseFeedbackRequestDTO reqDto) throws ManagerException {
check(reqDto);
String openId = findOpenIdByToken(reqDto.getAccessToken());
KnowledgeBusinessInfo businessInfo = businessInfoRepo.findById(reqDto.getId()).orElse(null);
KnowledgeBaseResponseDTO responseDTO = new KnowledgeBaseResponseDTO();
if (businessInfo == null){
throw new ManagerException("没找到该条知识库信息");
}
businessInfo.setStatus(reqDto.getStatus());
businessInfo.setApplicableReason(reqDto.getApplicableReason());
businessInfo.setApplicablePerson(openId);
businessInfo.setUpdateTime(LocalDate.now());
businessInfoRepo.merge(businessInfo);
responseDTO.setMsg("反馈成功!");
return responseDTO;
}

@Override
public Pagination afterSalesOrderReviewQuery(AfterSalesOrderReviewQueryRequestDTO reqDto) throws ManagerException {
check(reqDto);
KnowledgeAfterSaleAuditPageRequest pageRequest = copyProperties(reqDto, new KnowledgeAfterSaleAuditPageRequest());
return afterSaleAuditRepo.page(pageRequest);
}

@Override
public AfterSalesOrderReviewViewResponseDTO afterSalesOrderReviewView(KnowledgeBaseViewRequestDTO reqDto) throws ManagerException {
check(reqDto);
AfterSalesOrderReviewViewResponseDTO res = new AfterSalesOrderReviewViewResponseDTO();
KnowledgeAfterSaleAudit orderProcess = afterSaleAuditRepo.findById(reqDto.getViewId()).orElse(null);
if (orderProcess == null){
throw new ManagerException("没找到该条知识库信息");
}
res.setAfterSaleAudit(orderProcess);
res.setFilms(fileInfoRepo.findByKnowledgeIdAndKnowledgeType(orderProcess.getId(), KnowlegdeType.AFTER_SALES_AUDIT));
return res;
}

@Override
public KnowledgeBaseResponseDTO afterSalesOrderReviewFeedback(KnowledgeBaseFeedbackRequestDTO reqDto) throws ManagerException {
check(reqDto);
String openId = findOpenIdByToken(reqDto.getAccessToken());
KnowledgeAfterSaleAudit afterSaleAudit = afterSaleAuditRepo.findById(reqDto.getId()).orElse(null);
KnowledgeBaseResponseDTO responseDTO = new KnowledgeBaseResponseDTO();
if (afterSaleAudit == null){
throw new ManagerException("没找到该条知识库信息");
}
afterSaleAudit.setStatus(reqDto.getStatus());
afterSaleAudit.setApplicableReason(reqDto.getApplicableReason());
afterSaleAudit.setApplicablePerson(openId);
afterSaleAudit.setUpdateTime(LocalDate.now());
afterSaleAuditRepo.merge(afterSaleAudit);
responseDTO.setMsg("反馈成功!");
return responseDTO;
}

public void check(AbstractBizRequestDTO reqDto) throws ManagerException {
if (reqDto.getOrderSource() != SourceType.WEB && reqDto.getOrderSource() != SourceType.SERVICE_HALL){
throw new ManagerException("当前渠道不允许查询!");
}
}


}

Loading…
Cancel
Save