李天标 3 years ago
parent
commit
2ffc925b72
23 changed files with 1301 additions and 24 deletions
  1. 539 0
      src/main/java/com/szwl/controller/TAlarmClockController.java
  2. 24 0
      src/main/java/com/szwl/controller/TAlarmClockItemController.java
  3. 31 1
      src/main/java/com/szwl/controller/TAlarmRecordController.java
  4. 68 7
      src/main/java/com/szwl/controller/TEquipmentController.java
  5. 36 0
      src/main/java/com/szwl/controller/TProductController.java
  6. 183 0
      src/main/java/com/szwl/controller/TSugarDoController.java
  7. 16 0
      src/main/java/com/szwl/mapper/TAlarmClockItemMapper.java
  8. 16 0
      src/main/java/com/szwl/mapper/TAlarmClockMapper.java
  9. 16 0
      src/main/java/com/szwl/mapper/TSugarDoMapper.java
  10. 26 0
      src/main/java/com/szwl/mapper/xml/TAlarmClockItemMapper.xml
  11. 25 0
      src/main/java/com/szwl/mapper/xml/TAlarmClockMapper.xml
  12. 23 0
      src/main/java/com/szwl/mapper/xml/TSugarDoMapper.xml
  13. 58 0
      src/main/java/com/szwl/model/entity/TAlarmClock.java
  14. 62 0
      src/main/java/com/szwl/model/entity/TAlarmClockItem.java
  15. 52 0
      src/main/java/com/szwl/model/entity/TSugarDo.java
  16. 2 1
      src/main/java/com/szwl/model/query/StatisticsParam.java
  17. 16 0
      src/main/java/com/szwl/service/TAlarmClockItemService.java
  18. 16 0
      src/main/java/com/szwl/service/TAlarmClockService.java
  19. 16 0
      src/main/java/com/szwl/service/TSugarDoService.java
  20. 20 0
      src/main/java/com/szwl/service/impl/TAlarmClockItemServiceImpl.java
  21. 20 0
      src/main/java/com/szwl/service/impl/TAlarmClockServiceImpl.java
  22. 20 0
      src/main/java/com/szwl/service/impl/TSugarDoServiceImpl.java
  23. 16 15
      src/main/resources/bootstrap.yml

+ 539 - 0
src/main/java/com/szwl/controller/TAlarmClockController.java

@@ -0,0 +1,539 @@
+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.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);
+        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());
+        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());
+                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());
+                    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());
+                        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())){
+                            //有改变
+                            //修改t_alarm_clock的机器hour及删除其对应的单个机器的数据,再重新创建。要把机器通知一遍
+                            oldAlarmClock.setStatus(alarmClock.getStatus());
+                            oldAlarmClock.setModifyDate(new Date());
+                            oldAlarmClock.setHour(alarmClock.getHour());
+                            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());
+                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());
+                    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());
+                        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())){
+                            //有改变
+                            //修改t_alarm_clock的机器hour及删除其对应的单个机器的数据,再重新创建。要把机器通知一遍
+                            oldAlarmClock.setStatus(alarmClock.getStatus());
+                            oldAlarmClock.setModifyDate(new Date());
+                            oldAlarmClock.setHour(alarmClock.getHour());
+                            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(",");
+        int[] a = new int[olds.length];
+        for(int i=0;i<olds.length;i++){
+            a[i] = Integer.parseInt(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(",");
+        int[] c = new int[newIds.length];
+        for(int i=0;i<newIds.length;i++){
+            c[i] = Integer.parseInt(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 ResponseEntity<?> delete(@RequestBody TAlarmClock alarmClock){
+        if(alarmClock.getId()==null){
+            return ResponseEntity.status(HttpStatus.OK)
+                    .body(new ResultMessage().setCode(false).setData(null).setMessage("数据为空"));
+        }
+//        TAlarmClockItemExample example = new TAlarmClockItemExample();
+//        TAlarmClockItemExample.Criteria criteria = example.createCriteria();
+//        criteria.andClockIdEqualTo(alarmClock.getId());
+//        criteria.andAdminIdEqualTo(alarmClock.getAdminId());
+//        Integer integer1 = tAlarmClockItemService.deleteByOption(example);
+//        Integer integer = tAlarmClockService.deleteById(alarmClock.getId());
+
+        LambdaQueryWrapper<TAlarmClockItem> query = Wrappers.lambdaQuery();
+        query.eq(TAlarmClockItem::getClockId,alarmClock.getId());
+        List<TAlarmClockItem> list = tAlarmClockItemService.list(query);
+        if(list.size()>0){
+            for(TAlarmClockItem tAlarmClockItem:list){
+                tAlarmClockItemService.removeById(tAlarmClockItem.getId());
+            }
+            tAlarmClockService.removeById(alarmClock.getId());
+        }
+        sentMessageToEquiment(alarmClock.getType(),alarmClock.getEquipmentIds(),alarmClock.getAdminId());
+        return ResponseEntity.status(HttpStatus.OK)
+                .body(new ResultMessage().setCode(true).setData(null).setMessage("SUCCESS"));
+    }
+    // 添加对应单个机器的列表
+    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.setIsCirculate(alarmClock.getIsCirculate());
+            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]));
+//                TAlarmClockItemExample itemExample = new TAlarmClockItemExample();
+//                TAlarmClockItemExample.Criteria exampleCriteria = itemExample.createCriteria();
+//                exampleCriteria.andEquipmentIdEqualTo(Long.valueOf(eids[i]));
+//                exampleCriteria.andTypeEqualTo(type);
+//                exampleCriteria.andAdminIdEqualTo(adminId);
+//                exampleCriteria.andStatusEqualTo("1");
+//                List<TAlarmClockItem> tAlarmClockItems = tAlarmClockItemService.selectByOption(itemExample);
+                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());
+//					PushUtils.push(equipment.getGtClientId(), "", "", PushUtils.buildJson("alarmClock", kindData.toString()).toString());
+
+            }
+        }
+
+    }
+}
+

+ 24 - 0
src/main/java/com/szwl/controller/TAlarmClockItemController.java

@@ -0,0 +1,24 @@
+package com.szwl.controller;
+
+
+import io.swagger.annotations.Api;
+import org.springframework.web.bind.annotation.RequestMapping;
+
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * <p>
+ * 闹钟列表详情 前端控制器
+ * </p>
+ *
+ * @author wuhs
+ * @since 2022-06-02
+ */
+@Api(value = "/tAlarmClock", tags = {"闹钟详情"})
+
+@RestController
+@RequestMapping("/tAlarmClockItem")
+public class TAlarmClockItemController {
+
+}
+

+ 31 - 1
src/main/java/com/szwl/controller/TAlarmRecordController.java

@@ -1,7 +1,20 @@
 package com.szwl.controller;
 
 
+import cn.com.crbank.ommo.bean.ResultMessage;
+import com.alibaba.fastjson.JSONObject;
+import com.szwl.model.entity.TAlarmRecord;
+import com.szwl.model.entity.TEquipment;
+import com.szwl.model.utils.PushUtils;
+import com.szwl.service.TAlarmRecordService;
+import com.szwl.service.TEquipmentService;
 import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.http.HttpStatus;
+import org.springframework.http.ResponseEntity;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
 
 import org.springframework.web.bind.annotation.RestController;
@@ -19,6 +32,23 @@ import org.springframework.web.bind.annotation.RestController;
 @RestController
 @RequestMapping("/tAlarmRecord")
 public class TAlarmRecordController {
-
+    @Autowired
+    TEquipmentService tEquipmentService;
+    @Autowired
+    TAlarmRecordService tAlarmRecordService;
+    @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());
+        equipment.getGtClientId();
+        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("已发送"));
+    }
 }
 

+ 68 - 7
src/main/java/com/szwl/controller/TEquipmentController.java

@@ -110,7 +110,48 @@ public class TEquipmentController {
         }
         Page<TEquipment> page = new Page<>(current, size, true);
         IPage<TEquipment> iPage = tEquipmentService.page(page, query);
-        return R.ok(iPage);
+        Page<TEquipmentDTO> pageDTO = new Page<>(current, size, true);
+        IPage<TEquipmentDTO> iPageDTO = pageDTO;
+        iPageDTO.setCurrent(iPage.getCurrent());
+        iPageDTO.setPages(iPage.getPages());
+        iPageDTO.setSize(iPage.getSize());
+        iPageDTO.setTotal(iPage.getTotal());
+        List<TEquipment> list = iPage.getRecords();
+        List<TEquipmentDTO> 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);
+            Date date_start=calendar.getTime();
+            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_end=calendar_end.getTime();
+            LambdaQueryWrapper<TAlarmRecord> query1 = Wrappers.lambdaQuery();
+            query1.eq(TAlarmRecord::getEquipmentId,equipmentDTO.getId());
+            query1.gt(TAlarmRecord::getOccurrenceTime,date_start);
+            query1.le(TAlarmRecord::getOccurrenceTime,date_start);
+            List<TAlarmRecord> alarmRecordList = tAlarmRecordService.list(query1);
+            if(alarmRecordList.size()>0){
+                equipmentDTO.setHasTodayAlarm(true);
+                equipmentDTO.setAlarmList(alarmRecordList);
+            }else {
+                equipmentDTO.setHasTodayAlarm(false);
+            }
+        }
+        iPageDTO.setRecords(equipmentDTOList);
+        return R.ok(iPageDTO);
 
     }
     @ApiOperation(value = "id查找机器详情")
@@ -228,7 +269,7 @@ public class TEquipmentController {
 
         return R.ok();
     }
-    @ApiOperation(value = "查找机器列表")
+    @ApiOperation(value = "查找机器")
     @PostMapping("/getEquipmentListByUser")
     public ResponseEntity<?> getEquipmentListByUser(@RequestBody TAdmin param) {
 
@@ -336,7 +377,7 @@ public class TEquipmentController {
                 .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());
@@ -350,8 +391,8 @@ public class TEquipmentController {
         return ResponseEntity.status(HttpStatus.OK)
                 .body(new ResultMessage().setCode(true).setData("0").setMessage("已发送"));
     }
-    @ApiOperation(value = "修改机器")
-    @PostMapping("/updateName")
+    @ApiOperation(value = "修改机器音量")
+    @PostMapping("/updateVolume")
     public ResponseEntity<?> updateName(@RequestBody TEquipment equipment) {
         Boolean t = tEquipmentService.updateById(equipment);
         if (t == true) {
@@ -598,7 +639,7 @@ public class TEquipmentController {
 //			return ERROR_MESSAGE;
         }
         String eqeStatus = "0";
-        String code = param.getAdminId();
+        String code = param.getEqeStatus();
         if (code.equals("1")) {
             eqeStatus = "1";
             equipment.setIsSleep(true);
@@ -715,7 +756,7 @@ public class TEquipmentController {
 //			return ERROR_MESSAGE;
         }
         String eqeStatus = "1";
-        String code = param.getAdminId();
+        String code = param.getEqeStatus();
         //开机为1,关机为0
         Integer intcode = Integer.valueOf(code);
         Integer eqeStatus1 = equipment.getEqeStatus();
@@ -1088,6 +1129,26 @@ public class TEquipmentController {
                         .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"));
+    }
 
 }
 

+ 36 - 0
src/main/java/com/szwl/controller/TProductController.java

@@ -1,10 +1,26 @@
 package com.szwl.controller;
 
 
+import cn.com.crbank.ommo.bean.ResultMessage;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.szwl.model.entity.TEquipment;
+import com.szwl.model.entity.TProduct;
+import com.szwl.service.TEquipmentService;
+import com.szwl.service.TProductService;
+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.GetMapping;
 import org.springframework.web.bind.annotation.RequestMapping;
 
 import org.springframework.web.bind.annotation.RestController;
 
+import java.util.List;
+
 /**
  * <p>
  * 商品价格表 前端控制器
@@ -13,9 +29,29 @@ import org.springframework.web.bind.annotation.RestController;
  * @author wuhs
  * @since 2022-04-23
  */
+@Api(value = "/tProduct", tags = {"商品"})
 @RestController
 @RequestMapping("/tProduct")
 public class TProductController {
+    @Autowired
+    TEquipmentService tEquipmentService;
+    @Autowired
+    TProductService tProductService;
+
+    @ApiOperation(value = "查询商品列表信息")
+    @GetMapping("/selectProducts")
+    public ResponseEntity<?> doSugar(String equipmentId){
+        if(StringUtils.isEmpty(equipmentId)){
+            return ResponseEntity.status(HttpStatus.OK)
+                    .body(new ResultMessage().setCode(false).setData(null).setMessage(""));
+        }
+        LambdaQueryWrapper<TProduct> query = Wrappers.lambdaQuery();
+        query.eq(TProduct::getEquipmentId,Long.valueOf(equipmentId));
+        List<TProduct> list = tProductService.list(query);
+        return ResponseEntity.status(HttpStatus.OK)
+                .body(new ResultMessage().setCode(true).setData(list).setMessage("SUCCESS"));
+    }
+
 
 }
 

+ 183 - 0
src/main/java/com/szwl/controller/TSugarDoController.java

@@ -0,0 +1,183 @@
+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.model.entity.TEquipment;
+import com.szwl.model.entity.TSugarDo;
+import com.szwl.model.utils.PushUtils;
+import com.szwl.service.TAdminService;
+import com.szwl.service.TEquipmentService;
+import com.szwl.service.TSugarDoService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.http.HttpStatus;
+import org.springframework.http.ResponseEntity;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+
+import org.springframework.web.bind.annotation.RestController;
+
+import java.text.SimpleDateFormat;
+import java.util.*;
+
+/**
+ * <p>
+ * 远程做糖列表 前端控制器
+ * </p>
+ *
+ * @author wuhs
+ * @since 2022-06-01
+ */
+@Api(value = "/tSugarDo", tags = {"远程做糖"})
+@RestController
+@RequestMapping("/tSugarDo")
+public class TSugarDoController {
+    @Autowired
+    TEquipmentService tEquipmentService;
+    @Autowired
+    TAdminService tAdminService;
+    @Autowired
+    TSugarDoService tSugarDoService;
+    @ApiOperation(value = "远程做糖")
+    @GetMapping("/doSugar")
+    public ResponseEntity<?> doSugar(Long equipmentId,String productName){
+
+        if(equipmentId!=null){
+            TEquipment equipment = tEquipmentService.getById(equipmentId);
+            Long equipmentAdminId = equipment.getAdminId();
+                //判断本日是否已做十个糖
+//                TSugarDoExample sugarDoExample = new TSugarDoExample();
+//                TSugarDoExample.Criteria criteria = sugarDoExample.createCriteria();
+//                criteria.andAdminIdEqualTo(String.valueOf(adminId));
+//                criteria.andClientIdEqualTo(equipment.getClientId());
+                LambdaQueryWrapper<TSugarDo> query = Wrappers.lambdaQuery();
+                query.eq(TSugarDo::getAdminId,Long.valueOf(equipmentAdminId));
+
+
+                Calendar todayStart = Calendar.getInstance();
+                todayStart.set(Calendar.HOUR_OF_DAY, 0);
+                todayStart.set(Calendar.MINUTE, 0);
+                todayStart.set(Calendar.SECOND, 0);
+                query.gt(TSugarDo::getCreateDate,todayStart.getTime());
+//                criteria.andCreateDateGreaterThanOrEqualTo(todayStart.getTime());
+                Calendar todayEnd = Calendar.getInstance();
+                todayEnd.set(Calendar.HOUR_OF_DAY, 23);
+                todayEnd.set(Calendar.MINUTE, 59);
+                todayEnd.set(Calendar.SECOND, 59);
+//                criteria.andCreateDateLessThanOrEqualTo(todayEnd.getTime());
+                query.le(TSugarDo::getCreateDate,todayEnd.getTime());
+                query.eq(TSugarDo::getStatus,"1");
+//                criteria.andStatusEqualTo("1");
+//                List<TSugarDo> sugarDoList = tSugarDoService.selectByOption(sugarDoExample);
+                List<TSugarDo> sugarDoList = tSugarDoService.list(query);
+                if(sugarDoList.size()>20){
+                    return ResponseEntity.status(HttpStatus.OK)
+                            .body(new ResultMessage().setCode(false).setData("").setMessage("做糖数量已满"));
+                }
+                StringBuilder number = new StringBuilder();
+                Random random = new Random();
+                number.append(String.valueOf(equipmentAdminId)).append("-");
+                for (int i = 0; i < 6; i++) {
+                    number.append(String.valueOf(random.nextInt(10)));
+                }
+                TSugarDo sugarDo = new TSugarDo();
+                sugarDo.setAdminId(equipmentAdminId);
+                sugarDo.setClientId(equipment.getClientId());
+                sugarDo.setStatus("0");
+                sugarDo.setNo(number.toString());
+                sugarDo.setProductName(productName);
+                Date date = new Date();
+                sugarDo.setCreateDate(date);
+                sugarDo.setModifyDate(date);
+                tSugarDoService.save(sugarDo);
+                JSONObject kindData = new JSONObject();
+                kindData.put("productName" , productName);
+                kindData.put("no" , sugarDo.getNo());
+                tEquipmentService.sentMessage(equipment.getClientId(), PushUtils.buildJson("dosugar", kindData.toString()).toString());
+//				PushUtils.push(equipment.getGtClientId(), "", "", PushUtils.buildJson("dosugar", kindData.toString()).toString());
+                return ResponseEntity.status(HttpStatus.OK)
+                        .body(new ResultMessage().setCode(true).setData(sugarDo).setMessage("SUCCESS"));
+        }
+        return ResponseEntity.status(HttpStatus.OK)
+                .body(new ResultMessage().setCode(false).setData("").setMessage("ERROR"));
+    }
+    @ApiOperation(value = "查询远程做糖状态")
+    @GetMapping("/selectSugarStatus")
+    public ResponseEntity<?> selectSugarStatus(String no){
+        LambdaQueryWrapper<TSugarDo> query = Wrappers.lambdaQuery();
+        query.eq(TSugarDo::getNo,no);
+        List<TSugarDo> tSugarDos = tSugarDoService.list(query);
+        if(tSugarDos.size()==0){
+            return ResponseEntity.status(HttpStatus.OK)
+                    .body(new ResultMessage().setCode(false).setData("").setMessage("ERROR"));
+        }
+        TSugarDo sugarDo = tSugarDos.get(tSugarDos.size()-1);
+        if(sugarDo.getId()!=null){
+            String status = sugarDo.getStatus();
+            if(status.equals("0")){
+                return ResponseEntity.status(HttpStatus.OK)
+                        .body(new ResultMessage().setCode(false).setData("0").setMessage("机器未上传数据"));
+            }
+            if(status.equals("1")){
+                return ResponseEntity.status(HttpStatus.OK)
+                        .body(new ResultMessage().setCode(true).setData("").setMessage("机器已接收到做糖指令:"+sugarDo.getProductName()));
+            }
+            if(status.equals("2")){
+                return ResponseEntity.status(HttpStatus.OK)
+                        .body(new ResultMessage().setCode(false).setData("").setMessage("机器异常无法做糖:"+sugarDo.getNote()));
+            }
+        }else {
+            return ResponseEntity.status(HttpStatus.OK)
+                    .body(new ResultMessage().setCode(false).setData("").setMessage("网络异常"));
+        }
+        return ResponseEntity.status(HttpStatus.OK)
+                .body(new ResultMessage().setCode(true).setData("").setMessage("ERROR"));
+    }
+    @ApiOperation(value = "今日做糖列表")
+    @GetMapping("/selectSugarList")
+    public ResponseEntity<?> selectSugarList(String adminId){
+        LambdaQueryWrapper<TSugarDo> query = Wrappers.lambdaQuery();
+        query.eq(TSugarDo::getAdminId,adminId);
+
+        Calendar todayStart = Calendar.getInstance();
+        todayStart.set(Calendar.HOUR_OF_DAY, 0);
+        todayStart.set(Calendar.MINUTE, 0);
+        todayStart.set(Calendar.SECOND, 0);
+//        criteria.andCreateDateGreaterThanOrEqualTo(todayStart.getTime());
+        Calendar todayEnd = Calendar.getInstance();
+        todayEnd.set(Calendar.HOUR_OF_DAY, 23);
+        todayEnd.set(Calendar.MINUTE, 59);
+        todayEnd.set(Calendar.SECOND, 59);
+//        criteria.andCreateDateLessThanOrEqualTo(todayEnd.getTime());
+        query.gt(TSugarDo::getCreateDate,todayStart.getTime());
+        query.le(TSugarDo::getCreateDate,todayEnd.getTime());
+        query.eq(TSugarDo::getStatus,"1");
+//        criteria.andStatusEqualTo("1");
+        List<TSugarDo> sugarDoList = tSugarDoService.list(query);
+        List<TSugarDo> sugarDos = new ArrayList<>();
+        for(TSugarDo sugarDo:sugarDoList){
+            Date modifyDate = sugarDo.getModifyDate();
+            SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+            String format = simpleDateFormat.format(modifyDate);
+            String[] split = format.split(" ");
+            String s = split[1];
+            if(sugarDo.getStatus().equals("1")){
+                sugarDo.setProductName("商品:"+sugarDo.getProductName()+" 时间:"+s+" 已做糖 "+" 设备:"+sugarDo.getClientId().substring(sugarDo.getClientId().length()-6,sugarDo.getClientId().length()));
+                sugarDos.add(sugarDo);
+
+            }
+            if(sugarDo.getStatus().equals("2")){
+                sugarDo.setProductName("商品:"+sugarDo.getProductName()+" 时间:"+s+ " 异常:"+sugarDo.getNote()+" 设备:"+sugarDo.getClientId().substring(sugarDo.getClientId().length()-6,sugarDo.getClientId().length()));
+                sugarDos.add(sugarDo);
+
+            }
+        }
+        return ResponseEntity.status(HttpStatus.OK)
+                .body(new ResultMessage().setCode(true).setData(sugarDos).setMessage("SUCCESS"));
+    }
+}
+

+ 16 - 0
src/main/java/com/szwl/mapper/TAlarmClockItemMapper.java

@@ -0,0 +1,16 @@
+package com.szwl.mapper;
+
+import com.szwl.model.entity.TAlarmClockItem;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * <p>
+ * 闹钟列表详情 Mapper 接口
+ * </p>
+ *
+ * @author wuhs
+ * @since 2022-06-02
+ */
+public interface TAlarmClockItemMapper extends BaseMapper<TAlarmClockItem> {
+
+}

+ 16 - 0
src/main/java/com/szwl/mapper/TAlarmClockMapper.java

@@ -0,0 +1,16 @@
+package com.szwl.mapper;
+
+import com.szwl.model.entity.TAlarmClock;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * <p>
+ * 闹钟列表 Mapper 接口
+ * </p>
+ *
+ * @author wuhs
+ * @since 2022-06-02
+ */
+public interface TAlarmClockMapper extends BaseMapper<TAlarmClock> {
+
+}

+ 16 - 0
src/main/java/com/szwl/mapper/TSugarDoMapper.java

@@ -0,0 +1,16 @@
+package com.szwl.mapper;
+
+import com.szwl.model.entity.TSugarDo;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * <p>
+ * 远程做糖列表 Mapper 接口
+ * </p>
+ *
+ * @author wuhs
+ * @since 2022-06-01
+ */
+public interface TSugarDoMapper extends BaseMapper<TSugarDo> {
+
+}

+ 26 - 0
src/main/java/com/szwl/mapper/xml/TAlarmClockItemMapper.xml

@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.szwl.mapper.TAlarmClockItemMapper">
+
+    <!-- 通用查询映射结果 -->
+    <resultMap id="BaseResultMap" type="com.szwl.model.entity.TAlarmClockItem">
+        <id column="id" property="id" />
+        <result column="create_date" property="createDate" />
+        <result column="modify_date" property="modifyDate" />
+        <result column="clock_id" property="clockId" />
+        <result column="admin_id" property="adminId" />
+        <result column="equipment_id" property="equipmentId" />
+        <result column="client_id" property="clientId" />
+        <result column="week" property="week" />
+        <result column="hour" property="hour" />
+        <result column="is_circulate" property="isCirculate" />
+        <result column="type" property="type" />
+        <result column="status" property="status" />
+    </resultMap>
+
+    <!-- 通用查询结果列 -->
+    <sql id="Base_Column_List">
+        id, create_date, modify_date, clock_id, admin_id, equipment_id, client_id, week, hour, is_circulate, type, status
+    </sql>
+
+</mapper>

+ 25 - 0
src/main/java/com/szwl/mapper/xml/TAlarmClockMapper.xml

@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.szwl.mapper.TAlarmClockMapper">
+
+    <!-- 通用查询映射结果 -->
+    <resultMap id="BaseResultMap" type="com.szwl.model.entity.TAlarmClock">
+        <id column="id" property="id" />
+        <result column="create_date" property="createDate" />
+        <result column="modify_date" property="modifyDate" />
+        <result column="name" property="name" />
+        <result column="admin_id" property="adminId" />
+        <result column="equipment_ids" property="equipmentIds" />
+        <result column="week" property="week" />
+        <result column="hour" property="hour" />
+        <result column="is_circulate" property="isCirculate" />
+        <result column="type" property="type" />
+        <result column="status" property="status" />
+    </resultMap>
+
+    <!-- 通用查询结果列 -->
+    <sql id="Base_Column_List">
+        id, create_date, modify_date, name, admin_id, equipment_ids, week, hour, is_circulate, type, status
+    </sql>
+
+</mapper>

+ 23 - 0
src/main/java/com/szwl/mapper/xml/TSugarDoMapper.xml

@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.szwl.mapper.TSugarDoMapper">
+
+    <!-- 通用查询映射结果 -->
+    <resultMap id="BaseResultMap" type="com.szwl.model.entity.TSugarDo">
+        <id column="id" property="id" />
+        <result column="create_date" property="createDate" />
+        <result column="modify_date" property="modifyDate" />
+        <result column="admin_id" property="adminId" />
+        <result column="client_id" property="clientId" />
+        <result column="no" property="no" />
+        <result column="status" property="status" />
+        <result column="product_name" property="productName" />
+        <result column="note" property="note" />
+    </resultMap>
+
+    <!-- 通用查询结果列 -->
+    <sql id="Base_Column_List">
+        id, create_date, modify_date, admin_id, client_id, no, status, product_name, note
+    </sql>
+
+</mapper>

+ 58 - 0
src/main/java/com/szwl/model/entity/TAlarmClock.java

@@ -0,0 +1,58 @@
+package com.szwl.model.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import java.util.Date;
+import com.baomidou.mybatisplus.annotation.TableId;
+import java.io.Serializable;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+/**
+ * <p>
+ * 闹钟列表
+ * </p>
+ *
+ * @author wuhs
+ * @since 2022-06-02
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@ApiModel(value="TAlarmClock对象", description="闹钟列表")
+public class TAlarmClock implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    @TableId(value = "id", type = IdType.AUTO)
+    private Long id;
+
+    private Date createDate;
+
+    private Date modifyDate;
+
+    @ApiModelProperty(value = "闹钟名称;")
+    private String name;
+
+    private Long adminId;
+
+    @ApiModelProperty(value = "机器id集合;")
+    private String equipmentIds;
+
+    @ApiModelProperty(value = "周;")
+    private String week;
+
+    @ApiModelProperty(value = "小时;")
+    private String hour;
+
+    @ApiModelProperty(value = "0:不循环;1:循环")
+    private String isCirculate;
+
+    @ApiModelProperty(value = "0:炉头开启;1:炉头关闭,2:开始休眠,3:结束休眠")
+    private String type;
+
+    @ApiModelProperty(value = "0:未开启;1:已开启")
+    private String status;
+
+
+}

+ 62 - 0
src/main/java/com/szwl/model/entity/TAlarmClockItem.java

@@ -0,0 +1,62 @@
+package com.szwl.model.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import java.util.Date;
+import com.baomidou.mybatisplus.annotation.TableId;
+import java.io.Serializable;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+/**
+ * <p>
+ * 闹钟列表详情
+ * </p>
+ *
+ * @author wuhs
+ * @since 2022-06-02
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@ApiModel(value="TAlarmClockItem对象", description="闹钟列表详情")
+public class TAlarmClockItem implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    @TableId(value = "id", type = IdType.AUTO)
+    private Long id;
+
+    private Date createDate;
+
+    private Date modifyDate;
+
+    @ApiModelProperty(value = "所属闹钟列表id;")
+    private Long clockId;
+
+    @ApiModelProperty(value = "用户id;")
+    private Long adminId;
+
+    @ApiModelProperty(value = "机器id;")
+    private Long equipmentId;
+
+    @ApiModelProperty(value = "设备编号;")
+    private String clientId;
+
+    @ApiModelProperty(value = "周;")
+    private String week;
+
+    @ApiModelProperty(value = "小时;")
+    private String hour;
+
+    @ApiModelProperty(value = "0:不循环;1:循环")
+    private String isCirculate;
+
+    @ApiModelProperty(value = "0:炉头开启;1:炉头关闭,2:开始休眠,3:结束休眠")
+    private String type;
+
+    @ApiModelProperty(value = "0:未开启;1:已开启")
+    private String status;
+
+
+}

+ 52 - 0
src/main/java/com/szwl/model/entity/TSugarDo.java

@@ -0,0 +1,52 @@
+package com.szwl.model.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import java.util.Date;
+import com.baomidou.mybatisplus.annotation.TableId;
+import java.io.Serializable;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+/**
+ * <p>
+ * 远程做糖列表
+ * </p>
+ *
+ * @author wuhs
+ * @since 2022-06-01
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@ApiModel(value="TSugarDo对象", description="远程做糖列表")
+public class TSugarDo implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    @TableId(value = "id", type = IdType.AUTO)
+    private Long id;
+
+    private Date createDate;
+
+    private Date modifyDate;
+
+    @ApiModelProperty(value = "商家id;")
+    private Long adminId;
+
+    @ApiModelProperty(value = "设备编号;")
+    private String clientId;
+
+    @ApiModelProperty(value = "随机码;")
+    private String no;
+
+    @ApiModelProperty(value = "0未做糖;1:已做糖,2:机器异常未做糖")
+    private String status;
+
+    @ApiModelProperty(value = "商品名称")
+    private String productName;
+
+    private String note;
+
+
+}

+ 2 - 1
src/main/java/com/szwl/model/query/StatisticsParam.java

@@ -21,7 +21,8 @@ public class StatisticsParam {
 
     @ApiModelProperty(value="设备id")
     private String equipmentId;
-
+    @ApiModelProperty(value="开关炉头,开机为1,关机为0")
+    private String eqeStatus;
     @ApiModelProperty(value="代理商id")
     private Long agencyId;
 

+ 16 - 0
src/main/java/com/szwl/service/TAlarmClockItemService.java

@@ -0,0 +1,16 @@
+package com.szwl.service;
+
+import com.szwl.model.entity.TAlarmClockItem;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * <p>
+ * 闹钟列表详情 服务类
+ * </p>
+ *
+ * @author wuhs
+ * @since 2022-06-02
+ */
+public interface TAlarmClockItemService extends IService<TAlarmClockItem> {
+
+}

+ 16 - 0
src/main/java/com/szwl/service/TAlarmClockService.java

@@ -0,0 +1,16 @@
+package com.szwl.service;
+
+import com.szwl.model.entity.TAlarmClock;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * <p>
+ * 闹钟列表 服务类
+ * </p>
+ *
+ * @author wuhs
+ * @since 2022-06-02
+ */
+public interface TAlarmClockService extends IService<TAlarmClock> {
+
+}

+ 16 - 0
src/main/java/com/szwl/service/TSugarDoService.java

@@ -0,0 +1,16 @@
+package com.szwl.service;
+
+import com.szwl.model.entity.TSugarDo;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * <p>
+ * 远程做糖列表 服务类
+ * </p>
+ *
+ * @author wuhs
+ * @since 2022-06-01
+ */
+public interface TSugarDoService extends IService<TSugarDo> {
+
+}

+ 20 - 0
src/main/java/com/szwl/service/impl/TAlarmClockItemServiceImpl.java

@@ -0,0 +1,20 @@
+package com.szwl.service.impl;
+
+import com.szwl.model.entity.TAlarmClockItem;
+import com.szwl.mapper.TAlarmClockItemMapper;
+import com.szwl.service.TAlarmClockItemService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ * 闹钟列表详情 服务实现类
+ * </p>
+ *
+ * @author wuhs
+ * @since 2022-06-02
+ */
+@Service
+public class TAlarmClockItemServiceImpl extends ServiceImpl<TAlarmClockItemMapper, TAlarmClockItem> implements TAlarmClockItemService {
+
+}

+ 20 - 0
src/main/java/com/szwl/service/impl/TAlarmClockServiceImpl.java

@@ -0,0 +1,20 @@
+package com.szwl.service.impl;
+
+import com.szwl.model.entity.TAlarmClock;
+import com.szwl.mapper.TAlarmClockMapper;
+import com.szwl.service.TAlarmClockService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ * 闹钟列表 服务实现类
+ * </p>
+ *
+ * @author wuhs
+ * @since 2022-06-02
+ */
+@Service
+public class TAlarmClockServiceImpl extends ServiceImpl<TAlarmClockMapper, TAlarmClock> implements TAlarmClockService {
+
+}

+ 20 - 0
src/main/java/com/szwl/service/impl/TSugarDoServiceImpl.java

@@ -0,0 +1,20 @@
+package com.szwl.service.impl;
+
+import com.szwl.model.entity.TSugarDo;
+import com.szwl.mapper.TSugarDoMapper;
+import com.szwl.service.TSugarDoService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ * 远程做糖列表 服务实现类
+ * </p>
+ *
+ * @author wuhs
+ * @since 2022-06-01
+ */
+@Service
+public class TSugarDoServiceImpl extends ServiceImpl<TSugarDoMapper, TSugarDo> implements TSugarDoService {
+
+}

+ 16 - 15
src/main/resources/bootstrap.yml

@@ -36,21 +36,22 @@ spring:
 #                max-concurrency: 2000
 #                listener.simple.concurrency: 1000
 #                listener.simple.max-concurrency: 2000
-rabbitmq:
-  addresses: 112.74.63.148:5672
-  username: zwlzwlzwl
-  password: 123456
-  virtual-host: /
-  publisher-confirms: true
-  connection-timeout: 5s
-  mandatory: true
-  template.mandatory: true
-  publisher-returns: true
-  cache.channel.size: 1000
-  concurrency: 500
-  max-concurrency: 2000
-  listener.simple.concurrency: 1000
-  listener.simple.max-concurrency: 2000
+#spring:
+  rabbitmq:
+    addresses: 112.74.63.148:5672,120.78.140.173:5672,47.112.127.131:5672
+    username: zwlzwlzwl
+    password: 123456
+    virtual-host: /
+#    publisher-confirms: true
+    connection-timeout: 5s
+    mandatory: true
+    template.mandatory: true
+    publisher-returns: true
+    cache.channel.size: 1000
+    concurrency: 500
+    max-concurrency: 2000
+    listener.simple.concurrency: 1000
+    listener.simple.max-concurrency: 2000
 elasticSearch:
   host: 120.78.140.173
 #elasticSearch.host: 10.0.0.155