diff --git a/fys-common/fys-common-sms/src/main/java/com/fuyuanshen/common/sms/controller/TestSMSController.java b/fys-common/fys-common-sms/src/main/java/com/fuyuanshen/common/sms/controller/TestSMSController.java index 2b62da7..5393a71 100644 --- a/fys-common/fys-common-sms/src/main/java/com/fuyuanshen/common/sms/controller/TestSMSController.java +++ b/fys-common/fys-common-sms/src/main/java/com/fuyuanshen/common/sms/controller/TestSMSController.java @@ -17,8 +17,8 @@ public class TestSMSController { public void testSend() { // 在创建完SmsBlend实例后,再未手动调用注销的情况下框架会持有该实例,可以直接通过指定configId来获取想要的配置,如果你想使用 // 负载均衡形式获取实例,只要使用getSmsBlend的无参重载方法即可,如果你仅有一个配置,也可以使用该方法 - SmsBlend smsBlend = SmsFactory.getSmsBlend("alibaba"); - SmsResponse smsResponse = smsBlend.sendMessage("18656573389", "123"); + SmsBlend smsBlend = SmsFactory.getSmsBlend("config1"); + SmsResponse smsResponse = smsBlend.sendMessage("18656573389", "1234"); } } \ No newline at end of file diff --git a/fys-modules/fys-equipment/src/main/java/com/fuyuanshen/equipment/controller/DeviceController.java b/fys-modules/fys-equipment/src/main/java/com/fuyuanshen/equipment/controller/DeviceController.java index 1ee2fb7..0e9f3de 100644 --- a/fys-modules/fys-equipment/src/main/java/com/fuyuanshen/equipment/controller/DeviceController.java +++ b/fys-modules/fys-equipment/src/main/java/com/fuyuanshen/equipment/controller/DeviceController.java @@ -4,11 +4,13 @@ package com.fuyuanshen.equipment.controller; import com.alibaba.excel.EasyExcel; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.fuyuanshen.common.core.constant.ResponseMessageConstants; +import com.fuyuanshen.common.core.domain.R; import com.fuyuanshen.common.core.domain.ResponseVO; import com.fuyuanshen.common.core.domain.model.LoginUser; import com.fuyuanshen.common.core.utils.file.FileUtil; import com.fuyuanshen.common.mybatis.core.page.TableDataInfo; import com.fuyuanshen.common.satoken.utils.LoginHelper; +import com.fuyuanshen.common.web.core.BaseController; import com.fuyuanshen.customer.mapper.CustomerMapper; import com.fuyuanshen.equipment.domain.Device; import com.fuyuanshen.equipment.domain.dto.DeviceExcelImportDTO; @@ -49,7 +51,7 @@ import java.util.List; @RestController @RequiredArgsConstructor @RequestMapping("/api/device") -public class DeviceController { +public class DeviceController extends BaseController { private final ISysOssService ossService; private final DeviceService deviceService; @@ -72,106 +74,106 @@ public class DeviceController { // @Log("新增设备") @Operation(summary = "新增设备") @PostMapping(value = "/add") - public ResponseVO addDevice(@Validated @ModelAttribute DeviceForm deviceForm) { + public R addDevice(@Validated @ModelAttribute DeviceForm deviceForm) { try { deviceService.addDevice(deviceForm); } catch (Exception e) { log.error("addDevice error: " + e.getMessage()); - return ResponseVO.fail(e.getMessage()); + return R.fail(e.getMessage()); } - return ResponseVO.success(null); + return R.ok(); } // @Log("修改设备") @Operation(summary = "修改设备") @PutMapping(value = "/update") - public ResponseVO updateDevice(@Validated @ModelAttribute DeviceForm deviceForm) { + public R updateDevice(@Validated @ModelAttribute DeviceForm deviceForm) { try { deviceService.update(deviceForm); } catch (Exception e) { e.printStackTrace(); log.error("updateDevice error: " + e.getMessage()); - return ResponseVO.fail("出错了"); + return R.fail(e.getMessage()); } - return ResponseVO.success(null); + return R.ok(); } @Operation(summary = "设备详情") @GetMapping(value = "/detail/{id}") - public ResponseVO getDevice(@PathVariable Long id) { + public R getDevice(@PathVariable Long id) { Device device = deviceService.getById(id); - return ResponseVO.success(device); + return R.ok(device); } // @Log("删除设备") @Operation(summary = "删除设备") @DeleteMapping(value = "/delete") - public ResponseVO deleteDevice(@Parameter(name = "传ID数组[]") @RequestBody List ids) { + public R deleteDevice(@Parameter(name = "传ID数组[]") @RequestBody List ids) { deviceService.deleteAll(ids); - return ResponseVO.success(ResponseMessageConstants.DELETE_SUCCESS); + return R.ok(); } @Operation(summary = "设备定位") @GetMapping(value = "/locateDevice") - public ResponseVO locateDevice(DeviceQueryCriteria criteria) throws IOException { + public R> locateDevice(DeviceQueryCriteria criteria) throws IOException { List devices = deviceService.queryAllDevices(criteria); - return ResponseVO.success(devices); + return R.ok(devices); } // @Log("分配客户") @Operation(summary = "分配客户") @PutMapping(value = "/assignCustomer") - public ResponseVO assignCustomer(@Validated @RequestBody CustomerVo customerVo) { + public R assignCustomer(@Validated @RequestBody CustomerVo customerVo) { deviceService.assignCustomer(customerVo); - return ResponseVO.success(null); + return R.ok(); } // @Log("撤回设备") @Operation(summary = "撤回分配设备") @PostMapping(value = "/withdraw") - public ResponseVO withdrawDevice(@RequestBody List ids) { + public R withdrawDevice(@RequestBody List ids) { try { deviceService.withdrawDevice(ids); } catch (Exception e) { log.error("updateDevice error: " + e.getMessage()); - return ResponseVO.fail("出错了"); + return R.fail(e.getMessage()); } - return ResponseVO.success(null); + return R.ok(); } /** - * @param deviceForm + * @param id * @return * @ModelAttribute 主要用于将请求参数绑定到 Java 对象上,它会从 HTTP 请求的查询参数(Query Parameters) * 或表单数据(Form Data)中提取值,并自动填充到指定的对象属性中。 */ // @Log("解绑设备") - @Operation(summary = "解绑设备") - @PostMapping(value = "/unbind") - public ResponseVO unbindDevice(@Validated @ModelAttribute DeviceForm deviceForm) { - deviceService.unbindDevice(deviceForm); - return ResponseVO.success("解绑成功!!!"); + @Operation(summary = "WEB端解绑设备") + @GetMapping(value = "/unbind") + public R unbindDevice(@Validated Long id) { + return toAjax(deviceService.webUnBindDevice(id)); } @Operation(summary = "导出数据设备") @GetMapping(value = "/download") - public void exportDevice(HttpServletResponse response, DeviceQueryCriteria criteria) throws IOException { + public R exportDevice(HttpServletResponse response, DeviceQueryCriteria criteria) throws IOException { List devices = deviceService.queryAll(criteria); exportService.export(devices, response); + return R.ok(); } @Operation(summary = "导入设备数据") @PostMapping(value = "/import", consumes = "multipart/form-data") - public ResponseVO importData(@Parameter(name = "文件", required = true) @RequestPart("file") MultipartFile file) throws BadRequestException { + public R importData(@Parameter(name = "文件", required = true) @RequestPart("file") MultipartFile file) throws BadRequestException { String suffix = FileUtil.getExtensionName(file.getOriginalFilename()); if (!("xlsx".equalsIgnoreCase(suffix))) { @@ -195,13 +197,13 @@ public class DeviceController { // 设置响应消息 String message = String.format("成功导入 %d 条数据,失败 %d 条", result.getSuccessCount(), result.getFailureCount()); // 返回带有正确泛型的响应 - return ResponseVO.success(message, result); + return R.ok(message, result); } catch (Exception e) { log.error("导入设备数据出错: {}", e.getMessage(), e); // 在异常情况下,设置默认结果 String errorMessage = String.format("导入失败: %s。成功 %d 条,失败 %d 条", e.getMessage(), result.getSuccessCount(), result.getFailureCount()); // 使用新方法确保类型正确 - return ResponseVO.fail(errorMessage, result); + return R.fail(errorMessage, result); } } diff --git a/fys-modules/fys-equipment/src/main/java/com/fuyuanshen/equipment/service/DeviceService.java b/fys-modules/fys-equipment/src/main/java/com/fuyuanshen/equipment/service/DeviceService.java index 948d00f..4ff7dd8 100644 --- a/fys-modules/fys-equipment/src/main/java/com/fuyuanshen/equipment/service/DeviceService.java +++ b/fys-modules/fys-equipment/src/main/java/com/fuyuanshen/equipment/service/DeviceService.java @@ -98,4 +98,12 @@ public interface DeviceService extends IService { * @return */ Boolean queryDevice(String mac); + + /** + * WEB端解绑设备 + * + * @param id + * @return + */ + int webUnBindDevice(Long id); } diff --git a/fys-modules/fys-equipment/src/main/java/com/fuyuanshen/equipment/service/impl/DeviceServiceImpl.java b/fys-modules/fys-equipment/src/main/java/com/fuyuanshen/equipment/service/impl/DeviceServiceImpl.java index 1045f26..f0d1072 100644 --- a/fys-modules/fys-equipment/src/main/java/com/fuyuanshen/equipment/service/impl/DeviceServiceImpl.java +++ b/fys-modules/fys-equipment/src/main/java/com/fuyuanshen/equipment/service/impl/DeviceServiceImpl.java @@ -44,7 +44,6 @@ import com.fuyuanshen.system.domain.vo.SysOssVo; import com.fuyuanshen.system.service.ISysOssService; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; -import org.apache.poi.ss.formula.functions.T; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -577,6 +576,22 @@ public class DeviceServiceImpl extends ServiceImpl impleme } + /** + * WEB端解绑设备 + * + * @param id + * @return + */ + @Override + public int webUnBindDevice(Long id) { + DeviceAssignments deviceAssignment = deviceAssignmentsMapper.selectById(id); + if (deviceAssignment == null) { + throw new RuntimeException("请先将设备入库!!!"); + } + return unBindDevice(deviceAssignment.getDeviceId()); + } + + /** * 查询设备MAC号 *