Browse Source

1.修复售后问题 待完成

2.增加干线、配送的token 过期时间
master
pref_mail@163.com 9 months ago
parent
commit
3f57beb806
  1. 1
      blade-service-api/logpm-aftersales-api/src/main/java/com/logpm/aftersales/vo/AftersalesWorkOrderVO.java
  2. 24
      blade-service/logpm-aftersales/src/main/java/com/logpm/aftersales/controller/AftersalesWorkOrderController.java
  3. 2
      blade-service/logpm-aftersales/src/main/java/com/logpm/aftersales/service/IAftersalesWorkOrderService.java
  4. 5
      blade-service/logpm-aftersales/src/main/java/com/logpm/aftersales/service/impl/AftersalesAppealServiceImpl.java
  5. 8
      blade-service/logpm-aftersales/src/main/java/com/logpm/aftersales/service/impl/AftersalesReturnRecordServiceImpl.java
  6. 626
      blade-service/logpm-aftersales/src/main/java/com/logpm/aftersales/service/impl/AftersalesWorkOrderServiceImpl.java
  7. 2
      blade-service/logpm-business/src/main/java/com/logpm/business/aspect/ChangeAsyncAnnotationAspect.java
  8. 2
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/aspect/ChangeAsyncAnnotationAspect.java
  9. 50
      blade-service/logpm-factory/src/test/java/com/logpm/factory/TestService.java
  10. 19
      blade-service/logpm-patch/src/main/java/com/logpm/patch/interceptor/LocalServerLoginAccountsInterceptor.java
  11. 8
      blade-service/logpm-patch/src/main/resources/application-dev.yml
  12. 2
      blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/aspect/ChangeAsyncAnnotationAspect.java
  13. 4
      blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/impl/TaskQuestServiceImpl.java

1
blade-service-api/logpm-aftersales-api/src/main/java/com/logpm/aftersales/vo/AftersalesWorkOrderVO.java

@ -32,7 +32,6 @@ import java.util.List;
@Data
@EqualsAndHashCode(callSuper = true)
public class AftersalesWorkOrderVO extends AftersalesWorkOrderEntity {
private static final long serialVersionUID = 1L;
/**
* 工单名称
*/

24
blade-service/logpm-aftersales/src/main/java/com/logpm/aftersales/controller/AftersalesWorkOrderController.java

@ -123,18 +123,18 @@ public class AftersalesWorkOrderController extends BladeController {
public R<IPage<AftersalesWorkOrderVO>> getListOwn(@ApiIgnore @RequestParam Map<String, Object> aftersalesWorkOrder, Query query) {
log.info("异常工单查询参数》》》{}",aftersalesWorkOrder);
try{
IPage<AftersalesWorkOrderEntity> pages = aftersalesWorkOrderService.pageListOwn(aftersalesWorkOrder, Condition.getPage(query));
R<IPage<AftersalesWorkOrderVO>> data = R.data(AftersalesWorkOrderWrapper.build().pageVO(pages));
BasicdataWarehouseEntity myCurrentWarehouse = warehouseClient.getMyCurrentWarehouse();
if (ObjectUtils.isNotNull(myCurrentWarehouse)){
data.getData().getRecords().forEach(item -> {
item.setTotalAmount(aftersalesCompletionRecordService.getTotalMoney(item,myCurrentWarehouse.getId()));
});
}else{
log.info("查询人不属于某个仓库");
}
return data;
IPage<AftersalesWorkOrderVO> pages = aftersalesWorkOrderService.pageListOwn(aftersalesWorkOrder, Condition.getPage(query));
// R<IPage<AftersalesWorkOrderVO>> data = R.data(AftersalesWorkOrderWrapper.build().pageVO(pages));
// BasicdataWarehouseEntity myCurrentWarehouse = warehouseClient.getMyCurrentWarehouse();
// if (ObjectUtils.isNotNull(myCurrentWarehouse)){
// data.getData().getRecords().forEach(item -> {
// item.setTotalAmount(aftersalesCompletionRecordService.getTotalMoney(item,myCurrentWarehouse.getId()));
// });
// }else{
// log.info("查询人不属于某个仓库");
// }
return R.data(pages);
}catch (Exception e){
log.error("工单查询系统异常》》》{}",e.getMessage());
return R.fail("系统异常!");

2
blade-service/logpm-aftersales/src/main/java/com/logpm/aftersales/service/IAftersalesWorkOrderService.java

@ -91,7 +91,7 @@ public interface IAftersalesWorkOrderService extends BaseService<AftersalesWorkO
* @param page
* @return
*/
IPage<AftersalesWorkOrderEntity> pageListOwn(Map<String, Object> aftersalesWorkOrder, IPage<Object> page);
IPage<AftersalesWorkOrderVO> pageListOwn(Map<String, Object> aftersalesWorkOrder, IPage<Object> page);
/**
* 查询订单超时是否超时未处理

5
blade-service/logpm-aftersales/src/main/java/com/logpm/aftersales/service/impl/AftersalesAppealServiceImpl.java

@ -43,6 +43,7 @@ import org.springblade.core.mp.support.Condition;
import org.springblade.core.secure.BladeUser;
import org.springblade.core.secure.utils.AuthUtil;
import org.springblade.core.tool.utils.BeanUtil;
import org.springblade.core.tool.utils.Func;
import org.springblade.system.cache.DictBizCache;
import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
@ -117,7 +118,7 @@ public class AftersalesAppealServiceImpl extends BaseServiceImpl<AftersalesAppea
}else{
//新增
aftersalesAppealEntity.setCreateUser(user.getUserId());
aftersalesAppealEntity.setCreateDept(Long.valueOf(user.getDeptId()));
aftersalesAppealEntity.setCreateDept(Func.firstLong(user.getDeptId()));
aftersalesAppealEntity.setCreateTime(new Date());
aftersalesAppealEntity.setStatus(1);
aftersalesAppealEntity.setIsDeleted(0);
@ -132,7 +133,7 @@ public class AftersalesAppealServiceImpl extends BaseServiceImpl<AftersalesAppea
aftersalesWorkOrder.setWorkOrderStatus(WorkOrderStatusConstant.shenshuzhong.getValue());
aftersalesWorkOrderService.updateById(aftersalesWorkOrder);
//添加操作记录
aftersalesWorkOrderService.addSurveyRecord(user,aftersalesAppeal.getWorkOrderId(),"申述操作","3");
aftersalesWorkOrderService.addSurveyRecord(user,aftersalesAppeal.getWorkOrderId(),"申述操作:"+aftersalesAppeal.getReason(),"3");
}
if(ObjectUtil.isNotNull( aftersalesAppeal.getPeopleEntityList())){
//添加实际收货人

8
blade-service/logpm-aftersales/src/main/java/com/logpm/aftersales/service/impl/AftersalesReturnRecordServiceImpl.java

@ -260,7 +260,15 @@ public class AftersalesReturnRecordServiceImpl extends BaseServiceImpl<Aftersale
orderEntity.setId(workOrderId);
orderEntity.setWorkOrderStatus(WorkOrderStatusConstant.yichuli.getValue());
workOrderEntities.add(orderEntity);
//增加工单记录
aftersalesWorkOrderService.addSurveyRecord(AuthUtil.getUser(),workOrderId,aftersalesReturnRecord.getReasonReturn(),"3");
}
}
if(CollUtil.isNotEmpty(returnRecordEntities)){
this.saveBatch(returnRecordEntities);

626
blade-service/logpm-aftersales/src/main/java/com/logpm/aftersales/service/impl/AftersalesWorkOrderServiceImpl.java

@ -18,6 +18,7 @@ package com.logpm.aftersales.service.impl;
import cn.hutool.core.util.ObjectUtil;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
@ -33,6 +34,7 @@ import com.logpm.aftersales.mapper.AftersalesCustomerMallMapper;
import com.logpm.aftersales.mapper.AftersalesWorkOrderMapper;
import com.logpm.aftersales.service.*;
import com.logpm.aftersales.vo.*;
import com.logpm.aftersales.wrapper.AftersalesWorkOrderWrapper;
import com.logpm.basicdata.entity.BasicdataWarehouseEntity;
import com.logpm.basicdata.feign.IBasicdataStoreBusinessClient;
import com.logpm.basicdata.feign.IBasicdataWarehouseClient;
@ -97,17 +99,16 @@ public class AftersalesWorkOrderServiceImpl extends BaseServiceImpl<AftersalesWo
private final IBasicdataWarehouseClient warehouseClient;
private final IDistributionDeliveryListClient distributionDeliveryListClient;
private final IAftersalesCustomerMallService aftersalesCustomerMallService;
private final AftersalesAppealMapper aftersalesAppealService;
private final ISysClient sysClient;
private final IUserClient userClient;
private final AftersalesCustomerMallMapper aftersalesCustomerMallMapper;
private final IUserSearchClient userSearchClient;
private final IBasicdataStoreBusinessClient basicdataStoreBusinessClient;
// private final IAftersalesWorkOrderService aftersalesWorkOrderService;
@Override
public IPage<AftersalesWorkOrderVO> selectAftersalesWorkOrderPage(IPage<AftersalesWorkOrderVO> page, AftersalesWorkOrderVO aftersalesWorkOrder) {
return page.setRecords(baseMapper.selectAftersalesWorkOrderPage(page, aftersalesWorkOrder));
@ -328,7 +329,7 @@ public class AftersalesWorkOrderServiceImpl extends BaseServiceImpl<AftersalesWo
// aftersalesWorkOrder.setInitiationIdentification("PC");
aftersalesWorkOrder.setCreateUser(user.getUserId());
aftersalesWorkOrder.setCreateTime(new Date());
aftersalesWorkOrder.setCreateDept(Long.valueOf(user.getDeptId()));
aftersalesWorkOrder.setCreateDept(Func.firstLong(user.getDeptId()));
aftersalesWorkOrder.setIsDeleted(0);
aftersalesWorkOrder.setWaybillNumber(aftersalesWorkOrder.getWaybillNumber());
aftersalesWorkOrder.setStatus(1);
@ -355,8 +356,8 @@ public class AftersalesWorkOrderServiceImpl extends BaseServiceImpl<AftersalesWo
if (ObjectUtils.isNotNull(aftersalesWorkOrder.getAftersalesProcessingResultsDTO()) && ObjectUtils.isNotNull(aftersalesWorkOrder.getAftersalesProcessingResultsDTO().getCompensationMethod())) {
aftersalesWorkOrder.setWorkOrderStatus(WorkOrderStatusConstant.chulijeiguoyitianxei.getValue());
}
if (!Func.isEmpty(aftersalesWorkOrder.getVehicleRoute())){
if (aftersalesWorkOrder.getVehicleRoute().indexOf("&gt;")>0){
if (!Func.isEmpty(aftersalesWorkOrder.getVehicleRoute())) {
if (aftersalesWorkOrder.getVehicleRoute().indexOf("&gt;") > 0) {
String string = aftersalesWorkOrder.getVehicleRoute().replaceAll("&gt;", ">");
aftersalesWorkOrder.setVehicleRoute(string);
}
@ -366,7 +367,7 @@ public class AftersalesWorkOrderServiceImpl extends BaseServiceImpl<AftersalesWo
} else {
//修改
// if (ObjectUtil.isNotNull(aftersalesWorkOrder.getUnPpackageEntityList())) {
//删除修改包件
//删除修改包件
// aftersalesAbnormalPackageService.deleteLogic(aftersalesWorkOrder.getUnPpackageEntityList());
// }
LambdaUpdateWrapper<AftersalesAbnormalPackageEntity> updateWrapper = Wrappers.<AftersalesAbnormalPackageEntity>lambdaUpdate()
@ -447,10 +448,10 @@ public class AftersalesWorkOrderServiceImpl extends BaseServiceImpl<AftersalesWo
//添加包件信息
if (ObjectUtils.isNotNull(aftersalesWorkOrder.getPackageEntityList())) {
List<AftersalesAbnormalPackageEntity> packageEntityList = aftersalesWorkOrder.getPackageEntityList();
if (!packageEntityList.isEmpty()){
if (!packageEntityList.isEmpty()) {
List<String> collect = packageEntityList.stream().filter(f -> Objects.isNull(f.getFirst())).map(AftersalesAbnormalPackageEntity::getPackageCode).collect(Collectors.toList());
if (!collect.isEmpty()){
throw new RuntimeException(collect.stream().collect(Collectors.joining(","))+"无一级品信息");
if (!collect.isEmpty()) {
throw new RuntimeException(collect.stream().collect(Collectors.joining(",")) + "无一级品信息");
}
}
//包件信息
@ -702,7 +703,7 @@ public class AftersalesWorkOrderServiceImpl extends BaseServiceImpl<AftersalesWo
BeanUtil.copyProperties(aftersaleSurveyRecordDTO, surveyRecordEntity);
surveyRecordEntity.setTypesOf("1");
surveyRecordEntity.setCreateUser(user.getUserId());
surveyRecordEntity.setCreateDept(Long.valueOf(user.getDeptId()));
surveyRecordEntity.setCreateDept(Func.firstLong(user.getDeptId()));
surveyRecordEntity.setCreateTime(new Date());
surveyRecordEntity.setStatus(1);
surveyRecordEntity.setIsDeleted(0);
@ -715,6 +716,171 @@ public class AftersalesWorkOrderServiceImpl extends BaseServiceImpl<AftersalesWo
return true;
}
/**
* 查询异常完整数据集合
*
* @param aftersalesWorkOrder
* @param page
* @return
*/
// public IPage<AftersalesWorkOrderEntity> pageListOwn(Map<String, Object> aftersalesWorkOrder, IPage<Object> page) {
// //查询用户角色信息
// BladeUser user = AuthUtil.getUser();
// String roleName = user.getRoleName();
//
// String tenantId = user.getTenantId();
// // 查询 状态条件
// //查询客服岗位
// List<DictBiz> warehouseType = DictBizCache.getList("after_sales_visits");
// if (warehouseType.isEmpty()) {
// throw new ServiceException("注意,注意!售后访问字典未配置!请配置!");
// } else {
// Optional<DictBiz> first = warehouseType.stream().filter(i -> {
// if (i.getDictValue().equals(roleName)) {
// return true;
// }
// return false;
// }).findFirst();
// Object workOrderStatus = aftersalesWorkOrder.get("workOrderStatus");
// if (first.isPresent()) {
// //存在
// String dictValue = first.get().getDictKey();
//
// switch (dictValue) {
// case "1": //客服经理 查询全部待处理工单
// //待处理
// if (ObjectUtils.isNotNull(workOrderStatus) && "500".equals(workOrderStatus)) {
// aftersalesWorkOrder.remove("workOrderStatus");
// aftersalesWorkOrder.put("customerServiceState", "30");
// } else if (ObjectUtils.isNotNull(workOrderStatus) && WorkOrderStatusConstant.daichuli.getValue().equals(workOrderStatus)) {
// aftersalesWorkOrder.remove("workOrderStatus");
// aftersalesWorkOrder.put("customerServiceState", "80"); //55的待审核
// } else if (ObjectUtils.isNotNull(workOrderStatus) && WorkOrderStatusConstant.yichuli.getValue().equals(workOrderStatus)) {
// aftersalesWorkOrder.remove("workOrderStatus");
// aftersalesWorkOrder.put("customerServiceState", "60"); //55的待审核
// } else if (ObjectUtils.isNotNull(workOrderStatus) && WorkOrderStatusConstant.yiwanjei.getValue().equals(workOrderStatus)) {
// aftersalesWorkOrder.remove("workOrderStatus");
// aftersalesWorkOrder.put("customerServiceState", "10");
// } else if (ObjectUtils.isNotNull(workOrderStatus) && WorkOrderStatusConstant.daishenhe.getValue().equals(workOrderStatus)) {
// aftersalesWorkOrder.remove("workOrderStatus");
// aftersalesWorkOrder.put("customerServiceState", "40");
// } else if (ObjectUtils.isNull(workOrderStatus)) {
// aftersalesWorkOrder.put("customerIdentification", "1");
// }
// break;
// case "2": // 营业部客服
// BasicdataWarehouseEntity myCurrentWarehouse = warehouseClient.getMyCurrentWarehouse();
// if (ObjectUtils.isNotNull(myCurrentWarehouse)) {
// aftersalesWorkOrder.put("warehouseId", myCurrentWarehouse.getId());
// } else {
// throw new ServiceException("请选择仓库!");
// }
// //已处理
// if (ObjectUtils.isNotNull(workOrderStatus) && workOrderStatus.equals(WorkOrderStatusConstant.yichuli.getValue())) {
// aftersalesWorkOrder.remove("workOrderStatus");
// aftersalesWorkOrder.put("handleStatus", "30");
// }
// //待处理
// if (ObjectUtils.isNotNull(workOrderStatus) && workOrderStatus.equals(WorkOrderStatusConstant.daichuli.getValue())) {
// aftersalesWorkOrder.put("handleStatus", "40");
// }
// //处理中
// if (ObjectUtils.isNotNull(workOrderStatus) && workOrderStatus.equals(WorkOrderStatusConstant.chulizhong.getValue())) {
// aftersalesWorkOrder.put("handleStatus", "50");
// }
// //已完结
// if (ObjectUtils.isNotNull(workOrderStatus) && workOrderStatus.equals(WorkOrderStatusConstant.yiwanjei.getValue())) {
// aftersalesWorkOrder.remove("workOrderStatus");
// aftersalesWorkOrder.put("handleStatus", "20");
// }
// //全部
// if (ObjectUtils.isNotNull(workOrderStatus) && "1000".equals(workOrderStatus)) {
// aftersalesWorkOrder.remove("workOrderStatus");
// aftersalesWorkOrder.put("handleStatus", "10");
// }
//// if( ObjectUtils.isNull(workOrderStatus)){
//// aftersalesWorkOrder.put("handleStatus","10");
//// }
//
// break;
// case "3": //职能客服 查询自己的待处理工单
// if (ObjectUtils.isNotNull(workOrderStatus) && "500".equals(workOrderStatus)) {
// aftersalesWorkOrder.remove("workOrderStatus");
// aftersalesWorkOrder.put("customerServiceState", "20");
// aftersalesWorkOrder.put("customerServiceId", user.getUserId());
// } else if (ObjectUtils.isNull(workOrderStatus)) {
// aftersalesWorkOrder.put("customerIdentification", "1");
// } else if (ObjectUtils.isNotNull(workOrderStatus) && WorkOrderStatusConstant.yiwanjei.getValue().equals(workOrderStatus)) {
// aftersalesWorkOrder.remove("workOrderStatus");
// aftersalesWorkOrder.put("customerServiceState", "10");
// } else if (ObjectUtils.isNotNull(workOrderStatus) && WorkOrderStatusConstant.daichuli.getValue().equals(workOrderStatus)) {
// aftersalesWorkOrder.remove("workOrderStatus");
// aftersalesWorkOrder.put("customerServiceState", "31"); // 待处理
// aftersalesWorkOrder.put("customerServiceId", user.getUserId());
// }
// break;
// }
// } else {
// //不存在
// BasicdataWarehouseEntity myCurrentWarehouse = warehouseClient.getMyCurrentWarehouse();
// if (ObjectUtils.isNotNull(myCurrentWarehouse)) {
// aftersalesWorkOrder.put("warehouseId", myCurrentWarehouse.getId());
// } else {
// throw new ServiceException("请选择仓库!");
// }
// //已处理
// if (ObjectUtils.isNotNull(workOrderStatus) && workOrderStatus.equals(WorkOrderStatusConstant.yichuli.getValue())) {
// aftersalesWorkOrder.remove("workOrderStatus");
// aftersalesWorkOrder.put("handleStatus", "30");
// }
// //待处理
// if (ObjectUtils.isNotNull(workOrderStatus) && workOrderStatus.equals(WorkOrderStatusConstant.daichuli.getValue())) {
// aftersalesWorkOrder.put("handleStatus", "40");
// }
// //处理中
// if (ObjectUtils.isNotNull(workOrderStatus) && workOrderStatus.equals(WorkOrderStatusConstant.chulizhong.getValue())) {
// aftersalesWorkOrder.put("handleStatus", "50");
// }
// //已完结
// if (ObjectUtils.isNotNull(workOrderStatus) && workOrderStatus.equals(WorkOrderStatusConstant.yiwanjei.getValue())) {
// aftersalesWorkOrder.remove("workOrderStatus");
// aftersalesWorkOrder.put("handleStatus", "20");
// }
// //全部
// if (ObjectUtils.isNotNull(workOrderStatus) && "1000".equals(workOrderStatus)) {
// aftersalesWorkOrder.remove("workOrderStatus");
// aftersalesWorkOrder.put("handleStatus", "10");
// }
// }
// }
// AftersalesWorkOrderEntity workOrderEntity = JSONObject.parseObject(JSONObject.toJSONString(aftersalesWorkOrder), AftersalesWorkOrderEntity.class);
// IPage<AftersalesWorkOrderEntity> iPage = baseMapper.pageListOwn(page, workOrderEntity);
//
//
// iPage.getRecords().forEach(i -> {
// if (ObjectUtils.isNotNull(i.getCustomerServiceId())) {
// R<List<User>> listR = userSearchClient.listByUser(String.valueOf(i.getCustomerServiceId()));
// if (ObjectUtils.isNotNull(listR.getData())) {
// listR.getData().forEach(a -> {
// long time = System.currentTimeMillis() / 1000; //当前时间
// if (ObjectUtils.isNotNull(a.getDownTime())) {
// long l = a.getDownTime().getTime() / 1000; //停用时间
// if (l <= time) {
// // 已停用
// i.setDepartStatus(true); //已离职
// }
// }
//
// });
//
// }
// }
// });
//
// return iPage;
// }
/**
* 查询异常完整数据集合
*
@ -723,162 +889,203 @@ public class AftersalesWorkOrderServiceImpl extends BaseServiceImpl<AftersalesWo
* @return
*/
@Override
public IPage<AftersalesWorkOrderEntity> pageListOwn(Map<String, Object> aftersalesWorkOrder, IPage<Object> page) {
//查询用户角色信息
public IPage<AftersalesWorkOrderVO> pageListOwn(Map<String, Object> aftersalesWorkOrder, IPage<Object> page) {
// 查询用户角色信息
BladeUser user = AuthUtil.getUser();
if (user == null) {
throw new ServiceException("用户信息获取失败");
}
String roleName = user.getRoleName();
String tenantId = user.getTenantId();
// 查询 状态条件
//查询客服岗位
// 查询 状态条件
List<DictBiz> warehouseType = DictBizCache.getList("after_sales_visits");
if (warehouseType.isEmpty()) {
throw new ServiceException("注意,注意!售后访问字典未配置!请配置!");
} else {
Optional<DictBiz> first = warehouseType.stream().filter(i -> {
if (i.getDictValue().equals(roleName)) {
return true;
}
return false;
}).findFirst();
Object workOrderStatus = aftersalesWorkOrder.get("workOrderStatus");
if (first.isPresent()) {
//存在
String dictValue = first.get().getDictKey();
}
BasicdataWarehouseEntity myCurrentWarehouse = warehouseClient.getMyCurrentWarehouse();
switch (dictValue) {
case "1": //客服经理 查询全部待处理工单
//待处理
if (ObjectUtils.isNotNull(workOrderStatus) && "500".equals(workOrderStatus)) {
aftersalesWorkOrder.remove("workOrderStatus");
aftersalesWorkOrder.put("customerServiceState", "30");
} else if (ObjectUtils.isNotNull(workOrderStatus) && WorkOrderStatusConstant.daichuli.getValue().equals(workOrderStatus)) {
aftersalesWorkOrder.remove("workOrderStatus");
aftersalesWorkOrder.put("customerServiceState", "80"); //55的待审核
}else if (ObjectUtils.isNotNull(workOrderStatus) && WorkOrderStatusConstant.yichuli.getValue().equals(workOrderStatus)) {
aftersalesWorkOrder.remove("workOrderStatus");
aftersalesWorkOrder.put("customerServiceState", "60"); //55的待审核
} else if (ObjectUtils.isNotNull(workOrderStatus) && WorkOrderStatusConstant.yiwanjei.getValue().equals(workOrderStatus)) {
aftersalesWorkOrder.remove("workOrderStatus");
aftersalesWorkOrder.put("customerServiceState", "10");
} else if (ObjectUtils.isNotNull(workOrderStatus) && WorkOrderStatusConstant.daishenhe.getValue().equals(workOrderStatus)) {
aftersalesWorkOrder.remove("workOrderStatus");
aftersalesWorkOrder.put("customerServiceState", "40");
} else if (ObjectUtils.isNull(workOrderStatus)) {
aftersalesWorkOrder.put("customerIdentification", "1");
}
break;
case "2": // 营业部客服
BasicdataWarehouseEntity myCurrentWarehouse = warehouseClient.getMyCurrentWarehouse();
if (ObjectUtils.isNotNull(myCurrentWarehouse)) {
aftersalesWorkOrder.put("warehouseId", myCurrentWarehouse.getId());
} else {
throw new ServiceException("请选择仓库!");
}
//已处理
if (ObjectUtils.isNotNull(workOrderStatus) && workOrderStatus.equals(WorkOrderStatusConstant.yichuli.getValue())) {
aftersalesWorkOrder.remove("workOrderStatus");
aftersalesWorkOrder.put("handleStatus", "30");
}
//待处理
if (ObjectUtils.isNotNull(workOrderStatus) && workOrderStatus.equals(WorkOrderStatusConstant.daichuli.getValue())) {
aftersalesWorkOrder.put("handleStatus", "40");
}
//处理中
if (ObjectUtils.isNotNull(workOrderStatus) && workOrderStatus.equals(WorkOrderStatusConstant.chulizhong.getValue())) {
aftersalesWorkOrder.put("handleStatus", "50");
}
//已完结
if (ObjectUtils.isNotNull(workOrderStatus) && workOrderStatus.equals(WorkOrderStatusConstant.yiwanjei.getValue())) {
aftersalesWorkOrder.remove("workOrderStatus");
aftersalesWorkOrder.put("handleStatus", "20");
}
//全部
if (ObjectUtils.isNotNull(workOrderStatus) && "1000".equals(workOrderStatus)) {
aftersalesWorkOrder.remove("workOrderStatus");
aftersalesWorkOrder.put("handleStatus", "10");
}
// if( ObjectUtils.isNull(workOrderStatus)){
// aftersalesWorkOrder.put("handleStatus","10");
// }
if (Func.isEmpty(myCurrentWarehouse)) {
log.warn(">>>>myCurrentWarehouse {}",myCurrentWarehouse);
}
break;
case "3": //职能客服 查询自己的待处理工单
if (ObjectUtils.isNotNull(workOrderStatus) && "500".equals(workOrderStatus)) {
aftersalesWorkOrder.remove("workOrderStatus");
aftersalesWorkOrder.put("customerServiceState", "20");
aftersalesWorkOrder.put("customerServiceId", user.getUserId());
} else if (ObjectUtils.isNull(workOrderStatus)) {
aftersalesWorkOrder.put("customerIdentification", "1");
} else if (ObjectUtils.isNotNull(workOrderStatus) && WorkOrderStatusConstant.yiwanjei.getValue().equals(workOrderStatus)) {
aftersalesWorkOrder.remove("workOrderStatus");
aftersalesWorkOrder.put("customerServiceState", "10");
} else if (ObjectUtils.isNotNull(workOrderStatus) && WorkOrderStatusConstant.daichuli.getValue().equals(workOrderStatus)) {
aftersalesWorkOrder.remove("workOrderStatus");
aftersalesWorkOrder.put("customerServiceState", "31"); // 待处理
aftersalesWorkOrder.put("customerServiceId", user.getUserId());
}
break;
}
} else {
//不存在
BasicdataWarehouseEntity myCurrentWarehouse = warehouseClient.getMyCurrentWarehouse();
if (ObjectUtils.isNotNull(myCurrentWarehouse)) {
aftersalesWorkOrder.put("warehouseId", myCurrentWarehouse.getId());
} else {
throw new ServiceException("请选择仓库!");
}
//已处理
if (ObjectUtils.isNotNull(workOrderStatus) && workOrderStatus.equals(WorkOrderStatusConstant.yichuli.getValue())) {
aftersalesWorkOrder.remove("workOrderStatus");
aftersalesWorkOrder.put("handleStatus", "30");
}
//待处理
if (ObjectUtils.isNotNull(workOrderStatus) && workOrderStatus.equals(WorkOrderStatusConstant.daichuli.getValue())) {
aftersalesWorkOrder.put("handleStatus", "40");
}
//处理中
if (ObjectUtils.isNotNull(workOrderStatus) && workOrderStatus.equals(WorkOrderStatusConstant.chulizhong.getValue())) {
aftersalesWorkOrder.put("handleStatus", "50");
}
//已完结
if (ObjectUtils.isNotNull(workOrderStatus) && workOrderStatus.equals(WorkOrderStatusConstant.yiwanjei.getValue())) {
aftersalesWorkOrder.remove("workOrderStatus");
aftersalesWorkOrder.put("handleStatus", "20");
}
//全部
if (ObjectUtils.isNotNull(workOrderStatus) && "1000".equals(workOrderStatus)) {
aftersalesWorkOrder.remove("workOrderStatus");
aftersalesWorkOrder.put("handleStatus", "10");
}
Optional<DictBiz> matchingDictBiz = warehouseType.stream()
.filter(i -> i.getDictValue().equals(roleName))
.findFirst();
Object workOrderStatus = aftersalesWorkOrder.get("workOrderStatus");
if (matchingDictBiz.isPresent()) {
String dictValue = matchingDictBiz.get().getDictKey();
switch (dictValue) {
case "1": // 客服经理
updateWorkOrderForManager(aftersalesWorkOrder, workOrderStatus);
break;
case "2": // 营业部客服
updateWorkOrderForSales(aftersalesWorkOrder, workOrderStatus);
break;
case "3": // 职能客服
updateWorkOrderForFunctional(aftersalesWorkOrder, workOrderStatus, user.getUserId());
break;
}
} else {
updateWorkOrderForOthers(aftersalesWorkOrder, workOrderStatus);
}
AftersalesWorkOrderEntity workOrderEntity = JSONObject.parseObject(JSONObject.toJSONString(aftersalesWorkOrder), AftersalesWorkOrderEntity.class);
IPage<AftersalesWorkOrderEntity> iPage = baseMapper.pageListOwn(page, workOrderEntity);
iPage.getRecords().forEach(i -> {
if (ObjectUtils.isNotNull(i.getCustomerServiceId())) {
R<List<User>> listR = userSearchClient.listByUser(String.valueOf(i.getCustomerServiceId()));
if (ObjectUtils.isNotNull(listR.getData())) {
listR.getData().forEach(a -> {
long time = new Date().getTime() / 1000; //当前时间
if (ObjectUtils.isNotNull(a.getDownTime())) {
long l = a.getDownTime().getTime() / 1000; //停用时间
if (l <= time) {
// 已停用
i.setDepartStatus(true); //已离职
}
}
iPage.getRecords().forEach(i -> {});
});
// 需要判断当前作业仓库是否存在于责任方和处理方
// LambdaQueryWrapper<AftersalesProcessorEntity> queryWrapper = new LambdaQueryWrapper<>();
// queryWrapper.eq(AftersalesProcessorEntity::getWorkOrderId,)
// aftersalesProcessorService.list()
}
IPage<AftersalesWorkOrderVO> data = AftersalesWorkOrderWrapper.build().pageVO(iPage);
data.getRecords().forEach(i -> updateDepartStatus(i, user,myCurrentWarehouse));
// 需要判断当前作业仓库是否存在于责任方和处理方
// LambdaQueryWrapper<AftersalesProcessorEntity> queryWrapper = new LambdaQueryWrapper<>();
// queryWrapper.eq(AftersalesProcessorEntity::getWorkOrderId,)
// aftersalesProcessorService.list()
return data;
}
private void updateWorkOrderForManager(Map<String, Object> aftersalesWorkOrder, Object workOrderStatus) {
// 对客服经理的工单状态更新逻辑
// 优化后的代码根据实际情况进行填充
//待处理
if (ObjectUtils.isNotNull(workOrderStatus) && "500".equals(workOrderStatus)) {
aftersalesWorkOrder.remove("workOrderStatus");
aftersalesWorkOrder.put("customerServiceState", "30");
} else if (ObjectUtils.isNotNull(workOrderStatus) && WorkOrderStatusConstant.daichuli.getValue().equals(workOrderStatus)) {
aftersalesWorkOrder.remove("workOrderStatus");
aftersalesWorkOrder.put("customerServiceState", "80"); //55的待审核
} else if (ObjectUtils.isNotNull(workOrderStatus) && WorkOrderStatusConstant.yichuli.getValue().equals(workOrderStatus)) {
aftersalesWorkOrder.remove("workOrderStatus");
aftersalesWorkOrder.put("customerServiceState", "60"); //55的待审核
} else if (ObjectUtils.isNotNull(workOrderStatus) && WorkOrderStatusConstant.yiwanjei.getValue().equals(workOrderStatus)) {
aftersalesWorkOrder.remove("workOrderStatus");
aftersalesWorkOrder.put("customerServiceState", "10");
} else if (ObjectUtils.isNotNull(workOrderStatus) && WorkOrderStatusConstant.daishenhe.getValue().equals(workOrderStatus)) {
aftersalesWorkOrder.remove("workOrderStatus");
aftersalesWorkOrder.put("customerServiceState", "40");
} else if (ObjectUtils.isNull(workOrderStatus)) {
aftersalesWorkOrder.put("customerIdentification", "1");
}
}
private void updateWorkOrderForSales(Map<String, Object> aftersalesWorkOrder, Object workOrderStatus) {
// 对营业部客服的工单状态更新逻辑
// 优化后的代码根据实际情况进行填充
BasicdataWarehouseEntity myCurrentWarehouse = warehouseClient.getMyCurrentWarehouse();
if (ObjectUtils.isNotNull(myCurrentWarehouse)) {
aftersalesWorkOrder.put("warehouseId", myCurrentWarehouse.getId());
} else {
throw new ServiceException("请选择仓库!");
}
//已处理
if (ObjectUtils.isNotNull(workOrderStatus) && workOrderStatus.equals(WorkOrderStatusConstant.yichuli.getValue())) {
aftersalesWorkOrder.remove("workOrderStatus");
aftersalesWorkOrder.put("handleStatus", "30");
}
//待处理
if (ObjectUtils.isNotNull(workOrderStatus) && workOrderStatus.equals(WorkOrderStatusConstant.daichuli.getValue())) {
aftersalesWorkOrder.put("handleStatus", "40");
}
//处理中
if (ObjectUtils.isNotNull(workOrderStatus) && workOrderStatus.equals(WorkOrderStatusConstant.chulizhong.getValue())) {
aftersalesWorkOrder.put("handleStatus", "50");
}
//已完结
if (ObjectUtils.isNotNull(workOrderStatus) && workOrderStatus.equals(WorkOrderStatusConstant.yiwanjei.getValue())) {
aftersalesWorkOrder.remove("workOrderStatus");
aftersalesWorkOrder.put("handleStatus", "20");
}
//全部
if (ObjectUtils.isNotNull(workOrderStatus) && "1000".equals(workOrderStatus)) {
aftersalesWorkOrder.remove("workOrderStatus");
aftersalesWorkOrder.put("handleStatus", "10");
}
}
private void updateWorkOrderForFunctional(Map<String, Object> aftersalesWorkOrder, Object workOrderStatus, Long userId) {
// 对职能客服的工单状态更新逻辑
// 优化后的代码根据实际情况进行填充
if (ObjectUtils.isNotNull(workOrderStatus) && "500".equals(workOrderStatus)) {
aftersalesWorkOrder.remove("workOrderStatus");
aftersalesWorkOrder.put("customerServiceState", "20");
aftersalesWorkOrder.put("customerServiceId", userId);
} else if (ObjectUtils.isNull(workOrderStatus)) {
aftersalesWorkOrder.put("customerIdentification", "1");
} else if (ObjectUtils.isNotNull(workOrderStatus) && WorkOrderStatusConstant.yiwanjei.getValue().equals(workOrderStatus)) {
aftersalesWorkOrder.remove("workOrderStatus");
aftersalesWorkOrder.put("customerServiceState", "10");
} else if (ObjectUtils.isNotNull(workOrderStatus) && WorkOrderStatusConstant.daichuli.getValue().equals(workOrderStatus)) {
aftersalesWorkOrder.remove("workOrderStatus");
aftersalesWorkOrder.put("customerServiceState", "31"); // 待处理
aftersalesWorkOrder.put("customerServiceId", userId);
}
}
private void updateWorkOrderForOthers(Map<String, Object> aftersalesWorkOrder, Object workOrderStatus) {
// 对其他情况的工单状态更新逻辑
// 优化后的代码根据实际情况进行填充
BasicdataWarehouseEntity myCurrentWarehouse = warehouseClient.getMyCurrentWarehouse();
if (ObjectUtils.isNotNull(myCurrentWarehouse)) {
aftersalesWorkOrder.put("warehouseId", myCurrentWarehouse.getId());
} else {
throw new ServiceException("请选择仓库!");
}
//已处理
if (ObjectUtils.isNotNull(workOrderStatus) && workOrderStatus.equals(WorkOrderStatusConstant.yichuli.getValue())) {
aftersalesWorkOrder.remove("workOrderStatus");
aftersalesWorkOrder.put("handleStatus", "30");
}
//待处理
if (ObjectUtils.isNotNull(workOrderStatus) && workOrderStatus.equals(WorkOrderStatusConstant.daichuli.getValue())) {
aftersalesWorkOrder.put("handleStatus", "40");
}
//处理中
if (ObjectUtils.isNotNull(workOrderStatus) && workOrderStatus.equals(WorkOrderStatusConstant.chulizhong.getValue())) {
aftersalesWorkOrder.put("handleStatus", "50");
}
//已完结
if (ObjectUtils.isNotNull(workOrderStatus) && workOrderStatus.equals(WorkOrderStatusConstant.yiwanjei.getValue())) {
aftersalesWorkOrder.remove("workOrderStatus");
aftersalesWorkOrder.put("handleStatus", "20");
}
//全部
if (ObjectUtils.isNotNull(workOrderStatus) && "1000".equals(workOrderStatus)) {
aftersalesWorkOrder.remove("workOrderStatus");
aftersalesWorkOrder.put("handleStatus", "10");
}
}
private void updateDepartStatus(AftersalesWorkOrderVO workOrder, BladeUser user, BasicdataWarehouseEntity myCurrentWarehouse) {
if (ObjectUtils.isNotNull(workOrder.getCustomerServiceId())) {
R<List<User>> listR = userSearchClient.listByUser(String.valueOf(workOrder.getCustomerServiceId()));
if (ObjectUtils.isNotNull(listR.getData())) {
long time = System.currentTimeMillis() / 1000;
listR.getData().forEach(a -> {
if (ObjectUtils.isNotNull(a.getDownTime()) && a.getDownTime().getTime() / 1000 <= time) {
workOrder.setDepartStatus(true);
}
});
}
});
}
workOrder.setTotalAmount(completionRecordService.getTotalMoney(workOrder,myCurrentWarehouse.getId()));
return iPage;
//
}
/**
* 查询工单超时未处理并添加超时记录
*/
@ -1147,7 +1354,7 @@ public class AftersalesWorkOrderServiceImpl extends BaseServiceImpl<AftersalesWo
* @return
*/
@Override
public AftersalesWorkOrderVO getProcessingResults(AftersalesWorkOrderDTO aftersalesWorkOrder) {
public AftersalesWorkOrderVO getProcessingResults(AftersalesWorkOrderDTO aftersalesWorkOrder) {
AftersalesWorkOrderVO aftersalesWorkOrderVO = new AftersalesWorkOrderVO();
AftersalesWorkOrderEntity workOrderEntity = baseMapper.selectById(aftersalesWorkOrder.getId());
@ -1165,14 +1372,14 @@ public class AftersalesWorkOrderServiceImpl extends BaseServiceImpl<AftersalesWo
List<AftersalesProcessorVO> processorVOS = new ArrayList<>();
if (!list.isEmpty()) {
Iterator<AftersalesProcessorEntity> iterator = list.iterator();
while (iterator.hasNext()){
while (iterator.hasNext()) {
AftersalesProcessorEntity next = iterator.next();
if (ProcessorProcessingStatusStatusConstant.daichuli.getValue().equals(next.getProcessingStatus())
|| ProcessorProcessingStatusStatusConstant.yichuli.getValue().equals(next.getProcessingStatus())){
|| ProcessorProcessingStatusStatusConstant.yichuli.getValue().equals(next.getProcessingStatus())) {
AftersalesProcessorVO processorVO = new AftersalesProcessorVO();
BeanUtil.copyProperties(next, processorVO);
processorVOS.add(processorVO);
}else {
} else {
iterator.remove();
}
}
@ -1201,8 +1408,8 @@ public class AftersalesWorkOrderServiceImpl extends BaseServiceImpl<AftersalesWo
mailIdStringBuilder.deleteCharAt(mailIdStringBuilder.length() - 1);
}
String modeByClientIdList = basicdataStoreBusinessClient.findModeByClientIdList(mailIdStringBuilder.toString());
if (modeByClientIdList != null && !modeByClientIdList.isEmpty() ) {
String[] split= modeByClientIdList.split(",");
if (modeByClientIdList != null && !modeByClientIdList.isEmpty()) {
String[] split = modeByClientIdList.split(",");
StringBuilder newString = new StringBuilder();
for (String s : split) {
newString.append(DictBizCache.getValue(DictBizConstant.BASIC_FREIGHT_TYPE, s));
@ -1224,7 +1431,7 @@ public class AftersalesWorkOrderServiceImpl extends BaseServiceImpl<AftersalesWo
// aftersalesWorkOrderVO.setTypeServiceName(stringBu.toString());
// }
// }
}else {
} else {
log.info("暂未查询到合作信息");
}
@ -1263,16 +1470,13 @@ public class AftersalesWorkOrderServiceImpl extends BaseServiceImpl<AftersalesWo
}
//todo 查询完结信息
AftersalesCompletionRecordEntity completionRecordEntity = new AftersalesCompletionRecordEntity();
AftersalesCompletionRecipientEntity completionRecipientEntity = new AftersalesCompletionRecipientEntity();
List<AftersalesCompletionRecordEntity> list4 = completionRecordService.list(Wrappers.<AftersalesCompletionRecordEntity>query().lambda()
.eq(AftersalesCompletionRecordEntity::getWorkOrderId, aftersalesWorkOrder.getId())
);
if (Func.isNotEmpty(list4)){
list4.forEach(i->{
if (Func.isNotEmpty(list4)) {
list4.forEach(i -> {
BigDecimal bigDecimal = i.getMoney().setScale(2, BigDecimal.ROUND_FLOOR);
i.setMoney(bigDecimal);
});
@ -1328,7 +1532,7 @@ public class AftersalesWorkOrderServiceImpl extends BaseServiceImpl<AftersalesWo
BladeUser user = AuthUtil.getUser();
List<AftersalesWorkOrderEntity> list = new ArrayList<>();
data.stream().forEach(k -> {
data.forEach(k -> {
//查询工单数据是否存在
AftersalesWorkOrderEntity workOrder = baseMapper.selectOne(Wrappers.<AftersalesWorkOrderEntity>query().lambda()
.eq(AftersalesWorkOrderEntity::getWorkOrderNumber, k)
@ -1408,7 +1612,7 @@ public class AftersalesWorkOrderServiceImpl extends BaseServiceImpl<AftersalesWo
throw new ServiceException("注意,注意!客服人员字典未配置!请配置!");
} else {
List<String> stringList = new ArrayList<>();
warehouseType.stream().forEach(i -> {
warehouseType.forEach(i -> {
//查询这个角色ID
R<String> roleId = sysClient.getRoleIds(tenantId, i.getDictValue());
if (ObjectUtils.isNotNull(roleId.getData())) {
@ -1752,7 +1956,7 @@ public class AftersalesWorkOrderServiceImpl extends BaseServiceImpl<AftersalesWo
}
//添加处理结果
AftersalesProcessingResultsDTO aftersalesProcessingResultsDTO = aftersalesWorkOrderDTO.getAftersalesProcessingResultsDTO();
aftersalesProcessingResultsDTO.setWorkOrderId(aftersalesWorkOrderDTO.getId());
aftersalesProcessingResultsDTO.setWorkOrderId(aftersalesWorkOrderDTO.getId());
aftersalesProcessingResultsService.ownSaveOrUpdate(aftersalesProcessingResultsDTO);
//修改异常工单处理信息!
@ -1830,7 +2034,7 @@ public class AftersalesWorkOrderServiceImpl extends BaseServiceImpl<AftersalesWo
// AftersaleSurveyRecordDTO aftersaleSurveyRecordDTO = new AftersaleSurveyRecordDTO();
AftersaleSurveyRecordDTO aftersaleSurveyRecordDTO = changName(aftersalesWorkOrderDTO, user);
aftersaleSurveyRecordDTO.setCreateUser(user.getUserId());
aftersaleSurveyRecordDTO.setCreateDept(Long.valueOf(user.getDeptId()));
aftersaleSurveyRecordDTO.setCreateDept(Func.firstLong(user.getDeptId()));
aftersaleSurveyRecordDTO.setCreateTime(new Date());
aftersaleSurveyRecordDTO.setStatus(1);
aftersaleSurveyRecordDTO.setIsDeleted(0);
@ -1974,7 +2178,7 @@ public class AftersalesWorkOrderServiceImpl extends BaseServiceImpl<AftersalesWo
}
surveyRecordEntity.setTenantId(user.getTenantId());
surveyRecordEntity.setCreateUser(user.getUserId());
surveyRecordEntity.setCreateDept(Long.valueOf(user.getDeptId()));
surveyRecordEntity.setCreateDept(Func.firstLong(user.getDeptId()));
surveyRecordEntity.setDifference(difference);
surveyRecordEntity.setTypesOf("1");
surveyRecordEntity.setWorkOrderId(workOrderId);
@ -2162,7 +2366,7 @@ public class AftersalesWorkOrderServiceImpl extends BaseServiceImpl<AftersalesWo
//添加记录
AftersaleSurveyRecordDTO aftersaleSurveyRecordDTO = changName(aftersalesWorkOrderDTO, user);
aftersaleSurveyRecordDTO.setCreateUser(user.getUserId());
aftersaleSurveyRecordDTO.setCreateDept(Long.valueOf(user.getDeptId()));
aftersaleSurveyRecordDTO.setCreateDept(Func.firstLong(user.getDeptId()));
aftersaleSurveyRecordDTO.setCreateTime(new Date());
aftersaleSurveyRecordDTO.setStatus(1);
aftersaleSurveyRecordDTO.setIsDeleted(0);
@ -2231,6 +2435,35 @@ public class AftersalesWorkOrderServiceImpl extends BaseServiceImpl<AftersalesWo
return true;
}
/**
* 修改申述状态数据
*
* @param aftersalesAppeal
* @return
*/
// @Override
// public boolean updateByIdAppel(AftersalesAppealEntity aftersalesAppeal) {
//
// BladeUser user = AuthUtil.getUser();
// aftersalesAppeal.setProcessedByName(user.getUserName());
// aftersalesAppeal.setProcessedById(user.getUserId());
// aftersalesAppeal.setProcessedDate(new Date());
// if (ObjectUtils.isNotNull(aftersalesAppeal.getTypesOf()) && "3".equals(aftersalesAppeal.getTypesOf()) || ObjectUtils.isNotNull(aftersalesAppeal.getTypesOf()) && "2".equals(aftersalesAppeal.getTypesOf())) {
// //取消订单申述
// AftersalesWorkOrderEntity workOrderEntity = new AftersalesWorkOrderEntity();
// workOrderEntity.setId(aftersalesAppeal.getWorkOrderId());
// workOrderEntity.setWorkOrderStatus(WorkOrderStatusConstant.yiwanjei.getValue());
// baseMapper.updateById(workOrderEntity);
//
// if("2".equals(aftersalesAppeal.getTypesOf())){
// // 增加驳回记录信息
// addSurveyRecord(user,workOrderEntity.getId(),"申述驳回:"+aftersalesAppeal.getHandlingReason(),"3");
// }
//
// }
// return aftersalesAppealService.updateById(aftersalesAppeal) > 0;
// }
/**
* 修改申述状态数据
*
@ -2239,21 +2472,52 @@ public class AftersalesWorkOrderServiceImpl extends BaseServiceImpl<AftersalesWo
*/
@Override
public boolean updateByIdAppel(AftersalesAppealEntity aftersalesAppeal) {
// 安全性校验:确保用户信息不为空
BladeUser user = AuthUtil.getUser();
if (user == null) {
throw new RuntimeException("用户信息获取失败");
}
// 参数合法性校验:校验aftersalesAppeal不为空
if (aftersalesAppeal == null) {
throw new IllegalArgumentException("申诉信息不能为空");
}
// 参数合法性校验:校验申诉类型不为空且为预期值
String typesOf = aftersalesAppeal.getTypesOf();
if (!ObjectUtils.isNotNull(typesOf) || !("2".equals(typesOf) || "3".equals(typesOf))) {
throw new IllegalArgumentException("无效的申诉类型");
}
// 设置处理人信息和处理时间
aftersalesAppeal.setProcessedByName(user.getUserName());
aftersalesAppeal.setProcessedById(user.getUserId());
aftersalesAppeal.setProcessedDate(new Date());
if (ObjectUtils.isNotNull(aftersalesAppeal.getTypesOf()) && "3".equals(aftersalesAppeal.getTypesOf()) || ObjectUtils.isNotNull(aftersalesAppeal.getTypesOf()) && "2".equals(aftersalesAppeal.getTypesOf())) {
//取消订单申述
AftersalesWorkOrderEntity workOrderEntity = new AftersalesWorkOrderEntity();
workOrderEntity.setId(aftersalesAppeal.getWorkOrderId());
workOrderEntity.setWorkOrderStatus(WorkOrderStatusConstant.yiwanjei.getValue());
baseMapper.updateById(workOrderEntity);
try {
if ("3".equals(typesOf) || "2".equals(typesOf)) {
// 根据不同的申诉类型进行订单状态更新和申述记录添加
AftersalesWorkOrderEntity workOrderEntity = new AftersalesWorkOrderEntity();
workOrderEntity.setId(aftersalesAppeal.getWorkOrderId());
workOrderEntity.setWorkOrderStatus(WorkOrderStatusConstant.yiwanjei.getValue());
baseMapper.updateById(workOrderEntity);
if ("2".equals(typesOf)) {
// 添加驳回记录信息
String recordDesc = "申述驳回:" + aftersalesAppeal.getHandlingReason();
addSurveyRecord(user, workOrderEntity.getId(), recordDesc, "3");
}
}
// 更新申诉信息
return aftersalesAppealService.updateById(aftersalesAppeal) > 0;
} catch (Exception e) {
log.error("处理申诉信息时发生异常", e);
// 异常处理:记录日志或抛出自定义异常
throw new RuntimeException("处理申诉信息时发生异常", e);
}
return aftersalesAppealService.updateById(aftersalesAppeal) > 0;
}
/**
* 修改结束仲裁
*
@ -2306,7 +2570,7 @@ public class AftersalesWorkOrderServiceImpl extends BaseServiceImpl<AftersalesWo
surveyRecordDTO.setTypesOf("1");
surveyRecordDTO.setDifference("2");
surveyRecordDTO.setCreateUser(user.getUserId());
surveyRecordDTO.setCreateDept(Long.valueOf(user.getDeptId()));
surveyRecordDTO.setCreateDept(Func.firstLong(user.getDeptId()));
surveyRecordDTO.setCreateTime(new Date());
surveyRecordDTO.setStatus(1);
surveyRecordDTO.setIsDeleted(0);
@ -2353,29 +2617,21 @@ public class AftersalesWorkOrderServiceImpl extends BaseServiceImpl<AftersalesWo
for (AftersalesWorkOrderEntity orderByOrderPackageCodeAndWarehouseIdAndOtherNodex : workOrderByOrderPackageCodeAndWarehouseIdAndOtherNodex) {
// 更新这个异常工单下面的包件
aftersalesAbnormalPackageMapper.updateAftersalesAbnormalPackageByWorkOrderIdAndPackCodeAndOtherNodex(orderByOrderPackageCodeAndWarehouseIdAndOtherNodex.getId(),orderPackageCode, packageFinish);
aftersalesAbnormalPackageMapper.updateAftersalesAbnormalPackageByWorkOrderIdAndPackCodeAndOtherNodex(orderByOrderPackageCodeAndWarehouseIdAndOtherNodex.getId(), orderPackageCode, packageFinish);
orderByOrderPackageCodeAndWarehouseIdAndOtherNodex.setPackageFinish(packageFinish);
baseMapper.updateById(orderByOrderPackageCodeAndWarehouseIdAndOtherNodex);
}
}
@Override
public AftersalesWorkOrderListExcelDTO exportAftersalesWorkOrderList() {
List<BasicdataWarehouseEntity> warehouseList = warehouseClient.getMyWarehouseList();
List<Long> warehouseListIds = null;
if (!warehouseList.isEmpty()){
warehouseListIds = warehouseList.stream().map(BasicdataWarehouseEntity::getId).collect(Collectors.toList());
if (!warehouseList.isEmpty()) {
warehouseListIds = warehouseList.stream().map(BasicdataWarehouseEntity::getId).collect(Collectors.toList());
}
AftersalesWorkOrderListExcelDTO aftersalesWorkOrderListExcelDTO = new AftersalesWorkOrderListExcelDTO();
List<AftersalesWorkOrderExcel> allAftersalesWorkOrderExcels = baseMapper.selectAllAftersalesWorkOrderList(warehouseListIds);

2
blade-service/logpm-business/src/main/java/com/logpm/business/aspect/ChangeAsyncAnnotationAspect.java

@ -78,7 +78,7 @@ public class ChangeAsyncAnnotationAspect {
data = bladeRedis.get(CacheNames.LOCAL_SERVER_USER + tenantId + ":" + account);
if (Objects.isNull(data)) {
data = mockLoginService.mockToken(tenantId, account);
bladeRedis.setEx(CacheNames.LOCAL_SERVER_USER + tenantId + ":" + account, data, 3200L);
bladeRedis.setEx(CacheNames.LOCAL_SERVER_USER + tenantId + ":" + account, data, 25919900L);
redisLockClient.unLock("local_server_user" + tenantId, LockType.FAIR);
}
}

2
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/aspect/ChangeAsyncAnnotationAspect.java

@ -80,7 +80,7 @@ public class ChangeAsyncAnnotationAspect {
data = bladeRedis.get(CacheNames.LOCAL_SERVER_USER + tenantId + ":" + account);
if (Objects.isNull(data)) {
data = mockLoginService.mockToken(tenantId, account);
bladeRedis.setEx(CacheNames.LOCAL_SERVER_USER + tenantId + ":" + account, data, 3200L);
bladeRedis.setEx(CacheNames.LOCAL_SERVER_USER + tenantId + ":" + account, data, 25919900L);
redisLockClient.unLock("local_server_user" + tenantId, LockType.FAIR);
}
}

50
blade-service/logpm-factory/src/test/java/com/logpm/factory/TestService.java

File diff suppressed because one or more lines are too long

19
blade-service/logpm-patch/src/main/java/com/logpm/patch/interceptor/LocalServerLoginAccountsInterceptor.java

@ -6,6 +6,7 @@ import com.alibaba.fastjson.JSONObject;
import lombok.AllArgsConstructor;
import lombok.extern.log4j.Log4j2;
import org.springblade.common.cache.CacheNames;
import org.springblade.common.component.MockLoginService;
import org.springblade.common.constant.LauncherConstant;
import org.springblade.common.exception.CustomerException;
import org.springblade.common.wrapper.CustomHttpServletRequestWrapper;
@ -37,6 +38,8 @@ public class LocalServerLoginAccountsInterceptor extends HandlerInterceptorAdapt
private final Environment environment;
private final RedisLockClient redisLockClient;
private final MockLoginService mockLoginService;
@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws CustomerException {
@ -50,20 +53,8 @@ public class LocalServerLoginAccountsInterceptor extends HandlerInterceptorAdapt
if(flag){
data =bladeRedis.get(CacheNames.LOCAL_SERVER_USER+account);
if(Objects.isNull(data)){
String url = "http://"+ LauncherConstant.loginAddr(Objects.requireNonNull(environment.getActiveProfiles()[0]))+"/blade-auth/oauth/token";
HttpRequest urlRequest = HttpRequest.post(url);
urlRequest.header("Authorization", "Basic c2FiZXI6c2FiZXJfc2VjcmV0");
urlRequest.header("Tenant-Id", "627683");
Map<String, Object> params = new HashMap<>();
params.put("grant_type", "local_server");
params.put("scope", "all");
params.put("username", account);
params.put("tenantId", "627683");
HttpResponse execute = urlRequest.form(params).execute();
String body = execute.body();
data = JSONObject.parseObject(body);
bladeRedis.setEx(CacheNames.LOCAL_SERVER_USER+account,data,3200L);
data = mockLoginService.mockToken("627683",account);
bladeRedis.setEx(CacheNames.LOCAL_SERVER_USER+account,data,25919900L);
redisLockClient.unLock("local_server_user", LockType.FAIR);
}
}

8
blade-service/logpm-patch/src/main/resources/application-dev.yml

@ -60,12 +60,12 @@ spring:
url: ${blade.datasource.patch.master.url}
username: ${blade.datasource.patch.master.username}
password: ${blade.datasource.patch.master.password}
slave:
627683:
druid:
#独立校验配置
validation-query: select 1
#oracle校验
#validation-query: select 1 from dual
url: ${blade.datasource.patch.slave.url}
username: ${blade.datasource.patch.slave.username}
password: ${blade.datasource.patch.slave.password}
url: ${blade.datasource.patch.627683.url}
username: ${blade.datasource.patch.627683.username}
password: ${blade.datasource.patch.627683.password}

2
blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/aspect/ChangeAsyncAnnotationAspect.java

@ -78,7 +78,7 @@ public class ChangeAsyncAnnotationAspect {
data = bladeRedis.get(CacheNames.LOCAL_SERVER_USER + tenantId + ":" + account);
if (Objects.isNull(data)) {
data = mockLoginService.mockToken(tenantId, account);
bladeRedis.setEx(CacheNames.LOCAL_SERVER_USER + tenantId + ":" + account, data, 3200L);
bladeRedis.setEx(CacheNames.LOCAL_SERVER_USER + tenantId + ":" + account, data, 25919900L);
redisLockClient.unLock("local_server_user" + tenantId, LockType.FAIR);
}
}

4
blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/impl/TaskQuestServiceImpl.java

@ -247,7 +247,7 @@ public class TaskQuestServiceImpl extends BaseServiceImpl<TaskQuestMapper, TaskQ
detailEntity.setCreateUser(user.getUserId());
Long deptId = getDeptByMaxDept(user.getDeptId());
Long deptId = Func.firstLong(user.getDeptId());
detailEntity.setCreateDept(deptId);
detailEntity.setIsDeleted(0);
detailEntity.setStatus(1);
@ -2089,7 +2089,7 @@ public class TaskQuestServiceImpl extends BaseServiceImpl<TaskQuestMapper, TaskQ
break;
case "4": //4库存品
questDetail.setCreateUser(user.getUserId());
questDetail.setCreateDept(Long.parseLong(user.getDeptId().split(",")[0]));
questDetail.setCreateDept(Func.firstLong(user.getDeptId()));
questDetail.setStatus(1);
questDetail.setIsDeleted(0);
Date date = new Date();

Loading…
Cancel
Save