|
@@ -0,0 +1,67 @@
|
|
|
+package com.usky.iot.service.impl;
|
|
|
+
|
|
|
+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.mybatis.core.AbstractCrudService;
|
|
|
+import com.usky.iot.domain.DmpProductInfo;
|
|
|
+import com.usky.iot.mapper.DmpProductInfoMapper;
|
|
|
+import com.usky.iot.service.DmpProductInfoService;
|
|
|
+import com.usky.iot.service.vo.DmpProductInfoRequest;
|
|
|
+import org.springframework.stereotype.Service;
|
|
|
+
|
|
|
+import java.util.Objects;
|
|
|
+
|
|
|
+/**
|
|
|
+ * <p>
|
|
|
+ * 产品信息表 服务实现类
|
|
|
+ * </p>
|
|
|
+ *
|
|
|
+ * @author ya
|
|
|
+ * @since 2022-10-08
|
|
|
+ */
|
|
|
+@Service
|
|
|
+public class DmpProductInfoServiceImpl extends AbstractCrudService<DmpProductInfoMapper, DmpProductInfo> implements DmpProductInfoService {
|
|
|
+
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public boolean add(DmpProductInfo dmpProductInfo) {
|
|
|
+ if (checkNameUnique(dmpProductInfo)){
|
|
|
+ throw new BusinessException("新增产品信息'" + dmpProductInfo.getProductName() + "'失败,产品信息已存在");
|
|
|
+ }
|
|
|
+ return this.save(dmpProductInfo);
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public boolean update(DmpProductInfo dmpProductInfo) {
|
|
|
+ if (checkNameUnique(dmpProductInfo)){
|
|
|
+ throw new BusinessException("修改产品信息'" + dmpProductInfo.getProductName() + "'失败,产品信息已存在");
|
|
|
+ }
|
|
|
+ return this.updateById(dmpProductInfo);
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public boolean checkNameUnique(DmpProductInfo dmpProductInfo) {
|
|
|
+ Integer id = null == dmpProductInfo.getId() ? -1 : dmpProductInfo.getId();
|
|
|
+ LambdaQueryWrapper<DmpProductInfo> queryWrapper = Wrappers.lambdaQuery();
|
|
|
+ queryWrapper.eq(DmpProductInfo::getProductName,dmpProductInfo.getProductName())
|
|
|
+ .eq(DmpProductInfo::getDeleteFlag,0);
|
|
|
+ DmpProductInfo one = this.getOne(queryWrapper);
|
|
|
+ return null != one && !Objects.equals(one.getId(), id);
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public CommonPage<DmpProductInfo> page(DmpProductInfoRequest piRequest) {
|
|
|
+ IPage<DmpProductInfo> page = new Page<>(piRequest.getCurrent(), piRequest.getSize());
|
|
|
+ LambdaQueryWrapper<DmpProductInfo> lambdaQuery = Wrappers.lambdaQuery();
|
|
|
+ lambdaQuery
|
|
|
+ .eq(StringUtils.isNotBlank(piRequest.getProductName()),DmpProductInfo::getProductName,piRequest.getProductName())
|
|
|
+ .eq(DmpProductInfo::getDeleteFlag,0);
|
|
|
+ page = this.page(page,lambdaQuery);
|
|
|
+ return new CommonPage<>(page.getRecords(),page.getTotal(),page.getCurrent(),page.getSize());
|
|
|
+ }
|
|
|
+}
|