package com.kidgrow.oprationcenter.service.impl;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.kidgrow.common.constant.CommonConstant;
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.common.utils.DateUtil;
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 com.kidgrow.oprationcenter.vo.ProductAllVo;
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.Arrays;
import java.util.Date;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
/**
* 石家庄喜高科技有限责任公司 版权所有 © 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);
params.putAll(roleOrgMap);
List longs = Arrays.asList(CommonConstant.PAY_USER_PRODUCT_ID, CommonConstant.REG_USER_PRODUCT_ID);
params.put("idNotIn",longs);
List list = baseMapper.findList(page, params);
// list=list.stream().filter(f->(!f.getId().equals(CommonConstant.PAY_USER_PRODUCT_ID)&&!f.getId().equals(CommonConstant.REG_USER_PRODUCT_ID))).collect(Collectors.toList());
return PageResult.builder().data(list).code(0).count(page.getTotal()).build();
}
/**
* 列表
* @param params
* @return
*/
@Override
public PageResult findAllList(Map params, SysUser sysUser){
params.put("idNotIn",Arrays.asList(CommonConstant.PAY_USER_PRODUCT_ID, CommonConstant.REG_USER_PRODUCT_ID));
List list = baseMapper.findAllList(params);
if (list != null) {
for (int i = 0; i (!f.getId().equals(CommonConstant.PAY_USER_PRODUCT_ID)&&!f.getId().equals(CommonConstant.REG_USER_PRODUCT_ID))).collect(Collectors.toList());
}
return PageResult.builder().data(list).code(0).count(0L).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("更新失败");
}
}