|
@@ -0,0 +1,77 @@
|
|
|
|
+package com.usky.iot.service.impl;
|
|
|
|
+
|
|
|
|
+import com.baomidou.dynamic.datasource.annotation.DSTransactional;
|
|
|
|
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
|
|
+import com.baomidou.mybatisplus.core.metadata.IPage;
|
|
|
|
+import com.baomidou.mybatisplus.core.toolkit.StringUtils;
|
|
|
|
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
|
|
|
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
|
|
+import com.usky.common.core.bean.CommonPage;
|
|
|
|
+import com.usky.common.core.exception.BusinessException;
|
|
|
|
+import com.usky.common.security.utils.SecurityUtils;
|
|
|
|
+import com.usky.iot.domain.DmpDeviceType;
|
|
|
|
+import com.usky.iot.domain.DmpProductAttribute;
|
|
|
|
+import com.usky.iot.mapper.DmpDeviceTypeMapper;
|
|
|
|
+import com.usky.iot.service.DmpDeviceTypeService;
|
|
|
|
+import com.usky.common.mybatis.core.AbstractCrudService;
|
|
|
|
+import org.springframework.stereotype.Service;
|
|
|
|
+import org.springframework.transaction.annotation.Transactional;
|
|
|
|
+
|
|
|
|
+import java.time.LocalDateTime;
|
|
|
|
+import java.util.Date;
|
|
|
|
+import java.util.List;
|
|
|
|
+import java.util.Objects;
|
|
|
|
+
|
|
|
|
+/**
|
|
|
|
+ * <p>
|
|
|
|
+ * 设备信息类型 服务实现类
|
|
|
|
+ * </p>
|
|
|
|
+ *
|
|
|
|
+ * @author ya
|
|
|
|
+ * @since 2023-06-06
|
|
|
|
+ */
|
|
|
|
+@Service
|
|
|
|
+public class DmpDeviceTypeServiceImpl extends AbstractCrudService<DmpDeviceTypeMapper, DmpDeviceType> implements DmpDeviceTypeService {
|
|
|
|
+ @Transactional(rollbackFor = Exception.class)
|
|
|
|
+ @Override
|
|
|
|
+ public void add(DmpDeviceType dmpDeviceType) {
|
|
|
|
+ if (checkNameUnique(dmpDeviceType)) {
|
|
|
|
+ throw new BusinessException("新增设备类型'" + dmpDeviceType.getTypeName() + "'失败,该设备类型已经存在");
|
|
|
|
+ }
|
|
|
|
+ dmpDeviceType.setCreatedBy(SecurityUtils.getUsername());
|
|
|
|
+ dmpDeviceType.setCreatedTime(LocalDateTime.now());
|
|
|
|
+ this.save(dmpDeviceType);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ @Transactional(rollbackFor = Exception.class)
|
|
|
|
+ @Override
|
|
|
|
+ public void edit(DmpDeviceType dmpDeviceType) {
|
|
|
|
+ dmpDeviceType.setUpdatedBy(SecurityUtils.getUsername());
|
|
|
|
+ dmpDeviceType.setUpdatedTime(LocalDateTime.now());
|
|
|
|
+ this.updateById(dmpDeviceType);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ @Override
|
|
|
|
+ public boolean checkNameUnique(DmpDeviceType dmpDeviceType) {
|
|
|
|
+ Integer id = null == dmpDeviceType.getId() ? -1 : dmpDeviceType.getId();
|
|
|
|
+ LambdaQueryWrapper<DmpDeviceType> queryWrapper = Wrappers.lambdaQuery();
|
|
|
|
+ queryWrapper.like(DmpDeviceType::getTypeName, dmpDeviceType.getTypeName());
|
|
|
|
+ DmpDeviceType one = this.getOne(queryWrapper);
|
|
|
|
+ return null != one && !Objects.equals(one.getId(), id);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ @Override
|
|
|
|
+ public void remove(Integer id) {
|
|
|
|
+ this.removeById(id);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ @Override
|
|
|
|
+ public CommonPage<DmpDeviceType> getDeviceTypeList(String typeCode, String typeName, Integer pageNum, Integer pageSize) {
|
|
|
|
+ IPage<DmpDeviceType> page = new Page<>(pageNum, pageSize);
|
|
|
|
+ LambdaQueryWrapper<DmpDeviceType> queryWrapper = Wrappers.lambdaQuery();
|
|
|
|
+ queryWrapper.like(StringUtils.isNotBlank(typeCode), DmpDeviceType::getTypeCode, typeCode)
|
|
|
|
+ .like(StringUtils.isNotBlank(typeName), DmpDeviceType::getTypeName, typeName);
|
|
|
|
+ page = this.page(page, queryWrapper);
|
|
|
|
+ return new CommonPage<>(page.getRecords(), page.getTotal(), pageSize, pageNum);
|
|
|
|
+ }
|
|
|
|
+}
|