| @@ -1,6 +1,5 @@ | |||
| package com.iformall.controller.device; | |||
| import com.alibaba.fastjson.JSONArray; | |||
| import com.alibaba.fastjson.JSONObject; | |||
| import com.iformall.common.ErrorCode; | |||
| import com.iformall.common.Result; | |||
| @@ -8,7 +7,7 @@ import com.iformall.common.ResultData; | |||
| import com.iformall.controller.base.BaseController; | |||
| import com.iformall.domain.po.KwBox; | |||
| import com.iformall.domain.po.KwBoxCmdHistory; | |||
| import com.iformall.enums.EnumBoxStatus; | |||
| import com.iformall.enums.EnumBoxRegisterStatus; | |||
| import com.iformall.service.kw.KwBoxCmdHistoryService; | |||
| import com.iformall.service.kw.KwBoxService; | |||
| import io.netty.util.internal.StringUtil; | |||
| @@ -41,11 +40,10 @@ public class KwBoxV1Controller extends BaseController { | |||
| KwBoxCmdHistory kwBoxCmdHistory = new KwBoxCmdHistory(); | |||
| kwBoxCmdHistory.setCmd(cmd); | |||
| kwBoxCmdHistory.setCreateTime(new Date()); | |||
| kwBoxCmdHistory.setUpdateTime(new Date()); | |||
| kwBoxCmdHistory.setDeviceTime(deviceTime); | |||
| kwBoxCmdHistory.setIccid(ccid); | |||
| kwBoxCmdHistory.setImei(imei); | |||
| kwBoxCmdHistory.setInfo(JSONObject.toJSON(paramMap).toString()); | |||
| kwBoxCmdHistory.setContent(JSONObject.toJSON(paramMap).toString()); | |||
| kwBoxCmdHistory.setTenantId(tenantId); | |||
| kwBoxCmdHistoryService.saveOrUpdate(kwBoxCmdHistory); | |||
| @@ -67,7 +65,7 @@ public class KwBoxV1Controller extends BaseController { | |||
| if (kwBox == null) | |||
| return new ResultData(ErrorCode.DEVICE_NOT_FOUND); | |||
| if (!kwBox.getStatus().equals(EnumBoxStatus.INIT.getCode())) | |||
| if (!kwBox.getRegisterStatus().equals(EnumBoxRegisterStatus.INIT.getCode())) | |||
| return new ResultData(ErrorCode.DEVICE_ALREADY_EXIST); | |||
| saveCmd(kwBox.getTenantId(),"regist",imei,ccid,deviceTime,paramMap); | |||
| @@ -80,11 +78,11 @@ public class KwBoxV1Controller extends BaseController { | |||
| record.setUpdateTime(new Date()); | |||
| record.setRegisterTime(new Date()); | |||
| record.setLastOnlineTime(new Date()); | |||
| record.setStatus(EnumBoxStatus.REGISTERED.getCode()); | |||
| record.setRegisterStatus(EnumBoxRegisterStatus.REGISTERED.getCode()); | |||
| kwBoxService.saveOrUpdate(record); | |||
| Map<String,Object> data = new HashMap<>(); | |||
| data.put("sysStatus",record.getStatus()); | |||
| data.put("sysStatus",record.getRegisterStatus()); | |||
| if (kwBox.getComKey() != null) | |||
| data.put("comKey",kwBox.getComKey()); | |||
| if (kwBox.getConfig() != null) | |||
| @@ -103,7 +101,7 @@ public class KwBoxV1Controller extends BaseController { | |||
| if (kwBox == null) | |||
| return new ResultData(ErrorCode.DEVICE_NOT_FOUND); | |||
| if (!kwBox.getStatus().equals(EnumBoxStatus.REGISTERED.getCode())) | |||
| if (!kwBox.getRegisterStatus().equals(EnumBoxRegisterStatus.REGISTERED.getCode())) | |||
| return new ResultData(ErrorCode.DEVICE_NOT_FOUND); | |||
| saveCmd(kwBox.getTenantId(),"login",imei,ccid,deviceTime,paramMap); | |||
| @@ -128,7 +126,7 @@ public class KwBoxV1Controller extends BaseController { | |||
| if (kwBox == null) | |||
| return new ResultData(ErrorCode.DEVICE_NOT_FOUND); | |||
| if (!kwBox.getStatus().equals(EnumBoxStatus.REGISTERED.getCode())) | |||
| if (!kwBox.getRegisterStatus().equals(EnumBoxRegisterStatus.REGISTERED.getCode())) | |||
| return new ResultData(ErrorCode.DEVICE_NOT_FOUND); | |||
| saveCmd(kwBox.getTenantId(),"hb",imei,ccid,deviceTime,paramMap); | |||
| @@ -50,11 +50,11 @@ public class KwBox extends BaseEntity { | |||
| @io.swagger.annotations.ApiModelProperty(value = "硬件版本号", name = "hdVersion") | |||
| private String hdVersion; | |||
| @io.swagger.annotations.ApiModelProperty(value = "注册状态0出厂已注册1", name = "status") | |||
| private Integer status; | |||
| @io.swagger.annotations.ApiModelProperty(value = "注册状态0出厂已注册1", name = "registerStatus") | |||
| private Integer registerStatus; | |||
| @io.swagger.annotations.ApiModelProperty(value = "在线状态1在线0离线", name = "online") | |||
| private Integer online; | |||
| @io.swagger.annotations.ApiModelProperty(value = "在线状态1在线0离线", name = "onlineStatus") | |||
| private Integer onlineStatus; | |||
| @io.swagger.annotations.ApiModelProperty(value = "配置信息", name = "config") | |||
| private String config; | |||
| @@ -75,7 +75,12 @@ public class KwBox extends BaseEntity { | |||
| private String comKey; | |||
| public static enum Field { | |||
| Id_ASC("`id` ASC"), Id_DESC("`id` DESC"), CreateTime_ASC("`create_time` ASC"), CreateTime_DESC("`create_time` DESC"), UpdateTime_ASC("`update_time` ASC"), UpdateTime_DESC("`update_time` DESC"); | |||
| Id_ASC("`id` ASC"), | |||
| Id_DESC("`id` DESC"), | |||
| CreateTime_ASC("`create_time` ASC"), | |||
| CreateTime_DESC("`create_time` DESC"), | |||
| UpdateTime_ASC("`update_time` ASC"), | |||
| UpdateTime_DESC("`update_time` DESC"); | |||
| private String value; | |||
| Field(String value) { | |||
| @@ -41,11 +41,11 @@ public class KwBoxCmdHistory extends BaseEntity { | |||
| @io.swagger.annotations.ApiModelProperty(value = "SIM卡编号", name = "iccid") | |||
| private String iccid; | |||
| @io.swagger.annotations.ApiModelProperty(value = "'命令类型", name = "cmd") | |||
| @io.swagger.annotations.ApiModelProperty(value = "命令", name = "cmd") | |||
| private String cmd; | |||
| @io.swagger.annotations.ApiModelProperty(value = "'信息", name = "info") | |||
| private String info; | |||
| @io.swagger.annotations.ApiModelProperty(value = "命令内容", name = "content") | |||
| private String content; | |||
| @io.swagger.annotations.ApiModelProperty(value = "设备命令上传记录时间", name = "deviceTime") | |||
| private Date deviceTime; | |||
| @@ -53,11 +53,12 @@ public class KwBoxCmdHistory extends BaseEntity { | |||
| @io.swagger.annotations.ApiModelProperty(value = "创建时间", name = "createTime") | |||
| private Date createTime; | |||
| @io.swagger.annotations.ApiModelProperty(value = "修改时间", name = "updateTime") | |||
| private Date updateTime; | |||
| public static enum Field { | |||
| Id_ASC("`id` ASC"), Id_DESC("`id` DESC"), CreateTime_ASC("`create_time` ASC"), CreateTime_DESC("`create_time` DESC"), UpdateTime_ASC("`update_time` ASC"), UpdateTime_DESC("`update_time` DESC"); | |||
| Id_ASC("`id` ASC"), | |||
| Id_DESC("`id` DESC"), | |||
| CreateTime_ASC("`create_time` ASC"), | |||
| CreateTime_DESC("`create_time` DESC"); | |||
| private String value; | |||
| Field(String value) { | |||
| @@ -14,7 +14,7 @@ import java.util.List; | |||
| /** | |||
| * @author gongbiao | |||
| */ | |||
| @Table(name = "kw_meters") | |||
| @Table(name = "kw_meter") | |||
| @Data | |||
| @ToString(callSuper = true) | |||
| @EqualsAndHashCode(callSuper = true) | |||
| @@ -53,8 +53,8 @@ public class KwMeter extends BaseEntity { | |||
| @io.swagger.annotations.ApiModelProperty(value = "波特率1200,2400,9600", name = "bandrate") | |||
| private Integer bandrate; | |||
| @io.swagger.annotations.ApiModelProperty(value = "在线状态1在线0离线", name = "online") | |||
| private Integer online; | |||
| @io.swagger.annotations.ApiModelProperty(value = "在线状态1在线0离线", name = "online_status") | |||
| private Integer online_status; | |||
| @io.swagger.annotations.ApiModelProperty(value = "配置信息", name = "config") | |||
| private String config; | |||
| @@ -72,7 +72,12 @@ public class KwMeter extends BaseEntity { | |||
| private Date updateTime; | |||
| public static enum Field { | |||
| Id_ASC("`id` ASC"), Id_DESC("`id` DESC"), CreateTime_ASC("`create_time` ASC"), CreateTime_DESC("`create_time` DESC"), UpdateTime_ASC("`update_time` ASC"), UpdateTime_DESC("`update_time` DESC"); | |||
| Id_ASC("`id` ASC"), | |||
| Id_DESC("`id` DESC"), | |||
| CreateTime_ASC("`create_time` ASC"), | |||
| CreateTime_DESC("`create_time` DESC"), | |||
| UpdateTime_ASC("`update_time` ASC"), | |||
| UpdateTime_DESC("`update_time` DESC"); | |||
| private String value; | |||
| Field(String value) { | |||
| @@ -44,8 +44,8 @@ public class KwMeterData extends BaseEntity { | |||
| @io.swagger.annotations.ApiModelProperty(value = "电表编号", name = "address") | |||
| private String address; | |||
| @io.swagger.annotations.ApiModelProperty(value = "度数", name = "result") | |||
| private String result; | |||
| @io.swagger.annotations.ApiModelProperty(value = "总用电量", name = "totalConsumption") | |||
| private String totalConsumption; | |||
| @io.swagger.annotations.ApiModelProperty(value = "设备命令上传记录时间", name = "deviceTime") | |||
| private Date deviceTime; | |||
| @@ -53,11 +53,13 @@ public class KwMeterData extends BaseEntity { | |||
| @io.swagger.annotations.ApiModelProperty(value = "创建时间", name = "createTime") | |||
| private Date createTime; | |||
| @io.swagger.annotations.ApiModelProperty(value = "修改时间", name = "updateTime") | |||
| private Date updateTime; | |||
| public static enum Field { | |||
| Id_ASC("`id` ASC"), Id_DESC("`id` DESC"), CreateTime_ASC("`create_time` ASC"), CreateTime_DESC("`create_time` DESC"), UpdateTime_ASC("`update_time` ASC"), UpdateTime_DESC("`update_time` DESC"); | |||
| Id_ASC("`id` ASC"), | |||
| Id_DESC("`id` DESC"), | |||
| DeviceTime_ASC("`device_time` ASC"), | |||
| DeviceTime_DESC("`device_time` DESC"), | |||
| CreateTime_ASC("`create_time` ASC"), | |||
| CreateTime_DESC("`create_time` DESC"); | |||
| private String value; | |||
| Field(String value) { | |||
| @@ -3,12 +3,12 @@ package com.iformall.enums; | |||
| /** | |||
| * Created by Stormeye on 2018/08/09. | |||
| */ | |||
| public enum EnumBoxStatus { | |||
| public enum EnumBoxRegisterStatus { | |||
| INIT(0, "出厂"), | |||
| REGISTERED(1, "注册"); | |||
| public static EnumBoxStatus getEnum(Integer code) { | |||
| for (EnumBoxStatus value : values()) { | |||
| public static EnumBoxRegisterStatus getEnum(Integer code) { | |||
| for (EnumBoxRegisterStatus value : values()) { | |||
| if (value.getCode().equals(code)) { | |||
| return value; | |||
| } | |||
| @@ -19,7 +19,7 @@ public enum EnumBoxStatus { | |||
| private Integer code; | |||
| private String message; | |||
| EnumBoxStatus(Integer code, String message) { | |||
| EnumBoxRegisterStatus(Integer code, String message) { | |||
| this.code = code; | |||
| this.message = message; | |||
| } | |||
| @@ -5,7 +5,7 @@ import com.iformall.domain.po.KwMeter; | |||
| import java.util.List; | |||
| public interface KwMetersMapper extends CommonMapper<KwMeter, Long> { | |||
| public interface KwMeterMapper extends CommonMapper<KwMeter, Long> { | |||
| List<KwMeter> findList(KwMeter param); | |||
| @@ -97,13 +97,12 @@ public class KwBoxServiceImpl implements KwBoxService { | |||
| KwMeterData kwMeterData = new KwMeterData(); | |||
| kwMeterData.setTenantId(record.getTenantId()); | |||
| kwMeterData.setUpdateTime(new Date()); | |||
| kwMeterData.setAddress(addr); | |||
| kwMeterData.setBoxId(record.getId()); | |||
| kwMeterData.setCreateTime(new Date()); | |||
| kwMeterData.setDeviceTime(deviceTime); | |||
| kwMeterData.setMeterId(kwMeter.getId()); | |||
| kwMeterData.setResult(data); | |||
| kwMeterData.setTotalConsumption(data); | |||
| kwMeterDataService.saveOrUpdate(kwMeterData); | |||
| return kwMeterData; | |||
| @@ -5,7 +5,7 @@ import com.github.pagehelper.PageInfo; | |||
| import com.iformall.common.IdWorker; | |||
| import com.iformall.common.ResultData; | |||
| import com.iformall.domain.po.KwMeter; | |||
| import com.iformall.mapper.KwMetersMapper; | |||
| import com.iformall.mapper.KwMeterMapper; | |||
| import com.iformall.service.kw.KwMeterService; | |||
| import org.slf4j.Logger; | |||
| import org.slf4j.LoggerFactory; | |||
| @@ -20,16 +20,16 @@ public class KwMeterServiceImpl implements KwMeterService { | |||
| private final Logger logger = LoggerFactory.getLogger(this.getClass()); | |||
| @Autowired | |||
| KwMetersMapper kwMetersMapper; | |||
| KwMeterMapper kwMeterMapper; | |||
| @Override | |||
| public PageInfo<KwMeter> listAsPage(KwMeter record, Integer pageIndex, Integer pageSize) { | |||
| return PageHelper.startPage(pageIndex, pageSize).doSelectPageInfo(() -> kwMetersMapper.findList(record)); | |||
| return PageHelper.startPage(pageIndex, pageSize).doSelectPageInfo(() -> kwMeterMapper.findList(record)); | |||
| } | |||
| @Override | |||
| public KwMeter getById(Long id) { | |||
| return kwMetersMapper.selectByPrimaryKey(id); | |||
| return kwMeterMapper.selectByPrimaryKey(id); | |||
| } | |||
| @@ -38,9 +38,9 @@ public class KwMeterServiceImpl implements KwMeterService { | |||
| if (record.getId() == null) { | |||
| final IdWorker idWorker = IdWorker.get(); | |||
| record.setId(idWorker.nextId()); | |||
| kwMetersMapper.insertSelective(record); | |||
| kwMeterMapper.insertSelective(record); | |||
| } else { | |||
| kwMetersMapper.updateByPrimaryKeySelective(record); | |||
| kwMeterMapper.updateByPrimaryKeySelective(record); | |||
| } | |||
| return new ResultData(); | |||
| } | |||
| @@ -48,12 +48,12 @@ public class KwMeterServiceImpl implements KwMeterService { | |||
| @Override | |||
| public void deleteById(Long id) { | |||
| kwMetersMapper.deleteByPrimaryKey(id); | |||
| kwMeterMapper.deleteByPrimaryKey(id); | |||
| } | |||
| @Override | |||
| public List<KwMeter> findList(KwMeter record) { | |||
| return kwMetersMapper.findList(record); | |||
| return kwMeterMapper.findList(record); | |||
| } | |||
| @@ -7,14 +7,13 @@ | |||
| <result column="imei" jdbcType="VARCHAR" property="imei"/> | |||
| <result column="iccid" jdbcType="VARCHAR" property="iccid"/> | |||
| <result column="cmd" jdbcType="VARCHAR" property="cmd"/> | |||
| <result column="info" jdbcType="VARCHAR" property="info"/> | |||
| <result column="content" jdbcType="VARCHAR" property="content"/> | |||
| <result column="device_time" jdbcType="TIMESTAMP" property="deviceTime"/> | |||
| <result column="create_time" jdbcType="TIMESTAMP" property="createTime"/> | |||
| <result column="update_time" jdbcType="TIMESTAMP" property="updateTime"/> | |||
| </resultMap> | |||
| <sql id="allColumns"> | |||
| `id`,`tenant_id`,`imei`,`iccid`,`cmd`,`info`,`device_time`,`create_time`,`update_time` | |||
| `id`,`tenant_id`,`imei`,`iccid`,`content`,`info`,`device_time`,`create_time` | |||
| </sql> | |||
| <sql id="dynamicWhereConditions"> | |||
| @@ -9,8 +9,8 @@ | |||
| <result column="place" jdbcType="VARCHAR" property="place"/> | |||
| <result column="fw_version" jdbcType="VARCHAR" property="fwVersion"/> | |||
| <result column="hd_version" jdbcType="VARCHAR" property="hdVersion"/> | |||
| <result column="status" jdbcType="INTEGER" property="status"/> | |||
| <result column="online" jdbcType="INTEGER" property="online"/> | |||
| <result column="register_status" jdbcType="INTEGER" property="registerStatus"/> | |||
| <result column="online_status" jdbcType="INTEGER" property="onlineStatus"/> | |||
| <result column="register_time" jdbcType="TIMESTAMP" property="registerTime"/> | |||
| <result column="last_online_time" jdbcType="TIMESTAMP" property="lastOnlineTime"/> | |||
| <result column="config" jdbcType="VARCHAR" property="config"/> | |||
| @@ -20,7 +20,7 @@ | |||
| </resultMap> | |||
| <sql id="allColumns"> | |||
| `id`,`tenant_id`,`imei`,`iccid`,`place`,`fw_version`,`hd_version`,`status`,`online`,`register_time`, | |||
| `id`,`tenant_id`,`imei`,`iccid`,`place`,`fw_version`,`hd_version`,`register_status`,`online_status`,`register_time`, | |||
| `last_online_time`,`config`,`create_time`,`update_time`,`com_key` | |||
| </sql> | |||
| @@ -35,24 +35,24 @@ | |||
| and `tenant_id` = #{tenantId} | |||
| </if> | |||
| <if test=" null != imei and '' != imei "> | |||
| and `imei` like concat('%', #{imei},'%') | |||
| <if test=" null != imei "> | |||
| and `imei` = #{imei} | |||
| </if> | |||
| <if test=" null != iccid and '' != iccid "> | |||
| and `iccid` like concat('%', #{iccid},'%') | |||
| <if test=" null != iccid "> | |||
| and `iccid` = #{iccid} | |||
| </if> | |||
| <if test=" null != place and '' != place "> | |||
| and `place` like concat('%', #{place},'%') | |||
| </if> | |||
| <if test=" null != status "> | |||
| and `status` = #{status} | |||
| <if test=" null != registerStatus "> | |||
| and `register_status` = #{registerStatus} | |||
| </if> | |||
| <if test=" null != tenantId "> | |||
| and `online` = #{online} | |||
| <if test=" null != onlineStatus "> | |||
| and `online_status` = #{onlineStatus} | |||
| </if> | |||
| <if test=" null != ids "> | |||
| @@ -7,14 +7,13 @@ | |||
| <result column="meter_id" jdbcType="BIGINT" property="meteId"/> | |||
| <result column="box_id" jdbcType="BIGINT" property="boxId"/> | |||
| <result column="address" jdbcType="VARCHAR" property="address"/> | |||
| <result column="result" jdbcType="VARCHAR" property="result"/> | |||
| <result column="total_consumption" jdbcType="VARCHAR" property="totalConsumption"/> | |||
| <result column="device_time" jdbcType="TIMESTAMP" property="deviceTime"/> | |||
| <result column="create_time" jdbcType="TIMESTAMP" property="createTime"/> | |||
| <result column="update_time" jdbcType="TIMESTAMP" property="updateTime"/> | |||
| </resultMap> | |||
| <sql id="allColumns"> | |||
| `id`,`tenant_id`,`meter_id`,`box_id`,`address`,`result`,`device_time`,`create_time`,`update_time` | |||
| `id`,`tenant_id`,`meter_id`,`box_id`,`address`,`total_consumption`,`device_time`,`create_time` | |||
| </sql> | |||
| <sql id="dynamicWhereConditions"> | |||
| @@ -40,7 +39,7 @@ | |||
| <select id="findList" parameterType="com.iformall.domain.po.KwMeter" resultMap="BaseResultMap"> | |||
| select | |||
| <include refid="allColumns"/> | |||
| from kw_box_cmd_history | |||
| from kw_meter_data | |||
| <include refid="dynamicWhereConditions"/> | |||
| </select> | |||
| @@ -1,6 +1,6 @@ | |||
| <?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.iformall.mapper.KwMetersMapper"> | |||
| <mapper namespace="com.iformall.mapper.KwMeterMapper"> | |||
| <resultMap id="BaseResultMap" type="com.iformall.domain.po.KwMeter"> | |||
| <id column="id" jdbcType="BIGINT" property="id"/> | |||
| <result column="tenant_id" jdbcType="VARCHAR" property="tenantId"/> | |||
| @@ -10,14 +10,14 @@ | |||
| <result column="model" jdbcType="VARCHAR" property="model"/> | |||
| <result column="protocol" jdbcType="INTEGER" property="protocol"/> | |||
| <result column="bandrate" jdbcType="INTEGER" property="bandrate"/> | |||
| <result column="online" jdbcType="INTEGER" property="online"/> | |||
| <result column="online_status" jdbcType="INTEGER" property="onlineStatus"/> | |||
| <result column="config" jdbcType="VARCHAR" property="config"/> | |||
| <result column="create_time" jdbcType="TIMESTAMP" property="createTime"/> | |||
| <result column="update_time" jdbcType="TIMESTAMP" property="updateTime"/> | |||
| </resultMap> | |||
| <sql id="allColumns"> | |||
| `id`,`tenant_id`,`address`,`brand`,`model`,`place`,`protocol`,`bandrate`,`online`,`config`,`create_time`,`update_time` | |||
| `id`,`tenant_id`,`address`,`brand`,`model`,`place`,`protocol`,`bandrate`,`online_status`,`config`,`create_time`,`update_time` | |||
| </sql> | |||
| <sql id="dynamicWhereConditions"> | |||
| @@ -63,7 +63,7 @@ | |||
| <select id="findList" parameterType="com.iformall.domain.po.KwMeter" resultMap="BaseResultMap"> | |||
| select | |||
| <include refid="allColumns"/> | |||
| from kw_meters | |||
| from kw_meter | |||
| <include refid="dynamicWhereConditions"/> | |||
| </select> | |||