package com.thhy.mobile.modules.biz.cultivated.service.impl;
|
|
import com.thhy.general.common.BasicStatus;
|
import com.thhy.general.config.SysUserInfo;
|
import com.thhy.general.exception.BasicException;
|
import com.thhy.general.utils.DeepCopyUtils;
|
import com.thhy.general.utils.UserInfoUtils;
|
import com.thhy.mobile.modules.biz.cultivated.entity.*;
|
import com.thhy.mobile.modules.biz.cultivated.mapper.CultivatedDeviceDataMapper;
|
import com.thhy.mobile.modules.biz.cultivated.mapper.CultivatedDeviceMapper;
|
import com.thhy.mobile.modules.biz.cultivated.mapper.WaterCultivatedMapper;
|
import com.thhy.mobile.modules.biz.cultivated.service.WaterCultivatedService;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.stereotype.Service;
|
import org.springframework.transaction.annotation.Transactional;
|
|
import java.io.Serializable;
|
import java.util.Date;
|
import java.util.List;
|
import java.util.Map;
|
|
/**
|
* 服务实现类
|
* @author zhang_xiao_bo
|
* @since 2023-05-11 14:45:24
|
*/
|
@Service
|
public class WaterCultivatedServiceImpl implements WaterCultivatedService {
|
|
|
|
@Autowired
|
private WaterCultivatedMapper waterCultivatedMapper;
|
|
@Autowired
|
private CultivatedDeviceDataMapper deviceDataMapper;
|
|
@Autowired
|
private CultivatedDeviceMapper deviceMapper;
|
|
public WaterCultivated get(Serializable id){
|
return waterCultivatedMapper.queryById(id);
|
}
|
|
public List<CulListVo> findList(WaterCultivated waterCultivated){
|
SysUserInfo userInfo = UserInfoUtils.getInstance().getUserInfo();
|
if(waterCultivated==null)waterCultivated = new WaterCultivated();
|
waterCultivated.setCompanyId(userInfo.getCompanyId());
|
List<CulListVo> culListVoList = waterCultivatedMapper.findList(waterCultivated);
|
culListVoList.forEach(cl ->{
|
List<DeviceTemVo> temVoList = deviceDataMapper.deviceDataByCultivatedId(cl.getWaterCultivatedId());
|
cl.setTemList(temVoList);
|
});
|
return culListVoList;
|
}
|
|
public List<CulListVo> screenFindList(String token){
|
SysUserInfo userInfo = UserInfoUtils.getInstance().getUserInfo(token);
|
WaterCultivated waterCultivated = new WaterCultivated();
|
waterCultivated.setCompanyId(userInfo.getCompanyId());
|
List<CulListVo> culListVoList = waterCultivatedMapper.findList(waterCultivated);
|
culListVoList.forEach(cl ->{
|
List<DeviceTemVo> temVoList = deviceDataMapper.deviceDataByCultivatedId(cl.getWaterCultivatedId());
|
cl.setTemList(temVoList);
|
});
|
return culListVoList;
|
}
|
|
/**
|
* 增加和修改
|
* @param culDeviceDto
|
*/
|
@Transactional
|
public void addWaterCultivated(CulDeviceDto culDeviceDto){
|
List<CultivatedDevice> deviceList = culDeviceDto.getDeviceList();
|
if(deviceList.size()<1){
|
throw new BasicException(BasicStatus.WATER_MISS_DEVICE);
|
}
|
|
WaterCultivated waterCultivated = new WaterCultivated();
|
DeepCopyUtils.copy(culDeviceDto,waterCultivated);
|
SysUserInfo userInfo = UserInfoUtils.getInstance().getUserInfo();
|
if(waterCultivated.getWaterCultivatedId() == null){
|
//增加操作
|
int count = deviceMapper.countByDevices(deviceList);
|
if(count>0){
|
throw new BasicException(BasicStatus.DEVICE_IS_ALREAD_USE);
|
}
|
waterCultivated.setCompanyId(userInfo.getCompanyId());
|
waterCultivated.setCreateUser(userInfo.getUserId());
|
waterCultivatedMapper.insert(waterCultivated);
|
}else{
|
//修改操作
|
waterCultivated.setUpdateUser(userInfo.getUserId());
|
waterCultivated.setUpdateTime(new Date());
|
waterCultivatedMapper.update(waterCultivated);
|
deviceList.forEach(cd->{
|
List<String> wcIds = deviceMapper.queryWCIDByDeviceId(cd.getDeviceId());
|
if(wcIds.size()>0){
|
if(!wcIds.get(0).equals(waterCultivated.getWaterCultivatedId())){
|
throw new BasicException(BasicStatus.DEVICE_IS_ALREAD_USE);
|
}
|
}
|
});
|
deviceMapper.deleteByCultivatedId(waterCultivated.getWaterCultivatedId());
|
}
|
deviceList.forEach(cd -> {
|
cd.setWaterCultivatedId(waterCultivated.getWaterCultivatedId());
|
deviceMapper.insert(cd);
|
});
|
|
}
|
|
/**
|
* 修改
|
* @param waterCultivated
|
*/
|
public void update(WaterCultivated waterCultivated){
|
waterCultivatedMapper.update(waterCultivated);
|
}
|
|
/**
|
* 删除
|
* @param waterCultivatedId
|
*/
|
@Transactional
|
public void delete(String waterCultivatedId){
|
int count = waterCultivatedMapper.countRecordByCulId(waterCultivatedId);
|
if(count>0){
|
throw new BasicException(BasicStatus.WATER_IS_ALREADY_USE);
|
}
|
waterCultivatedMapper.deletelogic(waterCultivatedId);
|
}
|
|
@Override
|
public List<CulPullDownVo> pulldown(WaterCultivated waterCultivated) {
|
SysUserInfo userInfo = UserInfoUtils.getInstance().getUserInfo();
|
if(waterCultivated==null)waterCultivated= new WaterCultivated();
|
waterCultivated.setCompanyId(userInfo.getCompanyId());
|
return waterCultivatedMapper.pulldown(waterCultivated);
|
}
|
|
@Override
|
public List<DevicePullDownVo> waterDeviceList(CulDeviceDto culDeviceDto) {
|
return waterCultivatedMapper.waterDeviceList(culDeviceDto.getWaterCultivatedId());
|
}
|
|
@Override
|
public Map<String, Object> getH5WaterRecord(String num) {
|
Map<String, Object> h5WaterRecord = waterCultivatedMapper.getH5WaterRecord(num);
|
return h5WaterRecord;
|
}
|
|
}
|