package com.huimv.center.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.huimv.center.pojo.BizDeviceAnswerFlow;
import com.huimv.center.mapper.BizDeviceAnswerFlowMapper;
import com.huimv.center.service.BizDeviceAnswerFlowService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.huimv.center.utils.DateUtil;
import com.huimv.center.utils.IDUtil;
import com.huimv.common.utils.Result;
import com.huimv.common.utils.ResultCode;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.text.ParseException;
/**
*
* 服务实现类
*
*
* @author zn
* @since 2022-06-22
*/
@Service
public class BizDeviceAnswerFlowServiceImpl extends ServiceImpl implements BizDeviceAnswerFlowService {
@Autowired
private BizDeviceAnswerFlowMapper deviceAnswerFlowMapper;
@Autowired
private com.huimv.center.utils.ResultUtil ResultUtil;
@Autowired
private IDUtil idUtil;
@Autowired
private com.huimv.center.utils.DateUtil dateUtil;
/**
* @Method : addDeviceAnswer
* @Description :
* @Params : [chipId, deviceCode, answer]
* @Return : com.huimv.eartag2.common.utils.Result
*
* @Author : ZhuoNing
* @Date : 2022/6/23
* @Time : 19:25
*/
@Override
public Result addDeviceAnswer(String chipId, String deviceCode, String answer, String farmCode) throws ParseException {
DateUtil dateUtil = new DateUtil();
BizDeviceAnswerFlow deviceAnswerFlow = new BizDeviceAnswerFlow();
deviceAnswerFlow.setChipId(chipId);
deviceAnswerFlow.setDeviceCode(deviceCode);
deviceAnswerFlow.setAnswer(answer);
deviceAnswerFlow.setAddTime(dateUtil.getTodayDatetime());
deviceAnswerFlow.setFarmCode(farmCode);
int rows = deviceAnswerFlowMapper.insert(deviceAnswerFlow);
return ResultUtil.result(rows);
}
/**
* @Method : removeDeviceAnswer
* @Description :
* @Params : [ids]
* @Return : com.huimv.eartag2.common.utils.Result
*
* @Author : ZhuoNing
* @Date : 2022/6/23
* @Time : 19:25
*/
@Override
public Result removeDeviceAnswer(String ids){
int rows = deviceAnswerFlowMapper.deleteBatchIds(idUtil.convert(ids));
return ResultUtil.result(rows);
}
/**
* @Method : listDeviceAnswer
* @Description :
* @Params : [pageNo, pageSize, chipId, deviceCode]
* @Return : com.huimv.eartag2.common.utils.Result
*
* @Author : ZhuoNing
* @Date : 2022/6/23
* @Time : 19:33
*/
@Override
public Result listDeviceAnswer(Integer pageNo, Integer pageSize, String chipId, String deviceCode, String farmCode, String startDate, String endDate){
if(pageNo == 0){
pageNo = 1;
}
startDate = dateUtil.buildStartDate(startDate);
endDate = dateUtil.buildEndDate(endDate);
Page page = new Page<>(pageNo, pageSize);
QueryWrapper queryWrapper = new QueryWrapper<>();
// if(StringUtils.isNotEmpty(chipId)){
// queryWrapper.eq("chip_id", chipId);
// }
// queryWrapper.eq("farm_code", farmCode);
queryWrapper.like(StringUtils.isNotBlank(farmCode),"farm_code", farmCode);
queryWrapper.like(StringUtils.isNotBlank(chipId),"chip_id", chipId);
queryWrapper.like(StringUtils.isNotBlank(deviceCode),"device_code", deviceCode);
queryWrapper.ge(StringUtils.isNotBlank(startDate),"add_time", startDate);
queryWrapper.le(StringUtils.isNotBlank(endDate),"add_time", endDate);
//创建时间降序
queryWrapper.orderByDesc("id");
Page pageBizDeviceAnswerFlow = deviceAnswerFlowMapper.selectPage(page, queryWrapper);
return new Result(ResultCode.SUCCESS,pageBizDeviceAnswerFlow);
}
/**
* @Method : removeDeviceAnswer
* @Description :
* @Params : [farmCode, chipId, deviceCode, startDate, endDate]
* @Return : com.huimv.eartag2.common.utils.Result
*
* @Author : ZhuoNing
* @Date : 2022/6/26
* @Time : 19:08
*/
@Override
public Result removeDeviceAnswer(String farmCode, String chipId, String deviceCode, String startDate, String endDate) {
QueryWrapper queryWrapper = new QueryWrapper<>();
// queryWrapper.like(StringUtils.isNotBlank(farmCode),"farm_code", farmCode);
queryWrapper.eq("farm_code", farmCode);
queryWrapper.like(StringUtils.isNotBlank(chipId),"chip_id", chipId);
queryWrapper.like(StringUtils.isNotBlank(deviceCode),"device_code", deviceCode);
queryWrapper.ge(StringUtils.isNotBlank(startDate),"add_time", startDate);
queryWrapper.le(StringUtils.isNotBlank(endDate),"add_time", endDate);
return new Result(ResultCode.SUCCESS, deviceAnswerFlowMapper.delete(queryWrapper));
}
}