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.cattle.mapper.SysGroupMapper;
import com.huimv.cattle.mapper.SysUserGroupMapper;
import com.huimv.cattle.pojo.SysGroup;
import com.huimv.cattle.pojo.SysUserGroup;
import com.huimv.cattle.service.SysGroupService;
import com.huimv.cattle.utils.ResultUtil;
import com.huimv.common.utils.Result;
import com.huimv.common.utils.ResultCode;
import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Service;
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 SysGroupServiceImpl extends ServiceImpl implements SysGroupService {
@Resource
private ResultUtil resultUtil;
@Resource
private SysGroupMapper sysGroupMapper;
@Resource
private SysUserGroupMapper sysUserGroupMapper;
/**
* @Method : listGroup
* @Description :
* @Params : [request, paramsMap]
* @Return : com.huimv.common.utils.Result
*
* @Author : ZhuoNing
* @Date : 2022/10/9
* @Time : 19:35
*/
@Override
public Result listGroup(HttpServletRequest request, Map paramsMap) {
String pageNo = paramsMap.get("pageNo")+"";
if (StringUtils.isBlank(pageNo)) {
pageNo = "1";
}
String pageSize = paramsMap.get("pageSize")+"";
if (StringUtils.isBlank(pageSize)) {
pageSize = "10";
}
String farmCode = request.getHeader("farmCode");
String groupClass = paramsMap.get("groupClass");
String groupName = paramsMap.get("groupName");
QueryWrapper queryWrapper = new QueryWrapper<>();
queryWrapper.eq(StringUtils.isNoneBlank(farmCode),"farm_code",farmCode);
queryWrapper.like(StringUtils.isNotBlank(groupName),"group_name",groupName);
queryWrapper.eq(StringUtils.isNotBlank(groupClass),"group_class",groupClass);
queryWrapper.orderByDesc("id");
Page page = new Page<>(Integer.parseInt(pageNo), Integer.parseInt(pageSize));
return new Result(ResultCode.SUCCESS,sysGroupMapper.selectPage(page,queryWrapper));
}
/**
* @Method : newGroup
* @Description :
* @Params : [request, paramsMap]
* @Return : com.huimv.common.utils.Result
*
* @Author : ZhuoNing
* @Date : 2022/10/9
* @Time : 19:35
*/
@Override
public Result newGroup(HttpServletRequest request, Map paramsMap) {
SysGroup sysGroup = new SysGroup();
String farmCode = request.getHeader("farmIds");
sysGroup.setGroupName(paramsMap.get("groupName"));
sysGroup.setGroupClass(Integer.parseInt(paramsMap.get("groupClass")));
sysGroup.setGroupType(Integer.parseInt(paramsMap.get("groupType")));
sysGroup.setFarmCode(farmCode);
return resultUtil.getResult(sysGroupMapper.insert(sysGroup));
}
/**
* @Method : editGroup
* @Description :
* @Params : [request, paramsMap]
* @Return : com.huimv.common.utils.Result
*
* @Author : ZhuoNing
* @Date : 2022/10/9
* @Time : 19:35
*/
@Override
public Result editGroup(HttpServletRequest request, Map paramsMap) {
SysGroup sysGroup = new SysGroup();
sysGroup.setId(Integer.parseInt(paramsMap.get("id")));
sysGroup.setGroupName(paramsMap.get("groupName"));
// sysGroup.setGroupClass(Integer.parseInt(paramsMap.get("groupClass")));
// sysGroup.setGroupType(Integer.parseInt(paramsMap.get("groupType")));
return resultUtil.getResult(sysGroupMapper.updateById(sysGroup));
}
/**
* @Method : removeGroup
* @Description :
* @Params : [request, paramsMap]
* @Return : com.huimv.common.utils.Result
*
* @Author : ZhuoNing
* @Date : 2022/10/9
* @Time : 19:35
*/
@Override
public Result removeGroup(HttpServletRequest request, Map paramsMap) {
String ids = paramsMap.get("ids");
String[] idArray = ids.split(",");
List idList= Arrays.asList(idArray);
return resultUtil.getResult(sysGroupMapper.deleteBatchIds(idList));
}
@Override
public Result listByUserId(HttpServletRequest request, Map paramsMap) {
String userId = paramsMap.get("userId");
List userGroups = sysUserGroupMapper.selectList(new QueryWrapper().eq("user_id", userId));
if (ObjectUtil.isNotEmpty(userGroups)){
return new Result(ResultCode.SUCCESS, userGroups.get(0).getGroupId());
}else {
return new Result(10001,"未授权角色",false);
}
}
}