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-customer/src/main/java/com/fuyuanshen/customer/controller/CustomerController.java b/fys-modules/fys-customer/src/main/java/com/fuyuanshen/customer/controller/CustomerController.java index b38095a..544e511 100644 --- a/fys-modules/fys-customer/src/main/java/com/fuyuanshen/customer/controller/CustomerController.java +++ b/fys-modules/fys-customer/src/main/java/com/fuyuanshen/customer/controller/CustomerController.java @@ -3,6 +3,7 @@ package com.fuyuanshen.customer.controller; import cn.hutool.core.collection.CollectionUtil; import cn.hutool.crypto.digest.BCrypt; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.fuyuanshen.common.core.domain.R; import com.fuyuanshen.common.core.domain.ResponseVO; import com.fuyuanshen.common.core.utils.StringUtils; import com.fuyuanshen.common.mybatis.core.page.TableDataInfo; @@ -51,43 +52,43 @@ public class CustomerController { @GetMapping(value = "/allCustomer") @Operation(summary = "查询所有客户") - public ResponseVO> queryAllCustomer(UserQueryCriteria criteria) { + public R> queryAllCustomer(UserQueryCriteria criteria) { List customers = customerService.queryAllCustomers(criteria); - return ResponseVO.success(customers); + return R.ok(customers); } // @Log("新增客户") @Operation(summary = "新增客户") @PostMapping(value = "/addCustomer") - public ResponseVO addCustomer(@Validated @RequestBody Customer customer) throws BadRequestException { + public R addCustomer(@Validated @RequestBody Customer customer) throws BadRequestException { if (StringUtils.isBlank(customer.getPassword())) { throw new BadRequestException("账号密码不能为空"); } customer.setPassword(BCrypt.hashpw(customer.getPassword())); customerService.addCustomer(customer); - return ResponseVO.success("新增客户成功!!!"); + return R.ok(); } // @Log("修改客户") @Operation(summary = "修改客户") @PutMapping(value = "updateCustomer") - public ResponseVO updateCustomer(@RequestBody Customer resources) throws Exception { + public R updateCustomer(@RequestBody Customer resources) throws Exception { customerService.updateCustomer(resources); - return ResponseVO.success(null); + return R.ok(); } // @Log("删除客户") @Operation(summary = "删除客户") @DeleteMapping(value = "/deleteCustomer") - public ResponseVO deleteCustomer(@RequestBody Set ids) throws BadRequestException { + public R deleteCustomer(@RequestBody Set ids) throws BadRequestException { if (CollectionUtil.isEmpty(ids)) { throw new BadRequestException("请选择要删除的客户"); } customerService.delete(ids); - return ResponseVO.success(null); + return R.ok(); } 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/controller/DeviceTypeController.java b/fys-modules/fys-equipment/src/main/java/com/fuyuanshen/equipment/controller/DeviceTypeController.java index 3e5d8be..70f186d 100644 --- a/fys-modules/fys-equipment/src/main/java/com/fuyuanshen/equipment/controller/DeviceTypeController.java +++ b/fys-modules/fys-equipment/src/main/java/com/fuyuanshen/equipment/controller/DeviceTypeController.java @@ -1,6 +1,7 @@ package com.fuyuanshen.equipment.controller; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.fuyuanshen.common.core.domain.R; import com.fuyuanshen.common.core.domain.ResponseVO; import com.fuyuanshen.common.mybatis.core.page.TableDataInfo; import com.fuyuanshen.equipment.domain.DeviceType; @@ -40,43 +41,45 @@ public class DeviceTypeController { @GetMapping(value = "/all") @Operation(summary = "查询所有设备类型") - public ResponseVO queryDeviceTypes() { + public R> queryDeviceTypes() { List deviceTypes = deviceTypeService.queryDeviceTypes(); - return ResponseVO.success(deviceTypes); + return R.ok(deviceTypes); } // @Log("新增设备类型") @Operation(summary = "新增设备类型") @PostMapping(value = "/add") - public ResponseVO createDeviceType(@Validated @RequestBody DeviceType resources) { + public R createDeviceType(@Validated @RequestBody DeviceType resources) { deviceTypeService.create(resources); - return ResponseVO.success(null); + return R.ok(); } // @Log("修改设备类型") @Operation(summary = "修改设备类型") @PutMapping(value = "/update") - public ResponseVO updateDeviceType(@Validated @RequestBody DeviceTypeForm resources) { + public R updateDeviceType(@Validated @RequestBody DeviceTypeForm resources) { deviceTypeService.update(resources); - return ResponseVO.success(null); + return R.ok(); } // @Log("删除设备类型") @Operation(summary = "删除设备类型") @DeleteMapping(value = "/delete") - public ResponseVO deleteDeviceType(@Parameter(name = "传ID数组[]") @RequestBody List ids) { + public R deleteDeviceType(@Parameter(name = "传ID数组[]") @RequestBody List ids) { deviceTypeService.deleteAll(ids); - return ResponseVO.success("删除成功!!!"); + return R.ok(); } @GetMapping(value = "/communicationMode") @Operation(summary = "获取设备类型通讯方式") - public ResponseVO getCommunicationMode(@Parameter(name = "设备类型ID", required = true) Long id) { - return ResponseVO.success(deviceTypeService.getCommunicationMode(id)); + public R getCommunicationMode(@Parameter(name = "设备类型ID", required = true) Long id) { + DeviceType communicationMode = deviceTypeService.getCommunicationMode(id); + return R.ok(communicationMode); + } } 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 4b384fc..5da3213 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; @@ -580,6 +579,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号 *