AdministerServiceImpl.java
4.98 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
package com.subsidy.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.subsidy.common.exception.HttpException;
import com.subsidy.dto.administer.AppLoginDTO;
import com.subsidy.dto.administer.ChangeServiceDTO;
import com.subsidy.mapper.LaborServiceDictMapper;
import com.subsidy.model.AdministerDO;
import com.subsidy.mapper.AdministerMapper;
import com.subsidy.model.LaborServiceDictDO;
import com.subsidy.service.AdministerService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.subsidy.util.ConstantUtils;
import com.subsidy.util.JwtUtil;
import com.subsidy.util.Localstorage;
import com.subsidy.util.SecretUtils;
import com.subsidy.vo.administer.AdministerPermissionVO;
import com.subsidy.vo.administer.PermissionsVO;
import com.subsidy.vo.labor.LoginVO;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import javax.servlet.http.HttpServletRequest;
import java.util.ArrayList;
import java.util.List;
/**
* <p>
* 管理平台用户 服务实现类
* </p>
*
* @author Tuyp
* @since 2024-07-18
*/
@Service
public class AdministerServiceImpl extends ServiceImpl<AdministerMapper, AdministerDO> implements AdministerService {
@Autowired
private LaborServiceDictMapper laborServiceDictMapper;
public IPage<LaborServiceDictDO> changeService(ChangeServiceDTO changeServiceDTO) {
Page pager = new Page(changeServiceDTO.getPageNum(), changeServiceDTO.getPageSize());
AdministerDO administerDO = this.baseMapper.selectById(changeServiceDTO.getId());
if (6 == administerDO.getRole()){
//全部
return laborServiceDictMapper.selectPage(pager,new QueryWrapper<LaborServiceDictDO>()
.lambda()
.eq(LaborServiceDictDO::getId,administerDO.getLaborId()));
}else if (0== administerDO.getRole()){
return laborServiceDictMapper.selectPage(pager,null);
}
else {
return this.baseMapper.administerLabors(pager,changeServiceDTO.getId(),changeServiceDTO.getLaborServiceName());
}
}
public LoginVO appLogin(AppLoginDTO appLoginDTO, HttpServletRequest request) {
LoginVO loginVO = new LoginVO();
// subsidy.url=http://subsidy.youkehulian.cn/auth/user/token
// appId:qxywz5nnWMI7ABCS
// appSecret:626737T1-65K0-5xC2-0Y0V-2Aq9QUAJ
AdministerDO administerDO = this.baseMapper.selectOne(new QueryWrapper<AdministerDO>()
.lambda()
.eq(AdministerDO::getAccountName, appLoginDTO.getAccountName()));
if (administerDO == null) {
throw new HttpException(10010);
}
/**
* 时间戳有没有过期
*/
if (appLoginDTO.getTimestamp() - System.currentTimeMillis() >= 5 * 60 * 1000 || System.currentTimeMillis() - appLoginDTO.getTimestamp() >= 5 * 60 * 1000) {
throw new HttpException(14002);
}
//鉴权逻辑 对不对
String preAuthen = "appId=qxywz5nnWMI7ABCS"
+ "&id=" + administerDO.getId()
+ "&accountName=" + administerDO.getAccountName()
+ "&appSecret=626737T1-65K0-5xC2-0Y0V-2Aq9QUAJ";
String result = SecretUtils.getMD5String(preAuthen);
if (!appLoginDTO.getSign().equals(result)) {
throw new HttpException(14001);
}
String token = JwtUtil.generateToken(administerDO.getId(), ConstantUtils.ADMINISTER_TERMINATE);
loginVO.setToken(token);
return loginVO;
}
public AdministerPermissionVO getPermissions() {
AdministerPermissionVO administerPermissionVO = new AdministerPermissionVO();
AdministerDO administerDO = (AdministerDO) Localstorage.getUser();
if (administerDO == null) {
throw new HttpException(10012);
}
BeanUtils.copyProperties(administerDO, administerPermissionVO);
List<PermissionsVO> list = this.baseMapper.getPermissions(administerDO.getId());
List<PermissionsVO> treeList = new ArrayList();
if (list != null) {
list.forEach(permission -> {
if (permission.getParentId() == null) {
treeList.add(permission);
}
list.forEach(p -> {
if (null != p.getParentId() && p.getParentId().equals(permission.getId())) {
if (permission.getChildren() == null) {
permission.setChildren(new ArrayList<>());
}
permission.getChildren().add(p);
}
});
});
}
administerPermissionVO.setPermissions(treeList);
administerPermissionVO.setRole(administerDO.getRole());
return administerPermissionVO;
}
}