From 60f834f8deb6fa4d8402660e7038d2c282f58f0d Mon Sep 17 00:00:00 2001 From: PigBaoBei <2739175034@qq.com> Date: Fri, 22 Dec 2023 18:37:54 +0800 Subject: [PATCH 1/4] =?UTF-8?q?=E6=96=87=E5=91=98=E5=A4=8D=E6=A0=B8bug?= =?UTF-8?q?=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/DistributionSignforServiceImpl.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionSignforServiceImpl.java b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionSignforServiceImpl.java index 83d5cc2d7..dc6534b03 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionSignforServiceImpl.java +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionSignforServiceImpl.java @@ -62,6 +62,7 @@ import org.springblade.common.constant.loading.LoadingStatusConstant; import org.springblade.common.constant.orderpackage.*; import org.springblade.common.constant.reservation.*; import org.springblade.common.constant.signing.SignforDriverSigningStatusConstant; +import org.springblade.common.constant.signing.SignforStatusConstant; import org.springblade.common.exception.CustomerException; import org.springblade.common.serviceConstant.ServiceConstant; import org.springblade.common.utils.CommonUtil; @@ -309,6 +310,7 @@ public class DistributionSignforServiceImpl extends BaseServiceImpl Date: Sat, 23 Dec 2023 12:14:15 +0800 Subject: [PATCH 2/4] =?UTF-8?q?=E6=8E=A8=E9=80=81=E6=A2=A6=E5=A4=A9?= =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E5=BC=82=E6=AD=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../distribution/service/impl/DistributionAsyncServiceImpl.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionAsyncServiceImpl.java b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionAsyncServiceImpl.java index f62121e7f..e03fdcc4f 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionAsyncServiceImpl.java +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionAsyncServiceImpl.java @@ -1386,6 +1386,7 @@ public class DistributionAsyncServiceImpl implements IDistributionAsyncService { } @Override + @Async public void sendFactory(DistributionParcelListEntity distributionParcelListEntity,String signingTime,Long reservationId,String reservationCode,Long warehouseId) { DistributionStockArticleEntity stockArticleEntity = distributionStockArticleService.getById(distributionParcelListEntity.getStockArticleId()); if (Func.isNotEmpty(stockArticleEntity)){ @@ -1406,6 +1407,7 @@ public class DistributionAsyncServiceImpl implements IDistributionAsyncService { @Override @Transactional + @Async public void sendReviewFactory(Long signingId,Long warehouseId) { String brands= "梦天";//可追加 From 51d2f8c2a2140fa545e6590c6d2726d42930c63e Mon Sep 17 00:00:00 2001 From: zhenghaoyu Date: Sat, 23 Dec 2023 17:18:03 +0800 Subject: [PATCH 3/4] =?UTF-8?q?1.=E5=95=86=E9=85=8D=E5=BC=82=E5=B8=B8?= =?UTF-8?q?=E7=AD=BE=E6=94=B6=E5=8F=AA=E5=88=A4=E5=AE=9A=E5=95=86=E5=9C=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/DistributionSignforServiceImpl.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionSignforServiceImpl.java b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionSignforServiceImpl.java index dc6534b03..d6853a19e 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionSignforServiceImpl.java +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionSignforServiceImpl.java @@ -833,7 +833,8 @@ public class DistributionSignforServiceImpl extends BaseServiceImpl Date: Sat, 23 Dec 2023 17:56:19 +0800 Subject: [PATCH 4/4] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E5=AE=A2=E6=9C=8D?= =?UTF-8?q?=E5=95=86=E5=9C=BA=E5=85=B3=E8=81=94=EF=BC=8C=E6=B7=BB=E5=8A=A0?= =?UTF-8?q?=E5=AE=A2=E6=9C=8D=E4=BB=B2=E8=A3=81=E6=8C=87=E6=B4=BE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../AftersalesArbitrationOrderEntity.java | 8 + .../entity/AftersalesCustomerMallEntity.java | 39 +++++ .../entity/AftersalesWorkOrderEntity.java | 13 ++ .../feign/IAftersalesCustomerMallClient.java | 49 ++++++ .../vo/AftersalesCustomerMallVO.java | 35 ++++ .../AftersalesCustomerMallController.java | 151 ++++++++++++++++++ .../AftersalesWorkOrderController.java | 22 ++- .../dto/AftersalesCustomerMallDTO.java | 34 ++++ .../excel/AftersalesCustomerMallExcel.java | 44 +++++ .../feign/AftersalesCustomerMallClient.java | 53 ++++++ .../mapper/AftersalesCustomerMallMapper.java | 54 +++++++ .../mapper/AftersalesCustomerMallMapper.xml | 19 +++ .../IAftersalesCustomerMallService.java | 52 ++++++ .../service/IAftersalesWorkOrderService.java | 7 + .../AftersalesCustomerMallServiceImpl.java | 57 +++++++ .../impl/AftersalesWorkOrderServiceImpl.java | 36 ++++- .../AftersalesCustomerMallWrapper.java | 50 ++++++ 17 files changed, 717 insertions(+), 6 deletions(-) create mode 100644 blade-service-api/logpm-aftersales-api/src/main/java/com/logpm/aftersales/entity/AftersalesCustomerMallEntity.java create mode 100644 blade-service-api/logpm-aftersales-api/src/main/java/com/logpm/aftersales/feign/IAftersalesCustomerMallClient.java create mode 100644 blade-service-api/logpm-aftersales-api/src/main/java/com/logpm/aftersales/vo/AftersalesCustomerMallVO.java create mode 100644 blade-service/logpm-aftersales/src/main/java/com/logpm/aftersales/controller/AftersalesCustomerMallController.java create mode 100644 blade-service/logpm-aftersales/src/main/java/com/logpm/aftersales/dto/AftersalesCustomerMallDTO.java create mode 100644 blade-service/logpm-aftersales/src/main/java/com/logpm/aftersales/excel/AftersalesCustomerMallExcel.java create mode 100644 blade-service/logpm-aftersales/src/main/java/com/logpm/aftersales/feign/AftersalesCustomerMallClient.java create mode 100644 blade-service/logpm-aftersales/src/main/java/com/logpm/aftersales/mapper/AftersalesCustomerMallMapper.java create mode 100644 blade-service/logpm-aftersales/src/main/java/com/logpm/aftersales/mapper/AftersalesCustomerMallMapper.xml create mode 100644 blade-service/logpm-aftersales/src/main/java/com/logpm/aftersales/service/IAftersalesCustomerMallService.java create mode 100644 blade-service/logpm-aftersales/src/main/java/com/logpm/aftersales/service/impl/AftersalesCustomerMallServiceImpl.java create mode 100644 blade-service/logpm-aftersales/src/main/java/com/logpm/aftersales/wrapper/AftersalesCustomerMallWrapper.java diff --git a/blade-service-api/logpm-aftersales-api/src/main/java/com/logpm/aftersales/entity/AftersalesArbitrationOrderEntity.java b/blade-service-api/logpm-aftersales-api/src/main/java/com/logpm/aftersales/entity/AftersalesArbitrationOrderEntity.java index 5a7bfadcd..24abee416 100644 --- a/blade-service-api/logpm-aftersales-api/src/main/java/com/logpm/aftersales/entity/AftersalesArbitrationOrderEntity.java +++ b/blade-service-api/logpm-aftersales-api/src/main/java/com/logpm/aftersales/entity/AftersalesArbitrationOrderEntity.java @@ -76,5 +76,13 @@ public class AftersalesArbitrationOrderEntity extends TenantEntity { */ @ApiModelProperty(value = "操作 正常完结 客服完结 ") private String operateType; + /** + * 归属客服ID + */ + private String customerServiceId; + /** + * 归属客服名称 + */ + private String customerServiceName; } diff --git a/blade-service-api/logpm-aftersales-api/src/main/java/com/logpm/aftersales/entity/AftersalesCustomerMallEntity.java b/blade-service-api/logpm-aftersales-api/src/main/java/com/logpm/aftersales/entity/AftersalesCustomerMallEntity.java new file mode 100644 index 000000000..506a4b1ca --- /dev/null +++ b/blade-service-api/logpm-aftersales-api/src/main/java/com/logpm/aftersales/entity/AftersalesCustomerMallEntity.java @@ -0,0 +1,39 @@ +/* + * Copyright (c) 2018-2028, Chill Zhuang All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * Neither the name of the dreamlu.net developer nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * Author: Chill 庄骞 (smallchill@163.com) + */ +package com.logpm.aftersales.entity; + +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.EqualsAndHashCode; +import org.springblade.core.tenant.mp.TenantEntity; + +/** + * 异常工单商场对应客服 实体类 + * + * @author cyz + * @since 2023-12-23 + */ +@Data +@TableName("logpm_aftersales_customer_mall") +@ApiModel(value = "AftersalesCustomerMall对象", description = "异常工单商场对应客服") +@EqualsAndHashCode(callSuper = true) +public class AftersalesCustomerMallEntity extends TenantEntity { + + +} diff --git a/blade-service-api/logpm-aftersales-api/src/main/java/com/logpm/aftersales/entity/AftersalesWorkOrderEntity.java b/blade-service-api/logpm-aftersales-api/src/main/java/com/logpm/aftersales/entity/AftersalesWorkOrderEntity.java index 1a0c62d3f..8a8c112f7 100644 --- a/blade-service-api/logpm-aftersales-api/src/main/java/com/logpm/aftersales/entity/AftersalesWorkOrderEntity.java +++ b/blade-service-api/logpm-aftersales-api/src/main/java/com/logpm/aftersales/entity/AftersalesWorkOrderEntity.java @@ -264,5 +264,18 @@ public class AftersalesWorkOrderEntity extends TenantEntity { @ApiModelProperty(value = "标识 1订单 2 零担 3库存品 ") @TableField(exist = false) private String identifying; + /** + * 处理仓库ID + */ + private Long completionId; + /** + * 处理仓库名称 + */ + private String completionName; + + + + + } diff --git a/blade-service-api/logpm-aftersales-api/src/main/java/com/logpm/aftersales/feign/IAftersalesCustomerMallClient.java b/blade-service-api/logpm-aftersales-api/src/main/java/com/logpm/aftersales/feign/IAftersalesCustomerMallClient.java new file mode 100644 index 000000000..8eb0c5126 --- /dev/null +++ b/blade-service-api/logpm-aftersales-api/src/main/java/com/logpm/aftersales/feign/IAftersalesCustomerMallClient.java @@ -0,0 +1,49 @@ +/* + * Copyright (c) 2018-2028, Chill Zhuang All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * Neither the name of the dreamlu.net developer nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * Author: Chill 庄骞 (smallchill@163.com) + */ +package com.logpm.aftersales.feign; + +import org.springblade.core.mp.support.BladePage; +import com.logpm.aftersales.entity.AftersalesCustomerMallEntity; +import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestParam; + +/** + * 异常工单商场对应客服 Feign接口类 + * + * @author cyz + * @since 2023-12-23 + */ +@FeignClient( + value = "blade-aftersales" +) +public interface IAftersalesCustomerMallClient { + + String API_PREFIX = "/client"; + String TOP = API_PREFIX + "/top"; + + /** + * 获取异常工单商场对应客服列表 + * + * @param current 页号 + * @param size 页数 + * @return BladePage + */ + @GetMapping(TOP) + BladePage top(@RequestParam("current") Integer current, @RequestParam("size") Integer size); + +} diff --git a/blade-service-api/logpm-aftersales-api/src/main/java/com/logpm/aftersales/vo/AftersalesCustomerMallVO.java b/blade-service-api/logpm-aftersales-api/src/main/java/com/logpm/aftersales/vo/AftersalesCustomerMallVO.java new file mode 100644 index 000000000..b421e36e9 --- /dev/null +++ b/blade-service-api/logpm-aftersales-api/src/main/java/com/logpm/aftersales/vo/AftersalesCustomerMallVO.java @@ -0,0 +1,35 @@ +/* + * Copyright (c) 2018-2028, Chill Zhuang All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * Neither the name of the dreamlu.net developer nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * Author: Chill 庄骞 (smallchill@163.com) + */ +package com.logpm.aftersales.vo; + +import com.logpm.aftersales.entity.AftersalesCustomerMallEntity; +import org.springblade.core.tool.node.INode; +import lombok.Data; +import lombok.EqualsAndHashCode; + +/** + * 异常工单商场对应客服 视图实体类 + * + * @author cyz + * @since 2023-12-23 + */ +@Data +@EqualsAndHashCode(callSuper = true) +public class AftersalesCustomerMallVO extends AftersalesCustomerMallEntity { + private static final long serialVersionUID = 1L; + +} diff --git a/blade-service/logpm-aftersales/src/main/java/com/logpm/aftersales/controller/AftersalesCustomerMallController.java b/blade-service/logpm-aftersales/src/main/java/com/logpm/aftersales/controller/AftersalesCustomerMallController.java new file mode 100644 index 000000000..37b32ec80 --- /dev/null +++ b/blade-service/logpm-aftersales/src/main/java/com/logpm/aftersales/controller/AftersalesCustomerMallController.java @@ -0,0 +1,151 @@ +/* + * Copyright (c) 2018-2028, Chill Zhuang All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * Neither the name of the dreamlu.net developer nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * Author: Chill 庄骞 (smallchill@163.com) + */ +package com.logpm.aftersales.controller; + +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import io.swagger.annotations.ApiParam; +import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport; +import lombok.AllArgsConstructor; +import javax.validation.Valid; + +import org.springblade.core.secure.BladeUser; +import org.springblade.core.mp.support.Condition; +import org.springblade.core.mp.support.Query; +import org.springblade.core.tool.api.R; +import org.springblade.core.tool.utils.Func; +import org.springframework.web.bind.annotation.*; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.logpm.aftersales.entity.AftersalesCustomerMallEntity; +import com.logpm.aftersales.vo.AftersalesCustomerMallVO; +import com.logpm.aftersales.excel.AftersalesCustomerMallExcel; +import com.logpm.aftersales.wrapper.AftersalesCustomerMallWrapper; +import com.logpm.aftersales.service.IAftersalesCustomerMallService; +import org.springblade.core.boot.ctrl.BladeController; +import org.springblade.core.tool.utils.DateUtil; +import org.springblade.core.excel.util.ExcelUtil; +import org.springblade.core.tool.constant.BladeConstant; +import springfox.documentation.annotations.ApiIgnore; +import java.util.Map; +import java.util.List; +import javax.servlet.http.HttpServletResponse; + +/** + * 异常工单商场对应客服 控制器 + * + * @author cyz + * @since 2023-12-23 + */ +@RestController +@AllArgsConstructor +@RequestMapping("blade-aftersales/aftersalesCustomerMall") +@Api(value = "异常工单商场对应客服", tags = "异常工单商场对应客服接口") +public class AftersalesCustomerMallController extends BladeController { + + private final IAftersalesCustomerMallService aftersalesCustomerMallService; + + /** + * 异常工单商场对应客服 详情 + */ + @GetMapping("/detail") + @ApiOperationSupport(order = 1) + @ApiOperation(value = "详情", notes = "传入aftersalesCustomerMall") + public R detail(AftersalesCustomerMallEntity aftersalesCustomerMall) { + AftersalesCustomerMallEntity detail = aftersalesCustomerMallService.getOne(Condition.getQueryWrapper(aftersalesCustomerMall)); + return R.data(AftersalesCustomerMallWrapper.build().entityVO(detail)); + } + /** + * 异常工单商场对应客服 分页 + */ + @GetMapping("/list") + @ApiOperationSupport(order = 2) + @ApiOperation(value = "分页", notes = "传入aftersalesCustomerMall") + public R> list(@ApiIgnore @RequestParam Map aftersalesCustomerMall, Query query) { + IPage pages = aftersalesCustomerMallService.page(Condition.getPage(query), Condition.getQueryWrapper(aftersalesCustomerMall, AftersalesCustomerMallEntity.class)); + return R.data(AftersalesCustomerMallWrapper.build().pageVO(pages)); + } + + /** + * 异常工单商场对应客服 自定义分页 + */ + @GetMapping("/page") + @ApiOperationSupport(order = 3) + @ApiOperation(value = "分页", notes = "传入aftersalesCustomerMall") + public R> page(AftersalesCustomerMallVO aftersalesCustomerMall, Query query) { + IPage pages = aftersalesCustomerMallService.selectAftersalesCustomerMallPage(Condition.getPage(query), aftersalesCustomerMall); + return R.data(pages); + } + + /** + * 异常工单商场对应客服 新增 + */ + @PostMapping("/save") + @ApiOperationSupport(order = 4) + @ApiOperation(value = "新增", notes = "传入aftersalesCustomerMall") + public R save(@Valid @RequestBody AftersalesCustomerMallEntity aftersalesCustomerMall) { + return R.status(aftersalesCustomerMallService.save(aftersalesCustomerMall)); + } + + /** + * 异常工单商场对应客服 修改 + */ + @PostMapping("/update") + @ApiOperationSupport(order = 5) + @ApiOperation(value = "修改", notes = "传入aftersalesCustomerMall") + public R update(@Valid @RequestBody AftersalesCustomerMallEntity aftersalesCustomerMall) { + return R.status(aftersalesCustomerMallService.updateById(aftersalesCustomerMall)); + } + + /** + * 异常工单商场对应客服 新增或修改 + */ + @PostMapping("/submit") + @ApiOperationSupport(order = 6) + @ApiOperation(value = "新增或修改", notes = "传入aftersalesCustomerMall") + public R submit(@Valid @RequestBody AftersalesCustomerMallEntity aftersalesCustomerMall) { + return R.status(aftersalesCustomerMallService.saveOrUpdate(aftersalesCustomerMall)); + } + + /** + * 异常工单商场对应客服 删除 + */ + @PostMapping("/remove") + @ApiOperationSupport(order = 7) + @ApiOperation(value = "逻辑删除", notes = "传入ids") + public R remove(@ApiParam(value = "主键集合", required = true) @RequestParam String ids) { + return R.status(aftersalesCustomerMallService.deleteLogic(Func.toLongList(ids))); + } + + + /** + * 导出数据 + */ + @GetMapping("/export-aftersalesCustomerMall") + @ApiOperationSupport(order = 9) + @ApiOperation(value = "导出数据", notes = "传入aftersalesCustomerMall") + public void exportAftersalesCustomerMall(@ApiIgnore @RequestParam Map aftersalesCustomerMall, BladeUser bladeUser, HttpServletResponse response) { + QueryWrapper queryWrapper = Condition.getQueryWrapper(aftersalesCustomerMall, AftersalesCustomerMallEntity.class); + //if (!AuthUtil.isAdministrator()) { + // queryWrapper.lambda().eq(AftersalesCustomerMall::getTenantId, bladeUser.getTenantId()); + //} + queryWrapper.lambda().eq(AftersalesCustomerMallEntity::getIsDeleted, BladeConstant.DB_NOT_DELETED); + List list = aftersalesCustomerMallService.exportAftersalesCustomerMall(queryWrapper); + ExcelUtil.export(response, "异常工单商场对应客服数据" + DateUtil.time(), "异常工单商场对应客服数据表", list, AftersalesCustomerMallExcel.class); + } + +} diff --git a/blade-service/logpm-aftersales/src/main/java/com/logpm/aftersales/controller/AftersalesWorkOrderController.java b/blade-service/logpm-aftersales/src/main/java/com/logpm/aftersales/controller/AftersalesWorkOrderController.java index 870357a26..d9e5b97fd 100644 --- a/blade-service/logpm-aftersales/src/main/java/com/logpm/aftersales/controller/AftersalesWorkOrderController.java +++ b/blade-service/logpm-aftersales/src/main/java/com/logpm/aftersales/controller/AftersalesWorkOrderController.java @@ -257,6 +257,7 @@ public class AftersalesWorkOrderController extends BladeController { @ApiOperationSupport(order = 2) @ApiOperation(value = "客服异常工单 异常工单分配处理客服信息", notes = "传入aftersalesWorkOrder") public R updateAssignCustomerService(@RequestBody AftersalesWorkOrderDTO aftersalesWorkOrderDTO) { + log.info("异常工单分配处理客服信息>>>{}",aftersalesWorkOrderDTO.toString()); if(ObjectUtils.isNull( aftersalesWorkOrderDTO.getAssignList() )){ return R.fail("请选择指派的工单 !"); } @@ -268,6 +269,24 @@ public class AftersalesWorkOrderController extends BladeController { } + /** + * 客服异常工单 异常工单仲裁 分配处理客服信息 + */ + @PostMapping("/assignArbitrateService") + @ApiOperationSupport(order = 2) + @ApiOperation(value = "客服异常工单 异常工单仲裁 分配处理客服信息", notes = "传入aftersalesWorkOrder") + public R updateAssignArbitrateService(@RequestBody AftersalesWorkOrderDTO aftersalesWorkOrderDTO) { + log.info("异常工单仲裁 分配处理客服信息>>>{}",aftersalesWorkOrderDTO.toString()); + if(ObjectUtils.isNull( aftersalesWorkOrderDTO.getAssignList() )){ + return R.fail("请选择指派的工单 !"); + } + if(ObjectUtils.isNull( aftersalesWorkOrderDTO.getCustomerServiceId() ) || ObjectUtils.isNull( aftersalesWorkOrderDTO.getCustomerServiceName() )){ + return R.fail("请填写客服信息 !"); + } + R r = aftersalesWorkOrderService.updateAssignArbitrateService(aftersalesWorkOrderDTO); + return R.success("提交成功!"); + } + /** @@ -310,6 +329,7 @@ public class AftersalesWorkOrderController extends BladeController { @ApiOperationSupport(order = 4) @ApiOperation(value = "异常工单 修改完结处理", notes = "传入aftersalesWorkOrder") public R updateCompletionEnd(@Valid @RequestBody AftersalesWorkOrderDTO aftersalesWorkOrder) { + log.info("修改完结处理>>>{}",aftersalesWorkOrder.toString()); if(ObjectUtils.isNull(aftersalesWorkOrder.getId())){ throw new ServiceException("异常工单ID不能为空!"); } @@ -406,7 +426,7 @@ public class AftersalesWorkOrderController extends BladeController { @ApiOperationSupport(order = 6) @ApiOperation(value = "处理方 仓库查询待处理的异常工单", notes = "传入aftersalesWorkOrder") public R getPendingWorkOrder(AftersalesWorkOrderDTO aftersalesWorkOrder,Query query) { - log.info("工单创建的数据{}",aftersalesWorkOrder.toString()); + log.info("工单创建或修改的数据{}",aftersalesWorkOrder.toString()); BasicdataWarehouseEntity myCurrentWarehouse = warehouseClient.getMyCurrentWarehouse(); if(ObjectUtils.isNotNull(myCurrentWarehouse)){ aftersalesWorkOrder.setWarehouseId(myCurrentWarehouse.getId()); diff --git a/blade-service/logpm-aftersales/src/main/java/com/logpm/aftersales/dto/AftersalesCustomerMallDTO.java b/blade-service/logpm-aftersales/src/main/java/com/logpm/aftersales/dto/AftersalesCustomerMallDTO.java new file mode 100644 index 000000000..82a7a86ca --- /dev/null +++ b/blade-service/logpm-aftersales/src/main/java/com/logpm/aftersales/dto/AftersalesCustomerMallDTO.java @@ -0,0 +1,34 @@ +/* + * Copyright (c) 2018-2028, Chill Zhuang All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * Neither the name of the dreamlu.net developer nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * Author: Chill 庄骞 (smallchill@163.com) + */ +package com.logpm.aftersales.dto; + +import com.logpm.aftersales.entity.AftersalesCustomerMallEntity; +import lombok.Data; +import lombok.EqualsAndHashCode; + +/** + * 异常工单商场对应客服 数据传输对象实体类 + * + * @author cyz + * @since 2023-12-23 + */ +@Data +@EqualsAndHashCode(callSuper = true) +public class AftersalesCustomerMallDTO extends AftersalesCustomerMallEntity { + private static final long serialVersionUID = 1L; + +} diff --git a/blade-service/logpm-aftersales/src/main/java/com/logpm/aftersales/excel/AftersalesCustomerMallExcel.java b/blade-service/logpm-aftersales/src/main/java/com/logpm/aftersales/excel/AftersalesCustomerMallExcel.java new file mode 100644 index 000000000..b02621044 --- /dev/null +++ b/blade-service/logpm-aftersales/src/main/java/com/logpm/aftersales/excel/AftersalesCustomerMallExcel.java @@ -0,0 +1,44 @@ +/* + * Copyright (c) 2018-2028, Chill Zhuang All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * Neither the name of the dreamlu.net developer nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * Author: Chill 庄骞 (smallchill@163.com) + */ +package com.logpm.aftersales.excel; + + +import lombok.Data; + +import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.excel.annotation.write.style.ColumnWidth; +import com.alibaba.excel.annotation.write.style.ContentRowHeight; +import com.alibaba.excel.annotation.write.style.HeadRowHeight; +import java.io.Serializable; + + +/** + * 异常工单商场对应客服 Excel实体类 + * + * @author cyz + * @since 2023-12-23 + */ +@Data +@ColumnWidth(25) +@HeadRowHeight(20) +@ContentRowHeight(18) +public class AftersalesCustomerMallExcel implements Serializable { + + private static final long serialVersionUID = 1L; + + +} diff --git a/blade-service/logpm-aftersales/src/main/java/com/logpm/aftersales/feign/AftersalesCustomerMallClient.java b/blade-service/logpm-aftersales/src/main/java/com/logpm/aftersales/feign/AftersalesCustomerMallClient.java new file mode 100644 index 000000000..5229921f3 --- /dev/null +++ b/blade-service/logpm-aftersales/src/main/java/com/logpm/aftersales/feign/AftersalesCustomerMallClient.java @@ -0,0 +1,53 @@ +/* + * Copyright (c) 2018-2028, Chill Zhuang All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * Neither the name of the dreamlu.net developer nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * Author: Chill 庄骞 (smallchill@163.com) + */ +package com.logpm.aftersales.feign; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import lombok.AllArgsConstructor; +import org.springblade.core.mp.support.BladePage; +import org.springblade.core.mp.support.Condition; +import org.springblade.core.mp.support.Query; +import com.logpm.aftersales.entity.AftersalesCustomerMallEntity; +import com.logpm.aftersales.service.IAftersalesCustomerMallService; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RestController; +import springfox.documentation.annotations.ApiIgnore; + +/** + * 异常工单商场对应客服 Feign实现类 + * + * @author cyz + * @since 2023-12-23 + */ +@ApiIgnore() +@RestController +@AllArgsConstructor +public class AftersalesCustomerMallClient implements IAftersalesCustomerMallClient { + + private final IAftersalesCustomerMallService aftersalesCustomerMallService; + + @Override + @GetMapping(TOP) + public BladePage top(Integer current, Integer size) { + Query query = new Query(); + query.setCurrent(current); + query.setSize(size); + IPage page = aftersalesCustomerMallService.page(Condition.getPage(query)); + return BladePage.of(page); + } + +} diff --git a/blade-service/logpm-aftersales/src/main/java/com/logpm/aftersales/mapper/AftersalesCustomerMallMapper.java b/blade-service/logpm-aftersales/src/main/java/com/logpm/aftersales/mapper/AftersalesCustomerMallMapper.java new file mode 100644 index 000000000..e90b4a58c --- /dev/null +++ b/blade-service/logpm-aftersales/src/main/java/com/logpm/aftersales/mapper/AftersalesCustomerMallMapper.java @@ -0,0 +1,54 @@ +/* + * Copyright (c) 2018-2028, Chill Zhuang All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * Neither the name of the dreamlu.net developer nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * Author: Chill 庄骞 (smallchill@163.com) + */ +package com.logpm.aftersales.mapper; + +import com.logpm.aftersales.entity.AftersalesCustomerMallEntity; +import com.logpm.aftersales.vo.AftersalesCustomerMallVO; +import com.logpm.aftersales.excel.AftersalesCustomerMallExcel; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.conditions.Wrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import org.apache.ibatis.annotations.Param; +import java.util.List; + +/** + * 异常工单商场对应客服 Mapper 接口 + * + * @author cyz + * @since 2023-12-23 + */ +public interface AftersalesCustomerMallMapper extends BaseMapper { + + /** + * 自定义分页 + * + * @param page + * @param aftersalesCustomerMall + * @return + */ + List selectAftersalesCustomerMallPage(IPage page, AftersalesCustomerMallVO aftersalesCustomerMall); + + + /** + * 获取导出数据 + * + * @param queryWrapper + * @return + */ + List exportAftersalesCustomerMall(@Param("ew") Wrapper queryWrapper); + +} diff --git a/blade-service/logpm-aftersales/src/main/java/com/logpm/aftersales/mapper/AftersalesCustomerMallMapper.xml b/blade-service/logpm-aftersales/src/main/java/com/logpm/aftersales/mapper/AftersalesCustomerMallMapper.xml new file mode 100644 index 000000000..aa2c6abe9 --- /dev/null +++ b/blade-service/logpm-aftersales/src/main/java/com/logpm/aftersales/mapper/AftersalesCustomerMallMapper.xml @@ -0,0 +1,19 @@ + + + + + + + + + + + + + + + diff --git a/blade-service/logpm-aftersales/src/main/java/com/logpm/aftersales/service/IAftersalesCustomerMallService.java b/blade-service/logpm-aftersales/src/main/java/com/logpm/aftersales/service/IAftersalesCustomerMallService.java new file mode 100644 index 000000000..868340cd9 --- /dev/null +++ b/blade-service/logpm-aftersales/src/main/java/com/logpm/aftersales/service/IAftersalesCustomerMallService.java @@ -0,0 +1,52 @@ +/* + * Copyright (c) 2018-2028, Chill Zhuang All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * Neither the name of the dreamlu.net developer nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * Author: Chill 庄骞 (smallchill@163.com) + */ +package com.logpm.aftersales.service; + +import com.baomidou.mybatisplus.core.conditions.Wrapper; +import com.logpm.aftersales.entity.AftersalesCustomerMallEntity; +import com.logpm.aftersales.vo.AftersalesCustomerMallVO; +import com.logpm.aftersales.excel.AftersalesCustomerMallExcel; +import com.baomidou.mybatisplus.core.metadata.IPage; +import org.springblade.core.mp.base.BaseService; +import java.util.List; + +/** + * 异常工单商场对应客服 服务类 + * + * @author cyz + * @since 2023-12-23 + */ +public interface IAftersalesCustomerMallService extends BaseService { + /** + * 自定义分页 + * + * @param page + * @param aftersalesCustomerMall + * @return + */ + IPage selectAftersalesCustomerMallPage(IPage page, AftersalesCustomerMallVO aftersalesCustomerMall); + + + /** + * 导出数据 + * + * @param queryWrapper + * @return + */ + List exportAftersalesCustomerMall(Wrapper queryWrapper); + +} diff --git a/blade-service/logpm-aftersales/src/main/java/com/logpm/aftersales/service/IAftersalesWorkOrderService.java b/blade-service/logpm-aftersales/src/main/java/com/logpm/aftersales/service/IAftersalesWorkOrderService.java index c819b0c3d..b4b4d2ca1 100644 --- a/blade-service/logpm-aftersales/src/main/java/com/logpm/aftersales/service/IAftersalesWorkOrderService.java +++ b/blade-service/logpm-aftersales/src/main/java/com/logpm/aftersales/service/IAftersalesWorkOrderService.java @@ -234,4 +234,11 @@ public interface IAftersalesWorkOrderService extends BaseService implements IAftersalesCustomerMallService { + + @Override + public IPage selectAftersalesCustomerMallPage(IPage page, AftersalesCustomerMallVO aftersalesCustomerMall) { + return page.setRecords(baseMapper.selectAftersalesCustomerMallPage(page, aftersalesCustomerMall)); + } + + + @Override + public List exportAftersalesCustomerMall(Wrapper queryWrapper) { + List aftersalesCustomerMallList = baseMapper.exportAftersalesCustomerMall(queryWrapper); + //aftersalesCustomerMallList.forEach(aftersalesCustomerMall -> { + // aftersalesCustomerMall.setTypeName(DictCache.getValue(DictEnum.YES_NO, AftersalesCustomerMall.getType())); + //}); + return aftersalesCustomerMallList; + } + +} diff --git a/blade-service/logpm-aftersales/src/main/java/com/logpm/aftersales/service/impl/AftersalesWorkOrderServiceImpl.java b/blade-service/logpm-aftersales/src/main/java/com/logpm/aftersales/service/impl/AftersalesWorkOrderServiceImpl.java index e03fc0840..bb80d6794 100644 --- a/blade-service/logpm-aftersales/src/main/java/com/logpm/aftersales/service/impl/AftersalesWorkOrderServiceImpl.java +++ b/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.Wrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; @@ -196,7 +197,6 @@ public class AftersalesWorkOrderServiceImpl extends BaseServiceImplquery().lambda() @@ -1230,8 +1232,13 @@ public class AftersalesWorkOrderServiceImpl extends BaseServiceImpl{ + UpdateWrapper updateWrapper = new UpdateWrapper<>(); + updateWrapper.eq("work_order_id",aftersalesWorkOrderDTO.getId()); + updateWrapper.eq("types_of","1"); + updateWrapper.set("customer_service_id",aftersalesWorkOrderDTO.getCustomerServiceId()); + updateWrapper.set("customer_service_name",aftersalesWorkOrderDTO.getCustomerServiceName()); + aftersalesArbitrationOrderService.update(updateWrapper); + }); + return R.status(true); + } + /** * 添加处理处理方信息 * @param aftersalesWorkOrderDTO @@ -1476,6 +1501,7 @@ public class AftersalesWorkOrderServiceImpl extends BaseServiceImpl "+i.getBusinessName()); } return aftersaleSurveyRecordService.saveOrUpdateOwn(surveyRecordDTO); } diff --git a/blade-service/logpm-aftersales/src/main/java/com/logpm/aftersales/wrapper/AftersalesCustomerMallWrapper.java b/blade-service/logpm-aftersales/src/main/java/com/logpm/aftersales/wrapper/AftersalesCustomerMallWrapper.java new file mode 100644 index 000000000..e9c6da069 --- /dev/null +++ b/blade-service/logpm-aftersales/src/main/java/com/logpm/aftersales/wrapper/AftersalesCustomerMallWrapper.java @@ -0,0 +1,50 @@ +/* + * Copyright (c) 2018-2028, Chill Zhuang All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * Neither the name of the dreamlu.net developer nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * Author: Chill 庄骞 (smallchill@163.com) + */ +package com.logpm.aftersales.wrapper; + +import org.springblade.core.mp.support.BaseEntityWrapper; +import org.springblade.core.tool.utils.BeanUtil; +import com.logpm.aftersales.entity.AftersalesCustomerMallEntity; +import com.logpm.aftersales.vo.AftersalesCustomerMallVO; +import java.util.Objects; + +/** + * 异常工单商场对应客服 包装类,返回视图层所需的字段 + * + * @author cyz + * @since 2023-12-23 + */ +public class AftersalesCustomerMallWrapper extends BaseEntityWrapper { + + public static AftersalesCustomerMallWrapper build() { + return new AftersalesCustomerMallWrapper(); + } + + @Override + public AftersalesCustomerMallVO entityVO(AftersalesCustomerMallEntity aftersalesCustomerMall) { + AftersalesCustomerMallVO aftersalesCustomerMallVO = Objects.requireNonNull(BeanUtil.copy(aftersalesCustomerMall, AftersalesCustomerMallVO.class)); + + //User createUser = UserCache.getUser(aftersalesCustomerMall.getCreateUser()); + //User updateUser = UserCache.getUser(aftersalesCustomerMall.getUpdateUser()); + //aftersalesCustomerMallVO.setCreateUserName(createUser.getName()); + //aftersalesCustomerMallVO.setUpdateUserName(updateUser.getName()); + + return aftersalesCustomerMallVO; + } + + +}