package com.huimv.receive.service.impl;
import cn.hutool.core.util.ObjectUtil;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.StringUtils;
import com.baomidou.mybatisplus.extension.api.R;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.huimv.receive.common.utils.Result;
import com.huimv.receive.common.utils.ResultCode;
import com.huimv.receive.entity.BaseLocation;
import com.huimv.receive.entity.Farm;
import com.huimv.receive.entity.SysUser;
import com.huimv.receive.mapper.SysUserMapper;
import com.huimv.receive.service.IBaseLocationService;
import com.huimv.receive.service.IFarmService;
import com.huimv.receive.service.ISysUserService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.aspectj.weaver.ast.Var;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.Map;
/**
*
* 服务实现类
*
*
* @author author
* @since 2023-09-04
*/
@Service
public class SysUserServiceImpl extends ServiceImpl implements ISysUserService {
@Autowired
private IBaseLocationService baseLocationService;
@Autowired
private IFarmService farmService;
@Override
public Result pageAll(Map map) {
int pageNum = (Integer)map.get("pageNum");
int pageSize = (Integer)map.get("pageSize");
String searchStr = (String)map.get("searchStr");
Integer job = (Integer)map.get("job");
Integer workLocation = (Integer)map.get("workLocation");
String workLocationType = (String)map.get("workLocationType");
String farmId = (String) map.get("farmId");
if (checkFarm(farmId))
return new Result(10001,"牧场信息为空",false);
QueryWrapper wrapper = new QueryWrapper<>();
if (ObjectUtil.isEmpty(pageNum) || pageNum<1)
pageNum = 1;
if (ObjectUtil.isEmpty(pageSize) || pageSize<1 )
pageNum = 10;
wrapper.eq("farm_id",farmId);
wrapper.eq(ObjectUtil.isNotEmpty(job),"job",job);
wrapper.eq(ObjectUtil.isNotEmpty(workLocation),"work_location",workLocation);
wrapper.eq(StringUtils.isNotBlank(workLocationType),"work_location_type",workLocationType);
if (StringUtils.isNotBlank(searchStr))
wrapper.and(i -> i.like("user_name",searchStr).or().like("user_phone",searchStr));
wrapper.orderByDesc("id");
IPage page = this.page(new Page<>(pageNum, pageSize), wrapper);
return new Result(ResultCode.SUCCESS,page);
}
@Override
public Result listWorkLocation(Map map) {
String farmId = (String)map.get("farmId");
if (checkFarm(farmId))
return new Result(10001,"牧场信息为空",false);
return new Result(ResultCode.SUCCESS,baseLocationService.list(new QueryWrapper().eq("farm_id",farmId).groupBy("location_type").orderByAsc("location_type")));
}
@Override
public Result pageAccount(Map map) {
int pageNum = (Integer)map.get("pageNum");
int pageSize = (Integer)map.get("pageSize");
String searchStr = (String)map.get("searchStr");
Integer job = (Integer)map.get("job");
Integer workLocation = (Integer)map.get("workLocation");
String workLocationType = (String)map.get("workLocationType");
String farmId = (String) map.get("farmId");
if (checkFarm(farmId))
return new Result(10001,"牧场信息为空",false);
QueryWrapper wrapper = new QueryWrapper<>();
if (ObjectUtil.isEmpty(pageNum) || pageNum<1)
pageNum = 1;
if (ObjectUtil.isEmpty(pageSize) || pageSize<1 )
pageNum = 10;
wrapper.eq("farm_id",farmId);
wrapper.eq(ObjectUtil.isNotEmpty(job),"job",job);
wrapper.eq(ObjectUtil.isNotEmpty(workLocation),"work_location",workLocation);
wrapper.eq(StringUtils.isNotBlank(workLocationType),"work_location_type",workLocationType);
if (StringUtils.isNotBlank(searchStr))
wrapper.and(i -> i.like("user_name",searchStr).or().like("user_phone",searchStr));
wrapper.orderByDesc("id");
IPage page = this.page(new Page<>(pageNum, pageSize), wrapper);
return new Result(ResultCode.SUCCESS,page);
}
private boolean checkFarm(String farmId){
if (StringUtils.isBlank(farmId) )
return true;
Farm byId = farmService.getById(farmId);
if (ObjectUtil.isEmpty(byId))
return true;
return false;
}
}