fix(address): 强化行政区划及坐标字段非空校验
- 将region_name、longitude、latitude字段设为非空 - 在SQL映射中添加region_code字段支持 - 修改实体类及服务逻辑,新增region_code字段赋值 - 增加对region_name、longitude、latitude字段的非空校验 - 新增region_code长度校验,完善字段长度限制 - 更新数据库表定义,调整相关字段约束
This commit is contained in:
@@ -91,6 +91,7 @@ public class CommonAddressServiceImpl extends BaseServiceImpl<CommonAddressMappe
|
||||
if (Func.isEmpty(address) || Objects.equals(address.getIsDeleted(), 1)) {
|
||||
throw new ServiceException("常用地址不存在");
|
||||
}
|
||||
validateReadableDept(address);
|
||||
CommonAddressVO addressVO = Objects.requireNonNull(BeanUtil.copyProperties(address, CommonAddressVO.class));
|
||||
fillDisplay(addressVO);
|
||||
return addressVO;
|
||||
@@ -100,7 +101,10 @@ public class CommonAddressServiceImpl extends BaseServiceImpl<CommonAddressMappe
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public boolean submit(CommonAddress address) {
|
||||
boolean created = Func.isEmpty(address.getId());
|
||||
if (!created) {
|
||||
if (created) {
|
||||
fillCurrentDept(address);
|
||||
address.setAddressCode(null);
|
||||
} else {
|
||||
CommonAddress oldAddress = getEditableAddress(address.getId());
|
||||
address.setAddressCode(oldAddress.getAddressCode());
|
||||
address.setDeptId(oldAddress.getDeptId());
|
||||
@@ -302,6 +306,12 @@ public class CommonAddressServiceImpl extends BaseServiceImpl<CommonAddressMappe
|
||||
}
|
||||
}
|
||||
|
||||
private void validateReadableDept(CommonAddress address) {
|
||||
if (!AuthUtil.isAdministrator() && !Objects.equals(address.getDeptId(), currentDeptId())) {
|
||||
throw new ServiceException("无权查看其他组织常用地址");
|
||||
}
|
||||
}
|
||||
|
||||
private void fillDisplay(CommonAddressVO address) {
|
||||
address.setSiteCodeDisplay(TYPE_NORMAL.equals(address.getAddressType()) ? NORMAL_SITE_CODE : address.getSiteCode());
|
||||
address.setReadonly(!Objects.equals(address.getDeptId(), currentDeptId()));
|
||||
|
||||
Reference in New Issue
Block a user