From 8ba818a74aa1ea762a8450708040bc86e46a41f5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9B=B9=E9=B9=8F=E9=A3=9E?= Date: Thu, 29 Jan 2026 17:41:18 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20bug-1286=20=E8=AE=BE=E5=A4=87=E5=94=AE?= =?UTF-8?q?=E5=90=8E=E5=85=AC=E5=8F=B8=E8=BD=AC=E7=A7=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../admin/controller/DeviceController.java | 29 +++++++++++-- .../admin/service/AdminDeviceService.java | 6 +++ .../common/pojo/vo/DeviceAgentRecordVO.java | 41 +++++++++++++++++++ .../gongfu/controller/DeviceController.java | 33 +++++++++++++-- .../gongfu/service/AdminDeviceService.java | 6 +++ 5 files changed, 107 insertions(+), 8 deletions(-) create mode 100644 nflg-mobilebroken-common/src/main/java/com/nflg/mobilebroken/common/pojo/vo/DeviceAgentRecordVO.java diff --git a/nflg-mobilebroken-admin/src/main/java/com/nflg/mobilebroken/admin/controller/DeviceController.java b/nflg-mobilebroken-admin/src/main/java/com/nflg/mobilebroken/admin/controller/DeviceController.java index 78bd8618..04c6b854 100644 --- a/nflg-mobilebroken-admin/src/main/java/com/nflg/mobilebroken/admin/controller/DeviceController.java +++ b/nflg-mobilebroken-admin/src/main/java/com/nflg/mobilebroken/admin/controller/DeviceController.java @@ -22,6 +22,7 @@ import com.nflg.mobilebroken.common.constant.STATE; import com.nflg.mobilebroken.common.pojo.ApiResult; import com.nflg.mobilebroken.common.pojo.PageData; import com.nflg.mobilebroken.common.pojo.request.IdPostRequest; +import com.nflg.mobilebroken.common.pojo.vo.DeviceAgentRecordVO; import com.nflg.mobilebroken.common.pojo.vo.DeviceQRCodeVO; import com.nflg.mobilebroken.common.util.*; import com.nflg.mobilebroken.repository.entity.*; @@ -379,6 +380,8 @@ public class DeviceController extends ControllerBase { } else { device.setAgentName(customer.getAgencyCompanyName()); device.setAgentCode(customer.getAgencyCompanyCode()); + device.setServiceAgentCode(customer.getAgencyCompanyCode()); + device.setServiceAgentName(customer.getAgencyCompanyName()); } } if (StrUtil.isNotBlank(dto.getAreaName())) { @@ -808,10 +811,28 @@ public class DeviceController extends ControllerBase { * 获取服务代理商公司变更记录 */ @GetMapping("getServiceAgentChangeRecord") - public ApiResult> getServiceAgentChangeRecord(@RequestParam Integer deviceId) { - return ApiResult.success(deviceAgentRecordService.lambdaQuery() + public ApiResult> getServiceAgentChangeRecord(@RequestParam Integer deviceId) { + Device device = deviceService.getById(deviceId); + VUtils.trueThrowBusinessError(Objects.isNull(device)).throwMessage("设备不存在"); + List list = deviceAgentRecordService.lambdaQuery() .eq(DeviceAgentRecord::getDeviceId, deviceId) - .orderByDesc(DeviceAgentRecord::getId) - .list()); + .orderByAsc(DeviceAgentRecord::getId) + .list(); + String oldAgentCode = device.getAgentCode(); + String oldAgentName = device.getAgentName(); + List vos = new ArrayList<>(); + for (DeviceAgentRecord r : list) { + DeviceAgentRecordVO vo = new DeviceAgentRecordVO() + .setOldAgentCode(oldAgentCode) + .setOldAgentName(oldAgentName) + .setNewAgentCode(r.getAgentCode()) + .setNewAgentName(r.getAgentName()) + .setCreateBy(r.getCreateBy()) + .setCreateTime(r.getCreateTime()); + oldAgentCode = r.getAgentCode(); + oldAgentName = r.getAgentName(); + vos.add(vo); + } + return ApiResult.success(vos); } } diff --git a/nflg-mobilebroken-admin/src/main/java/com/nflg/mobilebroken/admin/service/AdminDeviceService.java b/nflg-mobilebroken-admin/src/main/java/com/nflg/mobilebroken/admin/service/AdminDeviceService.java index 35b5a521..d4bd0713 100644 --- a/nflg-mobilebroken-admin/src/main/java/com/nflg/mobilebroken/admin/service/AdminDeviceService.java +++ b/nflg-mobilebroken-admin/src/main/java/com/nflg/mobilebroken/admin/service/AdminDeviceService.java @@ -62,6 +62,8 @@ public class AdminDeviceService { device.setProductLine(Constant.MOBILE_BROKEN); // device.setUpdateBy(AdminUserUtil.getUserName()); // device.setUpdateTime(LocalDateTime.now()); + device.setServiceAgentCode(device.getAgentCode()); + device.setServiceAgentName(device.getAgentName()); deviceService.save(device); //将设备类型放入-设备类型表维护客户质量管理人 @@ -207,6 +209,10 @@ public class AdminDeviceService { } ent.setAgentCode(customer.getAgencyCompanyCode()); ent.setAgentName(customer.getAgencyCompanyName()); + if (Objects.isNull(ent.getId())) { + ent.setServiceAgentCode(ent.getAgentCode()); + ent.setServiceAgentName(ent.getAgentName()); + } } ent.setAddress(u.getSpecificAddress__c()); result.add(ent); diff --git a/nflg-mobilebroken-common/src/main/java/com/nflg/mobilebroken/common/pojo/vo/DeviceAgentRecordVO.java b/nflg-mobilebroken-common/src/main/java/com/nflg/mobilebroken/common/pojo/vo/DeviceAgentRecordVO.java new file mode 100644 index 00000000..1dad68ce --- /dev/null +++ b/nflg-mobilebroken-common/src/main/java/com/nflg/mobilebroken/common/pojo/vo/DeviceAgentRecordVO.java @@ -0,0 +1,41 @@ +package com.nflg.mobilebroken.common.pojo.vo; + +import lombok.Data; +import lombok.experimental.Accessors; + +import java.time.LocalDateTime; + +@Data +@Accessors(chain = true) +public class DeviceAgentRecordVO { + + /** + * 变更前公司编码 + */ + private String oldAgentCode; + + /** + * 变更前公司名称 + */ + private String oldAgentName; + + /** + * 变更后公司编码 + */ + private String newAgentCode; + + /** + * 变更后公司名称 + */ + private String newAgentName; + + /** + * 创建人 + */ + private String createBy; + + /** + * 创建时间 + */ + private LocalDateTime createTime; +} diff --git a/nflg-mobilebroken-gongfu/src/main/java/com/nflg/mobilebroken/gongfu/controller/DeviceController.java b/nflg-mobilebroken-gongfu/src/main/java/com/nflg/mobilebroken/gongfu/controller/DeviceController.java index 9bd16bf7..3354ad68 100644 --- a/nflg-mobilebroken-gongfu/src/main/java/com/nflg/mobilebroken/gongfu/controller/DeviceController.java +++ b/nflg-mobilebroken-gongfu/src/main/java/com/nflg/mobilebroken/gongfu/controller/DeviceController.java @@ -12,6 +12,7 @@ import com.nflg.mobilebroken.common.constant.STATE; import com.nflg.mobilebroken.common.pojo.ApiResult; import com.nflg.mobilebroken.common.pojo.PageData; import com.nflg.mobilebroken.common.pojo.request.IdPostRequest; +import com.nflg.mobilebroken.common.pojo.vo.DeviceAgentRecordVO; import com.nflg.mobilebroken.common.pojo.vo.DeviceQRCodeVO; import com.nflg.mobilebroken.common.util.*; import com.nflg.mobilebroken.gongfu.annotation.ApiMark; @@ -382,6 +383,8 @@ public class DeviceController extends ControllerBase { } else { device.setAgentName(customer.getAgencyCompanyName()); device.setAgentCode(customer.getAgencyCompanyCode()); + device.setServiceAgentCode(customer.getAgencyCompanyCode()); + device.setServiceAgentName(customer.getAgencyCompanyName()); } } if (StrUtil.isNotBlank(dto.getAreaName())) { @@ -822,6 +825,10 @@ public class DeviceController extends ControllerBase { @Transactional @PostMapping("changeServiceAgentCode") public ApiResult changeServiceAgentCode(@RequestBody ChangeServiceAgentCodeQuery query) { + GongfuDevice device=deviceService.getById(query.getDeviceId()); + VUtils.trueThrowBusinessError(Objects.isNull(device)).throwMessage("设备不存在"); + VUtils.trueThrowBusinessError(StrUtil.equals(device.getServiceAgentCode(), query.getServiceAgentCode())) + .throwMessage("代理商未修改"); TBaseCustomer customer = customerService.lambdaQuery() .eq(TBaseCustomer::getDelIs, 0) .eq(TBaseCustomer::getEnableState, 1) @@ -848,10 +855,28 @@ public class DeviceController extends ControllerBase { * 获取服务代理商公司变更记录 */ @GetMapping("getServiceAgentChangeRecord") - public ApiResult> getServiceAgentChangeRecord(@RequestParam Long deviceId) { - return ApiResult.success(gongfuDeviceAgentRecordService.lambdaQuery() + public ApiResult> getServiceAgentChangeRecord(@RequestParam Long deviceId) { + GongfuDevice device = deviceService.getById(deviceId); + VUtils.trueThrowBusinessError(Objects.isNull(device)).throwMessage("设备不存在"); + List list = gongfuDeviceAgentRecordService.lambdaQuery() .eq(GongfuDeviceAgentRecord::getDeviceId, deviceId) - .orderByDesc(GongfuDeviceAgentRecord::getId) - .list()); + .orderByAsc(GongfuDeviceAgentRecord::getId) + .list(); + String oldAgentCode = device.getAgentCode(); + String oldAgentName = device.getAgentName(); + List vos = new ArrayList<>(); + for (GongfuDeviceAgentRecord r : list) { + DeviceAgentRecordVO vo = new DeviceAgentRecordVO() + .setOldAgentCode(oldAgentCode) + .setOldAgentName(oldAgentName) + .setNewAgentCode(r.getAgentCode()) + .setNewAgentName(r.getAgentName()) + .setCreateBy(r.getCreateBy()) + .setCreateTime(r.getCreateTime()); + oldAgentCode = r.getAgentCode(); + oldAgentName = r.getAgentName(); + vos.add(vo); + } + return ApiResult.success(vos); } } diff --git a/nflg-mobilebroken-gongfu/src/main/java/com/nflg/mobilebroken/gongfu/service/AdminDeviceService.java b/nflg-mobilebroken-gongfu/src/main/java/com/nflg/mobilebroken/gongfu/service/AdminDeviceService.java index 1aad402c..fa484fe2 100644 --- a/nflg-mobilebroken-gongfu/src/main/java/com/nflg/mobilebroken/gongfu/service/AdminDeviceService.java +++ b/nflg-mobilebroken-gongfu/src/main/java/com/nflg/mobilebroken/gongfu/service/AdminDeviceService.java @@ -58,6 +58,8 @@ public class AdminDeviceService { device.setCreateTime(LocalDateTime.now()); // device.setUpdateBy(AdminUserUtil.getUserName()); // device.setUpdateTime(LocalDateTime.now()); + device.setServiceAgentCode(device.getAgentCode()); + device.setServiceAgentName(device.getAgentName()); deviceService.save(device); //将设备类型放入-设备类型表维护客户质量管理人 Map> dataTypes = new HashMap<>(); @@ -214,6 +216,10 @@ public class AdminDeviceService { } ent.setAgentCode(customer.getAgencyCompanyCode()); ent.setAgentName(customer.getAgencyCompanyName()); + if (Objects.isNull(ent.getId())) { + ent.setServiceAgentCode(ent.getAgentCode()); + ent.setServiceAgentName(ent.getAgentName()); + } } ent.setAddress(u.getSpecificAddress__c()); ent.setDataValidState(true);