forked from kidgrow-microservices-platform

zhaoxiaohao
2020-11-03 1a39d6ffecc6b4949f06dd03a8f64df0de75851a
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
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>
 * @Description: <br>
 * @Project: 用户中心<br>
 * @CreateDate: Created in 2020-04-01 09:37:05 <br>
 * @Author: <a href="4345453@kidgrow.com">liuke</a>
 * @version 1.0
 */
@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, 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对象当做查询条件进行查询
   * @param sysProduct
   * @return SysProduct
   */
    @Override
    public SysProduct findByObject(SysProduct sysProduct){
        return baseMapper.findByObject(sysProduct);
    }
 
    /**
     * 根据id和启用禁用值更新数据
     * @param params
     * @return ResultBody
     */
    @Override
    public ResultBody updateEnabled(Map<String, Object> 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("更新失败");
    }
}