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; } }