dangsn
2024-12-25 2f8555410f031e66ee91ee60f64d1cc9a34cc7d9
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
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
package com.vci.web.service.impl;
 
import com.vci.dto.BdHomeConfigDTO;
import com.vci.model.BdHomeConfigDO;
import com.vci.pagemodel.BdHomeConfigVO;
import com.vci.starter.web.pagemodel.BaseQueryObject;
import com.vci.starter.web.pagemodel.DataGrid;
import com.vci.starter.web.pagemodel.PageHelper;
import com.vci.starter.web.pagemodel.SessionInfo;
import com.vci.starter.web.util.BeanUtilForVCI;
import com.vci.starter.web.wrapper.VciQueryWrapperForDO;
import com.vci.web.dao.HomeConfigDaoI;
import com.vci.web.service.HomeConfigServiceI;
import com.vci.web.util.WebUtil;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
 
import javax.annotation.Resource;
import java.util.*;
 
/**
 * @Description 首页配置服务
 * @Author dangsn
 * @Date 2024/12/24 15:46
 */
@Service
public class HomeConfigServiceImpl implements HomeConfigServiceI {
 
    /**
     * 日志
     */
    private Logger logger = LoggerFactory.getLogger(getClass());
 
    /**
     * 首页配置数据服务
     */
    @Resource
    private HomeConfigDaoI homeConfigDaoI;
 
    /**
     * 新增首页配置
     *
     * @param homeConfigDTO 首页配置传输对象
     */
    @Override
    public void addData(BdHomeConfigDTO homeConfigDTO) {
        BdHomeConfigDO homeConfigDO = new BdHomeConfigDO();
        BeanUtilForVCI.copyPropertiesIgnoreCase(homeConfigDTO, homeConfigDO);
        homeConfigDO.setOid(WebUtil.getPk());
        SessionInfo sessionInfo = WebUtil.getCurrentUserSessionInfo();
        homeConfigDO.setUserId(sessionInfo.getUserId());
        homeConfigDO.setUserName(sessionInfo.getUserName());
        homeConfigDaoI.insert(homeConfigDO);
    }
 
    /**
     * 修改首页配置
     *
     * @param homeConfigDTO 首页配置传输对象
     */
    @Override
    public void editData(BdHomeConfigDTO homeConfigDTO) {
        WebUtil.alertNotNull(homeConfigDTO.getOid(), "数据主键");
        BdHomeConfigDO homeConfigDO = homeConfigDaoI.selectByPrimaryKey(homeConfigDTO.getOid());
        homeConfigDO.setModule(homeConfigDTO.getModule());
        homeConfigDO.setIcon(homeConfigDTO.getIcon());
        homeConfigDO.setTitle(homeConfigDTO.getTitle());
        homeConfigDO.setNum(homeConfigDTO.getNum());
        homeConfigDO.setRatio(homeConfigDTO.getRatio());
        homeConfigDO.setOrderNum(homeConfigDTO.getOrderNum());
        homeConfigDaoI.update(homeConfigDO);
    }
 
    /**
     * 删除首页配置
     *
     * @param homeConfigDTO 首页配置传输对象
     */
    @Override
    public void delData(BdHomeConfigDTO homeConfigDTO) {
        WebUtil.alertNotNull(homeConfigDTO.getOid(), "数据主键");
        List<String> oidList = WebUtil.str2List(homeConfigDTO.getOid());
        homeConfigDaoI.deleteByPrimaryKeys(oidList);
    }
 
    /**
     * 根据OID获取首页配置
     *
     * @param oid 首页配置OID
     * @return 首页配置
     */
    @Override
    public BdHomeConfigVO getDataByOid(String oid) {
        WebUtil.alertNotNull(oid, "数据主键");
        BdHomeConfigDO homeConfigDO = homeConfigDaoI.selectByPrimaryKey(oid);
 
 
        return null;
    }
 
    private List<BdHomeConfigVO> DOS2VOS(Collection<BdHomeConfigDO> doCollection){
        List<BdHomeConfigVO> voList = new ArrayList<>();
        if(!CollectionUtils.isEmpty(doCollection)){
            doCollection.forEach(DO->{
                voList.add(DO2VO(DO));
            });
        }
        return voList;
    }
 
    private BdHomeConfigVO DO2VO(BdHomeConfigDO DO){
        BdHomeConfigVO vo = new BdHomeConfigVO();
        BeanUtilForVCI.copyPropertiesIgnoreCase(DO, vo);
        return vo;
    }
 
    /**
     * 分页获取首页配置
     *
     * @param baseQueryObject 查询对象
     * @return 首页配置
     */
    @Override
    public DataGrid<BdHomeConfigVO> gridData(BaseQueryObject baseQueryObject) {
        Map<String, String> conditionMap = baseQueryObject.getConditionMap();
        PageHelper pageHelper = baseQueryObject.getPageHelper();
        if(conditionMap == null){
            conditionMap = new HashMap<>();
        }
        if(pageHelper == null){
            pageHelper = new PageHelper();
        }
        VciQueryWrapperForDO wrapper = new VciQueryWrapperForDO(conditionMap, BdHomeConfigDO.class, pageHelper);
        List<BdHomeConfigDO> doList = homeConfigDaoI.selectByWrapper(wrapper);
 
        DataGrid<BdHomeConfigVO> dataGrid = new DataGrid<>();
        dataGrid.setPage(pageHelper.getPage());
        dataGrid.setLimit(pageHelper.getLimit());
        dataGrid.setData(DOS2VOS(doList));
 
        wrapper.clearPage();
        dataGrid.setTotal(homeConfigDaoI.countByWrapper(wrapper));
 
        return dataGrid;
    }
 
    /**
     * 获取所有首页配置
     *
     * @return 首页配置
     */
    @Override
    public List<BdHomeConfigVO> getAllData() {
        VciQueryWrapperForDO wrapper = new VciQueryWrapperForDO(BdHomeConfigDO.class);
        List<BdHomeConfigDO> doList = homeConfigDaoI.selectByWrapper(wrapper);
        return DOS2VOS(doList);
    }
}