package com.kidgrow.oprationcenter.service.impl;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.kidgrow.common.model.PageResult;
import com.kidgrow.common.model.ResultBody;
import com.kidgrow.common.model.SysUser;
import com.kidgrow.common.service.impl.SuperServiceImpl;
import com.kidgrow.oprationcenter.feign.RoleOrganizationService;
import com.kidgrow.oprationcenter.mapper.SysProductMapper;
import com.kidgrow.oprationcenter.model.SysProduct;
import com.kidgrow.oprationcenter.service.ISysProductService;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections4.MapUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.Date;
import java.util.List;
import java.util.Map;
/**
* 石家庄喜高科技有限责任公司 版权所有 © Copyright 2020
* @Description:
* @Project: 用户中心
* @CreateDate: Created in 2020-04-01 09:37:05
* @Author: liuke
* @version 1.0
*/
@Slf4j
@Service
public class SysProductServiceImpl extends SuperServiceImpl implements ISysProductService {
@Autowired
private RoleOrganizationService roleOrganizationService;
/**
* 列表
* @param params
* @return
*/
@Override
public PageResult findList(Map params, SysUser sysUser){
Page page = new Page<>(MapUtils.getInteger(params, "page"), MapUtils.getInteger(params, "limit"));
Map roleOrgMap = roleOrganizationService.getRoleOrgMap(sysUser.getRoles());
params.putAll(roleOrgMap);
List list = baseMapper.findList(page, params);
return PageResult.builder().data(list).code(0).count(page.getTotal()).build();
}
/**
* 根据SysProduct对象当做查询条件进行查询
* @param sysProduct
* @return SysProduct
*/
@Override
public SysProduct findByObject(SysProduct sysProduct){
return baseMapper.findByObject(sysProduct);
}
/**
* 根据id和启用禁用值更新数据
* @param params
* @return ResultBody
*/
@Override
public ResultBody updateEnabled(Map params) {
Long id = MapUtils.getLong(params, "id");
Boolean enabled = MapUtils.getBoolean(params, "enabled");
SysProduct sysProduct = baseMapper.selectById(id);
if (sysProduct == null) {
return ResultBody.failed("该数据不存在!");
}
sysProduct.setEnabled(enabled);
sysProduct.setUpdateTime(new Date());
int i = baseMapper.updateById(sysProduct);
return i > 0 ? ResultBody.ok().data(sysProduct).msg("更新成功") : ResultBody.failed("更新失败");
}
}