package com.huimv.cattle.service.impl;
import cn.hutool.core.util.ObjectUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
//import com.huimv.breed.common.utils.ResultUtil;
import com.huimv.cattle.mapper.SysFarmMapper;
import com.huimv.cattle.mapper.SysUserAccountMapper;
import com.huimv.cattle.pojo.SysFarm;
import com.huimv.cattle.pojo.SysUserAccount;
import com.huimv.cattle.service.SysFarmService;
import com.huimv.cattle.utils.ResultUtil;
import com.huimv.common.utils.Result;
import com.huimv.common.utils.ResultCode;
//import com.huimv.saas.admin.mapper.SysFarmMapper;
//import com.huimv.saas.admin.mapper.SysUserAccountMapper;
//import com.huimv.saas.admin.pojo.SysFarm;
//import com.huimv.saas.admin.pojo.SysUserAccount;
//import com.huimv.saas.admin.service.SysFarmService;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import java.util.Arrays;
import java.util.List;
import java.util.Map;
/**
*
* 服务实现类
*
*
* @author zn
* @since 2022-09-26
*/
@Service
public class SysFarmServiceImpl extends ServiceImpl implements SysFarmService {
@Resource
private SysFarmMapper sysFarmMapper;
@Resource
private SysUserAccountMapper sysUserAccountMapper;
@Resource
private ResultUtil resultUtil;
@Value("${manager.defaultPassword}")
private String defaultPassword;
@Override
public Result initFarmFlow(HttpServletRequest request, Map paramsMap) {
//--step1:创建牧场;
//--step2:根据默认牧场管理员权限组创建牧场账号;
return null;
}
@Override
public Result listFarm(HttpServletRequest request, Map paramsMap) {
String pageNo = paramsMap.get("pageNo")+"";
if (pageNo == null) {
pageNo = "1";
}
String pageSize = paramsMap.get("pageSize")+"";
if (pageSize == null) {
pageSize = "10";
}
//牧场名称
String farmName = paramsMap.get("farmName");
QueryWrapper queryWrapper = new QueryWrapper<>();
queryWrapper.like(StringUtils.isNotBlank(farmName),"farm_name",farmName);
queryWrapper.orderByDesc("id");
Page page = new Page<>(Integer.parseInt(pageNo), Integer.parseInt(pageSize));
return new Result(ResultCode.SUCCESS,sysFarmMapper.selectPage(page,queryWrapper));
}
@Override
public Result newFarm(HttpServletRequest request, Map paramsMap) {
//
String farmStatus = paramsMap.get("farmStatus");
if(StringUtils.isBlank(farmStatus)){
farmStatus = "1";
}
String farmCode = paramsMap.get("farmCode");
List farms = sysFarmMapper.selectList(new QueryWrapper().eq("farm_code", farmCode));
System.out.println(farms.toString());
if (ObjectUtil.isNotEmpty(farms)){
return new Result(10010,"牧场编号已存在",false);
}
SysFarm sysFarm = new SysFarm();
sysFarm.setFarmName(paramsMap.get("farmName"));
sysFarm.setFarmCode(paramsMap.get("farmCode"));
sysFarm.setLinkman(paramsMap.get("linkman"));
sysFarm.setPhone(paramsMap.get("phone"));
sysFarm.setAddress(paramsMap.get("address"));
sysFarm.setFarmStatus(Integer.parseInt(farmStatus));
sysFarm.setRemark(paramsMap.get("remark"));
return resultUtil.getResult(sysFarmMapper.insert(sysFarm));
}
@Override
public Result editFarm(HttpServletRequest request, Map paramsMap) {
//
String farmStatus = paramsMap.get("farmStatus");
if(StringUtils.isBlank(farmStatus)){
farmStatus = "1";
}
SysFarm sysFarm = new SysFarm();
sysFarm.setId(Integer.parseInt(paramsMap.get("id")));
sysFarm.setFarmName(paramsMap.get("farmName"));
sysFarm.setFarmCode(paramsMap.get("farmCode"));
sysFarm.setLinkman(paramsMap.get("linkman"));
sysFarm.setPhone(paramsMap.get("phone"));
sysFarm.setAddress(paramsMap.get("address"));
sysFarm.setFarmStatus(Integer.parseInt(farmStatus));
sysFarm.setRemark(paramsMap.get("remark"));
return resultUtil.getResult(sysFarmMapper.updateById(sysFarm));
}
@Override
public Result removeFarm(HttpServletRequest request, Map paramsMap) {
String ids = paramsMap.get("ids");
String[] idArray = ids.split(",");
List idList= Arrays.asList(idArray);
return resultUtil.getResult(sysFarmMapper.deleteBatchIds(idList));
}
@Override
@Transactional(rollbackFor = Exception.class)
public Result resetPassword(HttpServletRequest request, Map paramsMap) {
String ids = paramsMap.get("farmCodes");
String[] idArray = ids.split(",");
int rows = 0;
for(String id:idArray){
SysUserAccount SysUserAccount = new SysUserAccount();
SysUserAccount.setFarmCode(id);
SysUserAccount.setPassword(defaultPassword);
rows += sysUserAccountMapper.updateById(SysUserAccount);
}
return resultUtil.getResult(rows);
}
@Override
public Result getAllFarmId(HttpServletRequest request, Map paramsMap) {
QueryWrapper queryWrapper = new QueryWrapper<>();
queryWrapper.orderByDesc("id");
List sysFarmList = sysFarmMapper.selectList(queryWrapper);
StringBuilder idSb = new StringBuilder();
for(SysFarm farmData:sysFarmList){
if(idSb.length()>0){
idSb.append(",");
}
idSb.append(farmData.getFarmCode());
}
if(idSb.length()>0){
return new Result(ResultCode.SUCCESS,idSb.toString());
}else{
return new Result(ResultCode.FAIL);
}
}
}