123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527 |
- package com.szwl.controller;
- import cn.com.crbank.ommo.bean.ResultMessage;
- import com.alibaba.fastjson.JSONObject;
- import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
- import com.baomidou.mybatisplus.core.toolkit.Wrappers;
- import com.szwl.constant.ResponseCodesEnum;
- import com.szwl.model.bo.R;
- import com.szwl.model.bo.ResponseModel;
- import com.szwl.model.entity.TAlarmClock;
- import com.szwl.model.entity.TAlarmClockItem;
- import com.szwl.model.entity.TEquipment;
- import com.szwl.model.utils.PushUtils;
- import com.szwl.service.TAlarmClockItemService;
- import com.szwl.service.TAlarmClockService;
- import com.szwl.service.TEquipmentService;
- import io.swagger.annotations.Api;
- import io.swagger.annotations.ApiOperation;
- import org.apache.commons.lang.StringUtils;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.http.HttpStatus;
- import org.springframework.http.ResponseEntity;
- import org.springframework.web.bind.annotation.*;
- import java.util.*;
- /**
- * <p>
- * 闹钟列表 前端控制器
- * </p>
- *
- * @author wuhs
- * @since 2022-06-02
- */
- @Api(value = "/tAlarmClock", tags = {"闹钟"})
- @RestController
- @RequestMapping("/tAlarmClock")
- public class TAlarmClockController {
- @Autowired
- TAlarmClockService tAlarmClockService;
- @Autowired
- TAlarmClockItemService tAlarmClockItemService;
- @Autowired
- TEquipmentService tEquipmentService;
- @ApiOperation(value = "查询闹钟列表信息")
- @GetMapping("/list")
- public ResponseEntity<?> list(String adminId){
- LambdaQueryWrapper<TAlarmClock> query = Wrappers.lambdaQuery();
- query.eq(TAlarmClock::getAdminId,Long.valueOf(adminId));
- List<TAlarmClock> alarmClockList = tAlarmClockService.list(query);
- if(alarmClockList.size()==0){
- return ResponseEntity.status(HttpStatus.OK)
- .body(new ResultMessage().setCode(false).setData(null).setMessage("尚未设置闹钟"));
- }
- return ResponseEntity.status(HttpStatus.OK)
- .body(new ResultMessage().setCode(true).setData(alarmClockList).setMessage("SUCCESS"));
- }
- @ApiOperation(value = "添加闹钟")
- @PostMapping("/add")
- public ResponseEntity<?> add(@RequestBody TAlarmClock alarmClock){
- if(alarmClock==null|| StringUtils.isEmpty(alarmClock.getWeek())||StringUtils.isEmpty(alarmClock.getEquipmentIds())){
- return ResponseEntity.status(HttpStatus.OK)
- .body(new ResultMessage().setCode(false).setData(null).setMessage("数据为空"));
- }
- Date date = new Date();
- alarmClock.setCreateDate(date);
- alarmClock.setModifyDate(date);
- alarmClock.setEquipmentIds(alarmClock.getEquipmentIds()+",");
- alarmClock.setWeek(alarmClock.getWeek()+",");
- alarmClock.setHour(alarmClock.getHour()+":00");
- tAlarmClockService.save(alarmClock);
- // sentMessageToEquiment(alarmClock.getType(),alarmClock.getEquipmentIds(),alarmClock.getAdminId());
- //避免返回大量数据
- // alarmClock.setEquipmentIds(null);
- Long alarmClockItemId = alarmClock.getId();
- String equipmentIds = alarmClock.getEquipmentIds();
- String[] eids = equipmentIds.split(",");
- for (int i = 0;i < eids.length;i++){
- TAlarmClockItem alarmClockItem = new TAlarmClockItem();
- alarmClockItem.setAdminId(alarmClock.getAdminId());
- alarmClockItem.setEquipmentId(Long.valueOf(eids[i]));
- alarmClockItem.setClockId(alarmClockItemId);
- alarmClockItem.setHour(alarmClock.getHour());
- alarmClockItem.setWeek(alarmClock.getWeek());
- alarmClockItem.setStatus(alarmClock.getStatus());
- alarmClockItem.setType(alarmClock.getType());
- // alarmClockItem.setIsCirculate(alarmClocka1.getIsCirculate());
- alarmClockItem.setModifyDate(alarmClock.getModifyDate());
- alarmClockItem.setCreateDate(alarmClock.getCreateDate());
- tAlarmClockItemService.save(alarmClockItem);
- }
- for (int i = 0;i < eids.length;i++){
- TEquipment equipment = tEquipmentService.getById(Long.valueOf(eids[i]));
- LambdaQueryWrapper<TAlarmClockItem> query = Wrappers.lambdaQuery();
- query.eq(TAlarmClockItem::getEquipmentId,Long.valueOf(eids[i]));
- query.eq(TAlarmClockItem::getType,alarmClock.getType());
- query.eq(TAlarmClockItem::getStatus,"1");
- List<TAlarmClockItem> tAlarmClockItems = tAlarmClockItemService.list(query);
- Map<String,String> map = new HashMap<>();
- List<String> list = new ArrayList<>();
- if(tAlarmClockItems.size()>0){
- for(TAlarmClockItem alarmClockItem:tAlarmClockItems){
- list.add(alarmClockItem.getWeek()+":"+alarmClockItem.getHour());
- }
- JSONObject kindData = new JSONObject();
- kindData.put("type" ,alarmClock.getType());
- kindData.put("data" , list);
- tEquipmentService.sentMessage(equipment.getClientId(), PushUtils.buildJson("alarmClock", kindData.toString()).toString());
- // PushUtils.push(equipment.getGtClientId(), "", "", PushUtils.buildJson("alarmClock", kindData.toString()).toString());
- }
- }
- return ResponseEntity.status(HttpStatus.OK)
- .body(new ResultMessage().setCode(true).setData(alarmClock).setMessage("SUCCESS"));
- }
- @ApiOperation(value = "闹钟详情")
- @PostMapping("/selectOne")
- public ResponseEntity<?> selectOne(@RequestBody TAlarmClock alarmClock){
- if(alarmClock.getId()==null){
- return ResponseEntity.status(HttpStatus.OK)
- .body(new ResultMessage().setCode(false).setData(null).setMessage("数据为空"));
- }
- TAlarmClock tAlarmClock = tAlarmClockService.getById(alarmClock.getId());
- tAlarmClock.setWeek(tAlarmClock.getWeek().substring(0,tAlarmClock.getWeek().length()-1));
- return ResponseEntity.status(HttpStatus.OK)
- .body(new ResultMessage().setCode(true).setData(tAlarmClock).setMessage("SUCCESS"));
- }
- @ApiOperation(value = "修改闹钟")
- @PostMapping("/updata")
- public ResponseEntity<?> updata(@RequestBody TAlarmClock alarmClock){
- if(alarmClock==null||StringUtils.isEmpty(alarmClock.getHour())){
- return ResponseEntity.status(HttpStatus.OK)
- .body(new ResultMessage().setCode(false).setData(null).setMessage("数据为空"));
- }
- if(StringUtils.isEmpty(alarmClock.getEquipmentIds())){
- return ResponseEntity.status(HttpStatus.OK)
- .body(new ResultMessage().setCode(false).setData(null).setMessage("机器为空"));
- }
- if(StringUtils.isEmpty(alarmClock.getWeek())){
- return ResponseEntity.status(HttpStatus.OK)
- .body(new ResultMessage().setCode(false).setData(null).setMessage("星期为空"));
- }
- //要确认修改了什么状态,机器的增减情况
- TAlarmClock oldAlarmClock = tAlarmClockService.getById(alarmClock.getId());
- oldAlarmClock.setName(alarmClock.getName());
- tAlarmClockService.updateById(oldAlarmClock);
- //是否启用状态 0:未开启,1:已开启
- if(!oldAlarmClock.getStatus().equals(alarmClock.getStatus())){
- //修改了状态
- //是否改变了闹钟的类型
- if(!oldAlarmClock.getType().equals(alarmClock.getType())){
- //修改了类型
- //1,修改原有类型的闹钟及删除其对应的单个机器的数据,再重新创建。要把改变前和改变后的机器都通知一遍,要注意分类型推送
- //修改类型
- oldAlarmClock.setStatus(alarmClock.getStatus());
- String oldAlarmClockType = oldAlarmClock.getType();
- oldAlarmClock.setType(alarmClock.getType());
- String oldEquipmentIds = oldAlarmClock.getEquipmentIds();
- oldAlarmClock.setEquipmentIds(alarmClock.getEquipmentIds()+",");
- oldAlarmClock.setModifyDate(new Date());
- oldAlarmClock.setHour(alarmClock.getHour()+":00");
- oldAlarmClock.setWeek(alarmClock.getWeek()+",");
- tAlarmClockService.updateById(oldAlarmClock);
- //删除其对应的单个机器的数据
- LambdaQueryWrapper<TAlarmClockItem> query = Wrappers.lambdaQuery();
- query.eq(TAlarmClockItem::getClockId,oldAlarmClock.getId());
- List<TAlarmClockItem> list = tAlarmClockItemService.list(query);
- if(list.size()>0){
- for(TAlarmClockItem tAlarmClockItem:list){
- tAlarmClockItemService.removeById(tAlarmClockItem.getId());
- }
- }
- //新增其对应的单个机器的数据
- addItemList(oldAlarmClock);
- //旧类型通知
- sentMessageToEquiment(oldAlarmClockType,oldEquipmentIds,oldAlarmClock.getAdminId());
- //新类型通知
- sentMessageToEquiment(alarmClock.getType(),alarmClock.getEquipmentIds(),alarmClock.getAdminId());
- }else{
- //没有修改了类型 判断机器有没有做改变
- String oldEquipmentIds = oldAlarmClock.getEquipmentIds();
- String nowEquipmentIds = alarmClock.getEquipmentIds()+",";
- Boolean b = changIds(oldEquipmentIds,nowEquipmentIds);
- //b=true 机器改变 b=false 机器没有改变
- if(b){
- //b=true 机器改变
- //修改t_alarm_clock的机器ids及删除其对应的单个机器的数据,再重新创建。要把改变前和改变后的机器都通知一遍
- //修改类型t_alarm_clock的机器ids
- oldAlarmClock.setStatus(alarmClock.getStatus());
- oldAlarmClock.setEquipmentIds(oldAlarmClock.getEquipmentIds());
- oldAlarmClock.setModifyDate(new Date());
- oldAlarmClock.setHour(alarmClock.getHour()+":00");
- oldAlarmClock.setWeek(alarmClock.getWeek()+",");
- tAlarmClockService.updateById(oldAlarmClock);
- //删除其对应的单个机器的数据
- LambdaQueryWrapper<TAlarmClockItem> query = Wrappers.lambdaQuery();
- query.eq(TAlarmClockItem::getClockId,oldAlarmClock.getId());
- List<TAlarmClockItem> list = tAlarmClockItemService.list(query);
- if(list.size()>0){
- for(TAlarmClockItem tAlarmClockItem:list){
- tAlarmClockItemService.removeById(tAlarmClockItem.getId());
- }
- }
- //新增其对应的单个机器的数据
- addItemList(oldAlarmClock);
- //旧机器通知
- sentMessageToEquiment(alarmClock.getType(),oldEquipmentIds,oldAlarmClock.getAdminId());
- //新机器通知
- sentMessageToEquiment(alarmClock.getType(),nowEquipmentIds,alarmClock.getAdminId());
- }else{
- //b=false 机器没有改变 修改了状态 没有修改了类型
- //判断星期有没有改变
- Boolean aBoolean = changIds(oldAlarmClock.getWeek(), alarmClock.getWeek()+",");
- if(aBoolean){
- //week星期有改变
- //修改t_alarm_clock的机器week及删除其对应的单个机器的数据,再重新创建。要把机器通知一遍
- oldAlarmClock.setStatus(alarmClock.getStatus());
- oldAlarmClock.setModifyDate(new Date());
- oldAlarmClock.setHour(alarmClock.getHour()+":00");
- oldAlarmClock.setWeek(alarmClock.getWeek()+",");
- tAlarmClockService.updateById(oldAlarmClock);
- //删除其对应的单个机器的数据
- // TAlarmClockItemExample itemExample = new TAlarmClockItemExample();
- // TAlarmClockItemExample.Criteria criteria = itemExample.createCriteria();
- // criteria.andClockIdEqualTo(oldAlarmClock.getId());
- // tAlarmClockItemService.deleteByOption(itemExample);
- LambdaQueryWrapper<TAlarmClockItem> query = Wrappers.lambdaQuery();
- query.eq(TAlarmClockItem::getClockId,oldAlarmClock.getId());
- List<TAlarmClockItem> list = tAlarmClockItemService.list(query);
- if(list.size()>0){
- for(TAlarmClockItem tAlarmClockItem:list){
- tAlarmClockItemService.removeById(tAlarmClockItem.getId());
- }
- }
- //新增其对应的单个机器的数据
- addItemList(oldAlarmClock);
- //机器通知
- sentMessageToEquiment(alarmClock.getType(),oldEquipmentIds,oldAlarmClock.getAdminId());
- }else {
- //week星期没有改变 修改了状态 没有修改了类型
- //判断时间有没有改变
- if(!oldAlarmClock.getHour().equals(alarmClock.getHour()+":00")){
- //有改变
- //修改t_alarm_clock的机器hour及删除其对应的单个机器的数据,再重新创建。要把机器通知一遍
- oldAlarmClock.setStatus(alarmClock.getStatus());
- oldAlarmClock.setModifyDate(new Date());
- oldAlarmClock.setHour(alarmClock.getHour()+":00");
- tAlarmClockService.updateById(oldAlarmClock);
- //删除其对应的单个机器的数据
- // TAlarmClockItemExample itemExample = new TAlarmClockItemExample();
- // TAlarmClockItemExample.Criteria criteria = itemExample.createCriteria();
- // criteria.andClockIdEqualTo(oldAlarmClock.getId());
- // tAlarmClockItemService.deleteByOption(itemExample);
- LambdaQueryWrapper<TAlarmClockItem> query = Wrappers.lambdaQuery();
- query.eq(TAlarmClockItem::getClockId,oldAlarmClock.getId());
- List<TAlarmClockItem> list = tAlarmClockItemService.list(query);
- if(list.size()>0){
- for(TAlarmClockItem tAlarmClockItem:list){
- tAlarmClockItemService.removeById(tAlarmClockItem.getId());
- }
- }
- //新增其对应的单个机器的数据
- addItemList(oldAlarmClock);
- //机器通知
- sentMessageToEquiment(alarmClock.getType(),oldEquipmentIds,oldAlarmClock.getAdminId());
- }else{
- //没改变
- oldAlarmClock.setStatus(alarmClock.getStatus());
- oldAlarmClock.setModifyDate(new Date());
- tAlarmClockService.updateById(oldAlarmClock);
- //删除其对应的单个机器的数据
- // TAlarmClockItemExample itemExample = new TAlarmClockItemExample();
- // TAlarmClockItemExample.Criteria criteria = itemExample.createCriteria();
- // criteria.andClockIdEqualTo(oldAlarmClock.getId());
- // tAlarmClockItemService.deleteByOption(itemExample);
- LambdaQueryWrapper<TAlarmClockItem> query = Wrappers.lambdaQuery();
- query.eq(TAlarmClockItem::getClockId,oldAlarmClock.getId());
- List<TAlarmClockItem> list = tAlarmClockItemService.list(query);
- if(list.size()>0){
- for(TAlarmClockItem tAlarmClockItem:list){
- tAlarmClockItemService.removeById(tAlarmClockItem.getId());
- }
- }
- //新增其对应的单个机器的数据
- addItemList(oldAlarmClock);
- //机器通知
- sentMessageToEquiment(alarmClock.getType(),oldEquipmentIds,oldAlarmClock.getAdminId());
- }
- }
- }
- }
- }else{
- //没有修改状态
- //是否改变了闹钟的类型
- if(!oldAlarmClock.getType().equals(alarmClock.getType())){
- //修改了类型
- //1,修改原有类型的闹钟及删除其对应的单个机器的数据,再重新创建。要把改变前和改变后的机器都通知一遍,要注意分类型推送
- //修改类型
- oldAlarmClock.setStatus(alarmClock.getStatus());
- String oldAlarmClockType = oldAlarmClock.getType();
- oldAlarmClock.setType(alarmClock.getType());
- String oldEquipmentIds = oldAlarmClock.getEquipmentIds();
- oldAlarmClock.setEquipmentIds(alarmClock.getEquipmentIds()+",");
- oldAlarmClock.setModifyDate(new Date());
- oldAlarmClock.setHour(alarmClock.getHour()+":00");
- oldAlarmClock.setWeek(alarmClock.getWeek()+",");
- tAlarmClockService.updateById(oldAlarmClock);
- //删除其对应的单个机器的数据
- // TAlarmClockItemExample itemExample = new TAlarmClockItemExample();
- // TAlarmClockItemExample.Criteria criteria = itemExample.createCriteria();
- // criteria.andClockIdEqualTo(oldAlarmClock.getId());
- // tAlarmClockItemService.deleteByOption(itemExample);
- LambdaQueryWrapper<TAlarmClockItem> query = Wrappers.lambdaQuery();
- query.eq(TAlarmClockItem::getClockId,oldAlarmClock.getId());
- List<TAlarmClockItem> list = tAlarmClockItemService.list(query);
- if(list.size()>0){
- for(TAlarmClockItem tAlarmClockItem:list){
- tAlarmClockItemService.removeById(tAlarmClockItem.getId());
- }
- }
- //新增其对应的单个机器的数据
- addItemList(oldAlarmClock);
- //旧类型通知
- sentMessageToEquiment(oldAlarmClockType,oldEquipmentIds,oldAlarmClock.getAdminId());
- //新类型通知
- sentMessageToEquiment(alarmClock.getType(),alarmClock.getEquipmentIds(),alarmClock.getAdminId());
- }else{
- //没有修改类型 判断机器有没有做改变
- String oldEquipmentIds = oldAlarmClock.getEquipmentIds();
- String nowEquipmentIds = alarmClock.getEquipmentIds()+",";
- Boolean b = changIds(oldEquipmentIds,nowEquipmentIds);
- //b=true 机器改变 b=false 机器没有改变
- if(b){
- //b=true 机器改变
- //修改t_alarm_clock的机器ids及删除其对应的单个机器的数据,再重新创建。要把改变前和改变后的机器都通知一遍
- //修改类型t_alarm_clock的机器ids
- oldAlarmClock.setEquipmentIds(alarmClock.getEquipmentIds()+",");
- oldAlarmClock.setModifyDate(new Date());
- oldAlarmClock.setHour(alarmClock.getHour()+":00");
- oldAlarmClock.setWeek(alarmClock.getWeek()+",");
- tAlarmClockService.updateById(oldAlarmClock);
- //删除其对应的单个机器的数据
- // TAlarmClockItemExample itemExample = new TAlarmClockItemExample();
- // TAlarmClockItemExample.Criteria criteria = itemExample.createCriteria();
- // criteria.andClockIdEqualTo(oldAlarmClock.getId());
- // tAlarmClockItemService.deleteByOption(itemExample);
- LambdaQueryWrapper<TAlarmClockItem> query = Wrappers.lambdaQuery();
- query.eq(TAlarmClockItem::getClockId,oldAlarmClock.getId());
- List<TAlarmClockItem> list = tAlarmClockItemService.list(query);
- if(list.size()>0){
- for(TAlarmClockItem tAlarmClockItem:list){
- tAlarmClockItemService.removeById(tAlarmClockItem.getId());
- }
- }
- //新增其对应的单个机器的数据
- addItemList(oldAlarmClock);
- //旧机器通知
- sentMessageToEquiment(alarmClock.getType(),oldEquipmentIds,oldAlarmClock.getAdminId());
- //新机器通知
- sentMessageToEquiment(alarmClock.getType(),nowEquipmentIds,alarmClock.getAdminId());
- }else{
- //b=false 机器没有改变 没有修改状态 没有修改类型
- //判断星期有没有改变
- Boolean aBoolean = changIds(oldAlarmClock.getWeek(), alarmClock.getWeek()+",");
- if(aBoolean){
- //week星期有改变
- //修改t_alarm_clock的机器week及删除其对应的单个机器的数据,再重新创建。要把机器通知一遍
- oldAlarmClock.setStatus(alarmClock.getStatus());
- oldAlarmClock.setModifyDate(new Date());
- oldAlarmClock.setHour(alarmClock.getHour()+":00");
- oldAlarmClock.setWeek(alarmClock.getWeek()+",");
- tAlarmClockService.updateById(oldAlarmClock);
- //删除其对应的单个机器的数据
- // TAlarmClockItemExample itemExample = new TAlarmClockItemExample();
- // TAlarmClockItemExample.Criteria criteria = itemExample.createCriteria();
- // criteria.andClockIdEqualTo(oldAlarmClock.getId());
- // tAlarmClockItemService.deleteByOption(itemExample);
- LambdaQueryWrapper<TAlarmClockItem> query = Wrappers.lambdaQuery();
- query.eq(TAlarmClockItem::getClockId,oldAlarmClock.getId());
- List<TAlarmClockItem> list = tAlarmClockItemService.list(query);
- if(list.size()>0){
- for(TAlarmClockItem tAlarmClockItem:list){
- tAlarmClockItemService.removeById(tAlarmClockItem.getId());
- }
- }
- //新增其对应的单个机器的数据
- addItemList(oldAlarmClock);
- //机器通知
- sentMessageToEquiment(alarmClock.getType(),oldEquipmentIds,oldAlarmClock.getAdminId());
- }else {
- //week星期没有改变 修改了状态 没有修改了类型
- //判断时间有没有改变
- if(!oldAlarmClock.getHour().equals(alarmClock.getHour()+":00")){
- //有改变
- //修改t_alarm_clock的机器hour及删除其对应的单个机器的数据,再重新创建。要把机器通知一遍
- oldAlarmClock.setStatus(alarmClock.getStatus());
- oldAlarmClock.setModifyDate(new Date());
- oldAlarmClock.setHour(alarmClock.getHour()+":00");
- tAlarmClockService.updateById(oldAlarmClock);
- //删除其对应的单个机器的数据
- // TAlarmClockItemExample itemExample = new TAlarmClockItemExample();
- // TAlarmClockItemExample.Criteria criteria = itemExample.createCriteria();
- // criteria.andClockIdEqualTo(oldAlarmClock.getId());
- // tAlarmClockItemService.deleteByOption(itemExample);
- LambdaQueryWrapper<TAlarmClockItem> query = Wrappers.lambdaQuery();
- query.eq(TAlarmClockItem::getClockId,oldAlarmClock.getId());
- List<TAlarmClockItem> list = tAlarmClockItemService.list(query);
- if(list.size()>0){
- for(TAlarmClockItem tAlarmClockItem:list){
- tAlarmClockItemService.removeById(tAlarmClockItem.getId());
- }
- }
- //新增其对应的单个机器的数据
- addItemList(oldAlarmClock);
- //机器通知
- sentMessageToEquiment(alarmClock.getType(),oldEquipmentIds,oldAlarmClock.getAdminId());
- }
- }
- }
- }
- }
- return ResponseEntity.status(HttpStatus.OK)
- .body(new ResultMessage().setCode(true).setData(null).setMessage("SUCCESS"));
- }
- //机器及星期是否改变
- private Boolean changIds(String oldEquipmentIds, String nowEquipmentIds) {
- Boolean b = true;
- String[] olds = oldEquipmentIds.split(",");
- Long[] a = new Long[olds.length];
- for(int i=0;i<olds.length;i++){
- a[i] = Long.valueOf(olds[i]);
- }
- Arrays.sort(a);
- StringBuffer old = new StringBuffer();
- for(int i=0;i<a.length;i++){
- old.append(a[i]+",");
- }
- String[] newIds = nowEquipmentIds.split(",");
- Long[] c = new Long[newIds.length];
- for(int i=0;i<newIds.length;i++){
- c[i] = Long.valueOf(newIds[i]);
- }
- Arrays.sort(c);
- StringBuffer now = new StringBuffer();
- for(int i=0;i<c.length;i++){
- now.append(c[i]+",");
- }
- if(old.toString().equals(now.toString())){
- b=false;
- }
- return b;
- }
- @ApiOperation(value = "删除闹钟")
- @PostMapping("/delete")
- public ResponseModel<?> delete(@RequestBody TAlarmClock alarmClock){
- if(alarmClock.getId()==null){
- return R.fail(ResponseCodesEnum.A0001);
- }
- LambdaQueryWrapper<TAlarmClockItem> query = Wrappers.lambdaQuery();
- query.eq(TAlarmClockItem::getClockId,alarmClock.getId());
- List<TAlarmClockItem> list = tAlarmClockItemService.list(query);
- if(!list.isEmpty()){
- for(TAlarmClockItem tAlarmClockItem:list){
- tAlarmClockItemService.removeById(tAlarmClockItem.getId());
- }
- }
- tAlarmClockService.removeById(alarmClock.getId());
- return R.ok();
- }
- // 添加对应单个机器的列表
- private void addItemList(TAlarmClock alarmClock) {
- Long alarmClockItemId = alarmClock.getId();
- String equipmentIds = alarmClock.getEquipmentIds();
- String[] eids = equipmentIds.split(",");
- for (int i = 0;i < eids.length;i++){
- TAlarmClockItem alarmClockItem = new TAlarmClockItem();
- alarmClockItem.setAdminId(alarmClock.getAdminId());
- alarmClockItem.setEquipmentId(Long.valueOf(eids[i]));
- alarmClockItem.setClockId(alarmClockItemId);
- alarmClockItem.setHour(alarmClock.getHour());
- alarmClockItem.setWeek(alarmClock.getWeek());
- alarmClockItem.setStatus(alarmClock.getStatus());
- alarmClockItem.setType(alarmClock.getType());
- alarmClockItem.setModifyDate(new Date());
- alarmClockItem.setCreateDate(new Date());
- tAlarmClockItemService.save(alarmClockItem);
- }
- }
- // type 0:炉头开启,1:炉头关闭,2:开始休眠,3:结束休眠
- private void sentMessageToEquiment(String type,String ids,Long adminId) {
- String[] eids = ids.split(",");
- if(eids.length>0){
- for (int i = 0;i < eids.length;i++){
- TEquipment equipment = tEquipmentService.getById(Long.valueOf(eids[i]));
- LambdaQueryWrapper<TAlarmClockItem> query = Wrappers.lambdaQuery();
- query.eq(TAlarmClockItem::getEquipmentId,Long.valueOf(eids[i]));
- query.eq(TAlarmClockItem::getType,type);
- query.eq(TAlarmClockItem::getAdminId,adminId);
- query.eq(TAlarmClockItem::getStatus,"1");
- List<TAlarmClockItem> tAlarmClockItems = tAlarmClockItemService.list(query);
- JSONObject kindData = new JSONObject();
- kindData.put("type" ,type);
- List<String> list = new ArrayList<>();
- if(tAlarmClockItems.size()>0){
- for(TAlarmClockItem alarmClockItem:tAlarmClockItems){
- list.add(alarmClockItem.getWeek()+":"+alarmClockItem.getHour());
- }
- }
- kindData.put("data" , list);
- tEquipmentService.sentMessage(equipment.getClientId(),PushUtils.buildJson("alarmClock", kindData.toString()).toString());
- }
- }
- }
- }
|