diff --git a/mallinkAdmin/src/main/java/com/iformall/controller/device/KwBoxController.java b/mallinkAdmin/src/main/java/com/iformall/controller/device/KwBoxController.java new file mode 100644 index 000000000..b7973a3c2 --- /dev/null +++ b/mallinkAdmin/src/main/java/com/iformall/controller/device/KwBoxController.java @@ -0,0 +1,97 @@ +package com.iformall.controller.device; + +import com.iformall.annotation.SystemControllerLog; +import com.iformall.common.ErrorCode; +import com.iformall.common.Result; +import com.iformall.common.ResultData; +import com.iformall.controller.base.BaseController; +import com.iformall.domain.po.KwBox; +import com.iformall.enums.EnumBoxStatus; +import com.iformall.service.kw.KwBoxService; +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("kwBox") +@Api(description="开物盒子") +public class KwBoxController extends BaseController { + private final Logger logger = LoggerFactory.getLogger(this.getClass()); + + @Autowired + private KwBoxService kwBoxService; + + @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 KwBox kwBox, Integer pageNum, Integer pageSize) { + if (kwBox == null) kwBox = new KwBox(); + kwBox.setTenantId(getTenantId()); + kwBox.setStatus(EnumBoxStatus.VALID.getCode()); + return new ResultData(kwBoxService.listAsPage(kwBox, pageNum,pageSize)); + } + + @ApiOperation("添加设备") + @PostMapping("add") + @SystemControllerLog(description = "开物盒子-添加设备") + public Result add(@RequestBody KwBox kwBox) { + + KwBox record = new KwBox(); + record.setImei(kwBox.getImei()); + List list = kwBoxService.findList(record); + if (list.size() > 0) + return new ResultData(ErrorCode.DEVICE_ALREADY_EXIST); + kwBox.setTenantId(getTenantId()); + kwBox.setStatus(EnumBoxStatus.VALID.getCode()); + return kwBoxService.saveOrUpdate(kwBox); + } + + @ApiOperation("更新设备") + @PostMapping("update") + @SystemControllerLog(description = "开物盒子-更新设备") + public Result update(@RequestBody KwBox kwBox) { + if (kwBox == null) + return new ResultData(ErrorCode.SYS_PARAMETER_ERROR); + if (kwBox.getId() == null) + return new ResultData(ErrorCode.SYS_PARAMETER_ERROR); + kwBox.setTenantId(getTenantId()); + return kwBoxService.saveOrUpdate(kwBox); + } + + @ApiOperation("设备详情") + @GetMapping("detail") + @SystemControllerLog(description = "开物盒子-设备详情") + public Result detail(@RequestParam Long id) { + if (id == null) + return new ResultData(ErrorCode.SYS_PARAMETER_ERROR); + KwBox kwBox = kwBoxService.getById(id); + if (kwBox == null) + return new ResultData(ErrorCode.SCREENAD_NOT_FOUND); + + kwBox.setMeters(kwBoxService.findMeters(kwBox)); + return new ResultData(kwBox); + } + + @ApiOperation("删除设备") + @PostMapping("delete") + @SystemControllerLog(description = "开物盒子-删除设备") + public Result delete(@RequestParam Long id) { + if (id == null) + return new ResultData(ErrorCode.SYS_PARAMETER_ERROR); + KwBox kwBox = new KwBox(); + kwBox.setId(id); + kwBox.setTenantId(getTenantId()); + kwBox.setStatus(EnumBoxStatus.INVALID.getCode()); + return kwBoxService.saveOrUpdate(kwBox); + } +} diff --git a/mallinkAdmin/src/main/java/com/iformall/controller/device/KwMeterController.java b/mallinkAdmin/src/main/java/com/iformall/controller/device/KwMeterController.java new file mode 100644 index 000000000..d275625b8 --- /dev/null +++ b/mallinkAdmin/src/main/java/com/iformall/controller/device/KwMeterController.java @@ -0,0 +1,117 @@ +package com.iformall.controller.device; + +import com.iformall.annotation.SystemControllerLog; +import com.iformall.common.ErrorCode; +import com.iformall.common.Result; +import com.iformall.common.ResultData; +import com.iformall.controller.base.BaseController; +import com.iformall.domain.po.KwBox; +import com.iformall.domain.po.KwMeter; +import com.iformall.enums.EnumBoxStatus; +import com.iformall.service.kw.KwBoxService; +import com.iformall.service.kw.KwMeterService; +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("kwMeter") +@Api(description="电表设备") +public class KwMeterController extends BaseController { + private final Logger logger = LoggerFactory.getLogger(this.getClass()); + + @Autowired + private KwMeterService kwMeterService; + + @Autowired + private KwBoxService kwBoxService; + + + @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 KwMeter kwMeter, Integer pageNum, Integer pageSize) { + if (kwMeter == null) kwMeter = new KwMeter(); + kwMeter.setTenantId(getTenantId()); + return new ResultData(kwMeterService.listAsPage(kwMeter, pageNum,pageSize)); + } + + @ApiOperation("添加设备") + @PostMapping("add") + @SystemControllerLog(description = "电表设备-添加设备") + public Result add(@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.getAddress() == 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 = new KwMeter(); + record.setBoxId(kwMeter.getBoxId()); + List KwMeters = kwMeterService.findList(record); + if (KwMeters.size() > kwBox.getMaxTagNum()) + return new ResultData(ErrorCode.DEVICE_REACHED_MAX_NUMBER); + + record.setBoxId(kwMeter.getBoxId()); + record.setAddress(kwMeter.getAddress()); + KwMeters = kwMeterService.findList(record); + if (KwMeters.size() > 0) + return new ResultData(ErrorCode.DEVICE_ALREADY_EXIST); + kwMeter.setTenantId(getTenantId()); + return kwMeterService.saveOrUpdate(kwMeter); + } + + @ApiOperation("更新设备") + @PostMapping("update") + @SystemControllerLog(description = "电表设备-更新设备") + public Result update(@RequestBody KwMeter kwMeter) { + if (kwMeter == null) + return new ResultData(ErrorCode.SYS_PARAMETER_ERROR); + if (kwMeter.getId() == null) + return new ResultData(ErrorCode.SYS_PARAMETER_ERROR); + kwMeter.setTenantId(getTenantId()); + return kwMeterService.saveOrUpdate(kwMeter); + } + + @ApiOperation("设备详情") + @GetMapping("detail") + @SystemControllerLog(description = "电表设备-设备详情") + public Result detail(@RequestParam Long id) { + if (id == null) + return new ResultData(ErrorCode.SYS_PARAMETER_ERROR); + KwMeter kwMeter = kwMeterService.getById(id); + if (kwMeter == null) + return new ResultData(ErrorCode.DEVICE_NOT_FOUND); + + return new ResultData(kwMeter); + } + + @ApiOperation("删除设备") + @PostMapping("delete") + @SystemControllerLog(description = "电表设备-删除设备") + public Result delete(@RequestParam Long id) { + if (id == null) + return new ResultData(ErrorCode.SYS_PARAMETER_ERROR); + KwMeter kwMeter = new KwMeter(); + kwMeter.setId(id); + kwMeter.setTenantId(getTenantId()); + kwMeter.setStatus(EnumBoxStatus.INVALID.getCode()); + return kwMeterService.saveOrUpdate(kwMeter); + } +} diff --git a/mallinkCallback/src/main/java/com/iformall/controller/device/KwBoxV1Controller.java b/mallinkCallback/src/main/java/com/iformall/controller/device/KwBoxV1Controller.java index da4f90945..87ee7da31 100644 --- a/mallinkCallback/src/main/java/com/iformall/controller/device/KwBoxV1Controller.java +++ b/mallinkCallback/src/main/java/com/iformall/controller/device/KwBoxV1Controller.java @@ -87,7 +87,7 @@ public class KwBoxV1Controller extends BaseController { data.put("comKey",kwBox.getComKey()); if (kwBox.getConfig() != null) data.put("config",kwBox.getConfig()); - List meters = kwBoxService.findMeters(kwBox); + List meters = kwBoxService.findMetersAddress(kwBox); if (!meters.isEmpty()) data.put("meters",meters); return new ResultData(data); @@ -148,7 +148,7 @@ public class KwBoxV1Controller extends BaseController { }); } - List meters = kwBoxService.findMeters(kwBox); + List meters = kwBoxService.findMetersAddress(kwBox); boolean updateMeters = false; boolean updateConfig = false; diff --git a/mallinkService/src/main/java/com/iformall/common/ErrorCode.java b/mallinkService/src/main/java/com/iformall/common/ErrorCode.java index 02c94b7db..9ed074ce1 100644 --- a/mallinkService/src/main/java/com/iformall/common/ErrorCode.java +++ b/mallinkService/src/main/java/com/iformall/common/ErrorCode.java @@ -403,6 +403,7 @@ public enum ErrorCode{ DEVICE_NOT_FOUND(26000, "设备未注册到系统"), DEVICE_ALREADY_EXIST(26001, "设备已经存在"), DEVICE_QRCODE_GET_FAILED(26002, "微信二维码生成失败,请重试"), + DEVICE_REACHED_MAX_NUMBER(26003, "设备已经达到最大数量"), /** * 消息组件 */ diff --git a/mallinkService/src/main/java/com/iformall/domain/po/KwBox.java b/mallinkService/src/main/java/com/iformall/domain/po/KwBox.java index 3682b3590..a16e3f1a0 100644 --- a/mallinkService/src/main/java/com/iformall/domain/po/KwBox.java +++ b/mallinkService/src/main/java/com/iformall/domain/po/KwBox.java @@ -74,6 +74,15 @@ public class KwBox extends BaseEntity { @io.swagger.annotations.ApiModelProperty(value = "通信密钥", name = "comKey") private String comKey; + @io.swagger.annotations.ApiModelProperty(value = "状态0有效1无效", name = "status") + private Integer status; + + @io.swagger.annotations.ApiModelProperty(value = "最大目标数量", name = "maxTagNum") + private Integer maxTagNum; + + @Transient + private List meters; + public static enum Field { Id_ASC("`id` ASC"), Id_DESC("`id` DESC"), diff --git a/mallinkService/src/main/java/com/iformall/domain/po/KwBoxMeter.java b/mallinkService/src/main/java/com/iformall/domain/po/KwBoxMeter.java deleted file mode 100644 index 25a6d2623..000000000 --- a/mallinkService/src/main/java/com/iformall/domain/po/KwBoxMeter.java +++ /dev/null @@ -1,107 +0,0 @@ -package com.iformall.domain.po; - -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 - */ -@Table(name = "kw_box_meter") -@Data -@ToString(callSuper = true) -@EqualsAndHashCode(callSuper = true) -public class KwBoxMeter extends BaseEntity { - @Id - protected Long id; - @Transient - protected List ids; - @Transient - 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 = "状态1历史0在用", name = "status") - private Integer status; - - @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"); - 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 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)); - } - } -} diff --git a/mallinkService/src/main/java/com/iformall/domain/po/KwMeter.java b/mallinkService/src/main/java/com/iformall/domain/po/KwMeter.java index e158a2329..0790d9c37 100644 --- a/mallinkService/src/main/java/com/iformall/domain/po/KwMeter.java +++ b/mallinkService/src/main/java/com/iformall/domain/po/KwMeter.java @@ -68,6 +68,13 @@ public class KwMeter extends BaseEntity { @io.swagger.annotations.ApiModelProperty(value = "修改时间", name = "updateTime") private Date updateTime; + @io.swagger.annotations.ApiModelProperty(value = "开物盒子ID", name = "boxId") + private Long boxId; + + @io.swagger.annotations.ApiModelProperty(value = "状态0有效1无效", name = "status") + private Integer status; + + public static enum Field { Id_ASC("`id` ASC"), Id_DESC("`id` DESC"), diff --git a/mallinkService/src/main/java/com/iformall/enums/EnumBoxMeterStatus.java b/mallinkService/src/main/java/com/iformall/enums/EnumBoxStatus.java similarity index 71% rename from mallinkService/src/main/java/com/iformall/enums/EnumBoxMeterStatus.java rename to mallinkService/src/main/java/com/iformall/enums/EnumBoxStatus.java index 1104f2c2c..fff4099d0 100644 --- a/mallinkService/src/main/java/com/iformall/enums/EnumBoxMeterStatus.java +++ b/mallinkService/src/main/java/com/iformall/enums/EnumBoxStatus.java @@ -3,12 +3,12 @@ package com.iformall.enums; /** * Created by Stormeye on 2018/08/09. */ -public enum EnumBoxMeterStatus { +public enum EnumBoxStatus { VALID(0, "有效"), INVALID(1, "无效"); - public static EnumBoxMeterStatus getEnum(Integer code) { - for (EnumBoxMeterStatus value : values()) { + public static EnumBoxStatus getEnum(Integer code) { + for (EnumBoxStatus value : values()) { if (value.getCode().equals(code)) { return value; } @@ -19,7 +19,7 @@ public enum EnumBoxMeterStatus { private Integer code; private String message; - EnumBoxMeterStatus(Integer code, String message) { + EnumBoxStatus(Integer code, String message) { this.code = code; this.message = message; } diff --git a/mallinkService/src/main/java/com/iformall/enums/EnumMeterStatus.java b/mallinkService/src/main/java/com/iformall/enums/EnumMeterStatus.java new file mode 100644 index 000000000..ed6fc8a34 --- /dev/null +++ b/mallinkService/src/main/java/com/iformall/enums/EnumMeterStatus.java @@ -0,0 +1,34 @@ +package com.iformall.enums; + +/** + * Created by Stormeye on 2018/08/09. + */ +public enum EnumMeterStatus { + + VALID(0, "有效"), + INVALID(1, "无效"); + public static EnumMeterStatus getEnum(Integer code) { + for (EnumMeterStatus value : values()) { + if (value.getCode().equals(code)) { + return value; + } + } + return null; + } + + private Integer code; + private String message; + + EnumMeterStatus(Integer code, String message) { + this.code = code; + this.message = message; + } + + public Integer getCode() { + return code; + } + + public String getMessage() { + return message; + } +} diff --git a/mallinkService/src/main/java/com/iformall/mapper/KwBoxMeterMapper.java b/mallinkService/src/main/java/com/iformall/mapper/KwBoxMeterMapper.java deleted file mode 100644 index e29f65513..000000000 --- a/mallinkService/src/main/java/com/iformall/mapper/KwBoxMeterMapper.java +++ /dev/null @@ -1,13 +0,0 @@ -package com.iformall.mapper; - -import com.iformall.common.CommonMapper; -import com.iformall.domain.po.KwBoxMeter; - -import java.util.List; - -public interface KwBoxMeterMapper extends CommonMapper { - - List findList(KwBoxMeter param); - - -} diff --git a/mallinkService/src/main/java/com/iformall/service/kw/KwBoxMeterService.java b/mallinkService/src/main/java/com/iformall/service/kw/KwBoxMeterService.java deleted file mode 100644 index aa12d0ff1..000000000 --- a/mallinkService/src/main/java/com/iformall/service/kw/KwBoxMeterService.java +++ /dev/null @@ -1,58 +0,0 @@ -package com.iformall.service.kw; - - -import com.github.pagehelper.PageInfo; -import com.iformall.common.ResultData; -import com.iformall.domain.po.KwBoxMeter; - -import java.util.List; - -public interface KwBoxMeterService { - - - - /** - * 根据实体查询分页列表 - * - * @param record - * @param pageIndex - * @param pageSize - * @return - */ - PageInfo listAsPage(KwBoxMeter record, Integer pageIndex, Integer pageSize); - - - /** - * 根据Id获得实体 - * - * @param id - * @return - */ - KwBoxMeter getById(Long id); - - /** - * 保存或更新实体 - * - * @param record - */ - ResultData saveOrUpdate(KwBoxMeter record); - - - /** - * 根据Id删除实体 - * - * @param id - */ - void deleteById(Long id); - - - /** - * 根据实体查询分页列表 - * - * @param record - * @return - */ - List findList(KwBoxMeter record); - - -} \ No newline at end of file diff --git a/mallinkService/src/main/java/com/iformall/service/kw/KwBoxService.java b/mallinkService/src/main/java/com/iformall/service/kw/KwBoxService.java index edef174b8..8ee944fae 100644 --- a/mallinkService/src/main/java/com/iformall/service/kw/KwBoxService.java +++ b/mallinkService/src/main/java/com/iformall/service/kw/KwBoxService.java @@ -58,8 +58,8 @@ public interface KwBoxService { */ List findList(KwBox record); - - List findMeters(KwBox record); + List findMetersAddress(KwBox record); + List findMeters(KwBox record); KwMeter findMeter(KwBox record, String addr); KwBox findByImei(String imei); diff --git a/mallinkService/src/main/java/com/iformall/service/kw/impl/KwBoxMeterServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/kw/impl/KwBoxMeterServiceImpl.java deleted file mode 100644 index 9ada88c1c..000000000 --- a/mallinkService/src/main/java/com/iformall/service/kw/impl/KwBoxMeterServiceImpl.java +++ /dev/null @@ -1,60 +0,0 @@ -package com.iformall.service.kw.impl; - -import com.github.pagehelper.PageHelper; -import com.github.pagehelper.PageInfo; -import com.iformall.common.IdWorker; -import com.iformall.common.ResultData; -import com.iformall.domain.po.KwBoxMeter; -import com.iformall.mapper.KwBoxMeterMapper; -import com.iformall.service.kw.KwBoxMeterService; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; - -import java.util.List; - - -@Service -public class KwBoxMeterServiceImpl implements KwBoxMeterService { - private final Logger logger = LoggerFactory.getLogger(this.getClass()); - - @Autowired - KwBoxMeterMapper kwBoxMeterMapper; - - @Override - public PageInfo listAsPage(KwBoxMeter record, Integer pageIndex, Integer pageSize) { - return PageHelper.startPage(pageIndex, pageSize).doSelectPageInfo(() -> kwBoxMeterMapper.findList(record)); - } - - @Override - public KwBoxMeter getById(Long id) { - return kwBoxMeterMapper.selectByPrimaryKey(id); - } - - - @Override - public ResultData saveOrUpdate(KwBoxMeter record) { - if (record.getId() == null) { - final IdWorker idWorker = IdWorker.get(); - record.setId(idWorker.nextId()); - kwBoxMeterMapper.insertSelective(record); - } else { - kwBoxMeterMapper.updateByPrimaryKeySelective(record); - } - return new ResultData(); - } - - - @Override - public void deleteById(Long id) { - kwBoxMeterMapper.deleteByPrimaryKey(id); - } - - @Override - public List findList(KwBoxMeter record) { - return kwBoxMeterMapper.findList(record); - } - - -} diff --git a/mallinkService/src/main/java/com/iformall/service/kw/impl/KwBoxServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/kw/impl/KwBoxServiceImpl.java index 5cfd48f5d..0919f5a7c 100644 --- a/mallinkService/src/main/java/com/iformall/service/kw/impl/KwBoxServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/kw/impl/KwBoxServiceImpl.java @@ -1,19 +1,15 @@ package com.iformall.service.kw.impl; -import com.alibaba.fastjson.JSONObject; import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageInfo; -import com.iformall.common.ErrorCode; import com.iformall.common.IdWorker; import com.iformall.common.ResultData; import com.iformall.domain.po.KwBox; -import com.iformall.domain.po.KwBoxMeter; import com.iformall.domain.po.KwMeter; import com.iformall.domain.po.KwMeterData; -import com.iformall.enums.EnumBoxMeterStatus; +import com.iformall.enums.EnumMeterStatus; import com.iformall.mapper.KwBoxMapper; -import com.iformall.service.kw.KwBoxMeterService; import com.iformall.service.kw.KwBoxService; import com.iformall.service.kw.KwMeterDataService; import com.iformall.service.kw.KwMeterService; @@ -38,9 +34,6 @@ public class KwBoxServiceImpl implements KwBoxService { @Autowired KwMeterDataService kwMeterDataService; - @Autowired - KwBoxMeterService kwBoxMeterService; - @Autowired KwMeterService kwMeterService; @@ -60,8 +53,11 @@ public class KwBoxServiceImpl implements KwBoxService { if (record.getId() == null) { final IdWorker idWorker = IdWorker.get(); record.setId(idWorker.nextId()); + record.setCreateTime(new Date()); + record.setUpdateTime(new Date()); kwBoxMapper.insertSelective(record); } else { + record.setUpdateTime(new Date()); kwBoxMapper.updateByPrimaryKeySelective(record); } return new ResultData(); @@ -109,55 +105,38 @@ public class KwBoxServiceImpl implements KwBoxService { } @Override - public List findMeters(KwBox record) { - - KwBoxMeter kwBoxMeter = new KwBoxMeter(); - kwBoxMeter.setBoxId(record.getId()); - kwBoxMeter.setStatus(EnumBoxMeterStatus.VALID.getCode()); + public List findMetersAddress(KwBox record) { - List kwBoxMeters = kwBoxMeterService.findList(kwBoxMeter); - - if (kwBoxMeters.isEmpty()) { - logger.info("没找到盒子表关联项: boxId="+kwBoxMeter.getBoxId()); - return new ArrayList<>(); - } - KwMeter kwMeter = new KwMeter(); - kwMeter.setIds(kwBoxMeters.stream().map(KwBoxMeter::getMeterId).collect(Collectors.toList())); + List kwMeters = findMeters(record); - if (kwMeter.getIds().isEmpty()) { - logger.info("没找到盒子关联的表: boxId="+kwBoxMeter.getBoxId()); - return new ArrayList<>(); - } - List kwMeters = kwMeterService.findList(kwMeter); - - if (kwMeter.getIds().isEmpty()) { - logger.info("没找到盒子关联的表: ids=" + kwBoxMeter.getIds()); + if (kwMeters.isEmpty()) { + logger.info("没找到盒子关联的表: boxId=" + record.getId()); return new ArrayList<>(); } return kwMeters.stream().map(KwMeter::getAddress).collect(Collectors.toList()); } @Override - public KwMeter findMeter(KwBox record, String addr) { + public List findMeters(KwBox record) { - KwBoxMeter kwBoxMeter = new KwBoxMeter(); - kwBoxMeter.setBoxId(record.getId()); - kwBoxMeter.setStatus(EnumBoxMeterStatus.VALID.getCode()); + KwMeter kwMeter = new KwMeter(); + kwMeter.setBoxId(record.getId()); + kwMeter.setStatus(EnumMeterStatus.VALID.getCode()); - List kwBoxMeters = kwBoxMeterService.findList(kwBoxMeter); + return kwMeterService.findList(kwMeter); + } - if (kwBoxMeters.isEmpty()) { - logger.info("没找到盒子表关联项: boxId="+kwBoxMeter.getBoxId()); - return null; - } + @Override + public KwMeter findMeter(KwBox record, String addr) { KwMeter kwMeter = new KwMeter(); + kwMeter.setBoxId(record.getId()); + kwMeter.setStatus(EnumMeterStatus.VALID.getCode()); kwMeter.setAddress(addr); - kwMeter.setIds(kwBoxMeters.stream().map(KwBoxMeter::getMeterId).collect(Collectors.toList())); List kwMeters = kwMeterService.findList(kwMeter); if (kwMeters.isEmpty()) { - logger.info("没找到盒子关联的表: ids="+kwBoxMeter.getIds() +",addr=",kwMeter.getAddress()); + logger.info("没找到盒子关联的电表: id="+record.getId() +",addr=",kwMeter.getAddress()); return null; } diff --git a/mallinkService/src/main/resources/mapper/KwBoxMapper.xml b/mallinkService/src/main/resources/mapper/KwBoxMapper.xml index b4f4dc85c..9788737d5 100644 --- a/mallinkService/src/main/resources/mapper/KwBoxMapper.xml +++ b/mallinkService/src/main/resources/mapper/KwBoxMapper.xml @@ -17,11 +17,13 @@ + + `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` + `last_online_time`,`config`,`create_time`,`update_time`,`com_key`,`status`,`max_tag_num` @@ -54,6 +56,10 @@ and `online_status` = #{onlineStatus} + + + and `status` = #{status} + and id in diff --git a/mallinkService/src/main/resources/mapper/KwBoxMeterMapper.xml b/mallinkService/src/main/resources/mapper/KwBoxMeterMapper.xml deleted file mode 100644 index 3dc46c552..000000000 --- a/mallinkService/src/main/resources/mapper/KwBoxMeterMapper.xml +++ /dev/null @@ -1,50 +0,0 @@ - - - - - - - - - - - - - - - `id`,`tenant_id`,`meter_id`,`box_id`,`status`,`create_time`,`update_time` - - - - where 1 = 1 - - - and `id` = #{id} - - - - and `tenant_id` = #{tenantId} - - - - and `status` = #{status} - - - - and id in - - #{idItem} - - - order by ${sortColumns} - - - - - - diff --git a/mallinkService/src/main/resources/mapper/KwMeterMapper.xml b/mallinkService/src/main/resources/mapper/KwMeterMapper.xml index e8e010248..ce71211a3 100644 --- a/mallinkService/src/main/resources/mapper/KwMeterMapper.xml +++ b/mallinkService/src/main/resources/mapper/KwMeterMapper.xml @@ -15,10 +15,13 @@ + + + - `id`,`tenant_id`,`address`,`brand`,`model`,`place`,`protocol`,`bandrate`,`last_online_time`,`online_status`,`config`,`create_time`,`update_time` + `id`,`tenant_id`,`address`,`brand`,`model`,`place`,`protocol`,`bandrate`,`last_online_time`,`online_status`,`config`,`create_time`,`update_time`,`box_id`,`status` @@ -51,7 +54,15 @@ and `online_status` = #{onlineStatus} - + + + and `box_id` = #{boxId} + + + + and `status` = #{status} + + and id in