From 30b310e4c89b731eadeaf34e4d6c08bf5948b8e5 Mon Sep 17 00:00:00 2001 From: wyw <373811525@qq.com> Date: Thu, 15 Aug 2024 23:17:32 +0800 Subject: [PATCH] =?UTF-8?q?1=E3=80=81=E7=81=8C=E6=BA=89=E8=AE=B0=E5=BD=95?= =?UTF-8?q?=E4=BB=8Ephp=E8=8E=B7=E5=8F=96=202=E3=80=81=E8=AE=BE=E5=A4=87?= =?UTF-8?q?=E6=8E=A5=E5=8F=A3=E6=94=B9=E6=88=90=E6=97=A0=E9=9C=80=E6=9D=83?= =?UTF-8?q?=E9=99=90=E8=8E=B7=E5=8F=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../framework/config/SecurityConfig.java | 2 +- .../data/controller/DeviceController.java | 50 ++++----- .../waterele/MaGuangaiRecordController.java | 9 +- .../service/IMaGuangaiRecordService.java | 4 +- .../impl/MaGuangaiRecordServiceImpl.java | 106 +++++++++++++++++- .../mapper/waterele/MaGuangaiRecordMapper.xml | 3 +- 6 files changed, 140 insertions(+), 34 deletions(-) diff --git a/fastbee-framework/src/main/java/com/fastbee/framework/config/SecurityConfig.java b/fastbee-framework/src/main/java/com/fastbee/framework/config/SecurityConfig.java index dba933c..66c1f2e 100644 --- a/fastbee-framework/src/main/java/com/fastbee/framework/config/SecurityConfig.java +++ b/fastbee-framework/src/main/java/com/fastbee/framework/config/SecurityConfig.java @@ -112,7 +112,7 @@ public class SecurityConfig extends WebSecurityConfigurerAdapter { .antMatchers("/login", "/register", "/captchaImage", "/iot/tool/register", "/iot/tool/ntp", "/iot/tool/download", "/iot/tool/mqtt/auth", "/iot/tool/mqtt/authv5", "/iot/tool/mqtt/webhook", "/iot/tool/mqtt/webhookv5", "/auth/**/**", "/wechat/mobileLogin", "/wechat/miniLogin", "/wechat/wxBind/callback","/waterele/rechargerecord/queryUnchargeAmount", - "/waterele/rechargerecord/rechargeReply").permitAll() + "/waterele/rechargerecord/rechargeReply","/iot/device/**").permitAll() .antMatchers("/zlmhook/**").permitAll() .antMatchers("/ruleengine/rulemanager/**").permitAll() .antMatchers("/goview/sys/login", "/goview/project/getData").permitAll() diff --git a/fastbee-open-api/src/main/java/com/fastbee/data/controller/DeviceController.java b/fastbee-open-api/src/main/java/com/fastbee/data/controller/DeviceController.java index a50c480..4d60e54 100644 --- a/fastbee-open-api/src/main/java/com/fastbee/data/controller/DeviceController.java +++ b/fastbee-open-api/src/main/java/com/fastbee/data/controller/DeviceController.java @@ -60,7 +60,7 @@ public class DeviceController extends BaseController { /** * 查询设备列表 */ - @PreAuthorize("@ss.hasPermi('iot:device:list')") +// @PreAuthorize("@ss.hasPermi('iot:device:list')") @GetMapping("/list") @ApiOperation("设备分页列表") public TableDataInfo list(Device device) { @@ -75,7 +75,7 @@ public class DeviceController extends BaseController { /** * 查询未分配授权码设备列表 */ - @PreAuthorize("@ss.hasPermi('iot:device:list')") +// @PreAuthorize("@ss.hasPermi('iot:device:list')") @GetMapping("/unAuthlist") @ApiOperation("设备分页列表") public TableDataInfo unAuthlist(Device device) { @@ -89,7 +89,7 @@ public class DeviceController extends BaseController { /** * 查询分组可添加设备 */ - @PreAuthorize("@ss.hasPermi('iot:device:list')") +// @PreAuthorize("@ss.hasPermi('iot:device:list')") @GetMapping("/listByGroup") @ApiOperation("查询分组可添加设备分页列表") public TableDataInfo listByGroup(Device device) { @@ -108,7 +108,7 @@ public class DeviceController extends BaseController { /** * 查询设备简短列表,主页列表数据 */ - @PreAuthorize("@ss.hasPermi('iot:device:list')") +// @PreAuthorize("@ss.hasPermi('iot:device:list')") @GetMapping("/shortList") @ApiOperation("设备分页简短列表") public TableDataInfo shortList(Device device) { @@ -134,7 +134,7 @@ public class DeviceController extends BaseController { /** * 查询所有设备简短列表 */ - @PreAuthorize("@ss.hasPermi('iot:device:list')") +// @PreAuthorize("@ss.hasPermi('iot:device:list')") @GetMapping("/all") @ApiOperation("查询所有设备简短列表") public TableDataInfo allShortList() { @@ -147,7 +147,7 @@ public class DeviceController extends BaseController { /** * 导出设备列表 */ - @PreAuthorize("@ss.hasPermi('iot:device:export')") +// @PreAuthorize("@ss.hasPermi('iot:device:export')") @Log(title = "设备", businessType = BusinessType.EXPORT) @PostMapping("/export") @ApiOperation("导出设备") @@ -160,7 +160,7 @@ public class DeviceController extends BaseController { /** * 获取设备详细信息 */ - @PreAuthorize("@ss.hasPermi('iot:device:query')") +// @PreAuthorize("@ss.hasPermi('iot:device:query')") @GetMapping(value = "/{deviceId}") @ApiOperation("获取设备详情") public AjaxResult getInfo(@PathVariable("deviceId") Long deviceId) { @@ -185,7 +185,7 @@ public class DeviceController extends BaseController { /** * 设备数据同步 */ - @PreAuthorize("@ss.hasPermi('iot:device:query')") +// @PreAuthorize("@ss.hasPermi('iot:device:query')") @GetMapping(value = "/synchronization/{serialNumber}") @ApiOperation("设备数据同步") public AjaxResult deviceSynchronization(@PathVariable("serialNumber") String serialNumber) { @@ -195,7 +195,7 @@ public class DeviceController extends BaseController { /** * 根据设备编号详细信息 */ - @PreAuthorize("@ss.hasPermi('iot:device:query')") +// @PreAuthorize("@ss.hasPermi('iot:device:query')") @GetMapping(value = "/getDeviceBySerialNumber/{serialNumber}") @ApiOperation("根据设备编号获取设备详情") public AjaxResult getInfoBySerialNumber(@PathVariable("serialNumber") String serialNumber) { @@ -205,7 +205,7 @@ public class DeviceController extends BaseController { /** * 获取设备统计信息 */ - @PreAuthorize("@ss.hasPermi('iot:device:query')") +// @PreAuthorize("@ss.hasPermi('iot:device:query')") @GetMapping(value = "/statistic") @ApiOperation("获取设备统计信息") public AjaxResult getDeviceStatistic() { @@ -215,7 +215,7 @@ public class DeviceController extends BaseController { /** * 获取设备详细信息 */ - @PreAuthorize("@ss.hasPermi('iot:device:query')") +// @PreAuthorize("@ss.hasPermi('iot:device:query')") @GetMapping(value = "/runningStatus") @ApiOperation("获取设备详情和运行状态") public AjaxResult getRunningStatusInfo(Long deviceId) { @@ -225,7 +225,7 @@ public class DeviceController extends BaseController { /** * 新增设备 */ - @PreAuthorize("@ss.hasPermi('iot:device:add')") +// @PreAuthorize("@ss.hasPermi('iot:device:add')") @Log(title = "添加设备", businessType = BusinessType.INSERT) @PostMapping @ApiOperation("添加设备") @@ -237,7 +237,7 @@ public class DeviceController extends BaseController { * TODO --APP * 终端用户绑定设备 */ - @PreAuthorize("@ss.hasPermi('iot:device:add')") +// @PreAuthorize("@ss.hasPermi('iot:device:add')") @Log(title = "设备关联用户", businessType = BusinessType.UPDATE) @PostMapping("/relateUser") @ApiOperation("终端-设备关联用户") @@ -254,7 +254,7 @@ public class DeviceController extends BaseController { /** * 修改设备 */ - @PreAuthorize("@ss.hasPermi('iot:device:edit')") +// @PreAuthorize("@ss.hasPermi('iot:device:edit')") @Log(title = "修改设备", businessType = BusinessType.UPDATE) @PutMapping @ApiOperation("修改设备") @@ -265,7 +265,7 @@ public class DeviceController extends BaseController { /** * 重置设备状态 */ - @PreAuthorize("@ss.hasPermi('iot:device:edit')") +// @PreAuthorize("@ss.hasPermi('iot:device:edit')") @Log(title = "重置设备状态", businessType = BusinessType.UPDATE) @PutMapping("/reset/{serialNumber}") @ApiOperation("重置设备状态") @@ -278,7 +278,7 @@ public class DeviceController extends BaseController { /** * 删除设备 */ - @PreAuthorize("@ss.hasPermi('iot:device:remove')") +// @PreAuthorize("@ss.hasPermi('iot:device:remove')") @Log(title = "删除设备", businessType = BusinessType.DELETE) @DeleteMapping("/{deviceIds}") @ApiOperation("批量删除设备") @@ -289,7 +289,7 @@ public class DeviceController extends BaseController { /** * 生成设备编号 */ - @PreAuthorize("@ss.hasPermi('iot:device:add')") +// @PreAuthorize("@ss.hasPermi('iot:device:add')") @GetMapping("/generator") @ApiOperation("生成设备编号") public AjaxResult generatorDeviceNum(Integer type) { @@ -302,14 +302,14 @@ public class DeviceController extends BaseController { * @param deviceId 设备主键id * @return */ - @PreAuthorize("@ss.hasPermi('iot:device:query')") +// @PreAuthorize("@ss.hasPermi('iot:device:query')") @GetMapping("/getMqttConnectData") @ApiOperation("获取设备MQTT连接参数") public AjaxResult getMqttConnectData(Long deviceId) { return AjaxResult.success(deviceService.getMqttConnectData(deviceId)); } - @PreAuthorize("@ss.hasPermi('iot:device:add')") +// @PreAuthorize("@ss.hasPermi('iot:device:add')") @ApiOperation("下载设备导入模板") @PostMapping("/uploadTemplate") public void uploadTemplate(HttpServletResponse response, @RequestParam(name = "type") Integer type) { @@ -323,7 +323,7 @@ public class DeviceController extends BaseController { } } - @PreAuthorize("@ss.hasPermi('iot:device:add')") +// @PreAuthorize("@ss.hasPermi('iot:device:add')") @ApiOperation("批量导入设备") @Log(title = "用户管理", businessType = BusinessType.IMPORT) @PostMapping("/importData") @@ -344,7 +344,7 @@ public class DeviceController extends BaseController { return StringUtils.isEmpty(message) ? success(MessageUtils.message("import.success")) : error(message); } - @PreAuthorize("@ss.hasPermi('iot:device:assignment')") +// @PreAuthorize("@ss.hasPermi('iot:device:assignment')") @ApiOperation("批量导入分配设备") @Log(title = "用户管理", businessType = BusinessType.IMPORT) @PostMapping("/importAssignmentData") @@ -372,7 +372,7 @@ public class DeviceController extends BaseController { * @return com.fastbee.common.core.domain.AjaxResult * @param: deviceIds 设备id字符串 */ - @PreAuthorize("@ss.hasPermi('iot:device:assignment')") +// @PreAuthorize("@ss.hasPermi('iot:device:assignment')") @ApiOperation("分配设备") @PostMapping("/assignment") public AjaxResult assignment(@RequestParam("deptId") Long deptId, @RequestParam("deviceIds") String deviceIds) { @@ -391,7 +391,7 @@ public class DeviceController extends BaseController { * @return com.fastbee.common.core.domain.AjaxResult * @param: deviceIds 设备id字符串 */ - @PreAuthorize("@ss.hasPermi('iot:device:recovery')") +// @PreAuthorize("@ss.hasPermi('iot:device:recovery')") @ApiOperation("回收设备") @PostMapping("/recovery") public AjaxResult recovery(@RequestParam("deviceIds") String deviceIds, @RequestParam("recoveryDeptId") Long recoveryDeptId) { @@ -404,7 +404,7 @@ public class DeviceController extends BaseController { /** * 批量生成设备编号 */ - @PreAuthorize("@ss.hasPermi('iot:device:batchGenerator')") +// @PreAuthorize("@ss.hasPermi('iot:device:batchGenerator')") @PostMapping("/batchGenerator") @ApiOperation("批量生成设备编号") public void batchGeneratorDeviceNum(HttpServletResponse response, @RequestParam("count") Integer count) { @@ -425,7 +425,7 @@ public class DeviceController extends BaseController { /** * 查询变量概况 */ - @PreAuthorize("@ss.hasPermi('iot:device:query')") +// @PreAuthorize("@ss.hasPermi('iot:device:query')") @GetMapping("/listThingsModel") @ApiOperation("查询变量概况") public TableDataInfo listThingsModel(Integer pageNum, Integer pageSize, Long deviceId, String modelName, Integer type) { diff --git a/fastbee-open-api/src/main/java/com/fastbee/data/controller/waterele/MaGuangaiRecordController.java b/fastbee-open-api/src/main/java/com/fastbee/data/controller/waterele/MaGuangaiRecordController.java index 2721716..28402bd 100644 --- a/fastbee-open-api/src/main/java/com/fastbee/data/controller/waterele/MaGuangaiRecordController.java +++ b/fastbee-open-api/src/main/java/com/fastbee/data/controller/waterele/MaGuangaiRecordController.java @@ -46,10 +46,10 @@ public class MaGuangaiRecordController extends BaseController @ApiOperation("查询灌溉记录列表") public TableDataInfo list(MaGuangaiRecord maGuangaiRecord) { - startPage(); - List list +// startPage(); + TableDataInfo tableDataInfo = maGuangaiRecordService.selectMaGuangaiRecordList(maGuangaiRecord); - return getDataTable(list); + return tableDataInfo; } /** @@ -60,7 +60,8 @@ public class MaGuangaiRecordController extends BaseController @PostMapping("/export") public void export(HttpServletResponse response, MaGuangaiRecord maGuangaiRecord) { - List list = maGuangaiRecordService.selectMaGuangaiRecordList(maGuangaiRecord); + TableDataInfo tableDataInfo = maGuangaiRecordService.selectMaGuangaiRecordList(maGuangaiRecord); + List list = (List) tableDataInfo.getRows(); ExcelUtil util = new ExcelUtil(MaGuangaiRecord.class); util.exportExcel(response, list, "灌溉记录数据"); } diff --git a/fastbee-service/fastbee-waterele-service/src/main/java/com/fastbee/waterele/service/IMaGuangaiRecordService.java b/fastbee-service/fastbee-waterele-service/src/main/java/com/fastbee/waterele/service/IMaGuangaiRecordService.java index 60b24ea..f293e29 100644 --- a/fastbee-service/fastbee-waterele-service/src/main/java/com/fastbee/waterele/service/IMaGuangaiRecordService.java +++ b/fastbee-service/fastbee-waterele-service/src/main/java/com/fastbee/waterele/service/IMaGuangaiRecordService.java @@ -1,6 +1,8 @@ package com.fastbee.waterele.service; import java.util.List; + +import com.fastbee.common.core.page.TableDataInfo; import com.fastbee.waterele.domain.MaGuangaiRecord; /** @@ -25,7 +27,7 @@ public interface IMaGuangaiRecordService * @param maGuangaiRecord 灌溉记录 * @return 灌溉记录集合 */ - public List selectMaGuangaiRecordList(MaGuangaiRecord maGuangaiRecord); + public TableDataInfo selectMaGuangaiRecordList(MaGuangaiRecord maGuangaiRecord); /** * 新增灌溉记录 diff --git a/fastbee-service/fastbee-waterele-service/src/main/java/com/fastbee/waterele/service/impl/MaGuangaiRecordServiceImpl.java b/fastbee-service/fastbee-waterele-service/src/main/java/com/fastbee/waterele/service/impl/MaGuangaiRecordServiceImpl.java index 8e2e4b8..a9d7590 100644 --- a/fastbee-service/fastbee-waterele-service/src/main/java/com/fastbee/waterele/service/impl/MaGuangaiRecordServiceImpl.java +++ b/fastbee-service/fastbee-waterele-service/src/main/java/com/fastbee/waterele/service/impl/MaGuangaiRecordServiceImpl.java @@ -1,13 +1,27 @@ package com.fastbee.waterele.service.impl; +import java.util.ArrayList; +import java.util.Collection; +import java.util.Date; import java.util.List; + +import cn.hutool.http.HttpUtil; +import cn.hutool.json.JSON; +import cn.hutool.json.JSONArray; +import cn.hutool.json.JSONObject; +import com.fastbee.common.core.page.PageDomain; +import com.fastbee.common.core.page.TableDataInfo; +import com.fastbee.common.core.page.TableSupport; import com.fastbee.common.utils.DateUtils; +import com.fastbee.common.utils.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import com.fastbee.waterele.mapper.MaGuangaiRecordMapper; import com.fastbee.waterele.domain.MaGuangaiRecord; import com.fastbee.waterele.service.IMaGuangaiRecordService; +import static com.fastbee.common.utils.PageUtils.startPage; + /** * 灌溉记录Service业务层处理 * @@ -39,11 +53,99 @@ public class MaGuangaiRecordServiceImpl implements IMaGuangaiRecordService * @return 灌溉记录 */ @Override - public List selectMaGuangaiRecordList(MaGuangaiRecord maGuangaiRecord) + public TableDataInfo selectMaGuangaiRecordList(MaGuangaiRecord maGuangaiRecord) { - return maGuangaiRecordMapper.selectMaGuangaiRecordList(maGuangaiRecord); + // + Long endTime = 0L; + Long startTime = 0L; + if(null == maGuangaiRecord.getParams()){ + endTime = new Date().getTime()/1000; + startTime = endTime - 86400*3; + }else{ + if(!maGuangaiRecord.getParams().containsKey("endCreateTime")){ + endTime = new Date().getTime()/1000; + }else{ + endTime = DateUtils.dateTime(DateUtils.YYYY_MM_DD_HH_MM_SS, + maGuangaiRecord.getParams().get("endCreateTime").toString()).getTime(); + } + if(!maGuangaiRecord.getParams().containsKey("beginCreateTime")){ + startTime = endTime - 86400*3; + }else{ + startTime = DateUtils.dateTime(DateUtils.YYYY_MM_DD_HH_MM_SS, + maGuangaiRecord.getParams().get("beginCreateTime").toString()).getTime(); + } + } + Date startDate = new Date(); + startDate.setTime(startTime*1000); + String startDateStr = DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD_HH_MM_SS,startDate); + Date endDate = new Date(); + endDate.setTime(endTime*1000); + String endDateStr = DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD_HH_MM_SS,endDate); + String url = "https://zhwly.sdhzwl.cn/api/java/xinjiangup/getGuangaiRecord?devSn=" + +maGuangaiRecord.getDevSn()+"&startTime="+startDateStr+"&endTime="+endDateStr; + String result =HttpUtil.get(url); + + JSONObject jsonObject = new JSONObject(result); + List list = new ArrayList<>(); + if(jsonObject != null){ + if(jsonObject.containsKey("code") && Integer.parseInt(jsonObject.get("code").toString()) == 200){ + if(jsonObject.containsKey("data") && jsonObject.get("data") != null){ + JSONArray dataList = (JSONArray)jsonObject.get("data"); + for (Object object : dataList) { + JSONObject item = (JSONObject)object; + MaGuangaiRecord record = new MaGuangaiRecord(); + record.setDevSn(item.get("dev_sn").toString()); + if(StringUtils.isNotEmpty(item.get("start_time").toString())){ + Date date = new Date(Long.parseLong(item.get("start_time").toString())*1000); + record.setStartTime(date); + } + if(StringUtils.isNotEmpty(item.get("end_time").toString())){ + Date date = new Date(Long.parseLong(item.get("end_time").toString())*1000); + record.setEndTime(date); + } + if(StringUtils.isNotEmpty(item.get("last_time").toString())){ + Date date = new Date(Long.parseLong(item.get("last_time").toString())*1000); + record.setLastTime(date); + } + record.setCurEle(item.get("cur_ele").toString()); + record.setCardId(item.get("card_id").toString()); + record.setAreaCode(item.get("area_code").toString()); + record.setUserBalance(item.get("user_balance").toString()); + record.setCurFlow(item.get("cur_flow").toString()); + record.setCurEle(item.get("cur_ele").toString()); + record.setStatus(Integer.parseInt(item.get("status").toString())); + if(StringUtils.isNotEmpty(item.get("create_time").toString())){ + Date date = new Date(Long.parseLong(item.get("create_time").toString())*1000); + record.setCreateTime(date); + } + list.add(record); + } + } + } + } + // + PageDomain pageDomain = TableSupport.buildPageRequest(); + Integer pageNum = pageDomain.getPageNum(); + Integer pageSize = pageDomain.getPageSize(); + List subList = new ArrayList<>(); + if(list.size() > (pageNum-1)*pageSize){ + if(list.size() < pageNum*pageSize){ + subList = list.subList((pageNum-1)*pageSize, list.size()); + }else{ + subList = list.subList((pageNum-1)*pageSize, pageNum*pageSize); + } + } + TableDataInfo tableDataInfo = new TableDataInfo(); + tableDataInfo.setMsg("获取成功"); + tableDataInfo.setTotal(list.size()); + tableDataInfo.setRows(subList); + tableDataInfo.setCode(200); + return tableDataInfo; } + + + /** * 新增灌溉记录 * diff --git a/fastbee-service/fastbee-waterele-service/src/main/resources/mapper/waterele/MaGuangaiRecordMapper.xml b/fastbee-service/fastbee-waterele-service/src/main/resources/mapper/waterele/MaGuangaiRecordMapper.xml index 9d1959c..7bb00e8 100644 --- a/fastbee-service/fastbee-waterele-service/src/main/resources/mapper/waterele/MaGuangaiRecordMapper.xml +++ b/fastbee-service/fastbee-waterele-service/src/main/resources/mapper/waterele/MaGuangaiRecordMapper.xml @@ -37,7 +37,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" and cur_flow = #{curFlow} and cur_ele = #{curEle} and status = #{status} - and create_time between #{params.beginCreateTime} and #{params.endCreateTime} + and create_time between #{params.beginCreateTime} and #{params.endCreateTime}