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 cf9197a8..f8590f9e 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 @@ -785,25 +785,35 @@ public class DeviceController extends ControllerBase { @Transactional @PostMapping("changeServiceAgentCode") public ApiResult changeServiceAgentCode(@RequestBody ChangeServiceAgentCodeQuery query) { + List devices = deviceService.lambdaQuery() + .in(Device::getId, query.getDeviceIds()) + .list(); + if (CollectionUtil.isEmpty(devices)){ + return ApiResult.error("没有需要修改的设备"); + } TBaseCustomer customer = customerService.lambdaQuery() .eq(TBaseCustomer::getDelIs, 0) .eq(TBaseCustomer::getEnableState, 1) .eq(TBaseCustomer::getAgencyCompanyCode, query.getServiceAgentCode()) .one(); VUtils.trueThrowBusinessError(Objects.isNull(customer)).throwMessage("代理商公司不存在"); - deviceService.lambdaUpdate() - .set(Device::getServiceAgentCode, query.getServiceAgentCode()) - .set(Device::getServiceAgentName, customer.getAgencyCompanyName()) - .eq(Device::getId, query.getDeviceId()) - .update(); - deviceAgentRecordService.save(new DeviceAgentRecord() - .setDeviceId(query.getDeviceId()) - .setAgentCode(query.getServiceAgentCode()) - .setAgentName(customer.getAgencyCompanyName()) - .setCreateById(AdminUserUtil.getUserId()) - .setCreateBy(AdminUserUtil.getUserName()) - .setCreateTime(LocalDateTime.now()) - ); + devices.forEach(device -> { + if (!StrUtil.equals(device.getServiceAgentCode(), query.getServiceAgentCode())){ + deviceService.lambdaUpdate() + .set(Device::getServiceAgentCode, query.getServiceAgentCode()) + .set(Device::getServiceAgentName, customer.getAgencyCompanyName()) + .eq(Device::getId, device.getId()) + .update(); + deviceAgentRecordService.save(new DeviceAgentRecord() + .setDeviceId(device.getId()) + .setAgentCode(query.getServiceAgentCode()) + .setAgentName(customer.getAgencyCompanyName()) + .setCreateById(AdminUserUtil.getUserId()) + .setCreateBy(AdminUserUtil.getUserName()) + .setCreateTime(LocalDateTime.now()) + ); + } + }); return ApiResult.success(); } diff --git a/nflg-mobilebroken-admin/src/main/java/com/nflg/mobilebroken/admin/pojo/query/ChangeServiceAgentCodeQuery.java b/nflg-mobilebroken-admin/src/main/java/com/nflg/mobilebroken/admin/pojo/query/ChangeServiceAgentCodeQuery.java index 5f4e909a..9aec201d 100644 --- a/nflg-mobilebroken-admin/src/main/java/com/nflg/mobilebroken/admin/pojo/query/ChangeServiceAgentCodeQuery.java +++ b/nflg-mobilebroken-admin/src/main/java/com/nflg/mobilebroken/admin/pojo/query/ChangeServiceAgentCodeQuery.java @@ -3,16 +3,18 @@ package com.nflg.mobilebroken.admin.pojo.query; import lombok.Data; import javax.validation.constraints.NotBlank; +import javax.validation.constraints.NotEmpty; import javax.validation.constraints.NotNull; +import java.util.List; @Data public class ChangeServiceAgentCodeQuery { /** - * 设备ID + * 设备ID列表 */ - @NotNull - private Integer deviceId; + @NotEmpty + private List deviceIds; /** * 服务代理商编码 diff --git a/nflg-mobilebroken-gongfu/src/main/java/com/nflg/mobilebroken/gongfu/pojo/query/ChangeServiceAgentCodeQuery.java b/nflg-mobilebroken-gongfu/src/main/java/com/nflg/mobilebroken/gongfu/pojo/query/ChangeServiceAgentCodeQuery.java index 8ce58c6d..d12a44c1 100644 --- a/nflg-mobilebroken-gongfu/src/main/java/com/nflg/mobilebroken/gongfu/pojo/query/ChangeServiceAgentCodeQuery.java +++ b/nflg-mobilebroken-gongfu/src/main/java/com/nflg/mobilebroken/gongfu/pojo/query/ChangeServiceAgentCodeQuery.java @@ -3,6 +3,7 @@ package com.nflg.mobilebroken.gongfu.pojo.query; import lombok.Data; import javax.validation.constraints.NotBlank; +import javax.validation.constraints.NotEmpty; import javax.validation.constraints.NotNull; import java.util.List; @@ -10,9 +11,9 @@ import java.util.List; public class ChangeServiceAgentCodeQuery { /** - * 设备ID + * 设备ID列表 */ - @NotNull + @NotEmpty private List deviceIds; /**