diff --git a/ecell-internationalize/ecell-internationalize-system/src/main/java/com/ecell/internationalize/system/constant/DeviceModelEnum.java b/ecell-internationalize/ecell-internationalize-system/src/main/java/com/ecell/internationalize/system/constant/DeviceModelEnum.java
new file mode 100644
index 0000000..b172de7
--- /dev/null
+++ b/ecell-internationalize/ecell-internationalize-system/src/main/java/com/ecell/internationalize/system/constant/DeviceModelEnum.java
@@ -0,0 +1,69 @@
+package com.ecell.internationalize.system.constant;
+
+public enum DeviceModelEnum {
+
+ LOCATION_FUN_ONE("1","基站"), LOCATION_FUN_TWO("2","基站+wiff"), LOCATION_FUN_THREE("3","基站+GPS"), LOCATION_FUN_FOUR("4","基站+wiff+GPS"),
+ DEVICE_TYPE_ZERO("0","默认"),DEVICE_TYPE_ONE("1","手表"),DEVICE_TYPE_TWO("2","学生卡"),DEVICE_TYPE_THREE("3","老人机");
+ private String code;
+ private String type;
+
+
+ DeviceModelEnum(String code,String type){
+ this.code =code;
+ this.type=type;
+ }
+
+ public String getCode() {
+ return code;
+ }
+
+ public void setCode(String code) {
+ this.code = code;
+ }
+
+ public String getType() {
+ return type;
+ }
+
+ public void setType(String type) {
+ this.type = type;
+ }
+
+ public static String getDeviceType(int code){
+ String ty="";
+ switch (code) {
+ case 0:
+ return ty=DEVICE_TYPE_ZERO.type;
+
+ case 1:
+ return ty=DEVICE_TYPE_ONE.type;
+ case 2:
+ return ty=DEVICE_TYPE_TWO.type;
+ case 3:
+ return ty=DEVICE_TYPE_THREE.type;
+ default:break;
+ }
+ return ty;
+ }
+
+ public static String getLocationFunString(int code){
+ String ty="";
+ switch (code) {
+ case 1:
+ return ty=LOCATION_FUN_ONE.type;
+
+ case 2:
+ return ty=LOCATION_FUN_TWO.type;
+ case 3:
+ return ty=LOCATION_FUN_THREE.type;
+ case 4:
+ return ty=LOCATION_FUN_FOUR.type;
+ default:break;
+ }
+ return ty;
+ }
+
+// public static void main(String[] args) {
+// System.out.println(DeviceModelEnum.getLocationFunString(4));
+// }
+}
diff --git a/ecell-internationalize/ecell-internationalize-system/src/main/java/com/ecell/internationalize/system/controller/DeviceModelInfoController.java b/ecell-internationalize/ecell-internationalize-system/src/main/java/com/ecell/internationalize/system/controller/DeviceModelInfoController.java
new file mode 100644
index 0000000..0372f20
--- /dev/null
+++ b/ecell-internationalize/ecell-internationalize-system/src/main/java/com/ecell/internationalize/system/controller/DeviceModelInfoController.java
@@ -0,0 +1,119 @@
+package com.ecell.internationalize.system.controller;
+import com.ecell.internationalize.common.core.constant.UserConstants;
+import com.ecell.internationalize.common.core.utils.locale.LocaleUtil;
+import com.ecell.internationalize.common.core.utils.uuid.UUID;
+import com.ecell.internationalize.common.core.web.domain.AjaxResult;
+import com.ecell.internationalize.common.redis.service.RedisService;
+import com.ecell.internationalize.common.security.annotation.RequiresPermissions;
+import com.ecell.internationalize.common.system.constant.FieldConstant;
+import com.ecell.internationalize.system.constant.DeviceModelConstants;
+import com.ecell.internationalize.system.entity.DeviceModelInfo;
+import com.ecell.internationalize.system.entity.dto.DeviceModelPageDTO;
+import com.ecell.internationalize.system.service.DeviceModelInfoService;
+import io.swagger.annotations.Api;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.*;
+
+
+/**
+ *
+ * 设备型号管理信息表 前端控制器
+ *
+ *
+ * @author ${author}
+ * @since 2022-07-09
+ */
+@Api(value="设备模型管理",tags={"设备模型管理接口"})
+@RestController
+@RequestMapping("/device_model_info")
+public class DeviceModelInfoController {
+ @Autowired
+ private DeviceModelInfoService deviceModelInfoService;
+ @Autowired
+ private RedisService redisService;
+
+
+ /**
+ * 新增设备类型
+ */
+ @PostMapping("/add")
+ public AjaxResult add(@Validated @RequestBody DeviceModelInfo model) {
+ //设置ID
+ model.setDeviceModelId(UUID.fastUUID().toString(true));
+ if (UserConstants.NOT_UNIQUE.equals(deviceModelInfoService.checkModelNameUnique(model))) {
+ return AjaxResult.error("新增设备型号'" + model.getDeviceModelName() + "'失败,同一厂商下该名称已存在");
+ }
+ //定位模式id,默认为1
+ model.setPositioningModeId(DeviceModelConstants.ONE);
+ return deviceModelInfoService.save(model) ? AjaxResult.success(LocaleUtil.getMessage(FieldConstant.MESSAGES_SUCCESS)) : AjaxResult.error(LocaleUtil.getMessage(FieldConstant.MESSAGES_ERROR));
+ }
+
+ /**
+ * 分页查询
+ * @param
+ * @param dto
+ * @return
+ */
+ @RequiresPermissions("system:equipmentmodel:list")
+ @GetMapping("device/page/list")
+ public AjaxResult queryAll(DeviceModelPageDTO dto) {
+ return AjaxResult.success(LocaleUtil.getMessage(FieldConstant.MESSAGES_SUCCESS), deviceModelInfoService.findListByPage(dto));
+ }
+
+ /**
+ * 更新设备型号信息
+ * @param model
+ * @return
+ */
+ @PostMapping("/edit")
+ public AjaxResult edit(@RequestBody DeviceModelInfo model) {
+ return deviceModelInfoService.updateById(model) ? AjaxResult.success(LocaleUtil.getMessage(FieldConstant.MESSAGES_SUCCESS)) : AjaxResult.error(LocaleUtil.getMessage(FieldConstant.MESSAGES_ERROR));
+ }
+
+ /**
+ * 逻辑删除
+ * @param
+ * @param id
+ * @return
+ */
+ @DeleteMapping("/del/{id}")
+ public AjaxResult remove(@PathVariable String id) {
+
+ return deviceModelInfoService.deltaById(id) ? AjaxResult.success(LocaleUtil.getMessage(FieldConstant.MESSAGES_SUCCESS)) : AjaxResult.error(LocaleUtil.getMessage(FieldConstant.MESSAGES_ERROR));
+ }
+
+ /**
+ * 根据厂商id或代理商id查询设备型号名称跟ID
+ * @param id
+ * @return
+ */
+ @GetMapping("/query/firmId/{id}/{type}")
+ public AjaxResult queryModelNameByFirmId(@PathVariable String id,@PathVariable String type){
+ return AjaxResult.success(LocaleUtil.getMessage(FieldConstant.MESSAGES_SUCCESS), deviceModelInfoService.queryModelNameByFirmId(id,type)) ;
+ }
+
+
+ /**
+ * 根据设备型号ID and 定位模式ID 更新设备型号表的定位模式ID
+ */
+ @GetMapping("device/byId/{mId}/{pId}")
+ public AjaxResult updatePositionIdByModelId(@PathVariable String mId, @PathVariable String pId){
+
+ return deviceModelInfoService.updatePositionIdByModelId(mId,pId) ? AjaxResult.success(LocaleUtil.getMessage(FieldConstant.MESSAGES_SUCCESS)) : AjaxResult.error(LocaleUtil.getMessage(FieldConstant.MESSAGES_ERROR));
+ }
+
+ /**
+ * 根据设备类型ID查询设备模型信息
+ */
+ @GetMapping("device/edit/{id}")
+ public AjaxResult queryByModelId(@PathVariable String id){
+
+
+ return AjaxResult.success(LocaleUtil.getMessage(FieldConstant.MESSAGES_SUCCESS), deviceModelInfoService.queryById(id));
+ }
+
+
+
+}
+
diff --git a/ecell-internationalize/ecell-internationalize-system/src/main/java/com/ecell/internationalize/system/controller/DevicePositionController.java b/ecell-internationalize/ecell-internationalize-system/src/main/java/com/ecell/internationalize/system/controller/DevicePositionController.java
new file mode 100644
index 0000000..2d09f8a
--- /dev/null
+++ b/ecell-internationalize/ecell-internationalize-system/src/main/java/com/ecell/internationalize/system/controller/DevicePositionController.java
@@ -0,0 +1,43 @@
+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.service.DevicePositionService;
+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;
+
+import java.util.Map;
+
+/**
+ *
+ * 设备定位(签到) 前端控制器
+ *
+ *
+ * @author liy
+ * @since 2022-07-11
+ */
+@Api(value="设备定位(签到)",tags={"设备定位(签到)接口"})
+@RestController
+@RequestMapping("/device_position")
+public class DevicePositionController {
+ @Autowired
+ private DevicePositionService devicePositionService;
+ /**
+ * 设备签到条件分页查询
+ * @Author liy
+ * @Date 2022/7/12 16:38
+ * @param map 分页条件查询体
+ * @Return AjaxResult
+ */
+ @ApiOperation("条件分页查询设备定位(签到)信息")
+ @PostMapping("position/list")
+ public AjaxResult queryAll(@RequestBody Map map){
+ return AjaxResult.success(LocaleUtil.getMessage(FieldConstant.MESSAGES_SUCCESS),devicePositionService.findAllByPage(map));
+ }
+}
+
diff --git a/ecell-internationalize/ecell-internationalize-system/src/main/java/com/ecell/internationalize/system/entity/DeviceModelInfo.java b/ecell-internationalize/ecell-internationalize-system/src/main/java/com/ecell/internationalize/system/entity/DeviceModelInfo.java
new file mode 100644
index 0000000..2526b2a
--- /dev/null
+++ b/ecell-internationalize/ecell-internationalize-system/src/main/java/com/ecell/internationalize/system/entity/DeviceModelInfo.java
@@ -0,0 +1,141 @@
+package com.ecell.internationalize.system.entity;
+
+import com.baomidou.mybatisplus.annotation.FieldFill;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.fasterxml.jackson.annotation.JsonFormat;
+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-09
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@Accessors(chain = true)
+@ApiModel(value="DeviceModelInfo对象", description="设备型号管理信息表")
+public class DeviceModelInfo implements Serializable {
+
+private static final long serialVersionUID=1L;
+
+ @ApiModelProperty(value = "设备型号id")
+ @TableId(value = "device_model_id",type = IdType.INPUT)
+ private String deviceModelId;
+
+ @ApiModelProperty(value = "型号名称")
+ private String deviceModelName;
+
+ @ApiModelProperty(value = "厂商id")
+ private String firmId;
+
+ @ApiModelProperty(value = "代理厂商id")
+ private String agentId;
+
+ @ApiModelProperty(value = "厂商名称")
+ private String firmName;
+
+ @ApiModelProperty(value = "定位功能(1.基站,2.基站+wiff,3.基站+GPS,4.基站+wiff+GPS)")
+ private String locationFun;
+
+ @ApiModelProperty(value = "视频类型名称(0.不支持,0.不支持,1.菊风,2.声网,3.佰锐,4.鹈鹕)")
+ private String videoModelName;
+
+ @ApiModelProperty(value = "视频规则(0.是默认,其余就是视频类型的名称)")
+ private String videoRule;
+
+ @ApiModelProperty(value = "视频类型id")
+ private String videoModelId;
+
+ @ApiModelProperty(value = "设备类型(0.默认 1.手表,2.学生卡,3.老人机)")
+ private String deviceType;
+
+ @ApiModelProperty(value = "公众号平台名称(0.不支持,其余就是公众号的名称)")
+ private String officialAccountName;
+
+ @ApiModelProperty(value = "手表闹钟(0.不支持,1.支持)")
+ private String watchAlarmClock;
+
+ @ApiModelProperty(value = "上课禁用(0.不支持,1.支持)")
+ private String classDisable;
+
+ @ApiModelProperty(value = "SOS号码(0.不支持,1.支持)")
+ private String sosPhone;
+
+ @ApiModelProperty(value = "电子围栏(0.不支持,1.支持)")
+ private String electronicFence;
+
+ @ApiModelProperty(value = "记步功能(0.不支持,1.支持)")
+ private String stepRecorder;
+
+ @ApiModelProperty(value = "微聊功能(0.不支持,1.支持)")
+ private String chatFun;
+
+ @ApiModelProperty(value = "查找设备功能(0.不支持,1.支持)")
+ private String lookupFun;
+
+ @ApiModelProperty(value = "手表WIFF(0.不支持,1.支持)")
+ private String watchWiff;
+
+ @ApiModelProperty(value = "心率(0.不支持,1.支持)")
+ private String heartRate;
+
+ @ApiModelProperty(value = "体温(0.不支持,1.支持)")
+ private String temperature;
+
+ @ApiModelProperty(value = "血压(0.不支持,1.支持)")
+ private String bloodPressure;
+
+ @ApiModelProperty(value = "血氧(0.不支持,1.支持")
+ private String bloodOxygen;
+
+ @ApiModelProperty(value = "白名单(0.不支持,1.支持)")
+ private String whiteList;
+
+ @ApiModelProperty(value = "拨号盘(0.不支持,1.支持)")
+ private String dial;
+
+ @ApiModelProperty(value = "定时开关机(0.不支持,1.支持)")
+ private String timingSwitch;
+
+ @ApiModelProperty(value = "电信版本号(0,否,1.是)")
+ private String telecomVersion;
+
+ @ApiModelProperty(value = "(0.删除,1.不删除)")
+ private String delFlag;
+
+ @ApiModelProperty(value = "创建人")
+ @TableField(value = "create_user",fill = FieldFill.INSERT)
+ private String createUser;
+
+ @ApiModelProperty(value = "修改人")
+ @TableField(value = "update_user",fill = FieldFill.UPDATE)
+ private String updateUser;
+
+ @ApiModelProperty(value = "创建时间")
+ @TableField(value = "create_time",fill = FieldFill.INSERT)
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ private Date createTime;
+
+ @ApiModelProperty(value = "修改时间")
+ @TableField(value = "update_time",fill = FieldFill.UPDATE)
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ private Date updateTime;
+
+ @ApiModelProperty(value = "定位模式ID")
+ private String positioningModeId;
+
+
+
+}
diff --git a/ecell-internationalize/ecell-internationalize-system/src/main/java/com/ecell/internationalize/system/entity/DeviceStepDaily.java b/ecell-internationalize/ecell-internationalize-system/src/main/java/com/ecell/internationalize/system/entity/DeviceStepDaily.java
new file mode 100644
index 0000000..4279735
--- /dev/null
+++ b/ecell-internationalize/ecell-internationalize-system/src/main/java/com/ecell/internationalize/system/entity/DeviceStepDaily.java
@@ -0,0 +1,84 @@
+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_step_daily")
+public class DeviceStepDaily {
+
+private static final long serialVersionUID=1L;
+
+
+ /**
+ * 主键Id
+ */
+ @TableId("id")
+ private String id;
+
+ /**
+ * 设备iMei
+ */
+ private String imei;
+
+ /**
+ * 姓名
+ */
+ @TableField(exist = false)
+ private String name;
+
+ /**
+ * 腕表今日步数总数
+ */
+ private Integer walksNum;
+
+ /**
+ * 腕表今日行走总距离(单位:米)
+ */
+ private Double walksDistance;
+
+ /**
+ * 腕表今日消耗卡路里(单位:小卡)
+ */
+ private Double walksCalorie;
+
+ /**
+ * 创建人
+ */
+ private String createUser;
+ /**
+ * 创建时间
+ */
+ @TableField(value = "create_time",fill = FieldFill.INSERT)
+ @JsonFormat(pattern = "yyyy-MM-dd")
+ 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/dto/DeviceModelPageDTO.java b/ecell-internationalize/ecell-internationalize-system/src/main/java/com/ecell/internationalize/system/entity/dto/DeviceModelPageDTO.java
new file mode 100644
index 0000000..c0c5996
--- /dev/null
+++ b/ecell-internationalize/ecell-internationalize-system/src/main/java/com/ecell/internationalize/system/entity/dto/DeviceModelPageDTO.java
@@ -0,0 +1,29 @@
+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="DeviceModlDTO对象", description="查询设备型号条件对象")
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+public class DeviceModelPageDTO {
+ @ApiModelProperty("设备型号名称 ")
+ private String deviceModelName;
+ @ApiModelProperty("厂商ID")
+ private String firmId;
+ @ApiModelProperty("厂商类型")
+ private String firmFlag;
+ @ApiModelProperty(value = "厂商名称")
+ private String firmName;
+
+ @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/DevicePageDTO.java b/ecell-internationalize/ecell-internationalize-system/src/main/java/com/ecell/internationalize/system/entity/dto/DevicePageDTO.java
new file mode 100644
index 0000000..8528351
--- /dev/null
+++ b/ecell-internationalize/ecell-internationalize-system/src/main/java/com/ecell/internationalize/system/entity/dto/DevicePageDTO.java
@@ -0,0 +1,30 @@
+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="DevicePageDTO对象", description="设备分页查询对象")
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+public class DevicePageDTO {
+
+ @ApiModelProperty(value = "录入批次")
+ private String inputBatch;
+
+ @ApiModelProperty(value = "imei")
+ private String imei;
+
+ @ApiModelProperty(value = "审核状态(0.是拒绝,1.是待审核,2.是通过,默认为1)")
+ private String status;
+
+ @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/vo/DeviceModelVO.java b/ecell-internationalize/ecell-internationalize-system/src/main/java/com/ecell/internationalize/system/entity/vo/DeviceModelVO.java
new file mode 100644
index 0000000..5ef77fd
--- /dev/null
+++ b/ecell-internationalize/ecell-internationalize-system/src/main/java/com/ecell/internationalize/system/entity/vo/DeviceModelVO.java
@@ -0,0 +1,44 @@
+package com.ecell.internationalize.system.entity.vo;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.util.Date;
+
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+public class DeviceModelVO{
+ /***/
+ private String deviceModelId;
+ /** 厂商名称 */
+ private String firmName;
+ /** 设备类型名称 */
+ private String deviceModelName;
+ /** 功能模块代码 */
+ private String funModel;
+ /** 功能模块说明 */
+ private String funDescription;
+ /** 录入总数 */
+ private int InputTotal;
+ /** 定位模式 */
+ private String positionModel;
+ /** 设备类型 */
+ private String deviceType;
+ /** 公众号平台名称 */
+ private String officialAccountName;
+ @ApiModelProperty(value = "创建人")
+ private String createUser;
+
+ @ApiModelProperty(value = "修改人")
+ private String updateUser;
+
+ @ApiModelProperty(value = "创建时间")
+ private Date createTime;
+
+ @ApiModelProperty(value = "修改时间")
+ private Date updateTime;
+
+}
diff --git a/ecell-internationalize/ecell-internationalize-system/src/main/java/com/ecell/internationalize/system/mapper/DeviceModelInfoMapper.java b/ecell-internationalize/ecell-internationalize-system/src/main/java/com/ecell/internationalize/system/mapper/DeviceModelInfoMapper.java
new file mode 100644
index 0000000..31f0b79
--- /dev/null
+++ b/ecell-internationalize/ecell-internationalize-system/src/main/java/com/ecell/internationalize/system/mapper/DeviceModelInfoMapper.java
@@ -0,0 +1,16 @@
+package com.ecell.internationalize.system.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.ecell.internationalize.system.entity.DeviceModelInfo;
+
+/**
+ *
+ * 设备型号管理信息表 Mapper 接口
+ *
+ *
+ * @author ${author}
+ * @since 2022-07-09
+ */
+public interface DeviceModelInfoMapper extends BaseMapper {
+
+}
diff --git a/ecell-internationalize/ecell-internationalize-system/src/main/java/com/ecell/internationalize/system/mapper/DeviceModelMapper.java b/ecell-internationalize/ecell-internationalize-system/src/main/java/com/ecell/internationalize/system/mapper/DeviceModelMapper.java
new file mode 100644
index 0000000..e8084d1
--- /dev/null
+++ b/ecell-internationalize/ecell-internationalize-system/src/main/java/com/ecell/internationalize/system/mapper/DeviceModelMapper.java
@@ -0,0 +1,49 @@
+package com.ecell.internationalize.system.mapper;
+
+
+import com.ecell.internationalize.system.entity.DeviceModel;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+
+
+/**
+ * 设备型号信息
+ */
+@Deprecated
+public interface DeviceModelMapper {
+ /**
+ * 新增设备型号
+ *
+ * @param model
+ * @return
+ */
+ int insertDeviceModel(DeviceModel model);
+
+ /**
+ * 校验同一厂商,设备类型名称是否唯一
+ */
+ DeviceModel checkModelNameUnique(@Param("firmId") String firmId, @Param("modelName") String modelName);
+
+ /**
+ * 根据条件分页查询设备型号
+ *
+ * @param model
+ * @return
+ */
+ List selectModelLists(DeviceModel model);
+
+ /**
+ * 更新设备型号管理信息
+ * @param model
+ * @return
+ */
+ int updateDeviceModel(DeviceModel model);
+
+ /**
+ * 删除设备型号
+ * @param id
+ * @return
+ */
+ int deleteDeviceModelById(@Param("id")String id);
+}
diff --git a/ecell-internationalize/ecell-internationalize-system/src/main/java/com/ecell/internationalize/system/mapper/DevicePositionMapper.java b/ecell-internationalize/ecell-internationalize-system/src/main/java/com/ecell/internationalize/system/mapper/DevicePositionMapper.java
new file mode 100644
index 0000000..f31727c
--- /dev/null
+++ b/ecell-internationalize/ecell-internationalize-system/src/main/java/com/ecell/internationalize/system/mapper/DevicePositionMapper.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.DevicePosition;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.Map;
+
+/**
+ *
+ * 设备定位(签到) Mapper 接口
+ *
+ *
+ * @author liy
+ * @since 2022-07-11
+ */
+public interface DevicePositionMapper extends BaseMapper {
+ /**
+ * 步数签到分页查询
+ * @Author liy
+ * @Date 2022/7/11 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/service/DeviceModelInfoService.java b/ecell-internationalize/ecell-internationalize-system/src/main/java/com/ecell/internationalize/system/service/DeviceModelInfoService.java
new file mode 100644
index 0000000..ca47c5b
--- /dev/null
+++ b/ecell-internationalize/ecell-internationalize-system/src/main/java/com/ecell/internationalize/system/service/DeviceModelInfoService.java
@@ -0,0 +1,34 @@
+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.DeviceModelInfo;
+import com.ecell.internationalize.system.entity.dto.DeviceModelPageDTO;
+import com.ecell.internationalize.system.entity.vo.DeviceModelVO;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ *
+ * 设备型号管理信息表 服务类
+ *
+ *
+ * @author ${author}
+ * @since 2022-07-09
+ */
+public interface DeviceModelInfoService extends IService {
+
+ String checkModelNameUnique(DeviceModelInfo model);
+
+ IPage findListByPage(DeviceModelPageDTO dto);
+
+ boolean deltaById(String id);
+
+ List