Commit 8f191a79ea62fb7c9195ec74a34534c4528b7810
1 parent
75d70488
fix: 场景联动编辑租户id不为空,user添加备注,告警username分页修改,user电话不能重复问题
Showing
14 changed files
with
64 additions
and
15 deletions
... | ... | @@ -6,6 +6,7 @@ import lombok.RequiredArgsConstructor; |
6 | 6 | import org.apache.commons.lang3.StringUtils; |
7 | 7 | import org.springframework.http.HttpStatus; |
8 | 8 | import org.springframework.http.ResponseEntity; |
9 | +import org.springframework.security.access.prepost.PreAuthorize; | |
9 | 10 | import org.springframework.validation.annotation.Validated; |
10 | 11 | import org.springframework.web.bind.annotation.*; |
11 | 12 | import org.springframework.web.servlet.support.ServletUriComponentsBuilder; |
... | ... | @@ -60,7 +61,7 @@ public class YtAlarmContactController extends BaseController { |
60 | 61 | List<AlarmContactDTO> all = alarmService.findAll(getCurrentUser().getCurrentTenantId(), params); |
61 | 62 | return ResponseEntity.ok(all); |
62 | 63 | } |
63 | - | |
64 | + @PreAuthorize("hasAnyAuthority('TENANT_ADMIN','CUSTOMER_USER')") | |
64 | 65 | @ApiOperation(value = "分页查询") |
65 | 66 | @GetMapping(params = {PAGE_SIZE, PAGE}) |
66 | 67 | public YtPageData<AlarmContactDTO> pageAlarm( | ... | ... |
... | ... | @@ -5,6 +5,7 @@ import io.swagger.annotations.ApiOperation; |
5 | 5 | import lombok.RequiredArgsConstructor; |
6 | 6 | import org.apache.commons.lang3.StringUtils; |
7 | 7 | import org.springframework.http.ResponseEntity; |
8 | +import org.springframework.security.access.prepost.PreAuthorize; | |
8 | 9 | import org.springframework.web.bind.annotation.GetMapping; |
9 | 10 | import org.springframework.web.bind.annotation.RequestMapping; |
10 | 11 | import org.springframework.web.bind.annotation.RequestParam; |
... | ... | @@ -41,6 +42,7 @@ public class YtAlarmInfoController extends BaseController { |
41 | 42 | |
42 | 43 | |
43 | 44 | //分页测试通过 |
45 | + @PreAuthorize("hasAnyAuthority('TENANT_ADMIN','CUSTOMER_USER')") | |
44 | 46 | @ApiOperation(value="查询") |
45 | 47 | @GetMapping(params = {PAGE_SIZE, PAGE}) |
46 | 48 | public YtPageData<YtAlarmEntity> pageAlarmInfo( |
... | ... | @@ -63,8 +65,6 @@ public class YtAlarmInfoController extends BaseController { |
63 | 65 | if (orderType != null) { |
64 | 66 | pageFilter.put(ORDER_TYPE, orderType.name()); |
65 | 67 | } |
66 | - | |
67 | - | |
68 | 68 | return alarmInfoService.alarmPage(pageFilter,getCurrentUser().getTenantId(),alarmType,startTime,endTime,status,deviceId, EntityType.DEVICE,organizationId); |
69 | 69 | } |
70 | 70 | ... | ... |
... | ... | @@ -63,8 +63,8 @@ public class YtSceneLinkageController extends BaseController { |
63 | 63 | @ApiOperation("修改场景联动的数据") |
64 | 64 | @PostMapping("/update") |
65 | 65 | public void updateSceneLinkage( |
66 | - @Validated(UpdateGroup.class) @RequestBody SceneLinkageDTO sceneLinkageDTO) { | |
67 | - sceneLinkageService.updateSceneLinkage(sceneLinkageDTO); | |
66 | + @Validated(UpdateGroup.class) @RequestBody SceneLinkageDTO sceneLinkageDTO) throws ThingsboardException { | |
67 | + sceneLinkageService.updateSceneLinkage(sceneLinkageDTO,getCurrentUser().getCurrentTenantId()); | |
68 | 68 | } |
69 | 69 | |
70 | 70 | @ApiOperation("场景联动的分页") | ... | ... |
... | ... | @@ -189,6 +189,7 @@ public class YtUserController extends BaseController { |
189 | 189 | } catch (Exception e) { |
190 | 190 | throw handleException(e); |
191 | 191 | } |
192 | + | |
192 | 193 | return userService.saveTenantAdmin( |
193 | 194 | userDTO, getCurrentUser().isPtSysadmin(), tenantId.getId().toString()); |
194 | 195 | } |
... | ... | @@ -233,9 +234,15 @@ public class YtUserController extends BaseController { |
233 | 234 | public ResponseResult<UserDTO> accountExist(@PathVariable String username) |
234 | 235 | throws ThingsboardException { |
235 | 236 | return ResponseResult.success( |
236 | - userService.accountExist(username, getCurrentUser().getCurrentTenantId())); | |
237 | + userService.accountExist(username,getCurrentUser().getCurrentTenantId())); | |
237 | 238 | } |
238 | 239 | |
240 | + @ApiOperation(value = "判断电话是否重复") | |
241 | + @GetMapping("/findUserByPhoneNumber/{phoneNumber}") | |
242 | + public ResponseResult<UserDTO> findUserByPhoneNumber(@PathVariable String phoneNumber) throws ThingsboardException { | |
243 | + return ResponseResult.success( | |
244 | + userService.findUserByPhoneNumber(phoneNumber,getCurrentUser().getCurrentTenantId())); | |
245 | + } | |
239 | 246 | @PostMapping("/relation") |
240 | 247 | public String[] getUserRoleOrGroup( |
241 | 248 | @Validated @RequestBody RoleOrOrganizationReqDTO roleOrGroupReqDTO) { | ... | ... |
... | ... | @@ -37,7 +37,7 @@ public class UserDTO extends BaseDTO { |
37 | 37 | |
38 | 38 | /** 角色ids */ |
39 | 39 | private String[] roleIds; |
40 | - | |
40 | + @NotEmpty(message = "电话号码不能为空或字符串", groups = AddGroup.class) | |
41 | 41 | private String phoneNumber; |
42 | 42 | private String email; |
43 | 43 | private String avatar; |
... | ... | @@ -68,4 +68,6 @@ public class UserDTO extends BaseDTO { |
68 | 68 | |
69 | 69 | /** 0:超级管理员;1:租户账号;2:租户下的账号 */ |
70 | 70 | private Integer level; |
71 | + | |
72 | + private String remark; | |
71 | 73 | } | ... | ... |
... | ... | @@ -195,14 +195,14 @@ public class SceneLinkageServiceImpl extends AbstractBaseService<SceneLinkageMap |
195 | 195 | */ |
196 | 196 | @Override |
197 | 197 | @Transactional |
198 | - public SceneLinkageDTO updateSceneLinkage(SceneLinkageDTO sceneLinkageDTO) { | |
198 | + public SceneLinkageDTO updateSceneLinkage(SceneLinkageDTO sceneLinkageDTO,String tenantId) { | |
199 | 199 | // 获取场景 |
200 | 200 | SceneLinkage sceneLinkage = baseMapper.selectById(sceneLinkageDTO.getId()); |
201 | 201 | if (sceneLinkage == null) { |
202 | 202 | throw new YtDataValidationException("此场景已不存在"); |
203 | 203 | } |
204 | 204 | sceneLinkageDTO.copyToEntity(sceneLinkage); |
205 | - | |
205 | + sceneLinkage.setTenantId(tenantId); | |
206 | 206 | updateTrigger(sceneLinkageDTO); |
207 | 207 | updateDoAction(sceneLinkageDTO); |
208 | 208 | updateDoCondition(sceneLinkageDTO); | ... | ... |
... | ... | @@ -55,7 +55,7 @@ public class YtTenantServiceImpl extends AbstractBaseService<TenantMapper, Tenan |
55 | 55 | |
56 | 56 | @Override |
57 | 57 | public YtPageData<TenantDTO> page(Map<String, Object> queryMap) { |
58 | - IPage<Tenant> tenantIPage = getPage(queryMap, "create_time", true); | |
58 | + IPage<Tenant> tenantIPage = getPage(queryMap, "create_time", false); | |
59 | 59 | IPage<TenantDTO> userPage = |
60 | 60 | baseMapper.getTenantPage( |
61 | 61 | tenantIPage, (String) queryMap.get("tenantName"), EntityId.NULL_UUID.toString()); | ... | ... |
... | ... | @@ -244,6 +244,7 @@ public class YtUserServiceImpl extends AbstractBaseService<UserMapper, User> |
244 | 244 | user.setPhoneNumber(userDTO.getPhoneNumber()); |
245 | 245 | user.setEmail(userDTO.getEmail()); |
246 | 246 | user.setAccountExpireTime(userDTO.getAccountExpireTime()); |
247 | + user.setRemark(userDTO.getRemark()); | |
247 | 248 | if (userDTO.getPassword() !=null && !userDTO.getPassword().equals("******")) { |
248 | 249 | user.setPassword(passwordEncoder.encode(userDTO.getPassword())); |
249 | 250 | } |
... | ... | @@ -264,7 +265,7 @@ public class YtUserServiceImpl extends AbstractBaseService<UserMapper, User> |
264 | 265 | boolean isTenantAdmin) { |
265 | 266 | String tenantId = (String) queryMap.get("tenantId"); |
266 | 267 | IPage<UserDTO> userPage = null; |
267 | - IPage<User> userIPage = getPage(queryMap, "create_time", true); | |
268 | + IPage<User> userIPage = getPage(queryMap, "create_time", false); | |
268 | 269 | String organizationId = queryMap.get("organizationId") != null ? (String) queryMap.get("organizationId") : null; |
269 | 270 | List<String> userIds = null; |
270 | 271 | if(null != organizationId){ |
... | ... | @@ -521,7 +522,7 @@ public class YtUserServiceImpl extends AbstractBaseService<UserMapper, User> |
521 | 522 | } |
522 | 523 | |
523 | 524 | @Override |
524 | - public UserDTO accountExist(String userName, String tenantId) { | |
525 | + public UserDTO accountExist(String userName,String tenantId) { | |
525 | 526 | if (StringUtils.isEmpty(userName)) { |
526 | 527 | throw new YtDataValidationException(ErrorMessage.INVALID_PARAMETER.getMessage()); |
527 | 528 | } |
... | ... | @@ -531,6 +532,23 @@ public class YtUserServiceImpl extends AbstractBaseService<UserMapper, User> |
531 | 532 | return baseMapper.findUserInfo(userDTO); |
532 | 533 | } |
533 | 534 | |
535 | + /** | |
536 | + * 判断手机号是否重复 | |
537 | + * @param phoneNumber | |
538 | + * @param tenantId | |
539 | + * @return | |
540 | + */ | |
541 | + @Override | |
542 | + public UserDTO findUserByPhoneNumber(String phoneNumber, String tenantId) { | |
543 | + if (StringUtils.isEmpty(phoneNumber)) { | |
544 | + throw new YtDataValidationException(ErrorMessage.INVALID_PARAMETER.getMessage()); | |
545 | + } | |
546 | + UserDTO userDTO = new UserDTO(); | |
547 | + userDTO.setTenantId(tenantId); | |
548 | + userDTO.setPhoneNumber(phoneNumber); | |
549 | + return baseMapper.findUserInfoByPhoneNumber(userDTO); | |
550 | + } | |
551 | + | |
534 | 552 | @Override |
535 | 553 | public User validateChangePasswordAccount(AccountReqDTO accountReqDTO) { |
536 | 554 | User user = baseMapper.selectById(accountReqDTO.getUserId()); | ... | ... |
... | ... | @@ -32,6 +32,8 @@ public interface UserMapper extends BaseMapper<User> { |
32 | 32 | |
33 | 33 | UserDTO findUserInfo(UserDTO userDTO); |
34 | 34 | |
35 | + UserDTO findUserInfoByPhoneNumber(UserDTO userDTO); | |
36 | + | |
35 | 37 | String findUserCustomerIdById(@Param("userId") String userId); |
36 | 38 | |
37 | 39 | List<UserDTO> getUserCountByRoleType(@Param("roleType") RoleEnum roleType); | ... | ... |
... | ... | @@ -32,7 +32,7 @@ public interface SceneLinkageService { |
32 | 32 | * @param sceneLinkageDTO |
33 | 33 | * @return |
34 | 34 | */ |
35 | - SceneLinkageDTO updateSceneLinkage(SceneLinkageDTO sceneLinkageDTO); | |
35 | + SceneLinkageDTO updateSceneLinkage(SceneLinkageDTO sceneLinkageDTO,String tenantId); | |
36 | 36 | |
37 | 37 | /** |
38 | 38 | * 分页查询 | ... | ... |
... | ... | @@ -62,6 +62,14 @@ public interface YtUserService { |
62 | 62 | */ |
63 | 63 | UserDTO accountExist(String username, String tenantId); |
64 | 64 | |
65 | + /** | |
66 | + * 判断电话是否注册过 | |
67 | + * @param phoneNumber | |
68 | + * @param tenantId | |
69 | + * @return | |
70 | + */ | |
71 | + UserDTO findUserByPhoneNumber(String phoneNumber,String tenantId); | |
72 | + | |
65 | 73 | User validateChangePasswordAccount(AccountReqDTO accountReqDTO); |
66 | 74 | |
67 | 75 | Optional<List<UserDTO>> getOrganizationUserByOrganizationId( | ... | ... |
... | ... | @@ -35,7 +35,7 @@ |
35 | 35 | <if test="queryMap.tenantId !=null and queryMap.tenantId !=''"> |
36 | 36 | AND a.tenant_id = #{queryMap.tenantId} |
37 | 37 | </if> |
38 | - <if test="queryMap.name !=null and queryMap.name !=''"> | |
38 | + <if test="queryMap.username !=null and queryMap.username !=''"> | |
39 | 39 | AND a.username LIKE concat('%',#{queryMap.username}::TEXT,'%') |
40 | 40 | </if> |
41 | 41 | <if test="queryMap.organizationIds !=null"> | ... | ... |
... | ... | @@ -37,6 +37,7 @@ |
37 | 37 | <result property="level" column="level"/> |
38 | 38 | <result property="tbUser" column="tb_user"/> |
39 | 39 | <result property="customerId" column="customer_id"/> |
40 | + <result property="remark" column="remark"/> | |
40 | 41 | </resultMap> |
41 | 42 | |
42 | 43 | <sql id="columns"> |
... | ... | @@ -54,7 +55,8 @@ |
54 | 55 | su.real_name AS real_name, |
55 | 56 | su.dept_id AS dept_id, |
56 | 57 | su.level AS level, |
57 | - su.tb_user AS tb_user | |
58 | + su.tb_user AS tb_user, | |
59 | + su.remark AS remark | |
58 | 60 | </sql> |
59 | 61 | |
60 | 62 | <select id="findUserDetailsByUserName" resultMap="userDetailsMap"> |
... | ... | @@ -157,6 +159,13 @@ |
157 | 159 | WHERE su.username=#{username} |
158 | 160 | AND su.tenant_id=#{tenantId} |
159 | 161 | </select> |
162 | + <select id="findUserInfoByPhoneNumber" resultMap="userDTOMap"> | |
163 | + SELECT | |
164 | + <include refid="columns"/> | |
165 | + FROM sys_user su | |
166 | + WHERE su.phone_number=#{phoneNumber} | |
167 | + AND su.tenant_id=#{tenantId} | |
168 | +</select> | |
160 | 169 | |
161 | 170 | <select id="findUserCustomerIdById" resultType="java.lang.String"> |
162 | 171 | SELECT tu.customer_id | ... | ... |