| @@ -48,6 +48,7 @@ public class KwBoxController extends BaseController { | |||||
| KwBox record = new KwBox(); | KwBox record = new KwBox(); | ||||
| record.setImei(kwBox.getImei()); | record.setImei(kwBox.getImei()); | ||||
| record.setStatus(EnumBoxStatus.VALID.getCode()); | |||||
| List<KwBox> list = kwBoxService.findList(record); | List<KwBox> list = kwBoxService.findList(record); | ||||
| if (list.size() > 0) | if (list.size() > 0) | ||||
| return new ResultData(ErrorCode.DEVICE_ALREADY_EXIST); | return new ResultData(ErrorCode.DEVICE_ALREADY_EXIST); | ||||
| @@ -8,6 +8,8 @@ import com.iformall.controller.base.BaseController; | |||||
| import com.iformall.domain.po.KwBox; | import com.iformall.domain.po.KwBox; | ||||
| import com.iformall.domain.po.KwMeter; | import com.iformall.domain.po.KwMeter; | ||||
| import com.iformall.enums.EnumBoxStatus; | import com.iformall.enums.EnumBoxStatus; | ||||
| import com.iformall.enums.EnumMeterBindStatus; | |||||
| import com.iformall.enums.EnumMeterStatus; | |||||
| import com.iformall.service.kw.KwBoxService; | import com.iformall.service.kw.KwBoxService; | ||||
| import com.iformall.service.kw.KwMeterService; | import com.iformall.service.kw.KwMeterService; | ||||
| import io.swagger.annotations.Api; | import io.swagger.annotations.Api; | ||||
| @@ -43,13 +45,36 @@ public class KwMeterController extends BaseController { | |||||
| public Result list(@ModelAttribute KwMeter kwMeter, Integer pageNum, Integer pageSize) { | public Result list(@ModelAttribute KwMeter kwMeter, Integer pageNum, Integer pageSize) { | ||||
| if (kwMeter == null) kwMeter = new KwMeter(); | if (kwMeter == null) kwMeter = new KwMeter(); | ||||
| kwMeter.setTenantId(getTenantId()); | kwMeter.setTenantId(getTenantId()); | ||||
| kwMeter.setStatus(EnumMeterStatus.VALID.getCode()); | |||||
| return new ResultData(kwMeterService.listAsPage(kwMeter, pageNum,pageSize)); | return new ResultData(kwMeterService.listAsPage(kwMeter, pageNum,pageSize)); | ||||
| } | } | ||||
| @ApiOperation("添加设备") | |||||
| @PostMapping("add") | |||||
| @ApiOperation("添加设备") | |||||
| @PostMapping("add") | |||||
| @SystemControllerLog(description = "电表设备-添加设备") | |||||
| public Result add(@RequestBody KwMeter kwMeter) { | |||||
| if (kwMeter == null) | |||||
| return new ResultData(ErrorCode.SYS_PARAMETER_ERROR); | |||||
| if (kwMeter.getAddress() == null) | |||||
| return new ResultData(ErrorCode.SYS_PARAMETER_ERROR); | |||||
| KwMeter record = new KwMeter(); | |||||
| record.setTenantId(getTenantId()); | |||||
| record.setAddress(kwMeter.getAddress()); | |||||
| List<KwMeter> KwMeters = kwMeterService.findList(record); | |||||
| if (KwMeters.size() > 0) | |||||
| return new ResultData(ErrorCode.DEVICE_ALREADY_EXIST); | |||||
| kwMeter.setTenantId(getTenantId()); | |||||
| kwMeter.setBoxId(0L); | |||||
| kwMeter.setBindStatus(EnumMeterBindStatus.UNBIND.getCode()); | |||||
| return kwMeterService.saveOrUpdate(kwMeter); | |||||
| } | |||||
| @ApiOperation("绑定设备") | |||||
| @PostMapping("bind") | |||||
| @SystemControllerLog(description = "电表设备-添加设备") | @SystemControllerLog(description = "电表设备-添加设备") | ||||
| public Result add(@RequestBody KwMeter kwMeter) { | |||||
| public Result bind(@RequestBody KwMeter kwMeter) { | |||||
| if (kwMeter == null) | if (kwMeter == null) | ||||
| return new ResultData(ErrorCode.SYS_PARAMETER_ERROR); | return new ResultData(ErrorCode.SYS_PARAMETER_ERROR); | ||||
| @@ -74,9 +99,35 @@ public class KwMeterController extends BaseController { | |||||
| if (KwMeters.size() > 0) | if (KwMeters.size() > 0) | ||||
| return new ResultData(ErrorCode.DEVICE_ALREADY_EXIST); | return new ResultData(ErrorCode.DEVICE_ALREADY_EXIST); | ||||
| kwMeter.setTenantId(getTenantId()); | kwMeter.setTenantId(getTenantId()); | ||||
| kwMeter.setBindStatus(EnumMeterBindStatus.BIND.getCode()); | |||||
| return kwMeterService.saveOrUpdate(kwMeter); | return kwMeterService.saveOrUpdate(kwMeter); | ||||
| } | } | ||||
| @ApiOperation("绑定设备") | |||||
| @PostMapping("unbind") | |||||
| @SystemControllerLog(description = "电表设备-添加设备") | |||||
| public Result unbind(@RequestBody KwMeter kwMeter) { | |||||
| if (kwMeter == null) | |||||
| return new ResultData(ErrorCode.SYS_PARAMETER_ERROR); | |||||
| if (kwMeter.getBoxId() == null) | |||||
| return new ResultData(ErrorCode.SYS_PARAMETER_ERROR); | |||||
| if (kwMeter.getId() == null) | |||||
| return new ResultData(ErrorCode.SYS_PARAMETER_ERROR); | |||||
| KwBox kwBox = kwBoxService.getById(kwMeter.getBoxId()); | |||||
| if (kwBox == null) | |||||
| return new ResultData(ErrorCode.DEVICE_NOT_FOUND); | |||||
| KwMeter record = kwMeterService.getById(kwMeter.getId()); | |||||
| if (record == null) | |||||
| return new ResultData(ErrorCode.DEVICE_NOT_FOUND); | |||||
| kwMeter.setTenantId(getTenantId()); | |||||
| kwMeter.setBoxId(0L); | |||||
| kwMeter.setBindStatus(EnumMeterBindStatus.UNBIND.getCode()); | |||||
| return kwMeterService.saveOrUpdate(kwMeter); | |||||
| } | |||||
| @ApiOperation("更新设备") | @ApiOperation("更新设备") | ||||
| @PostMapping("update") | @PostMapping("update") | ||||
| @SystemControllerLog(description = "电表设备-更新设备") | @SystemControllerLog(description = "电表设备-更新设备") | ||||
| @@ -0,0 +1,45 @@ | |||||
| package com.iformall.controller.device; | |||||
| import com.iformall.annotation.SystemControllerLog; | |||||
| import com.iformall.common.Result; | |||||
| import com.iformall.common.ResultData; | |||||
| import com.iformall.controller.base.BaseController; | |||||
| import com.iformall.domain.dto.KwMeterDataDto; | |||||
| import com.iformall.domain.po.KwMeterData; | |||||
| import com.iformall.service.kw.KwMeterDataService; | |||||
| import io.swagger.annotations.Api; | |||||
| import io.swagger.annotations.ApiImplicitParam; | |||||
| import io.swagger.annotations.ApiImplicitParams; | |||||
| import io.swagger.annotations.ApiOperation; | |||||
| import org.slf4j.Logger; | |||||
| import org.slf4j.LoggerFactory; | |||||
| import org.springframework.beans.factory.annotation.Autowired; | |||||
| import org.springframework.web.bind.annotation.*; | |||||
| import java.util.List; | |||||
| @RestController | |||||
| @RequestMapping("kwMeterData") | |||||
| @Api(description="电表数据") | |||||
| public class KwMeterDataController extends BaseController { | |||||
| private final Logger logger = LoggerFactory.getLogger(this.getClass()); | |||||
| @Autowired | |||||
| private KwMeterDataService kwMeterDataService; | |||||
| @ApiOperation("数据列表") | |||||
| @GetMapping("list") | |||||
| @ApiImplicitParams({ | |||||
| @ApiImplicitParam(name = "pageNum", value = "页数", dataType = "int", paramType = "query", required = true), | |||||
| @ApiImplicitParam(name = "pageSize", value = "每页条数", dataType = "int", paramType = "query", required = true)}) | |||||
| @SystemControllerLog(description = "电表设备-设备列表") | |||||
| public Result list(@ModelAttribute KwMeterDataDto kwMeterDataDto, Integer pageNum, Integer pageSize) { | |||||
| if (kwMeterDataDto == null) kwMeterDataDto = new KwMeterDataDto(); | |||||
| kwMeterDataDto.setTenantId(getTenantId()); | |||||
| return new ResultData(kwMeterDataService.listVoAsPage(kwMeterDataDto, pageNum,pageSize)); | |||||
| } | |||||
| } | |||||
| @@ -143,8 +143,8 @@ public class KwBoxV1Controller extends BaseController { | |||||
| if (!metersData.isEmpty()) { | if (!metersData.isEmpty()) { | ||||
| metersData.stream().forEach(m->{ | metersData.stream().forEach(m->{ | ||||
| String addr = m.get("addr"); | String addr = m.get("addr"); | ||||
| String data = m.get("data"); | |||||
| kwBoxService.saveMeterData(kwBox, deviceTime, addr, data); | |||||
| String activePower = m.get("ap"); //active power | |||||
| kwBoxService.saveMeterData(kwBox, deviceTime, addr, activePower); | |||||
| }); | }); | ||||
| } | } | ||||
| @@ -0,0 +1,110 @@ | |||||
| package com.iformall.domain.dto; | |||||
| import com.iformall.domain.po.BaseEntity; | |||||
| import io.swagger.models.auth.In; | |||||
| import lombok.Data; | |||||
| import lombok.EqualsAndHashCode; | |||||
| import lombok.ToString; | |||||
| import javax.persistence.Id; | |||||
| import javax.persistence.Table; | |||||
| import javax.persistence.Transient; | |||||
| import java.util.ArrayList; | |||||
| import java.util.Date; | |||||
| import java.util.List; | |||||
| /** | |||||
| * @author gongbiao | |||||
| */ | |||||
| @Data | |||||
| public class KwMeterDataDto extends BaseEntity { | |||||
| protected String sortColumns; | |||||
| @Override | |||||
| public String getSortColumns() { | |||||
| super.setSortColumns(this.sortColumns); | |||||
| return super.getSortColumns(); | |||||
| } | |||||
| @io.swagger.annotations.ApiModelProperty(value = "tenantId", name = "tenantId") | |||||
| private String tenantId; | |||||
| @io.swagger.annotations.ApiModelProperty(value = "电表ID", name = "meterId") | |||||
| private Long meterId; | |||||
| @io.swagger.annotations.ApiModelProperty(value = "盒子ID", name = "boxId") | |||||
| private Long boxId; | |||||
| @io.swagger.annotations.ApiModelProperty(value = "电表编号", name = "address") | |||||
| private String address; | |||||
| @io.swagger.annotations.ApiModelProperty(value = "开始时间", name = "startTime") | |||||
| private Date startTime; | |||||
| @io.swagger.annotations.ApiModelProperty(value = "结束时间", name = "endTime") | |||||
| private Date endTime; | |||||
| private Integer type; | |||||
| public static enum Field { | |||||
| 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) { | |||||
| this.value = value; | |||||
| } | |||||
| public String getValue() { | |||||
| return value; | |||||
| } | |||||
| public void setCol(String value) { | |||||
| this.value = value; | |||||
| } | |||||
| @Override | |||||
| public String toString() { | |||||
| return this.getValue(); | |||||
| } | |||||
| } | |||||
| public void setSortColumns(Field... fields) { | |||||
| if (fields == null || fields.length == 0) { | |||||
| return; | |||||
| } | |||||
| for (int k = 0; k < fields.length; k++) { | |||||
| if (fields[k] == null) { | |||||
| return; | |||||
| } | |||||
| } | |||||
| StringBuilder sb = new StringBuilder(fields[0].toString()); | |||||
| for (int k = 1; k < fields.length; k++) { | |||||
| sb.append(","); | |||||
| sb.append(fields[k].toString()); | |||||
| } | |||||
| this.sortColumns = sb.toString(); | |||||
| } | |||||
| public void setSortColumns(String sortColumns) { | |||||
| if (sortColumns == null || "".equals(sortColumns.trim())) { | |||||
| return; | |||||
| } | |||||
| if (sortColumns.contains(",")) { | |||||
| String[] cols = sortColumns.split(","); | |||||
| List<Field> fList = new ArrayList(); | |||||
| for (int k = 0; k < cols.length; k++) { | |||||
| fList.add(Field.valueOf(cols[k])); | |||||
| } | |||||
| this.setSortColumns(fList.toArray(new Field[fList.size()])); | |||||
| } else { | |||||
| this.setSortColumns(Field.valueOf(sortColumns)); | |||||
| } | |||||
| } | |||||
| } | |||||
| @@ -51,7 +51,12 @@ public class KwMerchantMeter extends BaseEntity { | |||||
| private Date updateTime; | private Date updateTime; | ||||
| public static enum Field { | 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; | private String value; | ||||
| Field(String value) { | Field(String value) { | ||||
| @@ -74,6 +74,8 @@ public class KwMeter extends BaseEntity { | |||||
| @io.swagger.annotations.ApiModelProperty(value = "状态0有效1无效", name = "status") | @io.swagger.annotations.ApiModelProperty(value = "状态0有效1无效", name = "status") | ||||
| private Integer status; | private Integer status; | ||||
| @io.swagger.annotations.ApiModelProperty(value = "状态0绑定1未绑定", name = "bindStatus") | |||||
| private Integer bindStatus; | |||||
| public static enum Field { | public static enum Field { | ||||
| Id_ASC("`id` ASC"), | Id_ASC("`id` ASC"), | ||||
| @@ -44,8 +44,8 @@ public class KwMeterData extends BaseEntity { | |||||
| @io.swagger.annotations.ApiModelProperty(value = "电表编号", name = "address") | @io.swagger.annotations.ApiModelProperty(value = "电表编号", name = "address") | ||||
| private String address; | private String address; | ||||
| @io.swagger.annotations.ApiModelProperty(value = "总用电量", name = "totalConsumption") | |||||
| private String totalConsumption; | |||||
| @io.swagger.annotations.ApiModelProperty(value = "总用电量", name = "totalPower") | |||||
| private Integer totalPower; | |||||
| @io.swagger.annotations.ApiModelProperty(value = "设备命令上传记录时间", name = "deviceTime") | @io.swagger.annotations.ApiModelProperty(value = "设备命令上传记录时间", name = "deviceTime") | ||||
| private Date deviceTime; | private Date deviceTime; | ||||
| @@ -0,0 +1,40 @@ | |||||
| package com.iformall.domain.vo; | |||||
| import com.iformall.domain.po.BaseEntity; | |||||
| import lombok.Data; | |||||
| import java.util.ArrayList; | |||||
| import java.util.Date; | |||||
| import java.util.List; | |||||
| /** | |||||
| * @author gongbiao | |||||
| */ | |||||
| @Data | |||||
| public class KwMeterDataVo extends BaseEntity { | |||||
| @io.swagger.annotations.ApiModelProperty(value = "tenantId", name = "tenantId") | |||||
| private String tenantId; | |||||
| @io.swagger.annotations.ApiModelProperty(value = "电表ID", name = "meterId") | |||||
| private Long meterId; | |||||
| @io.swagger.annotations.ApiModelProperty(value = "电表编号", name = "address") | |||||
| private String address; | |||||
| @io.swagger.annotations.ApiModelProperty(value = "使用的电量", name = "startTime") | |||||
| private Integer usedPower; | |||||
| @io.swagger.annotations.ApiModelProperty(value = "总电量", name = "startTime") | |||||
| private Integer totalPower; | |||||
| @io.swagger.annotations.ApiModelProperty(value = "记录时间", name = "createTime") | |||||
| private Date createTime; | |||||
| @io.swagger.annotations.ApiModelProperty(value = "统计开始时间", name = "startTime") | |||||
| private Date startTime; | |||||
| @io.swagger.annotations.ApiModelProperty(value = "统计结束时间", name = "endTime") | |||||
| private Date endTime; | |||||
| } | |||||
| @@ -0,0 +1,34 @@ | |||||
| package com.iformall.enums; | |||||
| /** | |||||
| * Created by Stormeye on 2018/08/09. | |||||
| */ | |||||
| public enum EnumMeterBindStatus { | |||||
| BIND(0, "绑定"), | |||||
| UNBIND(1, "解绑"); | |||||
| public static EnumMeterBindStatus getEnum(Integer code) { | |||||
| for (EnumMeterBindStatus value : values()) { | |||||
| if (value.getCode().equals(code)) { | |||||
| return value; | |||||
| } | |||||
| } | |||||
| return null; | |||||
| } | |||||
| private Integer code; | |||||
| private String message; | |||||
| EnumMeterBindStatus(Integer code, String message) { | |||||
| this.code = code; | |||||
| this.message = message; | |||||
| } | |||||
| public Integer getCode() { | |||||
| return code; | |||||
| } | |||||
| public String getMessage() { | |||||
| return message; | |||||
| } | |||||
| } | |||||
| @@ -1,7 +1,9 @@ | |||||
| package com.iformall.mapper; | package com.iformall.mapper; | ||||
| import com.iformall.common.CommonMapper; | import com.iformall.common.CommonMapper; | ||||
| import com.iformall.domain.dto.KwMeterDataDto; | |||||
| import com.iformall.domain.po.KwMeterData; | import com.iformall.domain.po.KwMeterData; | ||||
| import com.iformall.domain.vo.KwMeterDataVo; | |||||
| import java.util.List; | import java.util.List; | ||||
| @@ -9,5 +11,5 @@ public interface KwMeterDataMapper extends CommonMapper<KwMeterData, Long> { | |||||
| List<KwMeterData> findList(KwMeterData param); | List<KwMeterData> findList(KwMeterData param); | ||||
| List<KwMeterDataVo> findVoList(KwMeterDataDto param); | |||||
| } | } | ||||
| @@ -64,5 +64,5 @@ public interface KwBoxService { | |||||
| KwBox findByImei(String imei); | KwBox findByImei(String imei); | ||||
| KwMeterData saveMeterData(KwBox record, Date deviceTime, String addr, String data); | |||||
| KwMeterData saveMeterData(KwBox record, Date deviceTime, String addr, String activePower); | |||||
| } | } | ||||
| @@ -1,59 +1,17 @@ | |||||
| package com.iformall.service.kw; | package com.iformall.service.kw; | ||||
| import com.github.pagehelper.PageInfo; | import com.github.pagehelper.PageInfo; | ||||
| import com.iformall.common.ResultData; | |||||
| import com.iformall.domain.po.KwMeter; | |||||
| import com.iformall.domain.dto.KwMeterDataDto; | |||||
| import com.iformall.domain.po.KwMeterData; | import com.iformall.domain.po.KwMeterData; | ||||
| import com.iformall.domain.vo.KwMeterDataVo; | |||||
| import java.util.List; | import java.util.List; | ||||
| public interface KwMeterDataService { | public interface KwMeterDataService { | ||||
| PageInfo<KwMeterDataVo> listVoAsPage(KwMeterDataDto kwMeterDataDto, Integer pageIndex, Integer pageSize); | |||||
| List<KwMeterDataVo> findVoList(KwMeterDataDto kwMeterDataDto); | |||||
| /** | |||||
| * 根据实体查询分页列表 | |||||
| * | |||||
| * @param record | |||||
| * @param pageIndex | |||||
| * @param pageSize | |||||
| * @return | |||||
| */ | |||||
| PageInfo<KwMeterData> listAsPage(KwMeterData record, Integer pageIndex, Integer pageSize); | |||||
| /** | |||||
| * 根据Id获得实体 | |||||
| * | |||||
| * @param id | |||||
| * @return | |||||
| */ | |||||
| KwMeterData getById(Long id); | |||||
| /** | |||||
| * 保存或更新实体 | |||||
| * | |||||
| * @param record | |||||
| */ | |||||
| ResultData saveOrUpdate(KwMeterData record); | |||||
| /** | |||||
| * 根据Id删除实体 | |||||
| * | |||||
| * @param id | |||||
| */ | |||||
| void deleteById(Long id); | |||||
| /** | |||||
| * 根据实体查询分页列表 | |||||
| * | |||||
| * @param record | |||||
| * @return | |||||
| */ | |||||
| List<KwMeterData> findList(KwMeterData record); | |||||
| int save(KwMeterData record); | |||||
| } | } | ||||
| @@ -8,11 +8,14 @@ import com.iformall.common.ResultData; | |||||
| import com.iformall.domain.po.KwBox; | import com.iformall.domain.po.KwBox; | ||||
| import com.iformall.domain.po.KwMeter; | import com.iformall.domain.po.KwMeter; | ||||
| import com.iformall.domain.po.KwMeterData; | import com.iformall.domain.po.KwMeterData; | ||||
| import com.iformall.enums.EnumBoxStatus; | |||||
| import com.iformall.enums.EnumMeterBindStatus; | |||||
| import com.iformall.enums.EnumMeterStatus; | import com.iformall.enums.EnumMeterStatus; | ||||
| import com.iformall.mapper.KwBoxMapper; | import com.iformall.mapper.KwBoxMapper; | ||||
| import com.iformall.service.kw.KwBoxService; | import com.iformall.service.kw.KwBoxService; | ||||
| import com.iformall.service.kw.KwMeterDataService; | import com.iformall.service.kw.KwMeterDataService; | ||||
| import com.iformall.service.kw.KwMeterService; | import com.iformall.service.kw.KwMeterService; | ||||
| import io.netty.util.internal.StringUtil; | |||||
| import org.slf4j.Logger; | import org.slf4j.Logger; | ||||
| import org.slf4j.LoggerFactory; | import org.slf4j.LoggerFactory; | ||||
| import org.springframework.beans.factory.annotation.Autowired; | import org.springframework.beans.factory.annotation.Autowired; | ||||
| @@ -78,6 +81,7 @@ public class KwBoxServiceImpl implements KwBoxService { | |||||
| public KwBox findByImei(String imei) { | public KwBox findByImei(String imei) { | ||||
| KwBox kwBox = new KwBox(); | KwBox kwBox = new KwBox(); | ||||
| kwBox.setImei(imei); | kwBox.setImei(imei); | ||||
| kwBox.setStatus(EnumBoxStatus.VALID.getCode()); | |||||
| List<KwBox> kwBoxes = findList(kwBox); | List<KwBox> kwBoxes = findList(kwBox); | ||||
| if (kwBoxes.size() > 0) | if (kwBoxes.size() > 0) | ||||
| return kwBoxes.get(0); | return kwBoxes.get(0); | ||||
| @@ -85,7 +89,7 @@ public class KwBoxServiceImpl implements KwBoxService { | |||||
| } | } | ||||
| @Override | @Override | ||||
| public KwMeterData saveMeterData(KwBox record, Date deviceTime, String addr, String data){ | |||||
| public KwMeterData saveMeterData(KwBox record, Date deviceTime, String addr, String activePower){ | |||||
| KwMeter kwMeter = findMeter(record, addr); | KwMeter kwMeter = findMeter(record, addr); | ||||
| @@ -98,9 +102,11 @@ public class KwBoxServiceImpl implements KwBoxService { | |||||
| kwMeterData.setCreateTime(new Date()); | kwMeterData.setCreateTime(new Date()); | ||||
| kwMeterData.setDeviceTime(deviceTime); | kwMeterData.setDeviceTime(deviceTime); | ||||
| kwMeterData.setMeterId(kwMeter.getId()); | kwMeterData.setMeterId(kwMeter.getId()); | ||||
| kwMeterData.setTotalConsumption(data); | |||||
| if (!StringUtil.isNullOrEmpty(activePower)) { | |||||
| kwMeterData.setTotalPower(Integer.parseInt(activePower)); | |||||
| } | |||||
| kwMeterDataService.saveOrUpdate(kwMeterData); | |||||
| kwMeterDataService.save(kwMeterData); | |||||
| return kwMeterData; | return kwMeterData; | ||||
| } | } | ||||
| @@ -121,6 +127,7 @@ public class KwBoxServiceImpl implements KwBoxService { | |||||
| KwMeter kwMeter = new KwMeter(); | KwMeter kwMeter = new KwMeter(); | ||||
| kwMeter.setBoxId(record.getId()); | kwMeter.setBoxId(record.getId()); | ||||
| kwMeter.setBindStatus(EnumMeterBindStatus.BIND.getCode()); | |||||
| kwMeter.setStatus(EnumMeterStatus.VALID.getCode()); | kwMeter.setStatus(EnumMeterStatus.VALID.getCode()); | ||||
| return kwMeterService.findList(kwMeter); | return kwMeterService.findList(kwMeter); | ||||
| @@ -131,6 +138,7 @@ public class KwBoxServiceImpl implements KwBoxService { | |||||
| KwMeter kwMeter = new KwMeter(); | KwMeter kwMeter = new KwMeter(); | ||||
| kwMeter.setBoxId(record.getId()); | kwMeter.setBoxId(record.getId()); | ||||
| kwMeter.setBindStatus(EnumMeterBindStatus.BIND.getCode()); | |||||
| kwMeter.setStatus(EnumMeterStatus.VALID.getCode()); | kwMeter.setStatus(EnumMeterStatus.VALID.getCode()); | ||||
| kwMeter.setAddress(addr); | kwMeter.setAddress(addr); | ||||
| @@ -4,7 +4,9 @@ import com.github.pagehelper.PageHelper; | |||||
| import com.github.pagehelper.PageInfo; | import com.github.pagehelper.PageInfo; | ||||
| import com.iformall.common.IdWorker; | import com.iformall.common.IdWorker; | ||||
| import com.iformall.common.ResultData; | import com.iformall.common.ResultData; | ||||
| import com.iformall.domain.dto.KwMeterDataDto; | |||||
| import com.iformall.domain.po.KwMeterData; | import com.iformall.domain.po.KwMeterData; | ||||
| import com.iformall.domain.vo.KwMeterDataVo; | |||||
| import com.iformall.mapper.KwMeterDataMapper; | import com.iformall.mapper.KwMeterDataMapper; | ||||
| import com.iformall.service.kw.KwMeterDataService; | import com.iformall.service.kw.KwMeterDataService; | ||||
| import org.slf4j.Logger; | import org.slf4j.Logger; | ||||
| @@ -23,38 +25,18 @@ public class KwMeterDataServiceImpl implements KwMeterDataService { | |||||
| KwMeterDataMapper kwMeterDataMapper; | KwMeterDataMapper kwMeterDataMapper; | ||||
| @Override | @Override | ||||
| public PageInfo<KwMeterData> listAsPage(KwMeterData record, Integer pageIndex, Integer pageSize) { | |||||
| return PageHelper.startPage(pageIndex, pageSize).doSelectPageInfo(() -> kwMeterDataMapper.findList(record)); | |||||
| public PageInfo<KwMeterDataVo> listVoAsPage(KwMeterDataDto kwMeterDataDto, Integer pageIndex, Integer pageSize) { | |||||
| return PageHelper.startPage(pageIndex, pageSize).doSelectPageInfo(() -> kwMeterDataMapper.findVoList(kwMeterDataDto)); | |||||
| } | } | ||||
| @Override | @Override | ||||
| public KwMeterData getById(Long id) { | |||||
| return kwMeterDataMapper.selectByPrimaryKey(id); | |||||
| public List<KwMeterDataVo> findVoList(KwMeterDataDto kwMeterDataDto) { | |||||
| return kwMeterDataMapper.findVoList(kwMeterDataDto); | |||||
| } | } | ||||
| @Override | |||||
| public ResultData saveOrUpdate(KwMeterData record) { | |||||
| if (record.getId() == null) { | |||||
| final IdWorker idWorker = IdWorker.get(); | |||||
| record.setId(idWorker.nextId()); | |||||
| kwMeterDataMapper.insertSelective(record); | |||||
| } else { | |||||
| kwMeterDataMapper.updateByPrimaryKeySelective(record); | |||||
| } | |||||
| return new ResultData(); | |||||
| } | |||||
| @Override | @Override | ||||
| public void deleteById(Long id) { | |||||
| kwMeterDataMapper.deleteByPrimaryKey(id); | |||||
| public int save(KwMeterData record) { | |||||
| return kwMeterDataMapper.insertSelective(record); | |||||
| } | } | ||||
| @Override | |||||
| public List<KwMeterData> findList(KwMeterData record) { | |||||
| return kwMeterDataMapper.findList(record); | |||||
| } | |||||
| } | } | ||||
| @@ -7,13 +7,13 @@ | |||||
| <result column="meter_id" jdbcType="BIGINT" property="meteId"/> | <result column="meter_id" jdbcType="BIGINT" property="meteId"/> | ||||
| <result column="box_id" jdbcType="BIGINT" property="boxId"/> | <result column="box_id" jdbcType="BIGINT" property="boxId"/> | ||||
| <result column="address" jdbcType="VARCHAR" property="address"/> | <result column="address" jdbcType="VARCHAR" property="address"/> | ||||
| <result column="total_consumption" jdbcType="VARCHAR" property="totalConsumption"/> | |||||
| <result column="total_power" jdbcType="INTEGER" property="totalPower"/> | |||||
| <result column="device_time" jdbcType="TIMESTAMP" property="deviceTime"/> | <result column="device_time" jdbcType="TIMESTAMP" property="deviceTime"/> | ||||
| <result column="create_time" jdbcType="TIMESTAMP" property="createTime"/> | <result column="create_time" jdbcType="TIMESTAMP" property="createTime"/> | ||||
| </resultMap> | </resultMap> | ||||
| <sql id="allColumns"> | <sql id="allColumns"> | ||||
| `id`,`tenant_id`,`meter_id`,`box_id`,`address`,`total_consumption`,`device_time`,`create_time` | |||||
| `id`,`tenant_id`,`meter_id`,`box_id`,`address`,`total_power`,`device_time`,`create_time` | |||||
| </sql> | </sql> | ||||
| <sql id="dynamicWhereConditions"> | <sql id="dynamicWhereConditions"> | ||||
| @@ -17,11 +17,11 @@ | |||||
| <result column="update_time" jdbcType="TIMESTAMP" property="updateTime"/> | <result column="update_time" jdbcType="TIMESTAMP" property="updateTime"/> | ||||
| <result column="box_id" jdbcType="BIGINT" property="boxId"/> | <result column="box_id" jdbcType="BIGINT" property="boxId"/> | ||||
| <result column="status" jdbcType="INTEGER" property="status"/> | <result column="status" jdbcType="INTEGER" property="status"/> | ||||
| <result column="bind_status" jdbcType="INTEGER" property="bindStatus"/> | |||||
| </resultMap> | </resultMap> | ||||
| <sql id="allColumns"> | <sql id="allColumns"> | ||||
| `id`,`tenant_id`,`address`,`brand`,`model`,`place`,`protocol`,`bandrate`,`last_online_time`,`online_status`,`config`,`create_time`,`update_time`,`box_id`,`status` | |||||
| `id`,`tenant_id`,`address`,`brand`,`model`,`place`,`protocol`,`bandrate`,`last_online_time`,`online_status`,`config`,`create_time`,`update_time`,`box_id`,`status`,`bind_status` | |||||
| </sql> | </sql> | ||||
| <sql id="dynamicWhereConditions"> | <sql id="dynamicWhereConditions"> | ||||
| @@ -63,6 +63,10 @@ | |||||
| and `status` = #{status} | and `status` = #{status} | ||||
| </if> | </if> | ||||
| <if test=" null != bindStatus "> | |||||
| and `bind_status` = #{bindStatus} | |||||
| </if> | |||||
| <if test=" null != ids "> | <if test=" null != ids "> | ||||
| and id in | and id in | ||||
| <foreach collection="ids" index="index" item="idItem" open="(" separator="," close=")"> | <foreach collection="ids" index="index" item="idItem" open="(" separator="," close=")"> | ||||