forked from kidgrow-microservices-platform

zhaoxiaohao
2020-11-04 c981d74612bf35c16365aba0db9b55be0ad81dac
kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-biz/src/main/java/com/kidgrow/oprationcenter/service/impl/SysProductServiceImpl.java
@@ -1,19 +1,27 @@
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<br>
@@ -26,17 +34,57 @@
@Slf4j
@Service
public class SysProductServiceImpl extends SuperServiceImpl<SysProductMapper, SysProduct> implements ISysProductService {
    @Autowired
    private RoleOrganizationService roleOrganizationService;
    /**
     * 列表
     * @param params
     * @return
     */
    @Override
    public PageResult<SysProduct> findList(Map<String, Object> params){
    public PageResult<SysProduct> findList(Map<String, Object> params, SysUser sysUser){
        Page<SysProduct> page = new Page<>(MapUtils.getInteger(params, "page"), MapUtils.getInteger(params, "limit"));
        Map<String, Object> roleOrgMap = roleOrganizationService.getRoleOrgMap(sysUser);
        params.putAll(roleOrgMap);
        List<Long> longs = Arrays.asList(CommonConstant.PAY_USER_PRODUCT_ID, CommonConstant.REG_USER_PRODUCT_ID);
        params.put("idNotIn",longs);
        List<SysProduct> 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.<SysProduct>builder().data(list).code(0).count(page.getTotal()).build();
    }
    /**
     * 列表
     * @param params
     * @return
     */
    @Override
    public PageResult<ProductAllVo> findAllList(Map<String, Object> params, SysUser sysUser){
        List<ProductAllVo> list  =  baseMapper.findAllList(params);
        if (list != null) {
            for (int i = 0; i <list.size() ; i++) {
                list.get(i).setBeginTime(new Date());
                switch (list.get(i).getProTimeUnit())
                {
                    //天
                    case 0:
                        list.get(i).setEndTime(DateUtil.addDays(new Date(),list.get(i).getProTime()));
                        break;
                        //月
                    case 1:
                        list.get(i).setEndTime(DateUtil.addMonths(new Date(),list.get(i).getProTime()));
                        break;
                        //年
                    case 2:
                        list.get(i).setEndTime(DateUtil.addYears(new Date(),list.get(i).getProTime()));
                        break;
                }
            }
            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.<ProductAllVo>builder().data(list).code(0).count(0L).build();
    }
    /**
   * 根据SysProduct对象当做查询条件进行查询