Commit 8f191a79ea62fb7c9195ec74a34534c4528b7810

Authored by 陈星宇
1 parent 75d70488

fix: 场景联动编辑租户id不为空,user添加备注,告警username分页修改,user电话不能重复问题

... ... @@ -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 }
... ...
... ... @@ -41,4 +41,6 @@ public class User extends TenantBaseEntity {
41 41
42 42 /** 0:超级管理员;1:租户账号;2:租户下的账号 */
43 43 private Integer level;
  44 +
  45 + private String remark;
44 46 }
... ...
... ... @@ -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
... ...