1、无权限用户菜单展示错误修复;2、用户性别、板材-纹理/宽度/长度/品牌/规格/价格/备注缺省值可null修复;3、全局DefaultDBFieldHandler自动填充移除数值类型的自动填充;4、补充默认的i18文件message.properties;

This commit is contained in:
gaoqr
2026-05-13 18:15:56 +08:00
parent b828575cfd
commit cdbfb5917e
9 changed files with 15 additions and 71 deletions
@@ -15,7 +15,6 @@ import org.springframework.util.StringUtils;
import jakarta.annotation.Resource; import jakarta.annotation.Resource;
import jakarta.servlet.http.HttpServletRequest; import jakarta.servlet.http.HttpServletRequest;
import java.math.BigDecimal;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.util.List; import java.util.List;
import java.util.Objects; import java.util.Objects;
@@ -56,7 +55,6 @@ public class DefaultDBFieldHandler implements MetaObjectHandler {
baseDO.setUpdateTime(current); baseDO.setUpdateTime(current);
} }
//Long userId = WebFrameworkUtils.getLoginUserId();
String loginUserName = WebFrameworkUtils.getLoginUserName(); String loginUserName = WebFrameworkUtils.getLoginUserName();
// 当前登录用户不为空,创建人为空,则当前登录用户为创建人 // 当前登录用户不为空,创建人为空,则当前登录用户为创建人
@@ -105,7 +103,6 @@ public class DefaultDBFieldHandler implements MetaObjectHandler {
// 当前登录用户不为空,更新人为空,则当前登录用户为更新人 // 当前登录用户不为空,更新人为空,则当前登录用户为更新人
Object modifier = getFieldValByName("updater", metaObject); Object modifier = getFieldValByName("updater", metaObject);
//Long userId = WebFrameworkUtils.getLoginUserId();
String loginUserName = WebFrameworkUtils.getLoginUserName(); String loginUserName = WebFrameworkUtils.getLoginUserName();
if (Objects.nonNull(loginUserName) && Objects.isNull(modifier)) { if (Objects.nonNull(loginUserName) && Objects.isNull(modifier)) {
setFieldValByName("updater", loginUserName, metaObject); setFieldValByName("updater", loginUserName, metaObject);
@@ -161,18 +158,6 @@ public class DefaultDBFieldHandler implements MetaObjectHandler {
* @param propertyType * @param propertyType
*/ */
private void getDefaultFromPropertyType(MetaObject metaObject, String columnName, Class<?> propertyType) { private void getDefaultFromPropertyType(MetaObject metaObject, String columnName, Class<?> propertyType) {
if (propertyType.equals(Double.class)) {
metaObject.setValue(columnName, 0.0);
}
if (propertyType.equals(Boolean.class)) {
metaObject.setValue(columnName, false);
}
if (propertyType.equals(Integer.class)) {
metaObject.setValue(columnName, 0);
}
if (propertyType.equals(BigDecimal.class)) {
metaObject.setValue(columnName, BigDecimal.ZERO);
}
if (propertyType.equals(String.class)) { if (propertyType.equals(String.class)) {
metaObject.setValue(columnName, ""); metaObject.setValue(columnName, "");
} }
@@ -43,6 +43,7 @@ public class PlateGoodDO extends BaseDO {
/** /**
* 背面颜色 * 背面颜色
*/ */
@TableField(updateStrategy = FieldStrategy.ALWAYS)
private String colorBlack; private String colorBlack;
/** /**
* 纹路 * 纹路
@@ -28,7 +28,6 @@ import java.util.ArrayList;
import java.util.LinkedHashMap; import java.util.LinkedHashMap;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.Objects;
import java.util.Set; import java.util.Set;
import java.util.concurrent.CopyOnWriteArrayList; import java.util.concurrent.CopyOnWriteArrayList;
import java.util.concurrent.CountDownLatch; import java.util.concurrent.CountDownLatch;
@@ -64,8 +63,6 @@ public class PlateManageServiceImpl implements PlateManageService {
@Resource(name = EXECUTOR_IMPOT_THREAD_POOL_TASK_EXECUTOR) @Resource(name = EXECUTOR_IMPOT_THREAD_POOL_TASK_EXECUTOR)
private ThreadPoolTaskExecutor threadPoolTaskExecutor; private ThreadPoolTaskExecutor threadPoolTaskExecutor;
private static final String EMPTY_STRING = new String();
public static final Double ZERO = 0.0; public static final Double ZERO = 0.0;
@Override @Override
@@ -93,7 +90,7 @@ public class PlateManageServiceImpl implements PlateManageService {
PlateGoodDO updateObj = BeanUtils.toBean(updateReqVO, PlateGoodDO.class); PlateGoodDO updateObj = BeanUtils.toBean(updateReqVO, PlateGoodDO.class);
// 校验板材goods_id是否相同 // 校验板材goods_id是否相同
if (plateGoodMapper.isByGoodIDAndId(updateReqVO.getGoodsId(), Long.valueOf(updateReqVO.getId()))) { if (Boolean.TRUE.equals(plateGoodMapper.isByGoodIDAndId(updateReqVO.getGoodsId(), updateReqVO.getId()))) {
throw new ServiceException(PLATE_GOODS_ID_NOT_SAME); throw new ServiceException(PLATE_GOODS_ID_NOT_SAME);
} }
@@ -136,9 +133,7 @@ public class PlateManageServiceImpl implements PlateManageService {
@Override @Override
public PlateGoodDO getPlate(Long id, Long organId) { public PlateGoodDO getPlate(Long id, Long organId) {
PlateGoodDO plate = plateGoodMapper.selectOneById(id, organId); return plateGoodMapper.selectOneById(id, organId);
return plate.setWidth(Objects.equals(plate.getWidth(), ZERO) ? null : plate.getWidth())
.setHeight(Objects.equals(plate.getHeight(), ZERO) ? null : plate.getHeight());
} }
@Override @Override
@@ -148,11 +143,7 @@ public class PlateManageServiceImpl implements PlateManageService {
@Override @Override
public PageResult<PlateGoodDO> getPlatePage(PlatePageReqVO pageReqVO) { public PageResult<PlateGoodDO> getPlatePage(PlatePageReqVO pageReqVO) {
PageResult<PlateGoodDO> plateGoodDOPageResult = plateGoodMapper.selectPage(pageReqVO); return plateGoodMapper.selectPage(pageReqVO);
plateGoodDOPageResult.getList().forEach(plateGoodDO -> plateGoodDO.setWidth(Objects.equals(plateGoodDO.getWidth(), ZERO) ? null : plateGoodDO.getWidth())
.setHeight(Objects.equals(plateGoodDO.getHeight(), ZERO) ? null : plateGoodDO.getHeight())
.setPrice(Objects.equals(plateGoodDO.getPrice(), ZERO) ? null : plateGoodDO.getPrice()));
return plateGoodDOPageResult;
} }
@Override @Override
@@ -212,7 +203,7 @@ public class PlateManageServiceImpl implements PlateManageService {
// 子线程同步主线程的多数据源 // 子线程同步主线程的多数据源
DynamicDataSourceContextHolder.push(peek); DynamicDataSourceContextHolder.push(peek);
List<String> goodsIds = batch.stream().map(PlateImportExcelVO::getGoodsId).collect(Collectors.toList()); List<String> goodsIds = batch.stream().map(PlateImportExcelVO::getGoodsId).toList();
Map<String, PlateGoodDO> plateGoodMap = plateGoodMapper.selectList( Map<String, PlateGoodDO> plateGoodMap = plateGoodMapper.selectList(
new LambdaQueryWrapper<PlateGoodDO>().in(PlateGoodDO::getGoodsId, goodsIds).eq(PlateGoodDO::getOrganId, organId)) new LambdaQueryWrapper<PlateGoodDO>().in(PlateGoodDO::getGoodsId, goodsIds).eq(PlateGoodDO::getOrganId, organId))
.stream().collect(Collectors.toMap(PlateGoodDO::getGoodsId, p -> p)); .stream().collect(Collectors.toMap(PlateGoodDO::getGoodsId, p -> p));
@@ -257,14 +248,7 @@ public class PlateManageServiceImpl implements PlateManageService {
PlateGoodDO existPlate = plateGoodMap.get(importPart.getGoodsId()); PlateGoodDO existPlate = plateGoodMap.get(importPart.getGoodsId());
if (existPlate == null) { if (existPlate == null) {
PlateGoodDO plateGoodDO = BeanUtils.toBean(importPart, PlateGoodDO.class).setOrganId(organId); PlateGoodDO plateGoodDO = BeanUtils.toBean(importPart, PlateGoodDO.class).setOrganId(organId);
plateGoodDO.setColorBlack(EMPTY_STRING) plateGoodDO.setOrganId(organId)
.setBrand(EMPTY_STRING)
.setSpec(getEmpty(plateGoodDO.getSpec()))
.setRemark(getEmpty(plateGoodDO.getRemark()))
.setTexture(getDefaultFalse(plateGoodDO.getTexture()))
.setHeight(getZeroDouble(plateGoodDO.getHeight()))
.setWidth(getZeroDouble(plateGoodDO.getWidth()))
.setOrganId(organId)
.setDeleted(false); .setDeleted(false);
insertList.add(plateGoodDO); insertList.add(plateGoodDO);
} else if (!isUpdateSupport) { } else if (!isUpdateSupport) {
@@ -314,36 +298,6 @@ public class PlateManageServiceImpl implements PlateManageService {
return batches; return batches;
} }
/**
* value为空返回0.0
*
* @param value
* @return
*/
private double getZeroDouble(Double value) {
return ObjectUtil.defaultIfNull(value, 0.0);
}
/**
* value为空返回EMPTY_STRING
*
* @param value
* @return
*/
private String getEmpty(String value) {
return StringUtils.defaultIfEmpty(value, EMPTY_STRING);
}
/**
* value为空返回false
*
* @param value
* @return
*/
private Boolean getDefaultFalse(Boolean value) {
return ObjectUtil.defaultIfNull(value, false);
}
@Override @Override
public void exportTemplate(HttpServletResponse response, String value) { public void exportTemplate(HttpServletResponse response, String value) {
String rootPath = getSavePath(); String rootPath = getSavePath();
@@ -46,6 +46,8 @@ import jakarta.annotation.security.PermitAll;
import jakarta.servlet.http.HttpServletRequest; import jakarta.servlet.http.HttpServletRequest;
import jakarta.validation.Valid; import jakarta.validation.Valid;
import jakarta.validation.constraints.NotEmpty; import jakarta.validation.constraints.NotEmpty;
import java.util.ArrayList;
import java.util.Collections; import java.util.Collections;
import java.util.List; import java.util.List;
import java.util.Set; import java.util.Set;
@@ -162,11 +164,13 @@ public class AuthController {
// 1.3 获得菜单列表 // 1.3 获得菜单列表
Set<Long> menuIds = permissionService.getRoleMenuListByRoleId2(convertSet(roles, RoleDO::getId), loginUser.getOrganId()); Set<Long> menuIds = permissionService.getRoleMenuListByRoleId2(convertSet(roles, RoleDO::getId), loginUser.getOrganId());
List<MenuDO> menuList; List<MenuDO> menuList = new ArrayList<>();
if(SecurityFrameworkUtils.isManageEndPoint()){ if (CollUtil.isNotEmpty(menuIds)) {
menuList = menuService.getManageEndPointMenuList(menuIds); if (SecurityFrameworkUtils.isManageEndPoint()) {
} else { menuList = menuService.getManageEndPointMenuList(menuIds);
menuList = menuService.getCustomEndPointMenuList(menuIds); } else {
menuList = menuService.getCustomEndPointMenuList(menuIds);
}
} }
menuList.removeIf(menu -> !CommonStatusEnum.ENABLE.getStatus().equals(menu.getStatus())); // 移除禁用的菜单 menuList.removeIf(menu -> !CommonStatusEnum.ENABLE.getStatus().equals(menu.getStatus())); // 移除禁用的菜单