diff --git a/ecell-internationalize/ecell-internationalize-system/src/main/java/com/ecell/internationalize/system/annotation/DelImeiLog.java b/ecell-internationalize/ecell-internationalize-system/src/main/java/com/ecell/internationalize/system/annotation/DelImeiLog.java
new file mode 100644
index 0000000..82a6055
--- /dev/null
+++ b/ecell-internationalize/ecell-internationalize-system/src/main/java/com/ecell/internationalize/system/annotation/DelImeiLog.java
@@ -0,0 +1,12 @@
+package com.ecell.internationalize.system.annotation;
+
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+
+@Target({ ElementType.PARAMETER, ElementType.METHOD })
+@Retention(RetentionPolicy.RUNTIME)
+public @interface DelImeiLog {
+ String delType();
+}
diff --git a/ecell-internationalize/ecell-internationalize-system/src/main/java/com/ecell/internationalize/system/controller/DelimeiLogInfoController.java b/ecell-internationalize/ecell-internationalize-system/src/main/java/com/ecell/internationalize/system/controller/DelimeiLogInfoController.java
new file mode 100644
index 0000000..e3ddcb5
--- /dev/null
+++ b/ecell-internationalize/ecell-internationalize-system/src/main/java/com/ecell/internationalize/system/controller/DelimeiLogInfoController.java
@@ -0,0 +1,38 @@
+package com.ecell.internationalize.system.controller;
+import com.ecell.internationalize.common.core.utils.locale.LocaleUtil;
+import com.ecell.internationalize.common.core.web.domain.AjaxResult;
+import com.ecell.internationalize.common.system.constant.FieldConstant;
+import com.ecell.internationalize.system.entity.dto.ImeiLogPageDTO;
+import com.ecell.internationalize.system.service.DelimeiLogInfoService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ *
+ * 前端控制器
+ *
+ *
+ * @author ${author}
+ * @since 2022-07-19
+ */
+@RestController
+@RequestMapping("/delimei-log-info")
+public class DelimeiLogInfoController {
+
+ @Autowired
+ private DelimeiLogInfoService delimeiLogInfoService;
+
+ /**
+ * 分页查询日志
+ * @param dto
+ * @return
+ */
+ @GetMapping("/page/list")
+ public AjaxResult queryPageList(ImeiLogPageDTO dto){
+ return AjaxResult.success(LocaleUtil.getMessage(FieldConstant.MESSAGES_SUCCESS), delimeiLogInfoService.queryByPageList(dto));
+ }
+
+}
+
diff --git a/ecell-internationalize/ecell-internationalize-system/src/main/java/com/ecell/internationalize/system/controller/DeviceAlarmController.java b/ecell-internationalize/ecell-internationalize-system/src/main/java/com/ecell/internationalize/system/controller/DeviceAlarmController.java
new file mode 100644
index 0000000..e76cda4
--- /dev/null
+++ b/ecell-internationalize/ecell-internationalize-system/src/main/java/com/ecell/internationalize/system/controller/DeviceAlarmController.java
@@ -0,0 +1,80 @@
+package com.ecell.internationalize.system.controller;
+
+
+import com.alibaba.fastjson.JSONObject;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.ecell.internationalize.common.core.utils.locale.LocaleUtil;
+import com.ecell.internationalize.common.system.constant.FieldConstant;
+import com.ecell.internationalize.system.entity.dto.ReminderMessageAppDto;
+import com.ecell.internationalize.system.entity.dto.ReminderMessageQueryDto;
+import com.ecell.internationalize.system.service.ReminderMessageAppService;
+import com.ecell.internationalize.system.utils.Rest;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+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;
+
+/**
+ *
+ * 设备报警 前端控制器
+ *
+ *
+ * @author liy
+ * @since 2022-07-11
+ */
+@Api(value="设备报警",tags={"设备报警接口"})
+@RestController
+@RequestMapping("/device_alarm")
+public class DeviceAlarmController {
+ @Autowired
+ private ReminderMessageAppService reminderMessageAppService;
+ /**
+ * 设备报警条件分页查询
+ * @Author liy
+ * @Date 2022/7/12 14:38
+ * @Return AjaxResult
+ */
+ @ApiOperation("条件分页查询设备报警信息")
+ @PostMapping("alarm/list")
+ public Rest> queryAll(@RequestBody ReminderMessageAppDto reminderMessageAppDto){
+ IPage allByPage = reminderMessageAppService.findAllByPage(reminderMessageAppDto);
+ for (ReminderMessageQueryDto reminderMessageQueryDto:allByPage.getRecords()){
+ if ("lowBattery".equals(reminderMessageQueryDto.getType())){
+ JSONObject jsonObject = JSONObject.parseObject(reminderMessageQueryDto.getContext());
+ String battery=jsonObject.get("battery").toString();
+ reminderMessageQueryDto.setAlarmContent(battery+"%");
+
+ }
+ if ("sos".equals(reminderMessageQueryDto.getType())){
+ JSONObject jsonObject = JSONObject.parseObject(reminderMessageQueryDto.getContext());
+ String address=jsonObject.get("address").toString();
+ reminderMessageQueryDto.setAlarmContent(address);
+ }
+ if ("rail".equals(reminderMessageQueryDto.getType())){
+ JSONObject jsonObject = JSONObject.parseObject(reminderMessageQueryDto.getContext());
+ String railName=jsonObject.get("railName").toString();
+ String action=jsonObject.get("action").toString();
+ if ("enter".equals(action)){
+ reminderMessageQueryDto.setAlarmContent("进入"+railName);
+ }else {
+ reminderMessageQueryDto.setAlarmContent("离开"+railName);
+ }
+ }
+ if ("abnormalHeartRate".equals(reminderMessageQueryDto.getType())){
+ JSONObject jsonObject = JSONObject.parseObject(reminderMessageQueryDto.getContext());
+ String msgContent=jsonObject.get("msgContent").toString();
+ reminderMessageQueryDto.setAlarmContent(msgContent);
+ }
+ if ("abnormalBodyTemperature".equals(reminderMessageQueryDto.getType())){
+ JSONObject jsonObject = JSONObject.parseObject(reminderMessageQueryDto.getContext());
+ String msgContent=jsonObject.get("msgContent").toString();
+ reminderMessageQueryDto.setAlarmContent(msgContent);
+ }
+ }
+ return Rest.ok(LocaleUtil.getMessage(FieldConstant.MESSAGES_SUCCESS),allByPage);
+ }
+}
+
diff --git a/ecell-internationalize/ecell-internationalize-system/src/main/java/com/ecell/internationalize/system/entity/DelimeiLogInfo.java b/ecell-internationalize/ecell-internationalize-system/src/main/java/com/ecell/internationalize/system/entity/DelimeiLogInfo.java
new file mode 100644
index 0000000..347f4e3
--- /dev/null
+++ b/ecell-internationalize/ecell-internationalize-system/src/main/java/com/ecell/internationalize/system/entity/DelimeiLogInfo.java
@@ -0,0 +1,59 @@
+package com.ecell.internationalize.system.entity;
+
+import com.baomidou.mybatisplus.annotation.FieldFill;
+import com.baomidou.mybatisplus.annotation.TableField;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ *
+ *
+ *
+ *
+ * @author ${author}
+ * @since 2022-07-19
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@Accessors(chain = true)
+@ApiModel(value="DelimeiLogInfo对象", description="")
+public class DelimeiLogInfo implements Serializable {
+
+private static final long serialVersionUID=1L;
+
+ @ApiModelProperty(value = "id")
+ private String imeiDelId;
+
+ @ApiModelProperty(value = "ip")
+ private String ip;
+
+ @ApiModelProperty(value = "登录账号")
+ private String loginAccount;
+
+ @ApiModelProperty(value = "用户角色")
+ private String userRole;
+
+ @ApiModelProperty(value = "所属公司")
+ private String company;
+
+ @ApiModelProperty(value = "操作描述")
+ private String operationDescribe;
+
+ @ApiModelProperty(value = "是否删除(0.是,1.否 默认为1)")
+ private String delFlag;
+
+ @ApiModelProperty(value = "创建时间")
+ @TableField(value = "create_time",fill = FieldFill.INSERT)
+ private Date createTime;
+
+ @ApiModelProperty(value = "解绑方式")
+ private String unbinding;
+
+
+}
diff --git a/ecell-internationalize/ecell-internationalize-system/src/main/java/com/ecell/internationalize/system/entity/DeviceAlarm.java b/ecell-internationalize/ecell-internationalize-system/src/main/java/com/ecell/internationalize/system/entity/DeviceAlarm.java
new file mode 100644
index 0000000..7bd6492
--- /dev/null
+++ b/ecell-internationalize/ecell-internationalize-system/src/main/java/com/ecell/internationalize/system/entity/DeviceAlarm.java
@@ -0,0 +1,80 @@
+package com.ecell.internationalize.system.entity;
+
+import com.baomidou.mybatisplus.annotation.FieldFill;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+import java.util.Date;
+
+/**
+ *
+ * 设备报警
+ *
+ *
+ * @author liy
+ * @since 2022-07-11
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@Accessors(chain = true)
+@TableName("device_alarm")
+public class DeviceAlarm {
+
+private static final long serialVersionUID=1L;
+
+ /**
+ * 主键Id
+ */
+ @TableId("id")
+ private String id;
+
+ /**
+ * 设备iMei
+ */
+ @TableField("i_mei")
+ private String mei;
+
+ /**
+ * 报警类型(0:SOS报警,1:低电报警,2:体温异常,3:心率异常,4:远程拍照,5.电子围栏)
+ */
+ private String alarmType;
+
+ /**
+ * 姓名
+ */
+ @TableField(exist = false)
+ private String name;
+
+ /**
+ * 报警
+ */
+ private String alarm;
+
+ /**
+ * 创建人
+ */
+ private String createUser;
+ /**
+ * 创建时间
+ */
+ @TableField(value = "create_time",fill = FieldFill.INSERT)
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ private Date createTime;
+ /**
+ * 修改人
+ */
+ private String updateUser;
+ /**
+ * 修改时间
+ */
+ @TableField(value = "update_time",fill = FieldFill.UPDATE)
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ private Date updateTime;
+
+
+}
diff --git a/ecell-internationalize/ecell-internationalize-system/src/main/java/com/ecell/internationalize/system/entity/api/dto/DeviceAlarmApp.java b/ecell-internationalize/ecell-internationalize-system/src/main/java/com/ecell/internationalize/system/entity/api/dto/DeviceAlarmApp.java
new file mode 100644
index 0000000..44481ad
--- /dev/null
+++ b/ecell-internationalize/ecell-internationalize-system/src/main/java/com/ecell/internationalize/system/entity/api/dto/DeviceAlarmApp.java
@@ -0,0 +1,52 @@
+package com.ecell.internationalize.system.entity.api.dto;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ *
+ * 闹钟设置表
+ *
+ *
+ * @author liy
+ * @since 2022-09-07
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@Accessors(chain = true)
+@ApiModel(value="DeviceAlarmApp对象", description="闹钟设置表")
+public class DeviceAlarmApp implements Serializable {
+
+private static final long serialVersionUID=1L;
+
+ @ApiModelProperty(example = "主键Id")
+ private String id;
+
+ @ApiModelProperty(example = "标签")
+ private String tag;
+
+ @ApiModelProperty(example = "响铃时间")
+ private String alarmTime;
+
+ @ApiModelProperty(example = "重复星期数为'0', '1'组成的7位长度字符串, 表示周一至周日是否有效,eg: '0000011'为周六日有效, '1110000'为周一二三有效")
+ private String alarmWeek;
+
+ @ApiModelProperty(example = "是否开启 0关闭,1开启,默认1")
+ private String alarmStatus;
+
+ @ApiModelProperty(example = "设备imei")
+ private String imei;
+
+
+ @ApiModelProperty(example = "新增的时间,后台处理,不用传",hidden = true)
+ private Date createTime;
+ @ApiModelProperty(example = "修改的时间,后台处理,不用传",hidden = true)
+ private Date updateTime;
+
+}
diff --git a/ecell-internationalize/ecell-internationalize-system/src/main/java/com/ecell/internationalize/system/entity/dto/DeviceActivaPageDTO.java b/ecell-internationalize/ecell-internationalize-system/src/main/java/com/ecell/internationalize/system/entity/dto/DeviceActivaPageDTO.java
new file mode 100644
index 0000000..738f1a9
--- /dev/null
+++ b/ecell-internationalize/ecell-internationalize-system/src/main/java/com/ecell/internationalize/system/entity/dto/DeviceActivaPageDTO.java
@@ -0,0 +1,43 @@
+package com.ecell.internationalize.system.entity.dto;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+@ApiModel(value="DeviceActivaPageDTO对象", description="查询设备激活条件对象")
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+public class DeviceActivaPageDTO {
+
+ @ApiModelProperty(value = "生产批次")
+ private String inputBatch;
+
+ @ApiModelProperty(value = "渠道商名称")
+ private String firmName;
+
+ @ApiModelProperty(value = "渠道商id")
+ private String firmId;
+
+ @ApiModelProperty(value = "代理商id")
+ private String agentId;
+
+ @ApiModelProperty(value = "是否是电信版本")
+ private String dial;
+
+ @ApiModelProperty(value = "开始时间")
+ private String startTime;
+
+ @ApiModelProperty(value = "结束时间")
+ private String endTime;
+
+ @ApiModelProperty(value = "每页展示的条数")
+ private Integer pageSize;
+
+ @ApiModelProperty(value = "当前的页码")
+ private Integer current;
+
+
+}
diff --git a/ecell-internationalize/ecell-internationalize-system/src/main/java/com/ecell/internationalize/system/entity/dto/DeviceAdminOwnerInfo.java b/ecell-internationalize/ecell-internationalize-system/src/main/java/com/ecell/internationalize/system/entity/dto/DeviceAdminOwnerInfo.java
new file mode 100644
index 0000000..09851a1
--- /dev/null
+++ b/ecell-internationalize/ecell-internationalize-system/src/main/java/com/ecell/internationalize/system/entity/dto/DeviceAdminOwnerInfo.java
@@ -0,0 +1,20 @@
+package com.ecell.internationalize.system.entity.dto;
+
+import lombok.Data;
+
+import java.util.List;
+
+@Data
+public class DeviceAdminOwnerInfo {
+ //管理员id
+ private String userId;
+ //设备拥有者名称
+ private String name;
+ //设备imei
+ private String imei;
+ //群组ID
+ private String groupId;
+ //用户id集合
+ private List ids;
+
+}
diff --git a/ecell-internationalize/ecell-internationalize-system/src/main/java/com/ecell/internationalize/system/entity/vo/DeviceActivaVO.java b/ecell-internationalize/ecell-internationalize-system/src/main/java/com/ecell/internationalize/system/entity/vo/DeviceActivaVO.java
new file mode 100644
index 0000000..ce74581
--- /dev/null
+++ b/ecell-internationalize/ecell-internationalize-system/src/main/java/com/ecell/internationalize/system/entity/vo/DeviceActivaVO.java
@@ -0,0 +1,44 @@
+package com.ecell.internationalize.system.entity.vo;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.io.Serializable;
+import java.util.Date;
+
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+@ApiModel(value="DeviceActivaVO对象", description="设备激活情况返回信息对象")
+public class DeviceActivaVO implements Serializable {
+ private static final long serialVersionUID=1L;
+
+ @ApiModelProperty(value = "生产批次")
+ private String inputBatch;
+
+ @ApiModelProperty(value = "渠道商")
+ private String firmName;
+
+ @ApiModelProperty(value = "已录入设备数量")
+ private Integer inputDevice;
+
+ @ApiModelProperty(value = "激活设备数量")
+ private Integer activateDevice;
+
+ @ApiModelProperty(value = "已绑定设备数量")
+ private Integer whetherBinding;
+
+ @ApiModelProperty(value = "激活比例")
+ private String activationRatio;
+
+ @ApiModelProperty(value = "是否电信版(0,否 1.是)")
+ private String dial;
+
+ @ApiModelProperty(value = "导入日期")
+ private Date importTime;
+
+
+}
diff --git a/ecell-internationalize/ecell-internationalize-system/src/main/java/com/ecell/internationalize/system/mapper/DelimeiLogInfoMapper.java b/ecell-internationalize/ecell-internationalize-system/src/main/java/com/ecell/internationalize/system/mapper/DelimeiLogInfoMapper.java
new file mode 100644
index 0000000..c40166b
--- /dev/null
+++ b/ecell-internationalize/ecell-internationalize-system/src/main/java/com/ecell/internationalize/system/mapper/DelimeiLogInfoMapper.java
@@ -0,0 +1,17 @@
+package com.ecell.internationalize.system.mapper;
+
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.ecell.internationalize.system.entity.DelimeiLogInfo;
+
+/**
+ *
+ * Mapper 接口
+ *
+ *
+ * @author ${author}
+ * @since 2022-07-19
+ */
+public interface DelimeiLogInfoMapper extends BaseMapper {
+
+}
diff --git a/ecell-internationalize/ecell-internationalize-system/src/main/java/com/ecell/internationalize/system/mapper/DeviceAlarmMapper.java b/ecell-internationalize/ecell-internationalize-system/src/main/java/com/ecell/internationalize/system/mapper/DeviceAlarmMapper.java
new file mode 100644
index 0000000..17336ed
--- /dev/null
+++ b/ecell-internationalize/ecell-internationalize-system/src/main/java/com/ecell/internationalize/system/mapper/DeviceAlarmMapper.java
@@ -0,0 +1,28 @@
+package com.ecell.internationalize.system.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.ecell.internationalize.system.entity.DeviceAlarm;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.Map;
+
+/**
+ *
+ * 设备报警 Mapper 接口
+ *
+ *
+ * @author liy
+ * @since 2022-07-11
+ */
+public interface DeviceAlarmMapper extends BaseMapper {
+ /**
+ * 步数报警分页查询
+ * @Author liy
+ * @Date 2022/7/12 15:42
+ * @param page 分页
+ * @param map 查询条件
+ * @return Page
+ */
+ Page getList(@Param("page") Page page, @Param("map") Map map);
+}
diff --git a/ecell-internationalize/ecell-internationalize-system/src/main/java/com/ecell/internationalize/system/mapper/api/DeviceAlarmAppMapper.java b/ecell-internationalize/ecell-internationalize-system/src/main/java/com/ecell/internationalize/system/mapper/api/DeviceAlarmAppMapper.java
new file mode 100644
index 0000000..d660651
--- /dev/null
+++ b/ecell-internationalize/ecell-internationalize-system/src/main/java/com/ecell/internationalize/system/mapper/api/DeviceAlarmAppMapper.java
@@ -0,0 +1,17 @@
+package com.ecell.internationalize.system.mapper.api;
+
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.ecell.internationalize.system.entity.api.dto.DeviceAlarmApp;
+
+/**
+ *
+ * 闹钟设置表 Mapper 接口
+ *
+ *
+ * @author ${author}
+ * @since 2022-09-07
+ */
+public interface DeviceAlarmAppMapper extends BaseMapper {
+
+}
diff --git a/ecell-internationalize/ecell-internationalize-system/src/main/java/com/ecell/internationalize/system/service/DelimeiLogInfoService.java b/ecell-internationalize/ecell-internationalize-system/src/main/java/com/ecell/internationalize/system/service/DelimeiLogInfoService.java
new file mode 100644
index 0000000..dc92c33
--- /dev/null
+++ b/ecell-internationalize/ecell-internationalize-system/src/main/java/com/ecell/internationalize/system/service/DelimeiLogInfoService.java
@@ -0,0 +1,19 @@
+package com.ecell.internationalize.system.service;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.ecell.internationalize.system.entity.DelimeiLogInfo;
+import com.ecell.internationalize.system.entity.dto.ImeiLogPageDTO;
+
+/**
+ *
+ * 服务类
+ *
+ *
+ * @author ${author}
+ * @since 2022-07-19
+ */
+public interface DelimeiLogInfoService extends IService {
+
+ IPage queryByPageList(ImeiLogPageDTO dto);
+}
diff --git a/ecell-internationalize/ecell-internationalize-system/src/main/java/com/ecell/internationalize/system/service/DeviceAlarmService.java b/ecell-internationalize/ecell-internationalize-system/src/main/java/com/ecell/internationalize/system/service/DeviceAlarmService.java
new file mode 100644
index 0000000..f22ecc5
--- /dev/null
+++ b/ecell-internationalize/ecell-internationalize-system/src/main/java/com/ecell/internationalize/system/service/DeviceAlarmService.java
@@ -0,0 +1,26 @@
+package com.ecell.internationalize.system.service;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.ecell.internationalize.system.entity.DeviceAlarm;
+
+import java.util.Map;
+
+/**
+ *
+ * 设备报警 服务类
+ *
+ *
+ * @author liy
+ * @since 2022-07-11
+ */
+public interface DeviceAlarmService extends IService {
+ /**
+ * 设备报警条件分页查询
+ * @Author liy
+ * @Date 2022/7/12 10:42
+ * @param map 分页查询体
+ * @return IPage
+ */
+ IPage findAllByPage(Map map);
+}
diff --git a/ecell-internationalize/ecell-internationalize-system/src/main/java/com/ecell/internationalize/system/service/api/DeviceAlarmAppService.java b/ecell-internationalize/ecell-internationalize-system/src/main/java/com/ecell/internationalize/system/service/api/DeviceAlarmAppService.java
new file mode 100644
index 0000000..706e9ce
--- /dev/null
+++ b/ecell-internationalize/ecell-internationalize-system/src/main/java/com/ecell/internationalize/system/service/api/DeviceAlarmAppService.java
@@ -0,0 +1,18 @@
+package com.ecell.internationalize.system.service.api;
+
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.ecell.internationalize.system.entity.api.dto.DeviceAlarmApp;
+
+/**
+ *
+ * 闹钟设置表 服务类
+ *
+ *
+ * @author ${author}
+ * @since 2022-09-07
+ */
+public interface DeviceAlarmAppService extends IService {
+
+ void sendToKafka(DeviceAlarmApp deviceAlarmApp);
+}
diff --git a/ecell-internationalize/ecell-internationalize-system/src/main/java/com/ecell/internationalize/system/service/api/impl/DeviceAlarmAppServiceImpl.java b/ecell-internationalize/ecell-internationalize-system/src/main/java/com/ecell/internationalize/system/service/api/impl/DeviceAlarmAppServiceImpl.java
new file mode 100644
index 0000000..658ec93
--- /dev/null
+++ b/ecell-internationalize/ecell-internationalize-system/src/main/java/com/ecell/internationalize/system/service/api/impl/DeviceAlarmAppServiceImpl.java
@@ -0,0 +1,70 @@
+package com.ecell.internationalize.system.service.api.impl;
+
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ecell.internationalize.common.core.context.SecurityContextHolder;
+import com.ecell.internationalize.common.core.utils.SpringUtils;
+import com.ecell.internationalize.common.issue.entity.AlarmClockDto;
+import com.ecell.internationalize.common.issue.entity.AlarmClockSecond;
+import com.ecell.internationalize.common.issue.issue.IssueInstructions;
+import com.ecell.internationalize.system.entity.api.dto.DeviceAlarmApp;
+import com.ecell.internationalize.system.mapper.api.DeviceAlarmAppMapper;
+import com.ecell.internationalize.system.service.api.DeviceAlarmAppService;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.util.CollectionUtils;
+
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.List;
+
+/**
+ *
+ * 闹钟设置表 服务实现类
+ *
+ *
+ * @author ${author}
+ * @since 2022-09-07
+ */
+@Slf4j
+@Service
+public class DeviceAlarmAppServiceImpl extends ServiceImpl implements DeviceAlarmAppService {
+
+ @Autowired
+ private DeviceAlarmAppMapper deviceAlarmAppMapper;
+
+ @Override
+ public void sendToKafka(DeviceAlarmApp deviceAlarmApp) {
+ Date date = new Date(System.currentTimeMillis());
+ AlarmClockDto alarmClockDto=new AlarmClockDto();
+ alarmClockDto.setType("alarm");
+ alarmClockDto.setIdent("66666");
+ alarmClockDto.setVender("20000");
+ alarmClockDto.setOpenid(SecurityContextHolder.getStringUserId());
+ alarmClockDto.setImei(deviceAlarmApp.getImei());
+ alarmClockDto.setTime(date.getTime());
+ //根据imei查询所有闹钟信息,进行全量下发
+ LambdaQueryWrapper lambdaQueryWrapper=new LambdaQueryWrapper<>();
+ lambdaQueryWrapper.eq(DeviceAlarmApp::getImei,deviceAlarmApp.getImei());
+ List deviceAlarmApps = deviceAlarmAppMapper.selectList(lambdaQueryWrapper);
+ //发送指令集合
+ List list=new ArrayList<>();
+ AlarmClockSecond alarmClockSecond;
+ if (!CollectionUtils.isEmpty(deviceAlarmApps)){
+ for (DeviceAlarmApp deviceAlarmApp1:deviceAlarmApps){
+ alarmClockSecond=new AlarmClockSecond();
+ alarmClockSecond.setStatus(Integer.valueOf(deviceAlarmApp1.getAlarmStatus()));
+ alarmClockSecond.setStart(deviceAlarmApp1.getAlarmTime());
+ alarmClockSecond.setText(deviceAlarmApp1.getTag());
+ alarmClockSecond.setWeek(deviceAlarmApp1.getAlarmWeek());
+ list.add(alarmClockSecond);
+ }
+ }
+ alarmClockDto.setAlarm(list);
+ //3.调用方法缓存入redis,开始指令下发
+ IssueInstructions issueInstructions = SpringUtils.getBean(IssueInstructions.class);
+ issueInstructions.emitDeviceDemand("alarm",deviceAlarmApp.getImei(),alarmClockDto);
+ }
+}
diff --git a/ecell-internationalize/ecell-internationalize-system/src/main/java/com/ecell/internationalize/system/service/impl/DelimeiLogInfoServiceImpl.java b/ecell-internationalize/ecell-internationalize-system/src/main/java/com/ecell/internationalize/system/service/impl/DelimeiLogInfoServiceImpl.java
new file mode 100644
index 0000000..efad883
--- /dev/null
+++ b/ecell-internationalize/ecell-internationalize-system/src/main/java/com/ecell/internationalize/system/service/impl/DelimeiLogInfoServiceImpl.java
@@ -0,0 +1,73 @@
+package com.ecell.internationalize.system.service.impl;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ecell.internationalize.common.core.utils.StringUtils;
+import com.ecell.internationalize.system.constant.DeviceModelConstants;
+import com.ecell.internationalize.system.entity.DelimeiLogInfo;
+import com.ecell.internationalize.system.entity.dto.ImeiLogPageDTO;
+import com.ecell.internationalize.system.mapper.DelimeiLogInfoMapper;
+import com.ecell.internationalize.system.service.DelimeiLogInfoService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.scheduling.annotation.Async;
+import org.springframework.stereotype.Service;
+
+/**
+ *
+ * 服务实现类
+ *
+ *
+ * @author ${author}
+ * @since 2022-07-19
+ */
+@Service
+public class DelimeiLogInfoServiceImpl extends ServiceImpl implements DelimeiLogInfoService {
+
+ @Autowired
+ private DelimeiLogInfoMapper mapper;
+
+
+ @Override
+ public IPage queryByPageList(ImeiLogPageDTO dto) {
+ Page page =new Page(dto.getCurrent(),dto.getPageSize());
+ QueryWrapper wrapper = getQueryWrapper(dto);
+
+ return mapper.selectPage(page, wrapper);
+
+ }
+
+
+ /**
+ * 日志异步新增
+ * @param info
+ */
+ @Async("threadPoolTaskExecutor")
+ public void saveDelImeiLog(DelimeiLogInfo info){
+ save(info);
+ }
+
+
+
+ /**
+ * 分页查询条件封装
+ * @param dto
+ * @return
+ */
+ private QueryWrapper getQueryWrapper(ImeiLogPageDTO dto) {
+ QueryWrapper wrapper=new QueryWrapper();
+ if (StringUtils.isNotEmpty(dto.getIp())){
+ wrapper.like("ip", dto.getIp());
+ }
+ if (StringUtils.isNotEmpty(dto.getUserRole())){
+ wrapper.eq("user_role", dto.getUserRole());
+ }
+ if (StringUtils.isNotEmpty(dto.getLoginAccount())){
+ wrapper.eq("login_account", dto.getLoginAccount());
+ }
+ wrapper.eq("del_flag", DeviceModelConstants.ONE);
+ wrapper.orderByDesc("create_time");
+ return wrapper;
+ }
+}
diff --git a/ecell-internationalize/ecell-internationalize-system/src/main/java/com/ecell/internationalize/system/service/impl/DeviceAlarmServiceImpl.java b/ecell-internationalize/ecell-internationalize-system/src/main/java/com/ecell/internationalize/system/service/impl/DeviceAlarmServiceImpl.java
new file mode 100644
index 0000000..ea8416b
--- /dev/null
+++ b/ecell-internationalize/ecell-internationalize-system/src/main/java/com/ecell/internationalize/system/service/impl/DeviceAlarmServiceImpl.java
@@ -0,0 +1,39 @@
+package com.ecell.internationalize.system.service.impl;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ecell.internationalize.common.system.constant.FieldConstant;
+import com.ecell.internationalize.system.entity.DeviceAlarm;
+import com.ecell.internationalize.system.mapper.DeviceAlarmMapper;
+import com.ecell.internationalize.system.service.DeviceAlarmService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.Map;
+
+/**
+ *
+ * 设备报警 服务实现类
+ *
+ *
+ * @author liy
+ * @since 2022-07-11
+ */
+@Service
+public class DeviceAlarmServiceImpl extends ServiceImpl implements DeviceAlarmService {
+ @Autowired
+ private DeviceAlarmMapper deviceAlarmMapper;
+ /**
+ * 设备报警条件分页查询
+ * @Author liy
+ * @Date 2022/7/12 10:42
+ * @param map 分页查询体
+ * @return IPage
+ */
+ @Override
+ public IPage findAllByPage(Map map) {
+ Page page=new Page<>(Integer.parseInt(map.get(FieldConstant.CURRENT).toString()),Integer.parseInt(map.get(FieldConstant.SIZE).toString()));
+ return deviceAlarmMapper.getList(page,map);
+ }
+}
diff --git a/ecell-internationalize/ecell-internationalize-system/src/main/resources/com/ecell/internationalize/system/mapper/DeviceAlarmMapper.xml b/ecell-internationalize/ecell-internationalize-system/src/main/resources/com/ecell/internationalize/system/mapper/DeviceAlarmMapper.xml
new file mode 100644
index 0000000..fccc8ee
--- /dev/null
+++ b/ecell-internationalize/ecell-internationalize-system/src/main/resources/com/ecell/internationalize/system/mapper/DeviceAlarmMapper.xml
@@ -0,0 +1,38 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+