forked from kidgrow-microservices-platform

zhaoxiaohao
2020-04-10 665c0a06d0bca5a22fb42406c465d736f876b04e
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
package com.kidgrow.usercenter.service.impl;
 
import com.kidgrow.common.model.ResultBody;
import com.kidgrow.usercenter.model.SysArea;
import com.kidgrow.usercenter.service.ISysAreaService;
import com.kidgrow.usercenter.vo.SysCompanyVo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.cglib.beans.BeanCopier;
import org.springframework.stereotype.Service;
import com.kidgrow.common.model.PageResult;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.kidgrow.common.service.impl.SuperServiceImpl;
 
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import org.apache.commons.collections4.MapUtils;
import lombok.extern.slf4j.Slf4j;
 
import com.kidgrow.usercenter.model.SysCompany;
import com.kidgrow.usercenter.mapper.SysCompanyMapper;
import com.kidgrow.usercenter.service.ISysCompanyService;
 
/**
 * 石家庄喜高科技有限责任公司 版权所有 © Copyright 2020<br>
 * @Description: 公司信息表<br>
 * @Project: 用户中心<br>
 * @CreateDate: Created in 2020-04-02 14:02:50 <br>
 * @Author: <a href="4345453@kidgrow.com">liuke</a>
 * @version 1.0
 */
@Slf4j
@Service
public class SysCompanyServiceImpl extends SuperServiceImpl<SysCompanyMapper, SysCompany> implements ISysCompanyService {
    @Autowired
    private ISysAreaService sysAreaService;
    private final  Integer SHENG=1;
    private final  Integer SHI=2;
    private final  Integer XIAN=3;
    /**
     * 列表
     * @param params
     * @return
     */
    @Override
    public PageResult<SysCompanyVo> findList(Map<String, Object> params){
        Page<SysCompany> page = new Page<>(MapUtils.getInteger(params, "page"), MapUtils.getInteger(params, "limit"));
        List<SysCompany> list  =  baseMapper.findList(page, params);
        List<SysCompanyVo> listVo=new ArrayList<>();
        list.forEach(e -> {
            SysCompanyVo vo=new SysCompanyVo();
            BeanCopier beanCopier = BeanCopier.create(SysCompany.class, SysCompanyVo.class, false);
            beanCopier.copy(e,vo,null);
            if(vo.getCompanyArea()!=null){
                SysArea byId = sysAreaService.getById(vo.getCompanyArea());
                if(byId.getAreaLeveltype()==XIAN){
                    vo.setXianId(byId.getId());
                    vo.setXian(byId.getAreaName());
                    SysArea shi = sysAreaService.getById(byId.getAreaParentId());
                    if(shi!=null){
                        vo.setShi(shi.getAreaName());
                        vo.setShiId(shi.getId());
                        SysArea sheng = sysAreaService.getById(shi.getAreaParentId());
                        if (sheng != null) {
                            vo.setSheng(sheng.getAreaName());
                            vo.setShengId(sheng.getId());
                        }
                    }
                }
                if(byId.getAreaLeveltype()==SHI){
                    vo.setShi(byId.getAreaName());
                    vo.setShiId(byId.getId());
                    SysArea sheng = sysAreaService.getById(byId.getAreaParentId());
                    if (sheng != null) {
                        vo.setSheng(sheng.getAreaName());
                        vo.setShengId(sheng.getId());
                    }
                }
                if(byId.getAreaLeveltype()==SHENG){
                    vo.setSheng(byId.getAreaName());
                    vo.setShengId(byId.getId());
                }
            }
            listVo.add(vo);
        });
        return PageResult.<SysCompanyVo>builder().data(listVo).code(0).count(page.getTotal()).build();
    }
 
    /**
   * 根据SysCompany对象当做查询条件进行查询
   * @param sysCompany
   * @return SysCompany
   */
    @Override
    public SysCompany findByObject(SysCompany sysCompany){
        return baseMapper.findByObject(sysCompany);
    }
 
    @Override
    public ResultBody updateEnabled(Map<String, Object> params) {
        Long id = MapUtils.getLong(params, "id");
        if (id != null) {
            SysCompany sysCompany = baseMapper.selectById(id);
            if (sysCompany != null) {
                Boolean enabled = MapUtils.getBoolean(params, "enabled");
                sysCompany.setEnabled(enabled);
                baseMapper.updateById(sysCompany);
            }
        }else {
            return ResultBody.failed("请选择一条数据");
        }
        return ResultBody.ok();
    }
}