SysResServiceImpl.java
6.65 KB
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
161
162
163
package com.zteits.sys.biz;
import java.util.Date;
import java.util.List;
import com.clouds.common.constants.SuperAdminEnum;
import com.clouds.common.utils.BeanValidatorsUtils;
import com.clouds.common.utils.ListCopyUtil;
import com.clouds.common.utils.ListPageHelper;
import com.github.pagehelper.PageInfo;
import com.google.common.collect.Lists;
import com.zteits.clouds.api.apibase.bean.BizResult;
import com.zteits.clouds.api.apibase.bean.PageBean;
import com.zteits.clouds.api.apibase.constants.DataStatusEnum;
import com.zteits.clouds.api.apibase.constants.ErrorType;
import com.zteits.clouds.api.apibase.exception.BizException;
import com.zteits.clouds.api.dto.sys.SysResDTO;
import com.zteits.clouds.api.dto.sys.param.SysOrgResRelationRequest;
import com.zteits.clouds.api.dto.sys.param.SysResDeleteRequest;
import com.zteits.clouds.api.dto.sys.param.SysResQueryAllRequest;
import com.zteits.clouds.api.dto.sys.param.SysResQueryByIdRequest;
import com.zteits.clouds.api.dto.sys.param.SysResQueryByOpIdRequest;
import com.zteits.clouds.api.dto.sys.param.SysResQueryBySysCodeRequest;
import com.zteits.clouds.api.dto.sys.param.SysResSaveOrUpdateRequest;
import com.zteits.clouds.api.service.sys.SysResService;
import com.zteits.sys.dao.SysResDao;
import com.zteits.sys.dao.SysResJobFuncDao;
import com.zteits.sys.domain.SysRes;
import com.zteits.sys.pagepaper.PageBeanUtil;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.CollectionUtils;
@Service("com.zteits.sys.biz.SysResServiceImpl")
public class SysResServiceImpl implements SysResService {
@Autowired
private SysResDao sysResDao;
@Autowired
private SysResJobFuncDao sysResJobFuncDao;
private static final Integer PAGE_SIZE = 500;
@Override
@Transactional
public BizResult<Integer> deleteSysRes(SysResDeleteRequest request) {
BeanValidatorsUtils.validateWithException(request);
SysRes sysRes = new SysRes();
//置为失效
sysRes.setDataState(DataStatusEnum.DATA_STATUS_NO_VALID.value());
sysRes.setModfiyEmpid(request.getOpId());
for(Long id:request.getResIds()){
//更新删除后的资源排序
sysResDao.updateSysResSortNumOfDelete(id);
}
Integer num = sysResDao.updateBatchSysRes(sysRes, request.getResIds(), request.getSysCode());
return new BizResult<>(num);
}
@Override
@Transactional
public BizResult<Long> saveOrUpdateSysRes(SysResSaveOrUpdateRequest request) {
BeanValidatorsUtils.validateWithException(request);
int oldSortNum = request.getOldSortNum().intValue();
int sortNum = request.getSortNum().intValue();
SysRes sysRes = new SysRes();
BeanUtils.copyProperties(request, sysRes);
sysRes.setModfiyEmpid(request.getCreateEmpid());
sysRes.setModfiyDate(new Date());
if (request.getId() == null) {
//保存
sysRes.setCreateDate(new Date());
sysResDao.saveSysRes(sysRes);
} else {
//更新
sysResDao.updateSysRes(sysRes);
}
sysResDao.updateSysResSortNumOfSaveOrUpdate(sysRes.getId(),sysRes.getParentResId(),sortNum,oldSortNum);
return new BizResult<Long>(sysRes.getId());
}
@Override
public BizResult<PageBean<SysResDTO>> querySysResBySysCode(SysResQueryBySysCodeRequest request) {
BeanValidatorsUtils.validateWithException(request);
SysRes sysRes = new SysRes();
BeanUtils.copyProperties(request, sysRes);
PageInfo<SysRes> pageInfo = sysResDao.querySysResBySysCode(sysRes, request.getBaseRequest().getPageNum(),
request.getBaseRequest().getPageSize(), request.getSysCode());
PageBean<SysResDTO> pageBean = new PageBean<SysResDTO>();
PageBeanUtil.copyProperties(pageInfo, pageBean, SysResDTO.class);
return new BizResult<PageBean<SysResDTO>>(pageBean);
}
@Override
public BizResult<Boolean> isUsedForResByResId(SysResQueryByIdRequest request) {
//验证参数
BeanValidatorsUtils.validateWithException(request);
List<Long> ids = Lists.newArrayList();
ids.add(request.getId());
List<Long> jobfuncs = sysResJobFuncDao.queryJobFuncIdsByResId(ids, DataStatusEnum.DATA_STATUS_VALID.value(),
request.getSysCode());
return new BizResult<Boolean>(!CollectionUtils.isEmpty(jobfuncs));
}
@Override
public BizResult<List<Long>> queryResIdsByOpId(SysResQueryByOpIdRequest request) {
if (null == request || 0L == request.getOpId()) {
throw new BizException(ErrorType.PARAMM_NULL, "操作员ID");
}
List<Long> resIds = sysResDao.queryResIdsByOpId(request.getOpId());
return new BizResult<>(resIds);
}
@Override
public BizResult<List<SysResDTO>> queryAllRes(SysResQueryAllRequest request) {
List<SysResDTO> list = Lists.newArrayList();
if(request == null){
throw new BizException(ErrorType.BIZ_ERROR, "入参不能为空");
}
if(Long.valueOf(SuperAdminEnum.SUPER_ORG_ID.getValue()).equals(request.getOrgId())){
List<SysRes> sysResList = sysResDao.queryAllRes(request.getDataStatus(), request.getSysCode(),null);
ListCopyUtil.listCopyProperties(sysResList, list, SysResDTO.class);
}else{
if(!CollectionUtils.isEmpty(request.getResIds())){
//500条分一页查询停车场
ListPageHelper<Long> pageInfo = new ListPageHelper<Long>(request.getResIds(),PAGE_SIZE);
for(int i=1;i<=pageInfo.getTotalPages();i++){
List<SysResDTO> pageList = Lists.newArrayList();
List<SysRes> sysResList = sysResDao.queryAllRes(request.getDataStatus(), request.getSysCode(),request.getResIds());
ListCopyUtil.listCopyProperties(sysResList, pageList, SysResDTO.class);
list.addAll(pageList);
}
}
}
return new BizResult<List<SysResDTO>>(list);
}
@Override
public BizResult<Boolean> batchInsertOrgRes(SysOrgResRelationRequest request) {
if(request == null){
throw new BizException(ErrorType.BIZ_ERROR, "入参不能为空");
}
return new BizResult<Boolean>(sysResDao.batchInsertOrgRes(request));
}
@Override
public BizResult<List<Long>> queryResIdsByOrgId(SysOrgResRelationRequest request) {
if(request == null || request.getOrgId() == null){
throw new BizException(ErrorType.BIZ_ERROR, "入参不能为空");
}
List<Long> list = sysResDao.queryResIdsByOrgId(request);
return new BizResult<List<Long>>(list);
}
}