package com.szwl.controller; import cn.com.crbank.ommo.bean.ResultMessage; import cn.com.crbank.ommo.esUtil.BeanUtils; //import org.apache.commons.beanutils.BeanUtils; import cn.hutool.core.util.StrUtil; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.szwl.constant.ResponseCodesEnum; import com.szwl.model.bean.*; import com.szwl.model.bo.R; import com.szwl.model.bo.ResponseModel; import com.szwl.model.entity.*; import com.szwl.model.query.StatisticsParam; import com.szwl.model.utils.DateUtils; import com.szwl.model.utils.PushUtils; import com.szwl.service.*; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.apache.commons.lang.StringUtils; import org.springframework.amqp.core.MessageProperties; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; import org.springframework.web.bind.annotation.*; import org.springframework.web.servlet.mvc.support.RedirectAttributes; import java.net.URL; import java.net.URLConnection; import java.text.SimpleDateFormat; import java.util.*; import java.util.stream.Collectors; /** *

* 设备表 前端控制器 *

* * @author wuhs * @since 2022-04-19 */ @Api(value = "/tEquipment", tags = {"设备控制器"}) @RestController @RequestMapping("/tEquipment") public class TEquipmentController { @Autowired TEquipmentService tEquipmentService; @Autowired TEquipmentDescService equipmentDescService; @Autowired TAdminService tAdminService; @Autowired TParametersService parametersService; @Autowired TAlarmRecordService tAlarmRecordService; @Autowired TAreaService tAreaService; @Autowired TOrderService tOrderService; @Autowired TAdminEquipmentService tAdminEquipmentService; /** * * @param adminName 商户的登录名 * @param equipmentName 机器名称 * @param areaName 地址名-fullName * @return */ @ApiOperation(value = "查找机器列表") @PostMapping("/findList") public ResponseModel> findList(Long id, String clientId, String adminName, String equipmentName, String areaName, String eqeStatus, String machineType, String equimentType, String channel,long current,long size ) { LambdaQueryWrapper query = Wrappers.lambdaQuery(); TAdmin admin = tAdminService.getById(id); Integer type = admin.getType(); if(type>1){ if(type==2){ query.eq(TEquipment::getAdminId,id); } if(type==3){ //查找属于这个商家子账户的设备 todo TAdminEquipment adminEquipment = tAdminEquipmentService.getById(admin.getId()); if(adminEquipment.getType().equals("0")){ //全部机器 query.eq(TEquipment::getAdminId,admin.getParentId()); }else { String equipmentIds = adminEquipment.getEquipmentIds(); String[] strings = equipmentIds.split(","); // List equipmentIdList = JSON.parseArray(equipmentIds, String.class); query.in(TEquipment::getId,strings); } } } if(StringUtils.isNotEmpty(clientId)){ query.like(TEquipment::getClientId,clientId); } if(StringUtils.isNotEmpty(adminName)&&!adminName.equals("admin")){ LambdaQueryWrapper adminQuery = Wrappers.lambdaQuery(); adminQuery.eq(TAdmin::getUsername,adminName); List list = tAdminService.list(adminQuery); if(list.size()>0){ query.eq(TEquipment::getAdminId,list.get(0).getId()); } } if(StringUtils.isNotEmpty(equipmentName)){ query.eq(TEquipment::getName,equipmentName); } if(StringUtils.isNotEmpty(areaName)){ query.like(TEquipment::getFullName,areaName); } if(StringUtils.isNotEmpty(eqeStatus)){ query.eq(TEquipment::getEqeStatus,eqeStatus); } if(StringUtils.isNotEmpty(machineType)){ query.eq(TEquipment::getMachineType,machineType); } if(StringUtils.isNotEmpty(equimentType)){ query.eq(TEquipment::getEquimentType,equimentType); } if(StringUtils.isNotEmpty(channel)){ query.eq(TEquipment::getChannel,channel); } query.orderByDesc(TEquipment::getCreateDate); Page page = new Page<>(current, size, true); IPage iPage = tEquipmentService.page(page, query); Page pageDTO = new Page<>(current, size, true); IPage iPageDTO = pageDTO; iPageDTO.setCurrent(iPage.getCurrent()); iPageDTO.setPages(iPage.getPages()); iPageDTO.setSize(iPage.getSize()); iPageDTO.setTotal(iPage.getTotal()); List list = iPage.getRecords(); List equipmentDTOList = list.stream().map(equipment -> { TEquipmentDTO equipmentDTO = new TEquipmentDTO(); BeanUtils.copyPropertiesIgnoreNull(equipment, equipmentDTO, true); return equipmentDTO; }).collect(Collectors.toList()); for(TEquipmentDTO equipmentDTO:equipmentDTOList){ Date date = new Date();//取时间 Calendar calendar = new GregorianCalendar(); Calendar calendar_end=new GregorianCalendar(); calendar.setTime(date); calendar_end.setTime(date); calendar.set(Calendar.HOUR_OF_DAY, 0); calendar.set(Calendar.MINUTE, 0); calendar.set(Calendar.SECOND, 0); calendar.set(Calendar.MILLISECOND, 0); calendar_end.set(Calendar.HOUR_OF_DAY, 23); calendar_end.set(Calendar.MINUTE, 59); calendar_end.set(Calendar.SECOND, 59); calendar_end.set(Calendar.MILLISECOND, 999); Date date_start=calendar.getTime(); Date date_end=calendar_end.getTime(); LambdaQueryWrapper query1 = Wrappers.lambdaQuery(); query1.eq(TAlarmRecord::getEquipmentId,equipmentDTO.getId()); query1.eq(TAlarmRecord::getIsEliminate,0); query1.gt(TAlarmRecord::getOccurrenceTime,date_start); query1.le(TAlarmRecord::getOccurrenceTime,date_end); List alarmRecordList = tAlarmRecordService.list(query1); if(alarmRecordList.size()>0){ equipmentDTO.setHasTodayAlarm(true); equipmentDTO.setAlarmList(alarmRecordList); }else { equipmentDTO.setHasTodayAlarm(false); } TEquipmentDesc equipmentDesc = equipmentDescService.getById(equipmentDTO.getId()); if(equipmentDesc!=null){ equipmentDTO.setRedSugar(equipmentDesc.getRedSugar()); equipmentDTO.setWasteWater(equipmentDesc.getWasteWater()); equipmentDTO.setWater(equipmentDesc.getWater()); equipmentDTO.setYellowSugar(equipmentDesc.getYellowSugar()); equipmentDTO.setBlueSugar(equipmentDesc.getBlueSugar()); equipmentDTO.setIsMaterialUse(equipmentDesc.getIsMaterialUse()); equipmentDTO.setStick(equipmentDesc.getStick()); equipmentDTO.setWhiteSugar(equipmentDesc.getWhiteSugar()); equipmentDTO.setSleepDesc(equipmentDesc.getSleepDesc()); } } iPageDTO.setRecords(equipmentDTOList); return R.ok(iPageDTO); } @ApiOperation(value = "id查找机器详情") @PostMapping("/findById") public ResponseModel findById(@RequestParam Long id) { TEquipment equipment = tEquipmentService.getById(id); TEquipmentDTO equipmentDTO = new TEquipmentDTO(); // BeanUtils.copyProperties(equipment, equipmentDTO); BeanUtils.copyPropertiesIgnoreNull(equipment, equipmentDTO, true); TEquipmentDesc equipmentDesc = equipmentDescService.getById(equipment.getId()); if(equipmentDesc!=null){ equipmentDTO.setCouponStatus(equipmentDesc.getCouponStatus()); } String messageReceiver = equipment.getMessageReceiver(); if(StringUtils.isNotEmpty(messageReceiver)){ String[] message = messageReceiver.split(","); int i = message.length; if(i>0){ equipmentDTO.setMessageReceiver1(message[0]); } if(i>1){ equipmentDTO.setMessageReceiver2(message[1]); } if(i>2){ equipmentDTO.setMessageReceiver3(message[2]); } // equipmentDTO.setMessageReceiver1(message[0]); // equipmentDTO.setMessageReceiver2(message[1]); // equipmentDTO.setMessageReceiver3(message[2]); } return R.ok(equipmentDTO); } @ApiOperation(value = "id查找机器详情") @PostMapping("/findById2") public ResponseModel findById2(@RequestParam Long id) { TEquipment equipment = tEquipmentService.getById(id); return R.ok(equipment); } @ApiOperation(value = "id查找机器详情") @GetMapping("/findEquipmentById") public ResponseModel findEquipmentById(@RequestParam String id) { TEquipment equipment = tEquipmentService.getById(id); return R.ok(equipment); } //查找设备 @ApiOperation(value = "ClientId查找设备") @GetMapping("/findEquipmentByClientId") public ResponseModel findEquipmentByClientId(@RequestParam String clientId) { LambdaQueryWrapper query = Wrappers.lambdaQuery(); query.eq(TEquipment::getClientId,clientId); List list = tEquipmentService.list(query); TEquipment equipment = list.get(0); return R.ok(equipment); } //查找设备 @ApiOperation(value = "获取对应的机器id") @GetMapping("/getClientIdList") public ResponseModel getClientIdList(@RequestParam String adminId) { //查找属于这个商家子账户的设备 TAdminEquipment adminEquipment = tAdminEquipmentService.getById(adminId); return R.ok(adminEquipment); } //查找设备 @ApiOperation(value = "获取对应的机器编号") @GetMapping("/getClientIds") public ResponseModel> getClientIds(@RequestParam String adminId) { //查找属于这个商家子账户的设备 TAdminEquipment adminEquipment = tAdminEquipmentService.getById(adminId); String equipmentIds = adminEquipment.getEquipmentIds(); List list = Collections.singletonList(equipmentIds); List returnList = new ArrayList<>(); if(list.size()>0){ for(String id:list){ TEquipment equipment = tEquipmentService.getById(id); returnList.add(equipment.getClientId()); } } return R.ok(returnList); } @ApiOperation(value = "获取机器列表 分页") @GetMapping("/pageEquipment2") public ResponseModel> pageEquipment2(@RequestParam(value = "current") long current, @RequestParam(value = "size") long size ) { LambdaQueryWrapper query = Wrappers.lambdaQuery(); Page page = new Page<>(current, size, true); IPage iPage = tEquipmentService.page(page, query); return R.ok(iPage); } //查找设备 @ApiOperation(value = "adminId查找设备") @GetMapping("/listEquipment") public ResponseModel listEquipment(String adminId) { LambdaQueryWrapper query = Wrappers.lambdaQuery(); TAdmin admin = tAdminService.getById(adminId); Integer type = admin.getType(); if(type<2){ query.eq(TEquipment::getAdminId,238); }else { query.eq(TEquipment::getAdminId,adminId); } if(type==3){ //查找属于这个商家子账户的设备 todo TAdminEquipment adminEquipment = tAdminEquipmentService.getById(admin.getId()); if(adminEquipment.getType().equals("0")){ //全部机器 query.eq(TEquipment::getAdminId,admin.getParentId()); }else { String equipmentIds = adminEquipment.getEquipmentIds(); String[] strings = equipmentIds.split(","); // List equipmentIdList = JSON.parseArray(equipmentIds, String.class); query.in(TEquipment::getId,strings); } } // query.eq(TEquipment::getAdminId,adminId); List list = tEquipmentService.list(query); return R.ok(list); } @ApiOperation(value = "查找设备") @PostMapping("/getEquipmentByNameAndId") public ResponseModel getEquipmentByNameAndId(@RequestBody TEquipment equipment) { LambdaQueryWrapper query = Wrappers.lambdaQuery(); TAdmin admin = tAdminService.getById(equipment.getId()); if(admin.getType()==3){ //子账户 TAdmin parentAdmin = tAdminService.getById(admin.getParentId()); LambdaQueryWrapper query1 = Wrappers.lambdaQuery(); query1.eq(TEquipment::getAdminId,parentAdmin.getId()); List list1 = tEquipmentService.list(query1); if(list1.size()>0){ for(TEquipment tEquipment:list1){ if(equipment.getName().equals(tEquipment.getName())){ return R.ok(tEquipment); } } } } if(admin.getType()<2){ query.eq(TEquipment::getName,equipment.getName()); } if(admin.getType()==2){ query.eq(TEquipment::getAdminId,equipment.getAdminId()); query.eq(TEquipment::getName,equipment.getName()); } List list = tEquipmentService.list(query); TEquipment tEquipment = list.get(0); return R.ok(tEquipment); } /** * 更新 */ @ApiOperation(value = "更新机器") // @PostMapping("/update") @RequestMapping(value = "/update", method = RequestMethod.POST) public ResponseModel update(@RequestBody TEquipmentDTO equipment) { //获取修改前的设备 TEquipment oldEquipment = tEquipmentService.getById(equipment.getId()); if(StringUtils.isNotEmpty(equipment.getSn())){ oldEquipment.setSn(equipment.getSn()); } if(StringUtils.isNotEmpty(equipment.getName())){ oldEquipment.setName(equipment.getName()); } if(StringUtils.isNotEmpty(equipment.getSelfName())){ oldEquipment.setSelfName(equipment.getSelfName()); } if(equipment.getAreaId()!=null){ oldEquipment.setAreaId(equipment.getAreaId()); } if(StringUtils.isNotEmpty(equipment.getContactName())){ oldEquipment.setContactName(equipment.getContactName()); } if(StringUtils.isNotEmpty(equipment.getContactPhone())){ oldEquipment.setContactPhone(equipment.getContactPhone()); } if(StringUtils.isNotEmpty(equipment.getOperationalName())){ oldEquipment.setOperationalName(equipment.getOperationalName()); } if(StringUtils.isNotEmpty(equipment.getOperationalPhone())){ oldEquipment.setOperationalPhone(equipment.getOperationalPhone()); } if(StringUtils.isNotEmpty(equipment.getOperator())){ oldEquipment.setOperator(equipment.getOperator()); } if(StringUtils.isNotEmpty(equipment.getSimNo())){ oldEquipment.setSimNo(equipment.getSimNo()); } if(equipment.getTimeRuleId()!=null){ oldEquipment.setTimeRuleId(equipment.getTimeRuleId()); } if(StringUtils.isNotEmpty(equipment.getPlcVersion())){ oldEquipment.setPlcVersion(equipment.getPlcVersion()); } if(StringUtils.isNotEmpty(equipment.getChannel())){ oldEquipment.setChannel(equipment.getChannel()); } if(equipment.getPayType()!=null){ oldEquipment.setPayType(equipment.getPayType()); } if(equipment.getEndDate()!=null){ oldEquipment.setEndDate(equipment.getEndDate()); } if (equipment.getAreaId() != null) { oldEquipment.setFullName(tAreaService.getById(equipment.getAreaId()).getFullName()); } if(StringUtils.isNotEmpty(equipment.getFlowers())){ if(StringUtils.isEmpty(oldEquipment.getFlowers())){ //发信息 tEquipmentService.sentMessage(oldEquipment.getClientId(),PushUtils.buildJson("flowers", equipment.getFlowers()).toString()); } if(StringUtils.isNotEmpty(oldEquipment.getFlowers())&&!oldEquipment.getFlowers().equals(equipment.getFlowers())){ //发信息 tEquipmentService.sentMessage(oldEquipment.getClientId(),PushUtils.buildJson("flowers", equipment.getFlowers()).toString()); } oldEquipment.setFlowers(equipment.getFlowers()); } String[] message = new String[3];; message[0]=equipment.getMessageReceiver1(); message[1]=equipment.getMessageReceiver2(); message[2]=equipment.getMessageReceiver3(); if(message.length>0){ oldEquipment.setMessageReceiver(message.toString()); } tEquipmentService.updateById(oldEquipment); String channel = oldEquipment.getChannel(); String equimentType = oldEquipment.getEquimentType(); String clientId = oldEquipment.getClientId(); if(equipment.getPayType()!=null){ tEquipmentService.sentMessage(oldEquipment.getClientId(),PushUtils.buildJson("payType", oldEquipment.getPayType().toString() + ":" + oldEquipment.getTimeRuleId()).toString()); } if(StringUtils.isNotEmpty(oldEquipment.getContactName())&&StringUtils.isNotEmpty(oldEquipment.getContactPhone())){ tEquipmentService.sentMessage(oldEquipment.getClientId(),PushUtils.buildJson("phone", oldEquipment.getContactName() + ":" + oldEquipment.getContactPhone().toString()).toString()); } if(StringUtils.isNotEmpty(oldEquipment.getCompanyPhone())){ tEquipmentService.sentMessage(oldEquipment.getClientId(),PushUtils.buildJson("companyPhone", oldEquipment.getCompanyPhone()).toString()); } if(StringUtils.isNotEmpty(oldEquipment.getPlcVersion())){ tEquipmentService.sentMessage(oldEquipment.getClientId(),PushUtils.buildJson("plcVersion", oldEquipment.getPlcVersion()).toString()); } if(StringUtils.isNotEmpty(oldEquipment.getSelfName())){ tEquipmentService.sentMessage(oldEquipment.getClientId(),PushUtils.buildJson("selfName", oldEquipment.getSelfName()).toString()); } if(oldEquipment.getTimeRuleId()!=null){ tEquipmentService.sentMessage(oldEquipment.getClientId(),PushUtils.buildJson("pushTimeRule", oldEquipment.getTimeRuleId() + "").toString()); } if(StringUtils.isNotEmpty(oldEquipment.getOperationalName())){ tEquipmentService.sentMessage(oldEquipment.getClientId(),PushUtils.buildJson("operational", oldEquipment.getOperationalName() + ":" + oldEquipment.getOperationalPhone()).toString()); } return R.ok("null","更新成功!"); } @ApiOperation(value = "更新机器 整体") @PostMapping("/updateByEquipment") public ResponseModel updateByEquipment(@RequestBody TEquipment equipment) { if(equipment!=null&&equipment.getId()!=null){ equipment.setModifyDate(new Date()); tEquipmentService.updateById(equipment); } return R.ok(); } @ApiOperation(value = "查找机器") @PostMapping("/getEquipmentListByUser") public ResponseEntity getEquipmentListByUser(@RequestBody TAdmin param) { List resultList = new ArrayList<>(); if ("admin".equals(param.getUsername())) { // 管理员查所有商家 // List adminList = tAdminService.selectByOption(null); List adminList = tAdminService.list(); // List equipmentList = tEquipmentService.selectByOption(null); List equipmentList = tEquipmentService.list(); // List alarmRecordList = tAlarmRecordService.getLastAlarmRecord(null); List alarmRecordList = tAlarmRecordService.list(); //获取当前用户今天所有机器的所以警报信息 // List alarmList = tAlarmRecordService.getAlarmList(null); List alarmList = tAlarmRecordService.getAlarmList(null); resultList = adminList.stream().map(e -> { TAdminDTO dto = new TAdminDTO(); BeanUtils.copyPropertiesIgnoreNull(e, dto, true); List selList = equipmentList.stream() .filter(equipment -> e.getId().equals(equipment.getAdminId())) // 查对应的设备 .map(equipment -> { TEquipmentDTO equipmentDTO = new TEquipmentDTO(); BeanUtils.copyPropertiesIgnoreNull(equipment, equipmentDTO, true); Optional op = alarmRecordList.stream().filter(alarm -> equipment.getClientId().equals(alarm.getClientId())).findFirst(); if (op.isPresent()) { equipmentDTO.setAlarmContent(op.get().getAlarmContent()); equipmentDTO.setOccurrenceTime(op.get().getOccurrenceTime()); } //获取该机器的所有警报信息 List eqAlarmList = alarmList.stream().filter(alarm -> equipment.getClientId().equals(alarm.getClientId())).collect(Collectors.toList()); equipmentDTO.setAlarmList(eqAlarmList); if(eqAlarmList.size()>0){ int i = 0; for(TAlarmRecord alarmRecord : eqAlarmList){ if(DateUtils.isSameDay(new Date(),alarmRecord.getOccurrenceTime())){ if(alarmRecord.getIsEliminate()==null||alarmRecord.getIsEliminate()==0){ i++; } } } if(i>0){ equipmentDTO.setHasTodayAlarm(true); }else{ equipmentDTO.setHasTodayAlarm(false); } } return equipmentDTO; }).collect(Collectors.toList()); dto.setEquipmentList(selList); return dto; }).collect(Collectors.toList()); } else { // 只查当前商家的设备列表 TAdminDTO dto = new TAdminDTO(); BeanUtils.copyPropertiesIgnoreNull(param, dto, true); // TEquipmentExample example = new TEquipmentExample(); // TEquipmentExample.Criteria criteria = example.createCriteria(); // criteria.andAdminIdEqualTo(param.getId()); // List equipmentList = tEquipmentService.selectByOption(example); //todo 需要区分是否商家子账户 LambdaQueryWrapper query = Wrappers.lambdaQuery(); query.eq(TEquipment::getAdminId,param.getId()); List equipmentList = tEquipmentService.list(query); List alarmRecordList = tAlarmRecordService.getLastAlarmRecord(param.getId()); //获取当前用户今天所有机器的所以警报信息 List alarmList = tAlarmRecordService.getAlarmList(param.getId()); List equipmentDTOList = equipmentList.stream().map(equipment -> { TEquipmentDTO equipmentDTO = new TEquipmentDTO(); BeanUtils.copyPropertiesIgnoreNull(equipment, equipmentDTO, true); Optional op = alarmRecordList.stream().filter(alarm -> equipment.getClientId().equals(alarm.getClientId())).findFirst(); if (op.isPresent()) { equipmentDTO.setAlarmContent(op.get().getAlarmContent()); equipmentDTO.setOccurrenceTime(op.get().getOccurrenceTime()); } //获取该机器的所有警报信息 List eqAlarmList = alarmList.stream().filter(alarm -> equipment.getClientId().equals(alarm.getClientId())).collect(Collectors.toList()); equipmentDTO.setAlarmList(eqAlarmList); // if(DateUtils.isSameDay(new Date(),op.get().getOccurrenceTime())){ if(eqAlarmList.size()>0){ int i = 0; for(TAlarmRecord alarmRecord : eqAlarmList){ if(DateUtils.isSameDay(new Date(),alarmRecord.getOccurrenceTime())){ if(alarmRecord.getIsEliminate()==null||alarmRecord.getIsEliminate()==0){ i++; } } } if(i>0){ equipmentDTO.setHasTodayAlarm(true); }else{ equipmentDTO.setHasTodayAlarm(false); } } return equipmentDTO; }).collect(Collectors.toList()); dto.setEquipmentList(equipmentDTOList); resultList.add(dto); } return ResponseEntity.status(HttpStatus.OK) .body(new ResultMessage().setCode(true).setData(resultList).setMessage("SUCCESS")); } @ApiOperation(value = "消除报警") @PostMapping("/eliminate") public ResponseEntity eliminate(@RequestBody TAlarmRecord param){ TAlarmRecord tAlarmRecord = tAlarmRecordService.getById(param.getId()); TEquipment equipment = tEquipmentService.getById(tAlarmRecord.getEquipmentId()); JSONObject kindData = new JSONObject(); kindData.put("id" , param.getId()); kindData.put("content" , tAlarmRecord.getAlarmContent()); tEquipmentService.sentMessage(equipment.getClientId(), PushUtils.buildJson("eliminate", kindData.toString()).toString()); // PushUtils.push(equipment.getGtClientId(), "", "", PushUtils.buildJson("eliminate", kindData.toString()).toString()); return ResponseEntity.status(HttpStatus.OK) .body(new ResultMessage().setCode(true).setData("0").setMessage("已发送")); } @ApiOperation(value = "修改机器音量") @PostMapping("/updateVolume") public ResponseEntity updateVolume(@RequestBody TEquipment equipment) { if(!StringUtils.isEmpty(equipment.getVolume())){ TEquipment tEquipment = tEquipmentService.getById(equipment.getId()); tEquipmentService.sentMessage(tEquipment.getClientId(),PushUtils.buildJson("volume", equipment.getVolume()).toString()); // PushUtils.push(tEquipment.getGtClientId(), "", "", PushUtils.buildJson("volume", equipment.getVolume()).toString()); } return ResponseEntity.status(HttpStatus.OK) .body(new ResultMessage().setCode(true).setData(true).setMessage("修改成功")); } //修改机器信息 @ApiOperation(value = "修改机器信息") @PostMapping("/updateEquipment") public ResponseEntity updateEquipment(@RequestBody TEquipment equipment) { TEquipment equipment1 = tEquipmentService.getById(equipment.getId()); Integer type = equipment.getType(); //修改基本信息 if(type==0){ equipment1.setName(equipment.getName()); equipment1.setSimNo(equipment.getSimNo()); equipment1.setOperator(equipment.getOperator()); } //修改后台密码 if(type==1){ equipment1.setAdminPwd(equipment.getAdminPwd()); equipment1.setGuestPwd(equipment.getGuestPwd()); tEquipmentService.sentMessage(equipment1.getClientId(),PushUtils.buildJson("guestPwd", equipment1.getGuestPwd()).toString()); tEquipmentService.sentMessage(equipment1.getClientId(), PushUtils.buildJson("adminPwd", equipment1.getAdminPwd()).toString()); // PushUtils.push(equipment1.getGtClientId(), "【棉花糖】设备管理-更改密码", "修改guest密码", PushUtils.buildJson("guestPwd", equipment1.getGuestPwd()).toString()); // PushUtils.push(equipment1.getGtClientId(), "【棉花糖】设备管理-更改密码", "修改admin密码", PushUtils.buildJson("adminPwd", equipment1.getAdminPwd()).toString()); } //定时开机 if(type==3){ // equipment1.setBootTime(equipment.getBootTime()); // tEquipmentService.sentMessage(equipment1.getClientId(),PushUtils.buildJson("updateBootTime", equipment.getBootTime()).toString()); // PushUtils.push(equipment.getGtClientId(), "", "", PushUtils.buildJson("updateBootTime", equipment.getBootTime()).toString()); } //定时关机 if(type==4){ // equipment1.setOffTime(equipment.getOffTime()); // tEquipmentService.sentMessage(equipment1.getClientId(), PushUtils.buildJson("updateOffTime", equipment.getBootTime()).toString()); // PushUtils.push(equipment.getGtClientId(), "", "", PushUtils.buildJson("updateOffTime", equipment.getBootTime()).toString()); } if(type==5){ equipment1.setMessageReceiver(equipment.getMessageReceiver()); } Boolean t = tEquipmentService.updateById(equipment1); if (t == true) { return ResponseEntity.status(HttpStatus.OK) .body(new ResultMessage().setCode(true).setData(equipment1).setMessage("修改成功")); } else { return ResponseEntity.status(HttpStatus.OK) .body(new ResultMessage().setCode(false).setData(t).setMessage("修改失败")); } } //根据机器id获取用户信息 @ApiOperation(value = "根据机器id获取用户信息") @PostMapping("/findByEquipment") public ResponseEntity findByEquipment(@RequestBody TEquipment equipment) { TEquipment tEquipment = tEquipmentService.getById(equipment.getId()); TAdmin tAdmin = tAdminService.getById(tEquipment.getAdminId()); return ResponseEntity.status(HttpStatus.OK) .body(new ResultMessage().setCode(false).setData(tAdmin).setMessage("")); } //根据机器编号获取用户信息 @ApiOperation(value = "根据机器编号获取用户信息") @PostMapping("/getEquipmentListLikeClientId") public ResponseEntity getEquipmentListLikeClientId(@RequestBody TEquipment equipment) { if(StringUtils.isEmpty(equipment.getClientId())){ return ResponseEntity.status(HttpStatus.OK) .body(new ResultMessage().setCode(false).setData("").setMessage("设备编号为空")); } // TEquipmentExample example = new TEquipmentExample(); // TEquipmentExample.Criteria criteria = example.createCriteria(); // criteria.andClientIdLike(equipment.getClientId()); // List list = tEquipmentService.selectByOption(example); LambdaQueryWrapper query = Wrappers.lambdaQuery(); query.like(TEquipment::getClientId,equipment.getClientId()); List list = tEquipmentService.list(query); return ResponseEntity.status(HttpStatus.OK) .body(new ResultMessage().setCode(true).setData(list).setMessage("")); } //脱机 @ApiOperation(value = "脱机") @PostMapping("/tuoji") public ResponseEntity tuoji(@RequestBody TEquipment equipment) { if(equipment.getId()==null){ return ResponseEntity.status(HttpStatus.OK) .body(new ResultMessage().setCode(false).setData("").setMessage("")); } TEquipment tEquipment = tEquipmentService.getById(equipment.getId()); tEquipmentService.sentMessage(tEquipment.getClientId(),PushUtils.buildJson("tuoji", "0").toString()); if ("xxx".equals(tEquipment.getClientId().substring(tEquipment.getClientId().length()-3,tEquipment.getClientId().length()))){ return ResponseEntity.status(HttpStatus.OK) .body(new ResultMessage().setCode(true).setData("").setMessage("发送成功!")); } tEquipment.setClientId(tEquipment.getClientId() + "xxx"); tEquipmentService.updateById(tEquipment); return ResponseEntity.status(HttpStatus.OK) .body(new ResultMessage().setCode(true).setData("").setMessage("发送成功!")); } //一键补料 @ApiOperation(value = "一键补料") @GetMapping("/buliao") public ResponseModel buliao(String equipmentId) { TEquipment equipment = tEquipmentService.getById(equipmentId); if(equipment==null||equipment.getId()==null){ return R.fail(ResponseCodesEnum.A0001,"找不到设备"); } TEquipmentDesc tEquipmentDesc = equipmentDescService.getById(equipment.getId()); if (tEquipmentDesc!=null){ tEquipmentDesc.setBlueSugar("100"); tEquipmentDesc.setRedSugar("100"); tEquipmentDesc.setStick("100"); tEquipmentDesc.setWhiteSugar("100"); tEquipmentDesc.setYellowSugar("100"); tEquipmentDesc.setWater("100"); tEquipmentDesc.setWasteWater("0"); equipmentDescService.updateById(tEquipmentDesc); tEquipmentService.sentMessage(equipment.getClientId(),PushUtils.buildJson("buliao", "buliao").toString()); }else { return R.fail(ResponseCodesEnum.A0001,"找不到设备"); } return R.ok(null,"修改成功"); } // @ApiOperation(value = "修改优惠券开关状态") @GetMapping("/updateCouponStatus") public ResponseModel updateCouponStatus(String equipmentId,String couponStatus) { if(StringUtils.isEmpty(couponStatus)||StringUtils.isEmpty(equipmentId)){ return R.fail(ResponseCodesEnum.A0001,"参数有空"); } TEquipment equipment = tEquipmentService.getById(equipmentId); if(equipment==null||equipment.getId()==null){ return R.fail(ResponseCodesEnum.A0001,"找不到设备"); } // tEquipmentService.sentMessage(equipment.getClientId(),PushUtils.buildJson("couponStatus", couponStatus).toString()); TEquipmentDesc tEquipmentDesc = equipmentDescService.getById(equipment.getId()); if (tEquipmentDesc!=null){ // tEquipmentDesc.setCouponStatus(couponStatus); // equipmentDescService.updateById(tEquipmentDesc); tEquipmentService.sentMessage(equipment.getClientId(),PushUtils.buildJson("couponStatus", couponStatus).toString()); }else { return R.fail(ResponseCodesEnum.A0001,"找不到设备"); } return R.ok(null,"修改成功"); } //查找设备 @ApiOperation(value = "查找设备") @PostMapping("/findEquipment") public ResponseEntity findEquipment(@RequestBody TEquipment equipment) { TEquipment tEquipment = tEquipmentService.getById(equipment.getId()); return ResponseEntity.status(HttpStatus.OK) .body(new ResultMessage().setCode(false).setData(tEquipment).setMessage("")); } //获取机器数量 @ApiOperation(value = "获取机器数量") @PostMapping("/getMachineNum") public ResponseModel getMachineNum(@RequestBody StatisticsParam param) { String machineTotalNum = ""; String machineUseNum = ""; String equipmentId = param.getEquipmentId(); String paramAdminId = param.getAdminId(); TAdmin admin = tAdminService.getById(paramAdminId); if(admin.getType()<2){ param.setAdminId(null); } //判断是否有机器id传入 if (equipmentId != null && equipmentId != "") { Long id = Long.valueOf(equipmentId); TEquipment equipment = tEquipmentService.getById(id); Long adminId = equipment.getAdminId(); String dminId = String.valueOf(adminId); param.setAdminId(dminId); //todo 需要区分是否商家子账户 machineTotalNum = tEquipmentService.findMachineTotalNum(param); machineUseNum = tEquipmentService.findMachineUseNum(param); } else { machineTotalNum = tEquipmentService.findMachineTotalNum(param); machineUseNum = tEquipmentService.findMachineUseNum(param); } Map map = new HashMap<>(); map.put("machineTotalNum",machineTotalNum); map.put("machineUseNum",machineUseNum); List list = new ArrayList<>(); list.add(machineTotalNum); list.add(machineUseNum); return R.ok(map,"获取成功"); } //远程开门 @ApiOperation(value = "远程开门") @PostMapping("/openDoor") public ResponseEntity openDoor(@RequestBody StatisticsParam param) { String equipmentId = param.getEquipmentId(); Long id = Long.valueOf(equipmentId); TEquipment equipment = tEquipmentService.getById(id); tEquipmentService.sentMessage(equipment.getClientId(),PushUtils.buildJson("openDoor", "0").toString()); // PushUtils.push(equipment.getGtClientId(), "", "", PushUtils.buildJson("openDoor", "0").toString()); return ResponseEntity .status(HttpStatus.OK) .body(new ResultMessage() .setCode(true) .setData("SUCCESS") .setMessage("SUCCESS")); } //查看是否远程来关机成功 @ApiOperation(value = "查看是否远程来关机成功") @PostMapping("/checkStatus") public ResponseEntity checkStatus(@RequestBody StatisticsParam param) { String equipmentId = param.getEquipmentId(); Long id = Long.valueOf(equipmentId); TEquipment equipment = tEquipmentService.getById(id); String network = equipment.getNetwork(); Long nowTime2 = getNetworkTime(); // Long nowTime2 = new Date().getTime(); if(network!=null){ Long old = Long.valueOf(network); if (nowTime2==null){ nowTime2 = getNetworkTime(); } if(nowTime2==null){ nowTime2 = new Date().getTime(); } if(nowTime2-old<15000){ return ResponseEntity .status(HttpStatus.OK) .body(new ResultMessage() .setCode(true) .setData("SUCCESS") .setMessage("网络良好")); }else { // if(equipment.getEqeStatus()==0){ // equipment.setEqeStatus(1); // tEquipmentService.updateById(equipment); // }else { // equipment.setEqeStatus(0); // tEquipmentService.updateById(equipment); // } return ResponseEntity .status(HttpStatus.OK) .body(new ResultMessage() .setCode(true) .setData("fail") .setMessage("网络不好,操作失败")); } }else { return ResponseEntity .status(HttpStatus.OK) .body(new ResultMessage() .setCode(true) .setData("SUCCESS") .setMessage("该机器尚未更新系统")); } } public static Long getNetworkTime() { Long time = null; URL url= null;//取得资源对象http://time.tianqi.com/ try { url = new URL("http://time.tianqi.com"); URLConnection uc=url.openConnection();//生成连接对象 uc.connect(); //发出连接 long ld=uc.getDate(); //取得网站日期时间 Date date=new Date(ld); //转换为标准时间对象 time = date.getTime(); } catch (Exception e) { e.printStackTrace(); } return time; } //机器睡眠 @ApiOperation(value = "机器睡眠") @PostMapping("/sleep") public ResponseEntity sleep(@RequestBody StatisticsParam param) { String equipmentId = param.getEquipmentId(); Long id = Long.valueOf(equipmentId); TEquipment equipment = tEquipmentService.getById(id); if (equipment == null) { // return ERROR_MESSAGE; } String eqeStatus = "0"; String code = param.getEqeStatus(); if (code.equals("1")) { eqeStatus = "1"; equipment.setIsSleep(true); } else { equipment.setIsSleep(false); } tEquipmentService.updateById(equipment); tEquipmentService.sentMessage(equipment.getClientId(),PushUtils.buildJson("is_sleep", eqeStatus).toString()); // PushUtils.push(equipment.getGtClientId(), "", "", PushUtils.buildJson("is_sleep", eqeStatus).toString()); return ResponseEntity .status(HttpStatus.OK) .body(new ResultMessage() .setCode(true) .setData("SUCCESS") .setMessage("SUCCESS")); } // 获取机器开关机状态 @ApiOperation(value = "获取机器开关机状态") @PostMapping("/onoffStatus") public ResponseEntity onoffStatus(@RequestBody StatisticsParam param) { String equipmentId = param.getEquipmentId(); Long id = Long.valueOf(equipmentId); TEquipment equipments = tEquipmentService.getById(id); tEquipmentService.sentMessage(equipments.getClientId(),PushUtils.buildJson("onoffstatus", "0").toString()); // PushUtils.push(equipments.getGtClientId(), "", "", PushUtils.buildJson("onoffstatus", "0").toString()); return ResponseEntity .status(HttpStatus.OK) .body(new ResultMessage() .setCode(true) .setData("SUCCESS") .setMessage("SUCCESS")); } // 获取所有机器开关机状态 @ApiOperation(value = "获取所有机器开关机状态") @PostMapping("/equipmentStatus") public ResponseEntity equipmentStatus(@RequestBody StatisticsParam param) { String adminId = param.getAdminId(); //碧桂园的机器太多,不查 if(adminId.equals("236")||adminId.equals("31")){ return ResponseEntity .status(HttpStatus.OK) .body(new ResultMessage() .setCode(true) .setData("SUCCESS") .setMessage("SUCCESS")); } // TEquipmentExample example = new TEquipmentExample(); // TEquipmentExample.Criteria criteria = example.createCriteria(); // criteria.andAdminIdEqualTo(Long.valueOf(adminId)); // List equipmentList = tEquipmentService.selectByOption(example); LambdaQueryWrapper query = Wrappers.lambdaQuery(); query.eq(TEquipment::getAdminId,Long.valueOf(adminId)); List equipmentList = tEquipmentService.list(query); if(equipmentList.size()>0){ for (TEquipment equipment:equipmentList) { tEquipmentService.sentMessage(equipment.getClientId(),PushUtils.buildJson("onoffstatus", "0").toString()); // PushUtils.push(equipment.getGtClientId(), "", "", PushUtils.buildJson("onoffstatus", "0").toString()); } } return ResponseEntity .status(HttpStatus.OK) .body(new ResultMessage() .setCode(true) .setData("SUCCESS") .setMessage("SUCCESS")); } // 检验所有机器是否开机 @ApiOperation(value = "检验所有机器是否开机") @PostMapping("/checkEquipmentStatus") public ResponseEntity checkEquipmentStatus(@RequestBody StatisticsParam param) { String adminId = param.getAdminId(); // TEquipmentExample example = new TEquipmentExample(); // TEquipmentExample.Criteria criteria = example.createCriteria(); // criteria.andAdminIdEqualTo(Long.valueOf(adminId)); // List equipmentList = tEquipmentService.selectByOption(example); LambdaQueryWrapper query = Wrappers.lambdaQuery(); query.eq(TEquipment::getAdminId,Long.valueOf(adminId)); List equipmentList = tEquipmentService.list(query); long nowTime = new Date().getTime(); if(equipmentList.size()>0){ for (TEquipment equipment:equipmentList) { long modifyTime = equipment.getModifyDate().getTime(); if(nowTime>modifyTime&&(nowTime-modifyTime)>310000){ // if((nowTime-modifyTime)>310000){ // equipment.setEqeStatus(0); // } equipment.setCabinetTm(""); equipment.setCabinetHd(""); equipment.setFurnaceTm(""); equipment.setFurnaceSp(""); tEquipmentService.updateById(equipment); } } } return ResponseEntity .status(HttpStatus.OK) .body(new ResultMessage() .setCode(true) .setData("SUCCESS") .setMessage("SUCCESS")); } //机器开关机 @ApiOperation(value = "机器开关机") @PostMapping("/onOff") public ResponseEntity onOff(@RequestBody StatisticsParam param) { String equipmentId = param.getEquipmentId(); Long id = Long.valueOf(equipmentId); // TEquipment equipments = tEquipmentService.selectEntityById(id); // PushUtils.push(equipments.getGtClientId(), "", "", PushUtils.buildJson("onoffstatus", "0").toString()); TEquipment equipment = tEquipmentService.getById(id); if (equipment == null) { // return ERROR_MESSAGE; } String eqeStatus = "1"; String code = param.getEqeStatus(); //开机为1,关机为0 Integer intcode = Integer.valueOf(code); Integer eqeStatus1 = equipment.getEqeStatus(); // if(intcode==eqeStatus1){ // return ResponseEntity // .status(HttpStatus.OK) // .body(new ResultMessage() // .setCode(false) // .setData("ERROT") // .setMessage("操作异常")); // } if (code.equals("0")) { eqeStatus = "0"; equipment.setEqeStatus(0); } else { equipment.setEqeStatus(1); } Long time = getNetworkTime(); // long time = new Date().getTime(); // PushUtils.push(equipment.getGtClientId(), String.valueOf(time), "", PushUtils.buildJson("eqeStatus", eqeStatus).toString()); if(time==null){ time = getNetworkTime(); } if(time==null){ time = new Date().getTime(); } if(time!=null){ // System.out.println("time=="+time); tEquipmentService.sentMessage(equipment.getClientId(),PushUtils.buildJson("eqeStatus", eqeStatus,String.valueOf(time),"http://time.tianqi.com").toString()); // PushUtils.push(equipment.getGtClientId(), "", "", PushUtils.buildJson("eqeStatus", eqeStatus,String.valueOf(time),"http://time.tianqi.com").toString()); // tEquipmentService.updateById(equipment); }else { return ResponseEntity .status(HttpStatus.OK) .body(new ResultMessage() .setCode(false) .setData("error") .setMessage("error")); } return ResponseEntity .status(HttpStatus.OK) .body(new ResultMessage() .setCode(true) .setData("SUCCESS") .setMessage("SUCCESS")); } @ApiOperation(value = "获取各省份机器销售情况") @PostMapping("/getEquipmentListByProvince") public ResponseEntity getEquipmentListByProvince(@RequestBody TAdmin param) { List resultList = new ArrayList<>(); if ("admin".equals(param.getUsername())) { // 管理员查所有商家 //获取有多少个省份 List list1 = tAreaService.getProvinceList(); Map map1 = new HashMap<>(); for (TArea area : list1) { String fullname = area.getFullName(); String provinceName = fullname.substring(0, 3); String treePath = area.getTreePath(); String[] str = treePath.split(","); Long s = null; if (str.length > 1) { s = Long.valueOf(str[1]); } if (str.length <= 1) { s = area.getId(); } map1.put(s, provinceName); } List children3List = new ArrayList<>(); for (Long key : map1.keySet()) { Children3 children3 = new Children3(); children3.setId(key); // children3.setName(map1.get(key)); int pday = 0; int pweek = 0; int pmonth = 0; int pyear = 0; Set province = new HashSet<>(); //本省有多少个市 Map cityMap = new HashMap<>(); for (TArea carea : list1) { String fullName = carea.getFullName(); if (fullName.substring(0, 3).equals(map1.get(key))) { province.add(carea.getId()); if (key.equals(carea.getParent())) { cityMap.put(carea.getId(), carea.getName()); } else { TArea cityArea = tAreaService.getById(carea.getParent()); cityMap.put(cityArea.getId(), cityArea.getName()); } } } List children2List = new ArrayList<>(); //有多少个市,市有多少个商家 for (Long citykey : cityMap.keySet()) { for (TArea area : list1) { String fullName = area.getFullName(); if (fullName.substring(0, 3).equals(map1.get(key))) { //市级 Children2 children2 = new Children2(); //市级下所有商家集合 List Children = new ArrayList<>(); //属于这个市的所以设备的areaid Set city = new HashSet<>(); //添加市级 if ((area.getId()).equals(citykey) || (area.getParent()).equals(citykey)) { children2.setId(citykey); for (TArea cityArea2 : list1) { if ((cityArea2.getId()).equals(citykey) || (cityArea2.getParent()).equals(citykey)) { city.add(cityArea2.getId()); } } children2.setCity(city); int i = 0; for (Children2 children21 : children2List) { if (children21.getId().equals(citykey)) { i++; } } if (i == 0) { for (Long id : city) { // List childlasts = new ArrayList<>(); Set adminIds = new HashSet<>(); // List equipments = tEquipmentService.findByArea(id); LambdaQueryWrapper query = Wrappers.lambdaQuery(); query.eq(TEquipment::getAreaId,id); List equipments = tEquipmentService.list(query); for (TEquipment tEquipment : equipments) { adminIds.add(tEquipment.getAdminId()); } for (Long adminId3 : adminIds) { TAdmin tAdmin = tAdminService.getById(adminId3); int k = 0; for (Child child : Children) { if (child.getId().equals(tAdmin.getId())) { k++; } } if (k == 0) { //new Child child = new Child(); child.setId(adminId3); child.setName(tAdmin.getName()); List children = new ArrayList<>(); Childlast childlast1 = new Childlast(); childlast1.setId(adminId3); childlast1.setName("总销售情况"); children.add(0, childlast1); // List tEquipmentList = tEquipmentService.findByAdmin(adminId3); LambdaQueryWrapper query1 = Wrappers.lambdaQuery(); query1.eq(TEquipment::getAdminId,adminId3); List tEquipmentList = tEquipmentService.list(query1); for (TEquipment tEquipment : tEquipmentList) { Long areaId = tEquipment.getAreaId(); for (Long idd : city) { if (idd.equals(areaId)) { Childlast childlast2 = new Childlast(); childlast2.setId(tEquipment.getId()); childlast2.setName(tEquipment.getName()); children.add(childlast2); } } } child.setChildren(children); Children.add(child); } } } children2.setChildren(Children); //这个市的销售数据 日 周 月 年 List cityIds = new ArrayList(); for (Long cityid : city) { cityIds.add(cityid); } StringBuffer namelast = new StringBuffer(); namelast.append(cityMap.get(citykey)).append(" "); String day = ""; String week = ""; String month = ""; String year = ""; //数据为空时要处理 for (int s = 1; s < 5; s++) { String startDate = null; String endDate = null; if (s == 1) { //日 Date date = new Date(); SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy/MM/dd"); String format = dateFormat.format(date); startDate = format; endDate = format; Map params = new HashMap(); params.put("areaIds", cityIds); params.put("startDate", startDate); params.put("endDate", endDate); Double day1 = tOrderService.getAreaPrice(params); if (day1 != null) { double ceil = Math.ceil(day1); int ceil1 = (int) ceil; pday += ceil1; day = String.valueOf(ceil1); namelast.append("-----日:").append(day); } else { namelast.append("-----日:0 "); } } if (s == 2) { //周 Map weekDate = getWeekDate(); startDate = weekDate.get("mondayDate"); endDate = weekDate.get("sundayDate"); Map params = new HashMap(); params.put("areaIds", cityIds); params.put("startDate", startDate); params.put("endDate", endDate); Double day1 = tOrderService.getAreaPrice(params); if (day1 != null) { double ceil = Math.ceil(day1); int ceil1 = (int) ceil; pweek += ceil1; week = String.valueOf(ceil1); namelast.append(" 周:").append(week); } else { namelast.append(" 周:0 "); } } if (s == 3) { //月 SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy/MM/dd"); //获取当前月第一天: Calendar c = Calendar.getInstance(); c.add(Calendar.MONTH, 0); c.set(Calendar.DAY_OF_MONTH, 1);//设置为1号,当前日期既为本月第一天 String first = dateFormat.format(c.getTime()); //获取当前月最后一天 Calendar ca = Calendar.getInstance(); ca.set(Calendar.DAY_OF_MONTH, ca.getActualMaximum(Calendar.DAY_OF_MONTH)); String last = dateFormat.format(ca.getTime()); startDate = first; endDate = last; Map params = new HashMap(); params.put("areaIds", cityIds); params.put("startDate", startDate); params.put("endDate", endDate); Double day1 = tOrderService.getAreaPrice(params); if (day1 != null) { double ceil = Math.ceil(day1); int ceil1 = (int) ceil; pmonth += ceil1; month = String.valueOf(ceil1); namelast.append(" 月:").append(month); } else { namelast.append(" 月:0 "); } } if (s == 4) { //年 SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy/MM/dd"); Calendar cale = Calendar.getInstance(); int year1 = cale.get(Calendar.YEAR); String y = String.valueOf(year1); StringBuffer st = new StringBuffer(); st.append(y).append("/01/01"); startDate = st.toString(); StringBuffer e = new StringBuffer(); e.append(y).append("/12/30"); endDate = e.toString(); Map params = new HashMap(); params.put("areaIds", cityIds); params.put("startDate", startDate); params.put("endDate", endDate); Double day1 = tOrderService.getAreaPrice(params); if (day1 != null) { double ceil = Math.ceil(day1); int ceil1 = (int) ceil; pyear += ceil1; year = String.valueOf(ceil1); namelast.append(" 年:").append(year); } else { namelast.append(" 年:0 "); } } } children2.setName(namelast.toString()); children2List.add(children2); } else { i = 0; } } } } } children3.setChildren(children2List); children3.setProvince(province); StringBuffer pnameLast = new StringBuffer(); pnameLast.append(map1.get(key)).append("-----日:").append(pday).append(" 周:").append(pweek).append(" 月:").append(pmonth).append(" 年:").append(pyear); children3.setName(pnameLast.toString()); children3List.add(children3); } return ResponseEntity.status(HttpStatus.OK) .body(new ResultMessage().setCode(true).setData(children3List).setMessage("SUCCESS")); } else { // 只查当前商家的设备列表 return ResponseEntity.status(HttpStatus.OK) .body(new ResultMessage().setCode(true).setData(resultList).setMessage("SUCCESS")); } // return ResponseEntity.status(HttpStatus.OK) // .body(new ResultMessage().setCode(true).setData(resultList).setMessage("SUCCESS")); } public static Map getWeekDate() { Map map = new HashMap(); SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd"); Calendar cal = Calendar.getInstance(); cal.setFirstDayOfWeek(Calendar.MONDAY);// 设置一个星期的第一天,按中国的习惯一个星期的第一天是星期一 int dayWeek = cal.get(Calendar.DAY_OF_WEEK);// 获得当前日期是一个星期的第几天 if (dayWeek == 1) { dayWeek = 8; } // System.out.println("要计算日期为:" + sdf.format(cal.getTime())); // 输出要计算日期 cal.add(Calendar.DATE, cal.getFirstDayOfWeek() - dayWeek);// 根据日历的规则,给当前日期减去星期几与一个星期第一天的差值 Date mondayDate = cal.getTime(); String weekBegin = sdf.format(mondayDate); // System.out.println("所在周星期一的日期:" + weekBegin); cal.add(Calendar.DATE, 4 + cal.getFirstDayOfWeek()); Date sundayDate = cal.getTime(); String weekEnd = sdf.format(sundayDate); // System.out.println("所在周星期日的日期:" + weekEnd); map.put("mondayDate", weekBegin); map.put("sundayDate", weekEnd); return map; } /** * 推送设备共同以及/设备参数 * * @param * @return */ @PostMapping("/updateParameters") public ResponseEntity updateCommonParam(@RequestBody CommonParamVo commonParamVo) { String equipmentId = commonParamVo.getId(); TEquipment equipment = tEquipmentService.getById(Long.valueOf(equipmentId)); tEquipmentService.sentMessage(equipment.getClientId(),PushUtils.buildJson("Param", commonParamVo.getName() + ":" + commonParamVo.getVal()).toString()); // PushUtils.push(equipment.getGtClientId(), "", "", PushUtils.buildJson("Param", commonParamVo.getName() + ":" + commonParamVo.getVal()).toString()); return ResponseEntity .status(HttpStatus.OK) .body(new ResultMessage() .setCode(true) .setData("SUCCESS") .setMessage("SUCCESS")); } /** * 推送设备共同以及/设备参数 湿度 * * @param * @return */ @PostMapping("/humidityParameters") public ResponseEntity humidityParameters(@RequestBody CommonParamVo commonParamVo) { String equipmentId = commonParamVo.getId(); TEquipment equipment = tEquipmentService.getById(equipmentId); tEquipmentService.sentMessage(equipment.getClientId(),PushUtils.buildJson("humidityParameters", commonParamVo.getName() + ":" + commonParamVo.getVal()).toString()); // PushUtils.push(equipment.getGtClientId(), "", "", PushUtils.buildJson("Param", commonParamVo.getName() + ":" + commonParamVo.getVal()).toString()); return ResponseEntity .status(HttpStatus.OK) .body(new ResultMessage() .setCode(true) .setData("SUCCESS") .setMessage("SUCCESS")); } }