| | |
| | | import com.vci.starter.web.util.VciBaseUtil; |
| | | import com.vci.starter.web.util.VciDateUtil; |
| | | import com.vci.starter.web.wrapper.VciQueryWrapperForDO; |
| | | import com.vci.web.constant.CacheKeyConstant; |
| | | import com.vci.web.enumpck.UIComponentDisplayTypeEnum; |
| | | import com.vci.web.enumpck.UIComponentTypeEnum; |
| | | import com.vci.web.enumpck.UIFieldTypeEnum; |
| | |
| | | import org.slf4j.Logger; |
| | | import org.slf4j.LoggerFactory; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.cache.annotation.CacheEvict; |
| | | import org.springframework.cache.annotation.Cacheable; |
| | | import org.springframework.cache.annotation.Caching; |
| | | import org.springframework.context.annotation.Lazy; |
| | | import org.springframework.stereotype.Service; |
| | | import org.springframework.util.CollectionUtils; |
| | |
| | | import java.util.*; |
| | | import java.util.stream.Collectors; |
| | | |
| | | import static com.vci.web.constant.CacheNameConstant.VCI_OBJECT_SERVICE; |
| | | import static com.vci.web.constant.EnumIdConstant.LC_STATUS_SUBFIX; |
| | | |
| | | /** |
| | |
| | | * @return key是表单英文名称 |
| | | */ |
| | | @Override |
| | | @Cacheable(value = VCI_OBJECT_SERVICE,key = CacheKeyConstant.ALL_FORM,unless = "#result == null") |
| | | public Map<String, UIFormDefineVO> selectAllFormMap() { |
| | | return Optional.ofNullable(self.selectAllForm()).orElseGet(()->new ArrayList<>()).stream().collect(Collectors.toMap(s->s.getBtmType().toLowerCase() + SEP + s.getId().toLowerCase(),t->t,(o1,o2)->o1)); |
| | | } |
| | |
| | | * @return 表单的定义 |
| | | */ |
| | | @Override |
| | | @Cacheable(value = VCI_OBJECT_SERVICE,key = "#p0.concat('${formcache}').concat(#p1)",unless = "#result == null || #p0 == null || #p1 == null") |
| | | public UIFormDefineVO getFormById(String btmId, String id) { |
| | | if(StringUtils.isBlank(btmId) || StringUtils.isBlank(id)){ |
| | | return null; |
| | |
| | | * @return 表格的定义 |
| | | */ |
| | | @Override |
| | | @Cacheable(value = VCI_OBJECT_SERVICE,key = CacheKeyConstant.ALL_TABLE,unless = "#result == null") |
| | | @VciUnLog |
| | | public List<UITableDefineVO> selectAllTable() { |
| | | PortalVI[] portalVIS = null; |
| | |
| | | * @return 表单的定义 |
| | | */ |
| | | @Override |
| | | @Cacheable(value = VCI_OBJECT_SERVICE,key = "#p0.concat('${tablecache}').concat(#p1)",unless = "#result == null || #p0 == null || #p1 == null") |
| | | public UITableDefineVO getTableById(String btmId, String id) { |
| | | if(StringUtils.isBlank(btmId) || StringUtils.isBlank(id)){ |
| | | return null; |
| | |
| | | * @return 显示对象,key是action的主键 |
| | | */ |
| | | @Override |
| | | @Cacheable(value = VCI_OBJECT_SERVICE,key=CacheKeyConstant.ALL_ACTION,unless = "#result == null") |
| | | public Map<String, UIActionVO> selectAllActionMap() { |
| | | return Optional.ofNullable(self.selectAllAction()).orElseGet(()->new ArrayList<>()).stream().collect(Collectors.toMap(s->s.getOid(),t->t)); |
| | | } |
| | |
| | | * 清除缓存 |
| | | */ |
| | | @Override |
| | | @Caching(evict = { |
| | | @CacheEvict(value = VCI_OBJECT_SERVICE,key = CacheKeyConstant.ALL_UI), |
| | | @CacheEvict(value = VCI_OBJECT_SERVICE,key = CacheKeyConstant.ALL_ACTION), |
| | | @CacheEvict(value = VCI_OBJECT_SERVICE,key = CacheKeyConstant.ALL_FORM), |
| | | @CacheEvict(value = VCI_OBJECT_SERVICE,key = CacheKeyConstant.ALL_TABLE), |
| | | @CacheEvict(value = VCI_OBJECT_SERVICE,key = CacheKeyConstant.ALL_FORM_AND_TABLE) |
| | | }) |
| | | public void clearCache() { |
| | | |
| | | } |
| | |
| | | */ |
| | | @Override |
| | | @VciUnLog |
| | | @Cacheable(value = VCI_OBJECT_SERVICE,key = CacheKeyConstant.ALL_UI,unless = "#result == null") |
| | | public List<UIContentVO> selectAllUIContent() { |
| | | try { |
| | | return UIContentDO2VOs(Arrays.stream(platformClientUtil.getPortalService().getAllPLUILayouts()).collect(Collectors.toList())); |
| | |
| | | * @return 区域的显示对象 |
| | | */ |
| | | @Override |
| | | @Cacheable(value = VCI_OBJECT_SERVICE,key = CacheKeyConstant.ALL_LAYOUT,unless = "#result == null") |
| | | public List<UILayoutVO> selectAllUILayout() { |
| | | // try { |
| | | // return UILayoutDO2VOs(Arrays.stream(platformClientUtil.getPortalService().getAllPLTabPages()).collect(Collectors.toList()),true); |
| | |
| | | * @return UI组件 |
| | | */ |
| | | @Override |
| | | @Cacheable(value = VCI_OBJECT_SERVICE,key = CacheKeyConstant.ALL_COMP ,unless = "#result ==null") |
| | | public List<UIComponentVO> selectAllUIComponent() { |
| | | // try { |
| | | // return uiComponentDO2VOs(Arrays.stream(platformClientUtil.getPortalService().getAllPLPageDefinations()).collect(Collectors.toList()),false); |
| | |
| | | * @return UI上下文的信息 |
| | | */ |
| | | @Override |
| | | @Cacheable(value = VCI_OBJECT_SERVICE,key = "#p0.concat('${uicache}').concat(#p1)",unless = "#result == null || #p0 == null || #p1 ==null") |
| | | public UIContentVO getUIContentByBtmTypeAndId(String btmType, String id) { |
| | | WebUtil.alertNotNull(btmType,"业务类型或者链接类型",id,"UI上下文的编号"); |
| | | PLUILayout[] obj = null; |